public inbox for linux-pm@vger.kernel.org
 help / color / mirror / Atom feed
From: Shawn Lin <shawn.lin@rock-chips.com>
To: "Heiko Stübner" <heiko@sntech.de>,
	"Steven Price" <steven.price@arm.com>,
	"Ulf Hansson" <ulf.hansson@linaro.org>
Cc: shawn.lin@rock-chips.com,
	Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
	Alim Akhtar <alim.akhtar@samsung.com>,
	Avri Altman <avri.altman@wdc.com>,
	Bart Van Assche <bvanassche@acm.org>,
	YiFeng Zhao <zyf@rock-chips.com>, Liang Chen <cl@rock-chips.com>,
	linux-scsi@vger.kernel.org, linux-rockchip@lists.infradead.org,
	devicetree@vger.kernel.org, linux-pm@vger.kernel.org,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	Rob Herring <robh+dt@kernel.org>
Subject: Re: [PATCH v7 4/7] pmdomain: rockchip: Add smc call to inform firmware
Date: Tue, 18 Feb 2025 08:53:36 +0800	[thread overview]
Message-ID: <fa184920-e1f5-4eee-894a-f617e6d8e817@rock-chips.com> (raw)
In-Reply-To: <5649637.F8r316W7xa@diego>

Hi Heiko, Steven

在 2025/2/18 4:50, Heiko Stübner 写道:
> Am Montag, 17. Februar 2025, 18:10:32 MEZ schrieb Steven Price:
>> On 17/02/2025 15:16, Heiko Stübner wrote:
>>> Hi Steven,
>>>
>>> Am Montag, 17. Februar 2025, 15:47:21 MEZ schrieb Steven Price:
>>>> On 05/02/2025 06:15, Shawn Lin wrote:
>>>>> Inform firmware to keep the power domain on or off.
>>>>>
>>>>> Suggested-by: Ulf Hansson <ulf.hansson@linaro.org>
>>>>> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
>>>>> ---
>>>>
>>>> This patch is causing my Firefly RK3288 to fail to boot, it hangs
>>>> shortly after reaching user space, but the bootup messages include the
>>>> suspicious line "Bad mode in prefetch abort handler detected".
>>>> I suspect the firmware on this board doesn't support this new SMC
>>>> correctly. Reverting this patch on top of linux-next gets everything
>>>> working again.
>>>
>>> Is your board actually running some trusted firmware?
>>
>> Not as far as I know.
>>
>>> Stock rk3288 never had tf-a / psci [0], I did work on that for a while,
>>> but don't think that ever took off.
>>>
>>> I'm wondering who the smcc call is calling, but don't know about
>>> about smcc stuff.
>>
>> Good question - it's quite possible things are blowing up just because
>> there's nothing there to handle the SMC. My DTB is as upstream:
>>
>>          cpus {
>>                  #address-cells = <0x01>;
>>                  #size-cells = <0x00>;
>>                  enable-method = "rockchip,rk3066-smp";
>>                  rockchip,pmu = <0x06>;
>>
>> I haven't investigated why this code is attempting to call an SMC on
>> this board.
> 
> I guess the why is easy, something to do with suspend :-) .
> 
> I did go testing a bit, booting a rk3288-veyron produces the same issue
> you saw, likely due to the non-existent trusted-firmware.
> 
> On the arm64-side, I tried a plethora of socs + tfa-versions,
> 
>    rk3328: v2.5 upstream(?)-tf-a
>    rk3399: v2.9 upstream-tf-a
>    px30: v2.4+v2.9 upstream-tf-a
>    rk3568: v2.3 vendor-tf-a
>    rk3588: v2.3 vendor-tf-a
> 
> and all ran just fine.
> So it really looks like the smcc call going to some unset location is
> the culprit.
> 
> Looking at other users of arm_smcc_smc, most of them seem to be handled
> unguarded, but some older(?) arm32 boards actually check their DTs for an
> optee node before trying their smc-call.
> 
> I guess in the pm-domain case, we could just wrap the call with:
> 	if(arm_smccc_1_1_get_conduit() != SMCCC_CONDUIT_NONE)
> 

Thanks for the report and helping find out the cause!

@Ulf, if the solution above seems reasonable to you, I can cook a fix-up
patch.

> I've checked in my boards now, and all the boards mentioned above seem
> to handle this well with smccc-versions of at least 0x10002 .
> 
> Heiko
> 
> 
> 


  reply	other threads:[~2025-02-18 11:03 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-05  6:15 [PATCH v7 0/7] Initial support for RK3576 UFS controller Shawn Lin
2025-02-05  6:15 ` [PATCH v7 1/7] dt-bindings: ufs: Document Rockchip UFS host controller Shawn Lin
2025-02-11  7:14   ` Manivannan Sadhasivam
2025-02-05  6:15 ` [PATCH v7 2/7] soc: rockchip: add header for suspend mode SIP interface Shawn Lin
2025-02-11  7:35   ` Heiko Stübner
2025-02-05  6:15 ` [PATCH v7 3/7] pmdomain: core: Introduce dev_pm_genpd_rpm_always_on() Shawn Lin
2025-02-11  7:15   ` Manivannan Sadhasivam
2025-02-05  6:15 ` [PATCH v7 4/7] pmdomain: rockchip: Add smc call to inform firmware Shawn Lin
2025-02-07  9:58   ` Ulf Hansson
2025-02-11  7:35   ` Heiko Stübner
2025-02-17 14:47   ` Steven Price
2025-02-17 15:16     ` Heiko Stübner
2025-02-17 17:10       ` Steven Price
2025-02-17 20:50         ` Heiko Stübner
2025-02-18  0:53           ` Shawn Lin [this message]
2025-02-18 11:05             ` Ulf Hansson
2025-02-19  1:00               ` Shawn Lin
2025-02-05  6:15 ` [PATCH v7 5/7] scsi: ufs: core: Export ufshcd_dme_reset() and ufshcd_dme_enable() Shawn Lin
2025-02-05 17:53   ` Bart Van Assche
2025-02-05  6:15 ` [PATCH v7 6/7] scsi: ufs: rockchip: initial support for UFS Shawn Lin
2025-02-07 10:09   ` Ulf Hansson
2025-02-11  7:18   ` Manivannan Sadhasivam
2025-02-05  6:15 ` [PATCH v7 7/7] arm64: dts: rockchip: Add UFS support for RK3576 SoC Shawn Lin
2025-02-07 10:17 ` [PATCH v7 0/7] Initial support for RK3576 UFS controller Ulf Hansson
2025-02-08  1:01   ` Shawn Lin
2025-02-12 21:56   ` Martin K. Petersen
2025-02-13 15:20     ` Ulf Hansson
2025-02-19 11:57       ` Ulf Hansson
2025-02-19 14:49         ` Martin K. Petersen
2025-03-04  3:19 ` Martin K. Petersen

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=fa184920-e1f5-4eee-894a-f617e6d8e817@rock-chips.com \
    --to=shawn.lin@rock-chips.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@wdc.com \
    --cc=bvanassche@acm.org \
    --cc=cl@rock-chips.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=krzk+dt@kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=manivannan.sadhasivam@linaro.org \
    --cc=martin.petersen@oracle.com \
    --cc=rafael@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=steven.price@arm.com \
    --cc=ulf.hansson@linaro.org \
    --cc=zyf@rock-chips.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox