On Fri, 22 Mar 2024, Sui Jingfeng <sui.jingfeng@xxxxxxxxx> wrote: > Hi, > > > On 2024/3/21 23:29, Maxime Ripard wrote: >> Infoframes in KMS is usually handled by a bunch of low-level helpers >> that require quite some boilerplate for drivers. This leads to >> discrepancies with how drivers generate them, and which are actually >> sent. >> >> Now that we have everything needed to generate them in the HDMI >> connector state, we can generate them in our common logic so that >> drivers can simply reuse what we precomputed. >> >> Signed-off-by: Maxime Ripard <mripard@xxxxxxxxxx> >> --- >> drivers/gpu/drm/Kconfig | 1 + >> drivers/gpu/drm/drm_atomic_state_helper.c | 338 +++++++++++++++++++++ >> drivers/gpu/drm/drm_connector.c | 14 + >> .../gpu/drm/tests/drm_atomic_state_helper_test.c | 1 + >> drivers/gpu/drm/tests/drm_connector_test.c | 12 + >> include/drm/drm_atomic_state_helper.h | 8 + >> include/drm/drm_connector.h | 109 +++++++ >> 7 files changed, 483 insertions(+) >> >> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig >> index 16029435b750..3d3193c7aa5f 100644 >> --- a/drivers/gpu/drm/Kconfig >> +++ b/drivers/gpu/drm/Kconfig >> @@ -97,10 +97,11 @@ config DRM_KUNIT_TEST >> If in doubt, say "N". >> >> config DRM_KMS_HELPER >> tristate >> depends on DRM >> + select DRM_DISPLAY_HDMI_HELPER > > Should we select DRM_DISPLAY_HELPER here? Otherwise there will have some compile error > emerged with default config. Can we stop abusing select instead of adding more selects to paper over the issues? Use select only for non-visible symbols (no prompts anywhere) and for symbols with no dependencies. BR, Jani. > > > : drivers/gpu/drm/drm_atomic_state_helper.o: in function `drm_atomic_helper_connector_hdmi_check': > drm_atomic_state_helper.c:(.text+0x15e4): undefined reference to `drm_hdmi_avi_infoframe_colorimetry' > : drm_atomic_state_helper.c:(.text+0x15f0): undefined reference to `drm_hdmi_avi_infoframe_bars' > : drm_atomic_state_helper.c:(.text+0x1638): undefined reference to `drm_hdmi_infoframe_set_hdr_metadata' > make[2]: *** [scripts/Makefile.vmlinux:37: vmlinux] Error 1 > > make[1]: *** [/home/suijingfeng/UpStream/drm-tip/Makefile:1162: vmlinux] Error 2 > > make[1]: *** Waiting for unfinished jobs.... > make: *** [Makefile:240: __sub-make] Error 2 > >> help >> CRTC helpers for KMS drivers. >> >> config DRM_DEBUG_DP_MST_TOPOLOGY_REFS >> bool "Enable refcount backtrace history in the DP MST helpers" -- Jani Nikula, Intel