aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video
diff options
context:
space:
mode:
authorTomi Valkeinen <tomi.valkeinen@ti.com>2011-11-16 06:58:07 -0500
committerTomi Valkeinen <tomi.valkeinen@ti.com>2011-12-02 01:54:46 -0500
commit388c4c6cbb335e69fe23c8d18bd4b0e8dd66901b (patch)
tree544f9d9431995b6cf7ffe89ff10d1a8604130524 /drivers/video
parent7609893c637b422eec88b57d204f02d8798cfc65 (diff)
OMAPDSS: APPLY: move mgr->info to apply.c
struct omap_overlay_manager contains info and info_dirty fields, both of which should be internal to apply.c. This patch moves those fields into mgr_priv data, and names them user_info and user_info_dirty. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r--drivers/video/omap2/dss/apply.c20
-rw-r--r--drivers/video/omap2/dss/manager.c35
2 files changed, 42 insertions, 13 deletions
diff --git a/drivers/video/omap2/dss/apply.c b/drivers/video/omap2/dss/apply.c
index 8b157b03d4b6..62319b8328da 100644
--- a/drivers/video/omap2/dss/apply.c
+++ b/drivers/video/omap2/dss/apply.c
@@ -78,6 +78,10 @@ struct ovl_priv_data {
78}; 78};
79 79
80struct mgr_priv_data { 80struct mgr_priv_data {
81
82 bool user_info_dirty;
83 struct omap_overlay_manager_info user_info;
84
81 /* If true, cache changed, but not written to shadow registers. Set 85 /* If true, cache changed, but not written to shadow registers. Set
82 * in apply(), cleared when registers written. */ 86 * in apply(), cleared when registers written. */
83 bool dirty; 87 bool dirty;
@@ -592,15 +596,15 @@ static void omap_dss_mgr_apply_mgr(struct omap_overlay_manager *mgr)
592 596
593 if (mgr->device_changed) { 597 if (mgr->device_changed) {
594 mgr->device_changed = false; 598 mgr->device_changed = false;
595 mgr->info_dirty = true; 599 mp->user_info_dirty = true;
596 } 600 }
597 601
598 if (!mgr->info_dirty) 602 if (!mp->user_info_dirty)
599 return; 603 return;
600 604
601 mgr->info_dirty = false; 605 mp->user_info_dirty = false;
602 mp->dirty = true; 606 mp->dirty = true;
603 mp->info = mgr->info; 607 mp->info = mp->user_info;
604} 608}
605 609
606static void omap_dss_mgr_apply_ovl_fifos(struct omap_overlay *ovl) 610static void omap_dss_mgr_apply_ovl_fifos(struct omap_overlay *ovl)
@@ -720,12 +724,13 @@ void dss_mgr_disable(struct omap_overlay_manager *mgr)
720int dss_mgr_set_info(struct omap_overlay_manager *mgr, 724int dss_mgr_set_info(struct omap_overlay_manager *mgr,
721 struct omap_overlay_manager_info *info) 725 struct omap_overlay_manager_info *info)
722{ 726{
727 struct mgr_priv_data *mp = get_mgr_priv(mgr);
723 unsigned long flags; 728 unsigned long flags;
724 729
725 spin_lock_irqsave(&data_lock, flags); 730 spin_lock_irqsave(&data_lock, flags);
726 731
727 mgr->info = *info; 732 mp->user_info = *info;
728 mgr->info_dirty = true; 733 mp->user_info_dirty = true;
729 734
730 spin_unlock_irqrestore(&data_lock, flags); 735 spin_unlock_irqrestore(&data_lock, flags);
731 736
@@ -735,11 +740,12 @@ int dss_mgr_set_info(struct omap_overlay_manager *mgr,
735void dss_mgr_get_info(struct omap_overlay_manager *mgr, 740void dss_mgr_get_info(struct omap_overlay_manager *mgr,
736 struct omap_overlay_manager_info *info) 741 struct omap_overlay_manager_info *info)
737{ 742{
743 struct mgr_priv_data *mp = get_mgr_priv(mgr);
738 unsigned long flags; 744 unsigned long flags;
739 745
740 spin_lock_irqsave(&data_lock, flags); 746 spin_lock_irqsave(&data_lock, flags);
741 747
742 *info = mgr->info; 748 *info = mp->user_info;
743 749
744 spin_unlock_irqrestore(&data_lock, flags); 750 spin_unlock_irqrestore(&data_lock, flags);
745} 751}
diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
index d7fd494908d8..8c967ef2ae98 100644
--- a/drivers/video/omap2/dss/manager.c
+++ b/drivers/video/omap2/dss/manager.c
@@ -104,7 +104,11 @@ put_device:
104static ssize_t manager_default_color_show(struct omap_overlay_manager *mgr, 104static ssize_t manager_default_color_show(struct omap_overlay_manager *mgr,
105 char *buf) 105 char *buf)
106{ 106{
107 return snprintf(buf, PAGE_SIZE, "%#x\n", mgr->info.default_color); 107 struct omap_overlay_manager_info info;
108
109 mgr->get_manager_info(mgr, &info);
110
111 return snprintf(buf, PAGE_SIZE, "%#x\n", info.default_color);
108} 112}
109 113
110static ssize_t manager_default_color_store(struct omap_overlay_manager *mgr, 114static ssize_t manager_default_color_store(struct omap_overlay_manager *mgr,
@@ -142,8 +146,11 @@ static ssize_t manager_trans_key_type_show(struct omap_overlay_manager *mgr,
142 char *buf) 146 char *buf)
143{ 147{
144 enum omap_dss_trans_key_type key_type; 148 enum omap_dss_trans_key_type key_type;
149 struct omap_overlay_manager_info info;
150
151 mgr->get_manager_info(mgr, &info);
145 152
146 key_type = mgr->info.trans_key_type; 153 key_type = info.trans_key_type;
147 BUG_ON(key_type >= ARRAY_SIZE(trans_key_type_str)); 154 BUG_ON(key_type >= ARRAY_SIZE(trans_key_type_str));
148 155
149 return snprintf(buf, PAGE_SIZE, "%s\n", trans_key_type_str[key_type]); 156 return snprintf(buf, PAGE_SIZE, "%s\n", trans_key_type_str[key_type]);
@@ -183,7 +190,11 @@ static ssize_t manager_trans_key_type_store(struct omap_overlay_manager *mgr,
183static ssize_t manager_trans_key_value_show(struct omap_overlay_manager *mgr, 190static ssize_t manager_trans_key_value_show(struct omap_overlay_manager *mgr,
184 char *buf) 191 char *buf)
185{ 192{
186 return snprintf(buf, PAGE_SIZE, "%#x\n", mgr->info.trans_key); 193 struct omap_overlay_manager_info info;
194
195 mgr->get_manager_info(mgr, &info);
196
197 return snprintf(buf, PAGE_SIZE, "%#x\n", info.trans_key);
187} 198}
188 199
189static ssize_t manager_trans_key_value_store(struct omap_overlay_manager *mgr, 200static ssize_t manager_trans_key_value_store(struct omap_overlay_manager *mgr,
@@ -215,7 +226,11 @@ static ssize_t manager_trans_key_value_store(struct omap_overlay_manager *mgr,
215static ssize_t manager_trans_key_enabled_show(struct omap_overlay_manager *mgr, 226static ssize_t manager_trans_key_enabled_show(struct omap_overlay_manager *mgr,
216 char *buf) 227 char *buf)
217{ 228{
218 return snprintf(buf, PAGE_SIZE, "%d\n", mgr->info.trans_enabled); 229 struct omap_overlay_manager_info info;
230
231 mgr->get_manager_info(mgr, &info);
232
233 return snprintf(buf, PAGE_SIZE, "%d\n", info.trans_enabled);
219} 234}
220 235
221static ssize_t manager_trans_key_enabled_store(struct omap_overlay_manager *mgr, 236static ssize_t manager_trans_key_enabled_store(struct omap_overlay_manager *mgr,
@@ -247,10 +262,14 @@ static ssize_t manager_trans_key_enabled_store(struct omap_overlay_manager *mgr,
247static ssize_t manager_alpha_blending_enabled_show( 262static ssize_t manager_alpha_blending_enabled_show(
248 struct omap_overlay_manager *mgr, char *buf) 263 struct omap_overlay_manager *mgr, char *buf)
249{ 264{
265 struct omap_overlay_manager_info info;
266
267 mgr->get_manager_info(mgr, &info);
268
250 WARN_ON(!dss_has_feature(FEAT_ALPHA_FIXED_ZORDER)); 269 WARN_ON(!dss_has_feature(FEAT_ALPHA_FIXED_ZORDER));
251 270
252 return snprintf(buf, PAGE_SIZE, "%d\n", 271 return snprintf(buf, PAGE_SIZE, "%d\n",
253 mgr->info.partial_alpha_enabled); 272 info.partial_alpha_enabled);
254} 273}
255 274
256static ssize_t manager_alpha_blending_enabled_store( 275static ssize_t manager_alpha_blending_enabled_store(
@@ -285,7 +304,11 @@ static ssize_t manager_alpha_blending_enabled_store(
285static ssize_t manager_cpr_enable_show(struct omap_overlay_manager *mgr, 304static ssize_t manager_cpr_enable_show(struct omap_overlay_manager *mgr,
286 char *buf) 305 char *buf)
287{ 306{
288 return snprintf(buf, PAGE_SIZE, "%d\n", mgr->info.cpr_enable); 307 struct omap_overlay_manager_info info;
308
309 mgr->get_manager_info(mgr, &info);
310
311 return snprintf(buf, PAGE_SIZE, "%d\n", info.cpr_enable);
289} 312}
290 313
291static ssize_t manager_cpr_enable_store(struct omap_overlay_manager *mgr, 314static ssize_t manager_cpr_enable_store(struct omap_overlay_manager *mgr,