[PATCH v4 00/34] drm/exynos: Refactor parts of the exynos driver
Sean Paul
seanpaul at chromium.org
Thu Jan 30 13:18:59 PST 2014
This patchset refactors parts of the exynos driver to move it closer to a proper
drm driver (rather than just implementing a drm layer on top of the hardware
drivers). The hope is to get to a point where the dp/hdmi drivers can implement
drm_connector/drm_encoder directly, and fimd/mixer can directly implement
drm_crtc.
The notable changes in this set:
- drm_encoder funcs no longer route through the crtc
- DP driver has been moved from video into the drm driver
- fimd no longer implements encoder callbacks
- exynos_drm_hdmi is removed in favor of generic manager/display
handling
At a glance, differences between v1 and v2:
- Passing manager/display in callbacks instead of ctx
- Tacked on some dpms patches on the end to handle suspend/resume
through the dpms path
At a glance, differences between v2 and v3:
- Fixed vidi issues
- Moved exynos_drm_hdmi.c removal to the right place
- Added the exynos_drm_connector removal patches on the end
At a glance, differences between v3 and v4:
- Rebased on top of exynos-drm-next
- Addressed review comments, no major functional changes
Sean
Daniel Kurtz (1):
drm/exynos: hdmi: remove the i2c drivers and use devtree
Sean Paul (32):
drm/exynos: Rename hdmi_infoframe to avoid collision
drm/exynos: Merge overlay_ops into manager_ops
drm/exynos: Add an initialize function to manager and display
drm/exynos: Use manager_op initialize in fimd
drm/exynos: hdmi: Implement initialize op for hdmi
drm/exynos: Pass exynos_drm_manager in manager ops instead of dev
drm/exynos: Remove apply manager callback
drm/exynos: Remove dpms link between encoder/connector
drm/exynos: Rename display_op power_on to dpms
drm/exynos: Don't keep dpms state in encoder
drm/exynos: Use unsigned long for possible_crtcs
drm/exynos: Split manager/display/subdrv
ARM: dts: exynos: Add i2c phandles to hdmi node
drm/exynos: Remove exynos_drm_hdmi shim
drm/exynos: Use drm_mode_copy to copy modes
drm/exynos: Disable unused crtc planes from crtc
drm/exynos: Add mode_set manager operation
drm/exynos: Implement mode_fixup manager operation
drm/exynos: Use mode_set to configure fimd
drm/exynos: Remove unused/useless fimd_context members
drm/exynos: Move dp driver from video/ to drm/
drm/exynos: Move display implementation into dp
ARM: dts: Move display-timings node from fimd to dp
drm/exynos: Implement dpms display callback in DP
drm/exynos: Clean up FIMD power on/off routines
drm/exynos: Consolidate suspend/resume in drm_drv
drm/exynos: Add create_connector callback
drm/exynos: Implement drm_connector in hdmi directly
drm/exynos: Implement drm_connector directly in dp driver
drm/exynos: Implement drm_connector directly in vidi driver
drm/exynos: Move lvds bridge discovery into DP driver
drm/exynos: Remove the exynos_drm_connector shim
Stéphane Marchesin (1):
drm/exynos: Remove useless slab.h include
.../devicetree/bindings/video/exynos_dp.txt | 17 +
.../devicetree/bindings/video/exynos_hdmi.txt | 5 +
.../devicetree/bindings/video/samsung-fimd.txt | 2 +
MAINTAINERS | 7 -
arch/arm/boot/dts/cros5250-common.dtsi | 6 +-
arch/arm/boot/dts/exynos5250-arndale.dts | 7 +-
arch/arm/boot/dts/exynos5250-smdk5250.dts | 13 +-
arch/arm/boot/dts/exynos5250-snow.dts | 7 +-
arch/arm/boot/dts/exynos5420-smdk5420.dts | 7 +-
drivers/gpu/drm/exynos/Kconfig | 7 +
drivers/gpu/drm/exynos/Makefile | 7 +-
drivers/gpu/drm/exynos/exynos_ddc.c | 63 -
drivers/gpu/drm/exynos/exynos_dp_core.c | 1357 ++++++++++++++++++++
drivers/gpu/drm/exynos/exynos_dp_core.h | 329 +++++
drivers/gpu/drm/exynos/exynos_dp_reg.c | 1243 ++++++++++++++++++
drivers/gpu/drm/exynos/exynos_dp_reg.h | 366 ++++++
drivers/gpu/drm/exynos/exynos_drm_connector.c | 304 -----
drivers/gpu/drm/exynos/exynos_drm_connector.h | 24 -
drivers/gpu/drm/exynos/exynos_drm_core.c | 233 ++--
drivers/gpu/drm/exynos/exynos_drm_crtc.c | 139 +-
drivers/gpu/drm/exynos/exynos_drm_crtc.h | 20 +-
drivers/gpu/drm/exynos/exynos_drm_drv.c | 155 ++-
drivers/gpu/drm/exynos/exynos_drm_drv.h | 154 ++-
drivers/gpu/drm/exynos/exynos_drm_encoder.c | 357 +----
drivers/gpu/drm/exynos/exynos_drm_encoder.h | 18 +-
drivers/gpu/drm/exynos/exynos_drm_fb.c | 4 +-
drivers/gpu/drm/exynos/exynos_drm_fimd.c | 682 ++++------
drivers/gpu/drm/exynos/exynos_drm_hdmi.c | 439 -------
drivers/gpu/drm/exynos/exynos_drm_hdmi.h | 67 -
drivers/gpu/drm/exynos/exynos_drm_plane.c | 17 +-
drivers/gpu/drm/exynos/exynos_drm_plane.h | 2 +-
drivers/gpu/drm/exynos/exynos_drm_vidi.c | 413 +++---
drivers/gpu/drm/exynos/exynos_hdmi.c | 370 +++---
drivers/gpu/drm/exynos/exynos_hdmi.h | 23 -
drivers/gpu/drm/exynos/exynos_hdmiphy.c | 65 -
drivers/gpu/drm/exynos/exynos_mixer.c | 573 ++++-----
drivers/gpu/drm/exynos/exynos_mixer.h | 20 +
drivers/video/exynos/Kconfig | 7 -
drivers/video/exynos/Makefile | 1 -
drivers/video/exynos/exynos_dp_core.c | 1156 -----------------
drivers/video/exynos/exynos_dp_core.h | 320 -----
drivers/video/exynos/exynos_dp_reg.c | 1243 ------------------
drivers/video/exynos/exynos_dp_reg.h | 366 ------
43 files changed, 4864 insertions(+), 5751 deletions(-)
delete mode 100644 drivers/gpu/drm/exynos/exynos_ddc.c
create mode 100644 drivers/gpu/drm/exynos/exynos_dp_core.c
create mode 100644 drivers/gpu/drm/exynos/exynos_dp_core.h
create mode 100644 drivers/gpu/drm/exynos/exynos_dp_reg.c
create mode 100644 drivers/gpu/drm/exynos/exynos_dp_reg.h
delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_connector.c
delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_connector.h
delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_hdmi.c
delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_hdmi.h
delete mode 100644 drivers/gpu/drm/exynos/exynos_hdmi.h
delete mode 100644 drivers/gpu/drm/exynos/exynos_hdmiphy.c
create mode 100644 drivers/gpu/drm/exynos/exynos_mixer.h
delete mode 100644 drivers/video/exynos/exynos_dp_core.c
delete mode 100644 drivers/video/exynos/exynos_dp_core.h
delete mode 100644 drivers/video/exynos/exynos_dp_reg.c
delete mode 100644 drivers/video/exynos/exynos_dp_reg.h
--
1.8.5.1
More information about the dri-devel
mailing list