Hi David, Daniel, On Mon, Oct 31, 2016 at 05:17:22PM +0800, Shawn Guo wrote: > From: Shawn Guo <shawn.guo@xxxxxxxxxx> > > The series adds the initial ZTE VOU display controller DRM/KMS driver. > There are still some features to be added, like overlay plane, scaling, > and more output devices support. But it's already useful with dual > CRTCs and HDMI display working. After a few rounds of reviewing (thanks to all reviewers), it seems that the series is ready for merging, I guess? If so, could you suggest how we proceed? I can prepare a pull request if you like. Thanks. Shawn > Changes for v4: > - Move the hardware setup done in zx_hdmi_hw_init() and clock enable > into .enable hook of drm_encoder_helper_funcs. > - Compare pipe to crtc->index instead of using our own index counter. > - Save the pipe check in zx_vou_enable[disable]_vblank by putting frame > interrupt bit into zx_crtc_bits. > - Use DRM_DEV_* for log messages instead of old dev_* functions > - Return directly in case of -ETIMEDOUT in zx_hdmi_i2c_read to simplify > the code for error condition. > - Shuffle things around to make the crtc and plane state check in > zx_gl_plane_atomic_check a bit clearer > - Move hardware register definitions into headers instead of disturbing > C file reading. > - Save the call to drm_connector_unregister(), so that > drm_connector_cleanup can directly be used as drm_connector_funcs > .destroy hook. > - Move vblank notification from .atomic_begin hook to .atomic_flush, > so that vblank event is sent to user space after planes are committed > rather than before. > > Changes for v3: > - Rebase to v4.9-rc1 > - Update bindings doc to use 'ranges' for address translation between > parent and child devices. > - Call drm_dev_register() last in bind function and drm_dev_unregister() > first in unbind, so that drm_connector_regiser() can be saved from > HDMI driver. > - Instead of using open-coded drm_do_get_edid(), add an I2C adapter for > HDMI DDC read and use drm_get_edid(). > - Improve the plane .atomic_check implementation by calling helper > function drm_plane_helper_check_state(). > - Rename zx_crtc.c to zx_vou.c to avoid the confusion that the file > implements crtc instance. > - Store vou pointer in zx_crtc, so that we do not need to embed the > pointer in zx_drm_private. > - Create zx_readl/zx_writel/zx_writel_mask for register access. > - Define a few macro helpers to ease the register bit setting, like > SYNC_WIDE, BACK_PORCH and FRONT_PORCH. > - Define main/aux channel specific register offset and bits in zx_crtc > to save the use of is_main check > - Sort include headers alphabetically > - Removing encoder pointer out of the structure and constify struct > vou_inf > - Add log message for error conditions > - Make the function calls in teardown path asymmetrical > - A few coding style improvements like defining macro for sub-module > address and changing code to save indentation level > - Add a MAINTAINERS entry for ZTE ZX DRM driver > > Changes for v2: > - Change device tree bindings to kill the virtual display-subsystem > node make VOU the parent node. > > Shawn Guo (3): > dt-bindings: add bindings doc for ZTE VOU display controller > drm: zte: add initial vou drm driver > MAINTAINERS: add an entry for ZTE ZX DRM driver > > .../devicetree/bindings/display/zte,vou.txt | 84 +++ > MAINTAINERS | 7 + > drivers/gpu/drm/Kconfig | 2 + > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/zte/Kconfig | 8 + > drivers/gpu/drm/zte/Makefile | 7 + > drivers/gpu/drm/zte/zx_drm_drv.c | 267 +++++++++ > drivers/gpu/drm/zte/zx_drm_drv.h | 36 ++ > drivers/gpu/drm/zte/zx_hdmi.c | 624 +++++++++++++++++++ > drivers/gpu/drm/zte/zx_hdmi_regs.h | 56 ++ > drivers/gpu/drm/zte/zx_plane.c | 299 ++++++++++ > drivers/gpu/drm/zte/zx_plane.h | 26 + > drivers/gpu/drm/zte/zx_plane_regs.h | 91 +++ > drivers/gpu/drm/zte/zx_vou.c | 661 +++++++++++++++++++++ > drivers/gpu/drm/zte/zx_vou.h | 46 ++ > drivers/gpu/drm/zte/zx_vou_regs.h | 157 +++++ > 16 files changed, 2372 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/zte,vou.txt > create mode 100644 drivers/gpu/drm/zte/Kconfig > create mode 100644 drivers/gpu/drm/zte/Makefile > create mode 100644 drivers/gpu/drm/zte/zx_drm_drv.c > create mode 100644 drivers/gpu/drm/zte/zx_drm_drv.h > create mode 100644 drivers/gpu/drm/zte/zx_hdmi.c > create mode 100644 drivers/gpu/drm/zte/zx_hdmi_regs.h > create mode 100644 drivers/gpu/drm/zte/zx_plane.c > create mode 100644 drivers/gpu/drm/zte/zx_plane.h > create mode 100644 drivers/gpu/drm/zte/zx_plane_regs.h > create mode 100644 drivers/gpu/drm/zte/zx_vou.c > create mode 100644 drivers/gpu/drm/zte/zx_vou.h > create mode 100644 drivers/gpu/drm/zte/zx_vou_regs.h > > -- > 1.9.1 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel