* Re: [PATCH 1/2] Bluetooth: btusb: Support public address configuration for MediaTek Chip. [not found] <20210824154430.27689-1-mark-yw.chen@mediatek.com> @ 2021-08-30 15:03 ` Marcel Holtmann 2021-08-31 9:42 ` Mark-YW Chen (陳揚文) [not found] ` <20210824154430.27689-2-mark-yw.chen@mediatek.com> 1 sibling, 1 reply; 4+ messages in thread From: Marcel Holtmann @ 2021-08-30 15:03 UTC (permalink / raw) To: "Mark-YW Chen (陳揚文)" Cc: Johan Hedberg, sean.wang, linux-bluetooth, linux-mediatek, linux-kernel, michaelfsun, mcchou Hi Mark, > The MediaTek chip support vendor specific HCI command(0xfc1a) to > change the public address. Add hdev->set_bdaddr handler for MediaTek > Chip. > > Signed-off-by: mark-yw.chen <mark-yw.chen@mediatek.com> > --- > drivers/bluetooth/btusb.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 60d2fce59a71..41e7c9f28d82 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -2200,6 +2200,23 @@ struct btmtk_section_map { > }; > } __packed; > > +static int btusb_set_bdaddr_mtk(struct hci_dev *hdev, const bdaddr_t *bdaddr) > +{ > + struct sk_buff *skb; > + long ret; > + > + skb = __hci_cmd_sync(hdev, 0xfc1a, sizeof(bdaddr), bdaddr, HCI_INIT_TIMEOUT); > + if (IS_ERR(skb)) { > + ret = PTR_ERR(skb); > + bt_dev_err(hdev, "changing Mediatek device address failed (%ld)", > + ret); > + return ret; > + } > + kfree_skb(skb); > + > + return 0; > +} > + this is not a permanent change, correct? Meaning a power cycle will bring back the original BD_ADDR? Regards Marcel ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH 1/2] Bluetooth: btusb: Support public address configuration for MediaTek Chip. 2021-08-30 15:03 ` [PATCH 1/2] Bluetooth: btusb: Support public address configuration for MediaTek Chip Marcel Holtmann @ 2021-08-31 9:42 ` Mark-YW Chen (陳揚文) 2021-08-31 12:31 ` Marcel Holtmann 0 siblings, 1 reply; 4+ messages in thread From: Mark-YW Chen (陳揚文) @ 2021-08-31 9:42 UTC (permalink / raw) To: Marcel Holtmann Cc: Johan Hedberg, Sean Wang, linux-bluetooth, linux-mediatek, linux-kernel, michaelfsun, mcchou Hi Marcel, > > The MediaTek chip support vendor specific HCI command(0xfc1a) to > > change the public address. Add hdev->set_bdaddr handler for MediaTek > > Chip. > > > > Signed-off-by: mark-yw.chen <mark-yw.chen@mediatek.com> > > --- > > drivers/bluetooth/btusb.c | 18 ++++++++++++++++++ > > 1 file changed, 18 insertions(+) > > > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > > index 60d2fce59a71..41e7c9f28d82 100644 > > --- a/drivers/bluetooth/btusb.c > > +++ b/drivers/bluetooth/btusb.c > > @@ -2200,6 +2200,23 @@ struct btmtk_section_map { > > }; > > } __packed; > > > > +static int btusb_set_bdaddr_mtk(struct hci_dev *hdev, const bdaddr_t > > +*bdaddr) { > > + struct sk_buff *skb; > > + long ret; > > + > > + skb = __hci_cmd_sync(hdev, 0xfc1a, sizeof(bdaddr), bdaddr, > HCI_INIT_TIMEOUT); > > + if (IS_ERR(skb)) { > > + ret = PTR_ERR(skb); > > + bt_dev_err(hdev, "changing Mediatek device address failed > (%ld)", > > + ret); > > + return ret; > > + } > > + kfree_skb(skb); > > + > > + return 0; > > +} > > + > > this is not a permanent change, correct? Meaning a power cycle will bring back > the original BD_ADDR? > Yes, it's not a permanent change. After doing a power cycle or Mediatek specific Bluetooth reset, Mediatek Chips will bring back the original BD_ADDRESS. With best regards, Mark ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] Bluetooth: btusb: Support public address configuration for MediaTek Chip. 2021-08-31 9:42 ` Mark-YW Chen (陳揚文) @ 2021-08-31 12:31 ` Marcel Holtmann 0 siblings, 0 replies; 4+ messages in thread From: Marcel Holtmann @ 2021-08-31 12:31 UTC (permalink / raw) To: "Mark-YW Chen (陳揚文)" Cc: Johan Hedberg, Sean Wang, linux-bluetooth, linux-mediatek, linux-kernel, michaelfsun, mcchou Hi Mark, >>> The MediaTek chip support vendor specific HCI command(0xfc1a) to >>> change the public address. Add hdev->set_bdaddr handler for MediaTek >>> Chip. >>> >>> Signed-off-by: mark-yw.chen <mark-yw.chen@mediatek.com> >>> --- >>> drivers/bluetooth/btusb.c | 18 ++++++++++++++++++ >>> 1 file changed, 18 insertions(+) >>> >>> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c >>> index 60d2fce59a71..41e7c9f28d82 100644 >>> --- a/drivers/bluetooth/btusb.c >>> +++ b/drivers/bluetooth/btusb.c >>> @@ -2200,6 +2200,23 @@ struct btmtk_section_map { >>> }; >>> } __packed; >>> >>> +static int btusb_set_bdaddr_mtk(struct hci_dev *hdev, const bdaddr_t >>> +*bdaddr) { >>> + struct sk_buff *skb; >>> + long ret; >>> + >>> + skb = __hci_cmd_sync(hdev, 0xfc1a, sizeof(bdaddr), bdaddr, >> HCI_INIT_TIMEOUT); >>> + if (IS_ERR(skb)) { >>> + ret = PTR_ERR(skb); >>> + bt_dev_err(hdev, "changing Mediatek device address failed >> (%ld)", >>> + ret); >>> + return ret; >>> + } >>> + kfree_skb(skb); >>> + >>> + return 0; >>> +} >>> + >> >> this is not a permanent change, correct? Meaning a power cycle will bring back >> the original BD_ADDR? >> > > Yes, it's not a permanent change. > After doing a power cycle or Mediatek specific Bluetooth reset, Mediatek Chips will bring back the original BD_ADDRESS. ok, good. Then please re-submit against latest bluetooth-next tree. Unfortunately current patch doesn’t apply anymore. Regards Marcel ^ permalink raw reply [flat|nested] 4+ messages in thread
[parent not found: <20210824154430.27689-2-mark-yw.chen@mediatek.com>]
* Re: [PATCH 2/2] Bluetooth: btusb: Add protocol for MediaTek bluetooth devices(MT7922) [not found] ` <20210824154430.27689-2-mark-yw.chen@mediatek.com> @ 2021-08-30 15:04 ` Marcel Holtmann 0 siblings, 0 replies; 4+ messages in thread From: Marcel Holtmann @ 2021-08-30 15:04 UTC (permalink / raw) To: "Mark-YW Chen (陳揚文)" Cc: Johan Hedberg, sean.wang, linux-bluetooth, linux-mediatek, linux-kernel, michaelfsun, mcchou Hi Mark, > The information in /sys/kernel/debug/usb/devices about the MT7922U > Bluetooth device is listed as the below. > > T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 18 Spd=480 MxCh= 0 > D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 > P: Vendor=0e8d ProdID=7922 Rev= 1.00 > S: Manufacturer=MediaTek Inc. > S: Product=Wireless_Device > S: SerialNumber=000000000 > C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=100mA > A: FirstIf#= 0 IfCount= 3 Cls=e0(wlcon) Sub=01 Prot=01 > I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=125us > E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms > E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms > I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms > I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms > I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms > I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms > I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms > I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms > I: If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb > E: Ad=83(I) Atr=01(Isoc) MxPS= 63 Ivl=1ms > E: Ad=03(O) Atr=01(Isoc) MxPS= 63 Ivl=1ms > I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none) > E: Ad=8a(I) Atr=03(Int.) MxPS= 64 Ivl=125us > E: Ad=0a(O) Atr=03(Int.) MxPS= 64 Ivl=125us > I: If#= 2 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none) > E: Ad=8a(I) Atr=03(Int.) MxPS= 512 Ivl=125us > E: Ad=0a(O) Atr=03(Int.) MxPS= 512 Ivl=125us > > Signed-off-by: mark-yw.chen <mark-yw.chen@mediatek.com> > --- > drivers/bluetooth/btusb.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c > index 41e7c9f28d82..fe52f7b9548e 100644 > --- a/drivers/bluetooth/btusb.c > +++ b/drivers/bluetooth/btusb.c > @@ -2821,6 +2821,8 @@ static int btusb_mtk_setup(struct hci_dev *hdev) > case 0x7668: > fwname = FIRMWARE_MT7668; > break; > + case 0x7922: > + fallthrough; The fallthrough is not needed. Multiple case labels in a row are fine. Regards Marcel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-08-31 12:31 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20210824154430.27689-1-mark-yw.chen@mediatek.com> 2021-08-30 15:03 ` [PATCH 1/2] Bluetooth: btusb: Support public address configuration for MediaTek Chip Marcel Holtmann 2021-08-31 9:42 ` Mark-YW Chen (陳揚文) 2021-08-31 12:31 ` Marcel Holtmann [not found] ` <20210824154430.27689-2-mark-yw.chen@mediatek.com> 2021-08-30 15:04 ` [PATCH 2/2] Bluetooth: btusb: Add protocol for MediaTek bluetooth devices(MT7922) Marcel Holtmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).