Re: [Freedreno] [PATCH v4 08/11] arm64: dts: qcom: sm8350: Use 2 interconnect cells

2023-01-02 Thread Robert Foss
On Fri, 30 Dec 2022 at 17:12, Krzysztof Kozlowski wrote: > > On 30/12/2022 16:35, Robert Foss wrote: > > Use two interconnect cells in order to optionally > > support a path tag. > > > > Signed-off-by: Robert Foss > > Reviewed-by: Konrad Dybcio > > --- > > arch/arm64/boot/dts/qcom/sm8350.dtsi |

Re: [Freedreno] [PATCH] drm/msm/a2xx: support loading legacy (iMX) firmware

2023-01-02 Thread Dmitry Baryshkov
On 02/01/2023 03:39, Rob Clark wrote: On Sun, Jan 1, 2023 at 7:57 AM Dmitry Baryshkov wrote: Support loading A200 firmware generated from the iMX firmware header files. The firmware lacks protection support, however it allows GPU to function properly while using the firmware files with clear l

Re: [Freedreno] [RFC PATCH 6/7] drm/msm/dpu: Implement tearcheck support on INTF block

2023-01-02 Thread Dmitry Baryshkov
On 02/01/2023 13:06, Marijn Suijten wrote: On 2023-01-01 15:32:11, Dmitry Baryshkov wrote: On 31/12/2022 23:50, Marijn Suijten wrote: Since DPU 5.0.0 the TEARCHECK registers and interrupts moved out of the PINGPONG block and into the INTF. Implement the necessary callbacks in the INTF block, a

[Freedreno] [PATCH 2/2] drm/msm/dpu: remove CRTC frame event callback registration

2023-01-02 Thread Dmitry Baryshkov
The frame event callback is always set to dpu_crtc_frame_event_cb() (or to NULL) and the data is always either the CRTC itself or NULL (correpondingly). Thus drop the event callback registration, call the dpu_crtc_frame_event_cb() directly and gate on the dpu_enc->crtc assigned using dpu_encoder_as

[Freedreno] [PATCH 1/2] drm/msm/dpu: remove dpu_encoder_virt_ops

2023-01-02 Thread Dmitry Baryshkov
Struct dpu_encoder_virt_ops is used to provide several callbacks to the phys_enc backends. However these ops are static and are not supposed to change in the foreseeble future. Drop the indirection and call corresponding functions directly. Signed-off-by: Dmitry Baryshkov --- drivers/gpu/drm/msm

Re: [Freedreno] [PATCH v5 4/5] drm/msm/a6xx: Remove cx gdsc polling using 'reset'

2023-01-02 Thread Philipp Zabel
On Mon, Jan 02, 2023 at 04:18:30PM +0530, Akhil P Oommen wrote: > Remove the unused 'reset' interface which was supposed to help to ensure > that cx gdsc has collapsed during gpu recovery. This is was not enabled > so far due to missing gpucc driver support. Similar functionality using > genpd fram

Re: [Freedreno] [RFC PATCH 2/7] drm/msm/dpu: Disable pingpong TE on DPU 5.0.0 and above

2023-01-02 Thread Dmitry Baryshkov
On 02/01/2023 12:25, Marijn Suijten wrote: On 2023-01-01 06:28:23, Dmitry Baryshkov wrote: On 31/12/2022 23:50, Marijn Suijten wrote: Since hardware revision 5.0.0 the TE configuration moved out of the PINGPONG block into the INTF block. Writing these registers has no effect, and is omitted do

Re: [Freedreno] [RFC PATCH 6/7] drm/msm/dpu: Implement tearcheck support on INTF block

2023-01-02 Thread Marijn Suijten
On 2023-01-01 15:32:11, Dmitry Baryshkov wrote: > On 31/12/2022 23:50, Marijn Suijten wrote: > > Since DPU 5.0.0 the TEARCHECK registers and interrupts moved out of the > > PINGPONG block and into the INTF. Implement the necessary callbacks in > > the INTF block, and use these callbacks together w

Re: [Freedreno] [PATCH v2] drm/msm/adreno: Make adreno quirks not overwrite each other

2023-01-02 Thread Akhil P Oommen
On 1/2/2023 3:32 PM, Konrad Dybcio wrote: > So far the adreno quirks have all been assigned with an OR operator, > which is problematic, because they were assigned consecutive integer > values, which makes checking them with an AND operator kind of no bueno.. > > Switch to using BIT(n) so that only

[Freedreno] [PATCH v5 5/5] drm/msm/a6xx: Use genpd notifier to ensure cx-gdsc collapse

2023-01-02 Thread Akhil P Oommen
As per the recommended recovery sequence of adreno gpu, cx gdsc should collapse at hardware before it is turned back ON. This helps to clear out the stale states in hardware before it is reinitialized. Use the genpd notifier along with the newly introduced dev_pm_genpd_synced_poweroff() api to ensu

[Freedreno] [PATCH v5 4/5] drm/msm/a6xx: Remove cx gdsc polling using 'reset'

2023-01-02 Thread Akhil P Oommen
Remove the unused 'reset' interface which was supposed to help to ensure that cx gdsc has collapsed during gpu recovery. This is was not enabled so far due to missing gpucc driver support. Similar functionality using genpd framework will be implemented in the upcoming patch. This effectively rever

[Freedreno] [PATCH v5 3/5] drm/msm/a6xx: Vote for cx gdsc from gpu driver

2023-01-02 Thread Akhil P Oommen
When a device has multiple power domains, dev->power_domain is left empty during probe. That didn't cause any issue so far because we are freeloading on smmu driver's vote on cx gdsc. Instead of that, create a device_link between cx genpd device and gmu device to keep a vote from gpu driver. Befor

[Freedreno] [PATCH v5 2/5] clk: qcom: gdsc: Support 'synced_poweroff' genpd flag

2023-01-02 Thread Akhil P Oommen
Add support for the newly added 'synced_poweroff' genpd flag. This allows some clients (like adreno gpu driver) to request gdsc driver to ensure a votable gdsc (like gpucc cx gdsc) has collapsed at hardware. Signed-off-by: Akhil P Oommen Reviewed-by: Ulf Hansson --- (no changes since v3) Chang

[Freedreno] [PATCH v5 1/5] PM: domains: Allow a genpd consumer to require a synced power off

2023-01-02 Thread Akhil P Oommen
From: Ulf Hansson Some genpd providers doesn't ensure that it has turned off at hardware. This is fine until the consumer really requires during some special scenarios that the power domain collapse at hardware before it is turned ON again. An example is the reset sequence of Adreno GPU which re

[Freedreno] [PATCH v5 0/5] Improve GPU reset sequence for Adreno GPU

2023-01-02 Thread Akhil P Oommen
This is a rework of [1] using genpd instead of 'reset' framework. As per the recommended reset sequence of Adreno gpu, we should ensure that gpucc-cx-gdsc has collapsed at hardware to reset gpu's internal hardware states. Because this gdsc is implemented as 'votable', gdsc driver doesn't poll an

Re: [Freedreno] [RFC PATCH 5/7] drm/msm/dpu: Document and enable TEAR interrupts on DSI interfaces

2023-01-02 Thread Marijn Suijten
On 2023-01-01 15:12:35, Dmitry Baryshkov wrote: > On 31/12/2022 23:50, Marijn Suijten wrote: > > > > -#define INTF_BLK(_name, _id, _base, _type, _ctrl_id, _progfetch, > > _features, _reg, _underrun_bit, _vsync_bit) \ > > +#define INTF_BLK(_name, _id, _base, _len, _type, _ctrl_id, _progfetch, > >

Re: [Freedreno] [RFC PATCH 2/7] drm/msm/dpu: Disable pingpong TE on DPU 5.0.0 and above

2023-01-02 Thread Marijn Suijten
On 2023-01-01 06:28:23, Dmitry Baryshkov wrote: > On 31/12/2022 23:50, Marijn Suijten wrote: > > Since hardware revision 5.0.0 the TE configuration moved out of the > > PINGPONG block into the INTF block. Writing these registers has no > > effect, and is omitted downstream via the DPU/SDE_PINGPONG

Re: [Freedreno] [RFC PATCH 3/7] drm/msm/dpu: Disable MDP vsync source selection on DPU 5.0.0 and above

2023-01-02 Thread Konrad Dybcio
On 2.01.2023 11:18, Marijn Suijten wrote: > On 2023-01-02 10:30:58, Konrad Dybcio wrote: >> >> >> On 31.12.2022 22:52, Marijn Suijten wrote: >>> On 2022-12-31 22:50:02, Marijn Suijten wrote: Since hardware revision 5.0.0 the TE configuration moved out of the PINGPONG block into the INT

Re: [Freedreno] [RFC PATCH 3/7] drm/msm/dpu: Disable MDP vsync source selection on DPU 5.0.0 and above

2023-01-02 Thread Marijn Suijten
On 2023-01-02 10:30:58, Konrad Dybcio wrote: > > > On 31.12.2022 22:52, Marijn Suijten wrote: > > On 2022-12-31 22:50:02, Marijn Suijten wrote: > >> Since hardware revision 5.0.0 the TE configuration moved out of the > >> PINGPONG block into the INTF block, including vsync source selection > >> t

Re: [Freedreno] [RFC PATCH 1/7] drm/msm/dpu: Remove unused INTF0 interrupt mask from sm6115/qcm2290

2023-01-02 Thread Marijn Suijten
On 2023-01-02 10:29:03, Konrad Dybcio wrote: > > > On 31.12.2022 22:50, Marijn Suijten wrote: > > Neither of these SoCs has INTF0, they only have a DSI interface on index > > 1. Stop enabling an interrupt that can't fire. > Double space. In case you hadn't noticed I'm employing this habit for q

[Freedreno] [PATCH v2] drm/msm/adreno: Make adreno quirks not overwrite each other

2023-01-02 Thread Konrad Dybcio
So far the adreno quirks have all been assigned with an OR operator, which is problematic, because they were assigned consecutive integer values, which makes checking them with an AND operator kind of no bueno.. Switch to using BIT(n) so that only the quirks that the programmer chose are taken int

Re: [Freedreno] [PATCH v4 1/5] PM: domains: Allow a genpd consumer to require a synced power off

2023-01-02 Thread Akhil P Oommen
On 12/29/2022 12:13 AM, Bjorn Andersson wrote: > On Wed, Dec 21, 2022 at 10:43:59PM +0530, Akhil P Oommen wrote: >> From: Ulf Hansson >> >> Some genpd providers doesn't ensure that it has turned off at hardware. >> This is fine until the consumer really requires during some special >> scenarios th

Re: [Freedreno] [RFC PATCH 3/7] drm/msm/dpu: Disable MDP vsync source selection on DPU 5.0.0 and above

2023-01-02 Thread Konrad Dybcio
On 31.12.2022 22:52, Marijn Suijten wrote: > On 2022-12-31 22:50:02, Marijn Suijten wrote: >> Since hardware revision 5.0.0 the TE configuration moved out of the >> PINGPONG block into the INTF block, including vsync source selection >> that was previously part of MDP top. Writing to the MDP_VS

Re: [Freedreno] [RFC PATCH 1/7] drm/msm/dpu: Remove unused INTF0 interrupt mask from sm6115/qcm2290

2023-01-02 Thread Konrad Dybcio
On 31.12.2022 22:50, Marijn Suijten wrote: > Neither of these SoCs has INTF0, they only have a DSI interface on index > 1. Stop enabling an interrupt that can't fire. Double space. Reviewed-by: Konrad Dybcio Konrad > > Fixes: 3581b7062cec ("drm/msm/disp/dpu1: add support for display on SM611