Re: [RFC] drm/msm: Add UABI to request perfcntr usage

2024-12-13 Thread Antonino Maniscalco
On 12/13/24 5:50 PM, Akhil P Oommen wrote: On 12/12/2024 9:44 PM, Antonino Maniscalco wrote: On 12/12/24 4:58 PM, Akhil P Oommen wrote: On 12/5/2024 10:24 PM, Rob Clark wrote: From: Rob Clark Performance counter usage falls into two categories: 1. Local usage, where the counter

Re: [RFC] drm/msm: Add UABI to request perfcntr usage

2024-12-12 Thread Antonino Maniscalco
fine MSM_PARAM_REQ_CNTRS 0x15 /* WO: request "local" (intra-submit) perfcntr usage */ /* For backwards compat. The original support for preemption was based on * a single ring per priority level so # of priority levels equals the # Best regards, -- Antonino Maniscalco

Re: [v8,09/12] drm/msm/a6xx: Add traces for preemption

2024-10-16 Thread Antonino Maniscalco
On 10/8/24 11:10 PM, Kees Bakker wrote: Op 03-10-2024 om 18:12 schreef Antonino Maniscalco: Add trace points corresponding to preemption being triggered and being completed for latency measurement purposes. Reviewed-by: Akhil P Oommen Tested-by: Rob Clark Tested-by: Neil Armstrong # on

[PATCH v8 12/12] Documentation: document adreno preemption

2024-10-03 Thread Antonino Maniscalco
Add documentation about the preemption feature supported by the msm driver. Signed-off-by: Antonino Maniscalco --- Documentation/gpu/msm-preemption.rst | 99 1 file changed, 99 insertions(+) diff --git a/Documentation/gpu/msm-preemption.rst b/Documentation

[PATCH v8 11/12] drm/msm/a6xx: Enable preemption for tested a7xx targets

2024-10-03 Thread Antonino Maniscalco
Initialize with 4 rings to enable preemption. Add the "preemption_enabled" module parameter to override this. Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino

[PATCH v8 10/12] drm/msm/a6xx: Add a flag to allow preemption to submitqueue_create

2024-10-03 Thread Antonino Maniscalco
rejected if preemption is not supported on the target, this allows userspace to know whether preemption is supported. Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino

[PATCH v8 09/12] drm/msm/a6xx: Add traces for preemption

2024-10-03 Thread Antonino Maniscalco
Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 6 ++ drivers/gpu/drm/msm/msm_gpu_trace.h | 28 2 files changed, 34 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_preempt.c b/drivers/gpu/drm/msm/adreno

[PATCH v8 08/12] drm/msm/a6xx: Use posamble to reset counters on preemption

2024-10-03 Thread Antonino Maniscalco
Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 +++ drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 6 drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 58

[PATCH v8 07/12] drm/msm/a6xx: Sync relevant adreno_pm4.xml changes

2024-10-03 Thread Antonino Maniscalco
# on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- .../gpu/drm/msm/registers/adreno/adreno_pm4.xml| 39 ++ 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/msm/registers/adreno/adreno_pm4.xml b

[PATCH v8 06/12] drm/msm/a6xx: Implement preemption for a7xx targets

2024-10-03 Thread Antonino Maniscalco
Armstrong # on SM8450-HDK Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 193 ++- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 162 drivers/gpu/drm/msm

[PATCH v8 05/12] drm/msm/a6xx: Add a pwrup_list field to a6xx_info

2024-10-03 Thread Antonino Maniscalco
Add a field to contain the pwup_reglist needed for preemption. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 26 ++ drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 2 ++ drivers/gpu/drm/msm/adreno/adreno_gpu.h | 13 + 3

[PATCH v8 04/12] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields

2024-10-03 Thread Antonino Maniscalco
Add missing bitfields to CONTEXT_SWITCH_CNTL in a6xx.xml. Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/registers/adreno/a6xx.xml

[PATCH v8 03/12] drm/msm: Add a `preempt_record_size` field

2024-10-03 Thread Antonino Maniscalco
Adds a field to `adreno_info` to store the GPU specific preempt record size. Reviewed-by: Akhil P Oommen Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco

[PATCH v8 02/12] drm/msm/a6xx: Track current_ctx_seqno per ring

2024-10-03 Thread Antonino Maniscalco
. Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 2 +- drivers/gpu

[PATCH v8 01/12] drm/msm: Fix bv_fence being used as bv_rptr

2024-10-03 Thread Antonino Maniscalco
SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- drivers/gpu/drm/msm/msm_ringbuffer.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm

[PATCH v8 00/12] Preemption support for A7XX

2024-10-03 Thread Antonino Maniscalco
on a previous series to enable preemption on A6XX targets: https://lkml.kernel.org/1520489185-21828-1-git-send-email-smase...@codeaurora.org Signed-off-by: Antonino Maniscalco --- Changes in v8: - Updated commit message on 11/12 to reflect the fact that we are enabling on more targets - Fixed ty

Re: [PATCH v6 11/11] Documentation: document adreno preemption

2024-10-01 Thread Antonino Maniscalco
On 10/1/24 3:10 AM, Bagas Sanjaya wrote: On Thu, Sep 26, 2024 at 11:16:53PM +0200, Antonino Maniscalco wrote: +.. SPDX-License-Identifier: GPL-2.0 + +:orphan: Why don't this be added to toctree in Documentation/gpu/index.rst? Yes so there is existing orphan documentation for msm

[PATCH v7 09/12] drm/msm/a6xx: Add traces for preemption

2024-09-30 Thread Antonino Maniscalco
Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 6 ++ drivers/gpu/drm/msm/msm_gpu_trace.h | 28 2 files changed, 34 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_preempt.c b/drivers/gpu/drm/msm/adreno

[PATCH v7 11/12] drm/msm/a6xx: Enable preemption for a750

2024-09-30 Thread Antonino Maniscalco
SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 12 drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 6 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 4 drivers/gpu/drm/msm/adreno/ad

[PATCH v7 05/12] drm/msm/a6xx: Add a pwrup_list field to a6xx_info

2024-09-30 Thread Antonino Maniscalco
Add a field to contain the pwup_reglist needed for preemption. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 26 ++ drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 2 ++ drivers/gpu/drm/msm/adreno/adreno_gpu.h | 13 + 3

[PATCH v7 10/12] drm/msm/a6xx: Add a flag to allow preemption to submitqueue_create

2024-09-30 Thread Antonino Maniscalco
rejected if preemption is not supported on the target, this allows userspace to know whether preemption is supported. Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino

[PATCH v7 07/12] drm/msm/a6xx: Sync relevant adreno_pm4.xml changes

2024-09-30 Thread Antonino Maniscalco
# on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- .../gpu/drm/msm/registers/adreno/adreno_pm4.xml| 39 ++ 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/msm/registers/adreno/adreno_pm4.xml b

[PATCH v7 12/12] Documentation: document adreno preemption

2024-09-30 Thread Antonino Maniscalco
Add documentation about the preemption feature supported by the msm driver. Signed-off-by: Antonino Maniscalco --- Documentation/gpu/msm-preemption.rst | 99 1 file changed, 99 insertions(+) diff --git a/Documentation/gpu/msm-preemption.rst b/Documentation

[PATCH v7 08/12] drm/msm/a6xx: Use posamble to reset counters on preemption

2024-09-30 Thread Antonino Maniscalco
Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 +++ drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 6 drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 58

[PATCH v7 06/12] drm/msm/a6xx: Implement preemption for a7xx targets

2024-09-30 Thread Antonino Maniscalco
Armstrong # on SM8450-HDK Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/Makefile | 1 + drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 193 ++- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 162 drivers/gpu/drm/msm

[PATCH v7 04/12] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields

2024-09-30 Thread Antonino Maniscalco
Add missing bitfields to CONTEXT_SWITCH_CNTL in a6xx.xml. Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/registers/adreno/a6xx.xml

[PATCH v7 03/12] drm/msm: Add a `preempt_record_size` field

2024-09-30 Thread Antonino Maniscalco
Adds a field to `adreno_info` to store the GPU specific preempt record size. Reviewed-by: Akhil P Oommen Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco

[PATCH v7 02/12] drm/msm/a6xx: Track current_ctx_seqno per ring

2024-09-30 Thread Antonino Maniscalco
. Tested-by: Rob Clark Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 2 +- drivers/gpu

[PATCH v7 01/12] drm/msm: Fix bv_fence being used as bv_rptr

2024-09-30 Thread Antonino Maniscalco
SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- drivers/gpu/drm/msm/msm_ringbuffer.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm

[PATCH v7 00/12] Preemption support for A7XX

2024-09-30 Thread Antonino Maniscalco
on a previous series to enable preemption on A6XX targets: https://lkml.kernel.org/1520489185-21828-1-git-send-email-smase...@codeaurora.org Signed-off-by: Antonino Maniscalco --- Changes in v7: - Enable preemption on more targets - Move pwrup reglist to a6xx_catalog and get rid of ifpc list - Spli

Re: [PATCH v6 05/11] drm/msm/a6xx: Implement preemption for a7xx targets

2024-09-27 Thread Antonino Maniscalco
On 9/27/24 6:29 PM, Rob Clark wrote: On Thu, Sep 26, 2024 at 2:17 PM Antonino Maniscalco 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

Re: [PATCH v6 04/11] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields

2024-09-27 Thread Antonino Maniscalco
a mesa MR [1] based on this that will hopefully get quickly acked and merged. Connor Sure I'll keep that in mind, thanks! [1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31422 On Thu, Sep 26, 2024 at 10:17 PM Antonino Maniscalco wrote: Add missing bitfields to CONTEXT

[PATCH v6 07/11] drm/msm/a6xx: Use posamble to reset counters on preemption

2024-09-26 Thread Antonino Maniscalco
-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 +++ drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 6 drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 57 +++ drivers/gpu/drm/msm

[PATCH v6 00/11] Preemption support for A7XX

2024-09-26 Thread Antonino Maniscalco
on a previous series to enable preemption on A6XX targets: https://lkml.kernel.org/1520489185-21828-1-git-send-email-smase...@codeaurora.org Signed-off-by: Antonino Maniscalco --- Changes in v6: - Fixed commit message prefix (A6XX->a6xx) - Allow preemption to be disabled at run time - Link to v5

[PATCH v6 09/11] drm/msm/a6xx: Add a flag to allow preemption to submitqueue_create

2024-09-26 Thread Antonino Maniscalco
rejected if preemption is not supported on the target, this allows userspace to know whether preemption is supported. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu

[PATCH v6 08/11] drm/msm/a6xx: Add traces for preemption

2024-09-26 Thread Antonino Maniscalco
Add trace points corresponding to preemption being triggered and being completed for latency measurement purposes. Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino

[PATCH v6 05/11] drm/msm/a6xx: Implement preemption for a7xx targets

2024-09-26 Thread Antonino Maniscalco
-HDK Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco --- 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

[PATCH v6 10/11] drm/msm/a6xx: Enable preemption for a750

2024-09-26 Thread Antonino Maniscalco
d-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 3 ++- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 6 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 4 drivers/gpu/drm/msm/adreno/adreno_gpu.h| 1 + drivers/g

[PATCH v6 03/11] drm/msm: Add a `preempt_record_size` field

2024-09-26 Thread Antonino Maniscalco
Adds a field to `adreno_info` to store the GPU specific preempt record size. Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm

[PATCH v6 11/11] Documentation: document adreno preemption

2024-09-26 Thread Antonino Maniscalco
Add documentation about the preemption feature supported by the msm driver. Signed-off-by: Antonino Maniscalco --- Documentation/gpu/msm-preemption.rst | 99 1 file changed, 99 insertions(+) diff --git a/Documentation/gpu/msm-preemption.rst b/Documentation

[PATCH v6 06/11] drm/msm/a6xx: Sync relevant adreno_pm4.xml changes

2024-09-26 Thread Antonino Maniscalco
Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- .../gpu/drm/msm/registers/adreno/adreno_pm4.xml| 39 ++ 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/msm/registers/adreno/adreno_pm4.xml b/drivers/gpu/drm/msm

[PATCH v6 01/11] drm/msm: Fix bv_fence being used as bv_rptr

2024-09-26 Thread Antonino Maniscalco
Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- drivers/gpu/drm/msm/msm_ringbuffer.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c

[PATCH v6 02/11] drm/msm/a6xx: Track current_ctx_seqno per ring

2024-09-26 Thread Antonino Maniscalco
. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno

[PATCH v6 04/11] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields

2024-09-26 Thread Antonino Maniscalco
Add missing bitfields to CONTEXT_SWITCH_CNTL in a6xx.xml. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 7 ++- 1 file

Re: [PATCH v4 00/11] Preemption support for A7XX

2024-09-24 Thread Antonino Maniscalco
On 9/24/24 5:22 PM, Akhil P Oommen wrote: On Tue, Sep 24, 2024 at 07:47:12AM -0700, Rob Clark wrote: On Tue, Sep 24, 2024 at 4:54 AM Antonino Maniscalco wrote: On 9/20/24 7:09 PM, Akhil P Oommen wrote: On Wed, Sep 18, 2024 at 09:46:33AM +0200, Neil Armstrong wrote: Hi, On 17/09/2024 13:14

Re: [PATCH v4 00/11] Preemption support for A7XX

2024-09-24 Thread Antonino Maniscalco
On 9/24/24 4:47 PM, Rob Clark wrote: On Tue, Sep 24, 2024 at 4:54 AM Antonino Maniscalco wrote: On 9/20/24 7:09 PM, Akhil P Oommen wrote: On Wed, Sep 18, 2024 at 09:46:33AM +0200, Neil Armstrong wrote: Hi, On 17/09/2024 13:14, Antonino Maniscalco wrote: This series implements preemption

Re: [PATCH v4 00/11] Preemption support for A7XX

2024-09-24 Thread Antonino Maniscalco
On 9/20/24 7:09 PM, Akhil P Oommen wrote: On Wed, Sep 18, 2024 at 09:46:33AM +0200, Neil Armstrong wrote: Hi, On 17/09/2024 13:14, Antonino Maniscalco wrote: This series implements preemption for A7XX targets, which allows the GPU to switch to an higher priority ring when work is pushed to it

[PATCH v5 11/11] Documentation: document adreno preemption

2024-09-24 Thread Antonino Maniscalco
Add documentation about the preemption feature supported by the msm driver. Signed-off-by: Antonino Maniscalco --- Documentation/gpu/msm-preemption.rst | 99 1 file changed, 99 insertions(+) diff --git a/Documentation/gpu/msm-preemption.rst b/Documentation

[PATCH v5 10/11] drm/msm/A6xx: Enable preemption for A750

2024-09-24 Thread Antonino Maniscalco
d-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 3 ++- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 6 +- drivers/gpu/drm/msm/adreno/adreno_device.c | 4 drivers/gpu/drm/msm/adreno/adreno_gpu.h| 1 + 4 files c

[PATCH v5 09/11] drm/msm/A6XX: Add a flag to allow preemption to submitqueue_create

2024-09-24 Thread Antonino Maniscalco
rejected if preemption is not supported on the target, this allows userspace to know whether preemption is supported. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu

[PATCH v5 06/11] drm/msm/A6xx: Sync relevant adreno_pm4.xml changes

2024-09-24 Thread Antonino Maniscalco
Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- .../gpu/drm/msm/registers/adreno/adreno_pm4.xml| 39 ++ 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/drivers/gpu/drm/msm/registers/adreno/adreno_pm4.xml b/drivers/gpu/drm/msm

[PATCH v5 07/11] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-09-24 Thread Antonino Maniscalco
-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 +++ drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 6 drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 57 +++ drivers/gpu/drm/msm

[PATCH v5 08/11] drm/msm/A6xx: Add traces for preemption

2024-09-24 Thread Antonino Maniscalco
Add trace points corresponding to preemption being triggered and being completed for latency measurement purposes. Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino

[PATCH v5 03/11] drm/msm: Add a `preempt_record_size` field

2024-09-24 Thread Antonino Maniscalco
Adds a field to `adreno_info` to store the GPU specific preempt record size. Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm

[PATCH v5 05/11] drm/msm/A6xx: Implement preemption for A7XX targets

2024-09-24 Thread Antonino Maniscalco
-HDK Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco --- 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

[PATCH v5 04/11] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields

2024-09-24 Thread Antonino Maniscalco
Add missing bitfields to CONTEXT_SWITCH_CNTL in a6xx.xml. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 7 ++- 1 file

[PATCH v5 02/11] drm/msm/A6XX: Track current_ctx_seqno per ring

2024-09-24 Thread Antonino Maniscalco
. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno

[PATCH v5 01/11] drm/msm: Fix bv_fence being used as bv_rptr

2024-09-24 Thread Antonino Maniscalco
Armstrong # on SM8450-HDK Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- drivers/gpu/drm/msm/msm_ringbuffer.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c

[PATCH v5 00/11] Preemption support for A7XX

2024-09-24 Thread Antonino Maniscalco
on a previous series to enable preemption on A6XX targets: https://lkml.kernel.org/1520489185-21828-1-git-send-email-smase...@codeaurora.org Signed-off-by: Antonino Maniscalco --- Changes in v5: - Made preemption documentation more detailed - Added ring ID to preempt_record BO name - Added Neil's

Re: [PATCH v4 00/11] Preemption support for A7XX

2024-09-18 Thread Antonino Maniscalco
On 9/18/24 9:46 AM, Neil Armstrong wrote: Hi, On 17/09/2024 13:14, Antonino Maniscalco wrote: This series implements preemption for A7XX targets, which allows the GPU to switch to an higher priority ring when work is pushed to it, reducing latency for high priority submissions. This series

[PATCH v4 11/11] Documentation: document adreno preemption

2024-09-17 Thread Antonino Maniscalco
Add documentation about the preemption feature supported by the msm driver. Signed-off-by: Antonino Maniscalco --- Documentation/gpu/msm-preemption.rst | 98 1 file changed, 98 insertions(+) diff --git a/Documentation/gpu/msm-preemption.rst b/Documentation

[PATCH v4 09/11] drm/msm/A6XX: Add a flag to allow preemption to submitqueue_create

2024-09-17 Thread Antonino Maniscalco
rejected if preemption is not supported on the target, this allows userspace to know whether preemption is supported. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 drivers/gpu/drm/msm/msm_submitqueue.c | 3

[PATCH v4 06/11] drm/msm/A6xx: Sync relevant adreno_pm4.xml changes

2024-09-17 Thread Antonino Maniscalco
In mesa CP_SET_CTXSWITCH_IB is renamed to CP_SET_AMBLE and some other names are changed to match KGSL. Import those changes. The changes have not been merged yet in mesa but are necessary for this series. Signed-off-by: Antonino Maniscalco --- .../gpu/drm/msm/registers/adreno/adreno_pm4.xml

[PATCH v4 04/11] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields

2024-09-17 Thread Antonino Maniscalco
Add missing bitfields to CONTEXT_SWITCH_CNTL in a6xx.xml. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/registers/adreno/a6xx.xml b/drivers/gpu/drm/msm/registers

[PATCH v4 10/11] drm/msm/A6xx: Enable preemption for A750

2024-09-17 Thread Antonino Maniscalco
Initialize with 4 rings to enable preemption. For now only on A750 as other targets require testing. Add the "preemption_enabled" module parameter to override this for other A7xx targets. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/g

[PATCH v4 05/11] drm/msm/A6xx: Implement preemption for A7XX targets

2024-09-17 Thread Antonino Maniscalco
-call level or a bin boundary level preemption. This patch enables the basic preemption level, with more fine grained preemption support to follow. Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/Makefile

[PATCH v4 08/11] drm/msm/A6xx: Add traces for preemption

2024-09-17 Thread Antonino Maniscalco
Add trace points corresponding to preemption being triggered and being completed for latency measurement purposes. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 6 ++ drivers/gpu/drm/msm/msm_gpu_trace.h

[PATCH v4 07/11] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-09-17 Thread Antonino Maniscalco
Use the postamble to reset perf counters when switching between rings, except when sysprof is enabled, analogously to how they are reset between submissions when switching pagetables. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 +++ drivers/gpu/drm

[PATCH v4 02/11] drm/msm/A6XX: Track current_ctx_seqno per ring

2024-09-17 Thread Antonino Maniscalco
. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a2xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a3xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a4xx_gpu.c | 2 +- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 6 +++--- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 10 ++ drivers

[PATCH v4 03/11] drm/msm: Add a `preempt_record_size` field

2024-09-17 Thread Antonino Maniscalco
Adds a field to `adreno_info` to store the GPU specific preempt record size. Signed-off-by: Antonino Maniscalco Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 4 drivers/gpu/drm/msm/adreno/adreno_gpu.h | 1 + 2

[PATCH v4 01/11] drm/msm: Fix bv_fence being used as bv_rptr

2024-09-17 Thread Antonino Maniscalco
The bv_fence field of rbmemptrs was being used incorrectly as the BV rptr shadow pointer in some places. Add a bv_rptr field and change the code to use that instead. Signed-off-by: Antonino Maniscalco Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm

[PATCH v4 00/11] Preemption support for A7XX

2024-09-17 Thread Antonino Maniscalco
on a previous series to enable preemption on A6XX targets: https://lkml.kernel.org/1520489185-21828-1-git-send-email-smase...@codeaurora.org Signed-off-by: Antonino Maniscalco --- Changes in v4: - Added missing register in pwrup list - Removed and rearrange barriers - Renamed `skip_inline_wpt

Re: [PATCH v3 04/10] drm/msm/A6xx: Implement preemption for A7XX targets

2024-09-12 Thread Antonino Maniscalco
On 9/10/24 6:43 PM, Akhil P Oommen wrote: On Mon, Sep 09, 2024 at 01:22:22PM +0100, Connor Abbott wrote: On Fri, Sep 6, 2024 at 9:03 PM Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04:51:22PM +0200, Antonino Maniscalco wrote: This patch implements preemption feature for A6xx targets, this

Re: [PATCH v3 00/10] Preemption support for A7XX

2024-09-12 Thread Antonino Maniscalco
On 9/6/24 9:58 PM, Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04:51:18PM +0200, Antonino Maniscalco wrote: This series implements preemption for A7XX targets, which allows the GPU to switch to an higher priority ring when work is pushed to it, reducing latency for high priority submissions

Re: [PATCH v3 06/10] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-09-12 Thread Antonino Maniscalco
On 9/12/24 9:12 AM, Akhil P Oommen wrote: On Wed, Sep 11, 2024 at 12:35:08AM +0200, Antonino Maniscalco wrote: On 9/10/24 11:34 PM, Akhil P Oommen wrote: On Mon, Sep 09, 2024 at 05:07:42PM +0200, Antonino Maniscalco wrote: On 9/6/24 10:08 PM, Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04

Re: [PATCH v3 06/10] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-09-10 Thread Antonino Maniscalco
On 9/10/24 11:34 PM, Akhil P Oommen wrote: On Mon, Sep 09, 2024 at 05:07:42PM +0200, Antonino Maniscalco wrote: On 9/6/24 10:08 PM, Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04:51:24PM +0200, Antonino Maniscalco wrote: Use the postamble to reset perf counters when switching between rings

Re: [PATCH v3 04/10] drm/msm/A6xx: Implement preemption for A7XX targets

2024-09-09 Thread Antonino Maniscalco
On 9/9/24 3:15 PM, Antonino Maniscalco wrote: On 9/6/24 9:54 PM, Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04:51:22PM +0200, Antonino Maniscalco wrote: This patch implements preemption feature for A6xx targets, this allows the GPU to switch to a higher priority ringbuffer if one is ready

Re: [PATCH v3 07/10] drm/msm/A6xx: Add traces for preemption

2024-09-09 Thread Antonino Maniscalco
On 9/6/24 10:11 PM, Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04:51:25PM +0200, Antonino Maniscalco wrote: Add trace points corresponding to preemption being triggered and being completed for latency measurement purposes. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on

Re: [PATCH v3 06/10] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-09-09 Thread Antonino Maniscalco
On 9/6/24 10:08 PM, Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04:51:24PM +0200, Antonino Maniscalco wrote: Use the postamble to reset perf counters when switching between rings, except when sysprof is enabled, analogously to how they are reset between submissions when switching pagetables

Re: [PATCH v3 04/10] drm/msm/A6xx: Implement preemption for A7XX targets

2024-09-09 Thread Antonino Maniscalco
On 9/6/24 9:54 PM, Akhil P Oommen wrote: On Thu, Sep 05, 2024 at 04:51:22PM +0200, Antonino Maniscalco 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

[PATCH v3 09/10] drm/msm/A6xx: Enable preemption for A750

2024-09-05 Thread Antonino Maniscalco
Initialize with 4 rings to enable preemption. For now only on A750 as other targets require testing. Add the "preemption_enabled" module parameter to override this for other A7xx targets. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/g

[PATCH v3 10/10] Documentation: document adreno preemption

2024-09-05 Thread Antonino Maniscalco
Add documentation about the preemption feature supported by the msm driver. Signed-off-by: Antonino Maniscalco --- Documentation/gpu/msm-preemption.rst | 98 1 file changed, 98 insertions(+) diff --git a/Documentation/gpu/msm-preemption.rst b/Documentation

[PATCH v3 07/10] drm/msm/A6xx: Add traces for preemption

2024-09-05 Thread Antonino Maniscalco
Add trace points corresponding to preemption being triggered and being completed for latency measurement purposes. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 7 +++ drivers/gpu/drm/msm/msm_gpu_trace.h

[PATCH v3 08/10] drm/msm/A6XX: Add a flag to allow preemption to submitqueue_create

2024-09-05 Thread Antonino Maniscalco
rejected if preemption is not supported on the target, this allows userspace to know whether preemption is supported. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 drivers/gpu/drm/msm/msm_submitqueue.c | 3

[PATCH v3 06/10] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-09-05 Thread Antonino Maniscalco
Use the postamble to reset perf counters when switching between rings, except when sysprof is enabled, analogously to how they are reset between submissions when switching pagetables. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 20

[PATCH v3 04/10] drm/msm/A6xx: Implement preemption for A7XX targets

2024-09-05 Thread Antonino Maniscalco
-call level or a bin boundary level preemption. This patch enables the basic preemption level, with more fine grained preemption support to follow. Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/Makefile

[PATCH v3 05/10] drm/msm/A6xx: Sync relevant adreno_pm4.xml changes

2024-09-05 Thread Antonino Maniscalco
In mesa CP_SET_CTXSWITCH_IB is renamed to CP_SET_AMBLE and some other names are changed to match KGSL. Import those changes. The changes have not been merged yet in mesa but are necessary for this series. Signed-off-by: Antonino Maniscalco --- .../gpu/drm/msm/registers/adreno/adreno_pm4.xml

[PATCH v3 03/10] drm/msm: Add CONTEXT_SWITCH_CNTL bitfields

2024-09-05 Thread Antonino Maniscalco
Add missing bitfields to CONTEXT_SWITCH_CNTL in a6xx.xml. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/registers/adreno/a6xx.xml | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/registers/adreno/a6xx.xml b/drivers/gpu/drm/msm/registers

[PATCH v3 02/10] drm/msm: Add a `preempt_record_size` field

2024-09-05 Thread Antonino Maniscalco
Adds a field to `adreno_info` to store the GPU specific preempt record size. Signed-off-by: Antonino Maniscalco Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 4 drivers/gpu/drm/msm/adreno/adreno_gpu.h | 1 + 2

[PATCH v3 01/10] drm/msm: Fix bv_fence being used as bv_rptr

2024-09-05 Thread Antonino Maniscalco
The bv_fence field of rbmemptrs was being used incorrectly as the BV rptr shadow pointer in some places. Add a bv_rptr field and change the code to use that instead. Signed-off-by: Antonino Maniscalco Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm

[PATCH v3 00/10] Preemption support for A7XX

2024-09-05 Thread Antonino Maniscalco
on a previous series to enable preemption on A6XX targets: https://lkml.kernel.org/1520489185-21828-1-git-send-email-smase...@codeaurora.org Signed-off-by: Antonino Maniscalco --- Changes in v3: - Added documentation about preemption - Use quirks to determine which target supports preemption - Add a m

Re: [PATCH v2 6/9] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-09-04 Thread Antonino Maniscalco
On 8/30/24 8:32 PM, Rob Clark wrote: On Fri, Aug 30, 2024 at 8:33 AM Antonino Maniscalco wrote: Use the postamble to reset perf counters when switching between rings, except when sysprof is enabled, analogously to how they are reset between submissions when switching pagetables. Signed-off

Re: [PATCH v2 4/9] drm/msm/A6xx: Implement preemption for A7XX targets

2024-08-31 Thread Antonino Maniscalco
On 8/30/24 10:25 PM, Rob Clark wrote: On Fri, Aug 30, 2024 at 8:33 AM Antonino Maniscalco 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

[PATCH v2 9/9] drm/msm/A6xx: Enable preemption for A750

2024-08-30 Thread Antonino Maniscalco
Initialize with 4 rings to enable preemption. For now only on A750 as other targets require testing. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a

[PATCH v2 6/9] drm/msm/A6xx: Use posamble to reset counters on preemption

2024-08-30 Thread Antonino Maniscalco
Use the postamble to reset perf counters when switching between rings, except when sysprof is enabled, analogously to how they are reset between submissions when switching pagetables. Signed-off-by: Antonino Maniscalco --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 14 +- drivers

[PATCH v2 7/9] drm/msm/A6xx: Add traces for preemption

2024-08-30 Thread Antonino Maniscalco
Add trace points corresponding to preemption being triggered and being completed for latency measurement purposes. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_preempt.c | 7 +++ drivers/gpu/drm/msm/msm_gpu_trace.h

[PATCH v2 4/9] drm/msm/A6xx: Implement preemption for A7XX targets

2024-08-30 Thread Antonino Maniscalco
-call level or a bin boundary level preemption. This patch enables the basic preemption level, with more fine grained preemption support to follow. Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/Makefile

[PATCH v2 8/9] drm/msm/A6XX: Add a flag to allow preemption to submitqueue_create

2024-08-30 Thread Antonino Maniscalco
rejected if preemption is not supported on the target, this allows userspace to know whether preemption is supported. Signed-off-by: Antonino Maniscalco Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 12 drivers/gpu/drm/msm/msm_submitqueue.c | 3

[PATCH v2 5/9] drm/msm/A6xx: Sync relevant adreno_pm4.xml changes

2024-08-30 Thread Antonino Maniscalco
In mesa CP_SET_CTXSWITCH_IB is renamed to CP_SET_AMBLE and some other names are changed to match KGSL. Import those changes. The changes have not been merged yet in mesa but are necessary for this series. Signed-off-by: Antonino Maniscalco --- .../gpu/drm/msm/registers/adreno/adreno_pm4.xml

[PATCH v2 2/9] drm/msm: Add submitqueue setup and close

2024-08-30 Thread Antonino Maniscalco
This patch adds a bit of infrastructure to give the different Adreno targets the flexibility to setup the submitqueues per their needs. Signed-off-by: Sharat Masetty Signed-off-by: Antonino Maniscalco Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD --- drivers/gpu/drm

  1   2   >