modesetting: Fix PCI initialization on non-zero domains

libdrm's busid matching for the legacy three-integer bus string format
simply ignores the domain number, rather than what we were doing here of
packing the domain into the bus number. Whatever, just use the existing
code to build a busid string, since that gets the domain right.

Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Adam Jackson 2017-06-26 12:43:54 -04:00
parent d16133e3e2
commit 6f9939525c
1 changed files with 4 additions and 6 deletions

View File

@ -851,13 +851,11 @@ ms_get_drm_master_fd(ScrnInfoPtr pScrn)
PciInfo = xf86GetPciInfoForEntity(ms->pEnt->index);
if (PciInfo) {
BusID = XNFalloc(64);
sprintf(BusID, "PCI:%d:%d:%d",
((PciInfo->domain << 8) | PciInfo->bus),
PciInfo->dev, PciInfo->func);
if ((BusID = ms_DRICreatePCIBusID(PciInfo)) != NULL) {
ms->fd = drmOpen(NULL, BusID);
free(BusID);
}
}
ms->fd = drmOpen(NULL, BusID);
free(BusID);
}
else
#endif