Re: [PATCH] Bluetooth: btusb: Add support for Intel bluetooth device 8087:0029

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Raghuram,

> Include the new USB product ID for Intel Bluetooth device 22260
> family (CcPeak)
> 
> The /sys/kernel/debug/usb/devices portion for this device is:
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=02 Cnt=02 Dev#=  2 Spd=12   MxCh= 0
> D:  Ver= 2.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
> P:  Vendor=8087 ProdID=0029 Rev= 0.01
> C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
> I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
> E:  Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
> E:  Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
> E:  Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
> E:  Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
> E:  Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
> E:  Ad=83(I) 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=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
> E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
> 
> Signed-off-by: Raghuram Hegde <raghuram.hegde@xxxxxxxxx>
> Signed-off-by: Chethan T N <chethan.tumkur.narayan@xxxxxxxxx>
> ---
> drivers/bluetooth/btusb.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index 7439a7eb50ac..1cd54e9228d3 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -342,6 +342,7 @@ static const struct usb_device_id blacklist_table[] = {
> 	{ USB_DEVICE(0x1286, 0x204e), .driver_info = BTUSB_MARVELL },
> 
> 	/* Intel Bluetooth devices */
> +	{ USB_DEVICE(0x8087, 0x0029), .driver_info = BTUSB_INTEL_NEW },
> 	{ USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_NEW },
> 	{ USB_DEVICE(0x8087, 0x0026), .driver_info = BTUSB_INTEL_NEW },
> 	{ USB_DEVICE(0x8087, 0x07da), .driver_info = BTUSB_CSR },

lets keep this ordered. 0x0029 comes after 0x0026.

> @@ -2106,7 +2107,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
> 	case 0x11:	/* JfP */
> 	case 0x12:	/* ThP */
> 	case 0x13:	/* HrP */
> -	case 0x14:	/* QnJ, IcP */
> +	case 0x14:	/* CcP */

This makes no sense to me. What is happening to QnJ and IcP?

> 		break;
> 	default:
> 		bt_dev_err(hdev, "Unsupported Intel hardware variant (%u)",
> @@ -2200,7 +2201,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
> 	case 0x11:	/* JfP */
> 	case 0x12:	/* ThP */
> 	case 0x13:	/* HrP */
> -	case 0x14:	/* QnJ, IcP */
> +	case 0x14:	/* CcP */
> 		snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u-%u.sfi",
> 			 le16_to_cpu(ver.hw_variant),
> 			 le16_to_cpu(ver.hw_revision),
> @@ -2232,7 +2233,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
> 	case 0x11:	/* JfP */
> 	case 0x12:	/* ThP */
> 	case 0x13:	/* HrP */
> -	case 0x14:	/* QnJ, IcP */
> +	case 0x14:	/* CcP */
> 		snprintf(fwname, sizeof(fwname), "intel/ibt-%u-%u-%u.ddc",
> 			 le16_to_cpu(ver.hw_variant),
> 			 le16_to_cpu(ver.hw_revision),

This really needs to be turned into a helper to get .sfi and .ddc file names so that in the future we only have to add the new once.

Regards

Marcel




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux