linux/drivers/gpu/drm/armada
Douglas Anderson c478768ce8 drm/armada: Call drm_atomic_helper_shutdown() at shutdown time
Based on grepping through the source code this driver appears to be
missing a call to drm_atomic_helper_shutdown() at system shutdown
time. Among other things, this means that if a panel is in use that it
won't be cleanly powered off at system shutdown time.

The fact that we should call drm_atomic_helper_shutdown() in the case
of OS shutdown/restart comes straight out of the kernel doc "driver
instance overview" in drm_drv.c.

This driver was fairly easy to update. The drm_device is stored in the
drvdata so we just have to make sure the drvdata is NULL whenever the
device is not bound. To make things simpler,
drm_atomic_helper_shutdown() has been modified to consider a NULL
drm_device as a noop in the patch ("drm/atomic-helper:
drm_atomic_helper_shutdown(NULL) should be a noop").

Suggested-by: Maxime Ripard <mripard@kernel.org>
Reviewed-by: Maxime Ripard <mripard@kernel.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230901164111.RFT.1.I3d5598bd73a59b5ded71430736c93f67dc5dea61@changeid
2023-09-21 10:38:11 -07:00
..
armada_510.c drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
armada_crtc.c drm: Remove unnecessary include statements of drm_plane_helper.h 2022-07-26 18:42:04 +02:00
armada_crtc.h
armada_debugfs.c drm/armada: Don't use drm_device->dev_private 2020-09-11 10:47:19 +02:00
armada_drm.h drm/armada: Implement fbdev emulation as in-kernel client 2023-04-21 10:19:43 +02:00
armada_drv.c drm/armada: Call drm_atomic_helper_shutdown() at shutdown time 2023-09-21 10:38:11 -07:00
armada_fb.c drm/armada: Implement fbdev emulation as in-kernel client 2023-04-21 10:19:43 +02:00
armada_fb.h drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
armada_fbdev.c fbdev: Use _IOMEM_ infix for I/O-memory helpers 2023-07-31 20:06:52 +02:00
armada_gem.c drm/armada: Prepare to dynamic dma-buf locking specification 2022-10-18 01:21:41 +03:00
armada_gem.h drm/armada: Introduce GEM object functions 2020-09-25 09:20:13 +02:00
armada_hw.h
armada_ioctlP.h
armada_overlay.c drm/armada: Fix off-by-one error in armada_overlay_get_property() 2023-07-29 21:13:51 +02:00
armada_plane.c drm/plane-helper: Export individual helpers 2022-07-26 18:42:07 +02:00
armada_plane.h drm/armada: Remove prepare/cleanup_fb hooks 2021-06-24 15:35:50 +02:00
armada_trace.c
armada_trace.h
Kconfig fbdev: Use _IOMEM_ infix for I/O-memory helpers 2023-07-31 20:06:52 +02:00
Makefile drm/armada: Hide fbdev support behind config option 2023-04-21 10:19:41 +02:00