Lines Matching refs:encoder_cfg
41 struct vkms_config_encoder *encoder_cfg; in vkms_config_default_create() local
87 encoder_cfg = vkms_config_create_encoder(config); in vkms_config_default_create()
88 if (IS_ERR(encoder_cfg)) in vkms_config_default_create()
91 if (vkms_config_encoder_attach_crtc(encoder_cfg, crtc_cfg)) in vkms_config_default_create()
98 if (vkms_config_connector_attach_encoder(connector_cfg, encoder_cfg)) in vkms_config_default_create()
113 struct vkms_config_encoder *encoder_cfg, *encoder_tmp; in vkms_config_destroy() local
122 list_for_each_entry_safe(encoder_cfg, encoder_tmp, &config->encoders, link) in vkms_config_destroy()
123 vkms_config_destroy_encoder(config, encoder_cfg); in vkms_config_destroy()
239 struct vkms_config_encoder *encoder_cfg; in valid_encoder_possible_crtcs() local
241 vkms_config_for_each_encoder(config, encoder_cfg) { in valid_encoder_possible_crtcs()
242 if (xa_empty(&encoder_cfg->possible_crtcs)) { in valid_encoder_possible_crtcs()
251 vkms_config_for_each_encoder(config, encoder_cfg) { in valid_encoder_possible_crtcs()
255 vkms_config_encoder_for_each_possible_crtc(encoder_cfg, in valid_encoder_possible_crtcs()
343 struct vkms_config_encoder *encoder_cfg; in vkms_config_show() local
361 vkms_config_for_each_encoder(vkmsdev->config, encoder_cfg) in vkms_config_show()
460 struct vkms_config_encoder *encoder_cfg; in vkms_config_destroy_crtc() local
465 vkms_config_for_each_encoder(config, encoder_cfg) in vkms_config_destroy_crtc()
466 vkms_config_encoder_detach_crtc(encoder_cfg, crtc_cfg); in vkms_config_destroy_crtc()
520 struct vkms_config_encoder *encoder_cfg; in vkms_config_create_encoder() local
522 encoder_cfg = kzalloc(sizeof(*encoder_cfg), GFP_KERNEL); in vkms_config_create_encoder()
523 if (!encoder_cfg) in vkms_config_create_encoder()
526 encoder_cfg->config = config; in vkms_config_create_encoder()
527 xa_init_flags(&encoder_cfg->possible_crtcs, XA_FLAGS_ALLOC); in vkms_config_create_encoder()
529 list_add_tail(&encoder_cfg->link, &config->encoders); in vkms_config_create_encoder()
531 return encoder_cfg; in vkms_config_create_encoder()
536 struct vkms_config_encoder *encoder_cfg) in vkms_config_destroy_encoder() argument
541 vkms_config_connector_detach_encoder(connector_cfg, encoder_cfg); in vkms_config_destroy_encoder()
543 xa_destroy(&encoder_cfg->possible_crtcs); in vkms_config_destroy_encoder()
544 list_del(&encoder_cfg->link); in vkms_config_destroy_encoder()
545 kfree(encoder_cfg); in vkms_config_destroy_encoder()
549 int __must_check vkms_config_encoder_attach_crtc(struct vkms_config_encoder *encoder_cfg, in vkms_config_encoder_attach_crtc() argument
556 if (encoder_cfg->config != crtc_cfg->config) in vkms_config_encoder_attach_crtc()
559 vkms_config_encoder_for_each_possible_crtc(encoder_cfg, idx, possible_crtc) { in vkms_config_encoder_attach_crtc()
564 return xa_alloc(&encoder_cfg->possible_crtcs, &crtc_idx, crtc_cfg, in vkms_config_encoder_attach_crtc()
569 void vkms_config_encoder_detach_crtc(struct vkms_config_encoder *encoder_cfg, in vkms_config_encoder_detach_crtc() argument
575 vkms_config_encoder_for_each_possible_crtc(encoder_cfg, idx, possible_crtc) { in vkms_config_encoder_detach_crtc()
577 xa_erase(&encoder_cfg->possible_crtcs, idx); in vkms_config_encoder_detach_crtc()
608 struct vkms_config_encoder *encoder_cfg) in vkms_config_connector_attach_encoder() argument
614 if (connector_cfg->config != encoder_cfg->config) in vkms_config_connector_attach_encoder()
619 if (possible_encoder == encoder_cfg) in vkms_config_connector_attach_encoder()
624 encoder_cfg, xa_limit_32b, GFP_KERNEL); in vkms_config_connector_attach_encoder()
629 struct vkms_config_encoder *encoder_cfg) in vkms_config_connector_detach_encoder() argument
636 if (possible_encoder == encoder_cfg) in vkms_config_connector_detach_encoder()