[lkml]   [2021]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[RFC PATCH 0/3] mwifiex: Add quirks for MS Surface devices

This series is based on the patches from Tsuchiya Yuto which have been
submitted previously already, where it was suggested to cc linux-pci and
Bjorn to ask if there's a better way of doing those quirks.

Original series sent in by Tsuchiya:

Here's the summary written by Tsuchiya:

This series adds firmware reset quirks for Microsoft Surface devices
(PCIe-88W8897). Surface devices somehow requires quirks to reset the
firmware. Otherwise, current mwifiex driver can reset only software level.
This is not enough to recover from a bad state.

To do so, in the first patch, I added a DMI-based quirk implementation
for Surface devices that use mwifiex chip.

The required quirk is different by generation. Surface gen3 devices
(Surface 3 and Surface Pro 3) require a quirk that calls _DSM method
(the third patch).
Note that Surface Pro 3 is not yet supported because of the difference
between Surface 3. On Surface 3, the wifi card will be immediately
removed/reprobed after the _DSM call. On the other hand, Surface Pro 3
doesn't. Need to remove/reprobe wifi card ourselves. This behavior makes
the support difficult.

Surface gen4+ devices (Surface Pro 4 and later) require a quirk that
puts wifi into D3cold before FLR.

While here, created new files for quirks (mwifiex/pcie_quirks.c and
mwifiex/pcie_quirks.h) because the changes are a little bit too big to
add into pcie.c.

Jonas Dreßler (1):
mwifiex: pcie: add DMI-based quirk implementation for Surface devices

Tsuchiya Yuto (2):
mwifiex: pcie: add reset_d3cold quirk for Surface gen4+ devices
mwifiex: pcie: add reset_wsid quirk for Surface 3

drivers/net/wireless/marvell/mwifiex/Makefile | 1 +
drivers/net/wireless/marvell/mwifiex/pcie.c | 21 ++
drivers/net/wireless/marvell/mwifiex/pcie.h | 1 +
.../wireless/marvell/mwifiex/pcie_quirks.c | 246 ++++++++++++++++++
.../wireless/marvell/mwifiex/pcie_quirks.h | 17 ++
5 files changed, 286 insertions(+)
create mode 100644 drivers/net/wireless/marvell/mwifiex/pcie_quirks.c
create mode 100644 drivers/net/wireless/marvell/mwifiex/pcie_quirks.h


 \ /
  Last update: 2021-05-22 15:21    [W:0.136 / U:0.680 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site