* [PATCH v3 0/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 (Minisforum V3 / V3 SE)
@ 2026-09-27 22:05 Jared Wuerzburger
2026-09-27 22:05 ` [PATCH v3 1/2] iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries Jared Wuerzburger
2026-09-27 22:05 ` [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C Jared Wuerzburger
0 siblings, 2 replies; 8+ messages in thread
From: Jared Wuerzburger @ 2026-09-27 22:05 UTC (permalink / raw)
To: Jonathan Cameron, Lorenzo Bianconi
Cc: David Lechner, Nuno Sá,
Andy Shevchenko, linux-iio, linux-kernel, Samuel Dionne-Riel,
Jared Wuerzburger
Hi,
This picks up Samuel's series adding the SMOCF05 ACPI ID for the
LSM6DS3TR-C [1][2], which stalled after the v2 review. The Minisforum V3
and V3 SE tablets both use this ID; without a DSDT override their
accelerometer and gyroscope are missing, and owners currently carry one
just to get screen rotation [3].
I own a V3 and would like to see this merged, so I followed the path
the SMOCF00 patch took [4]:
- Patch 2/2 only adds the ID; the SLA0/SLG0 mount matrix patch is
dropped. Orientation is handled in userspace via hwdb, and I will
send the systemd hwdb entry separately. That also addresses the
patch-order concern from the v2 review.
- The DSDT excerpt and the tested machines are now in the changelog
(full excerpt below), as Andy asked.
- Patch 1/2 is the trailing-comma cleanup Andy suggested, split out
and applied to the existing entries too.
Samuel stays the author of 2/2; my edits are noted in the tags.
Changes since v2:
- Dropped "Add alternative ACPI mount matrix retrieval".
- Split the trailing-comma cleanup into its own patch, covering SMOCF00
as well.
- Changelog of the ID patch: DSDT excerpt, machines, test results.
The V3 BIOS (1.06) declares the device exactly like the V3 SE's:
Device (STS)
{
Name (_HID, EisaId ("SMOCF05"))
Name (_CID, EisaId ("SMOCF05"))
Name (_UID, Zero)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_CRS, 0, NotSerialized)
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x006A, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CD",
0x00, ResourceConsumer, , Exclusive,
RawDataBuffer (0x04)
{
0x53, 0x4C, 0x41, 0x30
})
I2cSerialBusV2 (0x006A, ControllerInitiated, 0x00061A80,
AddressingMode7Bit, "\\_SB.I2CD",
0x00, ResourceConsumer, , Exclusive,
RawDataBuffer (0x04)
{
0x53, 0x4C, 0x47, 0x30
})
GpioInt (Edge, ActiveHigh, Exclusive, PullNone, 0x0000,
"\\_SB.GPIO", 0x00, ResourceConsumer, ,
RawDataBuffer (0x04)
{
0x53, 0x4C, 0x41, 0x30
})
{
0x0009
}
})
Return (RBUF) /* \_SB_.I2CD.STS_._CRS.RBUF */
}
Method (SLA0, 0, NotSerialized)
{
Name (RBUF, Package (0x03)
{
"-1 0 0",
"0 -1 0",
"0 0 -1"
})
Return (RBUF) /* \_SB_.I2CD.STS_.SLA0.RBUF */
}
Method (SLG0, 0, NotSerialized)
{
Name (RBUF, Package (0x03)
{
"1 0 0",
"0 1 0",
"0 0 1"
})
Return (RBUF) /* \_SB_.I2CD.STS_.SLG0.RBUF */
}
}
On the V3 with this series and the stock firmware tables, the driver
binds to i2c-SMOCF05:00, WHO_AM_I reads 0x6a, and both
lsm6ds3tr-c_accel and lsm6ds3tr-c_gyro are registered. Screen
auto-rotation works through iio-sensor-proxy with the mount matrix
-1 0 0; 0 -1 0; 0 0 -1 (the firmware's SLA0), applied via hwdb.
Thanks to Samuel for the original series and to the v2 reviewers for
the feedback. The patches and changelogs were prepared with the help of
an AI coding assistant; I reviewed them and tested the result on my V3.
[1] v1: https://lore.kernel.org/linux-iio/20251223025351.3099978-2-samuel@dionne-riel.com/
[2] v2: https://lore.kernel.org/linux-iio/20260201225450.1649001-2-samuel@dionne-riel.com/
[3] https://github.com/mudkipme/awesome-minisforum-v3/issues/2
[4] https://lore.kernel.org/linux-iio/20260324193626.77231-1-twoexem@gmail.com/
Samuel Dionne-Riel (1):
iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C
Jared Wuerzburger (1):
iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
base-commit: d8c0f48f0b1583308a98401c0c7b1a65d1d43a6c
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v3 1/2] iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries
2026-09-27 22:05 [PATCH v3 0/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 (Minisforum V3 / V3 SE) Jared Wuerzburger
@ 2026-09-27 22:05 ` Jared Wuerzburger
2026-09-28 9:09 ` Andy Shevchenko
2026-09-27 22:05 ` [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C Jared Wuerzburger
1 sibling, 1 reply; 8+ messages in thread
From: Jared Wuerzburger @ 2026-09-27 22:05 UTC (permalink / raw)
To: Jonathan Cameron, Lorenzo Bianconi
Cc: David Lechner, Nuno Sá,
Andy Shevchenko, linux-iio, linux-kernel, Samuel Dionne-Riel,
Jared Wuerzburger, Andy Shevchenko
The trailing comma after the last member of an initializer is only
useful when more members may follow, which is never the case for an
acpi_device_id entry. Drop it, as suggested during review of an earlier
version of the next patch.
Link: https://lore.kernel.org/linux-iio/aVFmec8JA6ZX18il@smile.fi.intel.com/
Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Jared Wuerzburger <jwuerz@gmail.com>
---
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
index edec898cb..fbf4e4ecc 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
@@ -143,8 +143,8 @@ static const struct of_device_id st_lsm6dsx_i2c_of_match[] = {
MODULE_DEVICE_TABLE(of, st_lsm6dsx_i2c_of_match);
static const struct acpi_device_id st_lsm6dsx_i2c_acpi_match[] = {
- { "SMO8B30", ST_LSM6DS3TRC_ID, },
- { "SMOCF00", ST_LSM6DSO_ID, },
+ { "SMO8B30", ST_LSM6DS3TRC_ID },
+ { "SMOCF00", ST_LSM6DSO_ID },
{ }
};
MODULE_DEVICE_TABLE(acpi, st_lsm6dsx_i2c_acpi_match);
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v3 1/2] iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries
2026-09-27 22:05 ` [PATCH v3 1/2] iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries Jared Wuerzburger
@ 2026-09-28 9:09 ` Andy Shevchenko
2026-09-28 15:28 ` Jared Wuerzburger
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2026-09-28 9:09 UTC (permalink / raw)
To: Jared Wuerzburger
Cc: Jonathan Cameron, Lorenzo Bianconi, David Lechner, Nuno Sá,
Andy Shevchenko, linux-iio, linux-kernel, Samuel Dionne-Riel
On Sun, Sep 27, 2026 at 05:05:58PM -0500, Jared Wuerzburger wrote:
> The trailing comma after the last member of an initializer is only
> useful when more members may follow, which is never the case for an
> acpi_device_id entry. Drop it, as suggested during review of an earlier
> version of the next patch.
> Link: https://lore.kernel.org/linux-iio/aVFmec8JA6ZX18il@smile.fi.intel.com/
> Suggested-by: Andy Shevchenko <andriy.shevchenko@intel.com>
> Assisted-by: Claude:claude-opus-5-5
Assisted-by: LLM
> Signed-off-by: Jared Wuerzburger <jwuerz@gmail.com>
...
> static const struct acpi_device_id st_lsm6dsx_i2c_acpi_match[] = {
> - { "SMO8B30", ST_LSM6DS3TRC_ID, },
> - { "SMOCF00", ST_LSM6DSO_ID, },
> + { "SMO8B30", ST_LSM6DS3TRC_ID },
> + { "SMOCF00", ST_LSM6DSO_ID },
> { }
> };
Thanks, but while at it, also switch to C99 initialisers to avoid an additional
churn (there is ongoing activity to switch all ID tables to use C99 initialisers).
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v3 1/2] iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries
2026-09-28 9:09 ` Andy Shevchenko
@ 2026-09-28 15:28 ` Jared Wuerzburger
0 siblings, 0 replies; 8+ messages in thread
From: Jared Wuerzburger @ 2026-09-28 15:28 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, Lorenzo Bianconi, David Lechner, Nuno Sá,
Andy Shevchenko, Samuel Dionne-Riel, linux-iio, linux-kernel
On Mon, Sep 28, 2026 at 12:09:10PM +0300, Andy Shevchenko wrote:
> On Sun, Sep 27, 2026 at 05:05:58PM -0500, Jared Wuerzburger wrote:
...
> > Assisted-by: Claude:claude-opus-5-5
>
> Assisted-by: LLM
Thanks, that was the format from an older version of
coding-assistants.rst. I'll use Assisted-by: LLM in v4, in 2/2 as well.
...
> Thanks, but while at it, also switch to C99 initialisers to avoid an additional
> churn (there is ongoing activity to switch all ID tables to use C99 initialisers).
Will do. v4 converts the table to { .id = ..., .driver_data = ... },
which also matches the i2c_device_id table in the same file.
Thanks for the quick review!
Jared
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C
2026-09-27 22:05 [PATCH v3 0/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 (Minisforum V3 / V3 SE) Jared Wuerzburger
2026-09-27 22:05 ` [PATCH v3 1/2] iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries Jared Wuerzburger
@ 2026-09-27 22:05 ` Jared Wuerzburger
2026-09-28 9:13 ` Andy Shevchenko
1 sibling, 1 reply; 8+ messages in thread
From: Jared Wuerzburger @ 2026-09-27 22:05 UTC (permalink / raw)
To: Jonathan Cameron, Lorenzo Bianconi
Cc: David Lechner, Nuno Sá,
Andy Shevchenko, linux-iio, linux-kernel, Samuel Dionne-Riel,
Jared Wuerzburger
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
The Minisforum V3 and V3 SE tablets declare their ST LSM6DS3TR-C IMU in
the DSDT with the hardware ID SMOCF05 instead of SMO8B30, so the driver
never binds and the accelerometer and gyroscope are missing. The
Windows driver (version 1.0.4.3) binds the LSM6DS3TR-C to both IDs.
Relevant part of the DSDT, identical on both models (full excerpt in
the cover letter):
Scope (_SB.I2CD) { Device (STS) {
Name (_HID, EisaId ("SMOCF05"))
Name (_CID, EisaId ("SMOCF05"))
_CRS: I2cSerialBusV2 (0x006A, ..., "\\_SB.I2CD") vendor data "SLA0"
I2cSerialBusV2 (0x006A, ..., "\\_SB.I2CD") vendor data "SLG0"
GpioInt (Edge, ActiveHigh, ..., "\\_SB.GPIO") { 9 } "SLA0"
Method (SLA0): "-1 0 0", "0 -1 0", "0 0 -1"
Method (SLG0): "1 0 0", "0 1 0", "0 0 1"
} }
Both I2C resources describe the same address, and the driver uses the
first one. The vendor-specific SLA0/SLG0 mount matrices are not parsed
here; the accelerometer orientation is handled in userspace through
the systemd hwdb, as for SMOCF00.
Tested on:
- V3 SE (Ryzen 7 7735U, BIOS 1.03) with this change.
- V3 (Ryzen 7 8840U, BIOS 1.06), kernel 7.2.7, with this change and
the stock firmware tables. The driver binds to i2c-SMOCF05:00, the
WHO_AM_I check passes (0x6a), and both lsm6ds3tr-c_accel and
lsm6ds3tr-c_gyro are registered. Screen auto-rotation works with
iio-sensor-proxy (checked with the device renamed to SMO8B30 via a
DSDT override, i.e. the same ST_LSM6DS3TRC_ID driver data).
Link: https://github.com/mudkipme/awesome-minisforum-v3/issues/2
Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
[Jared Wuerzburger: rewrote the changelog with the DSDT excerpt and test
results, dropped the mount matrix patch from the series]
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Jared Wuerzburger <jwuerz@gmail.com>
---
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
index fbf4e4ecc..5def1d01b 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c
@@ -145,6 +145,7 @@ MODULE_DEVICE_TABLE(of, st_lsm6dsx_i2c_of_match);
static const struct acpi_device_id st_lsm6dsx_i2c_acpi_match[] = {
{ "SMO8B30", ST_LSM6DS3TRC_ID },
{ "SMOCF00", ST_LSM6DSO_ID },
+ { "SMOCF05", ST_LSM6DS3TRC_ID },
{ }
};
MODULE_DEVICE_TABLE(acpi, st_lsm6dsx_i2c_acpi_match);
--
2.55.0
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C
2026-09-27 22:05 ` [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C Jared Wuerzburger
@ 2026-09-28 9:13 ` Andy Shevchenko
2026-09-28 15:29 ` Jared Wuerzburger
0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2026-09-28 9:13 UTC (permalink / raw)
To: Jared Wuerzburger
Cc: Jonathan Cameron, Lorenzo Bianconi, David Lechner, Nuno Sá,
Andy Shevchenko, linux-iio, linux-kernel, Samuel Dionne-Riel
On Sun, Sep 27, 2026 at 05:05:59PM -0500, Jared Wuerzburger wrote:
> The Minisforum V3 and V3 SE tablets declare their ST LSM6DS3TR-C IMU in
> the DSDT with the hardware ID SMOCF05 instead of SMO8B30, so the driver
> never binds and the accelerometer and gyroscope are missing. The
> Windows driver (version 1.0.4.3) binds the LSM6DS3TR-C to both IDs.
>
> Relevant part of the DSDT, identical on both models (full excerpt in
> the cover letter):
Don't refer to the cover letter in the commit message. Most will not understand
this pointer.
> Scope (_SB.I2CD) { Device (STS) {
> Name (_HID, EisaId ("SMOCF05"))
> Name (_CID, EisaId ("SMOCF05"))
> _CRS: I2cSerialBusV2 (0x006A, ..., "\\_SB.I2CD") vendor data "SLA0"
> I2cSerialBusV2 (0x006A, ..., "\\_SB.I2CD") vendor data "SLG0"
> GpioInt (Edge, ActiveHigh, ..., "\\_SB.GPIO") { 9 } "SLA0"
> Method (SLA0): "-1 0 0", "0 -1 0", "0 0 -1"
> Method (SLG0): "1 0 0", "0 1 0", "0 0 1"
> } }
Just ask maintainer to add a Link tag to the series instead.
> Both I2C resources describe the same address, and the driver uses the
> first one. The vendor-specific SLA0/SLG0 mount matrices are not parsed
> here; the accelerometer orientation is handled in userspace through
> the systemd hwdb, as for SMOCF00.
Hmm... But is that wrong? I mean does ACPI provide the correct data in mount
matrix?
> Tested on:
> - V3 SE (Ryzen 7 7735U, BIOS 1.03) with this change.
> - V3 (Ryzen 7 8840U, BIOS 1.06), kernel 7.2.7, with this change and
> the stock firmware tables. The driver binds to i2c-SMOCF05:00, the
> WHO_AM_I check passes (0x6a), and both lsm6ds3tr-c_accel and
> lsm6ds3tr-c_gyro are registered. Screen auto-rotation works with
> iio-sensor-proxy (checked with the device renamed to SMO8B30 via a
> DSDT override, i.e. the same ST_LSM6DS3TRC_ID driver data).
>
> Link: https://github.com/mudkipme/awesome-minisforum-v3/issues/2
Closes?
> Signed-off-by: Samuel Dionne-Riel <samuel@dionne-riel.com>
> [Jared Wuerzburger: rewrote the changelog with the DSDT excerpt and test
> results, dropped the mount matrix patch from the series]
> Assisted-by: Claude:claude-opus-5-5
Assisted-by: LLM
> Signed-off-by: Jared Wuerzburger <jwuerz@gmail.com>
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C
2026-09-28 9:13 ` Andy Shevchenko
@ 2026-09-28 15:29 ` Jared Wuerzburger
2026-09-28 15:58 ` Andy Shevchenko
0 siblings, 1 reply; 8+ messages in thread
From: Jared Wuerzburger @ 2026-09-28 15:29 UTC (permalink / raw)
To: Andy Shevchenko
Cc: Jonathan Cameron, Lorenzo Bianconi, David Lechner, Nuno Sá,
Andy Shevchenko, Samuel Dionne-Riel, linux-iio, linux-kernel
On Mon, Sep 28, 2026 at 12:13:17PM +0300, Andy Shevchenko wrote:
> On Sun, Sep 27, 2026 at 05:05:59PM -0500, Jared Wuerzburger wrote:
...
> > Relevant part of the DSDT, identical on both models (full excerpt in
> > the cover letter):
>
> Don't refer to the cover letter in the commit message. Most will not understand
> this pointer.
Makes sense, I'll drop it.
> > Scope (_SB.I2CD) { Device (STS) {
...
> Just ask maintainer to add a Link tag to the series instead.
Will do. In v4 the short excerpt stays in the commit message, without
the pointer, and I'll ask Jonathan below the --- line to add a Link:
to the series when applying, so the full excerpt in the cover letter
stays reachable from the commit.
> > Both I2C resources describe the same address, and the driver uses the
> > first one. The vendor-specific SLA0/SLG0 mount matrices are not parsed
> > here; the accelerometer orientation is handled in userspace through
> > the systemd hwdb, as for SMOCF00.
>
> Hmm... But is that wrong? I mean does ACPI provide the correct data in mount
> matrix?
Good question, and it made me check more carefully: X and Y are right,
Z isn't. SLA0 (-1 0 0; 0 -1 0; 0 0 -1) matches the Windows sensor
convention, which reports the gravity vector (Z = -1g with the screen
facing up). SLG0 being identity fits that: SLA0's negation is a sign
convention, not a mounting rotation. With it applied via hwdb,
auto-rotation on my V3 is correct (that only depends on the X and Y
signs), but iio-sensor-proxy reports the tilt inverted: "tilted-down"
with the screen leaning back. With -1 0 0; 0 -1 0; 0 0 1, a plain
180 degree rotation about Z, orientation and tilt are both right. That
means the systemd hwdb entry that went in today [1] has the wrong Z
sign; the fix is here [2].
So the firmware values can't be used as a mount matrix as they are;
reading SLA0 like ROTM, as v2 did, would have exported the same wrong
Z. That's one more reason I'd keep this series to the ID and leave the
orientation to hwdb, as was done for SMOCF00. If you'd still like the
firmware data used in the driver, I'm happy to look at it as a
follow-up, but it would need translating from the Windows convention
rather than using it as a mount matrix.
> > Link: https://github.com/mudkipme/awesome-minisforum-v3/issues/2
>
> Closes?
Yes, I'll switch it to Closes: in v4.
> > Assisted-by: Claude:claude-opus-5-5
>
> Assisted-by: LLM
Will fix, same as in 1/2.
[1] https://github.com/systemd/systemd/pull/43935
[2] https://github.com/systemd/systemd/pull/43941
Jared
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C
2026-09-28 15:29 ` Jared Wuerzburger
@ 2026-09-28 15:58 ` Andy Shevchenko
0 siblings, 0 replies; 8+ messages in thread
From: Andy Shevchenko @ 2026-09-28 15:58 UTC (permalink / raw)
To: Jared Wuerzburger
Cc: Andy Shevchenko, Jonathan Cameron, Lorenzo Bianconi,
David Lechner, Nuno Sá,
Andy Shevchenko, Samuel Dionne-Riel, linux-iio, linux-kernel
On Mon, Sep 28, 2026 at 6:29 PM Jared Wuerzburger <jwuerz@gmail.com> wrote:
>
> On Mon, Sep 28, 2026 at 12:13:17PM +0300, Andy Shevchenko wrote:
> > On Sun, Sep 27, 2026 at 05:05:59PM -0500, Jared Wuerzburger wrote:
...
> > > Both I2C resources describe the same address, and the driver uses the
> > > first one. The vendor-specific SLA0/SLG0 mount matrices are not parsed
> > > here; the accelerometer orientation is handled in userspace through
> > > the systemd hwdb, as for SMOCF00.
> >
> > Hmm... But is that wrong? I mean does ACPI provide the correct data in mount
> > matrix?
>
> Good question, and it made me check more carefully: X and Y are right,
> Z isn't. SLA0 (-1 0 0; 0 -1 0; 0 0 -1) matches the Windows sensor
> convention, which reports the gravity vector (Z = -1g with the screen
> facing up). SLG0 being identity fits that: SLA0's negation is a sign
> convention, not a mounting rotation. With it applied via hwdb,
> auto-rotation on my V3 is correct (that only depends on the X and Y
> signs), but iio-sensor-proxy reports the tilt inverted: "tilted-down"
> with the screen leaning back. With -1 0 0; 0 -1 0; 0 0 1, a plain
> 180 degree rotation about Z, orientation and tilt are both right. That
> means the systemd hwdb entry that went in today [1] has the wrong Z
> sign; the fix is here [2].
>
> So the firmware values can't be used as a mount matrix as they are;
> reading SLA0 like ROTM, as v2 did, would have exported the same wrong
> Z. That's one more reason I'd keep this series to the ID and leave the
> orientation to hwdb, as was done for SMOCF00. If you'd still like the
> firmware data used in the driver, I'm happy to look at it as a
> follow-up, but it would need translating from the Windows convention
> rather than usingit as a mount matrix.
For the starter just summarize above in the commit message in v4. This
will justify usage of hwdb (IIUC the case).
> [1] https://github.com/systemd/systemd/pull/43935
> [2] https://github.com/systemd/systemd/pull/43941
--
With Best Regards,
Andy Shevchenko
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-09-28 15:58 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-27 22:05 [PATCH v3 0/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 (Minisforum V3 / V3 SE) Jared Wuerzburger
2026-09-27 22:05 ` [PATCH v3 1/2] iio: imu: st_lsm6dsx: Drop trailing comma in ACPI match table entries Jared Wuerzburger
2026-09-28 9:09 ` Andy Shevchenko
2026-09-28 15:28 ` Jared Wuerzburger
2026-09-27 22:05 ` [PATCH v3 2/2] iio: imu: st_lsm6dsx: Add ACPI ID SMOCF05 for LSM6DS3TR-C Jared Wuerzburger
2026-09-28 9:13 ` Andy Shevchenko
2026-09-28 15:29 ` Jared Wuerzburger
2026-09-28 15:58 ` Andy Shevchenko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®