alyssa changed the topic of #panfrost to: Panfrost - FLOSS Mali Midgard & Bifrost - https://gitlab.freedesktop.org/panfrost - Logs https://freenode.irclog.whitequark.org/panfrost - Discord Discard
marcodiego has joined #panfrost
NeuroScr has quit [Read error: Connection reset by peer]
NeuroScr has joined #panfrost
BenG83 has joined #panfrost
unoccupied has quit [Quit: WeeChat 2.2]
belgin has joined #panfrost
marcodiego has quit [Quit: Leaving]
<Ashy> just watched the xdc talk on youtube finally
<Ashy> this is some seriously important work you peeps are doing
<Ashy> if you set up some form of donation address i and hopefully a bunch of other people would buy you a coffee/beer each month
<belgin> Ashy, I have asked for something like this too, but they said no
<belgin> maybe if more people ask for it...
<Ashy> i'm getting more philosophical in my 30s and being able to run on a fully foss computing platform is becoming more and more important
<[alyssa]> tomeu: sweet! :D
<Ashy> i'd love to grab a power9 system from raptor but i feel like it's likely a dead end in reality
<Ashy> when compared to how much arm is winning the world of hardware
<[alyssa]> Lyude: Ahh! :D
<[alyssa]> belgin: It's just... difficult, practically speaking. How do you propose it would work?
<belgin> [alyssa], donations?
<[alyssa]> Mm
<belgin> i have no idea
<belgin> i imagine just a bank account or something
<belgin> but i don't know the laws involved
<Ashy> patreon or paypal etc
<belgin> or just use liberapay?
<[alyssa]> (Also, it moves us from strictly volunteer territory, which may or may not change anything)
<belgin> i don't think so
<belgin> volunteers can still get paid donations i think
<[alyssa]> "Volunteer" literally means unpaid? :P
<belgin> really?
<belgin> i didn't know that
<[alyssa]> I mean, _literally_ it means something you want to do, coming from the latin "volo" to want but
<[alyssa]> Ah don't speak Latin :p
<Ashy> does it change anything legally?
<Ashy> it's income for tax purposes still for most countries
<[alyssa]> Ashy: I dunno, I'm not a lawyer :P
<Ashy> i guess the reverse engineering side of things may complicate it slightly
<belgin> you could just let a third party (like liberapay, patreon, w/e) deal with the laws and taxes
<belgin> but it could be that it doesn't work like that
<[alyssa]> Like I said -- I'm no attorney
<belgin> i guess people just want to make sure you don't give up on this project :D
<belgin> for some reason, my cat keeps waking me up at 5 am every day
<[alyssa]> For me at this point in my life, the biggest thing is "what am I motivated to play with and do I have time to do it" since it's a hobby, and money isn't going to sway either of those dramatically, so \shrug/
<HdkR> Also those services effectively make you become "self-employed" and dealing with business taxes isn't fun
<belgin> yeah, i imagine
<belgin> i suppose once people pay you, you'll feel obligated to do something or other
<[alyssa]> I don't want my hobbies to feel like obligations, since then they're not hobbies :)
<Ashy> yeah that's fair
<Ashy> maybe a better option is just to put money up on bountysource or similar?
<Ashy> or better yet to roll up our sleeves and start hacking too
<[alyssa]> ^^ That's the most sustainable imo
belgin has quit [Quit: Leaving]
_whitelogger has joined #panfrost
<MoeIcenowy> [alyssa]: currently what's needed if to try out Panfrost on a new board with Midgard?
<[alyssa]> Which Midgard?
<MoeIcenowy> T720
<MoeIcenowy> I said, Allwinner H6
<MoeIcenowy> might be not supported? ;-)
<MoeIcenowy> I have already get some blob from Allwinner to work, with modified r22p0 mali_kbase
<[alyssa]> Would require fixing a lot of regressions since T8xx support landed and T7xx went untested. Not for the faint of heart and not on my immediate todo list, though I'd be more than happy to mentor if you're interested in dev.
<MoeIcenowy> I know nothing about computer graphics... sigh
<MoeIcenowy> even not able to write one shader
<[alyssa]> Hi, me from right before I started chai (later Panfrost, it's complicated)!
<MoeIcenowy> so only ability is to test ;-)
<MoeIcenowy> [alyssa]: btw is panfrost stlil using mali_kbase?
<[alyssa]> For now..
[alyssa] has quit [Quit: ZNC 1.7.1+deb2 - https://znc.in]
chewitt has joined #panfrost
belgin has joined #panfrost
BenG83 has quit [Ping timeout: 250 seconds]
TheKit has quit [Ping timeout: 245 seconds]
TheKit has joined #panfrost
belgin has quit [Quit: Leaving]
pH5 has joined #panfrost
cwabbott_ has joined #panfrost
cwabbott has quit [Ping timeout: 246 seconds]
cwabbott_ is now known as cwabbott
<NeuroScr> MoeIcenowy: I got the same board
_whitelogger has joined #panfrost
unoccupied has joined #panfrost
Guest60836 has joined #panfrost
Guest60836 is now known as alyssa
chewitt has quit [Quit: Adios!]
belgin has joined #panfrost
belgin has quit [Remote host closed the connection]
nickolas360 has quit [Ping timeout: 250 seconds]
rhyskidd has quit [Quit: rhyskidd]
rhyskidd has joined #panfrost
<Lyude> tomeu: btw, you around?
<Lyude> alyssa: btw, https://paste.fedoraproject.org/paste/mH~LmC~vCtvQTPye0KQBqg have you hit this before? it's almost certainly a mapping error, but it'd be good to know if anyone else has seen it so I know it's actually a panfrost<->mali_kbase bug and not the GPU being setup incorrectly
NeuroScr has quit [Read error: Connection reset by peer]
NeuroScr_ has joined #panfrost
metaverse has joined #panfrost
<alyssa> Lyude: Yeah, that's a pretty common fault
<Lyude> good! :D
<alyssa> It's not usually a mapping issue, tho,
<alyssa> So much as "the VA you passed is bogus, try again!"
<Lyude> yeah
<Lyude> I'm noticing that
<alyssa> In this case, "0x0000000000442500" is definitely bogus
<alyssa> I'm not really sure why it's trying to read that
<alyssa> It's not a magic number we use anywhere that's accidentally slipping though, etc
<Lyude> alyssa: mind getting me a trace from your panfrost setup of what the normal memory allocations of es2tri would look like?
<alyssa> As in, the VAs?
<Lyude> or, hm, nvm
<alyssa> I'm not sure how helpful it is since it might be device variant, but
<alyssa> 0x7F7FE00000 is a pretty typical address
<alyssa> Mostly everything is 7F at the beginning on the new device so there's that
<Lyude> alright
<alyssa> Check the return value of alloc_memory (or whatever it's called)
<alyssa> panfrost_allocate_slab
<Lyude> tht's what i've been doing :_)
<Lyude> *:)
<alyssa> :)
<Lyude> let me show you, it looks a little too weird to be correct to me, but maybe it's just been a while
<Lyude> one minute, switching back to my desktop
<alyssa> Sure
* alyssa talks self out of implementing cryptography in JavaScript
pH5 has quit [Quit: -_-]
<Lyude> also, strangely it is /always/ that va in the memory fault
<alyssa> Lyude: defn do a panwrap
<Lyude> alyssa: https://paste.fedoraproject.org/paste/ucWua6i0TTQ2TeASWFw34A (added some breaks in gdb to get it to print out all of the allocations happening)
<Lyude> alyssa: panwrap still needs to be LD_PRELOADed correct?
<alyssa> Yeah
<Lyude> alright, might take a minute since I just tried rebooting the board
<Lyude> i'm still really suspecious there is something just funky with the driver
<Lyude> enough so i'm considering trying the T6xx system i've got now to see if it might be easier just to get that one running panfrost
<Lyude> since I know collabora had mali_kbase working on there at one point
<Lyude> one of the other things that's skeeving me out is even when working around the gpu reset issue (ended up actually being an issue with runtime PM not being implemented properly), I see a delayed bus fault at the start before I've even started trying to run any jobs
<alyssa> :s
<alyssa> Alloc @ CPU: 0x00000000 GPU: 0x00041000 Flags:0x0000200f
<alyssa> ^^ This concerns me a bit
<Lyude> oh good; that's not just me
<alyssa> Mostly since the next line has 0x42000
<alyssa> and 0x43000
<alyssa> Those are cookie addresses, but that would mean you're not freeing the cookie
<Lyude> cookie addresses? (i'll have a lot of questions D:)
<alyssa> So either it's not getting mapped or the new kbase changed how they did mmap (in which case I can't help much, sorry)
<alyssa> I dunno
<alyssa> In the old stuff they did some weird thing where like
<alyssa> The alloc returns this fake address 0x41000
<alyssa> And then you call mmap with the fake address to get the real address
<alyssa> where 0x41000 was the cookie
<Lyude> mhm
<alyssa> I didn't understand the scheme but that's that
<Lyude> yeah i remember that
<Lyude> i guess I'll see if I can figure out why that first mmap does that, the other thing is too that breakpoint is -after- the point we should have mmapped the address in panfrost_allocate_slab
<alyssa> Lyude: get both pre- and post- mmap?
<Lyude> alyssa: yeah sure, sec
<Lyude> wait, `if (mapped) {
<Lyude> but, mapped isn't actually set based on what the kernel returns
<Lyude> ctx=0xaaaaaab0e720
<Lyude> cute memory address
<alyssa> aaaaaaa
<Lyude> same tho
<alyssa> Lyude: `mapped` is whether _we_ want it mapped so we can do stuff with it or not
<Lyude> ah, right, duh.
<Lyude> :p
<alyssa> On my kernel version, that lines up with NEEDS_MMAP
<alyssa> Newer versions probably changed up the scheme again
<Lyude> alyssa: wait, so is it that you still need to mmap() it when the kernel sets that flag even if you aren't going to be accessing the memory on CPU?
<alyssa> Uhhh
<alyssa> I don't... think so? But dunno
<alyssa> Wrap the blob; it has the answers you seek :P
<Lyude> alyssa: hehe, i'm just using gdb at the moment since i've actually got a bit more control with it (can view the args we're passing back and forth to the kernel, their returns, etc0
<alyssa> No, wrap the _blob_
<Lyude> oh, that's the problem
<Lyude> there isn't
<Lyude> :(
<alyssa> ...Right, onions
<Lyude> if I really get seriously stuck on this I might also try grabbing the android rom for this, since that should at least have a blob on it
<Lyude> but then maybe mali_kbase is outdated on that
<alyssa> Yeah, for kernel issues that might be worse tbh
<alyssa> There's a reason RK3399 is the flagship platform, eep.
<Lyude> alyssa: i am trying to get one of those as well
<Lyude> for that exact reason :p
<Lyude> waity
<Lyude> waaaaaaaaaaaaait a second here
<Lyude> [ 515.189522] mali d00c0000.gpu: JS1_STATUS=0x00000004 JS1_HEAD_LO=0x00442500
<Lyude> I think we have a lead
<alyssa> Ah!
<alyssa> So we're... submitting a job with that address?
<alyssa> (*cough* Panwrap would tell you all of this and more :V *cough*)
<Lyude> alright yeah, i'll try panwrap
<Lyude> / Error: Untracked gpu memory 0x41000 mapped to 0x1ff5ff000
<Lyude> / prot = PROT_READ | PROT_WRITE
<Lyude> / flags = MAP_SHARED
<Lyude> / va 3 mapped to 1ef5ff000
<alyssa> Well this is interesting
<Lyude> a lot of this looks
<Lyude> very weird
<Lyude> lemme put it on fpaste
<alyssa> Your hardware agrees
<alyssa> Beep
<Lyude> at least I figured out the delayed bus fault problem
<alyssa> Definitely progress
<Lyude> anyway-is the NOT_STARTED stuff there normal?
<alyssa> Definitely not.
<Lyude> damn, had a feeling
<Lyude> also; i will poke chewitt tommorrow. I remember they had been trying to get the mali blob to run on here at one point
<Lyude> really want to make sure that -something- actually runs on here properly
<Lyude> otherwise we might just be debugging currently broken hw
<Lyude> HdkR: have any mali T860 systems running mainline kernels?
<Lyude> alyssa: also, how much qwork do you think it would take to get a T6xx running with panfrost in it's current state
<alyssa> I'm not sure, tbh
<alyssa> A nontrivial amount but well within the realm of possibility
<alyssa> You'd have to be motivated 😛
<Lyude> well we will have to do it at some point anyway
<alyssa> (Did I just use an emoji in here? Major faux pas 😊)
<Lyude> alyssa: also: do we define our own job descriptor header?
<alyssa> Yeah
<Lyude> i just realized
<alyssa> Somewhere
<Lyude> i haven't actually checked if that needs to be updated
<alyssa> /me raises eyebrow
<alyssa> That's from the hardware, not the kernel 😛
<Lyude> hm......
<alyssa> From the panwrap
<alyssa> Bogus is being passed to jc
<Lyude> yeah, that was what I was about to say
<Lyude> I remember this a bit more from when I started writing panwrap, which makes me wonder if maybe the header between a T820 and T860 is slightly different
<Lyude> which would explain why jc is being passed junk
<Lyude> alyssa: for the time being I might see if I can get access to a T860 system from HdkR that we know works, and see if I can mess around with the kernel on there
<Lyude> along with double poking the person who said they'd be sending me an 860 board at some point
<Lyude> i guess the other thing I should try is to figure out where in the gpu mem that we're uploading that JS1 address is
<Lyude> e.g. see if it's in the middle of one of the job headers at a place we're not expecting it to be
BenG83 has joined #panfrost