BugLink: https://bugs.launchpad.net/bugs/1698700
Currently, calling drmGetBusid from libdrm on a hibmc VGA
card returns a string like "0007:a1:00.0".
The busid reported by most cards begins with "pci:". For
example, on an amd64 system, a VGA card reported
"pci:0000:00:02.0".
The missing "pci:" prefix confuses Xorg and leads to crashes
and other misbehaviour.[0]
Use the standard helper from the drm core to set the busid to
include the "pci:" prefix. This is done by many other drivers.
With this patch, Xorg can be run successfully.
[0]: https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/
1691991
Cc: Xinliang Liu <z.liuxinliang@hisilicon.com>
Cc: Rongrong Zou <zourongrong@gmail.com>
Signed-off-by: Daniel Axtens <dja@axtens.net>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
.dumb_map_offset = hibmc_dumb_mmap_offset,
.dumb_destroy = drm_gem_dumb_destroy,
.irq_handler = hibmc_drm_interrupt,
+ .set_busid = drm_pci_set_busid,
};
static int __maybe_unused hibmc_pm_suspend(struct device *dev)