ret = vmbus_allocate_mmio(&hv->mem, hdev, 0, -1, hv->fb_size, 0x100000, true); if (ret) {
drm_err(dev, "Failed to allocate mmio\n"); return -ENOMEM;
}
/* * Map the VRAM cacheable for performance. This is also required for VM * connect to display properly for ARM64 Linux VM, as the host also maps * the VRAM cacheable.
*/
hv->vram = ioremap_cache(hv->mem->start, hv->fb_size); if (!hv->vram) {
drm_err(dev, "Failed to map vram\n");
ret = -ENOMEM; goto error;
}
ret = hyperv_setup_vram(hv, hdev); if (ret) goto err_vmbus_close;
/* * Should be done only once during init and resume. Failing to update * vram location is not fatal. Device will update dirty area till * preferred resolution only.
*/
ret = hyperv_update_vram_location(hdev, hv->fb_base); if (ret)
drm_warn(dev, "Failed to update vram location.\n");
ret = hyperv_mode_config_init(hv); if (ret) goto err_free_mmio;
ret = drm_dev_register(dev, 0); if (ret) {
drm_err(dev, "Failed to register drm driver.\n"); goto err_free_mmio;
}
MODULE_DEVICE_TABLE(pci, hyperv_pci_tbl);
MODULE_DEVICE_TABLE(vmbus, hyperv_vmbus_tbl);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Deepak Rawat <drawat.floss@gmail.com>");
MODULE_DESCRIPTION("DRM driver for Hyper-V synthetic video device");
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:
(vorverarbeitet am 2026-04-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.