[PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform

2024-09-26 Thread Mahadevan
This series introduces support to enable the Mobile Display Subsystem (MDSS) and Display Processing Unit (DPU) for the Qualcomm SA8775P target. It includes the addition of the hardware catalog, compatible string, relevant device tree changes, and their YAML bindings. --- In this series PATCH 5: "

[PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P

2024-09-26 Thread Mahadevan
Document the MDSS hardware found on the Qualcomm SA8775P platform. Signed-off-by: Mahadevan --- [v2] - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] - Update bindings by fixing dt_binding_check tool errors (update includes in example), adding proper spacing and in

[PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes

2024-09-26 Thread Mahadevan
Add mdss0 and mdp devicetree nodes for sa8775p target. Signed-off-by: Mahadevan --- This patch depends on the clock enablement change: https://lore.kernel.org/all/20240816-sa8775p-mm-v3-v1-0-77d53c3c0...@quicinc.com/ --- [v2] - Update commit message mentioning enablement of mdss0 only is done

[PATCH v2 3/5] drm/msm: mdss: Add SA8775P support

2024-09-26 Thread Mahadevan
Add Mobile Display Subsystem (MDSS) support for the SA8775P platform. Signed-off-by: Mahadevan --- [v2] - Update commit message. [Dmitry] - Reorder compatible string of MDSS based on alphabetical order. [Dmitry] - add reg_bus_bw in msm_mdss_data. [Dmitry] --- drivers/gpu/drm/msm/msm_mdss.c | 1

[PATCH v2 4/5] drm/msm/dpu: Add SA8775P support

2024-09-26 Thread Mahadevan
Add definitions for the display hardware used on the Qualcomm SA8775P platform. Signed-off-by: Mahadevan --- [v2] - Reorder compatible string of DPU based on alphabetical order.[Dmitry] --- .../msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h | 485 ++ .../gpu/drm/msm/disp/dpu1/dpu_hw

[PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P

2024-09-26 Thread Mahadevan
Document the DPU for Qualcomm SA8775P platform. Signed-off-by: Mahadevan --- [v2] - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] - Update bindings by fixing dt_binding_check tool errors (update includes in example), adding proper spacing and indentation in bindin

[PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform

2024-09-26 Thread Mahadevan
This series introduces support to enable the Mobile Display Subsystem (MDSS) and Display Processing Unit (DPU) for the Qualcomm SA8775P target. It includes the addition of the hardware catalog, compatible string, relevant device tree changes, and their YAML bindings. --- In this series PATCH 5: "

Re: [PATCH v2 05/22] drm/msm/dpu: move resource allocation to CRTC

2024-09-26 Thread Dmitry Baryshkov
On Wed, Sep 25, 2024 at 02:49:48PM GMT, Abhinav Kumar wrote: > On 9/25/2024 2:11 PM, Dmitry Baryshkov wrote: > > On Wed, 25 Sept 2024 at 22:39, Jessica Zhang > > wrote: > > > On 9/24/2024 4:13 PM, Dmitry Baryshkov wrote: > > > > On Tue, Sep 24, 2024 at 03:59:21PM GMT, Jessica Zhang wrote: > > > >

Re: [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P

2024-09-26 Thread Dmitry Baryshkov
On Thu, Sep 26, 2024 at 04:31:34PM GMT, Mahadevan wrote: > Document the DPU for Qualcomm SA8775P platform. > > Signed-off-by: Mahadevan > --- > > [v2] > - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] > - Update bindings by fixing dt_binding_check tool errors (update

Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P

2024-09-26 Thread Dmitry Baryshkov
On Thu, Sep 26, 2024 at 04:31:33PM GMT, Mahadevan wrote: > Document the MDSS hardware found on the Qualcomm SA8775P platform. > > Signed-off-by: Mahadevan > --- > > [v2] > - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] > - Update bindings by fixing dt_binding_check

Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P

2024-09-26 Thread Rob Herring (Arm)
On Thu, 26 Sep 2024 16:31:33 +0530, Mahadevan wrote: > Document the MDSS hardware found on the Qualcomm SA8775P platform. > > Signed-off-by: Mahadevan > --- > > [v2] > - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] > - Update bindings by fixing dt_binding_check to

Re: [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P

2024-09-26 Thread Rob Herring (Arm)
On Thu, 26 Sep 2024 16:31:34 +0530, Mahadevan wrote: > Document the DPU for Qualcomm SA8775P platform. > > Signed-off-by: Mahadevan > --- > > [v2] > - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] > - Update bindings by fixing dt_binding_check tool errors (update i

Re: [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support

2024-09-26 Thread Dmitry Baryshkov
On Thu, Sep 26, 2024 at 04:31:35PM GMT, Mahadevan wrote: > Add Mobile Display Subsystem (MDSS) support for the SA8775P platform. > > Signed-off-by: Mahadevan > --- > > [v2] > - Update commit message. [Dmitry] > - Reorder compatible string of MDSS based on alphabetical order. [Dmitry] > - add reg

Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P

2024-09-26 Thread Bjorn Andersson
On Thu, Sep 26, 2024 at 04:31:33PM +0530, Mahadevan wrote: > Document the MDSS hardware found on the Qualcomm SA8775P platform. > > Signed-off-by: Mahadevan > --- > > [v2] > - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] > - Update bindings by fixing dt_binding_chec

Re: [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform

2024-09-26 Thread Bjorn Andersson
On Thu, Sep 26, 2024 at 04:55:02PM GMT, Mahadevan P wrote: > Sorry, Please ignore this thread/coverletter > go/upstream and adopt b4, please.

Re: [PATCH v2 4/5] drm/msm/dpu: Add SA8775P support

2024-09-26 Thread Dmitry Baryshkov
On Thu, Sep 26, 2024 at 04:31:36PM GMT, Mahadevan wrote: > Add definitions for the display hardware used on the > Qualcomm SA8775P platform. > > Signed-off-by: Mahadevan > --- Reviewed-by: Dmitry Baryshkov Minor nit below. > [v2] > - Reorder compatible string of DPU based on alphabetical orde

Re: [PATCH v2 5/5] arm64: dts: qcom: sa8775p: add display dt nodes

2024-09-26 Thread Dmitry Baryshkov
On Thu, Sep 26, 2024 at 04:31:37PM GMT, Mahadevan wrote: > Add mdss0 and mdp devicetree nodes for sa8775p target. > > Signed-off-by: Mahadevan > > --- > > This patch depends on the clock enablement change: > https://lore.kernel.org/all/20240816-sa8775p-mm-v3-v1-0-77d53c3c0...@quicinc.com/ > >

Re: [PATCH v2 0/5] Display enablement changes for Qualcomm SA8775P platform

2024-09-26 Thread Mahadevan P
Sorry, Please ignore this thread/coverletter On 9/26/2024 4:33 PM, Mahadevan wrote: This series introduces support to enable the Mobile Display Subsystem (MDSS) and Display Processing Unit (DPU) for the Qualcomm SA8775P target. It includes the addition of the hardware catalog, compatible string,

Re: [PATCH v2 2/5] dt-bindings: display/msm: Document the DPU for SA8775P

2024-09-26 Thread Krzysztof Kozlowski
On 26/09/2024 13:01, Mahadevan wrote: > Document the DPU for Qualcomm SA8775P platform. > > Signed-off-by: Mahadevan > --- > > [v2] > - Use fake DISPCC nodes to avoid clock dependencies in dt-bindings. [Dmitry] > - Update bindings by fixing dt_binding_check tool errors (update includes in > exa

Re: [PATCH v2 1/5] dt-bindings: display/msm: Document MDSS on SA8775P

2024-09-26 Thread Krzysztof Kozlowski
On 26/09/2024 13:01, Mahadevan wrote: > + > + clocks: > +items: > + - description: Display AHB > + - description: Display hf AXI > + - description: Display core > + > + iommus: > +maxItems: 1 > + > + interconnects: > +maxItems: 3 > + > + interconnect-names: > +max

Re: [PATCH] drm/msm/a6xx+: Insert a fence wait before SMMU table update

2024-09-26 Thread Akhil P Oommen
On Fri, Sep 13, 2024 at 12:51:31PM -0700, Rob Clark wrote: > From: Rob Clark > > The CP_SMMU_TABLE_UPDATE _should_ be waiting for idle, but on some > devices (x1-85, possibly others), it seems to pass that barrier while > there are still things in the event completion FIFO waiting to be > written

[PATCH v2] drm/msm/a6xx+: Insert a fence wait before SMMU table update

2024-09-26 Thread Rob Clark
From: Rob Clark The CP_SMMU_TABLE_UPDATE _should_ be waiting for idle, but on some devices (x1-85, possibly others), it seems to pass that barrier while there are still things in the event completion FIFO waiting to be written back to memory. Work around that by adding a fence wait before contex

[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 chan

Re: [PATCH v2 3/5] drm/msm: mdss: Add SA8775P support

2024-09-26 Thread Mahadevan P
On 9/26/2024 6:32 PM, Dmitry Baryshkov wrote: On Thu, Sep 26, 2024 at 04:31:35PM GMT, Mahadevan wrote: Add Mobile Display Subsystem (MDSS) support for the SA8775P platform. Signed-off-by: Mahadevan --- [v2] - Update commit message. [Dmitry] - Reorder compatible string of MDSS based on alpha

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

2024-09-26 Thread Antonino Maniscalco
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-cal

[PATCH v6 00/11] Preemption support for A7XX

2024-09-26 Thread Antonino Maniscalco
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 enables L1 preemption with skip_save_restore which requires the following userspace patches to functi

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

2024-09-26 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. Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil

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

2024-09-26 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. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested-by: Neil Armstr

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

2024-09-26 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. Reviewed-by: Akhil P Oommen Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD

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

2024-09-26 Thread Antonino Maniscalco
Some userspace changes are necessary so add a flag for userspace to advertise support for preemption when creating the submitqueue. When this flag is not set preemption will not be allowed in the middle of the submitted IBs therefore mantaining compatibility with older userspace. The flag is reje

[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
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. Tested-by: Neil Armstrong # on SM8650-QRD Tested-by: Neil Armstrong # on SM8550-QRD Tested

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

2024-09-26 Thread Antonino Maniscalco
With preemption it is not enough to track the current_ctx_seqno globally as execution might switch between rings. This is especially problematic when current_ctx_seqno is used to determine whether a page table switch is necessary as it might lead to security bugs. Track current context per ring.

[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/ad

[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 M