aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch')
-rw-r--r--recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch103
1 files changed, 0 insertions, 103 deletions
diff --git a/recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch b/recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
deleted file mode 100644
index e9a5dcc67a..0000000000
--- a/recipes/linux/linux-omap-pm/dss2/0017-DSS2-Disable-video-planes-on-sync-lost-error.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 85848d329ca3a2d6ee6841cdc11cc5951d187931 Mon Sep 17 00:00:00 2001
-From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
-Date: Fri, 3 Apr 2009 19:09:20 +0200
-Subject: [PATCH 17/69] DSS2: Disable video planes on sync lost error
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-When encountering the sync lost error disable the display and all video
-planes on the affected manager. Afterwards re-enable the display.
-
-Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
----
- drivers/video/omap2/dss/dispc.c | 50 +++++++++++++++++++++++++++++++++++++++
- 1 files changed, 50 insertions(+), 0 deletions(-)
-
-diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
-index 1bc23f7..41734f3 100644
---- a/drivers/video/omap2/dss/dispc.c
-+++ b/drivers/video/omap2/dss/dispc.c
-@@ -2518,29 +2518,79 @@ static void dispc_error_worker(struct work_struct *work)
- }
-
- if (errors & DISPC_IRQ_SYNC_LOST) {
-+ struct omap_overlay_manager *manager = NULL;
-+ bool enable = false;
-+
- DSSERR("SYNC_LOST, disabling LCD\n");
-+
- for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
- struct omap_overlay_manager *mgr;
- mgr = omap_dss_get_overlay_manager(i);
-
- if (mgr->id == OMAP_DSS_CHANNEL_LCD) {
-+ manager = mgr;
-+ enable = mgr->display->state ==
-+ OMAP_DSS_DISPLAY_ACTIVE;
- mgr->display->disable(mgr->display);
- break;
- }
- }
-+
-+ if (manager) {
-+ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
-+ struct omap_overlay *ovl;
-+ ovl = omap_dss_get_overlay(i);
-+
-+ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
-+ continue;
-+
-+ if (ovl->id != 0 && ovl->manager == manager)
-+ dispc_enable_plane(ovl->id, 0);
-+ }
-+
-+ dispc_go(manager->id);
-+ mdelay(50);
-+ if (enable)
-+ manager->display->enable(manager->display);
-+ }
- }
-
- if (errors & DISPC_IRQ_SYNC_LOST_DIGIT) {
-+ struct omap_overlay_manager *manager = NULL;
-+ bool enable = false;
-+
- DSSERR("SYNC_LOST_DIGIT, disabling TV\n");
-+
- for (i = 0; i < omap_dss_get_num_overlay_managers(); ++i) {
- struct omap_overlay_manager *mgr;
- mgr = omap_dss_get_overlay_manager(i);
-
- if (mgr->id == OMAP_DSS_CHANNEL_DIGIT) {
-+ manager = mgr;
-+ enable = mgr->display->state ==
-+ OMAP_DSS_DISPLAY_ACTIVE;
- mgr->display->disable(mgr->display);
- break;
- }
- }
-+
-+ if (manager) {
-+ for (i = 0; i < omap_dss_get_num_overlays(); ++i) {
-+ struct omap_overlay *ovl;
-+ ovl = omap_dss_get_overlay(i);
-+
-+ if (!(ovl->caps & OMAP_DSS_OVL_CAP_DISPC))
-+ continue;
-+
-+ if (ovl->id != 0 && ovl->manager == manager)
-+ dispc_enable_plane(ovl->id, 0);
-+ }
-+
-+ dispc_go(manager->id);
-+ mdelay(50);
-+ if (enable)
-+ manager->display->enable(manager->display);
-+ }
- }
-
- if (errors & DISPC_IRQ_OCP_ERR) {
---
-1.6.2.4
-