Subject: Re: [PATCH 1/1] qlcnic: add wmb() call in transmit data path.

>
>> +    /* 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

Reply via email to