[PATCH 00/72] staging imx-drm new features and fixes
Steve Longerbeam
slongerbeam at gmail.com
Fri Oct 31 15:53:43 PDT 2014
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
.../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
More information about the dri-devel
mailing list