From c7cf00487cd6d4a5d0f39d5b92ff04f6420d6a32 Mon Sep 17 00:00:00 2001 From: Michel Dänzer Date: Fri, 27 Nov 2015 12:52:28 +0900 Subject: Build RandR 1.4 provider name from chipset name and bus ID Instead of just "radeon", it's now e.g. "KAVERI @ pci:0000:00:01.0". Reviewed-by: Alex Deucher --- src/drmmode_display.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index fa46d56a..9880ee37 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -40,6 +40,10 @@ #include "radeon_glamor.h" #include "radeon_reg.h" +#ifdef RADEON_PIXMAP_SHARING +#include +#endif + #include "drmmode_display.h" /* DPMS */ @@ -2070,6 +2074,9 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp) int i, num_dvi = 0, num_hdmi = 0; drmModeResPtr mode_res; unsigned int crtcs_needed = 0; +#ifdef RADEON_PIXMAP_SHARING + char *bus_id_string, *provider_name; +#endif xf86CrtcConfigInit(pScrn, &drmmode_xf86crtc_config_funcs); @@ -2112,7 +2119,11 @@ Bool drmmode_pre_init(ScrnInfoPtr pScrn, drmmode_ptr drmmode, int cpp) drmmode_clones_init(pScrn, drmmode, mode_res); #ifdef RADEON_PIXMAP_SHARING - xf86ProviderSetup(pScrn, NULL, "radeon"); + bus_id_string = DRICreatePCIBusID(info->PciInfo); + XNFasprintf(&provider_name, "%s @ %s", pScrn->chipset, bus_id_string); + free(bus_id_string); + xf86ProviderSetup(pScrn, NULL, provider_name); + free(provider_name); #endif xf86InitialConfiguration(pScrn, TRUE); -- cgit v1.2.3