Bluetooth: btusb: Apply Intel device configuration routine
PATCH 1/1 Bluetooth: btusb: Apply Intel device configuration routine
From: Tedd Ho-Jeong An <[email protected]>
This patch adds support to apply the device configuration parameters (DDC) after firwmare downloading on Intel 8265 device.
This is optional configuration parameters and good to have. So, even if it fails to apply it, it is not necessary to fail the setup.
The file format is same as previous firmware patch (.bseq) and this is only applicable to Intel 8265 device.
--- drivers/bluetooth/btusb.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)
drivers/bluetooth/btusb.c +34 -0
@@ -2644,6 +2644,40 @@ done:clear_bit (BTUSB_BOOTLOADER , &data->flags); +/* Once the device is running in operational mode, it needs to apply +* the configuration parameters to the device. +*/ +snprintf (fwname,sizeof (fwname),"intel/ibt-11.bseq" ); + +/* Device can work without this configuration so even if it fails +* to load the file, no need to fail the setup +*/ + err =request_firmware_direct (&fw, fwname, &hdev->dev); +if (err <0 ) { +BT_INFO ("%s: WARNING: unable to load configuration file (%d)" , + hdev->name, err); +return 0 ; + } + +BT_INFO ("%s: Found device configuration file: %s" , hdev->name, fwname); + + fw_ptr = fw->data; +while (fw->size > fw_ptr - fw->data) { +int ignore; + + err =btusb_setup_intel_patching (hdev, fw, &fw_ptr, + &ignore); +if (err <0 ) { +BT_INFO ("%s: WARNING: failed to send configuration(%d)" , + hdev->name, err); +release_firmware (fw); +return 0 ; + } + } +release_firmware (fw); + +BT_INFO ("%s: Device configuration completed" , hdev->name); +return 0 ; }
Signature · 1 line
2.1.0
Hi Marcel,
I just wonder if you had a chance to review this pacth.
Let me know if you have any comments.
Regards,
Tedd
Quoted 62 lines · On Fri, 8 May 2015 03:59:46 -0700 Tedd Ho-Jeong An <[email protected]> wrote:
From: Tedd Ho-Jeong An <[email protected]>
This patch adds support to apply the device configuration parameters (DDC) after firwmare downloading on Intel 8265 device.
This is optional configuration parameters and good to have. So, even if it fails to apply it, it is not necessary to fail the setup.
The file format is same as previous firmware patch (.bseq) and this is only applicable to Intel 8265 device.
Signed-off-by Tedd Ho-Jeong An <[email protected]>--- drivers/bluetooth/btusb.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)drivers/bluetooth/btusb.c +34
-0@@ -2644,6 +2644,40 @@ done:clear_bit (BTUSB_BOOTLOADER , &data->flags); +/* Once the device is running in operational mode, it needs to apply +* the configuration parameters to the device. +*/ +snprintf (fwname,sizeof (fwname),"intel/ibt-11.bseq" ); + +/* Device can work without this configuration so even if it fails +* to load the file, no need to fail the setup +*/ + err =request_firmware_direct (&fw, fwname, &hdev->dev); +if (err <0 ) { +BT_INFO ("%s: WARNING: unable to load configuration file (%d)" , + hdev->name, err); +return 0 ; + } + +BT_INFO ("%s: Found device configuration file: %s" , hdev->name, fwname); + + fw_ptr = fw->data; +while (fw->size > fw_ptr - fw->data) { +int ignore; + + err =btusb_setup_intel_patching (hdev, fw, &fw_ptr, + &ignore); +if (err <0 ) { +BT_INFO ("%s: WARNING: failed to send configuration(%d)" , + hdev->name, err); +release_firmware (fw); +return 0 ; + } + } +release_firmware (fw); + +BT_INFO ("%s: Device configuration completed" , hdev->name); +return 0 ; }
Marcel Holtmann
maintainerHi Tedd,
Quoted 9 lines
This patch adds support to apply the device configuration parameters (DDC) after firwmare downloading on Intel 8265 device.
This is optional configuration parameters and good to have. So, even if it fails to apply it, it is not necessary to fail the setup.
The file format is same as previous firmware patch (.bseq) and this is only applicable to Intel 8265 device.
my preference is actually to not use *.bseq files since they are generic HCI commands. We want to use a new *.ddc file format that just contains the parameters. I clearly prefer that over just sending HCI commands. What we have to do is to actually define a simple DDC file format that lets us include the key/param pairs.
Regards
Marcel
Hi Marcel,
Quoted 5 lines · On Tue, 12 May 2015 17:05:21 +0200 Marcel Holtmann <[email protected]> wrote:
Hi Tedd,
Quoted 3 lines
This patch adds support to apply the device configuration parameters (DDC) after firwmare downloading on Intel 8265 device.
Quoted 9 lines
Quoted 6 lines
This is optional configuration parameters and good to have. So, even if it fails to apply it, it is not necessary to fail the setup.
The file format is same as previous firmware patch (.bseq) and this is only applicable to Intel 8265 device.
my preference is actually to not use *.bseq files since they are generic HCI commands. We want to use a new *.ddc file format that just contains the parameters. I clearly prefer that over just sending HCI commands. What we have to do is to actually define a simple DDC file format that lets us include the key/param pairs.
HCI command in .bseq is pretty simple to decode so extracting DDC contents (key/parmas) will not be a problem.
For DDC file, I think the simplest is [len] [key] [params] [len] [key] [params] ... in binary. So, the driver simpley read the full data and send with Intel_DDC_Write function.
Let me know if you have anything in your mind or any example in the other driver that I can refer.
Quoted 8 lines
Regards
Marcel
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html