Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp251226ybm; Thu, 28 May 2020 01:40:50 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy5T9LXpTiZdAAFwd5sZ4gH1UcDIo7sL54skDZ8lT8nI+3MUYjXJdAEfYphvJsQTjRbyFJp X-Received: by 2002:a17:906:278e:: with SMTP id j14mr1936578ejc.270.1590655250521; Thu, 28 May 2020 01:40:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590655250; cv=none; d=google.com; s=arc-20160816; b=KU7fuXA5TC7AVIsPniEEM8TDjj3QBcN+MHJWOUdSwU71MFObJ803OkukDhd3S0EU5z OBEAp5HRtXW4paP4eWDCceNOMt7qSlmiQiCbw9yOrSOcutV+d1PwzD5LNU2QnRcXh9aZ ODudScUxEKXeIIkvMiqVh7vba+/07fUehdYKnTZQGOH0+RKyEa45+dg0Sd2C52x23PQB w+bTpP5Fz8ZjXkzAzWVcn2f15eDyYJOJGqYqfAsXVnCjDBHcPzCCqzEqEVASTj0wAWQ1 Rof8JvXm1FU5dN7XVaTbC73GmPtiuAClPHO6KZZGmzs7pYQzuA9zdrVoJVPWg1j4M/Wd UdbA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from; bh=4yfc/DGtGDXUBIicimV2A6J5rtv2+hms1zPdKIaI5Fw=; b=Q7OBECr1wnDAWnbSYkntbBObPRo1X4O94sRZE2cY6xb1fUdxcyLk029bDpPVepHu4Z 5s2PAHVgiAqdma9aLvPbL8fQbXlGesuPQaGdzSJr8PWc4FLD9an5OxzJRCJ4KAJPegFW LgCimVbPs4CEh2YwhUBRPMOvUGAZcafLZTutJOSYmY2jQBy0w6S64kBnvzkDXnm8D3Mh ZpY6GYPUWIBETobpKnCfi92LBN/XvMyUcphLpRLhw9VN2MjVA4bSQDzAQ7IdiLxZtxpy bqPHz33A+NPmzGo4/3plW8xS0eL4SJJM+w+XCdJcJGgOpqoSEG75+1sZYJe2q7Rg80l6 NojA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id p1si3713237ejr.296.2020.05.28.01.40.27; Thu, 28 May 2020 01:40:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727784AbgE1Iia (ORCPT + 99 others); Thu, 28 May 2020 04:38:30 -0400 Received: from alexa-out-blr-02.qualcomm.com ([103.229.18.198]:47804 "EHLO alexa-out-blr-02.qualcomm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727102AbgE1Ii3 (ORCPT ); Thu, 28 May 2020 04:38:29 -0400 Received: from ironmsg02-blr.qualcomm.com ([10.86.208.131]) by alexa-out-blr-02.qualcomm.com with ESMTP/TLS/AES256-SHA; 28 May 2020 14:08:26 +0530 Received: from mkrishn-linux.qualcomm.com ([10.204.66.35]) by ironmsg02-blr.qualcomm.com with ESMTP; 28 May 2020 14:08:26 +0530 Received: by mkrishn-linux.qualcomm.com (Postfix, from userid 438394) id DE28247C1; Thu, 28 May 2020 14:08:24 +0530 (IST) From: Krishna Manikandan To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, devicetree@vger.kernel.org Cc: Krishna Manikandan , linux-kernel@vger.kernel.org, robdclark@gmail.com, seanpaul@chromium.org, hoegsberg@chromium.org, kalyan_t@codeaurora.org, nganji@codeaurora.org, mka@chromium.org Subject: [v1] drm/msm: add shutdown support for display platform_driver Date: Thu, 28 May 2020 14:08:23 +0530 Message-Id: <1590655103-21568-1-git-send-email-mkrishn@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Define shutdown callback for display drm driver, so as to disable all the CRTCS when shutdown notification is received by the driver. Signed-off-by: Krishna Manikandan --- drivers/gpu/drm/msm/msm_drv.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index e4b750b..7a8953f 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -1322,6 +1322,18 @@ static int msm_pdev_remove(struct platform_device *pdev) return 0; } +static void msm_pdev_shutdown(struct platform_device *pdev) +{ + struct drm_device *drm = platform_get_drvdata(pdev); + + if (!drm) { + DRM_ERROR("Invalid drm device node\n"); + return; + } + + drm_atomic_helper_shutdown(drm); +} + static const struct of_device_id dt_match[] = { { .compatible = "qcom,mdp4", .data = (void *)KMS_MDP4 }, { .compatible = "qcom,mdss", .data = (void *)KMS_MDP5 }, @@ -1334,6 +1346,7 @@ static int msm_pdev_remove(struct platform_device *pdev) static struct platform_driver msm_platform_driver = { .probe = msm_pdev_probe, .remove = msm_pdev_remove, + .shutdown = msm_pdev_shutdown, .driver = { .name = "msm", .of_match_table = dt_match, -- 1.9.1