On Fri, Feb 23, 2024 at 05:35:42PM +0100, Niklas Schnelle wrote: > On Fri, 2024-02-23 at 08:58 -0400, Jason Gunthorpe wrote: > > On Fri, Feb 23, 2024 at 12:38:18PM +0100, Niklas Schnelle wrote: > > > > Although I doubt that generating long TLP from byte writes is > > > > really necessary. > > > > > > I might have gotten confused but I think these are not byte writes. > > > Remember that the count is in terms of the number of bits sized > > > quantities to copy so "count == 1" is 4/8 bytes here. > > > > Right. > > > > There seem to be two callers of this API in the kernel, one is calling > > with a constant size and wants a large TLP > > > > Another seems to want memcpy_to_io with a guarenteed 32/64 bit store. > > I don't really understand how that works together with the order not > being guaranteed. Do they use normal ioremap() and then require 32/64 > bit TLPs and don't care about the order? Yes, I assume so. From my impression the cases looked like they were copying to MMIO memory so order probably doesn't matter. Jason