Hi, this MT8173 DRM update addresses some issues, mostly reported by Tomasz Figa, Daniel Kurtz, and YT Shen. It also adds is PRIME support and two new patches to export drm_atomic_helper's wait_for_fences and use it in mtk_atomic_complete.
Changes since v6: - Improved binding documentation - Split disp_ovl driver from mtk_drm_crtc code - Added crtc and plane state atomic reset functions - Toned down debug messages - Improved error handling for hardware initialization - Get/put smi_larb in crtc_enable/disable - Added memory barrier before marking crtc state as ready - Changed crtc_disable to wait for vblank - Renamed component power_on/off to start/stop - Made component ops optional - Moved crtc creation from disp_ovl driver bind callback into mtk_drm_kms_init - Added support for DRIVER_PRIME feature - Moved DISP_OVL, DSI, DPI and component initialization into the respective drivers - Added DPI/DSI poweron/off refcounting and mtk_ddp_component start/stop callbacks to keep pixel clock enabled until crtc_disable, as suggested by CK - Removed mtk_hdmi_audio_data / mtk-hdmi-codec platform device creation for now, hdmi audio will be reworked. 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 Daniel Kurtz (1): drm/atomic-helper: Export drm_atomic_helper_wait_for_fences Jie Qiu (3): drm/mediatek: Add DPI sub driver drm/mediatek: Add HDMI support drm/mediatek: enable hdmi output control bit Philipp Zabel (5): 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 drm/mediatek: Add fence control, wait on GPU fence .../bindings/display/connector/hdmi-connector.txt | 1 + .../bindings/display/mediatek/mediatek,disp.txt | 187 +++++ .../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/drm_atomic_helper.c | 7 +- drivers/gpu/drm/mediatek/Kconfig | 22 + drivers/gpu/drm/mediatek/Makefile | 22 + drivers/gpu/drm/mediatek/mtk_cec.c | 245 ++++++ drivers/gpu/drm/mediatek/mtk_cec.h | 25 + drivers/gpu/drm/mediatek/mtk_disp_ovl.c | 301 ++++++++ drivers/gpu/drm/mediatek/mtk_dpi.c | 744 ++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dpi.h | 84 +++ drivers/gpu/drm/mediatek/mtk_dpi_regs.h | 228 ++++++ drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 597 +++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_crtc.h | 32 + drivers/gpu/drm/mediatek/mtk_drm_ddp.c | 355 +++++++++ drivers/gpu/drm/mediatek/mtk_drm_ddp.h | 41 + drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c | 275 +++++++ drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h | 148 ++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 568 ++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_drv.h | 56 ++ drivers/gpu/drm/mediatek/mtk_drm_fb.c | 135 ++++ drivers/gpu/drm/mediatek/mtk_drm_fb.h | 28 + drivers/gpu/drm/mediatek/mtk_drm_gem.c | 227 ++++++ drivers/gpu/drm/mediatek/mtk_drm_gem.h | 55 ++ drivers/gpu/drm/mediatek/mtk_drm_hdmi_drv.c | 609 +++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_plane.c | 254 +++++++ drivers/gpu/drm/mediatek/mtk_drm_plane.h | 58 ++ drivers/gpu/drm/mediatek/mtk_dsi.c | 838 +++++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_dsi.h | 57 ++ drivers/gpu/drm/mediatek/mtk_hdmi.c | 484 ++++++++++++ drivers/gpu/drm/mediatek/mtk_hdmi.h | 113 +++ 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/drm_atomic_helper.h | 2 + include/drm/mediatek/mtk_hdmi_audio.h | 137 ++++ include/dt-bindings/clock/mt8173-clk.h | 3 +- 50 files changed, 9765 insertions(+), 8 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_disp_ovl.c 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