Commit 3a0c3423 authored by Harish Kasiviswanathan's avatar Harish Kasiviswanathan Committed by Alex Deucher

drm/amd: Pass drm_device to kfd

kfd needs drm_device to call into drm_cgroup functions
Signed-off-by: default avatarHarish Kasiviswanathan <Harish.Kasiviswanathan@amd.com>
Reviewed-by: default avatarFelix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 171bc67e
...@@ -204,7 +204,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev) ...@@ -204,7 +204,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev)
adev->doorbell_index.last_non_cp; adev->doorbell_index.last_non_cp;
} }
kgd2kfd_device_init(adev->kfd.dev, &gpu_resources); kgd2kfd_device_init(adev->kfd.dev, adev->ddev, &gpu_resources);
} }
} }
......
...@@ -251,6 +251,7 @@ struct kfd_dev *kgd2kfd_probe(struct kgd_dev *kgd, struct pci_dev *pdev, ...@@ -251,6 +251,7 @@ struct kfd_dev *kgd2kfd_probe(struct kgd_dev *kgd, struct pci_dev *pdev,
const struct kfd2kgd_calls *f2g, const struct kfd2kgd_calls *f2g,
unsigned int asic_type, bool vf); unsigned int asic_type, bool vf);
bool kgd2kfd_device_init(struct kfd_dev *kfd, bool kgd2kfd_device_init(struct kfd_dev *kfd,
struct drm_device *ddev,
const struct kgd2kfd_shared_resources *gpu_resources); const struct kgd2kfd_shared_resources *gpu_resources);
void kgd2kfd_device_exit(struct kfd_dev *kfd); void kgd2kfd_device_exit(struct kfd_dev *kfd);
void kgd2kfd_suspend(struct kfd_dev *kfd); void kgd2kfd_suspend(struct kfd_dev *kfd);
......
...@@ -533,10 +533,12 @@ static void kfd_cwsr_init(struct kfd_dev *kfd) ...@@ -533,10 +533,12 @@ static void kfd_cwsr_init(struct kfd_dev *kfd)
} }
bool kgd2kfd_device_init(struct kfd_dev *kfd, bool kgd2kfd_device_init(struct kfd_dev *kfd,
struct drm_device *ddev,
const struct kgd2kfd_shared_resources *gpu_resources) const struct kgd2kfd_shared_resources *gpu_resources)
{ {
unsigned int size; unsigned int size;
kfd->ddev = ddev;
kfd->mec_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd, kfd->mec_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd,
KGD_ENGINE_MEC1); KGD_ENGINE_MEC1);
kfd->sdma_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd, kfd->sdma_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd,
......
...@@ -47,6 +47,8 @@ ...@@ -47,6 +47,8 @@
/* GPU ID hash width in bits */ /* GPU ID hash width in bits */
#define KFD_GPU_ID_HASH_WIDTH 16 #define KFD_GPU_ID_HASH_WIDTH 16
struct drm_device;
/* Use upper bits of mmap offset to store KFD driver specific information. /* Use upper bits of mmap offset to store KFD driver specific information.
* BITS[63:62] - Encode MMAP type * BITS[63:62] - Encode MMAP type
* BITS[61:46] - Encode gpu_id. To identify to which GPU the offset belongs to * BITS[61:46] - Encode gpu_id. To identify to which GPU the offset belongs to
...@@ -226,6 +228,7 @@ struct kfd_dev { ...@@ -226,6 +228,7 @@ struct kfd_dev {
const struct kfd_device_info *device_info; const struct kfd_device_info *device_info;
struct pci_dev *pdev; struct pci_dev *pdev;
struct drm_device *ddev;
unsigned int id; /* topology stub index */ unsigned int id; /* topology stub index */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment