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

Rob Clark robdclark at gmail.com
Wed Jan 21 09:22:40 PST 2015


On Fri, Oct 31, 2014 at 6: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.
>

btw, I've seen some reports (on #fedora-arm) about various imx boards
(like wandboard) being finicky when it comes to probing edid.  It
looks like imx-drm just uses a SoC i2c for ddc channel, so maybe this
is more of an imx i2c issue.  Not sure if anyone is already aware of
this issue or debugging it.. but seems like I should let *someone*
know about it ;-)

BR,
-R


>
>
> 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
>
>  .../bindings/staging/imx-drm/fsl-imx-drm.txt       |   43 +-
>  arch/arm/boot/dts/imx6dl.dtsi                      |   10 +-
>  arch/arm/boot/dts/imx6q.dtsi                       |  128 +++--
>  arch/arm/boot/dts/imx6qdl-sabreauto.dtsi           |    5 +
>  arch/arm/boot/dts/imx6qdl-sabrelite.dtsi           |   19 +
>  arch/arm/boot/dts/imx6qdl.dtsi                     |  125 ++---
>  arch/arm/mach-imx/clk-imx6q.c                      |   11 +-
>  drivers/gpu/drm/drm_crtc.c                         |  241 +++++----
>  drivers/gpu/drm/drm_ioctl.c                        |    1 +
>  drivers/gpu/drm/drm_modes.c                        |    4 +
>  drivers/gpu/ipu-v3/ipu-common.c                    |  303 +++++++-----
>  drivers/gpu/ipu-v3/ipu-cpmem.c                     |   99 ++--
>  drivers/gpu/ipu-v3/ipu-dc.c                        |  305 ++++++++----
>  drivers/gpu/ipu-v3/ipu-di.c                        |  300 +++++++++---
>  drivers/gpu/ipu-v3/ipu-dmfc.c                      |   94 ++--
>  drivers/gpu/ipu-v3/ipu-dp.c                        |  214 ++++++--
>  drivers/gpu/ipu-v3/ipu-prv.h                       |    1 +
>  drivers/staging/imx-drm/imx-drm-core.c             |  190 +++++---
>  drivers/staging/imx-drm/imx-drm.h                  |   26 +-
>  drivers/staging/imx-drm/imx-hdmi.c                 |   77 ++-
>  drivers/staging/imx-drm/imx-ldb.c                  |  268 ++++++----
>  drivers/staging/imx-drm/imx-tve.c                  |    5 +-
>  drivers/staging/imx-drm/ipuv3-crtc.c               |  515 ++++++++++++++------
>  drivers/staging/imx-drm/ipuv3-plane.c              |  399 +++++++++++++--
>  drivers/staging/imx-drm/ipuv3-plane.h              |   35 +-
>  drivers/staging/imx-drm/parallel-display.c         |   78 ++-
>  include/drm/drm_crtc.h                             |   11 +
>  include/uapi/drm/drm.h                             |    1 +
>  include/uapi/drm/drm_mode.h                        |   12 +
>  include/uapi/drm/imx_drm.h                         |   30 ++
>  include/video/imx-ipu-v3.h                         |   86 +++-
>  31 files changed, 2557 insertions(+), 1079 deletions(-)
>  create mode 100644 include/uapi/drm/imx_drm.h
>
> --
> 1.7.9.5
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the dri-devel mailing list