mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
drm/amdkfd: Store kfd_dev in iolink and cache properties
This is required to check against cgroup permissions. Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
0e94b5640b
commit
171bc67eb5
@ -1098,6 +1098,9 @@ static struct kfd_topology_device *kfd_assign_gpu(struct kfd_dev *gpu)
|
||||
{
|
||||
struct kfd_topology_device *dev;
|
||||
struct kfd_topology_device *out_dev = NULL;
|
||||
struct kfd_mem_properties *mem;
|
||||
struct kfd_cache_properties *cache;
|
||||
struct kfd_iolink_properties *iolink;
|
||||
|
||||
down_write(&topology_lock);
|
||||
list_for_each_entry(dev, &topology_device_list, list) {
|
||||
@ -1111,6 +1114,13 @@ static struct kfd_topology_device *kfd_assign_gpu(struct kfd_dev *gpu)
|
||||
if (!dev->gpu && (dev->node_props.simd_count > 0)) {
|
||||
dev->gpu = gpu;
|
||||
out_dev = dev;
|
||||
|
||||
list_for_each_entry(mem, &dev->mem_props, list)
|
||||
mem->gpu = dev->gpu;
|
||||
list_for_each_entry(cache, &dev->cache_props, list)
|
||||
cache->gpu = dev->gpu;
|
||||
list_for_each_entry(iolink, &dev->io_link_props, list)
|
||||
iolink->gpu = dev->gpu;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -102,6 +102,7 @@ struct kfd_mem_properties {
|
||||
uint32_t flags;
|
||||
uint32_t width;
|
||||
uint32_t mem_clk_max;
|
||||
struct kfd_dev *gpu;
|
||||
struct kobject *kobj;
|
||||
struct attribute attr;
|
||||
};
|
||||
@ -123,6 +124,7 @@ struct kfd_cache_properties {
|
||||
uint32_t cache_latency;
|
||||
uint32_t cache_type;
|
||||
uint8_t sibling_map[CRAT_SIBLINGMAP_SIZE];
|
||||
struct kfd_dev *gpu;
|
||||
struct kobject *kobj;
|
||||
struct attribute attr;
|
||||
};
|
||||
@ -141,6 +143,7 @@ struct kfd_iolink_properties {
|
||||
uint32_t max_bandwidth;
|
||||
uint32_t rec_transfer_size;
|
||||
uint32_t flags;
|
||||
struct kfd_dev *gpu;
|
||||
struct kobject *kobj;
|
||||
struct attribute attr;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user