diff options
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.patch | 35 |
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 */ |