Commit f4fa88ab authored by Christian König's avatar Christian König Committed by Oded Gabbay

drm/radeon: deprecate and remove KFD interface

To quote Felix: "For testing KV with current user mode stack, please use
amdgpu. I don't expect this to work with radeon and I'm not planning to
spend any effort on making radeon work with a current user mode stack."

Only compile tested, but should be straight forward.
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarOded Gabbay <oded.gabbay@gmail.com>
parent 48e876a2
...@@ -759,8 +759,6 @@ F: drivers/gpu/drm/amd/amdkfd/ ...@@ -759,8 +759,6 @@ F: drivers/gpu/drm/amd/amdkfd/
F: drivers/gpu/drm/amd/include/cik_structs.h F: drivers/gpu/drm/amd/include/cik_structs.h
F: drivers/gpu/drm/amd/include/kgd_kfd_interface.h F: drivers/gpu/drm/amd/include/kgd_kfd_interface.h
F: drivers/gpu/drm/amd/include/vi_structs.h F: drivers/gpu/drm/amd/include/vi_structs.h
F: drivers/gpu/drm/radeon/radeon_kfd.c
F: drivers/gpu/drm/radeon/radeon_kfd.h
F: include/uapi/linux/kfd_ioctl.h F: include/uapi/linux/kfd_ioctl.h
AMD SEATTLE DEVICE TREE SUPPORT AMD SEATTLE DEVICE TREE SUPPORT
......
...@@ -4,6 +4,6 @@ ...@@ -4,6 +4,6 @@
config HSA_AMD config HSA_AMD
tristate "HSA kernel driver for AMD GPU devices" tristate "HSA kernel driver for AMD GPU devices"
depends on (DRM_RADEON || DRM_AMDGPU) && AMD_IOMMU_V2 && X86_64 depends on DRM_AMDGPU && AMD_IOMMU_V2 && X86_64
help help
Enable this if you want to use HSA features on AMD GPU devices. Enable this if you want to use HSA features on AMD GPU devices.
...@@ -102,8 +102,7 @@ radeon-y += \ ...@@ -102,8 +102,7 @@ radeon-y += \
radeon-y += \ radeon-y += \
radeon_vce.o \ radeon_vce.o \
vce_v1_0.o \ vce_v1_0.o \
vce_v2_0.o \ vce_v2_0.o
radeon_kfd.o
radeon-$(CONFIG_VGA_SWITCHEROO) += radeon_atpx_handler.o radeon-$(CONFIG_VGA_SWITCHEROO) += radeon_atpx_handler.o
radeon-$(CONFIG_ACPI) += radeon_acpi.o radeon-$(CONFIG_ACPI) += radeon_acpi.o
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
#include "cik_blit_shaders.h" #include "cik_blit_shaders.h"
#include "radeon_ucode.h" #include "radeon_ucode.h"
#include "clearstate_ci.h" #include "clearstate_ci.h"
#include "radeon_kfd.h"
#define SH_MEM_CONFIG_GFX_DEFAULT \ #define SH_MEM_CONFIG_GFX_DEFAULT \
ALIGNMENT_MODE(SH_MEM_ALIGNMENT_MODE_UNALIGNED) ALIGNMENT_MODE(SH_MEM_ALIGNMENT_MODE_UNALIGNED)
...@@ -5684,10 +5683,9 @@ int cik_vm_init(struct radeon_device *rdev) ...@@ -5684,10 +5683,9 @@ int cik_vm_init(struct radeon_device *rdev)
/* /*
* number of VMs * number of VMs
* VMID 0 is reserved for System * VMID 0 is reserved for System
* radeon graphics/compute will use VMIDs 1-7 * radeon graphics/compute will use VMIDs 1-15
* amdkfd will use VMIDs 8-15
*/ */
rdev->vm_manager.nvm = RADEON_NUM_OF_VMIDS; rdev->vm_manager.nvm = 16;
/* base offset of vram pages */ /* base offset of vram pages */
if (rdev->flags & RADEON_IS_IGP) { if (rdev->flags & RADEON_IS_IGP) {
u64 tmp = RREG32(MC_VM_FB_OFFSET); u64 tmp = RREG32(MC_VM_FB_OFFSET);
...@@ -7589,9 +7587,6 @@ int cik_irq_process(struct radeon_device *rdev) ...@@ -7589,9 +7587,6 @@ int cik_irq_process(struct radeon_device *rdev)
/* wptr/rptr are in bytes! */ /* wptr/rptr are in bytes! */
ring_index = rptr / 4; ring_index = rptr / 4;
radeon_kfd_interrupt(rdev,
(const void *) &rdev->ih.ring[ring_index]);
src_id = le32_to_cpu(rdev->ih.ring[ring_index]) & 0xff; src_id = le32_to_cpu(rdev->ih.ring[ring_index]) & 0xff;
src_data = le32_to_cpu(rdev->ih.ring[ring_index + 1]) & 0xfffffff; src_data = le32_to_cpu(rdev->ih.ring[ring_index + 1]) & 0xfffffff;
ring_id = le32_to_cpu(rdev->ih.ring[ring_index + 2]) & 0xff; ring_id = le32_to_cpu(rdev->ih.ring[ring_index + 2]) & 0xff;
...@@ -8486,10 +8481,6 @@ static int cik_startup(struct radeon_device *rdev) ...@@ -8486,10 +8481,6 @@ static int cik_startup(struct radeon_device *rdev)
if (r) if (r)
return r; return r;
r = radeon_kfd_resume(rdev);
if (r)
return r;
return 0; return 0;
} }
...@@ -8538,7 +8529,6 @@ int cik_resume(struct radeon_device *rdev) ...@@ -8538,7 +8529,6 @@ int cik_resume(struct radeon_device *rdev)
*/ */
int cik_suspend(struct radeon_device *rdev) int cik_suspend(struct radeon_device *rdev)
{ {
radeon_kfd_suspend(rdev);
radeon_pm_suspend(rdev); radeon_pm_suspend(rdev);
radeon_audio_fini(rdev); radeon_audio_fini(rdev);
radeon_vm_manager_fini(rdev); radeon_vm_manager_fini(rdev);
......
...@@ -30,8 +30,6 @@ ...@@ -30,8 +30,6 @@
#define CIK_RB_BITMAP_WIDTH_PER_SH 2 #define CIK_RB_BITMAP_WIDTH_PER_SH 2
#define HAWAII_RB_BITMAP_WIDTH_PER_SH 4 #define HAWAII_RB_BITMAP_WIDTH_PER_SH 4
#define RADEON_NUM_OF_VMIDS 8
/* DIDT IND registers */ /* DIDT IND registers */
#define DIDT_SQ_CTRL0 0x0 #define DIDT_SQ_CTRL0 0x0
# define DIDT_CTRL_EN (1 << 0) # define DIDT_CTRL_EN (1 << 0)
......
...@@ -2456,9 +2456,6 @@ struct radeon_device { ...@@ -2456,9 +2456,6 @@ struct radeon_device {
u64 vram_pin_size; u64 vram_pin_size;
u64 gart_pin_size; u64 gart_pin_size;
/* amdkfd interface */
struct kfd_dev *kfd;
struct mutex mn_lock; struct mutex mn_lock;
DECLARE_HASHTABLE(mn_hash, 7); DECLARE_HASHTABLE(mn_hash, 7);
}; };
......
...@@ -43,7 +43,6 @@ ...@@ -43,7 +43,6 @@
#include <drm/drm_fb_helper.h> #include <drm/drm_fb_helper.h>
#include <drm/drm_crtc_helper.h> #include <drm/drm_crtc_helper.h>
#include "radeon_kfd.h"
/* /*
* KMS wrapper. * KMS wrapper.
...@@ -338,14 +337,6 @@ static int radeon_pci_probe(struct pci_dev *pdev, ...@@ -338,14 +337,6 @@ static int radeon_pci_probe(struct pci_dev *pdev,
{ {
int ret; int ret;
/*
* Initialize amdkfd before starting radeon. If it was not loaded yet,
* defer radeon probing
*/
ret = radeon_kfd_init();
if (ret == -EPROBE_DEFER)
return ret;
if (vga_switcheroo_client_probe_defer(pdev)) if (vga_switcheroo_client_probe_defer(pdev))
return -EPROBE_DEFER; return -EPROBE_DEFER;
...@@ -645,7 +636,6 @@ static int __init radeon_init(void) ...@@ -645,7 +636,6 @@ static int __init radeon_init(void)
static void __exit radeon_exit(void) static void __exit radeon_exit(void)
{ {
radeon_kfd_fini();
pci_unregister_driver(pdriver); pci_unregister_driver(pdriver);
radeon_unregister_atpx_handler(); radeon_unregister_atpx_handler();
} }
......
This diff is collapsed.
/*
* Copyright 2014 Advanced Micro Devices, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
/*
* radeon_kfd.h defines the private interface between the
* AMD kernel graphics drivers and the AMD KFD.
*/
#ifndef RADEON_KFD_H_INCLUDED
#define RADEON_KFD_H_INCLUDED
#include <linux/types.h>
#include "kgd_kfd_interface.h"
struct radeon_device;
int radeon_kfd_init(void);
void radeon_kfd_fini(void);
void radeon_kfd_suspend(struct radeon_device *rdev);
int radeon_kfd_resume(struct radeon_device *rdev);
void radeon_kfd_interrupt(struct radeon_device *rdev,
const void *ih_ring_entry);
void radeon_kfd_device_probe(struct radeon_device *rdev);
void radeon_kfd_device_init(struct radeon_device *rdev);
void radeon_kfd_device_fini(struct radeon_device *rdev);
#endif /* RADEON_KFD_H_INCLUDED */
...@@ -34,8 +34,6 @@ ...@@ -34,8 +34,6 @@
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/pm_runtime.h> #include <linux/pm_runtime.h>
#include "radeon_kfd.h"
#if defined(CONFIG_VGA_SWITCHEROO) #if defined(CONFIG_VGA_SWITCHEROO)
bool radeon_has_atpx(void); bool radeon_has_atpx(void);
#else #else
...@@ -68,8 +66,6 @@ void radeon_driver_unload_kms(struct drm_device *dev) ...@@ -68,8 +66,6 @@ void radeon_driver_unload_kms(struct drm_device *dev)
pm_runtime_forbid(dev->dev); pm_runtime_forbid(dev->dev);
} }
radeon_kfd_device_fini(rdev);
radeon_acpi_fini(rdev); radeon_acpi_fini(rdev);
radeon_modeset_fini(rdev); radeon_modeset_fini(rdev);
...@@ -174,9 +170,6 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags) ...@@ -174,9 +170,6 @@ int radeon_driver_load_kms(struct drm_device *dev, unsigned long flags)
"Error during ACPI methods call\n"); "Error during ACPI methods call\n");
} }
radeon_kfd_device_probe(rdev);
radeon_kfd_device_init(rdev);
if (radeon_is_px(dev)) { if (radeon_is_px(dev)) {
pm_runtime_use_autosuspend(dev->dev); pm_runtime_use_autosuspend(dev->dev);
pm_runtime_set_autosuspend_delay(dev->dev, 5000); pm_runtime_set_autosuspend_delay(dev->dev, 5000);
......
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