diff mbox

[V2,09/10] ath10k: Add support for code swap

Message ID 87egku3gm8.fsf@kamboji.qca.qualcomm.com (mailing list archive)
State Not Applicable
Headers show

Commit Message

Kalle Valo June 29, 2015, 11:21 a.m. UTC
Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com> writes:

> Code swap is a mechanism to use host memory to store
> some fw binary code segment. Ath10k host driver allocates
> and loads the code swap binary into the host memory and
> configures the target with the host allocated memory
> information at the address taken from code swap binary.
> This patch adds code swap support for firmware binary.
> Code swap binary for firmware bin is available in
> ATH10K_FW_IE_FW_CODE_SWAP_IMAGE.
>
> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>

[...]

> +static struct ath10k_swap_code_seg_info *
> +ath10k_swap_code_seg_alloc(struct ath10k *ar, size_t swap_bin_len)
> +{
> +	struct ath10k_swap_code_seg_info *seg_info;
> +	void *virt_addr;
> +	dma_addr_t paddr;
> +
> +	swap_bin_len = roundup(swap_bin_len, 2);
> +	if (swap_bin_len > ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX) {
> +		ath10k_err(ar, "refusing code swap bin because it is too big %zd > %d\n",
> +			   swap_bin_len, ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX);

kbuild found a bug here, I fixed it with the patch below. Please review:

Comments

Vasanthakumar Thiagarajan June 29, 2015, 3:51 p.m. UTC | #1
On Monday 29 June 2015 04:51 PM, Kalle Valo wrote:
> Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com> writes:
>
>> Code swap is a mechanism to use host memory to store
>> some fw binary code segment. Ath10k host driver allocates
>> and loads the code swap binary into the host memory and
>> configures the target with the host allocated memory
>> information at the address taken from code swap binary.
>> This patch adds code swap support for firmware binary.
>> Code swap binary for firmware bin is available in
>> ATH10K_FW_IE_FW_CODE_SWAP_IMAGE.
>>
>> Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
>
> [...]
>
>> +static struct ath10k_swap_code_seg_info *
>> +ath10k_swap_code_seg_alloc(struct ath10k *ar, size_t swap_bin_len)
>> +{
>> +	struct ath10k_swap_code_seg_info *seg_info;
>> +	void *virt_addr;
>> +	dma_addr_t paddr;
>> +
>> +	swap_bin_len = roundup(swap_bin_len, 2);
>> +	if (swap_bin_len > ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX) {
>> +		ath10k_err(ar, "refusing code swap bin because it is too big %zd > %d\n",
>> +			   swap_bin_len, ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX);
>
> kbuild found a bug here, I fixed it with the patch below. Please review:
>
> --- a/drivers/net/wireless/ath/ath10k/swap.c
> +++ b/drivers/net/wireless/ath/ath10k/swap.c
> @@ -106,7 +106,7 @@ ath10k_swap_code_seg_alloc(struct ath10k *ar, size_t swap_bin_len)
>
>          swap_bin_len = roundup(swap_bin_len, 2);
>          if (swap_bin_len > ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX) {
> -               ath10k_err(ar, "refusing code swap bin because it is too big %zd > %d\n",
> +               ath10k_err(ar, "refusing code swap bin because it is too big %zu > %d\n",
>                             swap_bin_len, ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX);
>                  return NULL;
>          }

Looks good. Thanks.


Vasanth
diff mbox

Patch

--- a/drivers/net/wireless/ath/ath10k/swap.c
+++ b/drivers/net/wireless/ath/ath10k/swap.c
@@ -106,7 +106,7 @@  ath10k_swap_code_seg_alloc(struct ath10k *ar, size_t swap_bin_len)
 
        swap_bin_len = roundup(swap_bin_len, 2);
        if (swap_bin_len > ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX) {
-               ath10k_err(ar, "refusing code swap bin because it is too big %zd > %d\n",
+               ath10k_err(ar, "refusing code swap bin because it is too big %zu > %d\n",
                           swap_bin_len, ATH10K_SWAP_CODE_SEG_BIN_LEN_MAX);
                return NULL;
        }