From: Antonino Maniscalco <antomani103@gmail.com>
To: Rob Clark <robdclark@gmail.com>
Cc: Sean Paul <sean@poorly.run>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
Abhinav Kumar <quic_abhinavk@quicinc.com>,
Dmitry Baryshkov <dmitry.baryshkov@linaro.org>,
Marijn Suijten <marijn.suijten@somainline.org>,
David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Jonathan Corbet <corbet@lwn.net>,
linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org,
freedreno@lists.freedesktop.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org,
Akhil P Oommen <quic_akhilpo@quicinc.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Sharat Masetty <smasetty@codeaurora.org>
Subject: Re: [PATCH v6 05/11] drm/msm/a6xx: Implement preemption for a7xx targets
Date: Fri, 27 Sep 2024 22:15:22 +0200 [thread overview]
Message-ID: <a035fb73-e2b8-4928-b136-b3b99996bc84@gmail.com> (raw)
In-Reply-To: <CAF6AEGviMOLoZKHf4DX9mEj84Y5Xx2hH4tvrkRVLsYyQz35Bwg@mail.gmail.com>
On 9/27/24 6:29 PM, Rob Clark wrote:
> On Thu, Sep 26, 2024 at 2:17 PM Antonino Maniscalco
> <antomani103@gmail.com> wrote:
>>
>> This patch implements preemption feature for A6xx targets, this allows
>> the GPU to switch to a higher priority ringbuffer if one is ready. A6XX
>> hardware as such supports multiple levels of preemption granularities,
>> ranging from coarse grained(ringbuffer level) to a more fine grained
>> such as draw-call level or a bin boundary level preemption. This patch
>> enables the basic preemption level, with more fine grained preemption
>> support to follow.
>>
>> Reviewed-by: Akhil P Oommen <quic_akhilpo@quicinc.com>
>> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
>> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
>> Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8450-HDK
>> Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
>> Signed-off-by: Antonino Maniscalco <antomani103@gmail.com>
>> ---
>> drivers/gpu/drm/msm/Makefile | 1 +
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 283 +++++++++++++++++++++-
>> drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 168 +++++++++++++
>> drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 377 ++++++++++++++++++++++++++++++
>> drivers/gpu/drm/msm/msm_ringbuffer.h | 7 +
>> 5 files changed, 825 insertions(+), 11 deletions(-)
>>
>
> [snip]
>
>> diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
>> index 6e065500b64d6d95599d89c33e6703c92f210047..355a3e210335d60a5bed0ee287912271c353402a 100644
>> --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
>> +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c
>
> [snip]
>
>> @@ -784,6 +1015,16 @@ static int a6xx_ucode_load(struct msm_gpu *gpu)
>> msm_gem_object_set_name(a6xx_gpu->shadow_bo, "shadow");
>> }
>>
>> + a6xx_gpu->pwrup_reglist_ptr = msm_gem_kernel_new(gpu->dev, PAGE_SIZE,
>> + MSM_BO_WC | MSM_BO_MAP_PRIV,
>> + gpu->aspace, &a6xx_gpu->pwrup_reglist_bo,
>> + &a6xx_gpu->pwrup_reglist_iova);
>
> Couldn't this also be MSM_BO_GPU_READONLY? And same for the
> preempt_postamble_ptr, I assume?
So for pwrup_reglist_ptr, it contains the cpu_gpu_lock struct that needs
to be written by the gpu. The list itself is part of that struct.
>
> Also, it looks like we are only writing the smmu_info from the
> kernel.. is there any way that could be split out into a RO buffer?
For preempt_postamble_ptr, and smmu_info I think it should be possible
so I'll work on that.
>
> BR,
> -R
>
>> +
>> + if (IS_ERR(a6xx_gpu->pwrup_reglist_ptr))
>> + return PTR_ERR(a6xx_gpu->pwrup_reglist_ptr);
>> +
>> + msm_gem_object_set_name(a6xx_gpu->pwrup_reglist_bo, "pwrup_reglist");
>> +
>> return 0;
>> }
>>
Best regards,
--
Antonino Maniscalco <antomani103@gmail.com>
next prev parent reply other threads:[~2024-09-27 20:15 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-26 21:16 [PATCH v6 00/11] Preemption support for A7XX Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 01/11] drm/msm: Fix bv_fence being used as bv_rptr Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 02/11] drm/msm/a6xx: Track current_ctx_seqno per ring Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 03/11] drm/msm: Add a `preempt_record_size` field Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 04/11] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields Antonino Maniscalco
2024-09-27 11:57 ` Connor Abbott
2024-09-27 15:01 ` Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 05/11] drm/msm/a6xx: Implement preemption for a7xx targets Antonino Maniscalco
2024-09-27 16:13 ` Rob Clark
2024-09-27 16:29 ` Rob Clark
2024-09-27 20:15 ` Antonino Maniscalco [this message]
2024-09-26 21:16 ` [PATCH v6 06/11] drm/msm/a6xx: Sync relevant adreno_pm4.xml changes Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 07/11] drm/msm/a6xx: Use posamble to reset counters on preemption Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 08/11] drm/msm/a6xx: Add traces for preemption Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 09/11] drm/msm/a6xx: Add a flag to allow preemption to submitqueue_create Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 10/11] drm/msm/a6xx: Enable preemption for a750 Antonino Maniscalco
2024-09-26 21:16 ` [PATCH v6 11/11] Documentation: document adreno preemption Antonino Maniscalco
2024-10-01 1:10 ` Bagas Sanjaya
2024-10-01 11:18 ` Antonino Maniscalco
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a035fb73-e2b8-4928-b136-b3b99996bc84@gmail.com \
--to=antomani103@gmail.com \
--cc=airlied@gmail.com \
--cc=corbet@lwn.net \
--cc=daniel@ffwll.ch \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=freedreno@lists.freedesktop.org \
--cc=konrad.dybcio@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marijn.suijten@somainline.org \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=quic_abhinavk@quicinc.com \
--cc=quic_akhilpo@quicinc.com \
--cc=robdclark@gmail.com \
--cc=sean@poorly.run \
--cc=smasetty@codeaurora.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.