Hi, another update to the MT8173 DRM support patchset. Since the device tree bindings are now in order, I have dropped the RFC. The irq handler is still writing to hardware registers, as on MT8173 vblank synchronised register updates need help from a separate hardware command queue unit. A driver for that is currently being written, so this will be fixed later. Changes since v5: - Updated DISP_MUTEX description in binding documentation - Register and unregister drivers in a loop - Combined mtk_drm_crtc and mtk_crtc_ddp_context, added mtk_disp_ovl structure to contain ovl ddp component - Reworked component callbacks (removed comp_ prefix from mtk_ddp_comp_funcs, move id into mtk_ddp_comp added inline functions to wrap callbacks) - Use non-sync pm_runtime_put variant - Use RGB888 as fallback format - Removed unused pipe parameter from mtk_ddp_add_comp_to_path - Renamed mtk_drm_private->pipe to ->num_pipes - Updated mtk specific crtc and plane atomic state handling - Moved mtk_drm_crtc_plane_config to plane local mtk_plane_config - Let layer_config take a struct mtk_plane_state - Use writel_relaxed in mtk_ddp_add_comp_to_path - Removed some unused parameters, functions, and local variables - Removed custom crtc enable flag - Removed unnecessary comp->funcs NULL checks - Moved LARB handling out of drm driver code into crtc code, request LARB during component initialization - Updated display data path / mutex code - Moved initialization of driverless ddp components into the drm driver - Commented crtc_disable - Removed support for multiplanar framebuffers - Configure width/height of the color engine even if it is bypassed - Added static keyword to unexported structures and functions - Unlink display data path in hw_fini - Added static keyword to unexported structures and functions The following patches are still needed to apply this on top of v4.4-rc1: 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 And to build: https://patchwork.kernel.org/patch/6928621/ ("memory: mediatek: Add SMI driver"), 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/connector/hdmi-connector.txt | 1 + .../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 ++++ 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 | 245 +++++++ 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 | 596 ++++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 41 ++ drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 362 ++++++++++ drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 41 ++ drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 431 +++++++++++ drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 152 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 561 +++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_drv.h | 58 ++ drivers/gpu/drm/mediatek/mtk_drm_fb.c | 139 ++++ drivers/gpu/drm/mediatek/mtk_drm_fb.h | 29 + drivers/gpu/drm/mediatek/mtk_drm_gem.c | 187 +++++ drivers/gpu/drm/mediatek/mtk_drm_gem.h | 54 ++ drivers/gpu/drm/mediatek/mtk_drm_hdmi_drv.c | 633 +++++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_plane.c | 235 ++++++ drivers/gpu/drm/mediatek/mtk_drm_plane.h | 61 ++ 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 | 768 ++++++++++++++++++++ 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 | 377 ++++++++++ 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, 9525 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.2 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html