diff options
| -rw-r--r-- | drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 10 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 8 | ||||
| -rw-r--r-- | drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager_cik.c | 2 |
3 files changed, 11 insertions, 9 deletions
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 b3589d0e39b9..910ff8ab9c9c 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | |||
| @@ -62,12 +62,18 @@ enum KFD_MQD_TYPE get_mqd_type_from_queue_type(enum kfd_queue_type type) | |||
| 62 | return KFD_MQD_TYPE_CP; | 62 | return KFD_MQD_TYPE_CP; |
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | static inline unsigned int get_first_pipe(struct device_queue_manager *dqm) | 65 | unsigned int get_first_pipe(struct device_queue_manager *dqm) |
| 66 | { | 66 | { |
| 67 | BUG_ON(!dqm); | 67 | BUG_ON(!dqm || !dqm->dev); |
| 68 | return dqm->dev->shared_resources.first_compute_pipe; | 68 | return dqm->dev->shared_resources.first_compute_pipe; |
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | unsigned int get_pipes_num(struct device_queue_manager *dqm) | ||
| 72 | { | ||
| 73 | BUG_ON(!dqm || !dqm->dev); | ||
| 74 | return dqm->dev->shared_resources.compute_pipe_count; | ||
| 75 | } | ||
| 76 | |||
| 71 | static inline unsigned int get_pipes_num_cpsch(void) | 77 | static inline unsigned int get_pipes_num_cpsch(void) |
| 72 | { | 78 | { |
| 73 | return PIPE_PER_ME_CP_SCHEDULING; | 79 | return PIPE_PER_ME_CP_SCHEDULING; |
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h index d64f86cda34f..488f51d19427 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | |||
| @@ -163,6 +163,8 @@ void program_sh_mem_settings(struct device_queue_manager *dqm, | |||
| 163 | struct qcm_process_device *qpd); | 163 | struct qcm_process_device *qpd); |
| 164 | int init_pipelines(struct device_queue_manager *dqm, | 164 | int init_pipelines(struct device_queue_manager *dqm, |
| 165 | unsigned int pipes_num, unsigned int first_pipe); | 165 | unsigned int pipes_num, unsigned int first_pipe); |
| 166 | unsigned int get_first_pipe(struct device_queue_manager *dqm); | ||
| 167 | unsigned int get_pipes_num(struct device_queue_manager *dqm); | ||
| 166 | 168 | ||
| 167 | extern inline unsigned int get_sh_mem_bases_32(struct kfd_process_device *pdd) | 169 | extern inline unsigned int get_sh_mem_bases_32(struct kfd_process_device *pdd) |
| 168 | { | 170 | { |
| @@ -175,10 +177,4 @@ get_sh_mem_bases_nybble_64(struct kfd_process_device *pdd) | |||
| 175 | return (pdd->lds_base >> 60) & 0x0E; | 177 | return (pdd->lds_base >> 60) & 0x0E; |
| 176 | } | 178 | } |
| 177 | 179 | ||
| 178 | extern inline unsigned int get_pipes_num(struct device_queue_manager *dqm) | ||
| 179 | { | ||
| 180 | BUG_ON(!dqm || !dqm->dev); | ||
| 181 | return dqm->dev->shared_resources.compute_pipe_count; | ||
| 182 | } | ||
| 183 | |||
| 184 | #endif /* KFD_DEVICE_QUEUE_MANAGER_H_ */ | 180 | #endif /* KFD_DEVICE_QUEUE_MANAGER_H_ */ |
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 6b072466e2a6..5469efe0523e 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 | |||
| @@ -131,5 +131,5 @@ static int register_process_cik(struct device_queue_manager *dqm, | |||
| 131 | 131 | ||
| 132 | static int initialize_cpsch_cik(struct device_queue_manager *dqm) | 132 | static int initialize_cpsch_cik(struct device_queue_manager *dqm) |
| 133 | { | 133 | { |
| 134 | return init_pipelines(dqm, get_pipes_num(dqm), 0); | 134 | return init_pipelines(dqm, get_pipes_num(dqm), get_first_pipe(dqm)); |
| 135 | } | 135 | } |
