Re: [PATCH 12/50] wifi: ath12k: add dp.h

Kalle Valo
2022-10-21T11:45:39Z

Kalle Valo <kvalo@kernel.org> writes:

>>> +struct htt_srng_setup_cmd {
>>> + u32 info0;
>>> + u32 ring_base_addr_lo;
>>> + u32 ring_base_addr_hi;
>>> + u32 info1;
>>> + u32 ring_head_off32_remote_addr_lo;
>>> + u32 ring_head_off32_remote_addr_hi;
>>> + u32 ring_tail_off32_remote_addr_lo;
>>> + u32 ring_tail_off32_remote_addr_hi;
>>> + u32 ring_msi_addr_lo;
>>> + u32 ring_msi_addr_hi;
>>> + u32 msi_data;
>>> + u32 intr_info;
>>> + u32 info2;
>>> +} __packed;
>>> +
>>
>> Should they be '__le32' instead of 'u32'?
>>
>> This struct is used to fill data of ath12k_htc_send(), and the fields of
>> htc header are __le32:
>>
>> struct ath12k_htc_hdr {
>> __le32 htc_info;
>> __le32 ctrl_info;
>> } __packed __aligned(4);
>>
>> If above is correct, some struct(s) related to ath12k_htc_send() have
>> similar problems:
>> struct htt_ver_req_cmd
>> struct htt_ppdu_stats_cfg_cmd
>> struct htt_rx_ring_selection_cfg_cmd
>> struct htt_ext_stats_cfg_cmd
>> struct htt_tx_ring_selection_cfg_cmd (miss __packed)
>
> Good catch, we'll fix those and the missing __packed. Thanks for the review!

I fixed these in:

efc72b2aa34c wifi: ath12k: dp: convert htt cmd structs to __le32

--