Hi, another update to the MT8173 DRM support RFC.
Changes since v4: - Fixed author for the HDMI driver patch - Moved device tree binding documentation to Documentation/devicetree/bindings/display/mediatek - Added mtk_crtc_state to keep pending state, made mtk_drm_crtc private - Now using drm_dev_alloc and drm_dev_register directly instead of drm_platform_init, drop drm_driver->load callback - Dropped unnecessary locking in mtk_drm_gem_dump_map_offset - Removed currently unused mtk_drm_gem_mmap_buf - Stopped referencing plane framebuffers manually - Set RDMA FIFO output threshold depending on frame width/height/rate - Removed mediatek,cec and ddc-i2c-bus properties from hdmi node - Added ddc-i2c-bus property to the output connector node - Made output port at 1 required in hdmi node, using of_graph_get_port_by_id - Add mediatek, prefix to ibias properties in the hdmi-phy node - Always set HDMI mode during bridge enable - Move HDMI PHY registers into a separate file - Enable the CEC clock later in the probe function Due to the locking changes this now depends on drm-next to function, but otherwise the patch dependencies are still the same. To apply: https://patchwork.kernel.org/patch/6980951/ ("arm64: dts: mt8173: Add subsystem clock controller device nodes"), https://patchwork.kernel.org/patch/6825601/ ("arm64: dts: mt8173: add MT8173 display PWM driver support node"), https://patchwork.kernel.org/patch/7138531/ ("arm64: dts: mediatek: add xHCI & usb phy for mt8173"), https://patchwork.kernel.org/patch/6928651/ ("dts: mt8173: Add iommu/smi nodes for mt8173"), and https://patchwork.kernel.org/patch/6983351/ ("clk: mediatek: Add USB clock support in MT8173 APMIXEDSYS"). And to build, https://patchwork.kernel.org/patch/6914941/ ("iommu: Implement common IOMMU ops for DMA mapping"), https://patchwork.kernel.org/patch/6928621/ ("memory: mediatek: Add SMI driver"), https://patchwork.kernel.org/patch/6928561/ ("dt-bindings: iommu: Add binding for mediatek IOMMU"), https://patchwork.kernel.org/patch/6980911/ ("clk: mediatek: Removed unused dpi_ck clock from MT8173"), https://patchwork.kernel.org/patch/6980981/ ("clk: mediatek: Add __initdata and __init for data and functions"), https://patchwork.kernel.org/patch/6981021/ ("clk: mediatek: Add fixed clocks support for Mediatek SoC."), https://patchwork.kernel.org/patch/6980961/ ("clk: mediatek: Fix rate and dependency of MT8173 clocks"), https://patchwork.kernel.org/patch/6981031/ ("dt-bindings: ARM: Mediatek: Document devicetree bindings for clock controllers"), and https://patchwork.kernel.org/patch/6981041/ ("clk: mediatek: Add subsystem clocks of MT8173"). regards Philipp CK Hu (5): dt-bindings: drm/mediatek: Add Mediatek display subsystem dts binding drm/mediatek: Add DRM Driver for Mediatek SoC MT8173. drm/mediatek: Add DSI sub driver arm64: dts: mt8173: Add display subsystem related nodes arm64: dts: mt8173: Add HDMI related nodes Jie Qiu (3): drm/mediatek: Add DPI sub driver drm/mediatek: Add HDMI support drm/mediatek: enable hdmi output control bit Philipp Zabel (4): dt-bindings: drm/mediatek: Add Mediatek HDMI dts binding clk: mediatek: make dpi0_sel and hdmi_sel not propagate rate changes clk: mediatek: Add hdmi_ref HDMI PHY PLL reference clock output dt-bindings: hdmi-connector: add DDC I2C bus phandle documentation .../bindings/display/mediatek/mediatek,disp.txt | 183 +++++ .../bindings/display/mediatek/mediatek,dpi.txt | 35 + .../bindings/display/mediatek/mediatek,dsi.txt | 53 ++ .../bindings/display/mediatek/mediatek,hdmi.txt | 142 ++++ .../devicetree/bindings/video/hdmi-connector.txt | 1 + arch/arm64/boot/dts/mediatek/mt8173.dtsi | 282 ++++++++ drivers/clk/mediatek/clk-mt8173.c | 9 +- drivers/clk/mediatek/clk-mtk.h | 7 +- drivers/gpu/drm/Kconfig | 2 + drivers/gpu/drm/Makefile | 1 + drivers/gpu/drm/mediatek/Kconfig | 22 + drivers/gpu/drm/mediatek/Makefile | 21 + drivers/gpu/drm/mediatek/mtk_cec.c | 251 +++++++ drivers/gpu/drm/mediatek/mtk_cec.h | 25 + drivers/gpu/drm/mediatek/mtk_dpi.c | 683 ++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi.h | 80 +++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 228 ++++++ drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 590 +++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 56 ++ drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 218 ++++++ drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 39 + drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 424 +++++++++++ drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 86 +++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 601 ++++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_drv.h | 64 ++ drivers/gpu/drm/mediatek/mtk_drm_fb.c | 151 ++++ drivers/gpu/drm/mediatek/mtk_drm_fb.h | 29 + drivers/gpu/drm/mediatek/mtk_drm_gem.c | 189 +++++ drivers/gpu/drm/mediatek/mtk_drm_gem.h | 56 ++ drivers/gpu/drm/mediatek/mtk_drm_hdmi_drv.c | 642 +++++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_plane.c | 167 +++++ drivers/gpu/drm/mediatek/mtk_drm_plane.h | 41 ++ drivers/gpu/drm/mediatek/mtk_dsi.c | 787 +++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dsi.h | 54 ++ drivers/gpu/drm/mediatek/mtk_hdmi.c | 515 ++++++++++++++ drivers/gpu/drm/mediatek/mtk_hdmi.h | 118 +++ drivers/gpu/drm/mediatek/mtk_hdmi_ddc_drv.c | 362 ++++++++++ drivers/gpu/drm/mediatek/mtk_hdmi_hw.c | 773 ++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_hdmi_hw.h | 76 ++ drivers/gpu/drm/mediatek/mtk_hdmi_phy.c | 340 +++++++++ drivers/gpu/drm/mediatek/mtk_hdmi_phy.h | 20 + drivers/gpu/drm/mediatek/mtk_hdmi_phy_regs.h | 118 +++ drivers/gpu/drm/mediatek/mtk_hdmi_regs.h | 222 ++++++ drivers/gpu/drm/mediatek/mtk_mipi_tx.c | 375 ++++++++++ drivers/gpu/drm/mediatek/mtk_mipi_tx.h | 21 + include/drm/mediatek/mtk_hdmi_audio.h | 150 ++++ include/dt-bindings/clock/mt8173-clk.h | 3 +- 47 files changed, 9307 insertions(+), 5 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,disp.txt create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.txt create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,hdmi.txt create mode 100644 drivers/gpu/drm/mediatek/Kconfig create mode 100644 drivers/gpu/drm/mediatek/Makefile create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.c create mode 100644 drivers/gpu/drm/mediatek/mtk_cec.h create mode 100644 drivers/gpu/drm/mediatek/mtk_dpi.c create mode 100644 drivers/gpu/drm/mediatek/mtk_dpi.h create mode 100644 drivers/gpu/drm/mediatek/mtk_dpi_regs.h create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_crtc.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_crtc.h create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp.h create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_drv.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_drv.h create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fb.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_fb.h create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_gem.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_gem.h create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_hdmi_drv.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_plane.c create mode 100644 drivers/gpu/drm/mediatek/mtk_drm_plane.h create mode 100644 drivers/gpu/drm/mediatek/mtk_dsi.c create mode 100644 drivers/gpu/drm/mediatek/mtk_dsi.h create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.c create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi.h create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_ddc_drv.c create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_hw.c create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_hw.h create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_phy.c create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_phy.h create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_phy_regs.h create mode 100644 drivers/gpu/drm/mediatek/mtk_hdmi_regs.h create mode 100644 drivers/gpu/drm/mediatek/mtk_mipi_tx.c create mode 100644 drivers/gpu/drm/mediatek/mtk_mipi_tx.h create mode 100644 include/drm/mediatek/mtk_hdmi_audio.h -- 2.6.1