Thread (10 messages) 10 messages, 2 authors, 2024-02-19

RE: [EXT] Re: [PATCH v13 4/7] drm: bridge: Cadence: Add MHDP8501 DP/HDMI driver

From: Sandor Yu <hidden>
Date: 2024-02-19 07:24:28
Also in: dri-devel, linux-devicetree, linux-phy, lkml

Hi Alexander,

Thanks for your comments,
get_edid function will be replace by edid_read as community update in the next version.

B.R
Sandor

Hi Sandor,

thanks for the update.

Am Sonntag, 4. Februar 2024, 11:21:49 CET schrieb Sandor Yu:
quoted
Add a new DRM DisplayPort and HDMI bridge driver for Candence
MHDP8501
quoted
used in i.MX8MQ SOC. MHDP8501 could support HDMI or DisplayPort
standards according embedded Firmware running in the uCPU.

For iMX8MQ SOC, the DisplayPort/HDMI FW was loaded and activated by
SOC's ROM code. Bootload binary included respective specific firmware
is required.

Driver will check display connector type and then load the
corresponding driver.

Signed-off-by: Sandor Yu <redacted>
Tested-by: Alexander Stein <redacted>
---
v12->v13:
- Explicitly include linux/platform_device.h for cdns-mhdp8501-core.c
- Fix build warning
- Order bit bpc and color_space in descending shit.

v11->v12:
- Replace DRM_INFO with dev_info or dev_warn.
- Replace DRM_ERROR with dev_err.
- Return ret when cdns_mhdp_dpcd_read failed in function
cdns_dp_aux_transferi(). - Remove unused parmeter in function
cdns_dp_get_msa_misc
  and use two separate variables for color space and bpc.
- Add year 2024 to copyright.

 drivers/gpu/drm/bridge/cadence/Kconfig        |  16 +
 drivers/gpu/drm/bridge/cadence/Makefile       |   2 +
 .../drm/bridge/cadence/cdns-mhdp8501-core.c   | 316 ++++++++
 .../drm/bridge/cadence/cdns-mhdp8501-core.h   | 365 +++++++++
 .../gpu/drm/bridge/cadence/cdns-mhdp8501-dp.c | 699
++++++++++++++++++
quoted
 .../drm/bridge/cadence/cdns-mhdp8501-hdmi.c   | 679
+++++++++++++++++
quoted
 6 files changed, 2077 insertions(+)
 create mode 100644
drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-core.c
 create mode 100644
drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-core.h
 create mode 100644
drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-dp.c
quoted
 create mode 100644
drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c

[snip]
diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-dp.c
b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-dp.c new file mode
100644 index 0000000000000..0117cddb85694
--- /dev/null
+++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-dp.c
@@ -0,0 +1,699 @@
[snip]
+
+const struct drm_bridge_funcs cdns_dp_bridge_funcs = {
+     .attach = cdns_dp_bridge_attach,
+     .detect = cdns_dp_bridge_detect,
+     .get_edid = cdns_dp_bridge_get_edid,
Please note that with commits d807ad80d811b ("drm/bridge: add
->edid_read hook and drm_bridge_edid_read()") and 27b8f91c08d99
("drm/bridge: remove ->get_edid
callback") the API has slightly changed meanwhile.
quoted
+     .mode_valid = cdns_dp_bridge_mode_valid,
+     .atomic_enable = cdns_dp_bridge_atomic_enable,
+     .atomic_disable = cdns_dp_bridge_atomic_disable,
+     .atomic_duplicate_state =
drm_atomic_helper_bridge_duplicate_state,
quoted
+     .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
+     .atomic_reset = drm_atomic_helper_bridge_reset, };
diff --git a/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c
b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c new file mode
100644 index 0000000000000..e6ed13b9f9ca3
--- /dev/null
+++ b/drivers/gpu/drm/bridge/cadence/cdns-mhdp8501-hdmi.c
@@ -0,0 +1,679 @@
[snip]
+
+const struct drm_bridge_funcs cdns_hdmi_bridge_funcs = {
+     .attach = cdns_hdmi_bridge_attach,
+     .detect = cdns_hdmi_bridge_detect,
+     .get_edid = cdns_hdmi_bridge_get_edid,
Please note that with commits d807ad80d811b ("drm/bridge: add
->edid_read hook and drm_bridge_edid_read()") and 27b8f91c08d99
("drm/bridge: remove ->get_edid
callback") the API has slightly changed meanwhile.
quoted
+     .mode_valid = cdns_hdmi_bridge_mode_valid,
+     .mode_fixup = cdns_hdmi_bridge_mode_fixup,
+     .atomic_enable = cdns_hdmi_bridge_atomic_enable,
+     .atomic_disable = cdns_hdmi_bridge_atomic_disable,
+     .atomic_duplicate_state =
drm_atomic_helper_bridge_duplicate_state,
quoted
+     .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
+     .atomic_reset = drm_atomic_helper_bridge_reset, };
Please rebase your patch series, thanks.

Best regards,
Alexander
--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-/
group.com%2F&data=05%7C02%7CSandor.yu%40nxp.com%7Cfc532fc168004f
07439308dc2ebdf280%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%
7C638436640551238910%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw
MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C0%7C%7C%7C
&sdata=E1%2Fd8VTcDiXL3uhGDlHz7synQjRD%2BN1hDoHlbB72RiY%3D&reser
ved=0

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help