소스 검색

drm/amdkfd: don't set get_pipes_num() as inline

get_pipes_num() calls BUG_ON so we can't set it as inline because it produces a
warning as BUG_ON() uses static variables when it is expanded.

Signed-off-by: Oded Gabbay <oded.gabbay@amd.com>
Oded Gabbay 10 년 전
부모
커밋
64ea8f4af5
2개의 변경된 파일7개의 추가작업 그리고 6개의 파일을 삭제
  1. 6 0
      drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
  2. 1 6
      drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h

+ 6 - 0
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c

@@ -68,6 +68,12 @@ unsigned int get_first_pipe(struct device_queue_manager *dqm)
 	return dqm->dev->shared_resources.first_compute_pipe;
 }
 
+unsigned int get_pipes_num(struct device_queue_manager *dqm)
+{
+	BUG_ON(!dqm || !dqm->dev);
+	return dqm->dev->shared_resources.compute_pipe_count;
+}
+
 static inline unsigned int get_pipes_num_cpsch(void)
 {
 	return PIPE_PER_ME_CP_SCHEDULING;

+ 1 - 6
drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h

@@ -164,6 +164,7 @@ void program_sh_mem_settings(struct device_queue_manager *dqm,
 int init_pipelines(struct device_queue_manager *dqm,
 		unsigned int pipes_num, unsigned int first_pipe);
 unsigned int get_first_pipe(struct device_queue_manager *dqm);
+unsigned int get_pipes_num(struct device_queue_manager *dqm);
 
 extern inline unsigned int get_sh_mem_bases_32(struct kfd_process_device *pdd)
 {
@@ -176,10 +177,4 @@ get_sh_mem_bases_nybble_64(struct kfd_process_device *pdd)
 	return (pdd->lds_base >> 60) & 0x0E;
 }
 
-extern inline unsigned int get_pipes_num(struct device_queue_manager *dqm)
-{
-	BUG_ON(!dqm || !dqm->dev);
-	return dqm->dev->shared_resources.compute_pipe_count;
-}
-
 #endif /* KFD_DEVICE_QUEUE_MANAGER_H_ */