Loading MAINTAINERS +1 −1 Original line number Original line Diff line number Diff line Loading @@ -8424,7 +8424,7 @@ M: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> M: Rodrigo Vivi <rodrigo.vivi@intel.com> M: Rodrigo Vivi <rodrigo.vivi@intel.com> L: intel-gfx@lists.freedesktop.org L: intel-gfx@lists.freedesktop.org W: https://01.org/linuxgraphics/ W: https://01.org/linuxgraphics/ B: https://01.org/linuxgraphics/documentation/how-report-bugs B: https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs C: irc://chat.freenode.net/intel-gfx C: irc://chat.freenode.net/intel-gfx Q: http://patchwork.freedesktop.org/project/intel-gfx/ Q: http://patchwork.freedesktop.org/project/intel-gfx/ T: git git://anongit.freedesktop.org/drm-intel T: git git://anongit.freedesktop.org/drm-intel Loading drivers/gpu/drm/amd/amdgpu/amdgpu.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -969,6 +969,7 @@ struct amdgpu_device { int pstate; int pstate; /* enable runtime pm on the device */ /* enable runtime pm on the device */ bool runpm; bool runpm; bool in_runpm; bool pm_sysfs_en; bool pm_sysfs_en; bool ucode_sysfs_en; bool ucode_sysfs_en; Loading drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +24 −15 Original line number Original line Diff line number Diff line Loading @@ -126,7 +126,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev) /* this is going to have a few of the MSBs set that we need to /* this is going to have a few of the MSBs set that we need to * clear * clear */ */ bitmap_complement(gpu_resources.queue_bitmap, bitmap_complement(gpu_resources.cp_queue_bitmap, adev->gfx.mec.queue_bitmap, adev->gfx.mec.queue_bitmap, KGD_MAX_QUEUES); KGD_MAX_QUEUES); Loading @@ -137,7 +137,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev) * adev->gfx.mec.num_pipe_per_mec * adev->gfx.mec.num_pipe_per_mec * adev->gfx.mec.num_queue_per_pipe; * adev->gfx.mec.num_queue_per_pipe; for (i = last_valid_bit; i < KGD_MAX_QUEUES; ++i) for (i = last_valid_bit; i < KGD_MAX_QUEUES; ++i) clear_bit(i, gpu_resources.queue_bitmap); clear_bit(i, gpu_resources.cp_queue_bitmap); amdgpu_doorbell_get_kfd_info(adev, amdgpu_doorbell_get_kfd_info(adev, &gpu_resources.doorbell_physical_address, &gpu_resources.doorbell_physical_address, Loading Loading @@ -178,18 +178,18 @@ void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev, kgd2kfd_interrupt(adev->kfd.dev, ih_ring_entry); kgd2kfd_interrupt(adev->kfd.dev, ih_ring_entry); } } void amdgpu_amdkfd_suspend(struct amdgpu_device *adev) void amdgpu_amdkfd_suspend(struct amdgpu_device *adev, bool run_pm) { { if (adev->kfd.dev) if (adev->kfd.dev) kgd2kfd_suspend(adev->kfd.dev); kgd2kfd_suspend(adev->kfd.dev, run_pm); } } int amdgpu_amdkfd_resume(struct amdgpu_device *adev) int amdgpu_amdkfd_resume(struct amdgpu_device *adev, bool run_pm) { { int r = 0; int r = 0; if (adev->kfd.dev) if (adev->kfd.dev) r = kgd2kfd_resume(adev->kfd.dev); r = kgd2kfd_resume(adev->kfd.dev, run_pm); return r; return r; } } Loading Loading @@ -402,7 +402,7 @@ void amdgpu_amdkfd_get_local_mem_info(struct kgd_dev *kgd, if (amdgpu_sriov_vf(adev)) if (amdgpu_sriov_vf(adev)) mem_info->mem_clk_max = adev->clock.default_mclk / 100; mem_info->mem_clk_max = adev->clock.default_mclk / 100; else if (adev->powerplay.pp_funcs) { else if (adev->pm.dpm_enabled) { if (amdgpu_emu_mode == 1) if (amdgpu_emu_mode == 1) mem_info->mem_clk_max = 0; mem_info->mem_clk_max = 0; else else Loading @@ -427,7 +427,7 @@ uint32_t amdgpu_amdkfd_get_max_engine_clock_in_mhz(struct kgd_dev *kgd) /* the sclk is in quantas of 10kHz */ /* the sclk is in quantas of 10kHz */ if (amdgpu_sriov_vf(adev)) if (amdgpu_sriov_vf(adev)) return adev->clock.default_sclk / 100; return adev->clock.default_sclk / 100; else if (adev->powerplay.pp_funcs) else if (adev->pm.dpm_enabled) return amdgpu_dpm_get_sclk(adev, false) / 100; return amdgpu_dpm_get_sclk(adev, false) / 100; else else return 100; return 100; Loading Loading @@ -525,6 +525,14 @@ uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd) return adev->gmc.xgmi.hive_id; return adev->gmc.xgmi.hive_id; } } uint64_t amdgpu_amdkfd_get_unique_id(struct kgd_dev *kgd) { 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 kgd_dev *dst, struct kgd_dev *src) { { struct amdgpu_device *peer_adev = (struct amdgpu_device *)src; struct amdgpu_device *peer_adev = (struct amdgpu_device *)src; Loading Loading @@ -647,13 +655,9 @@ int amdgpu_amdkfd_flush_gpu_tlb_vmid(struct kgd_dev *kgd, uint16_t vmid) int amdgpu_amdkfd_flush_gpu_tlb_pasid(struct kgd_dev *kgd, uint16_t pasid) int amdgpu_amdkfd_flush_gpu_tlb_pasid(struct kgd_dev *kgd, uint16_t pasid) { { struct amdgpu_device *adev = (struct amdgpu_device *)kgd; struct amdgpu_device *adev = (struct amdgpu_device *)kgd; uint32_t flush_type = 0; const uint32_t flush_type = 0; bool all_hub = false; bool all_hub = false; if (adev->gmc.xgmi.num_physical_nodes && adev->asic_type == CHIP_VEGA20) flush_type = 2; if (adev->family == AMDGPU_FAMILY_AI) if (adev->family == AMDGPU_FAMILY_AI) all_hub = true; all_hub = true; Loading @@ -677,6 +681,11 @@ void amdgpu_amdkfd_unreserve_memory_limit(struct amdgpu_bo *bo) { { } } int amdgpu_amdkfd_remove_fence_on_pt_pd_bos(struct amdgpu_bo *bo) { return 0; } void amdgpu_amdkfd_gpuvm_destroy_cb(struct amdgpu_device *adev, void amdgpu_amdkfd_gpuvm_destroy_cb(struct amdgpu_device *adev, struct amdgpu_vm *vm) struct amdgpu_vm *vm) { { Loading Loading @@ -713,11 +722,11 @@ void kgd2kfd_exit(void) { { } } void kgd2kfd_suspend(struct kfd_dev *kfd) void kgd2kfd_suspend(struct kfd_dev *kfd, bool run_pm) { { } } int kgd2kfd_resume(struct kfd_dev *kfd) int kgd2kfd_resume(struct kfd_dev *kfd, bool run_pm) { { return 0; return 0; } } Loading drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h +6 −4 Original line number Original line Diff line number Diff line Loading @@ -96,6 +96,7 @@ struct amdgpu_amdkfd_fence *amdgpu_amdkfd_fence_create(u64 context, struct mm_struct *mm); struct mm_struct *mm); bool amdkfd_fence_check_mm(struct dma_fence *f, struct mm_struct *mm); bool amdkfd_fence_check_mm(struct dma_fence *f, struct mm_struct *mm); struct amdgpu_amdkfd_fence *to_amdgpu_amdkfd_fence(struct dma_fence *f); struct amdgpu_amdkfd_fence *to_amdgpu_amdkfd_fence(struct dma_fence *f); int amdgpu_amdkfd_remove_fence_on_pt_pd_bos(struct amdgpu_bo *bo); struct amdkfd_process_info { struct amdkfd_process_info { /* List head of all VMs that belong to a KFD process */ /* List head of all VMs that belong to a KFD process */ Loading @@ -122,8 +123,8 @@ struct amdkfd_process_info { int amdgpu_amdkfd_init(void); int amdgpu_amdkfd_init(void); void amdgpu_amdkfd_fini(void); void amdgpu_amdkfd_fini(void); void amdgpu_amdkfd_suspend(struct amdgpu_device *adev); void amdgpu_amdkfd_suspend(struct amdgpu_device *adev, bool run_pm); int amdgpu_amdkfd_resume(struct amdgpu_device *adev); int amdgpu_amdkfd_resume(struct amdgpu_device *adev, bool run_pm); void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev, void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev, const void *ih_ring_entry); const void *ih_ring_entry); void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev); void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev); Loading Loading @@ -171,6 +172,7 @@ int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, int dma_buf_fd, uint32_t *flags); uint32_t *flags); uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd); 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_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); 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_num_gws(struct kgd_dev *kgd); 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 kgd_dev *dst, struct kgd_dev *src); Loading Loading @@ -249,8 +251,8 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd, struct drm_device *ddev, 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, bool run_pm); int kgd2kfd_resume(struct kfd_dev *kfd); int kgd2kfd_resume(struct kfd_dev *kfd, bool run_pm); int kgd2kfd_pre_reset(struct kfd_dev *kfd); int kgd2kfd_pre_reset(struct kfd_dev *kfd); int kgd2kfd_post_reset(struct kfd_dev *kfd); int kgd2kfd_post_reset(struct kfd_dev *kfd); void kgd2kfd_interrupt(struct kfd_dev *kfd, const void *ih_ring_entry); void kgd2kfd_interrupt(struct kfd_dev *kfd, const void *ih_ring_entry); Loading drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -808,4 +808,5 @@ const struct kfd2kgd_calls gfx_v10_kfd2kgd = { .get_tile_config = amdgpu_amdkfd_get_tile_config, .get_tile_config = amdgpu_amdkfd_get_tile_config, .set_vm_context_page_table_base = set_vm_context_page_table_base, .set_vm_context_page_table_base = set_vm_context_page_table_base, .get_hive_id = amdgpu_amdkfd_get_hive_id, .get_hive_id = amdgpu_amdkfd_get_hive_id, .get_unique_id = amdgpu_amdkfd_get_unique_id, }; }; Loading
MAINTAINERS +1 −1 Original line number Original line Diff line number Diff line Loading @@ -8424,7 +8424,7 @@ M: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> M: Rodrigo Vivi <rodrigo.vivi@intel.com> M: Rodrigo Vivi <rodrigo.vivi@intel.com> L: intel-gfx@lists.freedesktop.org L: intel-gfx@lists.freedesktop.org W: https://01.org/linuxgraphics/ W: https://01.org/linuxgraphics/ B: https://01.org/linuxgraphics/documentation/how-report-bugs B: https://gitlab.freedesktop.org/drm/intel/-/wikis/How-to-file-i915-bugs C: irc://chat.freenode.net/intel-gfx C: irc://chat.freenode.net/intel-gfx Q: http://patchwork.freedesktop.org/project/intel-gfx/ Q: http://patchwork.freedesktop.org/project/intel-gfx/ T: git git://anongit.freedesktop.org/drm-intel T: git git://anongit.freedesktop.org/drm-intel Loading
drivers/gpu/drm/amd/amdgpu/amdgpu.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -969,6 +969,7 @@ struct amdgpu_device { int pstate; int pstate; /* enable runtime pm on the device */ /* enable runtime pm on the device */ bool runpm; bool runpm; bool in_runpm; bool pm_sysfs_en; bool pm_sysfs_en; bool ucode_sysfs_en; bool ucode_sysfs_en; Loading
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +24 −15 Original line number Original line Diff line number Diff line Loading @@ -126,7 +126,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev) /* this is going to have a few of the MSBs set that we need to /* this is going to have a few of the MSBs set that we need to * clear * clear */ */ bitmap_complement(gpu_resources.queue_bitmap, bitmap_complement(gpu_resources.cp_queue_bitmap, adev->gfx.mec.queue_bitmap, adev->gfx.mec.queue_bitmap, KGD_MAX_QUEUES); KGD_MAX_QUEUES); Loading @@ -137,7 +137,7 @@ void amdgpu_amdkfd_device_init(struct amdgpu_device *adev) * adev->gfx.mec.num_pipe_per_mec * adev->gfx.mec.num_pipe_per_mec * adev->gfx.mec.num_queue_per_pipe; * adev->gfx.mec.num_queue_per_pipe; for (i = last_valid_bit; i < KGD_MAX_QUEUES; ++i) for (i = last_valid_bit; i < KGD_MAX_QUEUES; ++i) clear_bit(i, gpu_resources.queue_bitmap); clear_bit(i, gpu_resources.cp_queue_bitmap); amdgpu_doorbell_get_kfd_info(adev, amdgpu_doorbell_get_kfd_info(adev, &gpu_resources.doorbell_physical_address, &gpu_resources.doorbell_physical_address, Loading Loading @@ -178,18 +178,18 @@ void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev, kgd2kfd_interrupt(adev->kfd.dev, ih_ring_entry); kgd2kfd_interrupt(adev->kfd.dev, ih_ring_entry); } } void amdgpu_amdkfd_suspend(struct amdgpu_device *adev) void amdgpu_amdkfd_suspend(struct amdgpu_device *adev, bool run_pm) { { if (adev->kfd.dev) if (adev->kfd.dev) kgd2kfd_suspend(adev->kfd.dev); kgd2kfd_suspend(adev->kfd.dev, run_pm); } } int amdgpu_amdkfd_resume(struct amdgpu_device *adev) int amdgpu_amdkfd_resume(struct amdgpu_device *adev, bool run_pm) { { int r = 0; int r = 0; if (adev->kfd.dev) if (adev->kfd.dev) r = kgd2kfd_resume(adev->kfd.dev); r = kgd2kfd_resume(adev->kfd.dev, run_pm); return r; return r; } } Loading Loading @@ -402,7 +402,7 @@ void amdgpu_amdkfd_get_local_mem_info(struct kgd_dev *kgd, if (amdgpu_sriov_vf(adev)) if (amdgpu_sriov_vf(adev)) mem_info->mem_clk_max = adev->clock.default_mclk / 100; mem_info->mem_clk_max = adev->clock.default_mclk / 100; else if (adev->powerplay.pp_funcs) { else if (adev->pm.dpm_enabled) { if (amdgpu_emu_mode == 1) if (amdgpu_emu_mode == 1) mem_info->mem_clk_max = 0; mem_info->mem_clk_max = 0; else else Loading @@ -427,7 +427,7 @@ uint32_t amdgpu_amdkfd_get_max_engine_clock_in_mhz(struct kgd_dev *kgd) /* the sclk is in quantas of 10kHz */ /* the sclk is in quantas of 10kHz */ if (amdgpu_sriov_vf(adev)) if (amdgpu_sriov_vf(adev)) return adev->clock.default_sclk / 100; return adev->clock.default_sclk / 100; else if (adev->powerplay.pp_funcs) else if (adev->pm.dpm_enabled) return amdgpu_dpm_get_sclk(adev, false) / 100; return amdgpu_dpm_get_sclk(adev, false) / 100; else else return 100; return 100; Loading Loading @@ -525,6 +525,14 @@ uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd) return adev->gmc.xgmi.hive_id; return adev->gmc.xgmi.hive_id; } } uint64_t amdgpu_amdkfd_get_unique_id(struct kgd_dev *kgd) { 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 kgd_dev *dst, struct kgd_dev *src) { { struct amdgpu_device *peer_adev = (struct amdgpu_device *)src; struct amdgpu_device *peer_adev = (struct amdgpu_device *)src; Loading Loading @@ -647,13 +655,9 @@ int amdgpu_amdkfd_flush_gpu_tlb_vmid(struct kgd_dev *kgd, uint16_t vmid) int amdgpu_amdkfd_flush_gpu_tlb_pasid(struct kgd_dev *kgd, uint16_t pasid) int amdgpu_amdkfd_flush_gpu_tlb_pasid(struct kgd_dev *kgd, uint16_t pasid) { { struct amdgpu_device *adev = (struct amdgpu_device *)kgd; struct amdgpu_device *adev = (struct amdgpu_device *)kgd; uint32_t flush_type = 0; const uint32_t flush_type = 0; bool all_hub = false; bool all_hub = false; if (adev->gmc.xgmi.num_physical_nodes && adev->asic_type == CHIP_VEGA20) flush_type = 2; if (adev->family == AMDGPU_FAMILY_AI) if (adev->family == AMDGPU_FAMILY_AI) all_hub = true; all_hub = true; Loading @@ -677,6 +681,11 @@ void amdgpu_amdkfd_unreserve_memory_limit(struct amdgpu_bo *bo) { { } } int amdgpu_amdkfd_remove_fence_on_pt_pd_bos(struct amdgpu_bo *bo) { return 0; } void amdgpu_amdkfd_gpuvm_destroy_cb(struct amdgpu_device *adev, void amdgpu_amdkfd_gpuvm_destroy_cb(struct amdgpu_device *adev, struct amdgpu_vm *vm) struct amdgpu_vm *vm) { { Loading Loading @@ -713,11 +722,11 @@ void kgd2kfd_exit(void) { { } } void kgd2kfd_suspend(struct kfd_dev *kfd) void kgd2kfd_suspend(struct kfd_dev *kfd, bool run_pm) { { } } int kgd2kfd_resume(struct kfd_dev *kfd) int kgd2kfd_resume(struct kfd_dev *kfd, bool run_pm) { { return 0; return 0; } } Loading
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h +6 −4 Original line number Original line Diff line number Diff line Loading @@ -96,6 +96,7 @@ struct amdgpu_amdkfd_fence *amdgpu_amdkfd_fence_create(u64 context, struct mm_struct *mm); struct mm_struct *mm); bool amdkfd_fence_check_mm(struct dma_fence *f, struct mm_struct *mm); bool amdkfd_fence_check_mm(struct dma_fence *f, struct mm_struct *mm); struct amdgpu_amdkfd_fence *to_amdgpu_amdkfd_fence(struct dma_fence *f); struct amdgpu_amdkfd_fence *to_amdgpu_amdkfd_fence(struct dma_fence *f); int amdgpu_amdkfd_remove_fence_on_pt_pd_bos(struct amdgpu_bo *bo); struct amdkfd_process_info { struct amdkfd_process_info { /* List head of all VMs that belong to a KFD process */ /* List head of all VMs that belong to a KFD process */ Loading @@ -122,8 +123,8 @@ struct amdkfd_process_info { int amdgpu_amdkfd_init(void); int amdgpu_amdkfd_init(void); void amdgpu_amdkfd_fini(void); void amdgpu_amdkfd_fini(void); void amdgpu_amdkfd_suspend(struct amdgpu_device *adev); void amdgpu_amdkfd_suspend(struct amdgpu_device *adev, bool run_pm); int amdgpu_amdkfd_resume(struct amdgpu_device *adev); int amdgpu_amdkfd_resume(struct amdgpu_device *adev, bool run_pm); void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev, void amdgpu_amdkfd_interrupt(struct amdgpu_device *adev, const void *ih_ring_entry); const void *ih_ring_entry); void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev); void amdgpu_amdkfd_device_probe(struct amdgpu_device *adev); Loading Loading @@ -171,6 +172,7 @@ int amdgpu_amdkfd_get_dmabuf_info(struct kgd_dev *kgd, int dma_buf_fd, uint32_t *flags); uint32_t *flags); uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd); 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_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); 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_num_gws(struct kgd_dev *kgd); 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 kgd_dev *dst, struct kgd_dev *src); Loading Loading @@ -249,8 +251,8 @@ bool kgd2kfd_device_init(struct kfd_dev *kfd, struct drm_device *ddev, 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, bool run_pm); int kgd2kfd_resume(struct kfd_dev *kfd); int kgd2kfd_resume(struct kfd_dev *kfd, bool run_pm); int kgd2kfd_pre_reset(struct kfd_dev *kfd); int kgd2kfd_pre_reset(struct kfd_dev *kfd); int kgd2kfd_post_reset(struct kfd_dev *kfd); int kgd2kfd_post_reset(struct kfd_dev *kfd); void kgd2kfd_interrupt(struct kfd_dev *kfd, const void *ih_ring_entry); void kgd2kfd_interrupt(struct kfd_dev *kfd, const void *ih_ring_entry); Loading
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v10.c +1 −0 Original line number Original line Diff line number Diff line Loading @@ -808,4 +808,5 @@ const struct kfd2kgd_calls gfx_v10_kfd2kgd = { .get_tile_config = amdgpu_amdkfd_get_tile_config, .get_tile_config = amdgpu_amdkfd_get_tile_config, .set_vm_context_page_table_base = set_vm_context_page_table_base, .set_vm_context_page_table_base = set_vm_context_page_table_base, .get_hive_id = amdgpu_amdkfd_get_hive_id, .get_hive_id = amdgpu_amdkfd_get_hive_id, .get_unique_id = amdgpu_amdkfd_get_unique_id, }; };