drm/amdkfd: replace kgd_dev in get amdgpu_amdkfd funcs
authorGraham Sider <Graham.Sider@amd.com>
Tue, 19 Oct 2021 14:42:38 +0000 (10:42 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 17 Nov 2021 21:58:02 +0000 (16:58 -0500)
Modified definitions:

- amdgpu_amdkfd_get_fw_version
- amdgpu_amdkfd_get_local_mem_info
- amdgpu_amdkfd_get_gpu_clock_counter
- amdgpu_amdkfd_get_max_engine_clock_in_mhz
- amdgpu_amdkfd_get_cu_info
- amdgpu_amdkfd_get_dmabuf_info
- amdgpu_amdkfd_get_vram_usage
- amdgpu_amdkfd_get_hive_id
- amdgpu_amdkfd_get_unique_id
- amdgpu_amdkfd_get_mmio_remap_phys_addr
- amdgpu_amdkfd_get_num_gws
- amdgpu_amdkfd_get_asic_rev_id
- amdgpu_amdkfd_get_noretry
- amdgpu_amdkfd_get_xgmi_hops_count
- amdgpu_amdkfd_get_xgmi_bandwidth_mbytes
- amdgpu_amdkfd_get_pcie_bandwidth_mbytes

Also replaces kfd_device_by_kgd with kfd_device_by_adev, now
searching via adev rather than kgd.

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
drivers/gpu/drm/amd/amdkfd/kfd_crat.c
drivers/gpu/drm/amd/amdkfd/kfd_device.c
drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.c
drivers/gpu/drm/amd/amdkfd/kfd_priv.h
drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
drivers/gpu/drm/amd/amdkfd/kfd_topology.c

index 69fc8f0..79a2e37 100644 (file)
@@ -358,11 +358,9 @@ void amdgpu_amdkfd_free_gws(struct amdgpu_device *adev, void *mem_obj)
        amdgpu_bo_unref(&bo);
 }
 
-uint32_t amdgpu_amdkfd_get_fw_version(struct kgd_dev *kgd,
+uint32_t amdgpu_amdkfd_get_fw_version(struct amdgpu_device *adev,
                                      enum kgd_engine_type type)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        switch (type) {
        case KGD_ENGINE_PFP:
                return adev->gfx.pfp_fw_version;
@@ -395,11 +393,9 @@ uint32_t amdgpu_amdkfd_get_fw_version(struct kgd_dev *kgd,
        return 0;
 }
 
-void amdgpu_amdkfd_get_local_mem_info(struct kgd_dev *kgd,
+void amdgpu_amdkfd_get_local_mem_info(struct amdgpu_device *adev,
                                      struct kfd_local_mem_info *mem_info)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        memset(mem_info, 0, sizeof(*mem_info));
 
        mem_info->local_mem_size_public = adev->gmc.visible_vram_size;
@@ -424,19 +420,15 @@ void amdgpu_amdkfd_get_local_mem_info(struct kgd_dev *kgd,
                mem_info->mem_clk_max = 100;
 }
 
-uint64_t amdgpu_amdkfd_get_gpu_clock_counter(struct kgd_dev *kgd)
+uint64_t amdgpu_amdkfd_get_gpu_clock_counter(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        if (adev->gfx.funcs->get_gpu_clock_counter)
                return adev->gfx.funcs->get_gpu_clock_counter(adev);
        return 0;
 }
 
-uint32_t amdgpu_amdkfd_get_max_engine_clock_in_mhz(struct kgd_dev *kgd)
+uint32_t amdgpu_amdkfd_get_max_engine_clock_in_mhz(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        /* the sclk is in quantas of 10kHz */
        if (amdgpu_sriov_vf(adev))
                return adev->clock.default_sclk / 100;
@@ -446,9 +438,8 @@ uint32_t amdgpu_amdkfd_get_max_engine_clock_in_mhz(struct kgd_dev *kgd)
                return 100;
 }
 
-void amdgpu_amdkfd_get_cu_info(struct kgd_dev *kgd, struct kfd_cu_info *cu_info)
+void amdgpu_amdkfd_get_cu_info(struct amdgpu_device *adev, struct kfd_cu_info *cu_info)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
        struct amdgpu_cu_info acu_info = adev->gfx.cu_info;
 
        memset(cu_info, 0, sizeof(*cu_info));
@@ -469,13 +460,12 @@ void amdgpu_amdkfd_get_cu_info(struct kgd_dev *kgd, struct kfd_cu_info *cu_info)
        cu_info->lds_size = acu_info.lds_size;
 }
 
-int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, int dma_buf_fd,
-                                 struct kgd_dev **dma_buf_kgd,
+int amdgpu_amdkfd_get_dmabuf_info(struct amdgpu_device *adev, int dma_buf_fd,
+                                 struct amdgpu_device **dmabuf_adev,
                                  uint64_t *bo_size, void *metadata_buffer,
                                  size_t buffer_size, uint32_t *metadata_size,
                                  uint32_t *flags)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
        struct dma_buf *dma_buf;
        struct drm_gem_object *obj;
        struct amdgpu_bo *bo;
@@ -503,8 +493,8 @@ int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, int dma_buf_fd,
                goto out_put;
 
        r = 0;
-       if (dma_buf_kgd)
-               *dma_buf_kgd = (struct kgd_dev *)adev;
+       if (dmabuf_adev)
+               *dmabuf_adev = adev;
        if (bo_size)
                *bo_size = amdgpu_bo_size(bo);
        if (metadata_buffer)
@@ -524,32 +514,28 @@ out_put:
        return r;
 }
 
-uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd)
+uint64_t amdgpu_amdkfd_get_vram_usage(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
        struct ttm_resource_manager *vram_man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
 
        return amdgpu_vram_mgr_usage(vram_man);
 }
 
-uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd)
+uint64_t amdgpu_amdkfd_get_hive_id(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        return adev->gmc.xgmi.hive_id;
 }
 
-uint64_t amdgpu_amdkfd_get_unique_id(struct kgd_dev *kgd)
+uint64_t amdgpu_amdkfd_get_unique_id(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        return adev->unique_id;
 }
 
-uint8_t amdgpu_amdkfd_get_xgmi_hops_count(struct kgd_dev *dst, struct kgd_dev *src)
+uint8_t amdgpu_amdkfd_get_xgmi_hops_count(struct amdgpu_device *dst,
+                                         struct amdgpu_device *src)
 {
-       struct amdgpu_device *peer_adev = (struct amdgpu_device *)src;
-       struct amdgpu_device *adev = (struct amdgpu_device *)dst;
+       struct amdgpu_device *peer_adev = src;
+       struct amdgpu_device *adev = dst;
        int ret = amdgpu_xgmi_get_hops_count(adev, peer_adev);
 
        if (ret < 0) {
@@ -561,16 +547,18 @@ uint8_t amdgpu_amdkfd_get_xgmi_hops_count(struct kgd_dev *dst, struct kgd_dev *s
        return  (uint8_t)ret;
 }
 
-int amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(struct kgd_dev *dst, struct kgd_dev *src, bool is_min)
+int amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(struct amdgpu_device *dst,
+                                           struct amdgpu_device *src,
+                                           bool is_min)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)dst, *peer_adev;
+       struct amdgpu_device *adev = dst, *peer_adev;
        int num_links;
 
        if (adev->asic_type != CHIP_ALDEBARAN)
                return 0;
 
        if (src)
-               peer_adev = (struct amdgpu_device *)src;
+               peer_adev = src;
 
        /* num links returns 0 for indirect peers since indirect route is unknown. */
        num_links = is_min ? 1 : amdgpu_xgmi_get_num_links(adev, peer_adev);
@@ -585,9 +573,8 @@ int amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(struct kgd_dev *dst, struct kgd_dev
        return (num_links * 16 * 25000)/BITS_PER_BYTE;
 }
 
-int amdgpu_amdkfd_get_pcie_bandwidth_mbytes(struct kgd_dev *dev, bool is_min)
+int amdgpu_amdkfd_get_pcie_bandwidth_mbytes(struct amdgpu_device *adev, bool is_min)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)dev;
        int num_lanes_shift = (is_min ? ffs(adev->pm.pcie_mlw_mask) :
                                                        fls(adev->pm.pcie_mlw_mask)) - 1;
        int gen_speed_shift = (is_min ? ffs(adev->pm.pcie_gen_mask &
@@ -643,31 +630,23 @@ int amdgpu_amdkfd_get_pcie_bandwidth_mbytes(struct kgd_dev *dev, bool is_min)
        return (num_lanes_factor * gen_speed_mbits_factor)/BITS_PER_BYTE;
 }
 
-uint64_t amdgpu_amdkfd_get_mmio_remap_phys_addr(struct kgd_dev *kgd)
+uint64_t amdgpu_amdkfd_get_mmio_remap_phys_addr(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        return adev->rmmio_remap.bus_addr;
 }
 
-uint32_t amdgpu_amdkfd_get_num_gws(struct kgd_dev *kgd)
+uint32_t amdgpu_amdkfd_get_num_gws(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        return adev->gds.gws_size;
 }
 
-uint32_t amdgpu_amdkfd_get_asic_rev_id(struct kgd_dev *kgd)
+uint32_t amdgpu_amdkfd_get_asic_rev_id(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        return adev->rev_id;
 }
 
-int amdgpu_amdkfd_get_noretry(struct kgd_dev *kgd)
+int amdgpu_amdkfd_get_noretry(struct amdgpu_device *adev)
 {
-       struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
        return adev->gmc.noretry;
 }
 
index a4b9902..bd750ea 100644 (file)
@@ -209,29 +209,33 @@ int amdgpu_amdkfd_alloc_gws(struct amdgpu_device *adev, size_t size,
 void amdgpu_amdkfd_free_gws(struct amdgpu_device *adev, void *mem_obj);
 int amdgpu_amdkfd_add_gws_to_process(void *info, void *gws, struct kgd_mem **mem);
 int amdgpu_amdkfd_remove_gws_from_process(void *info, void *mem);
-uint32_t amdgpu_amdkfd_get_fw_version(struct kgd_dev *kgd,
+uint32_t amdgpu_amdkfd_get_fw_version(struct amdgpu_device *adev,
                                      enum kgd_engine_type type);
-void amdgpu_amdkfd_get_local_mem_info(struct kgd_dev *kgd,
+void amdgpu_amdkfd_get_local_mem_info(struct amdgpu_device *adev,
                                      struct kfd_local_mem_info *mem_info);
-uint64_t amdgpu_amdkfd_get_gpu_clock_counter(struct kgd_dev *kgd);
+uint64_t amdgpu_amdkfd_get_gpu_clock_counter(struct amdgpu_device *adev);
 
-uint32_t amdgpu_amdkfd_get_max_engine_clock_in_mhz(struct kgd_dev *kgd);
-void amdgpu_amdkfd_get_cu_info(struct kgd_dev *kgd, struct kfd_cu_info *cu_info);
-int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, int dma_buf_fd,
-                                 struct kgd_dev **dmabuf_kgd,
+uint32_t amdgpu_amdkfd_get_max_engine_clock_in_mhz(struct amdgpu_device *adev);
+void amdgpu_amdkfd_get_cu_info(struct amdgpu_device *adev,
+                              struct kfd_cu_info *cu_info);
+int amdgpu_amdkfd_get_dmabuf_info(struct amdgpu_device *adev, int dma_buf_fd,
+                                 struct amdgpu_device **dmabuf_adev,
                                  uint64_t *bo_size, void *metadata_buffer,
                                  size_t buffer_size, uint32_t *metadata_size,
                                  uint32_t *flags);
-uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd);
-uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd);
-uint64_t amdgpu_amdkfd_get_unique_id(struct kgd_dev *kgd);
-uint64_t amdgpu_amdkfd_get_mmio_remap_phys_addr(struct kgd_dev *kgd);
-uint32_t amdgpu_amdkfd_get_num_gws(struct kgd_dev *kgd);
-uint32_t amdgpu_amdkfd_get_asic_rev_id(struct kgd_dev *kgd);
-int amdgpu_amdkfd_get_noretry(struct kgd_dev *kgd);
-uint8_t amdgpu_amdkfd_get_xgmi_hops_count(struct kgd_dev *dst, struct kgd_dev *src);
-int amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(struct kgd_dev *dst, struct kgd_dev *src, bool is_min);
-int amdgpu_amdkfd_get_pcie_bandwidth_mbytes(struct kgd_dev *dev, bool is_min);
+uint64_t amdgpu_amdkfd_get_vram_usage(struct amdgpu_device *adev);
+uint64_t amdgpu_amdkfd_get_hive_id(struct amdgpu_device *adev);
+uint64_t amdgpu_amdkfd_get_unique_id(struct amdgpu_device *adev);
+uint64_t amdgpu_amdkfd_get_mmio_remap_phys_addr(struct amdgpu_device *adev);
+uint32_t amdgpu_amdkfd_get_num_gws(struct amdgpu_device *adev);
+uint32_t amdgpu_amdkfd_get_asic_rev_id(struct amdgpu_device *adev);
+int amdgpu_amdkfd_get_noretry(struct amdgpu_device *adev);
+uint8_t amdgpu_amdkfd_get_xgmi_hops_count(struct amdgpu_device *dst,
+                                         struct amdgpu_device *src);
+int amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(struct amdgpu_device *dst,
+                                           struct amdgpu_device *src,
+                                           bool is_min);
+int amdgpu_amdkfd_get_pcie_bandwidth_mbytes(struct amdgpu_device *adev, bool is_min);
 
 /* Read user wptr from a specified user address space with page fault
  * disabled. The memory must be pinned and mapped to the hardware when
index 41a5a21..e34e099 100644 (file)
@@ -851,7 +851,7 @@ static int kfd_ioctl_get_clock_counters(struct file *filep,
        dev = kfd_device_by_id(args->gpu_id);
        if (dev)
                /* Reading GPU clock counter from KGD */
-               args->gpu_clock_counter = amdgpu_amdkfd_get_gpu_clock_counter(dev->kgd);
+               args->gpu_clock_counter = amdgpu_amdkfd_get_gpu_clock_counter(dev->adev);
        else
                /* Node without GPU resource */
                args->gpu_clock_counter = 0;
@@ -1244,7 +1244,7 @@ bool kfd_dev_is_large_bar(struct kfd_dev *dev)
        if (dev->use_iommu_v2)
                return false;
 
-       amdgpu_amdkfd_get_local_mem_info(dev->kgd, &mem_info);
+       amdgpu_amdkfd_get_local_mem_info(dev->adev, &mem_info);
        if (mem_info.local_mem_size_private == 0 &&
                        mem_info.local_mem_size_public > 0)
                return true;
@@ -1313,7 +1313,7 @@ static int kfd_ioctl_alloc_memory_of_gpu(struct file *filep,
                        err = -EINVAL;
                        goto err_unlock;
                }
-               offset = amdgpu_amdkfd_get_mmio_remap_phys_addr(dev->kgd);
+               offset = amdgpu_amdkfd_get_mmio_remap_phys_addr(dev->adev);
                if (!offset) {
                        err = -ENOMEM;
                        goto err_unlock;
@@ -1680,7 +1680,7 @@ static int kfd_ioctl_get_dmabuf_info(struct file *filep,
 {
        struct kfd_ioctl_get_dmabuf_info_args *args = data;
        struct kfd_dev *dev = NULL;
-       struct kgd_dev *dma_buf_kgd;
+       struct amdgpu_device *dmabuf_adev;
        void *metadata_buffer = NULL;
        uint32_t flags;
        unsigned int i;
@@ -1700,15 +1700,15 @@ static int kfd_ioctl_get_dmabuf_info(struct file *filep,
        }
 
        /* Get dmabuf info from KGD */
-       r = amdgpu_amdkfd_get_dmabuf_info(dev->kgd, args->dmabuf_fd,
-                                         &dma_buf_kgd, &args->size,
+       r = amdgpu_amdkfd_get_dmabuf_info(dev->adev, args->dmabuf_fd,
+                                         &dmabuf_adev, &args->size,
                                          metadata_buffer, args->metadata_size,
                                          &args->metadata_size, &flags);
        if (r)
                goto exit;
 
        /* Reverse-lookup gpu_id from kgd pointer */
-       dev = kfd_device_by_kgd(dma_buf_kgd);
+       dev = kfd_device_by_adev(dmabuf_adev);
        if (!dev) {
                r = -EINVAL;
                goto exit;
@@ -2066,7 +2066,7 @@ static int kfd_mmio_mmap(struct kfd_dev *dev, struct kfd_process *process,
        if (vma->vm_end - vma->vm_start != PAGE_SIZE)
                return -EINVAL;
 
-       address = amdgpu_amdkfd_get_mmio_remap_phys_addr(dev->kgd);
+       address = amdgpu_amdkfd_get_mmio_remap_phys_addr(dev->adev);
 
        vma->vm_flags |= VM_IO | VM_DONTCOPY | VM_DONTEXPAND | VM_NORESERVE |
                                VM_DONTDUMP | VM_PFNMAP;
index cfedfb1..7143550 100644 (file)
@@ -1993,16 +1993,16 @@ static int kfd_fill_gpu_direct_io_link_to_cpu(int *avail_size,
                if (adev->asic_type == CHIP_ALDEBARAN) {
                        sub_type_hdr->minimum_bandwidth_mbs =
                                        amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(
-                                                       kdev->kgd, NULL, true);
+                                                       kdev->adev, NULL, true);
                        sub_type_hdr->maximum_bandwidth_mbs =
                                        sub_type_hdr->minimum_bandwidth_mbs;
                }
        } else {
                sub_type_hdr->io_interface_type = CRAT_IOLINK_TYPE_PCIEXPRESS;
                sub_type_hdr->minimum_bandwidth_mbs =
-                               amdgpu_amdkfd_get_pcie_bandwidth_mbytes(kdev->kgd, true);
+                               amdgpu_amdkfd_get_pcie_bandwidth_mbytes(kdev->adev, true);
                sub_type_hdr->maximum_bandwidth_mbs =
-                               amdgpu_amdkfd_get_pcie_bandwidth_mbytes(kdev->kgd, false);
+                               amdgpu_amdkfd_get_pcie_bandwidth_mbytes(kdev->adev, false);
        }
 
        sub_type_hdr->proximity_domain_from = proximity_domain;
@@ -2044,11 +2044,11 @@ static int kfd_fill_gpu_xgmi_link_to_gpu(int *avail_size,
        sub_type_hdr->proximity_domain_from = proximity_domain_from;
        sub_type_hdr->proximity_domain_to = proximity_domain_to;
        sub_type_hdr->num_hops_xgmi =
-               amdgpu_amdkfd_get_xgmi_hops_count(kdev->kgd, peer_kdev->kgd);
+               amdgpu_amdkfd_get_xgmi_hops_count(kdev->adev, peer_kdev->adev);
        sub_type_hdr->maximum_bandwidth_mbs =
-               amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(kdev->kgd, peer_kdev->kgd, false);
+               amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(kdev->adev, peer_kdev->adev, false);
        sub_type_hdr->minimum_bandwidth_mbs = sub_type_hdr->maximum_bandwidth_mbs ?
-               amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(kdev->kgd, NULL, true) : 0;
+               amdgpu_amdkfd_get_xgmi_bandwidth_mbytes(kdev->adev, NULL, true) : 0;
 
        return 0;
 }
@@ -2114,7 +2114,7 @@ static int kfd_create_vcrat_image_gpu(void *pcrat_image,
        cu->flags |= CRAT_CU_FLAGS_GPU_PRESENT;
        cu->proximity_domain = proximity_domain;
 
-       amdgpu_amdkfd_get_cu_info(kdev->kgd, &cu_info);
+       amdgpu_amdkfd_get_cu_info(kdev->adev, &cu_info);
        cu->num_simd_per_cu = cu_info.simd_per_cu;
        cu->num_simd_cores = cu_info.simd_per_cu * cu_info.cu_active_number;
        cu->max_waves_simd = cu_info.max_waves_per_simd;
@@ -2145,7 +2145,7 @@ static int kfd_create_vcrat_image_gpu(void *pcrat_image,
         * report the total FB size (public+private) as a single
         * private heap.
         */
-       amdgpu_amdkfd_get_local_mem_info(kdev->kgd, &local_mem_info);
+       amdgpu_amdkfd_get_local_mem_info(kdev->adev, &local_mem_info);
        sub_type_hdr = (typeof(sub_type_hdr))((char *)sub_type_hdr +
                        sub_type_hdr->length);
 
index bf0c88b..a320827 100644 (file)
@@ -894,7 +894,7 @@ static int kfd_gws_init(struct kfd_dev *kfd)
                || (kfd->device_info->asic_family == CHIP_ALDEBARAN
                        && kfd->mec2_fw_version >= 0x28))
                ret = amdgpu_amdkfd_alloc_gws(kfd->adev,
-                               amdgpu_amdkfd_get_num_gws(kfd->kgd), &kfd->gws);
+                               amdgpu_amdkfd_get_num_gws(kfd->adev), &kfd->gws);
 
        return ret;
 }
@@ -911,11 +911,11 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
        unsigned int size, map_process_packet_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->adev,
                        KGD_ENGINE_MEC1);
-       kfd->mec2_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd,
+       kfd->mec2_fw_version = amdgpu_amdkfd_get_fw_version(kfd->adev,
                        KGD_ENGINE_MEC2);
-       kfd->sdma_fw_version = amdgpu_amdkfd_get_fw_version(kfd->kgd,
+       kfd->sdma_fw_version = amdgpu_amdkfd_get_fw_version(kfd->adev,
                        KGD_ENGINE_SDMA1);
        kfd->shared_resources = *gpu_resources;
 
@@ -996,9 +996,9 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
                goto kfd_doorbell_error;
        }
 
-       kfd->hive_id = amdgpu_amdkfd_get_hive_id(kfd->kgd);
+       kfd->hive_id = amdgpu_amdkfd_get_hive_id(kfd->adev);
 
-       kfd->noretry = amdgpu_amdkfd_get_noretry(kfd->kgd);
+       kfd->noretry = amdgpu_amdkfd_get_noretry(kfd->adev);
 
        if (kfd_interrupt_init(kfd)) {
                dev_err(kfd_device, "Error initializing interrupts\n");
@@ -1016,7 +1016,7 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd,
         */
        if (kfd_gws_init(kfd)) {
                dev_err(kfd_device, "Could not allocate %d gws\n",
-                       amdgpu_amdkfd_get_num_gws(kfd->kgd));
+                       amdgpu_amdkfd_get_num_gws(kfd->adev));
                goto gws_error;
        }
 
index c021519..7b41189 100644 (file)
@@ -100,7 +100,7 @@ void mqd_symmetrically_map_cu_mask(struct mqd_manager *mm,
        struct kfd_cu_info cu_info;
        uint32_t cu_per_sh[KFD_MAX_NUM_SE][KFD_MAX_NUM_SH_PER_SE] = {0};
        int i, se, sh, cu;
-       amdgpu_amdkfd_get_cu_info(mm->dev->kgd, &cu_info);
+       amdgpu_amdkfd_get_cu_info(mm->dev->adev, &cu_info);
 
        if (cu_mask_count > cu_info.cu_active_number)
                cu_mask_count = cu_info.cu_active_number;
index ac4f784..8a5e1fa 100644 (file)
@@ -985,7 +985,7 @@ struct kfd_topology_device *kfd_topology_device_by_proximity_domain(
 struct kfd_topology_device *kfd_topology_device_by_id(uint32_t gpu_id);
 struct kfd_dev *kfd_device_by_id(uint32_t gpu_id);
 struct kfd_dev *kfd_device_by_pci_dev(const struct pci_dev *pdev);
-struct kfd_dev *kfd_device_by_kgd(const struct kgd_dev *kgd);
+struct kfd_dev *kfd_device_by_adev(const struct amdgpu_device *adev);
 int kfd_topology_enum_kfd_devices(uint8_t idx, struct kfd_dev **kdev);
 int kfd_numa_node_to_apic_id(int numa_node_id);
 void kfd_double_confirm_iommu_support(struct kfd_dev *gpu);
index 3627e7a..62dc41c 100644 (file)
@@ -118,7 +118,7 @@ int pqm_set_gws(struct process_queue_manager *pqm, unsigned int qid,
                return ret;
 
        pqn->q->gws = mem;
-       pdd->qpd.num_gws = gws ? amdgpu_amdkfd_get_num_gws(dev->kgd) : 0;
+       pdd->qpd.num_gws = gws ? amdgpu_amdkfd_get_num_gws(dev->adev) : 0;
 
        return pqn->q->device->dqm->ops.update_queue(pqn->q->device->dqm,
                                                        pqn->q, NULL);
index dd593ad..31610b4 100644 (file)
@@ -113,7 +113,7 @@ struct kfd_dev *kfd_device_by_pci_dev(const struct pci_dev *pdev)
        return device;
 }
 
-struct kfd_dev *kfd_device_by_kgd(const struct kgd_dev *kgd)
+struct kfd_dev *kfd_device_by_adev(const struct amdgpu_device *adev)
 {
        struct kfd_topology_device *top_dev;
        struct kfd_dev *device = NULL;
@@ -121,7 +121,7 @@ struct kfd_dev *kfd_device_by_kgd(const struct kgd_dev *kgd)
        down_read(&topology_lock);
 
        list_for_each_entry(top_dev, &topology_device_list, list)
-               if (top_dev->gpu && top_dev->gpu->kgd == kgd) {
+               if (top_dev->gpu && top_dev->gpu->adev == adev) {
                        device = top_dev->gpu;
                        break;
                }
@@ -531,7 +531,7 @@ static ssize_t node_show(struct kobject *kobj, struct attribute *attr,
                sysfs_show_32bit_prop(buffer, offs, "sdma_fw_version",
                                      dev->gpu->sdma_fw_version);
                sysfs_show_64bit_prop(buffer, offs, "unique_id",
-                                     amdgpu_amdkfd_get_unique_id(dev->gpu->kgd));
+                                     amdgpu_amdkfd_get_unique_id(dev->gpu->adev));
 
        }
 
@@ -1106,7 +1106,7 @@ static uint32_t kfd_generate_gpu_id(struct kfd_dev *gpu)
        if (!gpu)
                return 0;
 
-       amdgpu_amdkfd_get_local_mem_info(gpu->kgd, &local_mem_info);
+       amdgpu_amdkfd_get_local_mem_info(gpu->adev, &local_mem_info);
 
        local_mem_size = local_mem_info.local_mem_size_private +
                        local_mem_info.local_mem_size_public;
@@ -1189,7 +1189,7 @@ static void kfd_fill_mem_clk_max_info(struct kfd_topology_device *dev)
         * for APUs - If CRAT from ACPI reports more than one bank, then
         *      all the banks will report the same mem_clk_max information
         */
-       amdgpu_amdkfd_get_local_mem_info(dev->gpu->kgd, &local_mem_info);
+       amdgpu_amdkfd_get_local_mem_info(dev->gpu->adev, &local_mem_info);
 
        list_for_each_entry(mem, &dev->mem_props, list)
                mem->mem_clk_max = local_mem_info.mem_clk_max;
@@ -1372,7 +1372,7 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
         * needed for the topology
         */
 
-       amdgpu_amdkfd_get_cu_info(dev->gpu->kgd, &cu_info);
+       amdgpu_amdkfd_get_cu_info(dev->gpu->adev, &cu_info);
 
        strncpy(dev->node_props.name, gpu->device_info->asic_name,
                        KFD_TOPOLOGY_PUBLIC_NAME_SIZE);
@@ -1384,13 +1384,13 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
        dev->node_props.vendor_id = gpu->pdev->vendor;
        dev->node_props.device_id = gpu->pdev->device;
        dev->node_props.capability |=
-               ((amdgpu_amdkfd_get_asic_rev_id(dev->gpu->kgd) <<
+               ((amdgpu_amdkfd_get_asic_rev_id(dev->gpu->adev) <<
                        HSA_CAP_ASIC_REVISION_SHIFT) &
                        HSA_CAP_ASIC_REVISION_MASK);
        dev->node_props.location_id = pci_dev_id(gpu->pdev);
        dev->node_props.domain = pci_domain_nr(gpu->pdev->bus);
        dev->node_props.max_engine_clk_fcompute =
-               amdgpu_amdkfd_get_max_engine_clock_in_mhz(dev->gpu->kgd);
+               amdgpu_amdkfd_get_max_engine_clock_in_mhz(dev->gpu->adev);
        dev->node_props.max_engine_clk_ccompute =
                cpufreq_quick_get_max(0) / 1000;
        dev->node_props.drm_render_minor =
@@ -1404,7 +1404,7 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
                                gpu->device_info->num_sdma_queues_per_engine;
        dev->node_props.num_gws = (dev->gpu->gws &&
                dev->gpu->dqm->sched_policy != KFD_SCHED_POLICY_NO_HWS) ?
-               amdgpu_amdkfd_get_num_gws(dev->gpu->kgd) : 0;
+               amdgpu_amdkfd_get_num_gws(dev->gpu->adev) : 0;
        dev->node_props.num_cp_queues = get_cp_queues_num(dev->gpu->dqm);
 
        kfd_fill_mem_clk_max_info(dev);