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

Steve Longerbeam slongerbeam at gmail.com
Fri Oct 31 17:19:23 PDT 2014


On 10/31/2014 05:09 PM, Fabio Estevam wrote:
> 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?

Hi Fabio, Yes I forgot to mention that in the cover letter:

git at github.com:slongerbeam/drm-next.git

Branch is imx-drm-mentor.

Steve



More information about the dri-devel mailing list