On Wed, 12 Jun 2024 at 17:35, Maxime Ripard <mripard@xxxxxxxxxx> wrote: > > We recently added some infrastructure to deal with HDMI but we're still > lacking a couple of things. Add a TODO entry with the remaining items. > > Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> > Signed-off-by: Maxime Ripard <mripard@xxxxxxxxxx> > --- > Documentation/gpu/todo.rst | 29 +++++++++++++++++++++++++++++ > 1 file changed, 29 insertions(+) > > diff --git a/Documentation/gpu/todo.rst b/Documentation/gpu/todo.rst > index 2ea6ffc9b22b..52fd8672fb6d 100644 > --- a/Documentation/gpu/todo.rst > +++ b/Documentation/gpu/todo.rst > @@ -633,10 +633,39 @@ long as that supports DMA. Otherwise importing can still needlessly fail. > > Contact: Thomas Zimmermann <tzimmermann@xxxxxxx>, Daniel Vetter > > Level: Advanced > > +Improve HDMI Infrastructure > +--------------------------- > + > +We have a bunch of helpers to handle HDMI and reduce the boilerplate in > +drivers. Support so far includes HDMI 1.4 support, but we need to extend > +it with: > + > + - CEC handling support. CEC requires a bit of integration into every > + HDMI driver to set the device physical address according to the EDID > + in `.get_modes`, and to clear/reset it in the hotplug detection > + path. We should create the ``drm_atomic_helper_connector_hdmi_get_modes()`` > + and ``drm_atomic_helper_connector_hdmi_handle_hotplug()`` helpers to handle > + this properly, and convert drivers to use them. > + > + - In order to support HDMI 2.0 properly, the scrambler parameters need > + to be moved into the state. This includes figuring out in > + drm_atomic_helper_connector_hdmi_check() if the scrambler and TMDS ratio > + need to be changed, and make the > + ``drm_atomic_helper_connector_hdmi_handle_hotplug()`` helper reset the > + scrambler status when the device is plugged and unplugged. > + > + - We need to support YUV420 too. - HDMI audio improvements: - Implement the get_eld() and possibly hook_plugged_cb() functions for hdmi_codec_ops in a generic way. Maybe implementing generic HDMI hdmi_codec_ops and then providing device-specific hooks to prepare / shutdown / mute stream. - provide helpers to determine ACR / N / CTS params A different, but closely related topic is HDCP support in a generic way. https://lore.kernel.org/dri-devel/20230419154321.1993419-1-markyacoub@xxxxxxxxxx/ > + > +The `vc4` driver is a good example for all this. > + > +Contact: Maxime Ripard <mripard@xxxxxxxxxx> > + > +Level: Intermediate > + > > Better Testing > ============== > > Add unit tests using the Kernel Unit Testing (KUnit) framework > -- > 2.45.2 > -- With best wishes Dmitry