From: "An, Tedd" <tedd.an@intel.com>
To: Marcel Holtmann <marcel@holtmann.org>
Cc: "linux-bluetooth@vger.kernel.org"
<linux-bluetooth@vger.kernel.org>,
Johan Hedberg <johan.hedberg@gmail.com>
Subject: Re: [RFC v2 3/4] Bluetooth: Set file extension to SFI file for bootloader mode
Date: Wed, 10 Dec 2014 01:13:21 +0000 [thread overview]
Message-ID: <D0ACC2F7.4394%tedd.an@intel.com> (raw)
In-Reply-To: <0013894E-DDEA-4A97-8047-E2D4BC7AEDE1@holtmann.org>
Hi Marcel,
On 12/8/14, 9:47 PM, "Marcel Holtmann" <marcel@holtmann.org> wrote:
>Hi Tedd,
>
>> This patch sets extension for firmware file to SFI if the device mode
>> is bootloader.
>>=20
>> Signed-off-by: Tedd Ho-Jeong An <tedd.an@intel.com>
>> ---
>> drivers/bluetooth/btusb.c | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>=20
>> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
>> index b3ce85f..0c6eb333 100644
>> --- a/drivers/bluetooth/btusb.c
>> +++ b/drivers/bluetooth/btusb.c
>> @@ -1336,6 +1336,7 @@ struct intel_version {
>>=20
>> enum {
>> INTEL_FW_MODE_OP,
>> + INTEL_FW_MODE_BL,
>> };
>>=20
>> static const struct firmware *btusb_setup_intel_get_fw(struct hci_dev
>>*hdev,
>> @@ -1397,6 +1398,17 @@ static const struct firmware
>>*btusb_setup_intel_get_fw(struct hci_dev *hdev,
>> return NULL;
>> }
>> strncpy(ext, "bseq", 4);
>> + } else if (fw_mode =3D=3D INTEL_FW_MODE_BL) {
>> + /* If fw_variant is 0x23, the device is already running in
>> + * operational mode, so no need to download the firmware
>> + */
>> + if (ver->fw_variant =3D=3D 0x23) {
>> + BT_INFO("%s: Intel device is running in operation mode",
>> + hdev->name);
>> + btusb_check_bdaddr_intel(hdev);
>> + return NULL;
>> + }
>> + strncpy(ext, "sfi", 3);
>> } else {
>> BT_ERR("%s: Invalid Intel firmware type: %d",
>> hdev->name, fw_mode);
>
>I think you also want to skip looking for ROM patches. I know that in
>theory you can ROM patch the RAM firmware, but that seems a bit pointless
>here since the whole firmware has just been downloaded. So I would prefer
>if we only request the extra configuration based on the hw info. Or is
>there some reason to do it otherwise.
Actually we need to run ROM patching routine (using bseq) even after
running with RAM firmware, in order to update the device specific
configuration parameter (like BDDATA from 7260 and 7265). So we need to
separate here to distinguish between call from ROM patch flow and call
from RAM patch flow.
Regarding fw_variant, when the device is running on bootloader mode, it is
0x06 which needs to download the firmeware. If it is 0x23, it is running
with RAM firmware, so it can skip the firmware downloading.
>
>In addition, I think we want to build the firmware name solely based on
>the hw info from the device. Or does the fw information provide details
>about the bootloader version now. And we would need different firmware
>files depending on which bootloader version is running.
If we use the hw info only for firmware name, it cannot support multiple
SKUs from same product family, for example, new ROM spinned module after
releasing to customer like 7260.
If you concern about weird long firmware file name, we can do something
simpler but it needs something more than hw info.
>
>Regards
>
>Marcel
>
Regards,
Tedd
next prev parent reply other threads:[~2014-12-10 1:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-08 23:24 [RFC v2 3/4] Bluetooth: Set file extension to SFI file for bootloader mode Tedd Ho-Jeong An
2014-12-09 5:47 ` Marcel Holtmann
2014-12-10 1:13 ` An, Tedd [this message]
2014-12-10 11:25 ` Marcel Holtmann
2014-12-10 22:08 ` An, Tedd
2014-12-11 12:53 ` Marcel Holtmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D0ACC2F7.4394%tedd.an@intel.com \
--to=tedd.an@intel.com \
--cc=johan.hedberg@gmail.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=marcel@holtmann.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).