On Wed, Nov 18, 2015 at 06:34:08PM +0100, Philipp Zabel wrote:
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.
Imo this is minor enough that it shouldn't block merging, and otherwise the driver looks rather neat. Once you have acks for the arm/clk parts I think you should just send a pull requests for this to Dave for 4.5. And yes, that means Acked-by: Daniel Vetter daniel.vetter@ffwll.ch (too lazy to do a full review again) for the drm side.
Cheers, Daniel
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