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>
        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" },
 static struct platform_driver adreno_driver = {
        .probe = adreno_probe,
        .remove = adreno_remove,
+       .shutdown = adreno_shutdown,
        .driver = {
                .name = "adreno",
                .of_match_table = dt_match,