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
Livio_ has joined #armlinux
Livio has quit [Ping timeout: 255 seconds]
rvalue has quit [Ping timeout: 260 seconds]
tiagom has quit [Ping timeout: 252 seconds]
rvalue has joined #armlinux
Livio_ has quit [Quit: leaving]
apritzel has quit [Ping timeout: 264 seconds]
jclsn has quit [Ping timeout: 268 seconds]
jclsn has joined #armlinux
heat has quit [Remote host closed the connection]
heat has joined #armlinux
heat has quit [Remote host closed the connection]
heat has joined #armlinux
heat has quit [Ping timeout: 264 seconds]
Danish_ has quit [Quit: Connection closed for inactivity]
tambarus has quit [Ping timeout: 260 seconds]
cbeznea has joined #armlinux
amitk has joined #armlinux
iivanov has joined #armlinux
tambarus has joined #armlinux
mvaittin has joined #armlinux
monstr has joined #armlinux
gclement has joined #armlinux
mvaittin has quit [Ping timeout: 240 seconds]
gclement has quit [Quit: Leaving.]
Peng_Fan has joined #armlinux
iivanov has quit [Remote host closed the connection]
iivanov has joined #armlinux
qpla has joined #armlinux
tambarus has quit [Ping timeout: 264 seconds]
frieder has joined #armlinux
sszy has joined #armlinux
headless has joined #armlinux
gclement has joined #armlinux
mvaittin has joined #armlinux
qpla has quit [Ping timeout: 260 seconds]
Amit_T has joined #armlinux
tambarus has joined #armlinux
headless has quit [Quit: Konversation terminated!]
<dhruvag2000>
I can see this driver for an SPI display that I have https://github.com/torvalds/linux/blob/master/drivers/staging/fbtft/fb_ssd1351.c ssd1351. I also have a spi entry in my DT and my pinmux is set properly for the SPI. I don't have a spidev or anything as such so I can't get spi in /dev/spi. Any pointers on how I can leverage this fb_ssd1351 driver in the kernel to make this display work?
<geertu>
dhruvag2000: You don't need spidev to use in-kernel SPI device drivers.
<geertu>
Do you have 'compatible = "solomon,ssd1351";' in your DTS?
<dhruvag2000>
No I don't.. it will go under the spi node itself I guess? Let me try that.
apritzel has joined #armlinux
<dhruvag2000>
ahh okay `FBTFT_REGISTER_DRIVER(_name, _compatible, _display) ` now it makes sense. I was wondering why I couldn't find compatible strings in the driver itself.
<geertu>
dhruvag2000: Yes, under the SPI device node, cfr. display@3c in arch/arm/boot/dts/ti/omap/am335x-icev2.dts
<mrutland>
manospitsid: how exactly are you doing the build? Can you dump the full error messages somewhere? e.g. paste.debian.net
<manospitsid>
mrutland: certainly, will upload when the current gcc build finishes
tambarus has quit [Quit: Lost terminal]
<maz>
feels like trying to build with the wrong target.
<mrutland>
... yeah, or bypassing the kernel build system, etc
<marc|gonzalez>
On the topic of builds, I hadn't worked in kernel land for a while. In 6.7 & 6.8, running make prints stuff, then nothing for 30-45 seconds, then it starts compiling stuff
monstr has quit [Remote host closed the connection]
<marc|gonzalez>
I have a fairly beefy workstation (dual quad-core xeons from 2010 + 48 GB of RAM) so I'm a bit surprised at this latency to start... doing real stuff
<marc|gonzalez>
(I should probably run make V=1 to see what's going on when normal make remains silent)
<marc|gonzalez>
(I run make -j20 FWIW)
<dmart>
mrutland: Is there a way of getting the compiler to emit a trap after the end of a noreturn function?
<dmart>
mrutland: Sounds from that unwinder discussion that we can still just fall of the bottom, which sounds bad ... at least for 32-bit.
<marc|gonzalez>
broonie: I mean even doing make; make; make (with nothing in between)
Lockesmith has quit [Ping timeout: 260 seconds]
Lockesmith has joined #armlinux
<manospitsid>
mrutland: same with llvm-15 btw, `make -j32 KBUILD_CFLAGS="-Wno-gnu-variable-sized-type-not-at-end -Wno-incompatible-pointer-types -mcpu=neoverse-n1" ARCH=arm64 LLVM=1`
<broonie>
marc|gonzalez: Ah, I get the big delay on cold builds but incremental ones start doing stuff pretty promptly. I don't build modules thoough.
<marc|gonzalez>
OK, it is indeed a .config with a few bazillion modules. I will remove them and retest, thanks for sharing your experience.
<mrutland>
dmart: it's possible with a UBSAN option, but not generally; I've been meaning to chase up a compiler request for that (and to have a trap in the caller, after the call)
<mrutland>
manospitsid: What happens if you *don't* override CFLAGS, i.e. just do "make -j32 ARCH=arm64 LLVM=1`, does that work?
qpla has joined #armlinux
<nathanchance>
manospitsid: Don’t use KBUILD_CFLAGS, you are blowing away all of the internal compiler flags. Use KCFLAGS instead.
<dmart>
mrutland: ^ Sounds like a good thing to have
<mrutland>
dmart: when you say "fall of the bottom", I assume you mean the caller? i.e. that does a BL as the last instruction when calling a noreturn callee?
<mrutland>
... if a noreturn function itself can fall through, that indicates a much bigger problem in the implementation of that noreturn function itself
<mrutland>
... since regardless of unwinding it'd execute garbage
<mrutland>
lemme go find the thread...
rvalue has quit [Ping timeout: 252 seconds]
<mrutland>
Ugh, I see that discussion has a bunch of nonsense, and the "fix" is a bodge that breaks some cases
<ardb>
mrutland: fear not, david laight is on the case!
<mrutland>
... and while the existing result isn't pretty for humans, it's *correct* for all internal unwinders
<mrutland>
i.e. the change will break ftrace and other things
<mrutland>
ffs
<mrutland>
ardb: yeah, I wasn't going to invoke his name in case it was a summoning spell ;)
<nathanchance>
mrutland: dmart: I’m not sure it is entirely relevant but I think LLVM has an internal option which can be used via ‘clang -mllvm -trap-unreachable’, that can add traps for the unreachable instruction, which I believe is added after noreturn calls in LLVM IR.
<manospitsid>
nathanchance: that was it :) live and learn
<manospitsid>
thanks a lot!
<nathanchance>
manospitsid: Glad that fixed it, cheers!
<mrutland>
nathanchance: I'd need to check, but IIRC that would cause problems (maybe just a bit worse codegen) for some unreachable() usage, ratehr than just after calls to noreturn funcs
rvalue has joined #armlinux
<nathanchance>
mrutland: Yeah, it is a bit of a heavy hammer and would need more scrutiny, more just pointing out there is at least some option already available so customizing it for the kernel’s needs might not be too difficult
<mrutland>
nathanchance: Ah, 100% agreed there! I just meant that I suspected we couldn't use it as-is.
<mrutland>
... that said, that places I was worried about the impact all look to be __always_inline now, and the unrachable case should get optimized away, so maybe that is usable as-is
elastic_dog has quit [Ping timeout: 255 seconds]
elastic_dog has joined #armlinux
apritzel has quit [Ping timeout: 260 seconds]
amitk_ has joined #armlinux
mal`` has quit [Quit: Leaving]
mal`` has joined #armlinux
iivanov has quit []
prabhakalad has quit [Ping timeout: 264 seconds]
prabhakalad has joined #armlinux
qpla has quit [Ping timeout: 272 seconds]
prabhakalad has quit [Ping timeout: 255 seconds]
prabhakalad has joined #armlinux
lain_ has quit [Read error: Connection reset by peer]
lain_ has joined #armlinux
headless has quit [Quit: Konversation terminated!]
apritzel has joined #armlinux
amitk_ has quit [Remote host closed the connection]