Lines Matching defs:vbox
40 struct vbox_private *vbox;
45 vbox = crtc->dev->dev_private;
50 x_offset = vbox->single_framebuffer ? vbox_crtc->x : vbox_crtc->x_hint;
51 y_offset = vbox->single_framebuffer ? vbox_crtc->y : vbox_crtc->y_hint;
76 hgsmi_process_display_info(vbox->guest_pool, vbox_crtc->crtc_id,
86 struct vbox_private *vbox = crtc->dev->dev_private;
100 p = hgsmi_buffer_alloc(vbox->guest_pool, sizeof(*p),
107 p->view_size = vbox->available_vram_size - vbox_crtc->fb_offset +
109 p->max_screen_size = vbox->available_vram_size - vbox_crtc->fb_offset;
111 hgsmi_buffer_submit(vbox->guest_pool, p);
112 hgsmi_buffer_free(vbox->guest_pool, p);
122 static bool vbox_set_up_input_mapping(struct vbox_private *vbox)
128 bool old_single_framebuffer = vbox->single_framebuffer;
136 list_for_each_entry(crtci, &vbox->ddev.mode_config.crtc_list, head) {
143 if (fb1 == vbox->ddev.fb_helper->fb)
153 vbox->single_framebuffer = true;
154 vbox->input_mapping_width = fb1->width;
155 vbox->input_mapping_height = fb1->height;
156 return old_single_framebuffer != vbox->single_framebuffer;
159 list_for_each_entry(connectori, &vbox->ddev.mode_config.connector_list,
171 vbox->single_framebuffer = false;
172 vbox->input_mapping_width = width;
173 vbox->input_mapping_height = height;
175 return old_single_framebuffer != vbox->single_framebuffer;
183 struct vbox_private *vbox = crtc->dev->dev_private;
187 mutex_lock(&vbox->hw_mutex);
198 /* vbox_do_modeset() checks vbox->single_framebuffer so update it now */
199 if (needs_modeset && vbox_set_up_input_mapping(vbox)) {
202 list_for_each_entry(crtci, &vbox->ddev.mode_config.crtc_list,
214 hgsmi_update_input_mapping(vbox->guest_pool, 0, 0,
215 vbox->input_mapping_width,
216 vbox->input_mapping_height);
218 mutex_unlock(&vbox->hw_mutex);
292 struct vbox_private *vbox = fb->dev->dev_private;
308 mutex_lock(&vbox->hw_mutex);
319 if (!vbva_buffer_begin_update(&vbox->vbva_info[crtc_id],
320 vbox->guest_pool))
323 vbva_write(&vbox->vbva_info[crtc_id], vbox->guest_pool,
325 vbva_buffer_end_update(&vbox->vbva_info[crtc_id]);
328 mutex_unlock(&vbox->hw_mutex);
395 struct vbox_private *vbox =
413 mutex_lock(&vbox->hw_mutex);
420 mutex_unlock(&vbox->hw_mutex);
433 copy_cursor_image(src, vbox->cursor_data, width, height, mask_size);
438 hgsmi_update_pointer_shape(vbox->guest_pool, flags,
441 width, height, vbox->cursor_data, data_size);
443 mutex_unlock(&vbox->hw_mutex);
449 struct vbox_private *vbox =
455 mutex_lock(&vbox->hw_mutex);
459 list_for_each_entry(crtci, &vbox->ddev.mode_config.crtc_list, head) {
465 hgsmi_update_pointer_shape(vbox->guest_pool, 0, 0, 0,
468 mutex_unlock(&vbox->hw_mutex);
514 static struct drm_plane *vbox_create_plane(struct vbox_private *vbox,
543 err = drm_universal_plane_init(&vbox->ddev, plane, possible_crtcs,
560 struct vbox_private *vbox =
568 ret = hgsmi_query_conf(vbox->guest_pool,
577 primary = vbox_create_plane(vbox, 1 << i, DRM_PLANE_TYPE_PRIMARY);
584 cursor = vbox_create_plane(vbox, 1 << i, DRM_PLANE_TYPE_CURSOR);
719 struct vbox_private *vbox = NULL;
724 vbox = connector->dev->dev_private;
726 hgsmi_report_flags_location(vbox->guest_pool, GUEST_HEAP_OFFSET(vbox) +
729 vbox_report_caps(vbox);
747 vbox->ddev.mode_config.suggested_x_property,
751 vbox->ddev.mode_config.suggested_x_property, 0);
755 vbox->ddev.mode_config.suggested_y_property,
759 vbox->ddev.mode_config.suggested_y_property, 0);
850 int vbox_mode_init(struct vbox_private *vbox)
852 struct drm_device *dev = &vbox->ddev;
867 for (i = 0; i < vbox->num_crtcs; ++i) {
891 void vbox_mode_fini(struct vbox_private *vbox)
893 drm_mode_config_cleanup(&vbox->ddev);