On Tue, Sep 03, 2024 at 07:46:42PM +0900, Takamitsu Iwai wrote:
> > Did the same sequence of read/writes happen before 0845d45e900c? Or
> > did 0845d45e900c add additional writes, not just move them around?
> 
> The sequence of read/writes happened before 0845d45e900c because the similar
> writel() exists in ew32() above the writel() moved by 0845d45e900c.
> 
> The commit 0845d45e900c moved writel() in e1000_clean_tx/rx_ring() to
> e1000_configure_tx/rx() to avoid null pointer dereference. But since the same
> writel() exists in e1000_configure_tx/rx(), we just needed to remove writel()
> from e1000_clean_rx/tx_ring().

So you have confirmed with the datsheet that the write is not needed?

As i said, this is a hardware register, not memory. Writes are not
always idempotent. It might be necessary to write it twice.

        Andrew

Reply via email to