[Freedreno] [PATCH v3 1/6] dt-bindings: drm/msm/gpu: Document gpu opp table

2020-06-05 Thread Sharat Masetty
Update documentation to list the gpu opp table bindings including the newly added "opp-peak-kBps" needed for GPU-DDR bandwidth scaling. Signed-off-by: Sharat Masetty Acked-by: Rob Herring --- .../devicetree/bindings/display/msm/gpu.txt| 28 ++ 1 file c

[Freedreno] [PATCH v3 6/6] arm64: dts: qcom: sc7180: Add opp-peak-kBps to GPU opp

2020-06-05 Thread Sharat Masetty
Add opp-peak-kBps bindings to the GPU opp table, listing the peak GPU -> DDR bandwidth requirement for each opp level. This will be used to scale the DDR bandwidth along with the GPU frequency dynamically. Signed-off-by: Sharat Masetty Reviewed-by: Matthias Kaehlcke --- arch/arm64/boot/

[Freedreno] [PATCH v3 4/6] arm64: dts: qcom: SDM845: Enable GPU DDR bw scaling

2020-06-05 Thread Sharat Masetty
This patch adds the interconnects property for the gpu node and the opp-peak-kBps property to the opps of the gpu opp table. This should help enable DDR bandwidth scaling dynamically and proportionally to the GPU frequency. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sdm845.dtsi

[Freedreno] [PATCH v3 2/6] drm: msm: a6xx: send opp instead of a frequency

2020-06-05 Thread Sharat Masetty
This patch changes the plumbing to send the devfreq recommended opp rather than the frequency. Also consolidate and rearrange the code in a6xx to set the GPU frequency and the icc vote in preparation for the upcoming changes for GPU->DDR scaling votes. Signed-off-by: Sharat Masetty --- driv

[Freedreno] [PATCH v3 3/6] drm: msm: a6xx: use dev_pm_opp_set_bw to scale DDR

2020-06-05 Thread Sharat Masetty
off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 23 --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 8 drivers/gpu/drm/msm/msm_gpu.h | 2 -- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c

[Freedreno] [PATCH v3 5/6] arm64: dts: qcom: sc7180: Add interconnects property for GPU

2020-06-05 Thread Sharat Masetty
This patch adds the interconnects property to the GPU node. This enables the GPU->DDR path bandwidth voting. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/

[Freedreno] [PATCH v3 0/6] Add support for GPU DDR BW scaling

2020-06-05 Thread Sharat Masetty
for SDM845 as well but its not tested yet(WIP), but the SC7180 patches are well tested now. [1] https://patchwork.freedesktop.org/series/75291/ [2] https://kernel.googlesource.com/pub/scm/linux/kernel/git/vireshk/pm/+log/opp/linux-next/ [3] https://patchwork.kernel.org/patch/11590563/ Sharat Masetty

Re: [Freedreno] [PATCH 5/6] drm: msm: a6xx: use dev_pm_opp_set_bw to set DDR bandwidth

2020-05-28 Thread Sharat Masetty
On 5/27/2020 9:08 PM, Rob Clark wrote: On Wed, May 27, 2020 at 1:47 AM Sharat Masetty wrote: + more folks On 5/18/2020 9:55 PM, Rob Clark wrote: On Mon, May 18, 2020 at 7:23 AM Jordan Crouse wrote: On Thu, May 14, 2020 at 04:24:18PM +0530, Sharat Masetty wrote: This patches replaces

Re: [Freedreno] [PATCH 5/6] drm: msm: a6xx: use dev_pm_opp_set_bw to set DDR bandwidth

2020-05-27 Thread Sharat Masetty
+ more folks On 5/18/2020 9:55 PM, Rob Clark wrote: On Mon, May 18, 2020 at 7:23 AM Jordan Crouse wrote: On Thu, May 14, 2020 at 04:24:18PM +0530, Sharat Masetty wrote: This patches replaces the previously used static DDR vote and uses dev_pm_opp_set_bw() to scale GPU->DDR bandwidth al

[Freedreno] [PATCH 1/6] arm64: dts: qcom: sc7180: Add interconnect bindings for GPU

2020-05-14 Thread Sharat Masetty
This patch adds the interconnect bindings to the GPU node. This enables the GPU->DDR path bandwidth voting. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/

[Freedreno] [PATCH 0/6] Add support for GPU DDR BW scaling

2020-05-14 Thread Sharat Masetty
/cover/1230626/ [3]: https://lore.kernel.org/patchwork/cover/1240687/ Sharat Masetty (5): arm64: dts: qcom: sc7180: Add interconnect bindings for GPU arm64: dts: qcom: sc7180: Add opp-peak-kBps to GPU opp drm: msm: a6xx: send opp instead of a frequency drm: msm: a6xx: use dev_pm_opp_set_bw

[Freedreno] [PATCH 6/6] dt-bindings: drm/msm/gpu: Document gpu opp table

2020-05-14 Thread Sharat Masetty
Update documentation to list the gpu opp table bindings including the newly added "opp-peak-kBps" needed for GPU-DDR bandwidth scaling. Signed-off-by: Sharat Masetty --- .../devicetree/bindings/display/msm/gpu.txt| 28 ++ 1 file changed, 28 insertions(+)

[Freedreno] [PATCH 4/6] drm: msm: a6xx: send opp instead of a frequency

2020-05-14 Thread Sharat Masetty
This patch changes the plumbing to send the devfreq recommended opp rather than the frequency. Also consolidate and rearrange the code in a6xx to set the GPU frequency and the icc vote in preparation for the upcoming changes for GPU->DDR scaling votes. Signed-off-by: Sharat Masetty --- driv

[Freedreno] [PATCH 2/6] arm64: dts: qcom: sc7180: Add opp-peak-kBps to GPU opp

2020-05-14 Thread Sharat Masetty
Add opp-peak-kBps bindings to the GPU opp table, listing the peak GPU -> DDR bandwidth requirement for each opp level. This will be used to scale the DDR bandwidth along with the GPU frequency dynamically. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 7 +++

[Freedreno] [PATCH 3/6] OPP: Add and export helper to set bandwidth

2020-05-14 Thread Sharat Masetty
From: Sibi Sankar Add and export 'dev_pm_opp_set_bw' to set the bandwidth levels associated with an OPP for a given frequency. Signed-off-by: Sibi Sankar Signed-off-by: Sharat Masetty --- drivers/opp/core.c | 43 +++ include/linux/pm_opp.h | 6

[Freedreno] [PATCH 5/6] drm: msm: a6xx: use dev_pm_opp_set_bw to set DDR bandwidth

2020-05-14 Thread Sharat Masetty
This patches replaces the previously used static DDR vote and uses dev_pm_opp_set_bw() to scale GPU->DDR bandwidth along with scaling GPU frequency. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --

[Freedreno] [PATCH 2/2] dt-bindings: arm-smmu: Add sc7180 compatible string

2020-05-01 Thread Sharat Masetty
This patch simply adds a new compatible string for SC7180 platform. Signed-off-by: Sharat Masetty --- Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree

[Freedreno] [PATCH 1/2] arm64: dts: qcom: sc7180: Add A618 gpu dt blob

2020-05-01 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty --- * Remove GCC_DDRSS_GPU_AXI_CLK clock reference from gpu smmu node. arch/arm64/boot/dts/qcom/sc7180.dtsi | 102 +++ 1 file changed, 102 insertions(+) diff

Re: [Freedreno] [PATCH v2] dt-bindings: arm-smmu: Add sc7180 compatible string and mem_iface clock

2020-05-01 Thread Sharat Masetty
On 4/30/2020 11:51 PM, Doug Anderson wrote: Hi, On Thu, Apr 30, 2020 at 11:12 AM Jordan Crouse wrote: On Thu, Apr 30, 2020 at 09:29:47AM +0530, Sharat Masetty wrote: This patch adds a new compatible string for sc7180 and also an additional clock listing needed to power the TBUs and the TCU

[Freedreno] [PATCH v2] dt-bindings: arm-smmu: Add sc7180 compatible string and mem_iface clock

2020-04-29 Thread Sharat Masetty
This patch adds a new compatible string for sc7180 and also an additional clock listing needed to power the TBUs and the TCU. Signed-off-by: Sharat Masetty --- v2: Addressed review comments from Doug Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 8 1 file changed, 8

Re: [Freedreno] [PATCH] dt-bindings: arm-smmu: Add a new compatible string and a clock

2020-04-29 Thread Sharat Masetty
On 4/29/2020 3:57 AM, Doug Anderson wrote: Hi, On Tue, Apr 28, 2020 at 4:39 AM Sharat Masetty wrote: This patch adds a new compatible string for sc7180 and also an additional clock listing needed to power the TBUs and the TCU. Signed-off-by: Sharat Masetty --- Documentation/devicetree

[Freedreno] [PATCH] dt-bindings: arm-smmu: Add a new compatible string and a clock

2020-04-28 Thread Sharat Masetty
This patch adds a new compatible string for sc7180 and also an additional clock listing needed to power the TBUs and the TCU. Signed-off-by: Sharat Masetty --- Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 7 +++ 1 file changed, 7 insertions(+) diff --git a/Documentation

Re: [Freedreno] [PATCH 3/5] drm: msm: scale DDR BW along with GPU frequency

2020-04-01 Thread Sharat Masetty
On 3/31/2020 10:56 PM, Jordan Crouse wrote: On Tue, Mar 31, 2020 at 01:25:51PM +0530, Sharat Masetty wrote: This patch adds support to parse the OPP tables attached the GPU device, the main opp table and the DDR bandwidth opp table. Additionally, vote for the GPU->DDR bandwidth when sett

[Freedreno] [PATCH 4/5] drm: msm: a6xx: Fix off by one error when setting GPU freq

2020-03-31 Thread Sharat Masetty
This patch fixes an error in the for loop, thereby allowing search on the full list of possible GPU power levels. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gmu.c b

[Freedreno] [PATCH 5/5] dt-bindings: drm/msm/gpu: Document OPP phandle list for the GPU

2020-03-31 Thread Sharat Masetty
Update the documentation for listing the multiple optional GPU and the DDR OPP tables to help enable DDR scaling. Signed-off-by: Sharat Masetty --- .../devicetree/bindings/display/msm/gpu.txt| 63 +- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git

[Freedreno] [PATCH 3/5] drm: msm: scale DDR BW along with GPU frequency

2020-03-31 Thread Sharat Masetty
This patch adds support to parse the OPP tables attached the GPU device, the main opp table and the DDR bandwidth opp table. Additionally, vote for the GPU->DDR bandwidth when setting the GPU frequency by querying the linked DDR BW opp to the GPU opp. Signed-off-by: Sharat Masetty --- driv

[Freedreno] [PATCH 1/5] arm64: dts: qcom: sc7180: Add interconnect bindings for GPU

2020-03-31 Thread Sharat Masetty
This patch adds the interconnect bindings to the GPU node. This enables the GPU->DDR path bandwidth voting. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/

[Freedreno] [PATCH 2/5] arm64: dts: qcom: sc7180: Add GPU DDR BW opp table

2020-03-31 Thread Sharat Masetty
frequency. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 50 +++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts/qcom/sc7180.dtsi index 51630dd..74b023b 100644

[Freedreno] [PATCH 0/5] Add support for GPU DDR BW scaling

2020-03-31 Thread Sharat Masetty
/third_party/kernel/+/2097039/3 Sharat Masetty (5): arm64: dts: qcom: sc7180: Add interconnect bindings for GPU arm64: dts: qcom: sc7180: Add GPU DDR BW opp table drm: msm: scale DDR BW along with GPU frequency drm: msm: a6xx: Fix off by one error when setting GPU freq dt-bindings: drm/msm/gpu

[Freedreno] [PATCH] drm: msm: a6x: Disable interrupts before recovery

2020-03-02 Thread Sharat Masetty
This patch disables interrupts in the GPU RBBM hang detect fault handler before going to recovery. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno

Re: [Freedreno] [PATCH] dt-bindings: arm-smmu: update the list of clocks

2020-03-01 Thread Sharat Masetty
On 2/26/2020 8:03 PM, Rob Herring wrote: On Wed, Feb 26, 2020 at 5:17 AM Sharat Masetty wrote: On 2/21/2020 2:05 AM, Rob Herring wrote: On Thu, 20 Feb 2020 13:42:22 +0530, Sharat Masetty wrote: This patch adds a clock definition needed for powering on the GPU TBUs and the GPU TCU. Signed

Re: [Freedreno] [PATCH] dt-bindings: arm-smmu: update the list of clocks

2020-02-26 Thread Sharat Masetty
On 2/21/2020 2:05 AM, Rob Herring wrote: On Thu, 20 Feb 2020 13:42:22 +0530, Sharat Masetty wrote: This patch adds a clock definition needed for powering on the GPU TBUs and the GPU TCU. Signed-off-by: Sharat Masetty --- Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 3 +++ 1

Re: [Freedreno] [PATCH v6] arm64: dts: qcom: sc7180: Add A618 gpu dt blob

2020-02-20 Thread Sharat Masetty
On 2/11/2020 2:51 AM, Doug Anderson wrote: Hi, On Sun, Feb 9, 2020 at 11:41 PM Sharat Masetty wrote: This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty In v4 I added my tags [1]. Please keep them for future patches unless something

[Freedreno] [PATCH] Update arm,smmu.yaml bindings doc

2020-02-20 Thread Sharat Masetty
Patch [1] adds a "mem_iface_clock" in the clocks list for smmu device. This patch updates the yaml doc file for smmu by adding the definition for this new clock. 1: https://patchwork.freedesktop.org/patch/352718/ Sharat Masetty (1): dt-bindings: arm-smmu: update clocks and bindings

[Freedreno] [PATCH] dt-bindings: arm-smmu: update the list of clocks

2020-02-20 Thread Sharat Masetty
This patch adds a clock definition needed for powering on the GPU TBUs and the GPU TCU. Signed-off-by: Sharat Masetty --- Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b

[Freedreno] [PATCH v6] arm64: dts: qcom: sc7180: Add A618 gpu dt blob

2020-02-09 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 102 +++ 1 file changed, 102 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts

[Freedreno] [PATCH v6] sc7180: Add A618 GPU bindings

2020-02-09 Thread Sharat Masetty
list above) and adding back the GX_GDSC binding. Sharat Masetty (1): arm64: dts: qcom: sc7180: Add A618 gpu dt blob arch/arm64/boot/dts/qcom/sc7180.dtsi | 102 +++ 1 file changed, 102 insertions(+) -- 1.9.1 ___ Freedreno ma

[Freedreno] [PATCH v5] arm64: dts: qcom: sc7180: Add A618 gpu dt blob

2020-02-08 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 102 +++ 1 file changed, 102 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts

[Freedreno] [PATCH v5] sc7180: Add A618 GPU bindings

2020-02-08 Thread Sharat Masetty
ding a new patch for updating the bindings documentation. v4: Add GX_GDSC power domain binding for GMU v5: Change to a dummy GX_GDSC binding for faster landing Sharat Masetty (1): arm64: dts: qcom: sc7180: Add A618 gpu dt blob arch/arm64/boot/dts/qcom/sc7180.dtsi | 102

[Freedreno] [PATCH v4 2/3] clk: qcom: gpucc: Add support for GX GDSC for SC7180

2020-02-04 Thread Sharat Masetty
From: Taniya Das Most of the time the CPU should not be touching the GX domain on the GPU except for a very special use case when the CPU needs to force the GX headswitch off. Add a dummy enable function for the GX gdsc to simulate success so that the pm_runtime reference counting is

[Freedreno] [PATCH v4 0/3] sc7180: Add A618 GPU bindings

2020-02-04 Thread Sharat Masetty
ding a new patch for updating the bindings documentation. v4: Add GX_GDSC power domain binding for GMU Sharat Masetty (1): arm64: dts: qcom: sc7180: Add A618 gpu dt blob Taniya Das (2): dt-bindings: clk: qcom: Add support for GPU GX GDSCR clk: qcom: gpucc: Add support for GX GDSC for SC7180

[Freedreno] [PATCH v4 1/3] dt-bindings: clk: qcom: Add support for GPU GX GDSCR

2020-02-04 Thread Sharat Masetty
From: Taniya Das In the cases where the GPU SW requires to use the GX GDSCR add support for the same. Signed-off-by: Taniya Das --- include/dt-bindings/clock/qcom,gpucc-sc7180.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/dt-bindings/clock/qcom,gpucc-sc7180.h

[Freedreno] [PATCH v4 3/3] arm64: dts: qcom: sc7180: Add A618 gpu dt blob

2020-02-04 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 102 +++ 1 file changed, 102 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts

[Freedreno] [PATCH v3] Add A618 GPU nodes

2020-01-31 Thread Sharat Masetty
ding a new patch for updating the bindings documentation. Sharat Masetty (1): arm64: dts: qcom: sc7180: Add A618 gpu dt blob arch/arm64/boot/dts/qcom/sc7180.dtsi | 102 +++ 1 file changed, 102 insertions(+) -- 1.9.1 ___

[Freedreno] [PATCH v3] arm64: dts: qcom: sc7180: Add A618 gpu dt blob

2020-01-31 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 102 +++ 1 file changed, 102 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts

[Freedreno] [PATCH v2 3/3] drm: msm: a6xx: Dump GBIF registers, debugbus in gpu state

2020-01-22 Thread Sharat Masetty
Add the relevant GBIF registers and the debug bus to the a6xx gpu state. This comes in pretty handy when debugging GPU bus related issues. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 52 +++-- drivers/gpu/drm/msm/adreno

[Freedreno] [PATCH v2 2/3] drm: msm: a6xx: Add support for A618

2020-01-22 Thread Sharat Masetty
This patch adds support for enabling Graphics Bus Interface(GBIF) used in multiple A6xx series chipets. Also makes changes to the PDC/RSC sequencing specifically required for A618. This is needed for proper interfacing with RPMH. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno

[Freedreno] [PATCH v2 1/3] drm: msm: Add 618 gpu to the adreno gpu list

2020-01-22 Thread Sharat Masetty
This patch adds Adreno 618 entry and its associated properties to the gpulist entries. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_device.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm

[Freedreno] [PATCH v2 3/7] drm/msm: Attach the IOMMU device during initialization

2020-01-02 Thread Sharat Masetty
From: Jordan Crouse Everywhere an IOMMU object is created by msm_gpu_create_address_space the IOMMU device is attached immediately after. Instead of carrying around the infrastructure to do the attach from the device specific code do it directly in the msm_iommu_init() function. This gets it out

[Freedreno] [PATCH v2 5/7] drm: msm: a6xx: Properly free up the iommu objects

2020-01-02 Thread Sharat Masetty
This patch calls the right function to destroy the iommu domain as well as free the associated iommu structure there by facilitating proper clean up of resources upon failure of creating an address space. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- 1 file

[Freedreno] [PATCH v2 6/7] drm/msm: rearrange the gpu_rmw() function

2020-01-02 Thread Sharat Masetty
The register read-modify-write construct is generic enough that it can be used by other subsystems as needed, create a more generic rmw() function and have the gpu_rmw() use this new function. Signed-off-by: Sharat Masetty Reviewed-by: Jordan Crouse --- drivers/gpu/drm/msm/msm_drv.c | 8

[Freedreno] [PATCH v2 4/7] drm/msm: Refactor address space initialization

2020-01-02 Thread Sharat Masetty
initialization to allow for future extensions like supporting split pagetables. Signed-off-by: Jordan Crouse Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a2xx_gpu.c| 16 ++ drivers/gpu/drm/msm/adreno/a3xx_gpu.c| 1 + drivers/gpu/drm/msm/adreno/a4xx_gpu.c| 1

[Freedreno] [PATCH v2 7/7] drm/msm/a6xx: Add support for using system cache(LLC)

2020-01-02 Thread Sharat Masetty
DOMAIN_ATTR_QCOM_SYS_CACHE is another domain level attribute used by the IOMMU driver to set the right attributes to cache the hardware pagetables into the system cache. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 100 ++ drivers/gpu/drm/msm

[Freedreno] [PATCH v2 0/7] drm/msm/a6xx: System Cache Support

2020-01-02 Thread Sharat Masetty
/patchwork/patch/1165298/ Jordan Crouse (3): iommu/arm-smmu: Pass io_pgtable_cfg to impl specific init_context drm/msm: Attach the IOMMU device during initialization drm/msm: Refactor address space initialization Sharat Masetty (3): drm: msm: a6xx: Properly free up the iommu objects drm/msm

[Freedreno] [PATCH v2 2/7] iommu/arm-smmu: Add domain attribute for QCOM system cache

2020-01-02 Thread Sharat Masetty
From: Vivek Gautam Add iommu domain attribute for using system cache aka last level cache on QCOM SoCs by client drivers like GPU to set right attributes for caching the hardware pagetables into the system cache. Signed-off-by: Vivek Gautam Co-developed-by: Sai Prakash Ranjan Signed-off-by:

[Freedreno] [PATCH v2 1/7] iommu/arm-smmu: Pass io_pgtable_cfg to impl specific init_context

2020-01-02 Thread Sharat Masetty
From: Jordan Crouse Pass the propposed io_pgtable_cfg to the implementation specific init_context() function to give the implementation an opportunity to to modify it before it gets passed to io-pgtable. Signed-off-by: Jordan Crouse Signed-off-by: Sai Prakash Ranjan ---

[Freedreno] [PATCH 5/5] drm/msm/a6xx: Add support for using system cache(LLC)

2019-12-19 Thread Sharat Masetty
DOMAIN_ATTR_QCOM_SYS_CACHE is another domain level attribute used by the IOMMU driver to set the right attributes to cache the hardware pagetables into the system cache. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 122 +- drivers/gpu/drm/msm

[Freedreno] [PATCH 3/5] drm/msm: rearrange the gpu_rmw() function

2019-12-19 Thread Sharat Masetty
The register read-modify-write construct is generic enough that it can be used by other subsystems as needed, create a more generic rmw() function and have the gpu_rmw() use this new function. Signed-off-by: Sharat Masetty Reviewed-by: Jordan Crouse --- drivers/gpu/drm/msm/msm_drv.c | 8

[Freedreno] [PATCH 2/5] iommu/arm-smmu: Add domain attribute for QCOM system cache

2019-12-19 Thread Sharat Masetty
From: Vivek Gautam Add iommu domain attribute for using system cache aka last level cache on QCOM SoCs by client drivers like GPU to set right attributes for caching the hardware pagetables into the system cache. Signed-off-by: Vivek Gautam Co-developed-by: Sai Prakash Ranjan Signed-off-by:

[Freedreno] [PATCH 0/5] drm/msm/a6xx: System Cache Support

2019-12-19 Thread Sharat Masetty
io_pgtable_cfg to impl specific init_context Sharat Masetty (3): drm/msm: rearrange the gpu_rmw() function drm/msm: Pass mmu features to generic layers drm/msm/a6xx: Add support for using system cache(LLC) Vivek Gautam (1): iommu/arm-smmu: Add domain attribute for QCOM system cache drivers/gpu/drm

[Freedreno] [PATCH 4/5] drm/msm: Pass mmu features to generic layers

2019-12-19 Thread Sharat Masetty
supports. Signed-off-by: Sharat Masetty --- 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 | 2 +- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 2 +- drivers/gpu

[Freedreno] [PATCH 1/5] iommu/arm-smmu: Pass io_pgtable_cfg to impl specific init_context

2019-12-19 Thread Sharat Masetty
From: Jordan Crouse Pass the propposed io_pgtable_cfg to the implementation specific init_context() function to give the implementation an opportunity to to modify it before it gets passed to io-pgtable. Signed-off-by: Jordan Crouse Signed-off-by: Sai Prakash Ranjan ---

[Freedreno] [PATCH 1/5] drm: msm: Add 618 gpu to the adreno gpu list

2019-12-03 Thread Sharat Masetty
This patch adds Adreno 618 entry and its associated properties to the gpulist entries. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_device.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu/drm/msm/adreno/adreno_device.c b/drivers/gpu/drm/msm

[Freedreno] [PATCH 2/5] drm: msm: a6xx: Add support for A618

2019-12-03 Thread Sharat Masetty
This patch adds support for enabling Graphics Bus Interface(GBIF) used in multiple A6xx series chipets. Also makes changes to the PDC/RSC sequencing specifically required for A618. This is needed for proper interfacing with RPMH. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno

[Freedreno] [PATCH 4/5] drm: msm: a6xx: fix debug bus register configuration

2019-12-03 Thread Sharat Masetty
Fix the cx debugbus related register configuration, to collect accurate bus data during gpu snapshot. This helps with complete snapshot dump and also complete proper GPU recovery. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 24 1 file

[Freedreno] [PATCH 0/5] Add support for A618 GPU

2019-12-03 Thread Sharat Masetty
This patch adds support for A618 GPU. Please review. Sharat Masetty (5): drm: msm: Add 618 gpu to the adreno gpu list drm: msm: a6xx: Add support for A618 drm: msm: a6xx: Dump GBIF registers, debugbus in gpu state drm: msm: a6xx: fix debug bus register configuration arm: dts: sc7180

[Freedreno] [PATCH] arm: dts: sc7180: Add A618 gpu dt blob

2019-12-03 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 116 +++ 1 file changed, 116 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts

[Freedreno] [PATCH 3/5] drm: msm: a6xx: Dump GBIF registers, debugbus in gpu state

2019-12-03 Thread Sharat Masetty
Add the relevant GBIF registers and the debug bus to the a6xx gpu state. This comes in pretty handy when debugging GPU bus related issues. Change-Id: I224fda727012a456ccd28ca14caf9fcce236e629 Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 52

[Freedreno] [PATCH 5/5] arm: dts: sc7180: Add A618 gpu dt blob

2019-12-03 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 116 +++ 1 file changed, 116 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/sc7180.dtsi b/arch/arm64/boot/dts

[Freedreno] [PATCH 3/5] drm: msm: a6xx: Dump GBIF registers, debugbus in gpu state

2019-12-03 Thread Sharat Masetty
Add the relevant GBIF registers and the debug bus to the a6xx gpu state. This comes in pretty handy when debugging GPU bus related issues. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 52 +++-- drivers/gpu/drm/msm/adreno

[Freedreno] [PATCH 5/5] arm: dts: sc7180: Add A618 gpu dt blob

2019-12-03 Thread Sharat Masetty
This patch adds the required dt nodes and properties to enabled A618 GPU. Change-Id: I7491c4de654c4b84d03dbcf703532448b27d4147 Signed-off-by: Sharat Masetty --- arch/arm64/boot/dts/qcom/sc7180.dtsi | 116 +++ 1 file changed, 116 insertions(+) diff --git a/arch

[Freedreno] [PATCH 1/5] drm: msm: Add 618 gpu to the adreno gpu list

2019-12-03 Thread Sharat Masetty
This patch adds Adreno 618 entry and its associated properties to the gpulist entries. Change-Id: Ie14ba09f32513ba6a6c882fda0d98ee1742b46d5 Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_device.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/gpu

[Freedreno] [PATCH 0/5] Add support for A618 GPU

2019-12-03 Thread Sharat Masetty
This series and support to enable A618 GPU revision. Please review. Sharat Masetty (5): drm: msm: Add 618 gpu to the adreno gpu list drm: msm: a6xx: Add support for A618 drm: msm: a6xx: Dump GBIF registers, debugbus in gpu state drm: msm: a6xx: fix debug bus register configuration arm

[Freedreno] [PATCH 2/5] drm: msm: a6xx: Add support for A618

2019-12-03 Thread Sharat Masetty
-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx.xml.h | 52 +++- drivers/gpu/drm/msm/adreno/a6xx_gmu.c | 24 +-- drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 70 ++--- drivers/gpu/drm/msm/adreno/a6xx_gpu.h | 9 - drivers/gpu/drm

[Freedreno] [PATCH 4/5] drm: msm: a6xx: fix debug bus register configuration

2019-12-03 Thread Sharat Masetty
Fix the cx debugbus related register configuration, to collect accurate bus data during gpu snapshot. This helps with complete snapshot dump and also complete proper GPU recovery. Change-Id: I4f0ae3eb2dd5d24a88d805277fad212dda2d735e Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno

[Freedreno] [PATCH] rnndb: Add GBIF registers for a6xx GPU

2019-11-28 Thread Sharat Masetty
Add GBIF register definitions required to implement a618 GPU revision Signed-off-by: Sharat Masetty --- rnndb/adreno/a6xx.xml | 26 ++ 1 file changed, 26 insertions(+) diff --git a/rnndb/adreno/a6xx.xml b/rnndb/adreno/a6xx.xml index 747f071..2d2063a 100644 --- a/rnndb

[Freedreno] [PATCH] drm: msm: a6xx: fix debug bus register configuration

2019-11-06 Thread Sharat Masetty
Fix the cx debugbus related register configuration, to collect accurate bus data during gpu snapshot. This helps with complete snapshot dump and also complete proper GPU recovery. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c | 24 1 file

[Freedreno] [PATCH] drm/msm/a5xx: Build a5xx_gpu_state_(get/put) under the right conditionals

2018-12-11 Thread Sharat Masetty
Build the GPU crashstate capture functions only if either of CONFIG_DEBUG_FS, CONFIG_DEV_COREDUMP is defined. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a5xx_gpu.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c

[Freedreno] [v2 2/2] drm/msm/a6xx: Fix NULL dereference during crashstate capture

2018-12-11 Thread Sharat Masetty
The gpu crashstate's base objects registers pointer can be NULL if the target implementation decides to capture the register dump on its own. This patch simply checks for NULL before dereferencing. Signed-off-by: Sharat Masetty --- Changes from v1: Addressed comments from Jordan Crouse

[Freedreno] [v2 1/2] drm/msm/adreno: Make adreno_gpu_state_get() return void

2018-12-11 Thread Sharat Masetty
We are not really checking the state of the adreno_gpu_state_get() function at the callers and in addition the state capture is mostly a best effort service, so make the function return void. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4 +--- drivers/gpu/drm/msm

[Freedreno] [PATCH 2/2] drm/msm/a6xx: Fix NULL dereference during crashstate capture

2018-12-10 Thread Sharat Masetty
The gpu crashstate's base objects registers pointer can be NULL if the target implementation decides to capture the register dump on its own. This patch simply checks for NULL before dereferencing. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 15 ++- 1

[Freedreno] [PATCH 1/2] drm/msm/adreno: Make adreno_gpu_state_get() return void

2018-12-10 Thread Sharat Masetty
We are not really checking the state of the adreno_gpu_state_get() function at the callers and in addition the state capture is mostly a best effort service, so make the function return void. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4 +--- drivers/gpu/drm/msm

[Freedreno] [PATCH 1/2] drm/scheduler: Set sched->thread to NULL on failure

2018-11-29 Thread Sharat Masetty
In cases where the scheduler instance is used as a base object of another driver object, it's not clear if the driver can call scheduler cleanup on the fail path. So, Set the sched->thread to NULL, so that the driver can safely call drm_sched_fini() during cleanup. Signed-off-by: Sharat Mase

[Freedreno] [PATCH 2/2] drm/scheduler: Add drm_sched_suspend/resume_timeout()

2018-11-29 Thread Sharat Masetty
. This patch also makes the job_list_lock IRQ safe. Suggested-by: Christian Koenig Signed-off-by: Sharat Masetty --- drivers/gpu/drm/etnaviv/etnaviv_dump.c | 9 ++-- drivers/gpu/drm/scheduler/sched_main.c | 91 -- include/drm/gpu_scheduler.h| 4 ++ 3 files

[Freedreno] [PATCH 1/4] drm/msm: use kvmalloc for ring data in gpu crashstate

2018-11-20 Thread Sharat Masetty
The ringbuffer data to capture at crashtime can end up being large sometimes, and the size can vary from being less than a page to the full size of 32KB. So use the kvmalloc variant that perfectly fits the bill. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4

[Freedreno] [PATCH 4/4] drm/msm: Optimize adreno_show_object()

2018-11-20 Thread Sharat Masetty
depends on the size of the data captured by the driver. This is certainly not desirable and does not scale well with large captures. This patch encodes the buffer only once in the read path. With this there is an immediate >10X speed improvement in crashstate save time. Signed-off-by: Sharat Mase

[Freedreno] [PATCH 2/4] include/linux/ascii85: Update ascii85_encode()

2018-11-20 Thread Sharat Masetty
The current implementation of ascii85_encode() does not copy the encoded buffer 'z' to the output buffer in case the input is zero. This patch simply adds this missing piece. This makes it easier to use this function to encode large buffers. Signed-off-by: Sharat Masetty --- include/linux

[Freedreno] [PATCH 3/4] drm/msm: Use msm_gpu_state_bo for ringbuffer data

2018-11-20 Thread Sharat Masetty
The ring substructure in msm_gpu_state is an extension of msm_gpu_state_bo, so this patch changes the ring structure to reuse the msm_gpu_state_bo as a base class, instead of redefining the required variables. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 20

Re: [Freedreno] [PATCH] drm/scheduler: Add drm_sched_suspend/resume timeout functions

2018-11-15 Thread Sharat Masetty
On 11/15/2018 12:33 AM, Koenig, Christian wrote: Am 14.11.18 um 18:29 schrieb Sharat Masetty: On 11/8/2018 8:11 PM, Koenig, Christian wrote: Am 08.11.18 um 14:42 schrieb Sharat Masetty: Hi Christian, Can you please review this patch? It is a continuation of the discussion at [1

Re: [Freedreno] [PATCH] drm/scheduler: Add drm_sched_suspend/resume timeout functions

2018-11-14 Thread Sharat Masetty
On 11/8/2018 8:11 PM, Koenig, Christian wrote: Am 08.11.18 um 14:42 schrieb Sharat Masetty: Hi Christian, Can you please review this patch? It is a continuation of the discussion at [1]. At first I was thinking of using a cancel for suspend instead of a mod(to an arbitrarily large value

[Freedreno] [PATCH] drm/scheduler: Add drm_sched_suspend/resume timeout functions

2018-11-08 Thread Sharat Masetty
in the right direction, I will put this through my testing drill and polish it. IMO I think I prefer the callback approach as it appears to be simple, less error prone for both the scheduler and the drivers. [1] https://patchwork.freedesktop.org/patch/259914/ Signed-off-by: Sharat Masetty --- drivers/gpu

[Freedreno] [PATCH 1/2] drm/msm/a6xx: Build a6xx_gpu_state under the right conditionals

2018-11-05 Thread Sharat Masetty
Build a6xx_gpu_state.c only if either of CONFIG_DEBUG_FS, CONFIG_DEV_COREDUMP is defined. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/Makefile | 5 - drivers/gpu/drm/msm/adreno/a6xx_gpu.c | 4 ++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/gpu

[Freedreno] [PATCH 2/2] drm/msm/a6xx: Fix a typo in a6xx gpu crash state

2018-11-05 Thread Sharat Masetty
This patch simply fixes a typo for the name of an indexed register. CP_MEMPOOOL -> CP_MEMPOOL. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.h b/driv

[Freedreno] [PATCH 1/3] drm/msm: use kvmalloc for ring data in gpu crashstate

2018-11-05 Thread Sharat Masetty
The ringbuffer data to capture at crashtime can end up being large sometimes, and the size can vary from being less than a page to the full size of 32KB. So use the kvmalloc variant that perfectly fits the bill. Signed-off-by: Sharat Masetty --- drivers/gpu/drm/msm/adreno/adreno_gpu.c | 4

[Freedreno] [PATCH 2/3] include/linux/ascii85: Add ascii85_encode_to_buf()

2018-11-05 Thread Sharat Masetty
-by: Sharat Masetty --- include/linux/ascii85.h | 19 +-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/include/linux/ascii85.h b/include/linux/ascii85.h index 4cc4020..3665899 100644 --- a/include/linux/ascii85.h +++ b/include/linux/ascii85.h @@ -23,8 +23,12

[Freedreno] [PATCH 3/3] drm/msm: Optimize adreno_show_object()

2018-11-05 Thread Sharat Masetty
depends on the size of the data captured by the driver. This is certainly not desirable and does not scale well with large captures. This patch encodes the buffer only once in the read path. With this there is an immediate >10X speed improvement in crashstate save time. Signed-off-by: Sharat Mase

Re: [Freedreno] [PATCH 2/2] drm/scheduler: Add a start_timeout_notify() backend function

2018-11-04 Thread Sharat Masetty
On 11/2/2018 7:07 PM, Koenig, Christian wrote: Am 02.11.18 um 14:25 schrieb Sharat Masetty: On 11/2/2018 4:09 PM, Koenig, Christian wrote: Am 02.11.18 um 11:31 schrieb Sharat Masetty: Add an optional backend function op which will let the scheduler clients know when the timeout got

Re: [Freedreno] [PATCH 2/2] drm/scheduler: Add a start_timeout_notify() backend function

2018-11-02 Thread Sharat Masetty
On 11/2/2018 4:09 PM, Koenig, Christian wrote: Am 02.11.18 um 11:31 schrieb Sharat Masetty: Add an optional backend function op which will let the scheduler clients know when the timeout got scheduled on the scheduler instance. This will help drivers with multiple schedulers(one per ring

[Freedreno] [PATCH 2/2] drm/scheduler: Add a start_timeout_notify() backend function

2018-11-02 Thread Sharat Masetty
-off-by: Sharat Masetty --- Here is an example of how I plan to use this new function callback. [1] https://patchwork.freedesktop.org/patch/254227/ drivers/gpu/drm/scheduler/sched_main.c | 7 ++- include/drm/gpu_scheduler.h| 6 ++ 2 files changed, 12 insertions(+), 1 deletion

Re: [Freedreno] [PATCH] drm/msm: Optimize GPU crashstate capture read path

2018-11-02 Thread Sharat Masetty
Thanks for the comments Jordan - On 11/1/2018 8:34 PM, Jordan Crouse wrote: On Thu, Nov 01, 2018 at 02:05:41PM +0530, Sharat Masetty wrote: When the userspace tries to read the crashstate dump, the read side implementation in the driver currently ascii85 encodes all the binary buffers

  1   2   3   >