summaryrefslogtreecommitdiff
path: root/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-11-13 16:23:14 +0100
committerKoen Kooi <koen@openembedded.org>2008-11-13 16:23:14 +0100
commit524610263d07eb2e76988e5484a6e1024c3889b1 (patch)
treeba0f59173e15589af617486051b1b17b947c83b5 /packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
parent3afce2b55b72176984f9ab383d62a67f5bc5ac71 (diff)
linux-omap git: update DSS2 patches
Diffstat (limited to 'packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch')
-rw-r--r--packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch35
1 files changed, 20 insertions, 15 deletions
diff --git a/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch b/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
index 509f34697a..461890343a 100644
--- a/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
+++ b/packages/linux/linux-omap/0004-DSS-New-display-subsystem-driver-for-OMAP2-3.patch
@@ -1,6 +1,6 @@
-From 5a4331bf757fdec0ceb72bf40f7e46ce5c404e2d Mon Sep 17 00:00:00 2001
+From 04b4d27af34373bbb65df19c2c084f117fe54213 Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
-Date: Tue, 11 Nov 2008 13:52:25 +0200
+Date: Thu, 13 Nov 2008 15:38:15 +0200
Subject: [PATCH] DSS: New display subsystem driver for OMAP2/3
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
@@ -12,14 +12,14 @@ Signed-off-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
arch/arm/plat-omap/dss/dispc.c | 1720 ++++++++++++++++
arch/arm/plat-omap/dss/display.c | 775 ++++++++
arch/arm/plat-omap/dss/dpi.c | 323 +++
- arch/arm/plat-omap/dss/dsi.c | 3022 +++++++++++++++++++++++++++++
- arch/arm/plat-omap/dss/dss.c | 547 ++++++
+ arch/arm/plat-omap/dss/dsi.c | 3020 +++++++++++++++++++++++++++++
+ arch/arm/plat-omap/dss/dss.c | 554 ++++++
arch/arm/plat-omap/dss/dss.h | 254 +++
arch/arm/plat-omap/dss/rfbi.c | 1234 ++++++++++++
arch/arm/plat-omap/dss/sdi.c | 157 ++
arch/arm/plat-omap/dss/venc.c | 515 +++++
arch/arm/plat-omap/include/mach/display.h | 458 +++++
- 14 files changed, 9081 insertions(+), 0 deletions(-)
+ 14 files changed, 9086 insertions(+), 0 deletions(-)
create mode 100644 arch/arm/plat-omap/dss/Kconfig
create mode 100644 arch/arm/plat-omap/dss/Makefile
create mode 100644 arch/arm/plat-omap/dss/dispc.c
@@ -2978,10 +2978,10 @@ index 0000000..2261288
+
diff --git a/arch/arm/plat-omap/dss/dsi.c b/arch/arm/plat-omap/dss/dsi.c
new file mode 100644
-index 0000000..980be39
+index 0000000..9f31ac3
--- /dev/null
+++ b/arch/arm/plat-omap/dss/dsi.c
-@@ -0,0 +1,3022 @@
+@@ -0,0 +1,3020 @@
+/*
+ * linux/arch/arm/plat-omap/dss/dsi.c
+ *
@@ -3722,7 +3722,8 @@ index 0000000..980be39
+ continue;
+
+ if (min_fck_per_pck &&
-+ cur.dispc_fck < req_pck * min_fck_per_pck)
++ cur.dispc_fck <
++ req_pck * min_fck_per_pck)
+ continue;
+
+ match = 1;
@@ -3735,7 +3736,8 @@ index 0000000..980be39
+ cur.lck = cur.dispc_fck / cur.lck_div;
+ cur.pck = cur.lck / cur.pck_div;
+
-+ if (abs(cur.pck - req_pck) < abs(best.pck - req_pck)) {
++ if (abs(cur.pck - req_pck) <
++ abs(best.pck - req_pck)) {
+ best = cur;
+
+ if (cur.pck == req_pck)
@@ -5681,10 +5683,6 @@ index 0000000..980be39
+ if (display->ctrl && display->ctrl->disable)
+ display->ctrl->disable(display);
+
-+ /* XXX sleep a bit to make sure all DSI buffers are sent.
-+ * We should check it from somewhere, fifo fullness I guess */
-+ msleep(200);
-+
+ dsi_complexio_uninit();
+ dsi_pll_uninit();
+
@@ -6006,10 +6004,10 @@ index 0000000..980be39
+
diff --git a/arch/arm/plat-omap/dss/dss.c b/arch/arm/plat-omap/dss/dss.c
new file mode 100644
-index 0000000..da0364b
+index 0000000..8450ddd
--- /dev/null
+++ b/arch/arm/plat-omap/dss/dss.c
-@@ -0,0 +1,547 @@
+@@ -0,0 +1,554 @@
+/*
+ * linux/arch/arm/plat-omap/dss/dss.c
+ *
@@ -6344,6 +6342,13 @@ index 0000000..da0364b
+
+ enable_dss_clocks();
+
++ /* We need to wait here a bit, otherwise we sometimes start to get
++ * synclost errors. I believe we could wait for one framedone or
++ * perhaps vsync interrupt, but, because dispc is not initialized yet,
++ * we don't have access to the irq register.
++ */
++ msleep(40);
++
+ _omap_dss_reset();
+
+ /* autoidle */