ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] | https://libera.irclog.whitequark.org/armlinux
prabhakalad has quit [Ping timeout: 244 seconds]
horsegoosemeth has joined #armlinux
horsegoosemeth has quit [Remote host closed the connection]
horsegoosemeth has joined #armlinux
horsegoosemeth has quit [Max SendQ exceeded]
apritzel has quit [Ping timeout: 244 seconds]
PeterChen has joined #armlinux
thelounge2823 has joined #armlinux
npcomp has quit [Ping timeout: 272 seconds]
jclsn has quit [Ping timeout: 272 seconds]
jclsn has joined #armlinux
npcomp has joined #armlinux
prabhakalad has joined #armlinux
LeSpocky has quit [Ping timeout: 265 seconds]
LeSpocky has joined #armlinux
qubuepe24 has joined #armlinux
rvalue has quit [Ping timeout: 252 seconds]
rvalue- has joined #armlinux
qubuepe24 has quit [Quit: Leaving]
rvalue- is now known as rvalue
System_Error has quit [Ping timeout: 264 seconds]
System_Error has joined #armlinux
siak has joined #armlinux
System_Error has quit [Remote host closed the connection]
System_Error has joined #armlinux
mvaittin has joined #armlinux
horsegoosemeth has joined #armlinux
horsegoosemeth has quit [Max SendQ exceeded]
horsegoosemeth has joined #armlinux
frieder has joined #armlinux
horsegoosemeth has quit [Quit: Leaving]
monstr has joined #armlinux
monstr has quit [Ping timeout: 252 seconds]
horsegoosemeth has joined #armlinux
xvmt has joined #armlinux
gclement has joined #armlinux
MyNetAz has quit [Remote host closed the connection]
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #armlinux
mvaittin has quit [Ping timeout: 248 seconds]
System_Error has quit [Ping timeout: 264 seconds]
System_Error has joined #armlinux
<arnd>
broonie: I was looking at the users of kmalloc(..., GFP_DMA), which is fairly rare throughout the kernel, and I noticed that it's somewhat inconsistent in SPI drivers. Are there any rules about whether an spi driver should use GFP_DMA on platforms where the SPI master cannot access all kernel memory through DMA?
<arnd>
I see that on arm64, dma_map_* sets up swiotlb when ZONE_DMA/ZONE_DMA32 is smaller than the available memory, but on arm32 the swiotlb is set up with the lowmem limit even if that is larger than the DMA zone
gclement has quit [Ping timeout: 244 seconds]
<broonie>
arnd: I don't think it's ever been consistent as long as I've maintained spi.
<broonie>
It's basically just whatever works for the driver on the platforms it will be used on which isn't really an answer.
<arnd>
ok, I see
<robmur01>
FWIW a lot of that is likely to be better off being dma_alloc_pages() these days
<broonie>
Assuming you know you want to DMA it at the time you're allocating the buffer which is a bunch more work sadly :/
<robmur01>
and as for rockchip-sfc and possibly au1550's abuse of virt_to_phys(), I wish I hadn't looked... :(
<broonie>
rockchip I guess probably should use dma_alloc_pages() since that's definitively for DMA.
<arnd>
You also need to know which device is going to be the DMA master, and that is rather hard by definition. I would expect USB to have the same problem, but I don't see only one USB driver using GFP_DMA, and I haven't found any code in drivers/usb/ that does the generic bounce buffer handling
<arnd>
there are more files that use it with alloc_pages or dma_alloc_*, what I was trying to figure out here is whether we can avoid creating all the duplicate slab caches
<arnd>
some drivers like drivers/net/wireless/broadcom/b43 have a weird restriction (30 bit addressing in this case) and work around that using GFP_DMA, but many others look like they do it by accident, either copying from bad code, or misunderstanding the purpose of GFP_DMA
gclement has joined #armlinux
<arnd>
and there is a fairly short list of platforms that actually use a ZONE_DMA limit smaller than ZONE_NORMAL but not a matching SWIOTLB: x86-32, alpha, m68k, arm32-bcm2711, arm32-sa1100, arm32-realview, mips-jazz, mips-malta, mips-sni, and powerpc32-mac
mripard has quit [Quit: WeeChat 4.5.1]
nsaenz has quit [Ping timeout: 265 seconds]
siak has quit [Ping timeout: 252 seconds]
siak has joined #armlinux
frieder has quit [Remote host closed the connection]
headless has joined #armlinux
nsaenz has joined #armlinux
siak has quit [Remote host closed the connection]
siak has joined #armlinux
headless has quit [Quit: Konversation terminated!]