Lines Matching refs:mgr

124 static struct mgr_priv_data *get_mgr_priv(struct omap_overlay_manager *mgr)  in get_mgr_priv()  argument
126 return &dss_data.mgr_priv_data_array[mgr->id]; in get_mgr_priv()
189 static bool mgr_manual_update(struct omap_overlay_manager *mgr) in mgr_manual_update() argument
191 struct mgr_priv_data *mp = get_mgr_priv(mgr); in mgr_manual_update()
196 static int dss_check_settings_low(struct omap_overlay_manager *mgr, in dss_check_settings_low() argument
206 mp = get_mgr_priv(mgr); in dss_check_settings_low()
217 list_for_each_entry(ovl, &mgr->overlays, list) { in dss_check_settings_low()
230 return dss_mgr_check(mgr, mi, &mp->timings, &mp->lcd_config, ois); in dss_check_settings_low()
236 static int dss_check_settings(struct omap_overlay_manager *mgr) in dss_check_settings() argument
238 return dss_check_settings_low(mgr, false); in dss_check_settings()
245 static int dss_check_settings_apply(struct omap_overlay_manager *mgr) in dss_check_settings_apply() argument
247 return dss_check_settings_low(mgr, true); in dss_check_settings_apply()
256 struct omap_overlay_manager *mgr; in need_isr() local
260 mgr = omap_dss_get_overlay_manager(i); in need_isr()
261 mp = get_mgr_priv(mgr); in need_isr()
266 if (mgr_manual_update(mgr)) { in need_isr()
297 list_for_each_entry(ovl, &mgr->overlays, list) { in need_isr()
333 static bool need_go(struct omap_overlay_manager *mgr) in need_go() argument
339 mp = get_mgr_priv(mgr); in need_go()
344 list_for_each_entry(ovl, &mgr->overlays, list) { in need_go()
360 struct omap_overlay_manager *mgr; in extra_info_update_ongoing() local
364 mgr = omap_dss_get_overlay_manager(i); in extra_info_update_ongoing()
365 mp = get_mgr_priv(mgr); in extra_info_update_ongoing()
376 list_for_each_entry(ovl, &mgr->overlays, list) { in extra_info_update_ongoing()
414 static struct omap_dss_device *dss_mgr_get_device(struct omap_overlay_manager *mgr) in dss_mgr_get_device() argument
418 dssdev = mgr->output; in dss_mgr_get_device()
436 static int dss_mgr_wait_for_vsync(struct omap_overlay_manager *mgr) in dss_mgr_wait_for_vsync() argument
442 if (mgr->output == NULL) in dss_mgr_wait_for_vsync()
449 switch (mgr->output->id) { in dss_mgr_wait_for_vsync()
457 irq = dispc_mgr_get_vsync_irq(mgr->id); in dss_mgr_wait_for_vsync()
468 static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr) in dss_mgr_wait_for_go() argument
471 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_wait_for_go()
479 if (mgr_manual_update(mgr)) { in dss_mgr_wait_for_go()
495 irq = dispc_mgr_get_vsync_irq(mgr->id); in dss_mgr_wait_for_go()
518 mgr->id); in dss_mgr_wait_for_go()
528 DSSERR("mgr(%d)->wait_for_go() timeout\n", mgr->id); in dss_mgr_wait_for_go()
676 static void dss_mgr_write_regs(struct omap_overlay_manager *mgr) in dss_mgr_write_regs() argument
678 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_write_regs()
681 DSSDBG("writing mgr %d regs\n", mgr->id); in dss_mgr_write_regs()
689 list_for_each_entry(ovl, &mgr->overlays, list) { in dss_mgr_write_regs()
695 dispc_mgr_setup(mgr->id, &mp->info); in dss_mgr_write_regs()
703 static void dss_mgr_write_regs_extra(struct omap_overlay_manager *mgr) in dss_mgr_write_regs_extra() argument
705 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_write_regs_extra()
707 DSSDBG("writing mgr %d regs extra\n", mgr->id); in dss_mgr_write_regs_extra()
712 dispc_mgr_set_timings(mgr->id, &mp->timings); in dss_mgr_write_regs_extra()
715 if (dss_mgr_is_lcd(mgr->id)) in dss_mgr_write_regs_extra()
716 dispc_mgr_set_lcd_config(mgr->id, &mp->lcd_config); in dss_mgr_write_regs_extra()
729 struct omap_overlay_manager *mgr; in dss_write_regs() local
733 mgr = omap_dss_get_overlay_manager(i); in dss_write_regs()
734 mp = get_mgr_priv(mgr); in dss_write_regs()
736 if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) in dss_write_regs()
739 r = dss_check_settings(mgr); in dss_write_regs()
742 "illegal configuration\n", mgr->name); in dss_write_regs()
746 dss_mgr_write_regs(mgr); in dss_write_regs()
747 dss_mgr_write_regs_extra(mgr); in dss_write_regs()
757 struct omap_overlay_manager *mgr; in dss_set_go_bits() local
760 mgr = omap_dss_get_overlay_manager(i); in dss_set_go_bits()
761 mp = get_mgr_priv(mgr); in dss_set_go_bits()
763 if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) in dss_set_go_bits()
766 if (!need_go(mgr)) in dss_set_go_bits()
774 dispc_mgr_go(mgr->id); in dss_set_go_bits()
779 static void mgr_clear_shadow_dirty(struct omap_overlay_manager *mgr) in mgr_clear_shadow_dirty() argument
785 mp = get_mgr_priv(mgr); in mgr_clear_shadow_dirty()
789 list_for_each_entry(ovl, &mgr->overlays, list) { in mgr_clear_shadow_dirty()
796 static int dss_mgr_connect_compat(struct omap_overlay_manager *mgr, in dss_mgr_connect_compat() argument
799 return mgr->set_output(mgr, dst); in dss_mgr_connect_compat()
802 static void dss_mgr_disconnect_compat(struct omap_overlay_manager *mgr, in dss_mgr_disconnect_compat() argument
805 mgr->unset_output(mgr); in dss_mgr_disconnect_compat()
808 static void dss_mgr_start_update_compat(struct omap_overlay_manager *mgr) in dss_mgr_start_update_compat() argument
810 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_start_update_compat()
818 r = dss_check_settings(mgr); in dss_mgr_start_update_compat()
825 dss_mgr_write_regs(mgr); in dss_mgr_start_update_compat()
826 dss_mgr_write_regs_extra(mgr); in dss_mgr_start_update_compat()
833 dispc_mgr_enable_sync(mgr->id); in dss_mgr_start_update_compat()
888 struct omap_overlay_manager *mgr; in dss_apply_irq_handler() local
891 mgr = omap_dss_get_overlay_manager(i); in dss_apply_irq_handler()
892 mp = get_mgr_priv(mgr); in dss_apply_irq_handler()
899 if (!mgr_manual_update(mgr)) { in dss_apply_irq_handler()
904 mgr_clear_shadow_dirty(mgr); in dss_apply_irq_handler()
917 struct omap_overlay_manager *mgr; in dss_apply_irq_handler() local
920 mgr = omap_dss_get_overlay_manager(i); in dss_apply_irq_handler()
921 mp = get_mgr_priv(mgr); in dss_apply_irq_handler()
923 if (!mgr_manual_update(mgr) || !mp->framedone_handler) in dss_apply_irq_handler()
950 static void omap_dss_mgr_apply_mgr(struct omap_overlay_manager *mgr) in omap_dss_mgr_apply_mgr() argument
954 mp = get_mgr_priv(mgr); in omap_dss_mgr_apply_mgr()
964 static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) in omap_dss_mgr_apply() argument
970 DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name); in omap_dss_mgr_apply()
974 r = dss_check_settings_apply(mgr); in omap_dss_mgr_apply()
982 list_for_each_entry(ovl, &mgr->overlays, list) in omap_dss_mgr_apply()
986 omap_dss_mgr_apply_mgr(mgr); in omap_dss_mgr_apply()
1037 static void dss_mgr_setup_fifos(struct omap_overlay_manager *mgr) in dss_mgr_setup_fifos() argument
1042 mp = get_mgr_priv(mgr); in dss_mgr_setup_fifos()
1047 list_for_each_entry(ovl, &mgr->overlays, list) in dss_mgr_setup_fifos()
1054 struct omap_overlay_manager *mgr; in dss_setup_fifos() local
1058 mgr = omap_dss_get_overlay_manager(i); in dss_setup_fifos()
1059 dss_mgr_setup_fifos(mgr); in dss_setup_fifos()
1063 static int dss_mgr_enable_compat(struct omap_overlay_manager *mgr) in dss_mgr_enable_compat() argument
1065 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_enable_compat()
1078 r = dss_check_settings(mgr); in dss_mgr_enable_compat()
1081 mgr->id); in dss_mgr_enable_compat()
1090 if (!mgr_manual_update(mgr)) in dss_mgr_enable_compat()
1098 if (!mgr_manual_update(mgr)) in dss_mgr_enable_compat()
1099 dispc_mgr_enable_sync(mgr->id); in dss_mgr_enable_compat()
1113 static void dss_mgr_disable_compat(struct omap_overlay_manager *mgr) in dss_mgr_disable_compat() argument
1115 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_disable_compat()
1125 if (!mgr_manual_update(mgr)) in dss_mgr_disable_compat()
1126 dispc_mgr_disable_sync(mgr->id); in dss_mgr_disable_compat()
1139 static int dss_mgr_set_info(struct omap_overlay_manager *mgr, in dss_mgr_set_info() argument
1142 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_info()
1146 r = dss_mgr_simple_check(mgr, info); in dss_mgr_set_info()
1160 static void dss_mgr_get_info(struct omap_overlay_manager *mgr, in dss_mgr_get_info() argument
1163 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_get_info()
1173 static int dss_mgr_set_output(struct omap_overlay_manager *mgr, in dss_mgr_set_output() argument
1180 if (mgr->output) { in dss_mgr_set_output()
1182 mgr->name); in dss_mgr_set_output()
1187 if ((mgr->supported_outputs & output->id) == 0) { in dss_mgr_set_output()
1189 mgr->name); in dss_mgr_set_output()
1194 output->manager = mgr; in dss_mgr_set_output()
1195 mgr->output = output; in dss_mgr_set_output()
1205 static int dss_mgr_unset_output(struct omap_overlay_manager *mgr) in dss_mgr_unset_output() argument
1208 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_unset_output()
1213 if (!mgr->output) { in dss_mgr_unset_output()
1229 mgr->output->manager = NULL; in dss_mgr_unset_output()
1230 mgr->output = NULL; in dss_mgr_unset_output()
1243 static void dss_apply_mgr_timings(struct omap_overlay_manager *mgr, in dss_apply_mgr_timings() argument
1246 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_apply_mgr_timings()
1252 static void dss_mgr_set_timings_compat(struct omap_overlay_manager *mgr, in dss_mgr_set_timings_compat() argument
1256 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_timings_compat()
1262 mgr->name); in dss_mgr_set_timings_compat()
1266 dss_apply_mgr_timings(mgr, timings); in dss_mgr_set_timings_compat()
1271 static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr, in dss_apply_mgr_lcd_config() argument
1274 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_apply_mgr_lcd_config()
1280 static void dss_mgr_set_lcd_config_compat(struct omap_overlay_manager *mgr, in dss_mgr_set_lcd_config_compat() argument
1284 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_lcd_config_compat()
1290 mgr->name); in dss_mgr_set_lcd_config_compat()
1294 dss_apply_mgr_lcd_config(mgr, config); in dss_mgr_set_lcd_config_compat()
1334 struct omap_overlay_manager *mgr) in dss_ovl_set_manager() argument
1340 if (!mgr) in dss_ovl_set_manager()
1365 dispc_ovl_set_channel_out(ovl->id, mgr->id); in dss_ovl_set_manager()
1367 ovl->manager = mgr; in dss_ovl_set_manager()
1368 list_add_tail(&ovl->list, &mgr->overlays); in dss_ovl_set_manager()
1545 static int dss_mgr_register_framedone_handler_compat(struct omap_overlay_manager *mgr, in dss_mgr_register_framedone_handler_compat() argument
1548 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_register_framedone_handler_compat()
1559 static void dss_mgr_unregister_framedone_handler_compat(struct omap_overlay_manager *mgr, in dss_mgr_unregister_framedone_handler_compat() argument
1562 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_unregister_framedone_handler_compat()
1602 struct omap_overlay_manager *mgr; in omapdss_compat_init() local
1604 mgr = omap_dss_get_overlay_manager(i); in omapdss_compat_init()
1606 mgr->set_output = &dss_mgr_set_output; in omapdss_compat_init()
1607 mgr->unset_output = &dss_mgr_unset_output; in omapdss_compat_init()
1608 mgr->apply = &omap_dss_mgr_apply; in omapdss_compat_init()
1609 mgr->set_manager_info = &dss_mgr_set_info; in omapdss_compat_init()
1610 mgr->get_manager_info = &dss_mgr_get_info; in omapdss_compat_init()
1611 mgr->wait_for_go = &dss_mgr_wait_for_go; in omapdss_compat_init()
1612 mgr->wait_for_vsync = &dss_mgr_wait_for_vsync; in omapdss_compat_init()
1613 mgr->get_device = &dss_mgr_get_device; in omapdss_compat_init()