Lines Matching refs:mgr

123 static struct mgr_priv_data *get_mgr_priv(struct omap_overlay_manager *mgr)  in get_mgr_priv()  argument
125 return &dss_data.mgr_priv_data_array[mgr->id]; in get_mgr_priv()
188 static bool mgr_manual_update(struct omap_overlay_manager *mgr) in mgr_manual_update() argument
190 struct mgr_priv_data *mp = get_mgr_priv(mgr); in mgr_manual_update()
195 static int dss_check_settings_low(struct omap_overlay_manager *mgr, in dss_check_settings_low() argument
205 mp = get_mgr_priv(mgr); in dss_check_settings_low()
216 list_for_each_entry(ovl, &mgr->overlays, list) { in dss_check_settings_low()
229 return dss_mgr_check(mgr, mi, &mp->timings, &mp->lcd_config, ois); in dss_check_settings_low()
235 static int dss_check_settings(struct omap_overlay_manager *mgr) in dss_check_settings() argument
237 return dss_check_settings_low(mgr, false); in dss_check_settings()
244 static int dss_check_settings_apply(struct omap_overlay_manager *mgr) in dss_check_settings_apply() argument
246 return dss_check_settings_low(mgr, true); in dss_check_settings_apply()
255 struct omap_overlay_manager *mgr; in need_isr() local
259 mgr = omap_dss_get_overlay_manager(i); in need_isr()
260 mp = get_mgr_priv(mgr); in need_isr()
265 if (mgr_manual_update(mgr)) { in need_isr()
296 list_for_each_entry(ovl, &mgr->overlays, list) { in need_isr()
332 static bool need_go(struct omap_overlay_manager *mgr) in need_go() argument
338 mp = get_mgr_priv(mgr); in need_go()
343 list_for_each_entry(ovl, &mgr->overlays, list) { in need_go()
359 struct omap_overlay_manager *mgr; in extra_info_update_ongoing() local
363 mgr = omap_dss_get_overlay_manager(i); in extra_info_update_ongoing()
364 mp = get_mgr_priv(mgr); in extra_info_update_ongoing()
375 list_for_each_entry(ovl, &mgr->overlays, list) { in extra_info_update_ongoing()
413 static struct omap_dss_device *dss_mgr_get_device(struct omap_overlay_manager *mgr) in dss_mgr_get_device() argument
417 dssdev = mgr->output; in dss_mgr_get_device()
435 static int dss_mgr_wait_for_vsync(struct omap_overlay_manager *mgr) in dss_mgr_wait_for_vsync() argument
441 if (mgr->output == NULL) in dss_mgr_wait_for_vsync()
448 switch (mgr->output->id) { in dss_mgr_wait_for_vsync()
456 irq = dispc_mgr_get_vsync_irq(mgr->id); in dss_mgr_wait_for_vsync()
467 static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr) in dss_mgr_wait_for_go() argument
470 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_wait_for_go()
478 if (mgr_manual_update(mgr)) { in dss_mgr_wait_for_go()
494 irq = dispc_mgr_get_vsync_irq(mgr->id); in dss_mgr_wait_for_go()
517 mgr->id); in dss_mgr_wait_for_go()
527 DSSERR("mgr(%d)->wait_for_go() timeout\n", mgr->id); in dss_mgr_wait_for_go()
675 static void dss_mgr_write_regs(struct omap_overlay_manager *mgr) in dss_mgr_write_regs() argument
677 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_write_regs()
680 DSSDBG("writing mgr %d regs\n", mgr->id); in dss_mgr_write_regs()
688 list_for_each_entry(ovl, &mgr->overlays, list) { in dss_mgr_write_regs()
694 dispc_mgr_setup(mgr->id, &mp->info); in dss_mgr_write_regs()
702 static void dss_mgr_write_regs_extra(struct omap_overlay_manager *mgr) in dss_mgr_write_regs_extra() argument
704 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_write_regs_extra()
706 DSSDBG("writing mgr %d regs extra\n", mgr->id); in dss_mgr_write_regs_extra()
711 dispc_mgr_set_timings(mgr->id, &mp->timings); in dss_mgr_write_regs_extra()
714 if (dss_mgr_is_lcd(mgr->id)) in dss_mgr_write_regs_extra()
715 dispc_mgr_set_lcd_config(mgr->id, &mp->lcd_config); in dss_mgr_write_regs_extra()
728 struct omap_overlay_manager *mgr; in dss_write_regs() local
732 mgr = omap_dss_get_overlay_manager(i); in dss_write_regs()
733 mp = get_mgr_priv(mgr); in dss_write_regs()
735 if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) in dss_write_regs()
738 r = dss_check_settings(mgr); in dss_write_regs()
741 "illegal configuration\n", mgr->name); in dss_write_regs()
745 dss_mgr_write_regs(mgr); in dss_write_regs()
746 dss_mgr_write_regs_extra(mgr); in dss_write_regs()
756 struct omap_overlay_manager *mgr; in dss_set_go_bits() local
759 mgr = omap_dss_get_overlay_manager(i); in dss_set_go_bits()
760 mp = get_mgr_priv(mgr); in dss_set_go_bits()
762 if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) in dss_set_go_bits()
765 if (!need_go(mgr)) in dss_set_go_bits()
773 dispc_mgr_go(mgr->id); in dss_set_go_bits()
778 static void mgr_clear_shadow_dirty(struct omap_overlay_manager *mgr) in mgr_clear_shadow_dirty() argument
784 mp = get_mgr_priv(mgr); in mgr_clear_shadow_dirty()
788 list_for_each_entry(ovl, &mgr->overlays, list) { in mgr_clear_shadow_dirty()
795 static int dss_mgr_connect_compat(struct omap_overlay_manager *mgr, in dss_mgr_connect_compat() argument
798 return mgr->set_output(mgr, dst); in dss_mgr_connect_compat()
801 static void dss_mgr_disconnect_compat(struct omap_overlay_manager *mgr, in dss_mgr_disconnect_compat() argument
804 mgr->unset_output(mgr); in dss_mgr_disconnect_compat()
807 static void dss_mgr_start_update_compat(struct omap_overlay_manager *mgr) in dss_mgr_start_update_compat() argument
809 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_start_update_compat()
817 r = dss_check_settings(mgr); in dss_mgr_start_update_compat()
824 dss_mgr_write_regs(mgr); in dss_mgr_start_update_compat()
825 dss_mgr_write_regs_extra(mgr); in dss_mgr_start_update_compat()
832 dispc_mgr_enable_sync(mgr->id); in dss_mgr_start_update_compat()
887 struct omap_overlay_manager *mgr; in dss_apply_irq_handler() local
890 mgr = omap_dss_get_overlay_manager(i); in dss_apply_irq_handler()
891 mp = get_mgr_priv(mgr); in dss_apply_irq_handler()
898 if (!mgr_manual_update(mgr)) { in dss_apply_irq_handler()
903 mgr_clear_shadow_dirty(mgr); in dss_apply_irq_handler()
916 struct omap_overlay_manager *mgr; in dss_apply_irq_handler() local
919 mgr = omap_dss_get_overlay_manager(i); in dss_apply_irq_handler()
920 mp = get_mgr_priv(mgr); in dss_apply_irq_handler()
922 if (!mgr_manual_update(mgr) || !mp->framedone_handler) in dss_apply_irq_handler()
949 static void omap_dss_mgr_apply_mgr(struct omap_overlay_manager *mgr) in omap_dss_mgr_apply_mgr() argument
953 mp = get_mgr_priv(mgr); in omap_dss_mgr_apply_mgr()
963 static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) in omap_dss_mgr_apply() argument
969 DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name); in omap_dss_mgr_apply()
973 r = dss_check_settings_apply(mgr); in omap_dss_mgr_apply()
981 list_for_each_entry(ovl, &mgr->overlays, list) in omap_dss_mgr_apply()
985 omap_dss_mgr_apply_mgr(mgr); in omap_dss_mgr_apply()
1036 static void dss_mgr_setup_fifos(struct omap_overlay_manager *mgr) in dss_mgr_setup_fifos() argument
1041 mp = get_mgr_priv(mgr); in dss_mgr_setup_fifos()
1046 list_for_each_entry(ovl, &mgr->overlays, list) in dss_mgr_setup_fifos()
1053 struct omap_overlay_manager *mgr; in dss_setup_fifos() local
1057 mgr = omap_dss_get_overlay_manager(i); in dss_setup_fifos()
1058 dss_mgr_setup_fifos(mgr); in dss_setup_fifos()
1062 static int dss_mgr_enable_compat(struct omap_overlay_manager *mgr) in dss_mgr_enable_compat() argument
1064 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_enable_compat()
1077 r = dss_check_settings(mgr); in dss_mgr_enable_compat()
1080 mgr->id); in dss_mgr_enable_compat()
1089 if (!mgr_manual_update(mgr)) in dss_mgr_enable_compat()
1097 if (!mgr_manual_update(mgr)) in dss_mgr_enable_compat()
1098 dispc_mgr_enable_sync(mgr->id); in dss_mgr_enable_compat()
1112 static void dss_mgr_disable_compat(struct omap_overlay_manager *mgr) in dss_mgr_disable_compat() argument
1114 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_disable_compat()
1124 if (!mgr_manual_update(mgr)) in dss_mgr_disable_compat()
1125 dispc_mgr_disable_sync(mgr->id); in dss_mgr_disable_compat()
1138 static int dss_mgr_set_info(struct omap_overlay_manager *mgr, in dss_mgr_set_info() argument
1141 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_info()
1145 r = dss_mgr_simple_check(mgr, info); in dss_mgr_set_info()
1159 static void dss_mgr_get_info(struct omap_overlay_manager *mgr, in dss_mgr_get_info() argument
1162 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_get_info()
1172 static int dss_mgr_set_output(struct omap_overlay_manager *mgr, in dss_mgr_set_output() argument
1179 if (mgr->output) { in dss_mgr_set_output()
1181 mgr->name); in dss_mgr_set_output()
1186 if ((mgr->supported_outputs & output->id) == 0) { in dss_mgr_set_output()
1188 mgr->name); in dss_mgr_set_output()
1193 output->manager = mgr; in dss_mgr_set_output()
1194 mgr->output = output; in dss_mgr_set_output()
1204 static int dss_mgr_unset_output(struct omap_overlay_manager *mgr) in dss_mgr_unset_output() argument
1207 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_unset_output()
1212 if (!mgr->output) { in dss_mgr_unset_output()
1228 mgr->output->manager = NULL; in dss_mgr_unset_output()
1229 mgr->output = NULL; in dss_mgr_unset_output()
1242 static void dss_apply_mgr_timings(struct omap_overlay_manager *mgr, in dss_apply_mgr_timings() argument
1245 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_apply_mgr_timings()
1251 static void dss_mgr_set_timings_compat(struct omap_overlay_manager *mgr, in dss_mgr_set_timings_compat() argument
1255 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_timings_compat()
1261 mgr->name); in dss_mgr_set_timings_compat()
1265 dss_apply_mgr_timings(mgr, timings); in dss_mgr_set_timings_compat()
1270 static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr, in dss_apply_mgr_lcd_config() argument
1273 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_apply_mgr_lcd_config()
1279 static void dss_mgr_set_lcd_config_compat(struct omap_overlay_manager *mgr, in dss_mgr_set_lcd_config_compat() argument
1283 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_lcd_config_compat()
1289 mgr->name); in dss_mgr_set_lcd_config_compat()
1293 dss_apply_mgr_lcd_config(mgr, config); in dss_mgr_set_lcd_config_compat()
1333 struct omap_overlay_manager *mgr) in dss_ovl_set_manager() argument
1339 if (!mgr) in dss_ovl_set_manager()
1364 dispc_ovl_set_channel_out(ovl->id, mgr->id); in dss_ovl_set_manager()
1366 ovl->manager = mgr; in dss_ovl_set_manager()
1367 list_add_tail(&ovl->list, &mgr->overlays); in dss_ovl_set_manager()
1544 static int dss_mgr_register_framedone_handler_compat(struct omap_overlay_manager *mgr, in dss_mgr_register_framedone_handler_compat() argument
1547 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_register_framedone_handler_compat()
1558 static void dss_mgr_unregister_framedone_handler_compat(struct omap_overlay_manager *mgr, in dss_mgr_unregister_framedone_handler_compat() argument
1561 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_unregister_framedone_handler_compat()
1601 struct omap_overlay_manager *mgr; in omapdss_compat_init() local
1603 mgr = omap_dss_get_overlay_manager(i); in omapdss_compat_init()
1605 mgr->set_output = &dss_mgr_set_output; in omapdss_compat_init()
1606 mgr->unset_output = &dss_mgr_unset_output; in omapdss_compat_init()
1607 mgr->apply = &omap_dss_mgr_apply; in omapdss_compat_init()
1608 mgr->set_manager_info = &dss_mgr_set_info; in omapdss_compat_init()
1609 mgr->get_manager_info = &dss_mgr_get_info; in omapdss_compat_init()
1610 mgr->wait_for_go = &dss_mgr_wait_for_go; in omapdss_compat_init()
1611 mgr->wait_for_vsync = &dss_mgr_wait_for_vsync; in omapdss_compat_init()
1612 mgr->get_device = &dss_mgr_get_device; in omapdss_compat_init()