Lines Matching defs:vbox
34 struct vbox_private *vbox;
39 vbox = to_vbox_dev(crtc->dev);
44 x_offset = vbox->single_framebuffer ? vbox_crtc->x : vbox_crtc->x_hint;
45 y_offset = vbox->single_framebuffer ? vbox_crtc->y : vbox_crtc->y_hint;
70 hgsmi_process_display_info(vbox->guest_pool, vbox_crtc->crtc_id,
80 struct vbox_private *vbox = to_vbox_dev(crtc->dev);
94 p = hgsmi_buffer_alloc(vbox->guest_pool, sizeof(*p),
101 p->view_size = vbox->available_vram_size - vbox_crtc->fb_offset +
103 p->max_screen_size = vbox->available_vram_size - vbox_crtc->fb_offset;
105 hgsmi_buffer_submit(vbox->guest_pool, p);
106 hgsmi_buffer_free(vbox->guest_pool, p);
116 static bool vbox_set_up_input_mapping(struct vbox_private *vbox)
122 bool old_single_framebuffer = vbox->single_framebuffer;
130 list_for_each_entry(crtci, &vbox->ddev.mode_config.crtc_list, head) {
137 if (fb1 == vbox->ddev.fb_helper->fb)
147 vbox->single_framebuffer = true;
148 vbox->input_mapping_width = fb1->width;
149 vbox->input_mapping_height = fb1->height;
150 return old_single_framebuffer != vbox->single_framebuffer;
153 list_for_each_entry(connectori, &vbox->ddev.mode_config.connector_list,
165 vbox->single_framebuffer = false;
166 vbox->input_mapping_width = width;
167 vbox->input_mapping_height = height;
169 return old_single_framebuffer != vbox->single_framebuffer;
177 struct vbox_private *vbox = to_vbox_dev(crtc->dev);
181 mutex_lock(&vbox->hw_mutex);
192 /* vbox_do_modeset() checks vbox->single_framebuffer so update it now */
193 if (needs_modeset && vbox_set_up_input_mapping(vbox)) {
196 list_for_each_entry(crtci, &vbox->ddev.mode_config.crtc_list,
208 hgsmi_update_input_mapping(vbox->guest_pool, 0, 0,
209 vbox->input_mapping_width,
210 vbox->input_mapping_height);
212 mutex_unlock(&vbox->hw_mutex);
275 struct vbox_private *vbox = to_vbox_dev(fb->dev);
291 mutex_lock(&vbox->hw_mutex);
302 if (!vbva_buffer_begin_update(&vbox->vbva_info[crtc_id],
303 vbox->guest_pool))
306 vbva_write(&vbox->vbva_info[crtc_id], vbox->guest_pool,
308 vbva_buffer_end_update(&vbox->vbva_info[crtc_id]);
311 mutex_unlock(&vbox->hw_mutex);
378 struct vbox_private *vbox =
396 mutex_lock(&vbox->hw_mutex);
405 mutex_unlock(&vbox->hw_mutex);
418 copy_cursor_image(src, vbox->cursor_data, width, height, mask_size);
423 hgsmi_update_pointer_shape(vbox->guest_pool, flags,
426 width, height, vbox->cursor_data, data_size);
428 mutex_unlock(&vbox->hw_mutex);
434 struct vbox_private *vbox =
440 mutex_lock(&vbox->hw_mutex);
444 list_for_each_entry(crtci, &vbox->ddev.mode_config.crtc_list, head) {
450 hgsmi_update_pointer_shape(vbox->guest_pool, 0, 0, 0,
453 mutex_unlock(&vbox->hw_mutex);
499 static struct drm_plane *vbox_create_plane(struct vbox_private *vbox,
528 err = drm_universal_plane_init(&vbox->ddev, plane, possible_crtcs,
545 struct vbox_private *vbox =
553 ret = hgsmi_query_conf(vbox->guest_pool,
562 primary = vbox_create_plane(vbox, 1 << i, DRM_PLANE_TYPE_PRIMARY);
569 cursor = vbox_create_plane(vbox, 1 << i, DRM_PLANE_TYPE_CURSOR);
704 struct vbox_private *vbox = NULL;
709 vbox = to_vbox_dev(connector->dev);
711 hgsmi_report_flags_location(vbox->guest_pool, GUEST_HEAP_OFFSET(vbox) +
714 vbox_report_caps(vbox);
732 vbox->ddev.mode_config.suggested_x_property,
736 vbox->ddev.mode_config.suggested_x_property, 0);
740 vbox->ddev.mode_config.suggested_y_property,
744 vbox->ddev.mode_config.suggested_y_property, 0);
836 int vbox_mode_init(struct vbox_private *vbox)
838 struct drm_device *dev = &vbox->ddev;
853 for (i = 0; i < vbox->num_crtcs; ++i) {
877 void vbox_mode_fini(struct vbox_private *vbox)
879 drm_mode_config_cleanup(&vbox->ddev);