On Sat, Aug 12, 2017 at 12:56 AM, Felix Kuehling <Felix.Kuehling at amd.com> wrote: > > Remove hard-coded assumption that the first compute pipe is > reserved for amdgpu. Pipe 0 actually means pipe 0 now. > > Signed-off-by: Felix Kuehling <Felix.Kuehling at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2 +- > drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) > > 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 5936222..dfb8c74 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c > @@ -186,7 +186,7 @@ static void acquire_queue(struct kgd_dev *kgd, uint32_t pipe_id, > { > struct amdgpu_device *adev = get_amdgpu_device(kgd); > > - uint32_t mec = (++pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; > + uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; > uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); > > lock_srbm(kgd, mec, pipe, queue_id, 0); > 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 90271f6..0fccd30 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c > @@ -147,7 +147,7 @@ static void acquire_queue(struct kgd_dev *kgd, uint32_t pipe_id, > { > struct amdgpu_device *adev = get_amdgpu_device(kgd); > > - uint32_t mec = (++pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; > + uint32_t mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; > uint32_t pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); > > lock_srbm(kgd, mec, pipe, queue_id, 0); > @@ -216,7 +216,7 @@ static int kgd_init_interrupts(struct kgd_dev *kgd, uint32_t pipe_id) > uint32_t mec; > uint32_t pipe; > > - mec = (++pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; > + mec = (pipe_id / adev->gfx.mec.num_pipe_per_mec) + 1; > pipe = (pipe_id % adev->gfx.mec.num_pipe_per_mec); > > lock_srbm(kgd, mec, pipe, 0, 0); > -- > 2.7.4 > If I'm looking at amdgpu_gfx_compute_queue_acquire(), amdgpu takes the first pipe, so won't this change collide with that code ?