aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1697-drm-amdkfd-Remove-BUG_ONs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1697-drm-amdkfd-Remove-BUG_ONs.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1697-drm-amdkfd-Remove-BUG_ONs.patch1385
1 files changed, 0 insertions, 1385 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1697-drm-amdkfd-Remove-BUG_ONs.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1697-drm-amdkfd-Remove-BUG_ONs.patch
deleted file mode 100644
index c97ec4b7..00000000
--- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/1697-drm-amdkfd-Remove-BUG_ONs.patch
+++ /dev/null
@@ -1,1385 +0,0 @@
-From 0f6abd7e568698e04ad40a4fc8b9565a5685502b Mon Sep 17 00:00:00 2001
-From: Kent Russell <kent.russell@amd.com>
-Date: Mon, 27 Mar 2017 10:43:45 -0400
-Subject: [PATCH 1697/4131] drm/amdkfd: Remove BUG_ONs
-
-FOr the most part, these are internal functions and we don't need to
-check the validity of the parameters. A BUG_ON would be essentially
-the same as a NULL reference anyways. Remove most of the BUG_ONs for
-simple parameter checking, and change the ones that matter to either
-WARN_ON (for void functions) or pr_err (for int functions)
-
-Change-Id: I7268b3c29bac5e87545a1a18ae5acdec8175b684
-Signed-off-by: Kent Russell <kent.russell@amd.com>
-
- Conflicts:
- drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 8 ---
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2 -
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 2 -
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 2 -
- drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c | 41 +++++--------
- drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 16 -----
- drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c | 3 -
- drivers/gpu/drm/amd/amdkfd/kfd_device.c | 27 +++-----
- .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 71 +++-------------------
- .../drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 6 +-
- .../drm/amd/amdkfd/kfd_device_queue_manager_vi.c | 6 +-
- drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c | 6 +-
- drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c | 24 +-------
- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c | 15 -----
- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c | 11 ----
- drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 19 +-----
- drivers/gpu/drm/amd/amdkfd/kfd_pasid.c | 3 +-
- drivers/gpu/drm/amd/amdkfd/kfd_process.c | 17 ++----
- .../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 27 ++------
- drivers/gpu/drm/amd/amdkfd/kfd_queue.c | 2 -
- drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 22 +++----
- 21 files changed, 58 insertions(+), 272 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
-index d41cebf..dcd8296 100755
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
-@@ -276,10 +276,6 @@ int alloc_gtt_mem(struct kgd_dev *kgd, size_t size,
- uint64_t gpu_addr_tmp = 0;
- void *cpu_ptr_tmp = NULL;
-
-- BUG_ON(kgd == NULL);
-- BUG_ON(gpu_addr == NULL);
-- BUG_ON(cpu_ptr == NULL);
--
- r = amdgpu_bo_create(adev, size, PAGE_SIZE, true, AMDGPU_GEM_DOMAIN_GTT,
- AMDGPU_GEM_CREATE_CPU_GTT_USWC, NULL, NULL, &bo);
- if (r) {
-@@ -331,8 +327,6 @@ void free_gtt_mem(struct kgd_dev *kgd, void *mem_obj)
- {
- struct amdgpu_bo *bo = (struct amdgpu_bo *) mem_obj;
-
-- BUG_ON(bo == NULL);
--
- amdgpu_bo_reserve(bo, true);
- amdgpu_bo_kunmap(bo);
- amdgpu_bo_unpin(bo);
-@@ -347,8 +341,6 @@ void get_local_mem_info(struct kgd_dev *kgd,
- resource_size_t aper_limit;
- struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
-
-- BUG_ON(kgd == NULL);
--
- address_mask = ~((1UL << 40) - 1);
- aper_limit = adev->mc.aper_base + adev->mc.aper_size;
- memset(mem_info, 0, sizeof(*mem_info));
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
-index 4adbf0b..9969b74 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
-@@ -892,8 +892,6 @@ static uint16_t get_fw_version(struct kgd_dev *kgd, enum kgd_engine_type type)
- struct amdgpu_device *adev = (struct amdgpu_device *) kgd;
- const union amdgpu_firmware_header *hdr;
-
-- BUG_ON(kgd == NULL);
--
- switch (type) {
- case KGD_ENGINE_PFP:
- hdr = (const union amdgpu_firmware_header *)adev->gfx.pfp_fw->data;
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
-index bc1898e..7ca7f0a 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
-@@ -949,8 +949,6 @@ static uint16_t get_fw_version(struct kgd_dev *kgd, enum kgd_engine_type type)
- struct amdgpu_device *adev = (struct amdgpu_device *) kgd;
- const union amdgpu_firmware_header *hdr;
-
-- BUG_ON(kgd == NULL);
--
- switch (type) {
- case KGD_ENGINE_PFP:
- hdr = (const union amdgpu_firmware_header *)
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
-index 1d276bed..28ce042 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
-@@ -445,8 +445,6 @@ static uint32_t get_sdma_base_addr(unsigned int engine_id,
- };
- uint32_t retval;
-
-- BUG_ON(engine_id > 1);
--
- retval = base[engine_id] + queue_id * (mmSDMA0_RLC1_RB_CNTL -
- mmSDMA0_RLC0_RB_CNTL);
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-index 261d1c7..856668a 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
-@@ -350,7 +350,10 @@ static int add_bo_to_vm(struct amdgpu_device *adev, struct kgd_mem *mem,
- if (!bo_va_entry)
- return -ENOMEM;
-
-- BUG_ON(va == 0);
-+ if (!va) {
-+ pr_err("Invalid VA when adding BO to VM\n");
-+ return -EINVAL;
-+ }
-
- pr_debug("\t add VA 0x%llx - 0x%llx to vm %p\n", va,
- va + bo_size, avm);
-@@ -609,11 +612,6 @@ static int __alloc_memory_of_gpu(struct kgd_dev *kgd, uint64_t va,
- uint32_t mapping_flags;
- struct amdkfd_vm *kfd_vm = (struct amdkfd_vm *)vm;
-
-- BUG_ON(kgd == NULL);
-- BUG_ON(size == 0);
-- BUG_ON(mem == NULL);
-- BUG_ON(kfd_vm == NULL);
--
- if (aql_queue)
- size = size >> 1;
- if (userptr) {
-@@ -1141,10 +1139,6 @@ int amdgpu_amdkfd_gpuvm_free_memory_of_gpu(
- struct amdkfd_process_info *process_info;
- unsigned long bo_size;
-
-- BUG_ON(kgd == NULL);
-- BUG_ON(mem == NULL);
-- BUG_ON(vm == NULL);
--
- adev = get_amdgpu_device(kgd);
- process_info = ((struct amdkfd_vm *)vm)->process_info;
-
-@@ -1234,9 +1228,6 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
- unsigned long bo_size;
- bool is_invalid_userptr;
-
-- BUG_ON(kgd == NULL);
-- BUG_ON(mem == NULL);
--
- adev = get_amdgpu_device(kgd);
-
- /* Make sure restore is not running concurrently. Since we
-@@ -1257,7 +1248,10 @@ int amdgpu_amdkfd_gpuvm_map_memory_to_gpu(
-
- bo = mem->bo;
-
-- BUG_ON(bo == NULL);
-+ if (!bo) {
-+ pr_err("Invalid BO when mapping memory to GPU\n");
-+ return -EINVAL;
-+ }
-
- domain = mem->domain;
- bo_size = bo->tbo.mem.size;
-@@ -1380,9 +1374,6 @@ int amdgpu_amdkfd_gpuvm_create_process_vm(struct kgd_dev *kgd, void **vm,
- struct amdkfd_process_info *info;
- struct amdgpu_device *adev = get_amdgpu_device(kgd);
-
-- BUG_ON(kgd == NULL);
-- BUG_ON(vm == NULL);
--
- new_vm = kzalloc(sizeof(*new_vm), GFP_KERNEL);
- if (new_vm == NULL)
- return -ENOMEM;
-@@ -1459,8 +1450,8 @@ void amdgpu_amdkfd_gpuvm_destroy_process_vm(struct kgd_dev *kgd, void *vm)
- struct amdgpu_bo *pd;
- struct amdkfd_process_info *process_info;
-
-- BUG_ON(kgd == NULL);
-- BUG_ON(vm == NULL);
-+ if (WARN_ON(!kgd || !vm))
-+ return;
-
- pr_debug("Destroying process vm %p\n", vm);
- /* Release eviction fence from PD */
-@@ -1503,7 +1494,6 @@ int amdgpu_amdkfd_gpuvm_get_vm_fault_info(struct kgd_dev *kgd,
- {
- struct amdgpu_device *adev;
-
-- BUG_ON(kgd == NULL);
- adev = (struct amdgpu_device *) kgd;
- if (atomic_read(&adev->mc.vm_fault_info_updated) == 1) {
- *mem = *adev->mc.vm_fault_info;
-@@ -1537,9 +1527,6 @@ int amdgpu_amdkfd_gpuvm_unmap_memory_from_gpu(
- struct amdkfd_process_info *process_info;
- unsigned long bo_size;
-
-- BUG_ON(kgd == NULL);
-- BUG_ON(mem == NULL);
--
- adev = (struct amdgpu_device *) kgd;
- process_info = ((struct amdkfd_vm *)vm)->process_info;
-
-@@ -1621,7 +1608,10 @@ int amdgpu_amdkfd_gpuvm_mmap_bo(struct kgd_dev *kgd, struct vm_area_struct *vma)
- struct amdgpu_device *adev;
-
- adev = get_amdgpu_device(kgd);
-- BUG_ON(!adev);
-+ if (!adev) {
-+ pr_err("Could not get amdgpu device in %s\n", __func__);
-+ return -ENODEV;
-+ }
-
- return amdgpu_bo_mmap(NULL, vma, &adev->mman.bdev);
- }
-@@ -2238,9 +2228,6 @@ int amdgpu_amdkfd_gpuvm_restore_process_bos(void *info)
- int ret = 0, i;
- struct list_head duplicate_save;
-
-- if (WARN_ON(!process_info))
-- return -EINVAL;
--
- INIT_LIST_HEAD(&duplicate_save);
- INIT_LIST_HEAD(&ctx.list);
- INIT_LIST_HEAD(&ctx.duplicates);
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
-index c69242f..f0ff2e0 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
-@@ -120,9 +120,6 @@ static struct kfd_gpu_cache_info carrizo_cache_info[] = {
- static void kfd_populated_cu_info_cpu(struct kfd_topology_device *dev,
- struct crat_subtype_computeunit *cu)
- {
-- BUG_ON(!dev);
-- BUG_ON(!cu);
--
- dev->node_props.cpu_cores_count = cu->num_cpu_cores;
- dev->node_props.cpu_core_id_base = cu->processor_id_low;
- #if defined(CONFIG_AMD_IOMMU_V2_MODULE) || defined(CONFIG_AMD_IOMMU_V2)
-@@ -137,9 +134,6 @@ static void kfd_populated_cu_info_cpu(struct kfd_topology_device *dev,
- static void kfd_populated_cu_info_gpu(struct kfd_topology_device *dev,
- struct crat_subtype_computeunit *cu)
- {
-- BUG_ON(!dev);
-- BUG_ON(!cu);
--
- dev->node_props.simd_id_base = cu->processor_id_low;
- dev->node_props.simd_count = cu->num_simd_cores;
- dev->node_props.lds_size_in_kb = cu->lds_size_in_kb;
-@@ -162,8 +156,6 @@ static int kfd_parse_subtype_cu(struct crat_subtype_computeunit *cu,
- {
- struct kfd_topology_device *dev;
-
-- BUG_ON(!cu);
--
- pr_debug("Found CU entry in CRAT table with proximity_domain=%d caps=%x\n",
- cu->proximity_domain, cu->hsa_capability);
- list_for_each_entry(dev, device_list, list) {
-@@ -189,8 +181,6 @@ static int kfd_parse_subtype_mem(struct crat_subtype_memory *mem,
- struct kfd_mem_properties *props;
- struct kfd_topology_device *dev;
-
-- BUG_ON(!mem);
--
- pr_debug("Found memory entry in CRAT table with proximity_domain=%d\n",
- mem->proximity_domain);
- list_for_each_entry(dev, device_list, list) {
-@@ -242,8 +232,6 @@ static int kfd_parse_subtype_cache(struct crat_subtype_cache *cache,
- uint32_t id;
- uint32_t total_num_of_cu;
-
-- BUG_ON(!cache);
--
- id = cache->processor_id_low;
-
- list_for_each_entry(dev, device_list, list) {
-@@ -309,8 +297,6 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink,
- uint32_t id_from;
- uint32_t id_to;
-
-- BUG_ON(!iolink);
--
- id_from = iolink->proximity_domain_from;
- id_to = iolink->proximity_domain_to;
-
-@@ -383,8 +369,6 @@ static int kfd_parse_subtype(struct crat_subtype_generic *sub_type_hdr,
- struct crat_subtype_iolink *iolink;
- int ret = 0;
-
-- BUG_ON(!sub_type_hdr);
--
- switch (sub_type_hdr->type) {
- case CRAT_SUBTYPE_COMPUTEUNIT_AFFINITY:
- cu = (struct crat_subtype_computeunit *)sub_type_hdr;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c b/drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c
-index 7e44a86..d1157ff 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_dbgmgr.c
-@@ -64,9 +64,6 @@ bool kfd_dbgmgr_create(struct kfd_dbgmgr **ppmgr, struct kfd_dev *pdev)
- enum DBGDEV_TYPE type = DBGDEV_TYPE_DIQ;
- struct kfd_dbgmgr *new_buff;
-
-- BUG_ON(!pdev);
-- BUG_ON(!pdev->init_complete);
--
- new_buff = kfd_alloc_struct(new_buff);
- if (!new_buff) {
- pr_err("Failed to allocate dbgmgr instance\n");
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device.c b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
-index 62ad717..45a234d 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_device.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device.c
-@@ -272,7 +272,8 @@ static const struct kfd_device_info *lookup_device_info(unsigned short did)
-
- for (i = 0; i < ARRAY_SIZE(supported_devices); i++) {
- if (supported_devices[i].did == did) {
-- BUG_ON(!supported_devices[i].device_info);
-+ WARN(!supported_devices[i].device_info,
-+ "Cannot look up device info, Device Info is NULL");
- return supported_devices[i].device_info;
- }
- }
-@@ -302,8 +303,6 @@ struct kfd_dev *kgd2kfd_probe(struct kgd_dev *kgd,
- }
- }
-
-- BUG_ON(!f2g);
--
- kfd = kzalloc(sizeof(*kfd), GFP_KERNEL);
- if (!kfd)
- return NULL;
-@@ -393,7 +392,8 @@ static int iommu_invalid_ppr_cb(struct pci_dev *pdev, int pasid,
- flags);
-
- dev = kfd_device_by_pci_dev(pdev);
-- BUG_ON(!dev);
-+ if (WARN_ON(!dev))
-+ return -ENODEV;
-
- kfd_signal_iommu_event(dev, pasid, address,
- flags & PPR_FAULT_WRITE, flags & PPR_FAULT_EXEC);
-@@ -633,8 +633,6 @@ void kgd2kfd_device_exit(struct kfd_dev *kfd)
-
- void kgd2kfd_suspend(struct kfd_dev *kfd)
- {
-- BUG_ON(!kfd);
--
- if (!kfd->init_complete)
- return;
-
-@@ -654,8 +652,6 @@ void kgd2kfd_suspend(struct kfd_dev *kfd)
-
- int kgd2kfd_resume(struct kfd_dev *kfd)
- {
-- BUG_ON(!kfd);
--
- if (!kfd->init_complete)
- return 0;
-
-@@ -1003,17 +999,14 @@ static int kfd_gtt_sa_init(struct kfd_dev *kfd, unsigned int buf_size,
- {
- unsigned int num_of_bits;
-
-- BUG_ON(!kfd);
-- BUG_ON(!kfd->gtt_mem);
-- BUG_ON(buf_size < chunk_size);
-- BUG_ON(buf_size == 0);
-- BUG_ON(chunk_size == 0);
--
- kfd->gtt_sa_chunk_size = chunk_size;
- kfd->gtt_sa_num_of_chunks = buf_size / chunk_size;
-
- num_of_bits = kfd->gtt_sa_num_of_chunks / BITS_PER_BYTE;
-- BUG_ON(num_of_bits == 0);
-+ if (num_of_bits == 0) {
-+ pr_err("Number of bits is 0 in %s", __func__);
-+ return -EINVAL;
-+ }
-
- kfd->gtt_sa_bitmap = kzalloc(num_of_bits, GFP_KERNEL);
-
-@@ -1054,8 +1047,6 @@ int kfd_gtt_sa_allocate(struct kfd_dev *kfd, unsigned int size,
- {
- unsigned int found, start_search, cur_size;
-
-- BUG_ON(!kfd);
--
- if (size == 0)
- return -EINVAL;
-
-@@ -1160,8 +1151,6 @@ int kfd_gtt_sa_free(struct kfd_dev *kfd, struct kfd_mem_obj *mem_obj)
- {
- unsigned int bit;
-
-- BUG_ON(!kfd);
--
- /* Act like kfree when trying to free a NULL object */
- if (!mem_obj)
- return 0;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
-index 3d8fb00..172eddc 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
-@@ -83,7 +83,6 @@ static bool is_pipe_enabled(struct device_queue_manager *dqm, int mec, int pipe)
-
- unsigned int get_queues_num(struct device_queue_manager *dqm)
- {
-- BUG_ON(!dqm || !dqm->dev);
- return bitmap_weight(dqm->dev->shared_resources.queue_bitmap,
- KGD_MAX_QUEUES);
- }
-@@ -235,8 +234,6 @@ static int create_queue_nocpsch(struct device_queue_manager *dqm,
- {
- int retval = 0;
-
-- BUG_ON(!dqm || !q || !qpd || !allocated_vmid);
--
- print_queue(q);
-
- mutex_lock(&dqm->lock);
-@@ -346,8 +343,6 @@ static int create_compute_queue_nocpsch(struct device_queue_manager *dqm,
- int retval;
- struct mqd_manager *mqd;
-
-- BUG_ON(!dqm || !q || !qpd);
--
- mqd = dqm->ops.get_mqd_manager(dqm, KFD_MQD_TYPE_COMPUTE);
- if (!mqd)
- return -ENOMEM;
-@@ -401,8 +396,6 @@ static int destroy_queue_nocpsch_locked(struct device_queue_manager *dqm,
- int retval;
- struct mqd_manager *mqd;
-
-- WARN_ON(!dqm || !q || !q->mqd || !qpd);
--
- mqd = dqm->ops.get_mqd_manager(dqm,
- get_mqd_type_from_queue_type(q->properties.type));
- if (!mqd)
-@@ -446,8 +439,6 @@ static int destroy_queue_nocpsch(struct device_queue_manager *dqm,
- {
- int retval;
-
-- BUG_ON(!dqm || !q || !q->mqd || !qpd);
--
- mutex_lock(&dqm->lock);
- retval = destroy_queue_nocpsch_locked(dqm, qpd, q);
- mutex_unlock(&dqm->lock);
-@@ -470,8 +461,6 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q)
-
- bool prev_active = false;
-
-- BUG_ON(!dqm || !q || !q->mqd);
--
- mutex_lock(&dqm->lock);
-
- pdd = kfd_get_process_device_data(q->device, q->process);
-@@ -546,8 +535,6 @@ static struct mqd_manager *get_mqd_manager_nocpsch(
- {
- struct mqd_manager *mqd;
-
-- BUG_ON(!dqm || type >= KFD_MQD_TYPE_MAX);
--
- pr_debug("mqd type %d\n", type);
-
- mqd = dqm->mqds[type];
-@@ -569,8 +556,6 @@ int process_evict_queues(struct device_queue_manager *dqm,
- struct kfd_process_device *pdd;
- int retval = 0;
-
-- BUG_ON(!dqm || !qpd);
--
- mutex_lock(&dqm->lock);
- if (qpd->evicted++ > 0) /* already evicted, do nothing */
- goto out;
-@@ -584,8 +569,9 @@ int process_evict_queues(struct device_queue_manager *dqm,
- mqd = dqm->ops.get_mqd_manager(dqm,
- get_mqd_type_from_queue_type(q->properties.type));
- if (!mqd) { /* should not be here */
-- BUG();
-- continue;
-+ pr_err("Cannot evict queue, mqd is NULL\n");
-+ retval = -ENOMEM;
-+ goto out;
- }
- /* if the queue is not active anyway, it is not evicted */
- if (q->properties.is_active) {
-@@ -619,8 +605,6 @@ int process_restore_queues(struct device_queue_manager *dqm,
- struct kfd_process_device *pdd;
- uint32_t pd_base;
-
-- BUG_ON(!dqm || !qpd);
--
- pdd = qpd_to_pdd(qpd);
- /* Retrieve PD base */
- pd_base = dqm->dev->kfd2kgd->get_process_page_dir(pdd->vm);
-@@ -656,8 +640,9 @@ int process_restore_queues(struct device_queue_manager *dqm,
- mqd = dqm->ops.get_mqd_manager(dqm,
- get_mqd_type_from_queue_type(q->properties.type));
- if (!mqd) { /* should not be here */
-- BUG();
-- continue;
-+ pr_err("Cannot restore queue, mqd is NULL\n");
-+ retval = -ENOMEM;
-+ goto out_unlock;
- }
- if (q->properties.is_evicted) {
- q->properties.is_evicted = false;
-@@ -692,8 +677,6 @@ static int register_process(struct device_queue_manager *dqm,
- struct kfd_process_device *pdd;
- uint32_t pd_base;
-
-- BUG_ON(!dqm || !qpd);
--
- n = kzalloc(sizeof(*n), GFP_KERNEL);
- if (!n)
- return -ENOMEM;
-@@ -726,8 +709,6 @@ static int unregister_process(struct device_queue_manager *dqm,
- int retval;
- struct device_process_node *cur, *next;
-
-- BUG_ON(!dqm || !qpd);
--
- pr_debug("qpd->queues_list is %s\n",
- list_empty(&qpd->queues_list) ? "empty" : "not empty");
-
-@@ -768,16 +749,12 @@ static void init_interrupts(struct device_queue_manager *dqm)
- {
- unsigned int i;
-
-- BUG_ON(!dqm);
--
- for (i = 0 ; i < get_pipes_per_mec(dqm) ; i++)
- if (is_pipe_enabled(dqm, 0, i))
- dqm->dev->kfd2kgd->init_interrupts(dqm->dev->kgd, i);
- }
- static int init_scheduler(struct device_queue_manager *dqm)
- {
-- BUG_ON(!dqm);
--
- return 0;
- }
-
-@@ -785,8 +762,6 @@ static int initialize_nocpsch(struct device_queue_manager *dqm)
- {
- int i;
-
-- BUG_ON(!dqm);
--
- pr_debug("num of pipes: %d\n", get_pipes_per_mec(dqm));
-
- dqm->allocated_queues = kcalloc(get_pipes_per_mec(dqm),
-@@ -813,10 +788,6 @@ static void uninitialize_nocpsch(struct device_queue_manager *dqm)
- {
- int i;
-
-- BUG_ON(!dqm);
--
-- BUG_ON(dqm->queue_count > 0 || dqm->processes_count > 0);
--
- kfree(dqm->allocated_queues);
- for (i = 0 ; i < KFD_MQD_TYPE_MAX ; i++)
- kfree(dqm->mqds[i]);
-@@ -916,8 +887,6 @@ static int set_sched_resources(struct device_queue_manager *dqm)
- int i, mec;
- struct scheduling_resources res;
-
-- BUG_ON(!dqm);
--
- res.vmid_mask = dqm->dev->shared_resources.compute_vmid_bitmap;
-
- res.queue_mask = 0;
-@@ -957,8 +926,6 @@ static int initialize_cpsch(struct device_queue_manager *dqm)
- {
- int retval;
-
-- BUG_ON(!dqm);
--
- pr_debug("num of pipes: %d\n", get_pipes_per_mec(dqm));
-
- mutex_init(&dqm->lock);
-@@ -982,8 +949,6 @@ static int start_cpsch(struct device_queue_manager *dqm)
- {
- int retval;
-
-- BUG_ON(!dqm);
--
- retval = 0;
-
- retval = pm_init(&dqm->packets, dqm, dqm->dev->mec_fw_version);
-@@ -1022,8 +987,6 @@ static int start_cpsch(struct device_queue_manager *dqm)
-
- static int stop_cpsch(struct device_queue_manager *dqm)
- {
-- BUG_ON(!dqm);
--
- mutex_lock(&dqm->lock);
-
- unmap_queues_cpsch(dqm, KFD_UNMAP_QUEUES_FILTER_ALL_QUEUES, 0, false);
-@@ -1040,8 +1003,6 @@ static int create_kernel_queue_cpsch(struct device_queue_manager *dqm,
- struct kernel_queue *kq,
- struct qcm_process_device *qpd)
- {
-- BUG_ON(!dqm || !kq || !qpd);
--
- mutex_lock(&dqm->lock);
- if (dqm->total_queue_count >= max_num_of_queues_per_device) {
- pr_warn("Can't create new kernel queue because %d queues were already created\n",
-@@ -1071,8 +1032,6 @@ static void destroy_kernel_queue_cpsch(struct device_queue_manager *dqm,
- struct kernel_queue *kq,
- struct qcm_process_device *qpd)
- {
-- BUG_ON(!dqm || !kq);
--
- mutex_lock(&dqm->lock);
- /* here we actually preempt the DIQ */
- list_del(&kq->list);
-@@ -1095,8 +1054,6 @@ static int create_queue_cpsch(struct device_queue_manager *dqm, struct queue *q,
- int retval;
- struct mqd_manager *mqd;
-
-- BUG_ON(!dqm || !q || !qpd);
--
- retval = 0;
-
- if (allocate_vmid)
-@@ -1187,8 +1144,6 @@ int amdkfd_fence_wait_timeout(unsigned int *fence_addr,
- {
- unsigned long end_jiffies;
-
-- BUG_ON(!fence_addr);
--
- end_jiffies = (timeout_ms * HZ / 1000) + jiffies;
-
- while (*fence_addr != fence_value) {
-@@ -1242,8 +1197,6 @@ static int unmap_queues_cpsch(struct device_queue_manager *dqm,
- {
- int retval;
-
-- BUG_ON(!dqm);
--
- retval = 0;
-
- if (!dqm->active_runlist)
-@@ -1286,8 +1239,6 @@ static int execute_queues_cpsch(struct device_queue_manager *dqm,
- int retval;
- enum kfd_unmap_queues_filter filter;
-
-- BUG_ON(!dqm);
--
- filter = static_queues_included ?
- KFD_UNMAP_QUEUES_FILTER_ALL_QUEUES :
- KFD_UNMAP_QUEUES_FILTER_DYNAMIC_QUEUES;
-@@ -1311,8 +1262,6 @@ static int destroy_queue_cpsch(struct device_queue_manager *dqm,
- struct mqd_manager *mqd;
- bool preempt_all_queues;
-
-- BUG_ON(!dqm || !qpd || !q);
--
- preempt_all_queues = false;
-
- retval = 0;
-@@ -1560,8 +1509,6 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev)
- {
- struct device_queue_manager *dqm;
-
-- BUG_ON(!dev);
--
- pr_debug("Loading device queue manager\n");
-
- dqm = kzalloc(sizeof(*dqm), GFP_KERNEL);
-@@ -1616,8 +1563,8 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev)
- dqm->ops.process_termination = process_termination_nocpsch;
- break;
- default:
-- BUG();
-- break;
-+ pr_err("Invalid scheduling policy %d\n", dqm->sched_policy);
-+ return NULL;
- }
-
- switch (dev->device_info->asic_family) {
-@@ -1655,8 +1602,6 @@ struct device_queue_manager *device_queue_manager_init(struct kfd_dev *dev)
-
- void device_queue_manager_uninit(struct device_queue_manager *dqm)
- {
-- BUG_ON(!dqm);
--
- dqm->ops.uninitialize(dqm);
- kfree(dqm);
- }
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c
-index f051e0d..8e1eb24 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c
-@@ -81,7 +81,7 @@ static uint32_t compute_sh_mem_bases_64bit(unsigned int top_address_nybble)
- * for LDS/Scratch and GPUVM.
- */
-
-- BUG_ON((top_address_nybble & 1) || top_address_nybble > 0xE ||
-+ WARN_ON((top_address_nybble & 1) || top_address_nybble > 0xE ||
- top_address_nybble == 0);
-
- return PRIVATE_BASE(top_address_nybble << 12) |
-@@ -120,8 +120,6 @@ static int update_qpd_cik(struct device_queue_manager *dqm,
- struct kfd_process_device *pdd;
- unsigned int temp;
-
-- BUG_ON(!dqm || !qpd);
--
- pdd = qpd_to_pdd(qpd);
-
- /* check if sh_mem_config register already configured */
-@@ -156,8 +154,6 @@ static int update_qpd_cik_hawaii(struct device_queue_manager *dqm,
- struct kfd_process_device *pdd;
- unsigned int temp;
-
-- BUG_ON(!dqm || !qpd);
--
- pdd = qpd_to_pdd(qpd);
-
- /* check if sh_mem_config register already configured */
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
-index f6c6bea..ac8d852 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_vi.c
-@@ -93,7 +93,7 @@ static uint32_t compute_sh_mem_bases_64bit(unsigned int top_address_nybble)
- * for LDS/Scratch and GPUVM.
- */
-
-- BUG_ON((top_address_nybble & 1) || top_address_nybble > 0xE ||
-+ WARN_ON((top_address_nybble & 1) || top_address_nybble > 0xE ||
- top_address_nybble == 0);
-
- return top_address_nybble << 12 |
-@@ -163,8 +163,6 @@ static int update_qpd_vi(struct device_queue_manager *dqm,
- struct kfd_process_device *pdd;
- unsigned int temp;
-
-- BUG_ON(!dqm || !qpd);
--
- pdd = qpd_to_pdd(qpd);
-
- /* check if sh_mem_config register already configured */
-@@ -206,8 +204,6 @@ static int update_qpd_vi_tonga(struct device_queue_manager *dqm,
- struct kfd_process_device *pdd;
- unsigned int temp;
-
-- BUG_ON(!dqm || !qpd);
--
- pdd = qpd_to_pdd(qpd);
-
- /* check if sh_mem_config register already configured */
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c b/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c
-index 899fc4c..f4833b2 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_doorbell.c
-@@ -94,7 +94,7 @@ void kfd_doorbell_init(struct kfd_dev *kfd)
- kfd->doorbell_kernel_ptr = ioremap(kfd->doorbell_base,
- kfd_doorbell_process_slice(kfd));
-
-- BUG_ON(!kfd->doorbell_kernel_ptr);
-+ WARN_ON(!kfd->doorbell_kernel_ptr);
-
- pr_debug("Doorbell initialization:\n");
- pr_debug("doorbell base == 0x%08lX\n",
-@@ -159,8 +159,6 @@ void __iomem *kfd_get_kernel_doorbell(struct kfd_dev *kfd,
- {
- u32 inx;
-
-- BUG_ON(!kfd || !doorbell_off);
--
- mutex_lock(&kfd->doorbell_mutex);
- inx = find_first_zero_bit(kfd->doorbell_available_index,
- KFD_MAX_NUM_OF_QUEUES_PER_PROCESS);
-@@ -193,8 +191,6 @@ void kfd_release_kernel_doorbell(struct kfd_dev *kfd, u32 __iomem *db_addr)
- {
- unsigned int inx;
-
-- BUG_ON(!kfd || !db_addr);
--
- inx = (unsigned int)(db_addr - kfd->doorbell_kernel_ptr);
-
- mutex_lock(&kfd->doorbell_mutex);
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
-index 17c4a71..34099e2 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_kernel_queue.c
-@@ -41,9 +41,6 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
- int retval;
- union PM4_MES_TYPE_3_HEADER nop;
-
-- BUG_ON(!kq || !dev);
-- BUG_ON(type != KFD_QUEUE_TYPE_DIQ && type != KFD_QUEUE_TYPE_HIQ);
--
- pr_debug("Initializing queue type %d size %d\n", KFD_QUEUE_TYPE_HIQ,
- queue_size);
-
-@@ -63,8 +60,8 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
- KFD_MQD_TYPE_HIQ);
- break;
- default:
-- BUG();
-- break;
-+ pr_err("Invalid queue type %d\n", type);
-+ return false;
- }
-
- if (!kq->mqd)
-@@ -182,8 +179,6 @@ static bool initialize(struct kernel_queue *kq, struct kfd_dev *dev,
-
- static void uninitialize(struct kernel_queue *kq)
- {
-- BUG_ON(!kq);
--
- if (kq->queue->properties.type == KFD_QUEUE_TYPE_HIQ)
- kq->mqd->destroy_mqd(kq->mqd,
- NULL,
-@@ -214,8 +209,6 @@ static int acquire_packet_buffer(struct kernel_queue *kq,
- uint64_t wptr64;
- unsigned int *queue_address;
-
-- BUG_ON(!kq || !buffer_ptr);
--
- /* When rptr == wptr, the buffer is empty.
- * When rptr == wptr + 1, the buffer is full.
- * It is always rptr that advances to the position of wptr, rather than
-@@ -304,11 +297,7 @@ static void submit_packet(struct kernel_queue *kq)
- {
- #ifdef DEBUG
- int i;
--#endif
-
-- BUG_ON(!kq);
--
--#ifdef DEBUG
- for (i = *kq->wptr_kernel; i < kq->pending_wptr; i++) {
- pr_debug("0x%2X ", kq->pq_kernel_addr[i]);
- if (i % 15 == 0)
-@@ -322,7 +311,6 @@ static void submit_packet(struct kernel_queue *kq)
-
- static void rollback_packet(struct kernel_queue *kq)
- {
-- BUG_ON(!kq);
- kq->pending_wptr = *kq->queue->properties.write_ptr;
- }
-
-@@ -331,8 +319,6 @@ struct kernel_queue *kernel_queue_init(struct kfd_dev *dev,
- {
- struct kernel_queue *kq;
-
-- BUG_ON(!dev);
--
- kq = kzalloc(sizeof(*kq), GFP_KERNEL);
- if (!kq)
- return NULL;
-@@ -373,8 +359,6 @@ struct kernel_queue *kernel_queue_init(struct kfd_dev *dev,
-
- void kernel_queue_uninit(struct kernel_queue *kq)
- {
-- BUG_ON(!kq);
--
- kq->ops.uninitialize(kq);
- kfree(kq);
- }
-@@ -385,15 +369,11 @@ static __attribute__((unused)) void test_kq(struct kfd_dev *dev)
- uint32_t *buffer, i;
- int retval;
-
-- BUG_ON(!dev);
--
- pr_err("Starting kernel queue test\n");
-
- kq = kernel_queue_init(dev, KFD_QUEUE_TYPE_HIQ);
-- BUG_ON(!kq);
-
- retval = kq->ops.acquire_packet_buffer(kq, 5, &buffer);
-- BUG_ON(retval != 0);
- for (i = 0; i < 5; i++)
- buffer[i] = kq->nop_packet;
- kq->ops.submit_packet(kq);
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
-index 5ada92a..4b4de78 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
-@@ -176,8 +176,6 @@ static int init_mqd_sdma(struct mqd_manager *mm, void **mqd,
- int retval;
- struct cik_sdma_rlc_registers *m;
-
-- BUG_ON(!mm || !mqd || !mqd_mem_obj);
--
- retval = kfd_gtt_sa_allocate(mm->dev,
- sizeof(struct cik_sdma_rlc_registers),
- mqd_mem_obj);
-@@ -201,14 +199,12 @@ static int init_mqd_sdma(struct mqd_manager *mm, void **mqd,
- static void uninit_mqd(struct mqd_manager *mm, void *mqd,
- struct kfd_mem_obj *mqd_mem_obj)
- {
-- BUG_ON(!mm || !mqd);
- kfd_gtt_sa_free(mm->dev, mqd_mem_obj);
- }
-
- static void uninit_mqd_sdma(struct mqd_manager *mm, void *mqd,
- struct kfd_mem_obj *mqd_mem_obj)
- {
-- BUG_ON(!mm || !mqd);
- kfd_gtt_sa_free(mm->dev, mqd_mem_obj);
- }
-
-@@ -239,8 +235,6 @@ static int __update_mqd(struct mqd_manager *mm, void *mqd,
- {
- struct cik_mqd *m;
-
-- BUG_ON(!mm || !q || !mqd);
--
- m = get_mqd(mqd);
- m->cp_hqd_pq_control = DEFAULT_RPTR_BLOCK_SIZE |
- DEFAULT_MIN_AVAIL_SIZE;
-@@ -298,8 +292,6 @@ static int update_mqd_sdma(struct mqd_manager *mm, void *mqd,
- {
- struct cik_sdma_rlc_registers *m;
-
-- BUG_ON(!mm || !mqd || !q);
--
- m = get_sdma_mqd(mqd);
- m->sdma_rlc_rb_cntl = (ffs(q->queue_size / sizeof(unsigned int)) - 1)
- << SDMA0_RLC0_RB_CNTL__RB_SIZE__SHIFT |
-@@ -382,8 +374,6 @@ static int init_mqd_hiq(struct mqd_manager *mm, void **mqd,
- struct cik_mqd *m;
- int retval;
-
-- BUG_ON(!mm || !q || !mqd || !mqd_mem_obj);
--
- retval = kfd_gtt_sa_allocate(mm->dev, sizeof(struct cik_mqd),
- mqd_mem_obj);
-
-@@ -437,8 +427,6 @@ static int update_mqd_hiq(struct mqd_manager *mm, void *mqd,
- {
- struct cik_mqd *m;
-
-- BUG_ON(!mm || !q || !mqd);
--
- m = get_mqd(mqd);
- m->cp_hqd_pq_control = DEFAULT_RPTR_BLOCK_SIZE |
- DEFAULT_MIN_AVAIL_SIZE |
-@@ -499,9 +487,6 @@ struct mqd_manager *mqd_manager_init_cik(enum KFD_MQD_TYPE type,
- {
- struct mqd_manager *mqd;
-
-- BUG_ON(!dev);
-- BUG_ON(type >= KFD_MQD_TYPE_MAX);
--
- mqd = kzalloc(sizeof(*mqd), GFP_NOIO);
- if (!mqd)
- return NULL;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c
-index 80e3e0e..c1d35f4 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c
-@@ -199,8 +199,6 @@ static int __update_mqd(struct mqd_manager *mm, void *mqd,
- {
- struct vi_mqd *m;
-
-- BUG_ON(!mm || !q || !mqd);
--
- m = get_mqd(mqd);
-
- m->cp_hqd_pq_control = 5 << CP_HQD_PQ_CONTROL__RPTR_BLOCK_SIZE__SHIFT |
-@@ -299,7 +297,6 @@ static int destroy_mqd(struct mqd_manager *mm, void *mqd,
- static void uninit_mqd(struct mqd_manager *mm, void *mqd,
- struct kfd_mem_obj *mqd_mem_obj)
- {
-- BUG_ON(!mm || !mqd);
- kfd_gtt_sa_free(mm->dev, mqd_mem_obj);
- }
-
-@@ -352,8 +349,6 @@ static int init_mqd_sdma(struct mqd_manager *mm, void **mqd,
- struct vi_sdma_mqd *m;
-
-
-- BUG_ON(!mm || !mqd || !mqd_mem_obj);
--
- retval = kfd_gtt_sa_allocate(mm->dev,
- sizeof(struct vi_sdma_mqd),
- mqd_mem_obj);
-@@ -377,7 +372,6 @@ static int init_mqd_sdma(struct mqd_manager *mm, void **mqd,
- static void uninit_mqd_sdma(struct mqd_manager *mm, void *mqd,
- struct kfd_mem_obj *mqd_mem_obj)
- {
-- BUG_ON(!mm || !mqd);
- kfd_gtt_sa_free(mm->dev, mqd_mem_obj);
- }
-
-@@ -395,8 +389,6 @@ static int update_mqd_sdma(struct mqd_manager *mm, void *mqd,
- {
- struct vi_sdma_mqd *m;
-
-- BUG_ON(!mm || !mqd || !q);
--
- m = get_sdma_mqd(mqd);
- m->sdmax_rlcx_rb_cntl = (ffs(q->queue_size / sizeof(unsigned int)) - 1)
- << SDMA0_RLC0_RB_CNTL__RB_SIZE__SHIFT |
-@@ -473,9 +465,6 @@ struct mqd_manager *mqd_manager_init_vi(enum KFD_MQD_TYPE type,
- {
- struct mqd_manager *mqd;
-
-- BUG_ON(!dev);
-- BUG_ON(type >= KFD_MQD_TYPE_MAX);
--
- mqd = kzalloc(sizeof(*mqd), GFP_NOIO);
- if (!mqd)
- return NULL;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
-index 5b7ae1e..f0087be 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c
-@@ -33,7 +33,8 @@ static inline void inc_wptr(unsigned int *wptr, unsigned int increment_bytes,
- {
- unsigned int temp = *wptr + increment_bytes / sizeof(uint32_t);
-
-- BUG_ON((temp * sizeof(uint32_t)) > buffer_size_bytes);
-+ WARN_ON((temp * sizeof(uint32_t)) > buffer_size_bytes);
-+
- *wptr = temp;
- }
-
-@@ -47,8 +48,6 @@ static void pm_calc_rlib_size(struct packet_manager *pm,
-
- struct kfd_dev *dev = pm->dqm->dev;
-
-- BUG_ON(!pm || !rlib_size || !over_subscription || !dev);
--
- process_count = pm->dqm->processes_count;
- queue_count = pm->dqm->queue_count;
- compute_queue_count = queue_count - pm->dqm->sdma_queue_count;
-@@ -93,10 +92,6 @@ static int pm_allocate_runlist_ib(struct packet_manager *pm,
- {
- int retval;
-
-- BUG_ON(!pm);
-- BUG_ON(pm->allocated);
-- BUG_ON(!is_over_subscription);
--
- pm_calc_rlib_size(pm, rl_buffer_size, is_over_subscription);
-
- mutex_lock(&pm->lock);
-@@ -134,8 +129,6 @@ static int pm_create_runlist_ib(struct packet_manager *pm,
- struct kernel_queue *kq;
- bool is_over_subscription = false;
-
-- BUG_ON(!pm || !queues || !rl_size_bytes || !rl_gpu_addr);
--
- rl_wptr = retval = proccesses_mapped = 0;
-
- retval = pm_allocate_runlist_ib(pm, &rl_buffer, rl_gpu_addr,
-@@ -223,8 +216,6 @@ static int pm_create_runlist_ib(struct packet_manager *pm,
- int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm,
- uint16_t fw_ver)
- {
-- BUG_ON(!dqm);
--
- pm->dqm = dqm;
- mutex_init(&pm->lock);
- pm->priv_queue = kernel_queue_init(dqm->dev, KFD_QUEUE_TYPE_HIQ);
-@@ -257,8 +248,6 @@ int pm_init(struct packet_manager *pm, struct device_queue_manager *dqm,
-
- void pm_uninit(struct packet_manager *pm)
- {
-- BUG_ON(!pm);
--
- mutex_destroy(&pm->lock);
- kernel_queue_uninit(pm->priv_queue);
- }
-@@ -295,8 +284,6 @@ int pm_send_runlist(struct packet_manager *pm, struct list_head *dqm_queues)
- size_t rl_ib_size, packet_size_dwords;
- int retval;
-
-- BUG_ON(!pm || !dqm_queues);
--
- retval = pm_create_runlist_ib(pm, dqm_queues, &rl_gpu_ib_addr,
- &rl_ib_size);
- if (retval != 0)
-@@ -385,8 +372,6 @@ int pm_send_unmap_queue(struct packet_manager *pm, enum kfd_queue_type type,
-
- void pm_release_ib(struct packet_manager *pm)
- {
-- BUG_ON(!pm);
--
- mutex_lock(&pm->lock);
- if (pm->allocated) {
- kfd_gtt_sa_free(pm->dqm->dev, pm->ib_buffer_obj);
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_pasid.c b/drivers/gpu/drm/amd/amdkfd/kfd_pasid.c
-index b3f7d43..595d35d 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_pasid.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_pasid.c
-@@ -92,6 +92,7 @@ unsigned int kfd_pasid_alloc(void)
-
- void kfd_pasid_free(unsigned int pasid)
- {
-- BUG_ON(pasid == 0 || pasid >= pasid_limit);
-+ if (WARN_ON(pasid == 0 || pasid >= pasid_limit))
-+ return;
- clear_bit(pasid, pasid_bitmap);
- }
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process.c b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
-index 165591f..36a678a 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_process.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process.c
-@@ -210,8 +210,6 @@ struct kfd_process *kfd_create_process(struct file *filep)
-
- struct task_struct *thread = current;
-
-- BUG_ON(!kfd_process_wq);
--
- if (!thread->mm)
- return ERR_PTR(-EINVAL);
-
-@@ -409,7 +407,8 @@ static void kfd_process_ref_release(struct kref *ref)
- {
- struct kfd_process *p = container_of(ref, struct kfd_process, ref);
-
-- BUG_ON(!kfd_process_wq);
-+ if (WARN_ON(!kfd_process_wq))
-+ return;
-
- INIT_WORK(&p->release_work, kfd_process_wq_release);
- queue_work(kfd_process_wq, &p->release_work);
-@@ -435,7 +434,8 @@ static void kfd_process_notifier_release(struct mmu_notifier *mn,
- * mmu_notifier srcu is read locked
- */
- p = container_of(mn, struct kfd_process, mmu_notifier);
-- BUG_ON(p->mm != mm);
-+ if (WARN_ON(p->mm != mm))
-+ return;
-
- cancel_delayed_work_sync(&p->eviction_work.dwork);
- cancel_delayed_work_sync(&p->restore_work);
-@@ -818,8 +818,6 @@ void kfd_process_iommu_unbind_callback(struct kfd_dev *dev, unsigned int pasid)
- struct kfd_process *p;
- struct kfd_process_device *pdd;
-
-- BUG_ON(!dev);
--
- /*
- * Look for the process that matches the pasid. If there is no such
- * process, we either released it in amdkfd's own notifier, or there
-@@ -892,9 +890,6 @@ int kfd_process_device_create_obj_handle(struct kfd_process_device *pdd,
- struct kfd_bo *buf_obj;
- struct kfd_process *p;
-
-- BUG_ON(!pdd);
-- BUG_ON(!mem);
--
- p = pdd->process;
-
- buf_obj = kzalloc(sizeof(*buf_obj), GFP_KERNEL);
-@@ -928,8 +923,6 @@ int kfd_process_device_create_obj_handle(struct kfd_process_device *pdd,
- struct kfd_bo *kfd_process_device_find_bo(struct kfd_process_device *pdd,
- int handle)
- {
-- BUG_ON(!pdd);
--
- if (handle < 0)
- return NULL;
-
-@@ -984,8 +977,6 @@ void kfd_process_device_remove_obj_handle(struct kfd_process_device *pdd,
- struct kfd_bo *buf_obj;
- struct kfd_process *p;
-
-- BUG_ON(!pdd);
--
- p = pdd->process;
-
- if (handle < 0)
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
-index f8a1cf6a..c5962c4 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
-@@ -32,8 +32,6 @@ static inline struct process_queue_node *get_queue_by_qid(
- {
- struct process_queue_node *pqn;
-
-- BUG_ON(!pqm);
--
- list_for_each_entry(pqn, &pqm->queues, process_queue_list) {
- if ((pqn->q && pqn->q->properties.queue_id == qid) ||
- (pqn->kq && pqn->kq->queue->properties.queue_id == qid))
-@@ -48,8 +46,6 @@ static int find_available_queue_slot(struct process_queue_manager *pqm,
- {
- unsigned long found;
-
-- BUG_ON(!pqm || !qid);
--
- found = find_first_zero_bit(pqm->queue_slot_bitmap,
- KFD_MAX_NUM_OF_QUEUES_PER_PROCESS);
-
-@@ -100,8 +96,6 @@ void kfd_process_dequeue_from_all_devices(struct kfd_process *p)
-
- int pqm_init(struct process_queue_manager *pqm, struct kfd_process *p)
- {
-- BUG_ON(!pqm);
--
- INIT_LIST_HEAD(&pqm->queues);
- pqm->queue_slot_bitmap =
- kzalloc(DIV_ROUND_UP(KFD_MAX_NUM_OF_QUEUES_PER_PROCESS,
-@@ -117,8 +111,6 @@ void pqm_uninit(struct process_queue_manager *pqm)
- {
- struct process_queue_node *pqn, *next;
-
-- BUG_ON(!pqm);
--
- list_for_each_entry_safe(pqn, next, &pqm->queues, process_queue_list) {
- uninit_queue(pqn->q);
- list_del(&pqn->process_queue_list);
-@@ -170,8 +162,6 @@ int pqm_create_queue(struct process_queue_manager *pqm,
- struct queue *cur;
- enum kfd_queue_type type = properties->type;
-
-- BUG_ON(!pqm || !dev || !properties || !qid);
--
- q = NULL;
- kq = NULL;
-
-@@ -262,8 +252,8 @@ int pqm_create_queue(struct process_queue_manager *pqm,
- kq, &pdd->qpd);
- break;
- default:
-- BUG();
-- break;
-+ pr_err("Invalid queue type %d\n", type);
-+ return -EINVAL;
- }
-
- if (retval != 0) {
-@@ -311,8 +301,6 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid)
- int retval;
-
- dqm = NULL;
--
-- BUG_ON(!pqm);
- retval = 0;
-
- pqn = get_queue_by_qid(pqm, qid);
-@@ -326,7 +314,10 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid)
- dev = pqn->kq->dev;
- if (pqn->q)
- dev = pqn->q->device;
-- BUG_ON(!dev);
-+ if (!dev) {
-+ pr_err("Cannot destroy queue, kfd device is NULL\n");
-+ return -ENODEV;
-+ }
-
- pdd = kfd_get_process_device_data(dev, pqm->process);
- if (!pdd) {
-@@ -370,8 +361,6 @@ int pqm_update_queue(struct process_queue_manager *pqm, unsigned int qid,
- int retval;
- struct process_queue_node *pqn;
-
-- BUG_ON(!pqm);
--
- pqn = get_queue_by_qid(pqm, qid);
- if (!pqn) {
- pr_debug("No queue %d exists for update operation\n", qid);
-@@ -397,8 +386,6 @@ int pqm_set_cu_mask(struct process_queue_manager *pqm, unsigned int qid,
- int retval;
- struct process_queue_node *pqn;
-
-- BUG_ON(!pqm);
--
- pqn = get_queue_by_qid(pqm, qid);
- if (!pqn) {
- pr_debug("No queue %d exists for update operation\n", qid);
-@@ -427,8 +414,6 @@ struct kernel_queue *pqm_get_kernel_queue(
- {
- struct process_queue_node *pqn;
-
-- BUG_ON(!pqm);
--
- pqn = get_queue_by_qid(pqm, qid);
- if (pqn && pqn->kq)
- return pqn->kq;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_queue.c b/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
-index 5ad9f6f..a5315d4 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_queue.c
-@@ -67,8 +67,6 @@ int init_queue(struct queue **q, const struct queue_properties *properties)
- {
- struct queue *tmp_q;
-
-- BUG_ON(!q);
--
- tmp_q = kzalloc(sizeof(*tmp_q), GFP_KERNEL);
- if (!tmp_q)
- return -ENOMEM;
-diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
-index 83e7d36..fc83141 100644
---- a/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
-+++ b/drivers/gpu/drm/amd/amdkfd/kfd_topology.c
-@@ -143,8 +143,6 @@ static void kfd_release_topology_device(struct kfd_topology_device *dev)
- struct kfd_perf_properties *perf;
- #endif
-
-- BUG_ON(!dev);
--
- list_del(&dev->list);
-
- while (dev->mem_props.next != &dev->mem_props) {
-@@ -555,8 +553,6 @@ static void kfd_remove_sysfs_node_entry(struct kfd_topology_device *dev)
- struct kfd_perf_properties *perf;
- #endif
-
-- BUG_ON(!dev);
--
- if (dev->kobj_iolink) {
- list_for_each_entry(iolink, &dev->io_link_props, list)
- if (iolink->kobj) {
-@@ -628,12 +624,14 @@ static int kfd_build_sysfs_node_entry(struct kfd_topology_device *dev,
- int ret;
- uint32_t i;
-
-- BUG_ON(!dev);
-+ if (dev->kobj_node) {
-+ pr_err("Cannot build sysfs node entry, kobj_node is not NULL\n");
-+ return -EINVAL;
-+ }
-
- /*
- * Creating the sysfs folders
- */
-- BUG_ON(dev->kobj_node);
- dev->kobj_node = kfd_alloc_struct(dev->kobj_node);
- if (!dev->kobj_node)
- return -ENOMEM;
-@@ -1162,8 +1160,6 @@ static struct kfd_topology_device *kfd_assign_gpu(struct kfd_dev *gpu)
- struct kfd_topology_device *dev;
- struct kfd_topology_device *out_dev = NULL;
-
-- BUG_ON(!gpu);
--
- down_write(&topology_lock);
- list_for_each_entry(dev, &topology_device_list, list)
- if (!dev->gpu && (dev->node_props.simd_count > 0)) {
-@@ -1233,8 +1229,6 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
- size_t image_size = 0;
- int proximity_domain;
-
-- BUG_ON(!gpu);
--
- INIT_LIST_HEAD(&temp_topology_device_list);
-
- gpu_id = kfd_generate_gpu_id(gpu);
-@@ -1279,7 +1273,11 @@ int kfd_topology_add_device(struct kfd_dev *gpu)
- pr_err("Failed to update GPU (ID: 0x%x) to sysfs topology. res=%d\n",
- gpu_id, res);
- dev = kfd_assign_gpu(gpu);
-- BUG_ON(!dev);
-+ if (!dev) {
-+ pr_err("Could not assign GPU\n");
-+ res = -ENODEV;
-+ goto err;
-+ }
- }
-
- dev->gpu_id = gpu_id;
-@@ -1361,8 +1359,6 @@ int kfd_topology_remove_device(struct kfd_dev *gpu)
- uint32_t gpu_id;
- int res = -ENODEV;
-
-- BUG_ON(!gpu);
--
- down_write(&topology_lock);
-
- list_for_each_entry(dev, &topology_device_list, list)
---
-2.7.4
-