[RFC/RFT 3/7] ath10k: replace send_head() with tx_sg()

Kalle Valo kvalo at qca.qualcomm.com
Wed Feb 19 09:18:38 EST 2014


Michal Kazior <michal.kazior at tieto.com> writes:

> On 19 February 2014 13:48, Kalle Valo <kvalo at qca.qualcomm.com> wrote:
>> Michal Kazior <michal.kazior at tieto.com> writes:
>>
>>> +struct ath10k_hif_sg_item {
>>> +     u16 transfer_id;
>>> +     void *transfer_context;
>>> +     void *vaddr; /* for debugging mostly */
>>> +     u32 paddr;
>>> +     u16 len;
>>> +};
>>
>> This is the part I don't like. Instead of adding our own structs we
>> instead should have everything in skb->cb and pass the skbs around. The
>> sad part was that last fall I was working on cleaning up that but never
>> found the time to finish it :(
>
> There's simply not enough room to keep it all in ath10k_skb_cb
> directly.

After my cleanups transfer_context was not used and when using sk_buffs
properly vaddr and len would be useless. So we would have only transfer
id and paddr left. And when I was working on this they did fit to cb.

> It doesn't really make any sense to keep it there anyway because
> sg_item is used as means to pass a complex function argument to
> sg_tx(). 

If we used skbs we would just give a list/queue of them and no need to
have any extra structs.

> The sg_item list is never used again.

Ok, that's better. At least then it's later easier to convert to proper
skbs.

-- 
Kalle Valo



More information about the ath10k mailing list