Message ID | 20240605002401.2848541-1-dianders@chromium.org (mailing list archive) |
---|---|
Headers | show |
Series | drm/panel: Remove most store/double-check of prepared/enabled state | expand |
Hi, On 05/06/2024 02:22, Douglas Anderson wrote: > > As talked about in commit d2aacaf07395 ("drm/panel: Check for already > prepared/enabled in drm_panel"), we want to remove needless code from > panel drivers that was storing and double-checking the > prepared/enabled state. Even if someone was relying on the > double-check before, that double-check is now in the core and not > needed in individual drivers. > > This series attempts to do just that. While the original grep, AKA: > git grep 'if.*>prepared' -- drivers/gpu/drm/panel > git grep 'if.*>enabled' -- drivers/gpu/drm/panel > ...still produces a few hits after my series, they are _mostly_ all > gone. The ones that are left are less trivial to fix. > > One of the main reasons that many panels probably needed to store and > double-check their prepared/enabled appears to have been to handle > shutdown and/or remove. Panels drivers often wanted to force the power > off for panels in these cases and this was a good reason for the > double-check. > > In response to my V1 series [1] we had much discussion of what to > do. The conclusion was that as long as DRM modeset drivers properly > called drm_atomic_helper_shutdown() that we should be able to remove > the explicit shutdown/remove handling in the panel drivers. Most of > the patches to improve DRM modeset drivers [2] [3] [4] have now > landed. > > In contrast to my V1 series, I broke the V2 series up a lot > more. Since a few of the panel drivers in V1 already landed, we had > fewer total drivers and so we could devote a patch to each panel. > Also, since we were now relying on DRM modeset drivers I felt like we > should split the patches for each panel into two: one that's > definitely safe and one that could be reverted if we found a > problematic DRM modeset driver that we couldn't fix. > > Many of the patches in the V2 series [5] landed, so this V3 series is > the patches that are left plus one new bonus patch. At this point, we > may want to just land the patches that are left since it seems like > nobody is going to test/review them and they've all been Acked by > Linus and Maxime. > > NOTE: this touches _a lot_ of drivers, is repetitive, and is not > really possible to generate automatically. That means it's entirely > possible that my eyes glazed over and I did something wrong. Please > double-check me and don't assume that I got everything perfect, though > I did my best. I have at least confirmed that "allmodconfig" for arm64 > doesn't fall on its face with this series. I haven't done a ton of > other testing. > > [1] https://lore.kernel.org/r/20230804140605.RFC.4.I930069a32baab6faf46d6b234f89613b5cec0f14@changeid > [2] https://lore.kernel.org/r/20230901234015.566018-1-dianders@chromium.org > [3] https://lore.kernel.org/r/20230901234202.566951-1-dianders@chromium.org > [4] https://lore.kernel.org/r/20230921192749.1542462-1-dianders@chromium.org > [5] https://lore.kernel.org/r/20240503213441.177109-1-dianders@chromium.org/ > > Changes in v3: > - drm/panel: Avoid warnings w/ panel-simple/panel-edp at shutdown > > Changes in v2: > - Only handle 1 panel per patch. > - Split removal of prepared/enabled from handling of remove/shutdown. > > Douglas Anderson (24): > drm/panel: boe-himax8279d: Stop tracking prepared/enabled > drm/panel: boe-himax8279d: Don't call unprepare+disable at > shutdown/remove > drm/panel: khadas-ts050: Stop tracking prepared/enabled > drm/panel: khadas-ts050: Don't call unprepare+disable at > shutdown/remove > drm/panel: olimex-lcd-olinuxino: Stop tracking prepared/enabled > drm/panel: olimex-lcd-olinuxino: Don't call unprepare+disable at > remove > drm/panel: osd-osd101t2587-53ts: Stop tracking prepared/enabled > drm/panel: osd-osd101t2587-53ts: Don't call unprepare+disable at > shutdown/remove > drm/panel: tdo-tl070wsh30: Stop tracking prepared > drm/panel: tdo-tl070wsh30: Don't call unprepare+disable at > shutdown/remove > drm/panel: jdi-lt070me05000: Stop tracking prepared/enabled > drm/panel: jdi-lt070me05000: Don't call disable at shutdown/remove > drm/panel: panasonic-vvx10f034n00: Stop tracking prepared/enabled > drm/panel: panasonic-vvx10f034n00: Don't call disable at > shutdown/remove > drm/panel: seiko-43wvf1g: Stop tracking prepared/enabled > drm/panel: seiko-43wvf1g: Don't call disable at shutdown/remove > drm/panel: sharp-lq101r1sx01: Stop tracking prepared/enabled > drm/panel: sharp-lq101r1sx01: Don't call disable at shutdown/remove > drm/panel: sharp-ls043t1le01: Stop tracking prepared > drm/panel: sharp-ls043t1le01: Don't call disable at shutdown/remove > drm/panel: raydium-rm67191: Stop tracking enabled > drm/panel: raydium-rm67191: Don't call unprepare+disable at shutdown > drm/panel: Update TODO list item for cleaning up prepared/enabled > tracking > drm/panel: Avoid warnings w/ panel-simple/panel-edp at shutdown > > Documentation/gpu/todo.rst | 47 +++--- > drivers/gpu/drm/drm_panel.c | 12 ++ > drivers/gpu/drm/panel/panel-boe-himax8279d.c | 40 ----- > .../gpu/drm/panel/panel-drm-shutdown-check.h | 151 ++++++++++++++++++ > drivers/gpu/drm/panel/panel-edp.c | 19 +-- > .../gpu/drm/panel/panel-jdi-lt070me05000.c | 35 ---- > drivers/gpu/drm/panel/panel-khadas-ts050.c | 39 ----- > .../drm/panel/panel-olimex-lcd-olinuxino.c | 44 ----- > .../drm/panel/panel-osd-osd101t2587-53ts.c | 41 +---- > .../drm/panel/panel-panasonic-vvx10f034n00.c | 47 +----- > drivers/gpu/drm/panel/panel-raydium-rm67191.c | 26 --- > drivers/gpu/drm/panel/panel-seiko-43wvf1g.c | 49 ------ > .../gpu/drm/panel/panel-sharp-lq101r1sx01.c | 63 +------- > .../gpu/drm/panel/panel-sharp-ls043t1le01.c | 24 --- > drivers/gpu/drm/panel/panel-simple.c | 19 +-- > drivers/gpu/drm/panel/panel-tdo-tl070wsh30.c | 23 --- > 16 files changed, 199 insertions(+), 480 deletions(-) > create mode 100644 drivers/gpu/drm/panel/panel-drm-shutdown-check.h > Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> for all patches, let me apply all but the last one and let us a more week to review it. Could you resend it as standalone patch? Thanks, Neil
Hi, On Tue, 04 Jun 2024 17:22:46 -0700, Douglas Anderson wrote: > As talked about in commit d2aacaf07395 ("drm/panel: Check for already > prepared/enabled in drm_panel"), we want to remove needless code from > panel drivers that was storing and double-checking the > prepared/enabled state. Even if someone was relying on the > double-check before, that double-check is now in the core and not > needed in individual drivers. > > [...] Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next) [01/24] drm/panel: boe-himax8279d: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/12866fdcfb9ebbe1b175804390195b99a234d5e7 [02/24] drm/panel: boe-himax8279d: Don't call unprepare+disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/2ccc698c68333256621abc1146de0d3fb0cc6ebd [03/24] drm/panel: khadas-ts050: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/2469cb5c41b4774a6fb5ed799ae53ad16b407a9a [04/24] drm/panel: khadas-ts050: Don't call unprepare+disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/6ac427c0cd21c7260d6b5133a70084aa35267a72 [05/24] drm/panel: olimex-lcd-olinuxino: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/db45a6991d9e33e852419f8bb0bb8d70b8d633ac [06/24] drm/panel: olimex-lcd-olinuxino: Don't call unprepare+disable at remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/16661a0dd54168826edb2fe5a7b9a183cff0c69b [07/24] drm/panel: osd-osd101t2587-53ts: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/9a3f7eb7811a4c5f36eee93b83bbd72bf6adeac8 [08/24] drm/panel: osd-osd101t2587-53ts: Don't call unprepare+disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/c99e387afed197c3f22d73d8649c54f7c8da30ec [09/24] drm/panel: tdo-tl070wsh30: Stop tracking prepared https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/7c9526e58f74e9d725a9607b1ec24ba675f5b00b [10/24] drm/panel: tdo-tl070wsh30: Don't call unprepare+disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/2098604605adf35c9a0936355252d676f4cbc38b [11/24] drm/panel: jdi-lt070me05000: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/698acd40aee3ab2dfff4472ec3c16ce42e70e4f3 [12/24] drm/panel: jdi-lt070me05000: Don't call disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/c8f67cd1d931f2e61a3456d0122ffdeb90b699f7 [13/24] drm/panel: panasonic-vvx10f034n00: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/e9864996b44e8add09fd612cb7d00d9b54cd9ef1 [14/24] drm/panel: panasonic-vvx10f034n00: Don't call disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/f10b4577da3e8c8e457016c77ce2c2fb8d2d5023 [15/24] drm/panel: seiko-43wvf1g: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/155739579969d9653f9c2e69141129a824cbd6b8 [16/24] drm/panel: seiko-43wvf1g: Don't call disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/728290006afba80108b3ce9dd33018f05e454cf0 [17/24] drm/panel: sharp-lq101r1sx01: Stop tracking prepared/enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/316bb1473c78f415a99a10d3c903ed70e0014ae3 [18/24] drm/panel: sharp-lq101r1sx01: Don't call disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/d7d473d8464e7b9931c0b19f68ea0df807e01b4c [19/24] drm/panel: sharp-ls043t1le01: Stop tracking prepared https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/804c4d0a20437bca3f017aaf96416f3cec7951c9 [20/24] drm/panel: sharp-ls043t1le01: Don't call disable at shutdown/remove https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/b3494ccb04124ab3ae08fcd01f9571d209ce97f2 [21/24] drm/panel: raydium-rm67191: Stop tracking enabled https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/b7c906d68078f235c1d017a5a820fbeac5a53904 [22/24] drm/panel: raydium-rm67191: Don't call unprepare+disable at shutdown https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/78f15847bdb8fe04b1753b1fed4984c183661ef5 [23/24] drm/panel: Update TODO list item for cleaning up prepared/enabled tracking https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/8e11b23c96c694d4cb0fb6595b38d77ee5edb296