[PATCH v4 drm-dp 0/8] Add HPD, getting EDID, colorbar features in DP function
From: Yongbang Shi
Date: Wed Mar 05 2025 - 06:34:29 EST
From: Baihan Li <libaihan@xxxxxxxxxx>
To support DP HPD, edid printing, and colorbar display features based on
the Hisislcon DP devices.
---
ChangeLog:
v3 -> v4:
- fix the serdes cfg in hibmc_dp_serdes_set_tx_cfg(), suggested by Dmitry Baryshkov.
- move the dp serdes registers to dp_reg.h, suggested by Dmitry Baryshkov.
- add comments for if-statement of dp_init(), suggested by Dmitry Baryshkov.
- fix the comment log to imperative sentence, suggested by Dmitry Baryshkov.
- add comments in hibmc_control_write(), suggested by Dmitry Baryshkov.
- add link reset of rates and lanes in pre link training process, suggested by Dmitry Baryshkov.
- add vdac detect and connected/disconnected status to enable HPD process, suggested by Dmitry Baryshkov.
- remove a drm_client, suggested by Dmitry Baryshkov.
- fix build errors reported by kernel test robot <lkp@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202502231304.BCzV4Y8D-lkp@xxxxxxxxx/
v2 -> v3:
- restructuring the header p_reg.h, suggested by Dmitry Baryshkov.
- add commit log about dp serdes, suggested by Dmitry Baryshkov.
- return value in hibmc_dp_serdes_init(), suggested by Dmitry Baryshkov.
- add static const in the array of serdes_tx_cfg[], suggested by Dmitry Baryshkov.
- change drm_warn to drm_dbg_dp, suggested by Dmitry Baryshkov.
- add explanations about dp serdes macros, suggested by Dmitry Baryshkov.
- change commit to an imperative sentence, suggested by Dmitry Baryshkov.
- put HIBMC_DP_HOST_SERDES_CTRL in dp_serdes.h, suggested by Dmitry Baryshkov.
- split the patch into two parts, suggested by Dmitry Baryshkov.
- Capitalized EDID and AUX, suggested by Dmitry Baryshkov.
- rewrite the commit log, suggested by Dmitry Baryshkov.
- move colorbar debugfs entry to this patch, suggested by Dmitry Baryshkov.
- change binary format to integer format, suggested by Dmitry Baryshkov.
- remove mdelay(100) hpd function in ISR, suggested by Dmitry Baryshkov.
- remove enble_display in ISR, suggested by Dmitry Baryshkov.
- change drm_kms_helper_connector_hotplug_event() to
drm_connector_helper_hpd_irq_event(), suggested by Dmitry Baryshkov.
- move macros to dp_reg.h, suggested by Dmitry Baryshkov.
- remove struct irqs, suggested by Dmitry Baryshkov.
- split this patch into two parts, suggested by Dmitry Baryshkov.
v1 -> v2:
- splittting the patch and add more detailed the changes in the commit message, suggested by Dmitry Baryshkov.
- changing all names of dp phy to dp serdes.
- deleting type conversion, suggested by Dmitry Baryshkov.
- deleting hibmc_dp_connector_get_modes() and using drm_connector_helper_get_modes(), suggested by Dmitry Baryshkov.
- add colorbar introduction in commit, suggested by Dmitry Baryshkov.
- deleting edid decoder and its debugfs, suggested by Dmitry Baryshkov.
- using debugfs_init() callback, suggested by Dmitry Baryshkov.
- splittting colorbar and debugfs in different patches, suggested by Dmitry Baryshkov.
- optimizing the description in commit message, suggested by Dmitry Baryshkov.
- add mdelay(100) comments, suggested by Dmitry Baryshkov.
- deleting display enable in hpd event, suggested by Dmitry Baryshkov.
---
Baihan Li (8):
drm/hisilicon/hibmc: Restructuring the header dp_reg.h
drm/hisilicon/hibmc: Add dp serdes cfg to adjust serdes rate, voltage
and pre-emphasis
drm/hisilicon/hibmc: Add dp serdes cfg in dp process
drm/hisilicon/hibmc: Refactor the member of drm_aux in struct hibmc_dp
drm/hisilicon/hibmc: Getting connector info and EDID by using AUX
channel
drm/hisilicon/hibmc: Add colorbar-cfg feature and its debugfs file
drm/hisilicon/hibmc: Enable this hot plug detect of irq feature
drm/hisilicon/hibmc: Add MSI irq getting and requesting for HPD
1 | 0
drivers/gpu/drm/hisilicon/hibmc/Makefile | 3 +-
drivers/gpu/drm/hisilicon/hibmc/dp/dp_aux.c | 16 ++-
drivers/gpu/drm/hisilicon/hibmc/dp/dp_comm.h | 10 +-
.../gpu/drm/hisilicon/hibmc/dp/dp_config.h | 2 +
drivers/gpu/drm/hisilicon/hibmc/dp/dp_hw.c | 91 +++++++++++-
drivers/gpu/drm/hisilicon/hibmc/dp/dp_hw.h | 36 +++++
drivers/gpu/drm/hisilicon/hibmc/dp/dp_link.c | 57 +++++---
drivers/gpu/drm/hisilicon/hibmc/dp/dp_reg.h | 130 +++++++++++++-----
.../gpu/drm/hisilicon/hibmc/dp/dp_serdes.c | 71 ++++++++++
.../drm/hisilicon/hibmc/hibmc_drm_debugfs.c | 104 ++++++++++++++
.../gpu/drm/hisilicon/hibmc/hibmc_drm_dp.c | 67 ++++++++-
.../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 88 +++++++++---
.../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.h | 12 ++
.../gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c | 3 +
15 files changed, 601 insertions(+), 89 deletions(-)
create mode 100644 1
create mode 100644 drivers/gpu/drm/hisilicon/hibmc/dp/dp_serdes.c
create mode 100644 drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_debugfs.c
--
2.33.0