Re: [PATCH v2 1/4] net: ethernet: ti: am65-cpsw: Fix set channel operation

From: Roger Quadros
Date: Tue Nov 22 2022 - 12:31:37 EST




On 22/11/2022 02:58, Andrew Lunn wrote:
> On Mon, Nov 21, 2022 at 04:22:57PM +0200, Roger Quadros wrote:
>> The set channel operation "ethtool -L tx <n>" broke with
>> the recent suspend/resume changes.
>>
>> Revert back to original driver behaviour of not freeing
>> the TX/RX IRQs at am65_cpsw_nuss_common_stop(). We will
>> now free them only on .suspend() as we need to release
>> the DMA channels (as DMA looses context) and re-acquiring
>> them on .resume() may not necessarily give us the same
>> IRQs.
>>
>> Introduce am65_cpsw_nuss_remove_rx_chns() which is similar
>> to am65_cpsw_nuss_remove_tx_chns() and invoke them both in
>> .suspend().
>>
>> At .resume() call am65_cpsw_nuss_init_rx/tx_chns() to
>> acquire the DMA channels.
>>
>> To as IRQs need to be requested after knowing the IRQ
>> numbers, move am65_cpsw_nuss_ndev_add_tx_napi() call to
>> am65_cpsw_nuss_init_tx_chns().
>
> It is probably easier to review if you first do a revert and then add
> the new code to make suspend/resume work.

Thanks! This will make it much easier to review.

>
> Andrew

cheers,
-roger