drm/radeon: Don't increment pipe_id in kgd_init_pipeline
This patch fixes the behavior of kgd_init_pipeline in that this function shouldn't automatically increase the pipe_id argument by 1 right at the start of the function. This is because the first_pipe value might not be always 1, and because a proper interface function should not hide this info inside its implementation. In other words, the calling function should provide the real pipe_id and not count on kgd_init_pipeline to "fix" it. Signed-off-by: Oded Gabbay <oded.gabbay@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
This commit is contained in:
Родитель
b8cbab042c
Коммит
5a8888a311
|
@ -436,7 +436,7 @@ static int kgd_init_memory(struct kgd_dev *kgd)
|
||||||
static int kgd_init_pipeline(struct kgd_dev *kgd, uint32_t pipe_id,
|
static int kgd_init_pipeline(struct kgd_dev *kgd, uint32_t pipe_id,
|
||||||
uint32_t hpd_size, uint64_t hpd_gpu_addr)
|
uint32_t hpd_size, uint64_t hpd_gpu_addr)
|
||||||
{
|
{
|
||||||
uint32_t mec = (++pipe_id / CIK_PIPE_PER_MEC) + 1;
|
uint32_t mec = (pipe_id / CIK_PIPE_PER_MEC) + 1;
|
||||||
uint32_t pipe = (pipe_id % CIK_PIPE_PER_MEC);
|
uint32_t pipe = (pipe_id % CIK_PIPE_PER_MEC);
|
||||||
|
|
||||||
lock_srbm(kgd, mec, pipe, 0, 0);
|
lock_srbm(kgd, mec, pipe, 0, 0);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче