[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CY1PR11MB08870104F21B3345D1C6301C82240@CY1PR11MB0887.namprd11.prod.outlook.com>
Date: Thu, 30 Jun 2016 18:48:25 +0000
From: Sony Chacko <sony.chacko@...gic.com>
To: Lino Sanfilippo <lsanfil@...vell.com>,
David Miller <davem@...emloft.net>
CC: netdev <netdev@...r.kernel.org>,
Dept-NX Linux NIC Driver
<Dept_NX_Linux_NIC_Driver@...gic.com>
Subject: RE: [PATCH 1/1] qlcnic: add wmb() call in transmit data path.
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
Powered by blists - more mailing lists