linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] rtc: pm8xxx: fix uefi offset lookup
@ 2025-04-23  7:51 Johan Hovold
  2025-04-23  7:51 ` [PATCH 1/4] dt-bindings: rtc: qcom-pm8xxx: add uefi-variable offset Johan Hovold
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Johan Hovold @ 2025-04-23  7:51 UTC (permalink / raw)
  To: Alexandre Belloni, Bjorn Andersson
  Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Konrad Dybcio,
	linux-arm-msm, linux-rtc, devicetree, linux-kernel, Johan Hovold

On many Qualcomm platforms the PMIC RTC control and time registers are
read-only so that the RTC time can not be updated. Instead an offset
needs be stored in some machine-specific non-volatile memory, which a
driver can take into account.

On platforms where the offset is stored in a Qualcomm specific UEFI
variable the variables are also accessed in a non-standard way, which
means that the OS cannot assume that the variable service is available
by the time the driver probes.

This series adds a 'qcom,uefi-rtc-info' boolean DT property to indicate
that the RTC offset is stored in a Qualcomm specific UEFI variable so
that the OS can determine whether to wait for it to become available.

I used such a property in v1 of the series adding support for the UEFI
offset [1], but mistakenly convinced myself that it was not needed given
that the efivars driver would need to remain built in. As Rob Clark
noticed, this is however not sufficient and the driver can currently
fail to look up the offset if the RTC driver is built in or if a
dependency of the efivars driver is built as a module. [2]

As with the rest of this driver, hopefully all of this goes away (for
future platforms) once Qualcomm fix their UEFI implementation so that
the time service can be used directly.

Preferably the binding and driver fix can be merged for 6.15-rc by
Alexandre, while Bjorn takes the DT changes through the branch which has
the DT patches from v2 (which unfortunately missed 6.15 but may possibly
be sent as hw enablement fixups). [3]

Johan


[1] https://lore.kernel.org/all/20250120144152.11949-1-johan+linaro@kernel.org/
[2] https://lore.kernel.org/all/aAecIkgmTTlThKEZ@hovoldconsulting.com/
[3] https://lore.kernel.org/lkml/20250219134118.31017-1-johan+linaro@kernel.org/

Johan Hovold (4):
  dt-bindings: rtc: qcom-pm8xxx: add uefi-variable offset
  rtc: pm8xxx: fix uefi offset lookup
  arm64: dts: qcom: sc8280xp-x13s: describe uefi rtc offset
  arm64: dts: qcom: x1e80100: describe uefi rtc offset

 .../bindings/rtc/qcom-pm8xxx-rtc.yaml           |  6 ++++++
 .../dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts  |  2 ++
 arch/arm64/boot/dts/qcom/x1e80100-pmics.dtsi    |  1 +
 drivers/rtc/rtc-pm8xxx.c                        | 17 ++++++++++++-----
 4 files changed, 21 insertions(+), 5 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2025-06-12  4:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-23  7:51 [PATCH 0/4] rtc: pm8xxx: fix uefi offset lookup Johan Hovold
2025-04-23  7:51 ` [PATCH 1/4] dt-bindings: rtc: qcom-pm8xxx: add uefi-variable offset Johan Hovold
2025-05-09 17:08   ` Rob Herring (Arm)
2025-04-23  7:51 ` [PATCH 2/4] rtc: pm8xxx: fix uefi offset lookup Johan Hovold
2025-04-23  7:51 ` [PATCH 3/4] arm64: dts: qcom: sc8280xp-x13s: describe uefi rtc offset Johan Hovold
2025-04-23  7:51 ` [PATCH 4/4] arm64: dts: qcom: x1e80100: " Johan Hovold
2025-05-07  7:54 ` [PATCH 0/4] rtc: pm8xxx: fix uefi offset lookup Johan Hovold
2025-05-20  7:41   ` Johan Hovold
2025-05-24 21:57 ` (subset) " Alexandre Belloni
2025-06-12  4:00 ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).