pipe-loader: add support for non-pci (platform) devices
Culled out of the "loader: refactor duplicated code into loader util lib" patch by Rob Clark. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
This commit is contained in:
@@ -44,6 +44,7 @@ struct pipe_screen;
|
|||||||
enum pipe_loader_device_type {
|
enum pipe_loader_device_type {
|
||||||
PIPE_LOADER_DEVICE_SOFTWARE,
|
PIPE_LOADER_DEVICE_SOFTWARE,
|
||||||
PIPE_LOADER_DEVICE_PCI,
|
PIPE_LOADER_DEVICE_PCI,
|
||||||
|
PIPE_LOADER_DEVICE_PLATFORM,
|
||||||
NUM_PIPE_LOADER_DEVICE_TYPES
|
NUM_PIPE_LOADER_DEVICE_TYPES
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -121,6 +121,8 @@ pipe_loader_drm_probe_fd(struct pipe_loader_device **dev, int fd)
|
|||||||
ddev->base.type = PIPE_LOADER_DEVICE_PCI;
|
ddev->base.type = PIPE_LOADER_DEVICE_PCI;
|
||||||
ddev->base.u.pci.vendor_id = vendor_id;
|
ddev->base.u.pci.vendor_id = vendor_id;
|
||||||
ddev->base.u.pci.chip_id = chip_id;
|
ddev->base.u.pci.chip_id = chip_id;
|
||||||
|
} else {
|
||||||
|
ddev->base.type = PIPE_LOADER_DEVICE_PLATFORM;
|
||||||
}
|
}
|
||||||
ddev->base.ops = &pipe_loader_drm_ops;
|
ddev->base.ops = &pipe_loader_drm_ops;
|
||||||
ddev->fd = fd;
|
ddev->fd = fd;
|
||||||
|
@@ -63,6 +63,7 @@ device::type() const {
|
|||||||
case PIPE_LOADER_DEVICE_SOFTWARE:
|
case PIPE_LOADER_DEVICE_SOFTWARE:
|
||||||
return CL_DEVICE_TYPE_CPU;
|
return CL_DEVICE_TYPE_CPU;
|
||||||
case PIPE_LOADER_DEVICE_PCI:
|
case PIPE_LOADER_DEVICE_PCI:
|
||||||
|
case PIPE_LOADER_DEVICE_PLATFORM:
|
||||||
return CL_DEVICE_TYPE_GPU;
|
return CL_DEVICE_TYPE_GPU;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
@@ -74,6 +75,7 @@ cl_uint
|
|||||||
device::vendor_id() const {
|
device::vendor_id() const {
|
||||||
switch (ldev->type) {
|
switch (ldev->type) {
|
||||||
case PIPE_LOADER_DEVICE_SOFTWARE:
|
case PIPE_LOADER_DEVICE_SOFTWARE:
|
||||||
|
case PIPE_LOADER_DEVICE_PLATFORM:
|
||||||
return 0;
|
return 0;
|
||||||
case PIPE_LOADER_DEVICE_PCI:
|
case PIPE_LOADER_DEVICE_PCI:
|
||||||
return ldev->u.pci.vendor_id;
|
return ldev->u.pci.vendor_id;
|
||||||
|
Reference in New Issue
Block a user