r300: use drm_shim_override
authorDavid Heidelberg <david.heidelberg@collabora.com>
Mon, 14 Nov 2022 21:16:35 +0000 (22:16 +0100)
committerMarge Bot <emma+marge@anholt.net>
Wed, 16 Nov 2022 14:37:47 +0000 (14:37 +0000)
Acked-by: Pavel Ondračka <pavel.ondracka@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19692>

src/amd/drm-shim/radeon_noop_drm_shim.c

index 8b1a274..04d147c 100644 (file)
@@ -187,4 +187,39 @@ drm_shim_driver_init(void)
    shim_device.version_major = 2;
    shim_device.version_minor = 50;
    shim_device.version_patchlevel = 0;
+
+   /* nothing looks at the pci id, so fix it to a RV515 */
+   static const char uevent_content[] =
+      "DRIVER=radeon\n"
+      "PCI_CLASS=30000\n"
+      "PCI_ID=1002:7140\n"
+      "PCI_SUBSYS_ID=1028:075B\n"
+      "PCI_SLOT_NAME=0000:01:00.0\n"
+      "MODALIAS=pci:v000010ded00005916sv00001028sd0000075Bbc03sc00i00\n";
+   drm_shim_override_file(uevent_content,
+                          "/sys/dev/char/%d:%d/device/uevent",
+                          DRM_MAJOR, render_node_minor);
+   drm_shim_override_file("0x0\n",
+                          "/sys/dev/char/%d:%d/device/revision",
+                          DRM_MAJOR, render_node_minor);
+   drm_shim_override_file("0x1002",
+                          "/sys/dev/char/%d:%d/device/vendor",
+                          DRM_MAJOR, render_node_minor);
+   drm_shim_override_file("0x1002",
+                          "/sys/devices/pci0000:00/0000:01:00.0/vendor");
+   drm_shim_override_file("0x7140",
+                          "/sys/dev/char/%d:%d/device/device",
+                          DRM_MAJOR, render_node_minor);
+   drm_shim_override_file("0x7140",
+                          "/sys/devices/pci0000:00/0000:01:00.0/device");
+   drm_shim_override_file("0x1234",
+                          "/sys/dev/char/%d:%d/device/subsystem_vendor",
+                          DRM_MAJOR, render_node_minor);
+   drm_shim_override_file("0x1234",
+                          "/sys/devices/pci0000:00/0000:01:00.0/subsystem_vendor");
+   drm_shim_override_file("0x1234",
+                          "/sys/dev/char/%d:%d/device/subsystem_device",
+                          DRM_MAJOR, render_node_minor);
+   drm_shim_override_file("0x1234",
+                          "/sys/devices/pci0000:00/0000:01:00.0/subsystem_device");
 }