OSDN Git Service

drm/msm: Implement shutdown callback for adreno
authorAkhil P Oommen <akhilpo@codeaurora.org>
Mon, 19 Oct 2020 13:19:17 +0000 (18:49 +0530)
committerRob Clark <robdclark@chromium.org>
Wed, 4 Nov 2020 16:26:26 +0000 (08:26 -0800)
Implement the shutdown callback for adreno gpu platform device
to safely shutdown it before a system reboot. This helps to avoid
futher transactions from gpu after the smmu is moved to bypass mode.

Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
Signed-off-by: Rob Clark <robdclark@chromium.org>
drivers/gpu/drm/msm/adreno/adreno_device.c

index 58e03b2..87c8b03 100644 (file)
@@ -475,6 +475,11 @@ static int adreno_remove(struct platform_device *pdev)
        return 0;
 }
 
+static void adreno_shutdown(struct platform_device *pdev)
+{
+       pm_runtime_force_suspend(&pdev->dev);
+}
+
 static const struct of_device_id dt_match[] = {
        { .compatible = "qcom,adreno" },
        { .compatible = "qcom,adreno-3xx" },
@@ -509,6 +514,7 @@ static const struct dev_pm_ops adreno_pm_ops = {
 static struct platform_driver adreno_driver = {
        .probe = adreno_probe,
        .remove = adreno_remove,
+       .shutdown = adreno_shutdown,
        .driver = {
                .name = "adreno",
                .of_match_table = dt_match,