Re: [PATCH v10 00/21] drm/mediatek: Add mt8195 DisplayPort driver

From: Rex-BC Chen
Date: Wed Jun 01 2022 - 23:50:26 EST


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