All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: Shawn Lin <shawn.lin@rock-chips.com>,
	Rob Herring <robh+dt@kernel.org>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Steven Price <steven.price@arm.com>
Cc: 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
Subject: Re: [PATCH v7 4/7] pmdomain: rockchip: Add smc call to inform firmware
Date: Mon, 17 Feb 2025 21:50:42 +0100	[thread overview]
Message-ID: <5649637.F8r316W7xa@diego> (raw)
In-Reply-To: <321804ef-f852-47cf-afd7-723666ec8f62@arm.com>

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)

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



WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko@sntech.de>
To: Shawn Lin <shawn.lin@rock-chips.com>,
	Rob Herring <robh+dt@kernel.org>,
	"James E . J . Bottomley" <James.Bottomley@hansenpartnership.com>,
	"Martin K . Petersen" <martin.petersen@oracle.com>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Steven Price <steven.price@arm.com>
Cc: 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
Subject: Re: [PATCH v7 4/7] pmdomain: rockchip: Add smc call to inform firmware
Date: Mon, 17 Feb 2025 21:50:42 +0100	[thread overview]
Message-ID: <5649637.F8r316W7xa@diego> (raw)
In-Reply-To: <321804ef-f852-47cf-afd7-723666ec8f62@arm.com>

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)

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



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

  reply	other threads:[~2025-02-17 20:51 UTC|newest]

Thread overview: 60+ 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 ` Shawn Lin
2025-02-05  6:15 ` [PATCH v7 1/7] dt-bindings: ufs: Document Rockchip UFS host controller Shawn Lin
2025-02-05  6:15   ` Shawn Lin
2025-02-11  7:14   ` Manivannan Sadhasivam
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-05  6:15   ` Shawn Lin
2025-02-11  7:35   ` Heiko Stübner
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-05  6:15   ` Shawn Lin
2025-02-11  7:15   ` Manivannan Sadhasivam
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-05  6:15   ` Shawn Lin
2025-02-07  9:58   ` Ulf Hansson
2025-02-07  9:58     ` Ulf Hansson
2025-02-11  7:35   ` Heiko Stübner
2025-02-11  7:35     ` Heiko Stübner
2025-02-17 14:47   ` Steven Price
2025-02-17 14:47     ` Steven Price
2025-02-17 15:16     ` Heiko Stübner
2025-02-17 15:16       ` Heiko Stübner
2025-02-17 17:10       ` Steven Price
2025-02-17 17:10         ` Steven Price
2025-02-17 20:50         ` Heiko Stübner [this message]
2025-02-17 20:50           ` Heiko Stübner
2025-02-18  0:53           ` Shawn Lin
2025-02-18  0:53             ` Shawn Lin
2025-02-18 11:05             ` Ulf Hansson
2025-02-18 11:05               ` Ulf Hansson
2025-02-19  1:00               ` Shawn Lin
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  6:15   ` Shawn Lin
2025-02-05 17:53   ` Bart Van Assche
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-05  6:15   ` Shawn Lin
2025-02-07 10:09   ` Ulf Hansson
2025-02-07 10:09     ` Ulf Hansson
2025-02-11  7:18   ` Manivannan Sadhasivam
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-05  6:15   ` Shawn Lin
2025-02-07 10:17 ` [PATCH v7 0/7] Initial support for RK3576 UFS controller Ulf Hansson
2025-02-07 10:17   ` Ulf Hansson
2025-02-08  1:01   ` Shawn Lin
2025-02-08  1:01     ` Shawn Lin
2025-02-12 21:56   ` Martin K. Petersen
2025-02-12 21:56     ` Martin K. Petersen
2025-02-13 15:20     ` Ulf Hansson
2025-02-13 15:20       ` Ulf Hansson
2025-02-19 11:57       ` Ulf Hansson
2025-02-19 11:57         ` Ulf Hansson
2025-02-19 14:49         ` Martin K. Petersen
2025-02-19 14:49           ` Martin K. Petersen
2025-03-04  3:19 ` 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=5649637.F8r316W7xa@diego \
    --to=heiko@sntech.de \
    --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=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=shawn.lin@rock-chips.com \
    --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 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.