[PATCH 17/19] drm/amdgpu: Remove hard-coded assumptions about compute pipes
Oded Gabbay
oded.gabbay at gmail.com
Sun Aug 13 08:29:33 UTC 2017
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 ?
More information about the amd-gfx
mailing list