On Mon, 2022-05-23 at 12:47 +0200, Guillaume Ranquet wrote: > this series is built around the DisplayPort driver. The dpi/dpintf > driver and the added helper functions are required for the > DisplayPort > driver to work. > > This v10 still has some un-answered comments and TODOs for v11. > > This has been tested sucessfully on a 5.18-next based "vendor > branch". > > There's a missing dependency in the mediatek clock framework to allow > a > mux clock to change it's parent automatically on rate change. > Without this change, the dpi driver won't properly set the clocks on > mode change and thus nothing will be displayed on screen. > > Changes from v9: > - The DP-Phy is back to being a child device of the DP driver (as in > v8) > - hot plug detection has been added back to Embedded Display Port... > as > after discussing with mediatek experts, this is needed eventhough > the > Embedded Display port is not un-pluggable > - rebased on linux-next > - simplified/split train_handler function, as suggested by Rex > - added comments on the sleep/delays present in the code > - removed previous patch introducing retries when receiving AUX_DEFER > as > this is already handled in the dp_aux framework > - added max-lane and max-linkrate device tree u8 properties instead > of > hardcoded #defines > > Things that are in my todolist for v11: > - retrieve CK/DE support from panel driver instead of hardcoding it > into > the dpi driver > - refcount the dp driver "enabled" status for "future proofing" > - review the drm_dp_helpers for features/functions that have been > re-implemented in the mediatek dp drivers > > Older revisions: > RFC - > https://lore.kernel.org/linux-mediatek/20210816192523.1739365-1-msp@xxxxxxxxxxxx/ > v1 - > https://lore.kernel.org/linux-mediatek/20210906193529.718845-1-msp@xxxxxxxxxxxx/ > v2 - > https://lore.kernel.org/linux-mediatek/20210920084424.231825-1-msp@xxxxxxxxxxxx/ > v3 - > https://lore.kernel.org/linux-mediatek/20211001094443.2770169-1-msp@xxxxxxxxxxxx/ > v4 - > https://lore.kernel.org/linux-mediatek/20211011094624.3416029-1-msp@xxxxxxxxxxxx/ > v5 - > https://lore.kernel.org/all/20211021092707.3562523-1-msp@xxxxxxxxxxxx/ > v6 - > https://lore.kernel.org/linux-mediatek/20211110130623.20553-1-granquet@xxxxxxxxxxxx/ > v7 - > https://lore.kernel.org/linux-mediatek/20211217150854.2081-1-granquet@xxxxxxxxxxxx/ > v8 - > https://lore.kernel.org/linux-mediatek/20220218145437.18563-1-granquet@xxxxxxxxxxxx/ > v9 - > https://lore.kernel.org/all/20220327223927.20848-1-granquet@xxxxxxxxxxxx/ > > Functional dependencies are: > - Add Mediatek Soc DRM (vdosys0) support for mt8195 > > https://lore.kernel.org/linux-mediatek/20220419094143.9561-2-jason-jh.lin@xxxxxxxxxxxx/ > - Add MediaTek SoC DRM (vdosys1) support for mt8195 > > https://lore.kernel.org/linux-mediatek/20220512053128.31415-1-nancy.lin@xxxxxxxxxxxx/ > > > Guillaume Ranquet (15): > drm/edid: Convert cea_sad helper struct to kernelDoc > drm/edid: Add cea_sad helpers for freq/length > drm/mediatek: dpi: move dpi limits to SoC config > drm/mediatek: dpi: implement a CK/DE pol toggle in SoC config > drm/mediatek: dpi: implement a swap_input toggle in SoC config > drm/mediatek: dpi: move dimension mask to SoC config > drm/mediatek: dpi: move hvsize_mask to SoC config > drm/mediatek: dpi: move swap_shift to SoC config > drm/mediatek: dpi: move the yuv422_en_bit to SoC config > drm/mediatek: dpi: move the csc_enable bit to SoC config > drm/mediatek: dpi: Add dpintf support > drm/mediatek: dpi: Only enable dpi after the bridge is enabled > drm/meditek: dpi: Add matrix_sel helper > drm/mediatek: Add mt8195 External DisplayPort support > drm/mediatek: DP audio support for mt8195 > > Jitao Shi (1): > drm/mediatek: add hpd debounce > > Markus Schneider-Pargmann (5): > dt-bindings: mediatek,dpi: Add DPINTF compatible > dt-bindings: mediatek,dp: Add Display Port binding > video/hdmi: Add audio_infoframe packing for DP > phy: phy-mtk-dp: Add driver for DP phy > drm/mediatek: Add mt8195 Embedded DisplayPort driver > > .../display/mediatek/mediatek,dp.yaml | 99 + > .../display/mediatek/mediatek,dpi.yaml | 13 +- > MAINTAINERS | 1 + > drivers/gpu/drm/drm_edid.c | 74 + > drivers/gpu/drm/mediatek/Kconfig | 8 + > drivers/gpu/drm/mediatek/Makefile | 2 + > drivers/gpu/drm/mediatek/mtk_dp.c | 3419 > +++++++++++++++++ > drivers/gpu/drm/mediatek/mtk_dp_reg.h | 570 +++ > drivers/gpu/drm/mediatek/mtk_dpi.c | 272 +- > drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 38 + > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 8 + > drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 1 + > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 8 +- > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 3 + > drivers/phy/mediatek/Kconfig | 8 + > drivers/phy/mediatek/Makefile | 1 + > drivers/phy/mediatek/phy-mtk-dp.c | 200 + > drivers/video/hdmi.c | 82 +- > include/drm/dp/drm_dp_helper.h | 2 + > include/drm/drm_edid.h | 26 +- > include/linux/hdmi.h | 7 +- > include/linux/soc/mediatek/mtk-mmsys.h | 4 +- > 22 files changed, 4765 insertions(+), 81 deletions(-) > create mode 100644 > Documentation/devicetree/bindings/display/mediatek/mediatek,dp.yaml > 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 Hello all, Due to the resource issue, I will keep upstreaming Guillaume's MT8195 dp/edp series. I will check the comments for v8/v9/v10 and have some discussion with you. Thanks for your all comments. BRs, Bo-Chen