alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - Logs https://freenode.irclog.whitequark.org/panfrost - <daniels> avoiding X is a huge feature
no1b4me is now known as buzzmarshall
vstehle has quit [Ping timeout: 258 seconds]
_whitelogger has joined #panfrost
mixfix41 has quit [Quit: Leaving.]
mixfix41 has joined #panfrost
<mixfix41> macc24: you just use this? https://archlinuxarm.org/forum/viewtopic.php?f=8&t=13574 and its still buggy? or is it on your debian os?
davidlt has joined #panfrost
davidlt has quit [Ping timeout: 256 seconds]
vstehle has joined #panfrost
buzzmarshall has quit [Remote host closed the connection]
tomboy64 has joined #panfrost
davidlt has joined #panfrost
clementp[m] has quit [Quit: killed]
Ke has quit [Quit: killed]
wiizzard has quit [Quit: killed]
nhp[m] has quit [Quit: killed]
l-as has quit [Quit: killed]
nhp[m] has joined #panfrost
Ke has joined #panfrost
clementp[m] has joined #panfrost
l-as has joined #panfrost
wiizzard has joined #panfrost
_whitelogger has joined #panfrost
nerdboy has joined #panfrost
alpernebbi has joined #panfrost
raster has joined #panfrost
stikonas has joined #panfrost
stikonas has quit [Read error: Connection reset by peer]
stikonas has joined #panfrost
stollejocke has joined #panfrost
<stollejocke> hi, I want to test the current status of panfrost for bifrost. is this still the newest kernel source? https://gitlab.freedesktop.org/tomeu/linux/-/commits/v5.9-rc5-for-mesa-ci/
stollejocke has quit [Ping timeout: 240 seconds]
stollejocke has joined #panfrost
stollejocke has quit [Client Quit]
stollejocke has joined #panfrost
<macc24> mixfix41: i used modified pbp-tools script, https://github.com/Maccraft123/armhf-tools/blob/master/build-mesa
<macc24> with https://github.com/Maccraft123/armhf-tools/blob/master/install-mesa ran on target device to install it
<tomeu> stollejocke: there's a newer one, just a sec
<tomeu> stollejocke: ah no, that's it
<tomeu> stollejocke: on what hw are you planning to test it?
<stollejocke> good, I just started compiling :D
<stollejocke> odroid n2
<stollejocke> I already did a test with this sources: https://github.com/superna9999/linux/tree/amlogic/v5.9/tomeu-panfrost-bifrost and it did run supertux2 flawless. But plasma did not start. I read in the logs that plasma works now.
<tomeu> ok, I think that should work fine on the n2 (I tested on the vim3)
<tomeu> stollejocke: any plasma fixes will be in mesa, not kernel, btw
<stollejocke> for mesa I use this sources: https://gitlab.freedesktop.org/mesa/mesa.git
<stollejocke> or are there any unofficial newer ones available?
<tomeu> stollejocke: there's some no-merged-yet MRs in https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests?scope=all&utf8=%E2%9C%93&state=opened&search=panfrost , but most are merged quite quickly
<tomeu> so mesa/mesa is probably the best one can do now
Venemo has quit [Remote host closed the connection]
Venemo has joined #panfrost
stikonas has quit [Quit: Konversation terminated!]
stikonas_ has joined #panfrost
<chewitt> stollejocke I have a few things in https://github.com/chewitt/linux/commits/amlogic-5.9-integ that might be useful depending on your use-case
<chewitt> mostly things cherry-picked from the linux-amlogic mailing list or 5.10 backports
<chewitt> I'm still hoping for things that make that unnecessary..
<narmstrong> `error powering up ` should me moved as dev_warn_once
<narmstrong> since they are not fatal errors
<chewitt> s/dev_err/dev_warn_once ?
<narmstrong> yup
<chewitt> makes sense
<chewitt> I'll test and send a patch to see if others agree :)
<tomeu> narmstrong: but probably that code shouldn't execute on amlogic because there's a timeout that will delay things quite a bit
<narmstrong> tomeu: you mean the PWR registers power ups the core automatically ?
<chewitt> with the change http://ix.io/2A4W
<tomeu> narmstrong: was meaning that the code that prints "error powering up gpu" probably shouldn't be executed at all, otherwise on each pm runtime wake up we need to wait quite some time just to realize it didn't work
<chewitt> I have noticed that mesa/panfrost LE images boot a little slower than blob images
<chewitt> Startup finished in 3.397s (kernel) + 10.194s (userspace) = 13.591s
<chewitt> kodi.target reached after 10.193s in userspace
<chewitt> whereas an earlier blob image:
<chewitt> Startup finished in 1.767s (kernel) + 1.645s (userspace) = 3.413s
<chewitt> kodi.target reached after 1.645s in userspace
<chewitt> ahh, although not an entirely fair comparison as faster times are N2+ and slower is ye olde N2
<stollejocke> chewitt, I will try your sources, too. The only thing I noticed are more problems with hdmi with superna9999 sources. Normally 1080p is quite stable, but with that kernel it has flickering.
<narmstrong> stollejocke: which source ? my source is upstream mainline linux
stikonas has joined #panfrost
stikonas_ has quit [Ping timeout: 240 seconds]
afaerber has quit [Remote host closed the connection]
afaerber has joined #panfrost
<chewitt> it's an experimental branch
<chewitt> I saw deadlocks with the last two commits in that branch added to mine
<chewitt> so, err, avoid :)
<stollejocke> the odroid is just for testing panfrost, so no problem with hickups :)
<stepri01> chewitt: Have you tried increasing the timeouts in the readl_relaxed_poll_timeout() calls - i.e. is it just slow, or is it really never reporting 'READY'?
<stepri01> I'm surprised it works if the 'READY' bit is never getting set
<chewitt> @stepri01 your incorrect assumption is that I have any idea about code :)
<chewitt> i'm pretty competent at testing the patches of people who do have an idea
<stepri01> :)
<stepri01> try increasing the 1000 at the end, say 10000 to start with
<stepri01> admittedly 10ms is a long time to be waiting
<stepri01> kbase has a much more sophisicated approach, but ultimately you need to wait for the GPU to turn on in some manner
<chewitt> an earlier invocation of readl_relaxed_poll_timeout also uses 10000
<chewitt> in panfrost_gpu_soft_reset
<stepri01> yeah - I'm not sure quite where the timeout numbers came from - TBH I would expect reset to be faster in most cases
<chewitt> will respin the image and see what happens
<stepri01> thanks
<chewitt> I no longer get the "error powering up gpu L2" message
<chewitt> I still see "error powering up gpu shader" .. but only 3x
<stepri01> interesting
<chewitt> whereas before it was spamming the journal constantly
<stepri01> it's certainly an improvement then ;)
<chewitt> indeed .. I shall update my HACK patch!
<chewitt> combined with a dev_err > dev_warn_once should leave things clean
<tomeu> oh, interesting
<tomeu> so it ends up working...
<bbrezillon> I have this timeout on shader core bringup too
<tomeu> stepri01: guess kbase powers it up asyncly?
<tomeu> then submits jobs when it comes up?
<bbrezillon> but it seems to work fine
<stepri01> yes kbase just waits (async) for the interrupt to say the core state has changed
<tomeu> bbrezillon: guess once the shader cores are to be used, it is up by then
<stepri01> it is possible to submit jobs before the shader cores are powered (at least on some GPUs) and the hardware will just wait for the cores to come up before trying to run the job
<stepri01> I can't remember when we got that feature added though - I wouldn't trust it on T604 certainly ;)
<bbrezillon> tomeu: maybe. I thought it was an amlogic-specific issue
<tomeu> stepri01: ah, that's cool
<bbrezillon> like CORE_READY bit never updated
<tomeu> bbrezillon: but apparently it just takes a longer time?
<bbrezillon> but maybe it's just that the timeout is too short
<tomeu> maybe we shouldn't check for CORE_READY at all
<tomeu> could get us first frames to render faster by a few ms
<stepri01> ah, I remember now (been looking at the kbase source), all GPUs should support the "submit job while the core is powering up" case, but...
<bbrezillon> chewitt: did you try to increase the timeout on shader-core readiness?
<stepri01> ...you can't start another transition while the first is happening
<stepri01> so you need to ensure you e.g. don't try to turn off while the shader cores are still powering up
<stepri01> The h/w feature that got added is BASE_HW_FEATURE_PWRON_DURING_PWROFF_TRANS
<stepri01> i.e. you start start powering up again before a power down is complete (but only on some GPUs)
<chewitt> bbrezillon see previous comment about me, patches, and code :)
<chewitt> if you point me to the correct line and what value to modify/change-to .. I'm happy to test
<chewitt> unless you mean the SHADER_PWRON_LO value .. I changed this to 10000 too
<tomeu> stepri01: hmm, in which circumstances we would want to power down the GPU before all submitted jobs have finished?
<daniels> tomeu: traces for rpm requests vs. completion would be nice?
<stollejocke> Ive tested this kernel https://gitlab.freedesktop.org/tomeu/linux/-/tree/v5.9-rc5-for-mesa-ci with mesa 20.3.0_devel.129187.981464356c0-1 and I cannot get plasma to start with wayland. Weston with supertux2 still do work, though.
<tomeu> yeah, we should probably sprinkle quite some traces there
<stepri01> tomeu: I'm not sure if Panfrost does it or not. kbase has issues around performance counters - you can end up powering up/down the GPU because something wanted access to the counters but never actually submitted a job
<tomeu> stollejocke: bifrost CI is still at its very beginning, is very possible that regressions have happened
<stepri01> you can completely deadlock the GPU if you submit conflicting power requests
<tomeu> ah, I see
<bbrezillon> stepri01: oh
<bbrezillon> tomeu: could it be something like that happening on the hangs we've seen on amlogic?
<stepri01> SOFT_RESET implictly turns cores off, so if you've deadlocked the power control that fails and you have to fall back to a HARD_RESET. Panfrost doesn't have that fallback (yet)
<bbrezillon> hm, actually it looked like CPU hangs, not GPU hangs
<bbrezillon> nope, no support for HARD_RESET yet
<stepri01> HARD_RESET isn't something you want to do - if it's done in the middle of a bus transaction you can lock up the bus
<stepri01> of course turning the clocks/power off to the GPU block is equivalent to HARD_RESET, and we will do that ;)
<tomeu> everything that kbase does but panfrost doesn't is a bug, right? :p
<bbrezillon> ouch
<tomeu> aha
<stepri01> tomeu: In kbase or in Panfrost? ;)
<tomeu> only code can have bugs!
<chewitt> with current patch/changes http://ix.io/2A5H
<stepri01> you could always try increasing the timeouts higher - but I'm not sure how much sense that makes - it seems very odd if it's taking many milliseconds to power up
<stepri01> but I don't think kbase actually has any timeout
<stepri01> certainly kbase works with very slow models/FPGAs
<chewitt> I'll have a play.. see if I can lose the gpu shader message
<chewitt> it's gone with 20000
<stepri01> cool - feel free to send a patch! ;)
<chewitt> do I spend time trying to find a lower value? .. since this sounds like an arbitrary randomly-chosen value?
<stepri01> well we don't want it too low (i.e. we need some headroom so it doesn't randomly fail occasionally)
<chewitt> and .. same value for all three timeouts?
<chewitt> L2/shader/tiler?
<stepri01> since you've got a platform which demands the higher value then it makes sense to change it - it won't have any impact on other platforms
<chewitt> I haven't seen the tiler message in testing
<stepri01> you might as well go for the same value - I've no reason to believe they should be significantly different
<stepri01> On most GPUs the tiler doesn't actually have any power control - so that one is just an enable/disable bit
<chewitt> include the dev_err > dev_warn_once change?
<chewitt> I guess not needed now
<stepri01> I'm less keen on the warn_once change - if the GPU really fails to power up then we're going to be hitting timeout faults afterwards (which aren't rate limited)
<chewitt> k
<narmstrong> maybe we may power up all cores in sequence and wait /after/ for all cores to power up ? with this we may sleep less time ?
<stepri01> there's certainly room for optimisation. In theory there's no need to separately do the L2 because powering up the shaders and/or tiler will automatically power up the L2
<stepri01> there is a reason for the comment "Just turn on everything _for now_" ;)
<stepri01> kbase has a complex state machine which keeps track of the desired state and submits power requests as they become possible to transition to that state
stollejocke has quit [Remote host closed the connection]
<chewitt> stepri01 sound reasonable? http://paste.ubuntu.com/p/V9XG2kKdqF/
icecream95 has quit [Ping timeout: 256 seconds]
<stepri01> chewitt: Looks good to me - I'd suggest droppping the "HACK" before posting ;)
<chewitt> Yup, I need to rebase against drm-next too
<chewitt> any suggestions on what might be missing for "[drm:panfrost_devfreq_init [panfrost]] Failed to register cooling device"
<stepri01> it suggests there is something wrong with the devfreq description in device tree - but I'm not that familiar with how that stuff is meant to work
stikonas has quit [Remote host closed the connection]
stikonas has joined #panfrost
buzzmarshall has joined #panfrost
<chewitt> which is the upstream repo/branch to submit the patch against?
<narmstrong> chewitt: drm-misc repo => drm-misc-next
stikonas has quit [Quit: Konversation terminated!]
stikonas_ has joined #panfrost
<chewitt> urgh.. forgot to cc the amlogic list
stikonas_ has quit [Read error: Connection reset by peer]
stikonas_ has joined #panfrost
stollejocke has joined #panfrost
stikonas_ has quit [Ping timeout: 240 seconds]
stikonas_ has joined #panfrost
alpernebbi has quit [Ping timeout: 246 seconds]
davidlt has quit [Ping timeout: 256 seconds]
davidlt has joined #panfrost
davidlt_ has joined #panfrost
davidlt has quit [Ping timeout: 240 seconds]
davidlt has joined #panfrost
davidlt_ has quit [Ping timeout: 240 seconds]
karolherbst has quit [Quit: duh 🐧]
karolherbst has joined #panfrost
buzzmarshall has left #panfrost ["Leaving"]
<macc24> so i set those env vars to point sway to libgl and panfrost from git master
<macc24> and it still doesn't work :/
<macc24> it attempts to open swrast driver
<macc24> yes i have PAN_MESA_DEBUG=bifrost env var set correctly
<macc24> i don't see bifrost device in /sys/calass/drm/
nerdboy has quit [Excess Flood]
nerdboy has joined #panfrost
popolon has joined #panfrost
popolon has quit [Client Quit]
popolon has joined #panfrost
<macc24> brainlet me didn't do ldconfig, smh
indy_ is now known as indy
felipealmeida has joined #panfrost
<felipealmeida> hi, does panfrost vulkan work in T720? It says in wikipedia that T720 doesn't have Vulkan support. But that T760 has it. If T720 doesn't, why? Does it lack some specific important feature or has some bug that stops it from possibly supporting vulkan?
<HdkR> Panfrost isn't a Vulkan driver
<alyssa> ...yet
<felipealmeida> mesa src/panfrost has a vulkan directory
<felipealmeida> is it experimental?
<alyssa> it does?
<felipealmeida> at mesa from panfrost gitlab it does
<alyssa> that's downstreaam
<macc24> how related is it to panfrost? https://bpa.st/VBFQ
<HdkR> That's also a minimum skeleton structure of a driver
<macc24> this appears on serial when launching sway on bifrost device with panfrost "working?"
popolon has quit [Quit: WeeChat 2.6]
davidlt has quit [Ping timeout: 240 seconds]
raster has quit [Quit: Gettin' stinky!]
raster has joined #panfrost
stikonas_ is now known as stikonas
TheMojoMan has joined #panfrost
Elpaulo has quit [Read error: Connection reset by peer]
Elpaulo has joined #panfrost
TheMojoMan has quit [Quit: Connection closed]
icecream95 has joined #panfrost
yann has quit [Ping timeout: 258 seconds]
raster has quit [Quit: Gettin' stinky!]