devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Johan Hovold <johan+linaro@kernel.org>
Cc: Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Bjorn Andersson <andersson@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Konrad Dybcio <konradybcio@kernel.org>,
	Jonathan Marek <jonathan@marek.ca>,
	linux-arm-msm@vger.kernel.org, linux-rtc@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/7] arm64: dts: qcom: x1e80100: enable rtc
Date: Sun, 26 Jan 2025 18:20:26 -0600	[thread overview]
Message-ID: <20250127002026.GA2534668-robh@kernel.org> (raw)
In-Reply-To: <20250120144152.11949-1-johan+linaro@kernel.org>

On Mon, Jan 20, 2025 at 03:41:45PM +0100, Johan Hovold wrote:
> This series adds support for utilising the UEFI firmware RTC offset to
> the Qualcomm PMIC RTC driver and uses that to enable the RTC on all X
> Elite machines.
> 
> Included is also a patch to switch the Lenovo ThinkPad X13s over to
> using the UEFI offset.
> 
> The RTCs in many Qualcomm devices are effectively broken due to the time
> registers being read-only. Instead some other non-volatile memory can be
> used to store an offset which a driver can take into account. On Windows
> on Arm laptops, the UEFI firmware (and Windows) use a UEFI variable for
> storing such an offset.
> 
> When RTC support for the X13s was added two years ago we did not yet
> have UEFI variable support for these machines in mainline and there were
> also some concerns regarding flash wear. [1] As not all Qualcomm
> platforms have UEFI firmware anyway, we instead opted to use a PMIC
> scratch register for storing the offset. [2]
> 
> On the UEFI machines in question this is however arguable not correct
> as it means that the RTC time can differ between the UEFI firmware (and
> Windows) and Linux.
> 
> Now that the (reverse engineered) UEFI variable implementation has been
> merged and thoroughly tested, let's switch to using that to store the
> RTC offset also on Linux. The flash wear concerns can be mitigated by
> deferring writes due to clock drift until shutdown.
> 
> Note that this also avoids having to wait for months for Qualcomm to
> provide a free PMIC SDAM scratch register for X1E and future platforms,
> and specifically allows us to enable the RTC on X1E laptops today.
> 
> Rob had some concerns about adding a DT property for indicating that a
> machine uses UEFI for storing the offset and suggested that the driver
> should probe for this instead. Unfortunately, this is easier said than
> done given that UEFI variable support itself is probed for and may not
> be available until after the RTC driver probes.

This information would be useful in the binding commit...

Seems like something I would say, but this is v1 and I have no memory of 
discussing this. I would also say probe ordering is not a DT problem, 
but sounds like an OS problem. Aren't there other things needing EFI 
variables earlyish too? Do you really want to have to update the DT to 
enable this?

OTOH, it's one property, meh.

Rob

  parent reply	other threads:[~2025-01-27  0:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-20 14:41 [PATCH 0/7] arm64: dts: qcom: x1e80100: enable rtc Johan Hovold
2025-01-20 14:41 ` [PATCH 1/7] dt-bindings: rtc: qcom-pm8xxx: add uefi-variable offset Johan Hovold
2025-01-20 14:41 ` [PATCH 2/7] dt-bindings: rtc: qcom-pm8xxx: document qcom,no-alarm flag Johan Hovold
2025-01-27 18:00   ` Rob Herring (Arm)
2025-01-20 14:41 ` [PATCH 3/7] rtc: pm8xxx: add support for uefi offset Johan Hovold
2025-01-20 15:10   ` Sudeep Holla
2025-01-20 15:15     ` Johan Hovold
2025-01-20 15:17       ` Johan Hovold
2025-01-20 17:13         ` Sudeep Holla
2025-01-24 12:56   ` Tobias Heider
2025-01-24 14:07     ` Johan Hovold
2025-01-20 14:41 ` [PATCH 4/7] rtc: pm8xxx: mitigate flash wear Johan Hovold
2025-01-23 11:39   ` Johan Hovold
2025-01-20 14:41 ` [PATCH 5/7] rtc: pm8xxx: implement qcom,no-alarm flag for non-HLOS owned alarm Johan Hovold
2025-01-20 14:41 ` [PATCH 6/7] arm64: dts: qcom: sc8280xp-x13s: switch to uefi rtc offset Johan Hovold
2025-01-20 18:08   ` Jens Glathe
2025-01-23 12:26   ` Konrad Dybcio
2025-01-20 14:41 ` [PATCH 7/7] arm64: dts: qcom: x1e80100: enable rtc Johan Hovold
2025-01-20 18:12   ` Jens Glathe
2025-01-21 10:06     ` Johan Hovold
2025-01-23 12:26   ` Konrad Dybcio
2025-01-20 21:19 ` [PATCH 0/7] " Steev Klimaszewski
2025-01-21 10:06   ` Johan Hovold
2025-01-21  3:48 ` Joel Stanley
2025-01-21 10:07   ` Johan Hovold
2025-01-23 12:28 ` Konrad Dybcio
2025-01-25 18:46 ` Sebastian Reichel
2025-01-27  0:20 ` Rob Herring [this message]
2025-02-19 13:37   ` Johan Hovold
2025-04-21 14:36   ` Rob Clark
2025-04-22 13:39     ` Johan Hovold

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=20250127002026.GA2534668-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=johan+linaro@kernel.org \
    --cc=jonathan@marek.ca \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).