RE: [PATCH 1/1] qlcnic: add wmb() call in transmit data path.
From: Sony Chacko <hidden>
Date: 2016-07-01 01:12:51
From: Sony Chacko <hidden>
Date: 2016-07-01 01:12:51
Subject: Re: [PATCH 1/1] qlcnic: add wmb() call in transmit data path.
quoted
+ /* Ensure writes are complete before HW fetches Tx descriptors */ + wmb(); qlcnic_update_cmd_producer(tx_ring); return NETDEV_TX_OK;Would not an mmiowb be more appropriate in this case? Regards, Lino
Sorry, this was nonsense.This should be "dma_wmb" not "mmiowb". Lino, The patch is based on this kernel documentation. https://www.kernel.org/doc/Documentation/memory-barriers.txt /* force memory to sync before notifying device via MMIO */ wmb(); /* notify device of new descriptors */ writel(DESC_NOTIFY, doorbell); } The wmb() is needed to guarantee that the cache coherent memory writes have completed before attempting a write to the cache incoherent MMIO region. Thanks, Sony