projects/linux·commit d43fb9f3

Merge tag 'fbdev-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux

d43fb9f3 · Linus Torvalds <[email protected]> · 2016-01-18 11:58:31 -08:00

Pull fbdev updates from Tomi Valkeinen:
 "Summary:

   - pxafb: device-tree support
   - An unsafe kernel parameter 'lockless_register_fb' for debugging
     problems happening while inside the console lock
   - Small miscellaneous fixes & cleanups
   - omapdss: add writeback support functions
   - Separation of omapfb and omapdrm (see below)

  About the separation of omapfb and omapdrm, see

    http://permalink.gmane.org/gmane.comp.video.dri.devel/143151

  for longer story.  The short version:

  omapfb and omapdrm have shared low level drivers (omapdss and panel
  drivers), making further development of omapdrm difficult.  After
  these patches omapfb and omapdrm have their own versions of the
  drivers, which are more or less direct copies for now but will diverge
  soon.

  This also means that omapfb (everything under drivers/video/fbdev/omap2/)
  is now in maintenance mode, and all new development will be done for
  omapdrm (drivers/gpu/drm/omapdrm/)"

* tag 'fbdev-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (49 commits)
  video: fbdev: pxafb: fix out of memory error path
  drm/omap: make omapdrm select OMAP2_DSS
  drm/omap: move omapdss & displays under omapdrm
  omapfb: move vrfb into omapfb
  omapfb: take omapfb's private omapdss into use
  omapfb/displays: change CONFIG_DISPLAY_* to CONFIG_FB_OMAP2_*
  omapfb/dss: change CONFIG_OMAP* to CONFIG_FB_OMAP*
  omapdss: remove CONFIG_OMAP2_DSS_VENC from omapdss.h
  omapfb: copy omapdss & displays for omapfb
  omapfb: allow compilation only if DRM_OMAP is disabled
  fbdev: omap2: panel-dpi: simplify gpio setting
  fbdev: omap2: panel-dpi: in .disable first disable backlight then display
  OMAPDSS: DSS: fix a warning message
  video: omapdss: delete unneeded of_node_put
  OMAPDSS: DISPC: Remove boolean comparisons
  OMAPDSS: DSI: cleanup DSI_IRQ_ERROR_MASK define
  OMAPDSS: remove extra out == NULL checks
  OMAPDSS: change internal dispc functions to static
  OMAPDSS: make a two dss feat funcs internal to omapdss
  OMAPDSS: remove extra EXPORT_SYMBOLs
  ...
Commit
d43fb9f3c5dff281dd72bea5cd2e91386fdc33a8
Parents
5807fcaa · 6f6abd36

Merge commit. Changes below are compared with the first parent: 5807fcaa.

Changes

142 files changed · +36836 −1701

FileStatusAddDelContent
Documentation/devicetree/bindings/display/simple-framebuffer.txtmodified+9−4View file
drivers/gpu/drm/Makefilemodified+1−1View file
drivers/gpu/drm/omapdrm/Kconfigmodified+7−3View file
drivers/gpu/drm/omapdrm/Makefilemodified+3−0View file
drivers/video/fbdev/omap2/displays-new/Kconfig → drivers/gpu/drm/omapdrm/displays/Kconfigrenamed+1−2View file
drivers/video/fbdev/omap2/displays-new/Makefile → drivers/gpu/drm/omapdrm/displays/Makefilerenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/connector-analog-tv.c → drivers/gpu/drm/omapdrm/displays/connector-analog-tv.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/connector-dvi.c → drivers/gpu/drm/omapdrm/displays/connector-dvi.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/connector-hdmi.c → drivers/gpu/drm/omapdrm/displays/connector-hdmi.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/encoder-opa362.c → drivers/gpu/drm/omapdrm/displays/encoder-opa362.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/encoder-tfp410.c → drivers/gpu/drm/omapdrm/displays/encoder-tfp410.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c → drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/panel-dpi.c → drivers/gpu/drm/omapdrm/displays/panel-dpi.crenamed+3−5View file
drivers/video/fbdev/omap2/displays-new/panel-dsi-cm.c → drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c → drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/panel-nec-nl8048hl11.c → drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c → drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c → drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c → drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.crenamed+0−0View file
drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c → drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/Kconfig → drivers/gpu/drm/omapdrm/dss/Kconfigrenamed+0−0View file
drivers/video/fbdev/omap2/dss/Makefile → drivers/gpu/drm/omapdrm/dss/Makefilerenamed+0−0View file
drivers/video/fbdev/omap2/dss/apply.c → drivers/gpu/drm/omapdrm/dss/apply.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/core.c → drivers/gpu/drm/omapdrm/dss/core.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/dispc-compat.c → drivers/gpu/drm/omapdrm/dss/dispc-compat.crenamed+3−3View file
drivers/video/fbdev/omap2/dss/dispc-compat.h → drivers/gpu/drm/omapdrm/dss/dispc-compat.hrenamed+0−0View file
drivers/video/fbdev/omap2/dss/dispc.c → drivers/gpu/drm/omapdrm/dss/dispc.crenamed+131−32View file
drivers/video/fbdev/omap2/dss/dispc.h → drivers/gpu/drm/omapdrm/dss/dispc.hrenamed+2−0View file
drivers/video/fbdev/omap2/dss/dispc_coefs.c → drivers/gpu/drm/omapdrm/dss/dispc_coefs.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/display-sysfs.c → drivers/gpu/drm/omapdrm/dss/display-sysfs.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/display.c → drivers/gpu/drm/omapdrm/dss/display.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/dpi.c → drivers/gpu/drm/omapdrm/dss/dpi.crenamed+1−1View file
drivers/video/fbdev/omap2/dss/dsi.c → drivers/gpu/drm/omapdrm/dss/dsi.crenamed+2−2View file
drivers/video/fbdev/omap2/dss/dss-of.c → drivers/gpu/drm/omapdrm/dss/dss-of.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/dss.c → drivers/gpu/drm/omapdrm/dss/dss.crenamed+6−0View file
drivers/video/fbdev/omap2/dss/dss.h → drivers/gpu/drm/omapdrm/dss/dss.hrenamed+2−6View file
drivers/video/fbdev/omap2/dss/dss_features.c → drivers/gpu/drm/omapdrm/dss/dss_features.crenamed+0−11View file
drivers/video/fbdev/omap2/dss/dss_features.h → drivers/gpu/drm/omapdrm/dss/dss_features.hrenamed+4−1View file
drivers/video/fbdev/omap2/dss/hdmi.h → drivers/gpu/drm/omapdrm/dss/hdmi.hrenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi4.c → drivers/gpu/drm/omapdrm/dss/hdmi4.crenamed+1−1View file
drivers/video/fbdev/omap2/dss/hdmi4_core.c → drivers/gpu/drm/omapdrm/dss/hdmi4_core.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi4_core.h → drivers/gpu/drm/omapdrm/dss/hdmi4_core.hrenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi5.c → drivers/gpu/drm/omapdrm/dss/hdmi5.crenamed+1−1View file
drivers/video/fbdev/omap2/dss/hdmi5_core.c → drivers/gpu/drm/omapdrm/dss/hdmi5_core.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi5_core.h → drivers/gpu/drm/omapdrm/dss/hdmi5_core.hrenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi_common.c → drivers/gpu/drm/omapdrm/dss/hdmi_common.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi_phy.c → drivers/gpu/drm/omapdrm/dss/hdmi_phy.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi_pll.c → drivers/gpu/drm/omapdrm/dss/hdmi_pll.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/hdmi_wp.c → drivers/gpu/drm/omapdrm/dss/hdmi_wp.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/manager-sysfs.c → drivers/gpu/drm/omapdrm/dss/manager-sysfs.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/manager.c → drivers/gpu/drm/omapdrm/dss/manager.crenamed+1−1View file
drivers/video/fbdev/omap2/dss/omapdss-boot-init.c → drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.crenamed+1−3View file
drivers/video/fbdev/omap2/dss/output.c → drivers/gpu/drm/omapdrm/dss/output.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/overlay-sysfs.c → drivers/gpu/drm/omapdrm/dss/overlay-sysfs.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/overlay.c → drivers/gpu/drm/omapdrm/dss/overlay.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/pll.c → drivers/gpu/drm/omapdrm/dss/pll.crenamed+0−0View file
drivers/video/fbdev/omap2/dss/rfbi.c → drivers/gpu/drm/omapdrm/dss/rfbi.crenamed+1−1View file
drivers/video/fbdev/omap2/dss/sdi.c → drivers/gpu/drm/omapdrm/dss/sdi.crenamed+1−1View file
drivers/video/fbdev/omap2/dss/venc.c → drivers/gpu/drm/omapdrm/dss/venc.crenamed+1−1View file
drivers/video/fbdev/omap2/dss/video-pll.c → drivers/gpu/drm/omapdrm/dss/video-pll.crenamed+0−0View file
drivers/media/platform/omap/Kconfigmodified+1−1View file
drivers/video/fbdev/Kconfigmodified+7−10View file
drivers/video/fbdev/Makefilemodified+0−1View file
drivers/video/fbdev/auo_k190x.cmodified+4−7View file
drivers/video/fbdev/core/Makefilemodified+1−1View file
drivers/video/fbdev/core/fbmem.cmodified+11−3View file
drivers/video/fbdev/geode/display_gx1.cmodified+1−1View file
drivers/video/fbdev/geode/display_gx1.hmodified+1−1View file
drivers/video/fbdev/geode/geodefb.hmodified+2−2View file
drivers/video/fbdev/geode/video_cs5530.cmodified+1−1View file
drivers/video/fbdev/geode/video_cs5530.hmodified+1−1View file
drivers/video/fbdev/i740fb.cmodified+3−5View file
drivers/video/fbdev/omap2/Kconfigmodified+0−5View file
drivers/video/fbdev/omap2/Makefilemodified+1−5View file
drivers/video/fbdev/omap2/omapfb/Kconfigmodified+13−1View file
drivers/video/fbdev/omap2/omapfb/Makefilemodified+3−0View file
drivers/video/fbdev/omap2/omapfb/displays/Kconfigadded+86−0View file
drivers/video/fbdev/omap2/omapfb/displays/Makefileadded+14−0View file
drivers/video/fbdev/omap2/omapfb/displays/connector-analog-tv.cadded+320−0View file
drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.cadded+398−0View file
drivers/video/fbdev/omap2/omapfb/displays/connector-hdmi.cadded+348−0View file
drivers/video/fbdev/omap2/omapfb/displays/encoder-opa362.cadded+278−0View file
drivers/video/fbdev/omap2/omapfb/displays/encoder-tfp410.cadded+320−0View file
drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.cadded+328−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-dpi.cadded+328−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.cadded+1388−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-lgphilips-lb035q02.cadded+404−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-nec-nl8048hl11.cadded+437−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-sharp-ls037v7dw01.cadded+415−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.cadded+917−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.cadded+511−0View file
drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.cadded+686−0View file
drivers/video/fbdev/omap2/omapfb/dss/Kconfigadded+129−0View file
drivers/video/fbdev/omap2/omapfb/dss/Makefileadded+18−0View file
drivers/video/fbdev/omap2/omapfb/dss/apply.cadded+1702−0View file
drivers/video/fbdev/omap2/omapfb/dss/core.cadded+343−0View file
drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.cadded+667−0View file
drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.hadded+30−0View file
drivers/video/fbdev/omap2/omapfb/dss/dispc.cadded+4234−0View file
drivers/video/fbdev/omap2/omapfb/dss/dispc.hadded+918−0View file
drivers/video/fbdev/omap2/omapfb/dss/dispc_coefs.cadded+325−0View file
drivers/video/fbdev/omap2/omapfb/dss/display-sysfs.cadded+356−0View file
drivers/video/fbdev/omap2/omapfb/dss/display.cadded+338−0View file
drivers/video/fbdev/omap2/omapfb/dss/dpi.cadded+899−0View file
drivers/video/fbdev/omap2/omapfb/dss/dsi.cadded+5607−0View file
drivers/video/fbdev/omap2/omapfb/dss/dss-of.cadded+183−0View file
drivers/video/fbdev/omap2/omapfb/dss/dss.cadded+1329−0View file
drivers/video/fbdev/omap2/omapfb/dss/dss.hadded+468−0View file
drivers/video/fbdev/omap2/omapfb/dss/dss_features.cadded+951−0View file
drivers/video/fbdev/omap2/omapfb/dss/dss_features.hadded+108−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi.hadded+370−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi4.cadded+839−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.cadded+904−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.hadded+273−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi5.cadded+876−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.cadded+916−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.hadded+304−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.cadded+148−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.cadded+247−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi_pll.cadded+255−0View file
drivers/video/fbdev/omap2/omapfb/dss/hdmi_wp.cadded+282−0View file
drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.cadded+531−0View file
drivers/video/fbdev/omap2/omapfb/dss/manager.cadded+263−0View file
drivers/video/fbdev/omap2/omapfb/dss/omapdss-boot-init.cadded+225−0View file
drivers/video/fbdev/omap2/omapfb/dss/output.cadded+267−0View file
drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.cadded+456−0View file
drivers/video/fbdev/omap2/omapfb/dss/overlay.cadded+202−0View file
drivers/video/fbdev/omap2/omapfb/dss/pll.cadded+389−0View file
drivers/video/fbdev/omap2/omapfb/dss/rfbi.cadded+1078−0View file
drivers/video/fbdev/omap2/omapfb/dss/sdi.cadded+454−0View file
drivers/video/fbdev/omap2/omapfb/dss/venc.cadded+997−0View file
drivers/video/fbdev/omap2/omapfb/dss/video-pll.cadded+211−0View file
drivers/video/fbdev/omap2/vrfb.c → drivers/video/fbdev/omap2/omapfb/vrfb.crenamed+0−0View file
drivers/video/fbdev/pxafb.cmodified+190−20View file
drivers/video/fbdev/pxafb.hmodified+2−0View file
drivers/video/fbdev/riva/fbdev.cmodified+1−0View file
drivers/video/fbdev/sh_mobile_hdmi.cdeleted+0−1489View before deletion
drivers/video/fbdev/simplefb.cmodified+119−1View file
drivers/video/fbdev/sm712fb.cmodified+3−13View file
include/linux/fb.hmodified+18−0View file
include/video/omapdss.hmodified+1−4View file
include/video/sh_mobile_hdmi.hdeleted+0−49View before deletion

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/devicetree/bindings/display/simple-framebuffer.txt

View file
diff --git a/Documentation/devicetree/bindings/display/simple-framebuffer.txt b/Documentation/devicetree/bindings/display/simple-framebuffer.txt
index 4474ef6..8c9e9f5 100644
--- a/Documentation/devicetree/bindings/display/simple-framebuffer.txt
+++ b/Documentation/devicetree/bindings/display/simple-framebuffer.txt
@@ -47,10 +47,14 @@ Required properties:
- a8b8g8r8 (32-bit pixels, d[31:24]=a, d[23:16]=b, d[15:8]=g, d[7:0]=r).
Optional properties:
-- clocks : List of clocks used by the framebuffer. Clocks listed here
- are expected to already be configured correctly. The OS must
- ensure these clocks are not modified or disabled while the
- simple framebuffer remains active.
+- clocks : List of clocks used by the framebuffer.
+- *-supply : Any number of regulators used by the framebuffer. These should
+ be named according to the names in the device's design.
+
+ The above resources are expected to already be configured correctly.
+ The OS must ensure they are not modified or disabled while the simple
+ framebuffer remains active.
+
- display : phandle pointing to the primary display hardware node
Example:
@@ -68,6 +72,7 @@ chosen {
stride = <(1600 * 2)>;
format = "r5g6b5";
clocks = <&ahb_gates 36>, <&ahb_gates 43>, <&ahb_gates 44>;
+ lcd-supply = <&reg_dc1sw>;
display = <&lcdc0>;
};
stdout-path = "display0";

drivers/gpu/drm/Makefile

View file
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index f858aa2..8727d84 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -62,7 +62,7 @@ obj-$(CONFIG_DRM_ARMADA) += armada/
obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc/
obj-$(CONFIG_DRM_RCAR_DU) += rcar-du/
obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/
-obj-$(CONFIG_DRM_OMAP) += omapdrm/
+obj-y += omapdrm/
obj-y += tilcdc/
obj-$(CONFIG_DRM_QXL) += qxl/
obj-$(CONFIG_DRM_BOCHS) += bochs/

drivers/gpu/drm/omapdrm/Kconfig

View file
diff --git a/drivers/gpu/drm/omapdrm/Kconfig b/drivers/gpu/drm/omapdrm/Kconfig
index 6c220cd..336ad4d 100644
--- a/drivers/gpu/drm/omapdrm/Kconfig
+++ b/drivers/gpu/drm/omapdrm/Kconfig
@@ -1,9 +1,8 @@
-
config DRM_OMAP
tristate "OMAP DRM"
depends on DRM
depends on ARCH_OMAP2PLUS || ARCH_MULTIPLATFORM
- depends on OMAP2_DSS
+ select OMAP2_DSS
select DRM_KMS_HELPER
select DRM_KMS_FB_HELPER
select FB_SYS_FILLRECT
@@ -14,13 +13,18 @@ config DRM_OMAP
help
DRM display driver for OMAP2/3/4 based boards.
+if DRM_OMAP
+
config DRM_OMAP_NUM_CRTCS
int "Number of CRTCs"
range 1 10
default 1 if ARCH_OMAP2 || ARCH_OMAP3
default 2 if ARCH_OMAP4
- depends on DRM_OMAP
help
Select the number of video overlays which can be used as framebuffers.
The remaining overlays are reserved for video.
+source "drivers/gpu/drm/omapdrm/dss/Kconfig"
+source "drivers/gpu/drm/omapdrm/displays/Kconfig"
+
+endif

drivers/gpu/drm/omapdrm/Makefile

View file
diff --git a/drivers/gpu/drm/omapdrm/Makefile b/drivers/gpu/drm/omapdrm/Makefile
index 368c1ec..fe4c222 100644
--- a/drivers/gpu/drm/omapdrm/Makefile
+++ b/drivers/gpu/drm/omapdrm/Makefile
@@ -3,6 +3,9 @@
# Direct Rendering Infrastructure (DRI)
#
+obj-y += dss/
+obj-y += displays/
+
ccflags-y := -Iinclude/drm -Werror
omapdrm-y := omap_drv.o \
omap_irq.o \

drivers/gpu/drm/omapdrm/displays/Kconfig

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/Kconfig b/drivers/gpu/drm/omapdrm/displays/Kconfig
similarity index 97%
rename from drivers/video/fbdev/omap2/displays-new/Kconfig
rename to drivers/gpu/drm/omapdrm/displays/Kconfig
index 5747101..2a618af 100644
--- a/drivers/video/fbdev/omap2/displays-new/Kconfig
+++ b/drivers/gpu/drm/omapdrm/displays/Kconfig
@@ -1,5 +1,4 @@
-menu "OMAP Display Device Drivers (new device model)"
- depends on OMAP2_DSS
+menu "OMAPDRM External Display Device Drivers"
config DISPLAY_ENCODER_OPA362
tristate "OPA362 external analog amplifier"

drivers/gpu/drm/omapdrm/displays/Makefile

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/Makefile b/drivers/gpu/drm/omapdrm/displays/Makefile
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/Makefile
rename to drivers/gpu/drm/omapdrm/displays/Makefile

drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/connector-analog-tv.c b/drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/connector-analog-tv.c
rename to drivers/gpu/drm/omapdrm/displays/connector-analog-tv.c

drivers/gpu/drm/omapdrm/displays/connector-dvi.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/connector-dvi.c b/drivers/gpu/drm/omapdrm/displays/connector-dvi.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/connector-dvi.c
rename to drivers/gpu/drm/omapdrm/displays/connector-dvi.c

drivers/gpu/drm/omapdrm/displays/connector-hdmi.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/connector-hdmi.c b/drivers/gpu/drm/omapdrm/displays/connector-hdmi.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/connector-hdmi.c
rename to drivers/gpu/drm/omapdrm/displays/connector-hdmi.c

drivers/gpu/drm/omapdrm/displays/encoder-opa362.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/encoder-opa362.c b/drivers/gpu/drm/omapdrm/displays/encoder-opa362.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/encoder-opa362.c
rename to drivers/gpu/drm/omapdrm/displays/encoder-opa362.c

drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/encoder-tfp410.c b/drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/encoder-tfp410.c
rename to drivers/gpu/drm/omapdrm/displays/encoder-tfp410.c

drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c b/drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/encoder-tpd12s015.c
rename to drivers/gpu/drm/omapdrm/displays/encoder-tpd12s015.c

drivers/gpu/drm/omapdrm/displays/panel-dpi.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
similarity index 97%
rename from drivers/video/fbdev/omap2/displays-new/panel-dpi.c
rename to drivers/gpu/drm/omapdrm/displays/panel-dpi.c
index f7be348..e780fd4 100644
--- a/drivers/video/fbdev/omap2/displays-new/panel-dpi.c
+++ b/drivers/gpu/drm/omapdrm/displays/panel-dpi.c
@@ -83,8 +83,7 @@ static int panel_dpi_enable(struct omap_dss_device *dssdev)
if (r)
return r;
- if (ddata->enable_gpio)
- gpiod_set_value_cansleep(ddata->enable_gpio, 1);
+ gpiod_set_value_cansleep(ddata->enable_gpio, 1);
if (gpio_is_valid(ddata->backlight_gpio))
gpio_set_value_cansleep(ddata->backlight_gpio, 1);
@@ -102,12 +101,11 @@ static void panel_dpi_disable(struct omap_dss_device *dssdev)
if (!omapdss_device_is_enabled(dssdev))
return;
- if (ddata->enable_gpio)
- gpiod_set_value_cansleep(ddata->enable_gpio, 0);
-
if (gpio_is_valid(ddata->backlight_gpio))
gpio_set_value_cansleep(ddata->backlight_gpio, 0);
+ gpiod_set_value_cansleep(ddata->enable_gpio, 0);
+
in->ops.dpi->disable(in);
dssdev->state = OMAP_DSS_DISPLAY_DISABLED;

drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-dsi-cm.c b/drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/panel-dsi-cm.c
rename to drivers/gpu/drm/omapdrm/displays/panel-dsi-cm.c

drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c b/drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/panel-lgphilips-lb035q02.c
rename to drivers/gpu/drm/omapdrm/displays/panel-lgphilips-lb035q02.c

drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-nec-nl8048hl11.c b/drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/panel-nec-nl8048hl11.c
rename to drivers/gpu/drm/omapdrm/displays/panel-nec-nl8048hl11.c

drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c b/drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/panel-sharp-ls037v7dw01.c
rename to drivers/gpu/drm/omapdrm/displays/panel-sharp-ls037v7dw01.c

drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c b/drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/panel-sony-acx565akm.c
rename to drivers/gpu/drm/omapdrm/displays/panel-sony-acx565akm.c

drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/panel-tpo-td028ttec1.c
rename to drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c

drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c

View file
diff --git a/drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c
similarity index 100%
rename from drivers/video/fbdev/omap2/displays-new/panel-tpo-td043mtea1.c
rename to drivers/gpu/drm/omapdrm/displays/panel-tpo-td043mtea1.c

drivers/gpu/drm/omapdrm/dss/Kconfig

View file
diff --git a/drivers/video/fbdev/omap2/dss/Kconfig b/drivers/gpu/drm/omapdrm/dss/Kconfig
similarity index 100%
rename from drivers/video/fbdev/omap2/dss/Kconfig
rename to drivers/gpu/drm/omapdrm/dss/Kconfig

drivers/gpu/drm/omapdrm/dss/Makefile

View file
diff --git a/drivers/video/fbdev/omap2/dss/Makefile b/drivers/gpu/drm/omapdrm/dss/Makefile
similarity index 100%
rename from drivers/video/fbdev/omap2/dss/Makefile
rename to drivers/gpu/drm/omapdrm/dss/Makefile

drivers/gpu/drm/omapdrm/dss/apply.c

View file
diff --git a/drivers/video/fbdev/omap2/dss/apply.c b/drivers/gpu/drm/omapdrm/dss/apply.c
similarity index 100%
rename from drivers/video/fbdev/omap2/dss/apply.c
rename to drivers/gpu/drm/omapdrm/dss/apply.c

drivers/gpu/drm/omapdrm/dss/core.c

View file
diff --git a/drivers/video/fbdev/omap2/dss/core.c b/drivers/gpu/drm/omapdrm/dss/core.c
similarity index 100%
rename from drivers/video/fbdev/omap2/dss/core.c
rename to drivers/gpu/drm/omapdrm/dss/core.c

drivers/gpu/drm/omapdrm/dss/dispc-compat.c

View file
diff --git a/drivers/video/fbdev/omap2/dss/dispc-compat.c b/drivers/gpu/drm/omapdrm/dss/dispc-compat.c
similarity index 99%
rename from drivers/video/fbdev/omap2/dss/dispc-compat.c
rename to drivers/gpu/drm/omapdrm/dss/dispc-compat.c
index 633c461..0918b3b 100644
--- a/drivers/video/fbdev/omap2/dss/dispc-compat.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc-compat.c
@@ -476,7 +476,7 @@ static void dispc_mgr_disable_lcd_out(enum omap_channel channel)
int r;
u32 irq;
- if (dispc_mgr_is_enabled(channel) == false)
+ if (!dispc_mgr_is_enabled(channel))
return;
/*
@@ -524,7 +524,7 @@ static void dispc_mgr_enable_digit_out(void)
int r;
u32 irq_mask;
- if (dispc_mgr_is_enabled(OMAP_DSS_CHANNEL_DIGIT) == true)
+ if (dispc_mgr_is_enabled(OMAP_DSS_CHANNEL_DIGIT))
return;
/*
@@ -562,7 +562,7 @@ static void dispc_mgr_disable_digit_out(void)
u32 irq_mask;
int num_irqs;
- if (dispc_mgr_is_enabled(OMAP_DSS_CHANNEL_DIGIT) == false)
+ if (!dispc_mgr_is_enabled(OMAP_DSS_CHANNEL_DIGIT))
return;
/*

drivers/gpu/drm/omapdrm/dss/dispc-compat.h

View file
diff --git a/drivers/video/fbdev/omap2/dss/dispc-compat.h b/drivers/gpu/drm/omapdrm/dss/dispc-compat.h
similarity index 100%
rename from drivers/video/fbdev/omap2/dss/dispc-compat.h
rename to drivers/gpu/drm/omapdrm/dss/dispc-compat.h

drivers/gpu/drm/omapdrm/dss/dispc.c

View file
diff --git a/drivers/video/fbdev/omap2/dss/dispc.c b/drivers/gpu/drm/omapdrm/dss/dispc.c
similarity index 92%
rename from drivers/video/fbdev/omap2/dss/dispc.c
rename to drivers/gpu/drm/omapdrm/dss/dispc.c
index be716c9..6b50476 100644
--- a/drivers/video/fbdev/omap2/dss/dispc.c
+++ b/drivers/gpu/drm/omapdrm/dss/dispc.c
@@ -99,6 +99,11 @@ struct dispc_features {
/* PIXEL_INC is not added to the last pixel of a line */
bool last_pixel_inc_missing:1;
+
+ /* POL_FREQ has ALIGN bit */
+ bool supports_sync_align:1;
+
+ bool has_writeback:1;
};
#define DISPC_MAX_NR_FIFOS 5
@@ -246,6 +251,11 @@ struct color_conv_coef {
int full_range;
};
+static unsigned long dispc_fclk_rate(void);
+static unsigned long dispc_core_clk_rate(void);
+static unsigned long dispc_mgr_lclk_rate(enum omap_channel channel);
+static unsigned long dispc_mgr_pclk_rate(enum omap_channel channel);
+
static unsigned long dispc_plane_pclk_rate(enum omap_plane plane);
static unsigned long dispc_plane_lclk_rate(enum omap_plane plane);
@@ -571,7 +581,7 @@ EXPORT_SYMBOL(dispc_mgr_go_busy);
void dispc_mgr_go(enum omap_channel channel)
{
- WARN_ON(dispc_mgr_is_enabled(channel) == false);
+ WARN_ON(!dispc_mgr_is_enabled(channel));
WARN_ON(dispc_mgr_go_busy(channel));
DSSDBG("GO %s\n", mgr_desc[channel].name);
@@ -707,19 +717,20 @@ static void dispc_setup_color_conv_coef(void)
{
int i;
int num_ovl = dss_feat_get_num_ovls();
- int num_wb = dss_feat_get_num_wbs();
const struct color_conv_coef ctbl_bt601_5_ovl = {
+ /* YUV -> RGB */
298, 409, 0, 298, -208, -100, 298, 0, 517, 0,
};
const struct color_conv_coef ctbl_bt601_5_wb = {
- 66, 112, -38, 129, -94, -74, 25, -18, 112, 0,
+ /* RGB -> YUV */
+ 66, 129, 25, 112, -94, -18, -38, -74, 112, 0,
};
for (i = 1; i < num_ovl; i++)
dispc_ovl_write_color_conv_coef(i, &ctbl_bt601_5_ovl);
- for (; i < num_wb; i++)
- dispc_ovl_write_color_conv_coef(i, &ctbl_bt601_5_wb);
+ if (dispc.feat->has_writeback)
+ dispc_ovl_write_color_conv_coef(OMAP_DSS_WB, &ctbl_bt601_5_wb);
}
static void dispc_ovl_set_ba0(enum omap_plane plane, u32 paddr)
@@ -970,6 +981,10 @@ void dispc_ovl_set_channel_out(enum omap_plane plane, enum omap_channel channel)
return;
}
break;
+ case OMAP_DSS_CHANNEL_WB:
+ chan = 0;
+ chan2 = 3;
+ break;
default:
BUG();
return;
@@ -988,7 +1003,6 @@ static enum omap_channel dispc_ovl_get_channel_out(enum omap_plane plane)
{
int shift;
u32 val;
- enum omap_channel channel;
switch (plane) {
case OMAP_DSS_GFX:
@@ -1006,23 +1020,23 @@ static enum omap_channel dispc_ovl_get_channel_out(enum omap_plane plane)
val = dispc_read_reg(DISPC_OVL_ATTRIBUTES(plane));
- if (dss_has_feature(FEAT_MGR_LCD3)) {
- if (FLD_GET(val, 31, 30) == 0)
- channel = FLD_GET(val, shift, shift);
- else if (FLD_GET(val, 31, 30) == 1)
- channel = OMAP_DSS_CHANNEL_LCD2;
- else
- channel = OMAP_DSS_CHANNEL_LCD3;
- } else if (dss_has_feature(FEAT_MGR_LCD2)) {
- if (FLD_GET(val, 31, 30) == 0)
- channel = FLD_GET(val, shift, shift);
- else
- channel = OMAP_DSS_CHANNEL_LCD2;
- } else {
- channel = FLD_GET(val, shift, shift);
- }
+ if (FLD_GET(val, shift, shift) == 1)
+ return OMAP_DSS_CHANNEL_DIGIT;
+
+ if (!dss_has_feature(FEAT_MGR_LCD2))
+ return OMAP_DSS_CHANNEL_LCD;
- return channel;
+ switch (FLD_GET(val, 31, 30)) {
+ case 0:
+ default:
+ return OMAP_DSS_CHANNEL_LCD;
+ case 1:
+ return OMAP_DSS_CHANNEL_LCD2;
+ case 2:
+ return OMAP_DSS_CHANNEL_LCD3;
+ case 3:
+ return OMAP_DSS_CHANNEL_WB;
+ }
}
void dispc_wb_set_channel_in(enum dss_writeback_channel channel)
@@ -1050,6 +1064,8 @@ static void dispc_configure_burst_sizes(void)
/* Configure burst size always to maximum size */
for (i = 0; i < dss_feat_get_num_ovls(); ++i)
dispc_ovl_set_burst_size(i, burst_size);
+ if (dispc.feat->has_writeback)
+ dispc_ovl_set_burst_size(OMAP_DSS_WB, burst_size);
}
static u32 dispc_ovl_get_burst_size(enum omap_plane plane)
@@ -1196,6 +1212,17 @@ static void dispc_init_fifos(void)
dispc_ovl_set_fifo_threshold(i, low, high);
}
+
+ if (dispc.feat->has_writeback) {
+ u32 low, high;
+ const bool use_fifomerge = false;
+ const bool manual_update = false;
+
+ dispc_ovl_compute_fifo_thresholds(OMAP_DSS_WB, &low, &high,
+ use_fifomerge, manual_update);
+
+ dispc_ovl_set_fifo_threshold(OMAP_DSS_WB, low, high);
+ }
}
static u32 dispc_ovl_get_fifo_size(enum omap_plane plane)
@@ -1248,7 +1275,6 @@ void dispc_ovl_set_fifo_threshold(enum omap_plane plane, u32 low, u32 high)
plane != OMAP_DSS_WB)
dispc_write_reg(DISPC_OVL_PRELOAD(plane), min(high, 0xfffu));
}
-EXPORT_SYMBOL(dispc_ovl_set_fifo_threshold);
void dispc_enable_fifomerge(bool enable)
{
@@ -1307,7 +1333,6 @@ void dispc_ovl_compute_fifo_thresholds(enum omap_plane plane,
*fifo_high = total_fifo_size - buf_unit;
}
}
-EXPORT_SYMBOL(dispc_ovl_compute_fifo_thresholds);
static void dispc_ovl_set_mflag(enum omap_plane plane, bool enable)
{
@@ -1364,6 +1389,25 @@ static void dispc_init_mflag(void)
dispc_ovl_set_mflag_threshold(i, low, high);
}
+
+ if (dispc.feat->has_writeback) {
+ u32 size = dispc_ovl_get_fifo_size(OMAP_DSS_WB);
+ u32 unit = dss_feat_get_buffer_size_unit();
+ u32 low, high;
+
+ dispc_ovl_set_mflag(OMAP_DSS_WB, true);
+
+ /*
+ * Simulation team suggests below thesholds:
+ * HT = fifosize * 5 / 8;
+ * LT = fifosize * 4 / 8;
+ */
+
+ low = size * 4 / 8 / unit;
+ high = size * 5 / 8 / unit;
+
+ dispc_ovl_set_mflag_threshold(OMAP_DSS_WB, low, high);
+ }
}
static void dispc_ovl_set_fir(enum omap_plane plane,
@@ -2438,7 +2482,7 @@ static int dispc_ovl_calc_scaling(unsigned long pclk, unsigned long lclk,
if (width == out_width && height == out_height)
return 0;
- if (pclk == 0 || mgr_timings->pixelclock == 0) {
+ if (!mem_to_mem && (pclk == 0 || mgr_timings->pixelclock == 0)) {
DSSERR("cannot calculate scaling settings: pclk is zero\n");
return -EINVAL;
}
@@ -2816,8 +2860,25 @@ int dispc_wb_setup(const struct omap_dss_writeback_info *wi,
l = dispc_read_reg(DISPC_OVL_ATTRIBUTES(plane));
l = FLD_MOD(l, truncation, 10, 10); /* TRUNCATIONENABLE */
l = FLD_MOD(l, mem_to_mem, 19, 19); /* WRITEBACKMODE */
+ if (mem_to_mem)
+ l = FLD_MOD(l, 1, 26, 24); /* CAPTUREMODE */
+ else
+ l = FLD_MOD(l, 0, 26, 24); /* CAPTUREMODE */
dispc_write_reg(DISPC_OVL_ATTRIBUTES(plane), l);
+ if (mem_to_mem) {
+ /* WBDELAYCOUNT */
+ REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), 0, 7, 0);
+ } else {
+ int wbdelay;
+
+ wbdelay = min(mgr_timings->vfp + mgr_timings->vsw +
+ mgr_timings->vbp, 255);
+
+ /* WBDELAYCOUNT */
+ REG_FLD_MOD(DISPC_OVL_ATTRIBUTES2(plane), wbdelay, 7, 0);
+ }
+
return r;
}
@@ -2896,7 +2957,7 @@ static void dispc_mgr_set_lcd_type_tft(enum omap_channel channel)
mgr_fld_write(channel, DISPC_MGR_FLD_STNTFT, 1);
}
-void dispc_set_loadmode(enum omap_dss_load_mode mode)
+static void dispc_set_loadmode(enum omap_dss_load_mode mode)
{
REG_FLD_MOD(DISPC_CONFIG, mode, 2, 1);
}
@@ -3163,6 +3224,10 @@ static void _dispc_mgr_set_lcd_timings(enum omap_channel channel, int hsw,
FLD_VAL(hs, 13, 13) |
FLD_VAL(vs, 12, 12);
+ /* always set ALIGN bit when available */
+ if (dispc.feat->supports_sync_align)
+ l |= (1 << 18);
+
dispc_write_reg(DISPC_POL_FREQ(channel), l);
if (dispc.syscon_pol) {
@@ -3220,7 +3285,7 @@ void dispc_mgr_set_timings(enum omap_channel channel,
DSSDBG("hsync %luHz, vsync %luHz\n", ht, vt);
} else {
- if (t.interlace == true)
+ if (t.interlace)
t.y_res /= 2;
}
@@ -3237,7 +3302,7 @@ static void dispc_mgr_set_lcd_divisor(enum omap_channel channel, u16 lck_div,
dispc_write_reg(DISPC_DIVISORo(channel),
FLD_VAL(lck_div, 23, 16) | FLD_VAL(pck_div, 7, 0));
- if (dss_has_feature(FEAT_CORE_CLK_DIV) == false &&
+ if (!dss_has_feature(FEAT_CORE_CLK_DIV) &&
channel == OMAP_DSS_CHANNEL_LCD)
dispc.core_clk_rate = dispc_fclk_rate() / lck_div;
}
@@ -3251,7 +3316,7 @@ static void dispc_mgr_get_lcd_divisor(enum omap_channel channel, int *lck_div,
*pck_div = FLD_GET(l, 7, 0);
}
-unsigned long dispc_fclk_rate(void)
+static unsigned long dispc_fclk_rate(void)
{
struct dss_pll *pll;
unsigned long r = 0;
@@ -3282,7 +3347,7 @@ unsigned long dispc_fclk_rate(void)
return r;
}
-unsigned long dispc_mgr_lclk_rate(enum omap_channel channel)
+static unsigned long dispc_mgr_lclk_rate(enum omap_channel channel)
{
struct dss_pll *pll;
int lcd;
@@ -3323,7 +3388,7 @@ unsigned long dispc_mgr_lclk_rate(enum omap_channel channel)
}
}
-unsigned long dispc_mgr_pclk_rate(enum omap_channel channel)
+static unsigned long dispc_mgr_pclk_rate(enum omap_channel channel)
{
unsigned long r;
@@ -3348,7 +3413,7 @@ void dispc_set_tv_pclk(unsigned long pclk)
dispc.tv_pclk_rate = pclk;
}
-unsigned long dispc_core_clk_rate(void)
+static unsigned long dispc_core_clk_rate(void)
{
return dispc.core_clk_rate;
}
@@ -3448,6 +3513,7 @@ static void dispc_dump_regs(struct seq_file *s)
[OMAP_DSS_VIDEO1] = "VID1",
[OMAP_DSS_VIDEO2] = "VID2",
[OMAP_DSS_VIDEO3] = "VID3",
+ [OMAP_DSS_WB] = "WB",
};
const char **p_names;
@@ -3554,6 +3620,35 @@ static void dispc_dump_regs(struct seq_file *s)
DUMPREG(i, DISPC_OVL_ATTRIBUTES2);
}
+ if (dispc.feat->has_writeback) {
+ i = OMAP_DSS_WB;
+ DUMPREG(i, DISPC_OVL_BA0);
+ DUMPREG(i, DISPC_OVL_BA1);
+ DUMPREG(i, DISPC_OVL_SIZE);
+ DUMPREG(i, DISPC_OVL_ATTRIBUTES);
+ DUMPREG(i, DISPC_OVL_FIFO_THRESHOLD);
+ DUMPREG(i, DISPC_OVL_FIFO_SIZE_STATUS);
+ DUMPREG(i, DISPC_OVL_ROW_INC);
+ DUMPREG(i, DISPC_OVL_PIXEL_INC);
+
+ if (dss_has_feature(FEAT_MFLAG))
+ DUMPREG(i, DISPC_OVL_MFLAG_THRESHOLD);
+
+ DUMPREG(i, DISPC_OVL_FIR);
+ DUMPREG(i, DISPC_OVL_PICTURE_SIZE);
+ DUMPREG(i, DISPC_OVL_ACCU0);
+ DUMPREG(i, DISPC_OVL_ACCU1);
+ if (dss_has_feature(FEAT_HANDLE_UV_SEPARATE)) {
+ DUMPREG(i, DISPC_OVL_BA0_UV);
+ DUMPREG(i, DISPC_OVL_BA1_UV);
+ DUMPREG(i, DISPC_OVL_FIR2);
+ DUMPREG(i, DISPC_OVL_ACCU2_0);
+ DUMPREG(i, DISPC_OVL_ACCU2_1);
+ }
+ if (dss_has_feature(FEAT_ATTR2))
+ DUMPREG(i, DISPC_OVL_ATTRIBUTES2);
+ }
+
#undef DISPC_REG
#undef DUMPREG
@@ -3854,6 +3949,8 @@ static const struct dispc_features omap44xx_dispc_feats = {
.num_fifos = 5,
.gfx_fifo_workaround = true,
.set_max_preload = true,
+ .supports_sync_align = true,

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dispc.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dispc_coefs.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/display-sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/display.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dss-of.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dss.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dss.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dss_features.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/dss_features.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi4.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi4_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi4_core.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi5.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi5_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi5_core.h

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi_common.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi_phy.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi_pll.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/hdmi_wp.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/manager-sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/manager.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/omapdss-boot-init.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/output.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/overlay-sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/overlay.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/pll.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/rfbi.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/sdi.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/venc.c

View file

This diff is incomplete. Download the complete patch.

drivers/gpu/drm/omapdrm/dss/video-pll.c

View file

This diff is incomplete. Download the complete patch.

drivers/media/platform/omap/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/auo_k190x.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/core/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/core/fbmem.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/geode/display_gx1.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/geode/display_gx1.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/geode/geodefb.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/geode/video_cs5530.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/geode/video_cs5530.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/i740fb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/connector-analog-tv.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/connector-dvi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/connector-hdmi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/encoder-opa362.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/encoder-tfp410.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/encoder-tpd12s015.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-dpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-dsi-cm.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-lgphilips-lb035q02.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-nec-nl8048hl11.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-sharp-ls037v7dw01.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-sony-acx565akm.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td043mtea1.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/apply.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/core.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dispc-compat.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dispc.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dispc.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dispc_coefs.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/display-sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/display.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dpi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dss-of.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dss.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dss.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dss_features.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/dss_features.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi4.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi4_core.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi5.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi5_core.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi_common.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi_phy.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi_pll.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/hdmi_wp.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/manager-sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/manager.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/omapdss-boot-init.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/output.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/overlay-sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/overlay.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/pll.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/rfbi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/sdi.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/venc.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/dss/video-pll.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/omap2/omapfb/vrfb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/pxafb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/pxafb.h

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/riva/fbdev.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/sh_mobile_hdmi.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/simplefb.c

View file

This diff is incomplete. Download the complete patch.

drivers/video/fbdev/sm712fb.c

View file

This diff is incomplete. Download the complete patch.

include/linux/fb.h

View file

This diff is incomplete. Download the complete patch.

include/video/omapdss.h

View file

This diff is incomplete. Download the complete patch.

include/video/sh_mobile_hdmi.h

View before deletion

This diff is incomplete. Download the complete patch.