[PATCH 00/22] drm/mediatek: Add mt8195 DisplayPort driver

Guillaume Ranquet granquet at baylibre.com
Fri Mar 25 10:53:42 PDT 2022


On Fri, 25 Mar 2022 18:14, Guillaume Ranquet <granquet at baylibre.com> 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 v9 is not quite ready yet, as project constraints forces me to
>publish v9 this week, I'm sorry if it's not standard practice.
>
>Moreover, it is still un-tested on a recent kernel.
>The integration kernel we are using is still based on 5.10... but we
>are actively working on bringing up a mt8195 integration branch on 5.17.
>The patches have been rebased on top of next-20220301 and have been
>tested to build sucessfully (no functional testing).
>
>Changes from v8:
>- The DP-Phy now has its own dt-bindings and now shares a regmap using the
>  syscon facility with the DP driver.
>- hot plug detection has been removed from the Embedded Display Port.
>  patch and moved to the patch adding External Display Port support.
>- started working on better error handling for the mtk_dp driver.
>- rebased on linux-next.
>- removal of tvd pll clocks re-introduced by mistake.
>- various coding style fixes.
>
>Things that are in my todolist for v10:
>- fixing the train_handler in the mtk_dp driver, as I haven't been able
>  to reproduce locally (hopefully migrating to running the tests on a
>  more recent kernel will help)
>- explaining the various sleep/delays introduced in the drivers
>- explaining some of the differences between mt8195 and "legacy"
>- retrieve CK/DE support from panel driver instead of hardcoding it into
>  the dpi driver.
>- better error handling/reporting in mtk_dp
>- look into re-implementing mtk_dp_aux_transfer() using drm_dp_dpcd_read and
>  drm_dp_dpcd_write as suggested by Rex.
>
>Older revisions:
>RFC - https://lore.kernel.org/linux-mediatek/20210816192523.1739365-1-msp@baylibre.com/
>v1  - https://lore.kernel.org/linux-mediatek/20210906193529.718845-1-msp@baylibre.com/
>v2  - https://lore.kernel.org/linux-mediatek/20210920084424.231825-1-msp@baylibre.com/
>v3  - https://lore.kernel.org/linux-mediatek/20211001094443.2770169-1-msp@baylibre.com/
>v4  - https://lore.kernel.org/linux-mediatek/20211011094624.3416029-1-msp@baylibre.com/
>v5  - https://lore.kernel.org/all/20211021092707.3562523-1-msp@baylibre.com/
>v6  - https://lore.kernel.org/linux-mediatek/20211110130623.20553-1-granquet@baylibre.com/
>v7  - https://lore.kernel.org/linux-mediatek/20211217150854.2081-1-granquet@baylibre.com/
>v8  - https://lore.kernel.org/linux-mediatek/20220218145437.18563-1-granquet@baylibre.com/
>
>Functional dependencies are:
>- Add Mediatek Soc DRM (vdosys0) support for mt8195
>  https://lore.kernel.org/all/20211026155911.17651-1-jason-jh.lin@mediatek.com/
>- Add MediaTek SoC DRM (vdosys1) support for mt8195
>  https://lore.kernel.org/all/20211029075203.17093-1-nancy.lin@mediatek.com/
>
>Guillaume Ranquet (15):
>  dt-bindings: mediatek,dp_phy: Add Display Port PHY binding
>  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/meditek: dpi: Add matrix_sel helper
>  drm/mediatek: Add mt8195 External DisplayPort support
>  drm/mediatek: DP audio support for mt8195
>
>Jitao Shi (2):
>  drm/mediatek: add hpd debounce
>  drm/mediatek: change the aux retries times when receiving AUX_DEFER
>
>Markus Schneider-Pargmann (5):
>  dt-bindings: mediatek,dpi: Add DP_INTF 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         |   97 +
> .../display/mediatek/mediatek,dpi.yaml        |   11 +-
> .../bindings/phy/mediatek,dp-phy.yaml         |   43 +
> 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             | 3204 +++++++++++++++++
> drivers/gpu/drm/mediatek/mtk_dp_reg.h         |  568 +++
> drivers/gpu/drm/mediatek/mtk_dpi.c            |  222 +-
> 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        |    6 +-
> 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             |  202 ++
> drivers/video/hdmi.c                          |   82 +-
> include/drm/dp/drm_dp_helper.h                |    2 +
> include/drm/drm_edid.h                        |   25 +-
> include/linux/hdmi.h                          |    7 +-
> include/linux/soc/mediatek/mtk-mmsys.h        |    3 +-
> 23 files changed, 4541 insertions(+), 73 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,dp.yaml
> create mode 100644 Documentation/devicetree/bindings/phy/mediatek,dp-phy.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
>
>--
>2.34.1
>

This is actually v9.
Please ignore these as I will resend the patches properly tagged as v9.

Sorry for the inconveniance,
Guillaume.



More information about the linux-arm-kernel mailing list