Lines Matching refs:set
457 int drm_crtc_helper_set_config(struct drm_mode_set *set) in drm_crtc_helper_set_config() argument
473 BUG_ON(!set); in drm_crtc_helper_set_config()
474 BUG_ON(!set->crtc); in drm_crtc_helper_set_config()
475 BUG_ON(!set->crtc->helper_private); in drm_crtc_helper_set_config()
478 BUG_ON(!set->mode && set->fb); in drm_crtc_helper_set_config()
479 BUG_ON(set->fb && set->num_connectors == 0); in drm_crtc_helper_set_config()
481 crtc_funcs = set->crtc->helper_private; in drm_crtc_helper_set_config()
483 if (!set->mode) in drm_crtc_helper_set_config()
484 set->fb = NULL; in drm_crtc_helper_set_config()
486 if (set->fb) { in drm_crtc_helper_set_config()
488 set->crtc->base.id, set->fb->base.id, in drm_crtc_helper_set_config()
489 (int)set->num_connectors, set->x, set->y); in drm_crtc_helper_set_config()
491 DRM_DEBUG_KMS("[CRTC:%d] [NOFB]\n", set->crtc->base.id); in drm_crtc_helper_set_config()
492 drm_crtc_helper_disable(set->crtc); in drm_crtc_helper_set_config()
496 dev = set->crtc->dev; in drm_crtc_helper_set_config()
531 save_set.crtc = set->crtc; in drm_crtc_helper_set_config()
532 save_set.mode = &set->crtc->mode; in drm_crtc_helper_set_config()
533 save_set.x = set->crtc->x; in drm_crtc_helper_set_config()
534 save_set.y = set->crtc->y; in drm_crtc_helper_set_config()
535 save_set.fb = set->crtc->primary->fb; in drm_crtc_helper_set_config()
539 if (set->crtc->primary->fb != set->fb) { in drm_crtc_helper_set_config()
541 if (set->crtc->primary->fb == NULL) { in drm_crtc_helper_set_config()
544 } else if (set->fb == NULL) { in drm_crtc_helper_set_config()
546 } else if (set->fb->pixel_format != in drm_crtc_helper_set_config()
547 set->crtc->primary->fb->pixel_format) { in drm_crtc_helper_set_config()
553 if (set->x != set->crtc->x || set->y != set->crtc->y) in drm_crtc_helper_set_config()
556 if (set->mode && !drm_mode_equal(set->mode, &set->crtc->mode)) { in drm_crtc_helper_set_config()
558 drm_mode_debug_printmodeline(&set->crtc->mode); in drm_crtc_helper_set_config()
559 drm_mode_debug_printmodeline(set->mode); in drm_crtc_helper_set_config()
569 for (ro = 0; ro < set->num_connectors; ro++) { in drm_crtc_helper_set_config()
570 if (set->connectors[ro] == connector) { in drm_crtc_helper_set_config()
609 if (connector->encoder->crtc == set->crtc) in drm_crtc_helper_set_config()
614 for (ro = 0; ro < set->num_connectors; ro++) { in drm_crtc_helper_set_config()
615 if (set->connectors[ro] == connector) in drm_crtc_helper_set_config()
616 new_crtc = set->crtc; in drm_crtc_helper_set_config()
645 if (drm_helper_crtc_in_use(set->crtc)) { in drm_crtc_helper_set_config()
648 drm_mode_debug_printmodeline(set->mode); in drm_crtc_helper_set_config()
649 set->crtc->primary->fb = set->fb; in drm_crtc_helper_set_config()
650 if (!drm_crtc_helper_set_mode(set->crtc, set->mode, in drm_crtc_helper_set_config()
651 set->x, set->y, in drm_crtc_helper_set_config()
654 set->crtc->base.id); in drm_crtc_helper_set_config()
655 set->crtc->primary->fb = save_set.fb; in drm_crtc_helper_set_config()
660 for (i = 0; i < set->num_connectors; i++) { in drm_crtc_helper_set_config()
661 DRM_DEBUG_KMS("\t[CONNECTOR:%d:%s] set DPMS on\n", set->connectors[i]->base.id, in drm_crtc_helper_set_config()
662 set->connectors[i]->name); in drm_crtc_helper_set_config()
663 set->connectors[i]->funcs->dpms(set->connectors[i], DRM_MODE_DPMS_ON); in drm_crtc_helper_set_config()
668 set->crtc->x = set->x; in drm_crtc_helper_set_config()
669 set->crtc->y = set->y; in drm_crtc_helper_set_config()
670 set->crtc->primary->fb = set->fb; in drm_crtc_helper_set_config()
671 ret = crtc_funcs->mode_set_base(set->crtc, in drm_crtc_helper_set_config()
672 set->x, set->y, save_set.fb); in drm_crtc_helper_set_config()
674 set->crtc->x = save_set.x; in drm_crtc_helper_set_config()
675 set->crtc->y = save_set.y; in drm_crtc_helper_set_config()
676 set->crtc->primary->fb = save_set.fb; in drm_crtc_helper_set_config()