Lines Matching full:hv
72 static int hyperv_setup_gen1(struct hyperv_drm_device *hv) in hyperv_setup_gen1() argument
74 struct drm_device *dev = &hv->dev; in hyperv_setup_gen1()
100 hv->fb_base = pci_resource_start(pdev, 0); in hyperv_setup_gen1()
101 hv->fb_size = pci_resource_len(pdev, 0); in hyperv_setup_gen1()
102 if (!hv->fb_base) { in hyperv_setup_gen1()
108 hv->fb_size = min(hv->fb_size, in hyperv_setup_gen1()
109 (unsigned long)(hv->mmio_megabytes * 1024 * 1024)); in hyperv_setup_gen1()
110 hv->vram = devm_ioremap(&pdev->dev, hv->fb_base, hv->fb_size); in hyperv_setup_gen1()
111 if (!hv->vram) { in hyperv_setup_gen1()
121 static int hyperv_setup_gen2(struct hyperv_drm_device *hv, in hyperv_setup_gen2() argument
124 struct drm_device *dev = &hv->dev; in hyperv_setup_gen2()
132 hv->fb_size = (unsigned long)hv->mmio_megabytes * 1024 * 1024; in hyperv_setup_gen2()
134 ret = vmbus_allocate_mmio(&hv->mem, hdev, 0, -1, hv->fb_size, 0x100000, in hyperv_setup_gen2()
146 hv->vram = ioremap_cache(hv->mem->start, hv->fb_size); in hyperv_setup_gen2()
147 if (!hv->vram) { in hyperv_setup_gen2()
153 hv->fb_base = hv->mem->start; in hyperv_setup_gen2()
157 vmbus_free_mmio(hv->mem->start, hv->fb_size); in hyperv_setup_gen2()
164 struct hyperv_drm_device *hv; in hyperv_vmbus_probe() local
168 hv = devm_drm_dev_alloc(&hdev->device, &hyperv_driver, in hyperv_vmbus_probe()
170 if (IS_ERR(hv)) in hyperv_vmbus_probe()
171 return PTR_ERR(hv); in hyperv_vmbus_probe()
173 dev = &hv->dev; in hyperv_vmbus_probe()
174 init_completion(&hv->wait); in hyperv_vmbus_probe()
175 hv_set_drvdata(hdev, hv); in hyperv_vmbus_probe()
176 hv->hdev = hdev; in hyperv_vmbus_probe()
185 ret = hyperv_setup_gen2(hv, hdev); in hyperv_vmbus_probe()
187 ret = hyperv_setup_gen1(hv); in hyperv_vmbus_probe()
197 ret = hyperv_update_vram_location(hdev, hv->fb_base); in hyperv_vmbus_probe()
201 hv->dirt_needed = true; in hyperv_vmbus_probe()
203 ret = hyperv_mode_config_init(hv); in hyperv_vmbus_probe()
227 struct hyperv_drm_device *hv = to_hv(dev); in hyperv_vmbus_remove() local
233 vmbus_free_mmio(hv->mem->start, hv->fb_size); in hyperv_vmbus_remove()
255 struct hyperv_drm_device *hv = to_hv(dev); in hyperv_vmbus_resume() local
262 ret = hyperv_update_vram_location(hdev, hv->fb_base); in hyperv_vmbus_resume()