mbox series

[v2,00/10] Add MT7921 SDIO Bluetooth support

Message ID cover.1634592181.git.objelf@gmail.com (mailing list archive)
Headers show
Series Add MT7921 SDIO Bluetooth support | expand

Message

Sean Wang Oct. 18, 2021, 9:30 p.m. UTC
From: Sean Wang <objelf@gmail.com>

The patchset adds the MT7921 SDIO (MT7921S) Blutooth support to btmtksdio
driver, which basically are made up of 3 parts.

PART 1: patch 1-3 to create btmtk module to rely on

These are preliminary patches for MT7921s driver to move the common
firmware download procedure and the common functions from MT7921u to btmtk
module to make MT7921u, MT7921s and other devices can share with to reduce
the unnecessary duplicated code being created.

PART 2: patch 4-8 to refactor btmtksdio prior to adding mt7921s

These are preliminary patches for MT7921s driver to refactor the current
btmtksdio to make MT7921S is able to coexist with the devices the current
driver can support with the generic code and improve the performance on
packet transmitting and receving process.

PART 3: patch 9-10 to add specific mt7921s logic

Add the specific logic regarding to mt7921s bluetooth.

The changelog from v1 to v2:
- fix the test failure reported from bluez test bot
- fix the test warning reported from kernel test robot
- rebase onto the up-to-date bluetooth-next/master 
- fix the typo from mt7961_data to mt7921_data
- improve the function btsdio_mtk_reg_read with dropping the hard coding

Mark-yw Chen (1):
  Bluetooth: btmtksdio: transmit packet according to status TX_EMPTY

Sean Wang (9):
  Bluetooth: mediatek: add BT_MTK module
  Bluetooth: btmtksido: rely on BT_MTK module
  Bluetooth: btmtksdio: add .set_bdaddr support
  Bluetooth: btmtksdio: explicitly set WHISR as write-1-clear
  Bluetooth: btmtksdio: move interrupt service to work
  Bluetooth: btmtksdio: update register CSDIOCSR operation
  Bluetooth: btmtksdio: use register CRPLR to read packet length
  mmc: add MT7921 SDIO identifiers for MediaTek Bluetooth devices
  Bluetooth: btmtksdio: add MT7921s Bluetooth support

 drivers/bluetooth/Kconfig     |   6 +
 drivers/bluetooth/Makefile    |   1 +
 drivers/bluetooth/btmtk.c     | 289 ++++++++++++++++++++
 drivers/bluetooth/btmtk.h     | 111 ++++++++
 drivers/bluetooth/btmtksdio.c | 496 +++++++++++++++++-----------------
 drivers/bluetooth/btusb.c     | 331 +----------------------
 include/linux/mmc/sdio_ids.h  |   1 +
 7 files changed, 658 insertions(+), 577 deletions(-)
 create mode 100644 drivers/bluetooth/btmtk.c
 create mode 100644 drivers/bluetooth/btmtk.h

Comments

Marcel Holtmann Oct. 25, 2021, 1:37 p.m. UTC | #1
Hi Sean,

> The patchset adds the MT7921 SDIO (MT7921S) Blutooth support to btmtksdio
> driver, which basically are made up of 3 parts.
> 
> PART 1: patch 1-3 to create btmtk module to rely on
> 
> These are preliminary patches for MT7921s driver to move the common
> firmware download procedure and the common functions from MT7921u to btmtk
> module to make MT7921u, MT7921s and other devices can share with to reduce
> the unnecessary duplicated code being created.
> 
> PART 2: patch 4-8 to refactor btmtksdio prior to adding mt7921s
> 
> These are preliminary patches for MT7921s driver to refactor the current
> btmtksdio to make MT7921S is able to coexist with the devices the current
> driver can support with the generic code and improve the performance on
> packet transmitting and receving process.
> 
> PART 3: patch 9-10 to add specific mt7921s logic
> 
> Add the specific logic regarding to mt7921s bluetooth.
> 
> The changelog from v1 to v2:
> - fix the test failure reported from bluez test bot
> - fix the test warning reported from kernel test robot
> - rebase onto the up-to-date bluetooth-next/master 
> - fix the typo from mt7961_data to mt7921_data
> - improve the function btsdio_mtk_reg_read with dropping the hard coding
> 
> Mark-yw Chen (1):
>  Bluetooth: btmtksdio: transmit packet according to status TX_EMPTY
> 
> Sean Wang (9):
>  Bluetooth: mediatek: add BT_MTK module
>  Bluetooth: btmtksido: rely on BT_MTK module
>  Bluetooth: btmtksdio: add .set_bdaddr support
>  Bluetooth: btmtksdio: explicitly set WHISR as write-1-clear
>  Bluetooth: btmtksdio: move interrupt service to work
>  Bluetooth: btmtksdio: update register CSDIOCSR operation
>  Bluetooth: btmtksdio: use register CRPLR to read packet length
>  mmc: add MT7921 SDIO identifiers for MediaTek Bluetooth devices
>  Bluetooth: btmtksdio: add MT7921s Bluetooth support
> 
> drivers/bluetooth/Kconfig     |   6 +
> drivers/bluetooth/Makefile    |   1 +
> drivers/bluetooth/btmtk.c     | 289 ++++++++++++++++++++
> drivers/bluetooth/btmtk.h     | 111 ++++++++
> drivers/bluetooth/btmtksdio.c | 496 +++++++++++++++++-----------------
> drivers/bluetooth/btusb.c     | 331 +----------------------
> include/linux/mmc/sdio_ids.h  |   1 +
> 7 files changed, 658 insertions(+), 577 deletions(-)
> create mode 100644 drivers/bluetooth/btmtk.c
> create mode 100644 drivers/bluetooth/btmtk.h

all 10 patches have been applied to bluetooth-next tree.

Regards

Marcel