diff mbox series

[for-4.20] Revert "drm/rockchip: Allow driver to be shutdown on reboot/kexec"

Message ID 20181205181657.177703-1-briannorris@chromium.org (mailing list archive)
State New, archived
Headers show
Series [for-4.20] Revert "drm/rockchip: Allow driver to be shutdown on reboot/kexec" | expand

Commit Message

Brian Norris Dec. 5, 2018, 6:16 p.m. UTC
This reverts commit 7f3ef5dedb146e3d5063b6845781ad1bb59b92b5.

It causes new warnings [1] on shutdown when running the Google Kevin or
Scarlet (RK3399) boards under Chrome OS. Presumably our usage of DRM is
different than what Marc and Heiko test.

We're looking at a different approach (e.g., [2]) to replace this, but
IMO the revert should be taken first, as it already propagated to
-stable.

[1] Report here:
http://lkml.kernel.org/lkml/20181205030127.GA200921@google.com

WARNING: CPU: 4 PID: 2035 at drivers/gpu/drm/drm_mode_config.c:477 drm_mode_config_cleanup+0x1c4/0x294
...
 Call trace:
  drm_mode_config_cleanup+0x1c4/0x294
  rockchip_drm_unbind+0x4c/0x8c
  component_master_del+0x88/0xb8
  rockchip_drm_platform_remove+0x2c/0x44
  rockchip_drm_platform_shutdown+0x20/0x2c
  platform_drv_shutdown+0x2c/0x38
  device_shutdown+0x164/0x1b8
  kernel_restart_prepare+0x40/0x48
  kernel_restart+0x20/0x68
...
 Memory manager not clean during takedown.
 WARNING: CPU: 4 PID: 2035 at drivers/gpu/drm/drm_mm.c:950 drm_mm_takedown+0x34/0x44
...
  drm_mm_takedown+0x34/0x44
  rockchip_drm_unbind+0x64/0x8c
  component_master_del+0x88/0xb8
  rockchip_drm_platform_remove+0x2c/0x44
  rockchip_drm_platform_shutdown+0x20/0x2c
  platform_drv_shutdown+0x2c/0x38
  device_shutdown+0x164/0x1b8
  kernel_restart_prepare+0x40/0x48
  kernel_restart+0x20/0x68
...

[2] https://patchwork.kernel.org/patch/10556151/
    https://www.spinics.net/lists/linux-rockchip/msg21342.html
    [PATCH] drm/rockchip: shutdown drm subsystem on shutdown

Fixes: 7f3ef5dedb14 ("drm/rockchip: Allow driver to be shutdown on reboot/kexec")
Cc: Jeffy Chen <jeffy.chen@rock-chips.com>
Cc: Robin Murphy <robin.murphy@arm.com>
Cc: Vicente Bergas <vicencb@gmail.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Heiko Stuebner <heiko@sntech.de>
Cc: stable@vger.kernel.org
Signed-off-by: Brian Norris <briannorris@chromium.org>
---
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c | 6 ------
 1 file changed, 6 deletions(-)

Comments

Heiko Stuebner Dec. 11, 2018, 3:34 p.m. UTC | #1
Am Mittwoch, 5. Dezember 2018, 19:16:57 CET schrieb Brian Norris:
> This reverts commit 7f3ef5dedb146e3d5063b6845781ad1bb59b92b5.
> 
> It causes new warnings [1] on shutdown when running the Google Kevin or
> Scarlet (RK3399) boards under Chrome OS. Presumably our usage of DRM is
> different than what Marc and Heiko test.
> 
> We're looking at a different approach (e.g., [2]) to replace this, but
> IMO the revert should be taken first, as it already propagated to
> -stable.
> 
> [1] Report here:
> http://lkml.kernel.org/lkml/20181205030127.GA200921@google.com
> 
> WARNING: CPU: 4 PID: 2035 at drivers/gpu/drm/drm_mode_config.c:477 drm_mode_config_cleanup+0x1c4/0x294
> ...
>  Call trace:
>   drm_mode_config_cleanup+0x1c4/0x294
>   rockchip_drm_unbind+0x4c/0x8c
>   component_master_del+0x88/0xb8
>   rockchip_drm_platform_remove+0x2c/0x44
>   rockchip_drm_platform_shutdown+0x20/0x2c
>   platform_drv_shutdown+0x2c/0x38
>   device_shutdown+0x164/0x1b8
>   kernel_restart_prepare+0x40/0x48
>   kernel_restart+0x20/0x68
> ...
>  Memory manager not clean during takedown.
>  WARNING: CPU: 4 PID: 2035 at drivers/gpu/drm/drm_mm.c:950 drm_mm_takedown+0x34/0x44
> ...
>   drm_mm_takedown+0x34/0x44
>   rockchip_drm_unbind+0x64/0x8c
>   component_master_del+0x88/0xb8
>   rockchip_drm_platform_remove+0x2c/0x44
>   rockchip_drm_platform_shutdown+0x20/0x2c
>   platform_drv_shutdown+0x2c/0x38
>   device_shutdown+0x164/0x1b8
>   kernel_restart_prepare+0x40/0x48
>   kernel_restart+0x20/0x68
> ...
> 
> [2] https://patchwork.kernel.org/patch/10556151/
>     https://www.spinics.net/lists/linux-rockchip/msg21342.html
>     [PATCH] drm/rockchip: shutdown drm subsystem on shutdown
> 
> Fixes: 7f3ef5dedb14 ("drm/rockchip: Allow driver to be shutdown on reboot/kexec")
> Cc: Jeffy Chen <jeffy.chen@rock-chips.com>
> Cc: Robin Murphy <robin.murphy@arm.com>
> Cc: Vicente Bergas <vicencb@gmail.com>
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Heiko Stuebner <heiko@sntech.de>
> Cc: stable@vger.kernel.org
> Signed-off-by: Brian Norris <briannorris@chromium.org>

So, I've applied this revert to drm-misc-fixes now, so it should still
land in 4.20-rc.

I'll resurrect Vicentes patch for a later regular inclusion as well,
but with more testing involved.


Heiko
diff mbox series

Patch

diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
index 941f35233b1f..5864cb452c5c 100644
--- a/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
+++ b/drivers/gpu/drm/rockchip/rockchip_drm_drv.c
@@ -448,11 +448,6 @@  static int rockchip_drm_platform_remove(struct platform_device *pdev)
 	return 0;
 }
 
-static void rockchip_drm_platform_shutdown(struct platform_device *pdev)
-{
-	rockchip_drm_platform_remove(pdev);
-}
-
 static const struct of_device_id rockchip_drm_dt_ids[] = {
 	{ .compatible = "rockchip,display-subsystem", },
 	{ /* sentinel */ },
@@ -462,7 +457,6 @@  MODULE_DEVICE_TABLE(of, rockchip_drm_dt_ids);
 static struct platform_driver rockchip_drm_platform_driver = {
 	.probe = rockchip_drm_platform_probe,
 	.remove = rockchip_drm_platform_remove,
-	.shutdown = rockchip_drm_platform_shutdown,
 	.driver = {
 		.name = "rockchip-drm",
 		.of_match_table = rockchip_drm_dt_ids,