Hi, Markus: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx> 於 2021年10月1日 週五 下午5:44寫道: > > This patch adds a DisplayPort driver for the Mediatek mt8195 SoC and a > according phy driver mediatek-dp-phy. > > It supports both functional units on the mt8195, the embedded > DisplayPort as well as the external DisplayPort units. It offers > hot-plug-detection, audio up to 8 channels, and DisplayPort 1.4 with up > to 4 lanes. > > The driver creates a child device for the phy. The child device will > never exist without the parent being active. As they are sharing a > register range, the parent passes a regmap pointer to the child so that > both can work with the same register range. The phy driver sets device > data that is read by the parent to get the phy device that can be used > to control the phy properties. > > This driver is based on an initial version by > Jason-JH.Lin <jason-jh.lin@xxxxxxxxxxxx>. > > Signed-off-by: Markus Schneider-Pargmann <msp@xxxxxxxxxxxx> > --- > > Notes: > Changes v2 -> v3: > - Solve TODOs and add defines for undescribed registers > - Remove TODOs that were irrelevant > > Changes v1 -> v2: > - Fix checkpatch --strict suggestions > - General cleanups of the code. > - Remove all remaining non-atomic functions. > - Remove unused includes and sort them. > - Remove unused select GENERIC_PHY > - Rename phy registers DP_PHY -> MTK_DP_PHY > - Replace usage of delays with usleep_range. > - Split the phy register accesses into a separate phy driver. > - Use a lock to guard access to mtk_dp->edid as it can be allocated/used/freed > in different threads > - use struct dp_sdp for sdp packets. > > Changes RFC -> v1: > - Removed unused register definitions. > - Replaced workqueue with threaded irq. > - Removed connector code. > - Move to atomic_* drm functions. > - General cleanups of the code. > - Remove unused select GENERIC_PHY. > > drivers/gpu/drm/mediatek/Kconfig | 7 + > drivers/gpu/drm/mediatek/Makefile | 2 + > drivers/gpu/drm/mediatek/mtk_dp.c | 2825 ++++++++++++++++++++++++ > drivers/gpu/drm/mediatek/mtk_dp_reg.h | 535 +++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 1 + > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 1 + > drivers/phy/mediatek/Kconfig | 8 + > drivers/phy/mediatek/Makefile | 1 + > drivers/phy/mediatek/phy-mtk-dp.c | 218 ++ Separate the phy driver to another patch because phy driver would go into different maintainer's tree. Regards, Chun-Kuang. > include/linux/soc/mediatek/mtk-mmsys.h | 2 + > 10 files changed, 3600 insertions(+) > create mode 100644 drivers/gpu/drm/mediatek/mtk_dp.c > create mode 100644 drivers/gpu/drm/mediatek/mtk_dp_reg.h > create mode 100644 drivers/phy/mediatek/phy-mtk-dp.c >