Lines Matching refs:vbox

22 void vbox_report_caps(struct vbox_private *vbox)  in vbox_report_caps()  argument
28 hgsmi_send_caps_info(vbox->guest_pool, caps); in vbox_report_caps()
30 hgsmi_send_caps_info(vbox->guest_pool, caps); in vbox_report_caps()
33 static int vbox_accel_init(struct vbox_private *vbox) in vbox_accel_init() argument
35 struct pci_dev *pdev = to_pci_dev(vbox->ddev.dev); in vbox_accel_init()
39 vbox->vbva_info = devm_kcalloc(vbox->ddev.dev, vbox->num_crtcs, in vbox_accel_init()
40 sizeof(*vbox->vbva_info), GFP_KERNEL); in vbox_accel_init()
41 if (!vbox->vbva_info) in vbox_accel_init()
45 vbox->available_vram_size -= vbox->num_crtcs * VBVA_MIN_BUFFER_SIZE; in vbox_accel_init()
47 vbox->vbva_buffers = pci_iomap_range(pdev, 0, in vbox_accel_init()
48 vbox->available_vram_size, in vbox_accel_init()
49 vbox->num_crtcs * in vbox_accel_init()
51 if (!vbox->vbva_buffers) in vbox_accel_init()
54 for (i = 0; i < vbox->num_crtcs; ++i) { in vbox_accel_init()
55 vbva_setup_buffer_context(&vbox->vbva_info[i], in vbox_accel_init()
56 vbox->available_vram_size + in vbox_accel_init()
59 vbva = (void __force *)vbox->vbva_buffers + in vbox_accel_init()
61 if (!vbva_enable(&vbox->vbva_info[i], in vbox_accel_init()
62 vbox->guest_pool, vbva, i)) { in vbox_accel_init()
71 static void vbox_accel_fini(struct vbox_private *vbox) in vbox_accel_fini() argument
75 for (i = 0; i < vbox->num_crtcs; ++i) in vbox_accel_fini()
76 vbva_disable(&vbox->vbva_info[i], vbox->guest_pool, i); in vbox_accel_fini()
80 static bool have_hgsmi_mode_hints(struct vbox_private *vbox) in have_hgsmi_mode_hints() argument
85 ret = hgsmi_query_conf(vbox->guest_pool, in have_hgsmi_mode_hints()
91 ret = hgsmi_query_conf(vbox->guest_pool, in have_hgsmi_mode_hints()
110 int vbox_hw_init(struct vbox_private *vbox) in vbox_hw_init() argument
112 struct pci_dev *pdev = to_pci_dev(vbox->ddev.dev); in vbox_hw_init()
115 vbox->full_vram_size = inl(VBE_DISPI_IOPORT_DATA); in vbox_hw_init()
116 vbox->any_pitch = vbox_check_supported(VBE_DISPI_ID_ANYX); in vbox_hw_init()
118 DRM_INFO("VRAM %08x\n", vbox->full_vram_size); in vbox_hw_init()
121 vbox->guest_heap = in vbox_hw_init()
122 pci_iomap_range(pdev, 0, GUEST_HEAP_OFFSET(vbox), in vbox_hw_init()
124 if (!vbox->guest_heap) in vbox_hw_init()
128 vbox->guest_pool = devm_gen_pool_create(vbox->ddev.dev, 4, -1, in vbox_hw_init()
130 if (IS_ERR(vbox->guest_pool)) in vbox_hw_init()
131 return PTR_ERR(vbox->guest_pool); in vbox_hw_init()
133 ret = gen_pool_add_virt(vbox->guest_pool, in vbox_hw_init()
134 (unsigned long)vbox->guest_heap, in vbox_hw_init()
135 GUEST_HEAP_OFFSET(vbox), in vbox_hw_init()
140 ret = hgsmi_test_query_conf(vbox->guest_pool); in vbox_hw_init()
147 vbox->available_vram_size = GUEST_HEAP_OFFSET(vbox); in vbox_hw_init()
149 hgsmi_query_conf(vbox->guest_pool, VBOX_VBVA_CONF32_MONITOR_COUNT, in vbox_hw_init()
150 &vbox->num_crtcs); in vbox_hw_init()
151 vbox->num_crtcs = clamp_t(u32, vbox->num_crtcs, 1, VBOX_MAX_SCREENS); in vbox_hw_init()
153 if (!have_hgsmi_mode_hints(vbox)) { in vbox_hw_init()
158 vbox->last_mode_hints = devm_kcalloc(vbox->ddev.dev, vbox->num_crtcs, in vbox_hw_init()
161 if (!vbox->last_mode_hints) in vbox_hw_init()
164 ret = vbox_accel_init(vbox); in vbox_hw_init()
171 void vbox_hw_fini(struct vbox_private *vbox) in vbox_hw_fini() argument
173 vbox_accel_fini(vbox); in vbox_hw_fini()