Thread (1 message) 1 message, 1 author, 2021-12-22

Re: [PATCH] mt76: sdio: lock sdio when it is needed

From: <sean.wang@mediatek.com>
Date: 2021-12-22 19:27:38
Also in: linux-wireless

Possibly related (same subject, not in this thread)

From: Sean Wang <sean.wang@mediatek.com>
quoted
From: Sean Wang <sean.wang@mediatek.com>

Acquire the SDIO as needed as possible because either MT7663S or
MT7921S is a multiple-function device that always includes Bluetooth
that would share with the same SDIO bus. So not to avoid breaking
Bluetooth pairing, audio, and HID such kind of time critical
application on that, we only lock sdio bus when it is necessary in WiFi driver.

Signed-off-by: Sean Wang <sean.wang@mediatek.com>
---
 drivers/net/wireless/mediatek/mt76/mt7615/sdio.c | 3 +++
drivers/net/wireless/mediatek/mt76/mt7921/sdio.c | 3 +++
 drivers/net/wireless/mediatek/mt76/sdio_txrx.c   | 8 ++++++++
 3 files changed, 14 insertions(+)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/sdio.c
b/drivers/net/wireless/mediatek/mt76/mt7615/sdio.c
index 31c4a76b7f91..71162befdae8 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7615/sdio.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/sdio.c
@@ -56,7 +56,10 @@ static int mt7663s_parse_intr(struct mt76_dev *dev, struct mt76s_intr *intr)
struct mt7663s_intr *irq_data = sdio->intr_data;
int i, err;

+	sdio_claim_host(sdio->func);
err = sdio_readsb(sdio->func, irq_data, MCR_WHISR,
sizeof(*irq_data));
+	sdio_release_host(sdio->func);
I guess you can move this in mt76s_rx_handler() and remove the duplicated code in mt7921_sdio.c
I got your point, but I still prefer we can release sdio lock as early as possible when WiFi driver doesn't need it
to allow BT driver has the chance to get the lock quickly.
Regards,
Lorenzo
quoted
+
if (err)
	return err;
<snip>

_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help