[Freedreno] [PATCH v2 0/6] qcom: add OCMEM support

2019-06-18 Thread Brian Masney
This patch series adds support for Qualcomm's On Chip MEMory (OCMEM) that is needed in order to support some A3xx and A4xx based GPUs upstream. This is based on Rob Clark's patch series that he submitted in October 2015 and I am resubmitting updated patches with his permission. See the individual p

[Freedreno] [PATCH v2 6/6] drm/msm/gpu: add ocmem init/cleanup functions

2019-06-18 Thread Brian Masney
The files a3xx_gpu.c and a4xx_gpu.c have ifdefs for the OCMEM support that was missing upstream. Add two new functions (adreno_gpu_ocmem_init and adreno_gpu_ocmem_cleanup) that removes some duplicated code. We also need to change the ifdef check for CONFIG_MSM_OCMEM to CONFIG_QCOM_OCMEM now that OC

[Freedreno] [PATCH v2 3/6] firmware: qcom: scm: add OCMEM lock/unlock interface

2019-06-18 Thread Brian Masney
From: Rob Clark Add support for the OCMEM lock/unlock interface that is needed by the On Chip MEMory (OCMEM) that is present on some Snapdragon devices. Signed-off-by: Rob Clark [masn...@onstation.org: ported to latest kernel; minor reformatting.] Signed-off-by: Brian Masney Reviewed-by: Bjorn

[Freedreno] [PATCH v2 4/6] firmware: qcom: scm: add support to restore secure config to qcm_scm-32

2019-06-18 Thread Brian Masney
From: Rob Clark Add support to restore the secure configuration for qcm_scm-32.c. This is needed by the On Chip MEMory (OCMEM) that is present on some Snapdragon devices. Signed-off-by: Rob Clark [masn...@onstation.org: ported to latest kernel; set ctx_bank_num to spare parameter.] Signed-off-

[Freedreno] [PATCH v2 1/6] dt-bindings: soc: qcom: add On Chip MEMory (OCMEM) bindings

2019-06-18 Thread Brian Masney
Add device tree bindings for the On Chip Memory (OCMEM) that is present on some Qualcomm Snapdragon SoCs. Signed-off-by: Brian Masney --- Changes since v1: - Rename qcom,ocmem-msm8974 to qcom,msm8974-ocmem - Renamed reg-names to ctrl and mem - update hardware description - moved from soc to sram

[Freedreno] [PATCH v2 2/6] dt-bindings: display: msm: gmu: add optional ocmem property

2019-06-18 Thread Brian Masney
Some A3xx and A4xx Adreno GPUs do not have GMEM inside the GPU core and must use the On Chip MEMory (OCMEM) in order to be functional. Add the optional ocmem property to the Adreno Graphics Management Unit bindings. Signed-off-by: Brian Masney --- Changes since v1: - None Documentation/devicetr

[Freedreno] [PATCH v2 5/6] soc: qcom: add OCMEM driver

2019-06-18 Thread Brian Masney
The OCMEM driver handles allocation and configuration of the On Chip MEMory that is present on some Snapdragon SoCs. Devices which have OCMEM do not have GMEM inside the GPU core, so the GPU must instead use OCMEM to be functional. Since currently the GPU is the only OCMEM user with an upstream dr

[Freedreno] [PATCH 5/5 v3] drm/msm/mdp5: Use the interconnect API

2019-06-18 Thread Rob Clark
From: Georgi Djakov The interconnect API provides an interface for consumer drivers to express their bandwidth needs in the SoC. This data is aggregated and the on-chip interconnect hardware is configured to the most appropriate power/performance profile. Use the API to configure the interconnec

Re: [Freedreno] [PATCH 5/5] drm/msm/mdp5: Use the interconnect API

2019-06-18 Thread Rob Clark
On Tue, Jun 18, 2019 at 1:44 PM Jeffrey Hugo wrote: > > On Tue, Jun 18, 2019 at 2:25 PM Rob Clark wrote: > > > > From: Georgi Djakov > > > > The interconnect API provides an interface for consumer drivers to > > express their bandwidth needs in the SoC. This data is aggregated > > and the on-chi

Re: [Freedreno] [PATCH 5/5] drm/msm/mdp5: Use the interconnect API

2019-06-18 Thread Jeffrey Hugo
On Tue, Jun 18, 2019 at 2:25 PM Rob Clark wrote: > > From: Georgi Djakov > > The interconnect API provides an interface for consumer drivers to > express their bandwidth needs in the SoC. This data is aggregated > and the on-chip interconnect hardware is configured to the most > appropriate power

Re: [Freedreno] [PATCH 2/5] drm/msm/dpu: Integrate interconnect API in MDSS

2019-06-18 Thread Sean Paul
On Tue, Jun 18, 2019 at 01:24:10PM -0700, Rob Clark wrote: > From: Jayant Shekhar > > The interconnect framework is designed to provide a > standard kernel interface to control the settings of > the interconnects on a SoC. > > The interconnect API uses a consumer/provider-based model, > where th

Re: [Freedreno] [PATCH 1/5] drm/msm/dpu: clean up references of DPU custom bus scaling

2019-06-18 Thread Sean Paul
On Tue, Jun 18, 2019 at 01:24:09PM -0700, Rob Clark wrote: > From: Jayant Shekhar > > Since the upstream interconnect bus framework has landed > upstream, the existing references of custom bus scaling > needs to be cleaned up. > > Changes in v2: > - Fixed build error due to partial clean u

[Freedreno] [PATCH 4/5] drm/msm/dpu: add icc voting in dpu_mdss_init

2019-06-18 Thread Rob Clark
From: Abhinav Kumar dpu_mdss_destroy() can get called not just from msm_drm_uninit() but also from msm_drm_bind() in case of any failures. dpu_mdss_destroy() removes the icc voting by calling icc_put. This could accidentally remove the voting done by pm_runtime_enable. To make the voting balanc

[Freedreno] [PATCH 5/5] drm/msm/mdp5: Use the interconnect API

2019-06-18 Thread Rob Clark
From: Georgi Djakov The interconnect API provides an interface for consumer drivers to express their bandwidth needs in the SoC. This data is aggregated and the on-chip interconnect hardware is configured to the most appropriate power/performance profile. Use the API to configure the interconnec

[Freedreno] [PATCH 3/5] dt-bindings: msm/disp: Introduce interconnect bindings for MDSS on SDM845

2019-06-18 Thread Rob Clark
From: Jayant Shekhar Add interconnect properties such as interconnect provider specifier , the edge source and destination ports which are required by the interconnect API to configure interconnect path for MDSS. Changes in v2: - None Changes in v3: - Remove common property defi

[Freedreno] [PATCH 2/5] drm/msm/dpu: Integrate interconnect API in MDSS

2019-06-18 Thread Rob Clark
From: Jayant Shekhar The interconnect framework is designed to provide a standard kernel interface to control the settings of the interconnects on a SoC. The interconnect API uses a consumer/provider-based model, where the providers are the interconnect buses and the consumers could be various d

[Freedreno] [PATCH 1/5] drm/msm/dpu: clean up references of DPU custom bus scaling

2019-06-18 Thread Rob Clark
From: Jayant Shekhar Since the upstream interconnect bus framework has landed upstream, the existing references of custom bus scaling needs to be cleaned up. Changes in v2: - Fixed build error due to partial clean up Changes in v3: - Condense multiple lines into a single line (S