public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Fix LPSS clock divider for XPS 9530
@ 2023-12-21 18:51 Aleksandrs Vinarskis
  2023-12-21 18:51 ` [PATCH v4 1/2] mfd: intel-lpss: Switch to generalized quirk table Aleksandrs Vinarskis
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Aleksandrs Vinarskis @ 2023-12-21 18:51 UTC (permalink / raw)
  To: Lee Jones, Andy Shevchenko, Aleksandrs Vinarskis, linux-kernel
  Cc: Hans de Goede

Dell XPS 9530 (2023) uses spi-pxa2xx with clock-divider enabled from
intel-lpss with the ratio of 1:32767 (Dell's firmware bug). This caps SPI
controller's speed at very low value of 3051Hz, which makes the interface
practically unusable. Since either spi-pxa2xx or intel-lpss should have
clock divider enabled, not both, and SPI controller can have higher speed
than requested by the device, it is preffered to disable intel-lpss
clock-divider, and let SPI controller handle it.

Fixing this issue directly in Dell firmware by setting lpss divider to 1:1
would've been the ideal solution, but is unlikely to ever happen.

Particular driver already implements customized solution for handling buggy
ACPI tables for select Microsoft devices. This patch series converts it to
a more generic quirk table, and adds a new quirk QUIRK_CLOCK_DIVIDER_UNITY
which forces clock divider to be set to 1:1. In the future, devices with
similar bug (if any) can be easily added to the same pci id lookup table.

Changes since v3:
- Altered "{ PCI.." style of quirk table
- Added CC to  Hans de Goede

Changes since v2:
- Added missing periods, moved variable declaration
- Altered "}, {" style of quirk table
- Confirmed to compile for 32-bit without warnings

Changes since v1:
- Applied suggestions by Andy Shevchenko

Aleksandrs Vinarskis (2):
  mfd: intel-lpss: Switch to generalized quirk table
  mfd: intel-lpss: Introduce QUIRK_CLOCK_DIVIDER_UNITY for XPS 9530

 drivers/mfd/intel-lpss-pci.c | 28 ++++++++++++++++++++--------
 drivers/mfd/intel-lpss.c     |  9 ++++++++-
 drivers/mfd/intel-lpss.h     | 14 +++++++++++++-
 3 files changed, 41 insertions(+), 10 deletions(-)

-- 
2.40.1


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

end of thread, other threads:[~2024-01-26  9:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-21 18:51 [PATCH v4 0/2] Fix LPSS clock divider for XPS 9530 Aleksandrs Vinarskis
2023-12-21 18:51 ` [PATCH v4 1/2] mfd: intel-lpss: Switch to generalized quirk table Aleksandrs Vinarskis
2024-01-11 10:14   ` Lee Jones
2024-01-11 10:14     ` Lee Jones
2023-12-21 18:51 ` [PATCH v4 2/2] mfd: intel-lpss: Introduce QUIRK_CLOCK_DIVIDER_UNITY for XPS 9530 Aleksandrs Vinarskis
2023-12-21 20:12 ` [PATCH v4 0/2] Fix LPSS clock divider " Andy Shevchenko
2024-01-11 10:15 ` Lee Jones
     [not found]   ` <CAMcHhXrZvw3QGuoHk+fBaetpPfpTqWa3hrfkENtFuggOZ7UHSQ@mail.gmail.com>
2024-01-26  9:03     ` Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox