public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/9] drm/msm: make use of the HDMI connector infrastructure
@ 2024-06-07 13:22 Dmitry Baryshkov
  2024-06-07 13:22 ` [PATCH v5 1/9] drm/connector: hdmi: allow disabling Audio Infoframe Dmitry Baryshkov
                   ` (10 more replies)
  0 siblings, 11 replies; 30+ messages in thread
From: Dmitry Baryshkov @ 2024-06-07 13:22 UTC (permalink / raw)
  To: Andrzej Hajda, Neil Armstrong, Robert Foss, Laurent Pinchart,
	Jonas Karlman, Jernej Skrabec, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Daniel Vetter, Rob Clark,
	Abhinav Kumar, Sean Paul, Marijn Suijten
  Cc: dri-devel, linux-arm-msm, freedreno, linux-kernel,
	Dmitry Baryshkov

This patchset sits on top Maxime's HDMI connector patchset ([1]).

Currently this is an RFC exploring the interface between HDMI bridges
and HDMI connector code. This has been lightly verified on the Qualcomm
DB820c, which has native HDMI output. If this approach is considered to
be acceptable, I'll finish MSM HDMI bridge conversion (reworking the
Audio Infoframe code). Other bridges can follow the same approach (we
have lt9611 / lt9611uxc / adv7511 on Qualcomm hardware).

[1] https://patchwork.freedesktop.org/series/122421/

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
Changes in v5:
- Made drm_bridge_funcs::hdmi_clear_infoframe() callback mandatory for
  DRM_BRIDGE_OP_HDMI bridges (Maxime)
- Added drm_atomic_helper_connector_hdmi_disable_audio_infoframe()
  instead of passing NULL frame to
  drm_atomic_helper_connector_hdmi_update_audio_infoframe() (Maxime)
- Disable Audio Infoframe in MSM HDMI driver on audio shutdown.
- Link to v4: https://lore.kernel.org/r/20240531-bridge-hdmi-connector-v4-0-5110f7943622@linaro.org

Changes in v4:
- Reworked drm_bridge_connector functions to remove ternary operators
  and to reduce indentation level (Maxime)
- Added hdmi_ prefix to all HDMI-related drm_bridge_funcs calls (Maxime)
- Made vendor and product mandatory to the HDMI bridges (Maxime)
- Documented that max_bpc can be 8, 10 or 12 (Maxime)
- Changed hdmi->pixclock to be set using tmds_char_rate instead of
  calculating that manually (Maxime)
- Changed mode_valid to use helper function instead of manually
  doing mode->clock * 1000
- Removed hdmi_mode in favour of connector->display_info.is_hdmi
- Link to v3: https://lore.kernel.org/r/20240530-bridge-hdmi-connector-v3-0-a1d184d68fe3@linaro.org

Changes in v3:
- Rebased on top of the merged HDMI connector patchset.
- Changed drm_bridge_connector to use drmm_connector_init() (Maxime)
- Added a check that write_infoframe callback is present if
  BRIDGE_OP_HDMI is set.
- Moved drm_atomic_helper_connector_hdmi_check() call from
  drm_bridge_connector to the HDMI bridge driver to remove dependency
  from drm_kms_helpers on the optional HDMI state helpers.
- Converted Audio InfoFrame handling code.
- Added support for HDMI Vendor Specific and SPD InfoFrames.
- Link to v2: https://lore.kernel.org/r/20240309-bridge-hdmi-connector-v2-0-1380bea3ee70@linaro.org

Changes in v2:
- Dropped drm_connector_hdmi_setup(). Instead added
  drm_connector_hdmi_init() to be used by drm_bridge_connector.
- Changed the drm_bridge_connector to act as a proxy for the HDMI
  connector  infrastructure. This removes most of the logic from
  the bridge drivers.
- Link to v1: https://lore.kernel.org/r/20240308-bridge-hdmi-connector-v1-0-90b693550260@linaro.org

---
Dmitry Baryshkov (9):
      drm/connector: hdmi: allow disabling Audio Infoframe
      drm/bridge-connector: switch to using drmm allocations
      drm/bridge-connector: implement glue code for HDMI connector
      drm/msm/hdmi: switch to atomic bridge callbacks
      drm/msm/hdmi: turn mode_set into atomic_enable
      drm/msm/hdmi: make use of the drm_connector_hdmi framework
      drm/msm/hdmi: get rid of hdmi_mode
      drm/msm/hdmi: update HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE definition
      drm/msm/hdmi: also send the SPD and HDMI Vendor Specific InfoFrames

 drivers/gpu/drm/display/drm_hdmi_state_helper.c |  36 +++
 drivers/gpu/drm/drm_bridge_connector.c          | 107 ++++++--
 drivers/gpu/drm/drm_debugfs.c                   |   2 +
 drivers/gpu/drm/msm/Kconfig                     |   2 +
 drivers/gpu/drm/msm/hdmi/hdmi.c                 |  47 +---
 drivers/gpu/drm/msm/hdmi/hdmi.h                 |  18 +-
 drivers/gpu/drm/msm/hdmi/hdmi_audio.c           |  74 ++----
 drivers/gpu/drm/msm/hdmi/hdmi_bridge.c          | 310 +++++++++++++++++++-----
 drivers/gpu/drm/msm/registers/display/hdmi.xml  |   2 +-
 include/drm/display/drm_hdmi_state_helper.h     |   1 +
 include/drm/drm_bridge.h                        |  81 +++++++
 11 files changed, 496 insertions(+), 184 deletions(-)
---
base-commit: 222d50ef3700aefb694e55a7a1f03d3fe2cb67f9
change-id: 20240307-bridge-hdmi-connector-7e3754e661d0

Best regards,
-- 
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2024-06-23  7:14 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-07 13:22 [PATCH v5 0/9] drm/msm: make use of the HDMI connector infrastructure Dmitry Baryshkov
2024-06-07 13:22 ` [PATCH v5 1/9] drm/connector: hdmi: allow disabling Audio Infoframe Dmitry Baryshkov
2024-06-10  8:30   ` Maxime Ripard
2024-06-07 13:22 ` [PATCH v5 2/9] drm/bridge-connector: switch to using drmm allocations Dmitry Baryshkov
2024-06-10  8:04   ` Maxime Ripard
2024-06-10 11:46     ` Dmitry Baryshkov
2024-06-10 12:07       ` Maxime Ripard
2024-06-10 17:54         ` Dmitry Baryshkov
2024-06-11  8:54           ` Maxime Ripard
2024-06-11 11:26             ` Dmitry Baryshkov
2024-06-13  7:57               ` Maxime Ripard
2024-06-07 13:23 ` [PATCH v5 3/9] drm/bridge-connector: implement glue code for HDMI connector Dmitry Baryshkov
2024-06-07 13:23 ` [PATCH v5 4/9] drm/msm/hdmi: switch to atomic bridge callbacks Dmitry Baryshkov
2024-06-20 20:19   ` Abhinav Kumar
2024-06-07 13:23 ` [PATCH v5 5/9] drm/msm/hdmi: turn mode_set into atomic_enable Dmitry Baryshkov
2024-06-20 20:27   ` Abhinav Kumar
2024-06-20 20:32     ` Dmitry Baryshkov
2024-06-20 20:49       ` Abhinav Kumar
2024-06-20 21:24         ` Dmitry Baryshkov
2024-06-20 22:05           ` Abhinav Kumar
2024-06-20 22:17             ` Dmitry Baryshkov
2024-06-07 13:23 ` [PATCH v5 6/9] drm/msm/hdmi: make use of the drm_connector_hdmi framework Dmitry Baryshkov
2024-06-07 13:23 ` [PATCH v5 7/9] drm/msm/hdmi: get rid of hdmi_mode Dmitry Baryshkov
2024-06-20 20:54   ` Abhinav Kumar
2024-06-07 13:23 ` [PATCH v5 8/9] drm/msm/hdmi: update HDMI_GEN_PKT_CTRL_GENERIC0_UPDATE definition Dmitry Baryshkov
2024-06-20 20:57   ` Abhinav Kumar
2024-06-07 13:23 ` [PATCH v5 9/9] drm/msm/hdmi: also send the SPD and HDMI Vendor Specific InfoFrames Dmitry Baryshkov
2024-06-10  8:39   ` Maxime Ripard
2024-06-12  8:02 ` (subset) [PATCH v5 0/9] drm/msm: make use of the HDMI connector infrastructure Dmitry Baryshkov
2024-06-23  7:14 ` Dmitry Baryshkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox