Re: [PATCH 2/2] Bluetooth: btqca: Add AR3002 rampatch support

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

 



Hi Loic,

On 2018-04-25 19:07, Loic Poulain wrote:
Hi Balakrishna,

On 25 April 2018 at 14:16,  <bgodavar@xxxxxxxxxxxxxx> wrote:

Thank you for adding me to loop, is the header size of RAM patch file
remains same for ROME < 3.2 and ROME >= 3.2, what about the header format, do we have same header format for different ROME versions, even mismatch of header will not break any execution, but it may show wrong data in kernel
logs.

Yes, at least in my case, we just use byte 7 which was previously 'reserved':

 struct edl_event_hdr {
@@ -94,7 +102,8 @@ struct tlv_type_patch {
        __le32 data_length;
        __u8   format_version;
        __u8   signature;
-       __le16 reserved1;
+       __u8   download_mode;
+       __u8   reserved1;
        __le16 product_id;
        __le16 rom_build;
        __le16 patch_version;

Regards,
Loic

A small suggestion from my side, suppose in near future ROME <v3.2 wanted to go with new format i.e. acknowledging for last segment of RAM patch.
then checking rom_build field may not work.
i.e.
if (le16_to_cpu(tlv_patch->rom_build) >= 0x0302)
config->dnld_mode = tlv_patch->download_mode;

i suggest you to check the byte download_mode directly and decide to wait for ACK from SoC, for every RAM patch segment sent. i think byte download_mode is explicitly for mode of downloading the patch i.e. with ACK or NACK. (pls double confirm about this byte).

This is how we are doing for wcn3990 (in Add support wcn3990 patch).

Regards
Balakrishna.
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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