Message ID | 20220523104758.29531-1-granquet@baylibre.com |
---|---|
Headers | show |
Series | drm/mediatek: Add mt8195 DisplayPort driver | expand |
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@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/ > v9 - > https://lore.kernel.org/all/20220327223927.20848-1-granquet@baylibre.com/ > > Functional dependencies are: > - Add Mediatek Soc DRM (vdosys0) support for mt8195 > > https://lore.kernel.org/linux-mediatek/20220419094143.9561-2-jason-jh.lin@mediatek.com/ > - Add MediaTek SoC DRM (vdosys1) support for mt8195 > > https://lore.kernel.org/linux-mediatek/20220512053128.31415-1-nancy.lin@mediatek.com/ > > > 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
On Thu, 2022-06-02 at 11:50 +0800, Rex-BC Chen wrote: > 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@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/ > > v9 - > > https://lore.kernel.org/all/20220327223927.20848-1-granquet@baylibre.com/ > > > > Functional dependencies are: > > - Add Mediatek Soc DRM (vdosys0) support for mt8195 > > > > https://lore.kernel.org/linux-mediatek/20220419094143.9561-2-jason-jh.lin@mediatek.com/ > > - Add MediaTek SoC DRM (vdosys1) support for mt8195 > > > > https://lore.kernel.org/linux-mediatek/20220512053128.31415-1-nancy.lin@mediatek.com/ > > > > > > 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 > Hello all, Because the patches of dp_intf seem to be almost completed, I want to split this series into two series: dp_intf and edp/dp. It will be easier to review and maintain this series. Thanks! BRs, Bo-Chen