All of lore.kernel.org
 help / color / mirror / Atom feed
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Michal Wilczynski <m.wilczynski@samsung.com>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	Matt Coster <matt.coster@imgtec.com>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>
Cc: Drew Fustini <drew@pdp7.com>, Guo Ren <guoren@kernel.org>,
	Fu Wei <wefu@redhat.com>, Rob Herring <robh@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Frank Binns <frank.binns@imgtec.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	linux-riscv@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v3 3/8] drm/imagination: Use pwrseq for TH1520 GPU power management
Date: Fri, 13 Jun 2025 12:01:01 +0200	[thread overview]
Message-ID: <44fdaa5c-0fa4-457e-b193-e83cd06c1aed@kernel.org> (raw)
In-Reply-To: <44090712-0635-47bf-b73d-d9b16ec446a4@samsung.com>

On 13/06/2025 11:49, Michal Wilczynski wrote:
> 
> 
> On 6/13/25 10:25, Michal Wilczynski wrote:
>>
>>
>> On 6/13/25 08:44, Krzysztof Kozlowski wrote:
>>> On 11/06/2025 14:01, Michal Wilczynski wrote:
>>>>
>>>> However, this leads me back to a fundamental issue with the
>>>> consumer side implementation in the generic pvr_device.c driver. The
>>>> current fallback code is:
>>>>
>>>> /*
>>>>  * If the error is -EPROBE_DEFER, it's because the
>>>>  * optional sequencer provider is not present
>>>>  * and it's safe to fall back on manual power-up.
>>>>  */
>>>> if (pwrseq_err == -EPROBE_DEFER)
>>>>         pvr_dev->pwrseq = NULL;
>>>>
>>>> As Krzysztof noted, simply ignoring -EPROBE_DEFER is not ideal. But if I
>>>> change this to a standard deferred probe, the pvr_device.c driver will
>>>
>>> Why? You have specific compatible for executing such quirks only for
>>> given platform.
> 
> I realized now that you may have meant the "thead,th1520-gpu" compatible,
> not the "thead,th1520" SoC compatible.
> 
> In any case, the whole reason for using the pwrseq framework is to avoid
> polluting the generic driver with SoC specific logic and instead offload
> that responsibility to a pwrseq provider. Therefore, I can't simply add
> a check like if (compatible == "thead,th1520-gpu") to the generic driver
> to decide whether to get a power sequencer. This entire matching
> responsibility was intended to be offloaded to the pwrseq framework.

No, just do how all drivers are doing - driver match data, describing
that there is some component, e.g. quirks/flags, number of clocks and
their names typically. In your case - name or presence of pwrseq.



Best regards,
Krzysztof

WARNING: multiple messages have this Message-ID (diff)
From: Krzysztof Kozlowski <krzk@kernel.org>
To: Michal Wilczynski <m.wilczynski@samsung.com>,
	Bartosz Golaszewski <brgl@bgdev.pl>,
	Matt Coster <matt.coster@imgtec.com>,
	"krzk+dt@kernel.org" <krzk+dt@kernel.org>
Cc: Drew Fustini <drew@pdp7.com>, Guo Ren <guoren@kernel.org>,
	Fu Wei <wefu@redhat.com>, Rob Herring <robh@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Frank Binns <frank.binns@imgtec.com>,
	Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	linux-riscv@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org,
	dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v3 3/8] drm/imagination: Use pwrseq for TH1520 GPU power management
Date: Fri, 13 Jun 2025 12:01:01 +0200	[thread overview]
Message-ID: <44fdaa5c-0fa4-457e-b193-e83cd06c1aed@kernel.org> (raw)
In-Reply-To: <44090712-0635-47bf-b73d-d9b16ec446a4@samsung.com>

On 13/06/2025 11:49, Michal Wilczynski wrote:
> 
> 
> On 6/13/25 10:25, Michal Wilczynski wrote:
>>
>>
>> On 6/13/25 08:44, Krzysztof Kozlowski wrote:
>>> On 11/06/2025 14:01, Michal Wilczynski wrote:
>>>>
>>>> However, this leads me back to a fundamental issue with the
>>>> consumer side implementation in the generic pvr_device.c driver. The
>>>> current fallback code is:
>>>>
>>>> /*
>>>>  * If the error is -EPROBE_DEFER, it's because the
>>>>  * optional sequencer provider is not present
>>>>  * and it's safe to fall back on manual power-up.
>>>>  */
>>>> if (pwrseq_err == -EPROBE_DEFER)
>>>>         pvr_dev->pwrseq = NULL;
>>>>
>>>> As Krzysztof noted, simply ignoring -EPROBE_DEFER is not ideal. But if I
>>>> change this to a standard deferred probe, the pvr_device.c driver will
>>>
>>> Why? You have specific compatible for executing such quirks only for
>>> given platform.
> 
> I realized now that you may have meant the "thead,th1520-gpu" compatible,
> not the "thead,th1520" SoC compatible.
> 
> In any case, the whole reason for using the pwrseq framework is to avoid
> polluting the generic driver with SoC specific logic and instead offload
> that responsibility to a pwrseq provider. Therefore, I can't simply add
> a check like if (compatible == "thead,th1520-gpu") to the generic driver
> to decide whether to get a power sequencer. This entire matching
> responsibility was intended to be offloaded to the pwrseq framework.

No, just do how all drivers are doing - driver match data, describing
that there is some component, e.g. quirks/flags, number of clocks and
their names typically. In your case - name or presence of pwrseq.



Best regards,
Krzysztof

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2025-06-13 10:01 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20250529222402eucas1p1c9e0ddd3efd62e078e5de2cf71655f58@eucas1p1.samsung.com>
2025-05-29 22:23 ` [PATCH v3 0/8] Add TH1520 GPU support with power sequencing Michal Wilczynski
2025-05-29 22:23   ` Michal Wilczynski
2025-05-29 22:23   ` [PATCH v3 1/8] dt-bindings: power: Add T-HEAD TH1520 GPU power sequencer Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-06-02 14:46     ` Bartosz Golaszewski
2025-06-02 14:46       ` Bartosz Golaszewski
2025-06-02 20:29       ` Michal Wilczynski
2025-06-02 20:29         ` Michal Wilczynski
2025-06-03 13:19         ` Krzysztof Kozlowski
2025-06-03 13:19           ` Krzysztof Kozlowski
2025-06-03 13:35           ` Bartosz Golaszewski
2025-06-03 13:35             ` Bartosz Golaszewski
2025-06-03 14:49             ` Bartosz Golaszewski
2025-06-03 14:49               ` Bartosz Golaszewski
2025-06-03 20:07               ` Michal Wilczynski
2025-06-03 20:07                 ` Michal Wilczynski
2025-06-03 18:24             ` Michal Wilczynski
2025-06-03 18:24               ` Michal Wilczynski
2025-06-04  6:36               ` Bartosz Golaszewski
2025-06-04  6:36                 ` Bartosz Golaszewski
2025-05-29 22:23   ` [PATCH v3 2/8] power: sequencing: Add T-HEAD TH1520 GPU power sequencer driver Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-05-29 22:23   ` [PATCH v3 3/8] drm/imagination: Use pwrseq for TH1520 GPU power management Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-06-03 13:28     ` Krzysztof Kozlowski
2025-06-03 13:28       ` Krzysztof Kozlowski
2025-06-03 19:43       ` Michal Wilczynski
2025-06-03 19:43         ` Michal Wilczynski
2025-06-04  6:36         ` Krzysztof Kozlowski
2025-06-04  6:36           ` Krzysztof Kozlowski
2025-06-04 11:53           ` Michal Wilczynski
2025-06-04 11:53             ` Michal Wilczynski
2025-06-04 12:07             ` Krzysztof Kozlowski
2025-06-04 12:07               ` Krzysztof Kozlowski
2025-06-05  7:47               ` Michal Wilczynski
2025-06-05  7:47                 ` Michal Wilczynski
2025-06-05  8:10                 ` Bartosz Golaszewski
2025-06-05  8:10                   ` Bartosz Golaszewski
2025-06-05  9:07                   ` Krzysztof Kozlowski
2025-06-05  9:07                     ` Krzysztof Kozlowski
2025-06-11 12:01                   ` Michal Wilczynski
2025-06-11 12:01                     ` Michal Wilczynski
2025-06-11 12:32                     ` Bartosz Golaszewski
2025-06-11 12:32                       ` Bartosz Golaszewski
2025-06-13  6:47                       ` Krzysztof Kozlowski
2025-06-13  6:47                         ` Krzysztof Kozlowski
2025-06-13  6:44                     ` Krzysztof Kozlowski
2025-06-13  6:44                       ` Krzysztof Kozlowski
2025-06-13  8:25                       ` Michal Wilczynski
2025-06-13  8:25                         ` Michal Wilczynski
2025-06-13  9:49                         ` Michal Wilczynski
2025-06-13  9:49                           ` Michal Wilczynski
2025-06-13 10:01                           ` Krzysztof Kozlowski [this message]
2025-06-13 10:01                             ` Krzysztof Kozlowski
2025-06-13 10:41                         ` Bartosz Golaszewski
2025-06-13 10:41                           ` Bartosz Golaszewski
2025-05-29 22:23   ` [PATCH v3 4/8] dt-bindings: gpu: Add TH1520 GPU compatible to Imagination bindings Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-06-03 13:16     ` Krzysztof Kozlowski
2025-06-03 13:16       ` Krzysztof Kozlowski
2025-05-29 22:23   ` [PATCH v3 5/8] riscv: dts: thead: th1520: Add missing reset controller header include Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-06-01 17:40     ` Drew Fustini
2025-06-01 17:40       ` Drew Fustini
2025-06-03 13:20     ` Krzysztof Kozlowski
2025-06-03 13:20       ` Krzysztof Kozlowski
2025-06-03 18:26       ` Michal Wilczynski
2025-06-03 18:26         ` Michal Wilczynski
2025-06-03 18:49         ` Krzysztof Kozlowski
2025-06-03 18:49           ` Krzysztof Kozlowski
2025-05-29 22:23   ` [PATCH v3 6/8] riscv: dts: thead: Add GPU power sequencer node Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-06-03 13:22     ` Krzysztof Kozlowski
2025-06-03 13:22       ` Krzysztof Kozlowski
2025-06-03 18:45       ` Michal Wilczynski
2025-06-03 18:45         ` Michal Wilczynski
2025-06-04 12:33         ` Bartosz Golaszewski
2025-06-04 12:33           ` Bartosz Golaszewski
2025-05-29 22:23   ` [PATCH v3 7/8] riscv: dts: thead: th1520: Add IMG BXM-4-64 GPU node Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-06-03 12:27     ` Ulf Hansson
2025-06-03 12:27       ` Ulf Hansson
2025-06-04 12:40       ` Michal Wilczynski
2025-06-04 12:40         ` Michal Wilczynski
2025-06-04 13:57         ` Ulf Hansson
2025-06-04 13:57           ` Ulf Hansson
2025-06-04 16:47       ` Matt Coster
2025-06-04 16:47         ` Matt Coster
2025-06-05  9:57         ` Ulf Hansson
2025-06-05  9:57           ` Ulf Hansson
2025-06-05 10:34           ` Matt Coster
2025-06-05 10:34             ` Matt Coster
2025-05-29 22:23   ` [PATCH v3 8/8] drm/imagination: Enable PowerVR driver for RISC-V Michal Wilczynski
2025-05-29 22:23     ` Michal Wilczynski
2025-06-01 23:05   ` [PATCH v3 0/8] Add TH1520 GPU support with power sequencing Drew Fustini
2025-06-01 23:05     ` Drew Fustini
2025-06-02  8:03     ` Michal Wilczynski
2025-06-02  8:03       ` Michal Wilczynski
2025-06-02 17:33       ` Drew Fustini
2025-06-02 17:33         ` Drew Fustini
2025-06-02 21:39         ` Drew Fustini
2025-06-02 21:39           ` Drew Fustini
2025-06-03 12:25   ` Ulf Hansson
2025-06-03 12:25     ` Ulf Hansson
2025-06-03 18:29     ` Michal Wilczynski
2025-06-03 18:29       ` Michal Wilczynski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44fdaa5c-0fa4-457e-b193-e83cd06c1aed@kernel.org \
    --to=krzk@kernel.org \
    --cc=airlied@gmail.com \
    --cc=alex@ghiti.fr \
    --cc=aou@eecs.berkeley.edu \
    --cc=brgl@bgdev.pl \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=drew@pdp7.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=frank.binns@imgtec.com \
    --cc=guoren@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=m.szyprowski@samsung.com \
    --cc=m.wilczynski@samsung.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=matt.coster@imgtec.com \
    --cc=mripard@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    --cc=ulf.hansson@linaro.org \
    --cc=wefu@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.