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()
190 static bool mgr_manual_update(struct omap_overlay_manager *mgr) in mgr_manual_update() argument
192 struct mgr_priv_data *mp = get_mgr_priv(mgr); in mgr_manual_update()
197 static int dss_check_settings_low(struct omap_overlay_manager *mgr, in dss_check_settings_low() argument
207 mp = get_mgr_priv(mgr); in dss_check_settings_low()
218 list_for_each_entry(ovl, &mgr->overlays, list) { in dss_check_settings_low()
231 return dss_mgr_check(mgr, mi, &mp->timings, &mp->lcd_config, ois); in dss_check_settings_low()
237 static int dss_check_settings(struct omap_overlay_manager *mgr) in dss_check_settings() argument
239 return dss_check_settings_low(mgr, false); in dss_check_settings()
246 static int dss_check_settings_apply(struct omap_overlay_manager *mgr) in dss_check_settings_apply() argument
248 return dss_check_settings_low(mgr, true); in dss_check_settings_apply()
257 struct omap_overlay_manager *mgr; in need_isr() local
261 mgr = omap_dss_get_overlay_manager(i); in need_isr()
262 mp = get_mgr_priv(mgr); in need_isr()
267 if (mgr_manual_update(mgr)) { in need_isr()
298 list_for_each_entry(ovl, &mgr->overlays, list) { in need_isr()
334 static bool need_go(struct omap_overlay_manager *mgr) in need_go() argument
340 mp = get_mgr_priv(mgr); in need_go()
345 list_for_each_entry(ovl, &mgr->overlays, list) { in need_go()
361 struct omap_overlay_manager *mgr; in extra_info_update_ongoing() local
365 mgr = omap_dss_get_overlay_manager(i); in extra_info_update_ongoing()
366 mp = get_mgr_priv(mgr); in extra_info_update_ongoing()
377 list_for_each_entry(ovl, &mgr->overlays, list) { in extra_info_update_ongoing()
415 static struct omap_dss_device *dss_mgr_get_device(struct omap_overlay_manager *mgr) in dss_mgr_get_device() argument
419 dssdev = mgr->output; in dss_mgr_get_device()
437 static int dss_mgr_wait_for_vsync(struct omap_overlay_manager *mgr) in dss_mgr_wait_for_vsync() argument
443 if (mgr->output == NULL) in dss_mgr_wait_for_vsync()
450 switch (mgr->output->id) { in dss_mgr_wait_for_vsync()
458 irq = dispc_mgr_get_vsync_irq(mgr->id); in dss_mgr_wait_for_vsync()
469 static int dss_mgr_wait_for_go(struct omap_overlay_manager *mgr) in dss_mgr_wait_for_go() argument
472 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_wait_for_go()
480 if (mgr_manual_update(mgr)) { in dss_mgr_wait_for_go()
496 irq = dispc_mgr_get_vsync_irq(mgr->id); in dss_mgr_wait_for_go()
519 mgr->id); in dss_mgr_wait_for_go()
529 DSSERR("mgr(%d)->wait_for_go() timeout\n", mgr->id); in dss_mgr_wait_for_go()
677 static void dss_mgr_write_regs(struct omap_overlay_manager *mgr) in dss_mgr_write_regs() argument
679 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_write_regs()
682 DSSDBG("writing mgr %d regs\n", mgr->id); in dss_mgr_write_regs()
690 list_for_each_entry(ovl, &mgr->overlays, list) { in dss_mgr_write_regs()
696 dispc_mgr_setup(mgr->id, &mp->info); in dss_mgr_write_regs()
704 static void dss_mgr_write_regs_extra(struct omap_overlay_manager *mgr) in dss_mgr_write_regs_extra() argument
706 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_write_regs_extra()
708 DSSDBG("writing mgr %d regs extra\n", mgr->id); in dss_mgr_write_regs_extra()
713 dispc_mgr_set_timings(mgr->id, &mp->timings); in dss_mgr_write_regs_extra()
716 if (dss_mgr_is_lcd(mgr->id)) in dss_mgr_write_regs_extra()
717 dispc_mgr_set_lcd_config(mgr->id, &mp->lcd_config); in dss_mgr_write_regs_extra()
730 struct omap_overlay_manager *mgr; in dss_write_regs() local
734 mgr = omap_dss_get_overlay_manager(i); in dss_write_regs()
735 mp = get_mgr_priv(mgr); in dss_write_regs()
737 if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) in dss_write_regs()
740 r = dss_check_settings(mgr); in dss_write_regs()
743 "illegal configuration\n", mgr->name); in dss_write_regs()
747 dss_mgr_write_regs(mgr); in dss_write_regs()
748 dss_mgr_write_regs_extra(mgr); in dss_write_regs()
758 struct omap_overlay_manager *mgr; in dss_set_go_bits() local
761 mgr = omap_dss_get_overlay_manager(i); in dss_set_go_bits()
762 mp = get_mgr_priv(mgr); in dss_set_go_bits()
764 if (!mp->enabled || mgr_manual_update(mgr) || mp->busy) in dss_set_go_bits()
767 if (!need_go(mgr)) in dss_set_go_bits()
775 dispc_mgr_go(mgr->id); in dss_set_go_bits()
780 static void mgr_clear_shadow_dirty(struct omap_overlay_manager *mgr) in mgr_clear_shadow_dirty() argument
786 mp = get_mgr_priv(mgr); in mgr_clear_shadow_dirty()
790 list_for_each_entry(ovl, &mgr->overlays, list) { in mgr_clear_shadow_dirty()
797 static int dss_mgr_connect_compat(struct omap_overlay_manager *mgr, in dss_mgr_connect_compat() argument
800 return mgr->set_output(mgr, dst); in dss_mgr_connect_compat()
803 static void dss_mgr_disconnect_compat(struct omap_overlay_manager *mgr, in dss_mgr_disconnect_compat() argument
806 mgr->unset_output(mgr); in dss_mgr_disconnect_compat()
809 static void dss_mgr_start_update_compat(struct omap_overlay_manager *mgr) in dss_mgr_start_update_compat() argument
811 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_start_update_compat()
819 r = dss_check_settings(mgr); in dss_mgr_start_update_compat()
826 dss_mgr_write_regs(mgr); in dss_mgr_start_update_compat()
827 dss_mgr_write_regs_extra(mgr); in dss_mgr_start_update_compat()
834 dispc_mgr_enable_sync(mgr->id); in dss_mgr_start_update_compat()
889 struct omap_overlay_manager *mgr; in dss_apply_irq_handler() local
892 mgr = omap_dss_get_overlay_manager(i); in dss_apply_irq_handler()
893 mp = get_mgr_priv(mgr); in dss_apply_irq_handler()
900 if (!mgr_manual_update(mgr)) { in dss_apply_irq_handler()
905 mgr_clear_shadow_dirty(mgr); in dss_apply_irq_handler()
918 struct omap_overlay_manager *mgr; in dss_apply_irq_handler() local
921 mgr = omap_dss_get_overlay_manager(i); in dss_apply_irq_handler()
922 mp = get_mgr_priv(mgr); in dss_apply_irq_handler()
924 if (!mgr_manual_update(mgr) || !mp->framedone_handler) in dss_apply_irq_handler()
951 static void omap_dss_mgr_apply_mgr(struct omap_overlay_manager *mgr) in omap_dss_mgr_apply_mgr() argument
955 mp = get_mgr_priv(mgr); in omap_dss_mgr_apply_mgr()
965 static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr) in omap_dss_mgr_apply() argument
971 DSSDBG("omap_dss_mgr_apply(%s)\n", mgr->name); in omap_dss_mgr_apply()
975 r = dss_check_settings_apply(mgr); in omap_dss_mgr_apply()
983 list_for_each_entry(ovl, &mgr->overlays, list) in omap_dss_mgr_apply()
987 omap_dss_mgr_apply_mgr(mgr); in omap_dss_mgr_apply()
1038 static void dss_mgr_setup_fifos(struct omap_overlay_manager *mgr) in dss_mgr_setup_fifos() argument
1043 mp = get_mgr_priv(mgr); in dss_mgr_setup_fifos()
1048 list_for_each_entry(ovl, &mgr->overlays, list) in dss_mgr_setup_fifos()
1055 struct omap_overlay_manager *mgr; in dss_setup_fifos() local
1059 mgr = omap_dss_get_overlay_manager(i); in dss_setup_fifos()
1060 dss_mgr_setup_fifos(mgr); in dss_setup_fifos()
1064 static int dss_mgr_enable_compat(struct omap_overlay_manager *mgr) in dss_mgr_enable_compat() argument
1066 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_enable_compat()
1079 r = dss_check_settings(mgr); in dss_mgr_enable_compat()
1082 mgr->id); in dss_mgr_enable_compat()
1091 if (!mgr_manual_update(mgr)) in dss_mgr_enable_compat()
1099 if (!mgr_manual_update(mgr)) in dss_mgr_enable_compat()
1100 dispc_mgr_enable_sync(mgr->id); in dss_mgr_enable_compat()
1114 static void dss_mgr_disable_compat(struct omap_overlay_manager *mgr) in dss_mgr_disable_compat() argument
1116 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_disable_compat()
1126 if (!mgr_manual_update(mgr)) in dss_mgr_disable_compat()
1127 dispc_mgr_disable_sync(mgr->id); in dss_mgr_disable_compat()
1140 static int dss_mgr_set_info(struct omap_overlay_manager *mgr, in dss_mgr_set_info() argument
1143 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_info()
1147 r = dss_mgr_simple_check(mgr, info); in dss_mgr_set_info()
1161 static void dss_mgr_get_info(struct omap_overlay_manager *mgr, in dss_mgr_get_info() argument
1164 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_get_info()
1174 static int dss_mgr_set_output(struct omap_overlay_manager *mgr, in dss_mgr_set_output() argument
1181 if (mgr->output) { in dss_mgr_set_output()
1183 mgr->name); in dss_mgr_set_output()
1188 if ((mgr->supported_outputs & output->id) == 0) { in dss_mgr_set_output()
1190 mgr->name); in dss_mgr_set_output()
1195 output->manager = mgr; in dss_mgr_set_output()
1196 mgr->output = output; in dss_mgr_set_output()
1206 static int dss_mgr_unset_output(struct omap_overlay_manager *mgr) in dss_mgr_unset_output() argument
1209 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_unset_output()
1214 if (!mgr->output) { in dss_mgr_unset_output()
1230 mgr->output->manager = NULL; in dss_mgr_unset_output()
1231 mgr->output = NULL; in dss_mgr_unset_output()
1244 static void dss_apply_mgr_timings(struct omap_overlay_manager *mgr, in dss_apply_mgr_timings() argument
1247 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_apply_mgr_timings()
1253 static void dss_mgr_set_timings_compat(struct omap_overlay_manager *mgr, in dss_mgr_set_timings_compat() argument
1257 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_timings_compat()
1263 mgr->name); in dss_mgr_set_timings_compat()
1267 dss_apply_mgr_timings(mgr, timings); in dss_mgr_set_timings_compat()
1272 static void dss_apply_mgr_lcd_config(struct omap_overlay_manager *mgr, in dss_apply_mgr_lcd_config() argument
1275 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_apply_mgr_lcd_config()
1281 static void dss_mgr_set_lcd_config_compat(struct omap_overlay_manager *mgr, in dss_mgr_set_lcd_config_compat() argument
1285 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_set_lcd_config_compat()
1291 mgr->name); in dss_mgr_set_lcd_config_compat()
1295 dss_apply_mgr_lcd_config(mgr, config); in dss_mgr_set_lcd_config_compat()
1335 struct omap_overlay_manager *mgr) in dss_ovl_set_manager() argument
1341 if (!mgr) in dss_ovl_set_manager()
1366 dispc_ovl_set_channel_out(ovl->id, mgr->id); in dss_ovl_set_manager()
1368 ovl->manager = mgr; in dss_ovl_set_manager()
1369 list_add_tail(&ovl->list, &mgr->overlays); in dss_ovl_set_manager()
1546 static int dss_mgr_register_framedone_handler_compat(struct omap_overlay_manager *mgr, in dss_mgr_register_framedone_handler_compat() argument
1549 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_register_framedone_handler_compat()
1560 static void dss_mgr_unregister_framedone_handler_compat(struct omap_overlay_manager *mgr, in dss_mgr_unregister_framedone_handler_compat() argument
1563 struct mgr_priv_data *mp = get_mgr_priv(mgr); in dss_mgr_unregister_framedone_handler_compat()
1603 struct omap_overlay_manager *mgr; in omapdss_compat_init() local
1605 mgr = omap_dss_get_overlay_manager(i); in omapdss_compat_init()
1607 mgr->set_output = &dss_mgr_set_output; in omapdss_compat_init()
1608 mgr->unset_output = &dss_mgr_unset_output; in omapdss_compat_init()
1609 mgr->apply = &omap_dss_mgr_apply; in omapdss_compat_init()
1610 mgr->set_manager_info = &dss_mgr_set_info; in omapdss_compat_init()
1611 mgr->get_manager_info = &dss_mgr_get_info; in omapdss_compat_init()
1612 mgr->wait_for_go = &dss_mgr_wait_for_go; in omapdss_compat_init()
1613 mgr->wait_for_vsync = &dss_mgr_wait_for_vsync; in omapdss_compat_init()
1614 mgr->get_device = &dss_mgr_get_device; in omapdss_compat_init()