[PATCH 00/72] staging imx-drm new features and fixes

Fabio Estevam festevam at gmail.com
Fri Oct 31 17:09:25 PDT 2014


Hi Steve,

On Fri, Oct 31, 2014 at 8:53 PM, Steve Longerbeam <slongerbeam at gmail.com> wrote:
> Hi, this affects only Freescale imx IPU and imx-drm staging drivers,
> except for two patches that affect drm core (patch 53 and 63, see below).
>
> New features for imx-drm staging driver:
>
> - Support for multi-display (HDMI and LVDS).
> - Support for global alpha and color-key properties for overlay plane.
> - Support for gamma correction.
> - The imx-drm crtc devices moved to device tree.
> - Support for defining custom display interface pixel mappings in the
>   device tree.
> - Implements encoder DPMS for LVDS.
> - YUV planar pixel formats supported for DRM framebuffers.
> - DDC support added for LVDS.
> - Page flip handling moved to imx plane driver and implemented with
>   IPU double-buffering.
> - Support page-flip in the overlay plane (patch 53 affects drm core).
> - Add support for parsing pixel clock edge select (patch 63 affects drm core).
> - Add LVDS connection detect via drm_probe_ddc().
> - Implement crtc mode_set_base using plane page-flip.
>
>
> Fixed issues:
>
> - HDMI and LVDS now use different PLL clock roots (part of multi-display
>   support).
> - Use counter added to IPU DC enable/disable (part of multi-display
>   support).
> - Fixed some HDMI timing issues.
> - Wider range of supported DI pixel clocks generated (all EDID modes
>   reported from HDMI displays now work).
> - Fix separate primary plane objects.
> - HDMI must select DI pre clock as DI clock parent during encoder prepare
>   (LVDS may have switched DI clock to LDB parent, part of multi-display
>   support).
> - Assign correct DMFC burst size.
> - Resolve some DI synchronous display error cases.
>
>
>
> George G. Davis (1):
>   ARM: dts: imx6qdl-sabreauto: Add HDMI device
>
> Jiada Wang (1):
>   gpu: ipu-v3: fix HDMI timing issues
>
> Steve Longerbeam (70):
>   ARM: dts: imx6qdl-sabrelite: Add HDMI device
>   ARM: dts: imx6qdl: Create imx-drm crtc nodes
>   ARM: i.MX6: use pll2_pfd0_352m as clock root of ipu_di
>   ARM: i.MX6: select pll3_usb_otg for ldb_di for rev 1.0 chip
>   gpu: ipu-cpmem: Add ipu_cpmem_set_uv_offset()
>   gpu: ipu-v3: Add ipu_dp_set_chroma_key()
>   gpu: ipu-v3: Add ipu_dp_set_gamma_correction()
>   gpu: ipu-v3: Add support for dynamic DC interface pixel maps
>   gpu: ipu-v3: Add ipu_dc_uninit_sync()
>   gpu: ipu-v3: Pass struct ipu_dc to enable/disable
>   gpu: ipu-v3: Add ipu_dp_uninit_channel()
>   gpu: ipu-v3: Pass struct ipu_dp to enable/disable
>   gpu: ipu-v3: Implement use counter for ipu_dc_enable(),
>     ipu_dc_disable()
>   gpu: ipu-v3: Add DMFC/DP/DC/DI module enable/disable debug
>   gpu: ipu-v3: Add ipu_di_uninit_sync_panel()
>   gpu: ipu-v3: Split out DI clock enable/disable
>   gpu: ipu-v3: Protect more CM reg access with IPU lock
>   gpu: ipu-v3: Move DI waveform counter enable/disable to ipu-di
>   gpu: ipu-v3: Update DP sync SRM always in ipu_dp_enable_channel()
>   gpu: ipu-v3: Fix indent/ws in ipu-dmfc
>   gpu: ipu-v3: Allow burstsize of 20 in ipu_dmfc_setup_channel()
>   gpu: ipu-v3: Remove ipu_dmfc_init_channel()
>   gpu: ipu-v3: Consolidate mutex lock in ipu_dmfc_alloc_bandwidth()
>   gpu: ipu-v3: Enumerate the DC channel names
>   gpu: ipu-di: Move ipu pointer init
>   gpu: ipu-di: Add and improve debug/error messages
>   gpu: ipu-v3: Change signal names in struct ipu_di_signal_cfg
>   gpu: ipu-v3: Remove IPU client registration
>   gpu: ipu-di: Set rate of DI pre clock
>   gpu: ipu-v3: Add RGB666 interface pixel map
>   gpu: ipu-cpmem: Pass drm fourcc to ipu_cpmem_set_yuv_*
>   gpu: ipu-v3: Add ipu_drm_fourcc_is_planar()
>   gpu: ipu-v3: Add IDMA channel linking support
>   gpu: ipu-cpmem: Support YVU422
>   gpu: ipu-cpmem: Add ipu_cpmem_get_burstsize()
>   imx-drm: Crtcs moved to device tree
>   imx-drm: hdmi: optimize i2c write wait
>   imx-drm: parallel-display: Support RGB666 pixel fmt
>   imx-drm: imx-ldb: Add debug to connector/encoder entry points
>   imx-drm: imx-ldb: Implement imx_ldb_encoder_dpms()
>   imx-drm: parallel-display: Fix typo when setting mode type
>   imx-drm: ipuv3-plane: Fix planar formats
>   imx-drm: ipuv3-plane: Allow YUV space for background plane
>   imx-drm: ipuv3-plane: Add more supported pixel formats
>   imx-drm: ipuv3-plane: Implement global alpha and colorkey properties
>   imx-drm: hdmi: rework irq request/free
>   imx-drm: imx-ldb: Add DDC support
>   imx-drm: Fix separate primary plane objects
>   imx-drm: Move page flip handling to plane driver
>   imx-drm: Reset ipu unit pointers to NULL on errors
>   drm: implement page flipping support for planes
>   imx-drm: ipuv3-plane: Assign page_flip method to drm_plane_funcs
>   imx-drm: Implement DRM gamma set
>   imx-drm: Implement custom ioctl to set gamma
>   imx-drm: Add support for interface pixel maps
>   imx-drm: parallel-display: Add interface-pix-map DT property
>   imx-drm: hdmi: set DI clock source to DI pre clock
>   imx-drm: ipuv3-crtc: Set the crtc device name
>   imx-drm: hdmi: Save ipu/di mux for later iomux setup
>   imx-drm: ipuv3-plane: Assign correct dmfc burst size
>   drm_modes: videomode: add pos/neg pixel clock polarity flag
>   imx-drm: ipuv3-crtc: Use DRM mode flags to configure pixel clock
>     polarity
>   imx-drm: imx-ldb: Add all defined of video modes
>   imx-drm: parallel-display: Add all defined of video modes
>   imx-drm: ipuv3-crtc: Disable fb on crtc unbind
>   imx-drm: imx-ldb: Use DDC probe as connection detect
>   imx-drm: ipuv3-crtc: Implement mode_set_base
>   imx-drm: Cancel pending page flip events at preclose
>   imx-drm: ipuv3-crtc: Disable overlay plane during crtc disable
>   imx-drm: ipuv3-plane: Enable 8 burst locking

Cool stuff!

Would you have a git tree we can use for test these?

Thanks


More information about the dri-devel mailing list