Re: [v10,20/27] drm/connector: hdmi: Add Infoframes generation

Maxime Ripard
2024-03-22T10:57:56Z

[-- Attachment #1: Type: text/plain, Size: 2282 bytes --]

On Fri, Mar 22, 2024 at 11:22:14AM +0200, Jani Nikula wrote:
> On Fri, 22 Mar 2024, Sui Jingfeng <sui.jingfeng@linux.dev> 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@kernel.org>
> >> ---
> >> 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.

I don't really have an opinion there, but it looks like all the other
helpers Kconfig symbols are using select everywhere, and I don't really
see how we could turn them into visible symbols with depends on without
breaking a number of defconfig.

Could you expand a bit what you have in mind here?

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]