00:14 karolherbst: imirkin_: \o/ https://gist.githubusercontent.com/karolherbst/d2b6fbfacc8b48900bcdad58f48f87b2/raw/789883d792c1ae9e9177d09791d3b923dd87d870/gistfile1.txt
00:14 karolherbst: it even makes sense
00:15 imirkin: nice
00:15 karolherbst: currently wondering if reusing pushbuf_decode makes sense
00:15 karolherbst: but it has a lot of mmt stuff in it
00:15 karolherbst: maybe it makes sense to extract the bits of the pushbuf format
00:19 karolherbst: X_COUNT 0x100000 mhhh
00:20 karolherbst: imirkin: do you agree that the copy in that pb is pretty broken?
00:20 imirkin: i don't remember tbh
00:22 karolherbst: heh.. this is wird
00:22 karolherbst: so we have a rect of 0x200 x 0x200.. but X_COUNT is like 0x100000
00:24 karolherbst: not even sure if the decoding is correct to be honest...
00:25 karolherbst: matches nvc0_m2mf_transfer_rect though
00:25 karolherbst: and I am debugging a m2m fail :)
00:26 karolherbst: ehhh.. has to be nve4_m2mf_transfer_rect of course
00:33 karolherbst: uhhh *sigh*
00:33 karolherbst: yeah well.. that has to break of course
00:37 karolherbst: yeah....
00:37 karolherbst: imirkin: apparently the hw doesn't like if it you copy 100000x1 pixels into a 512x512 rect
00:37 imirkin: yeah, it's a 16-bit value iirc
00:38 imirkin: or ... 20-bit?
00:38 karolherbst: yeah well..
00:38 imirkin: annoying.
00:38 karolherbst: even then
00:38 karolherbst: 100000 > 512*512
00:38 karolherbst: or... actually
00:39 karolherbst: it's heh...
00:39 imirkin: 0x40000
00:39 imirkin: but it's copying a byte at a time, so *4
00:39 karolherbst: ohh, right
00:39 karolherbst: mhhh
00:40 karolherbst: anyway, we get this from clover direclty
00:40 imirkin: yeah, it needs to split these up i guess
00:40 karolherbst: or it could reqest a 512*512 copy
00:41 imirkin: or that.
00:41 karolherbst: this entire clover is completly mis architectured anyway
00:41 karolherbst: that copy is triggered from some destructor of a memory mapping
00:41 karolherbst: why...
00:41 karolherbst: just why
00:42 imirkin: to sync the values back to the bo?
00:42 imirkin: it's like a flush, presumably
00:42 karolherbst: yeah.. kind of like that
00:42 karolherbst: it's just... I tried to find what clover is doing before
00:42 karolherbst: but I just couldn't find this
01:00 karolherbst: imirkin: mhhhh... so clover calls into transfer_map with { size, 1, 1 }
01:00 karolherbst: the question is.. should the state tracker not be dumb or should the driver be able to handle that
01:00 imirkin: both? :)
01:02 karolherbst: heh.. radeonsi would run into an assert here
01:02 karolherbst: assert(box->x + box->width <= resource->width0);
01:02 imirkin: why would that assert?
01:02 imirkin: box->x is uint32
01:03 karolherbst: box->wight is 0x100000
01:03 karolherbst: -> is 0
01:03 karolherbst: resource->width is 0x200
01:03 karolherbst: soo....
01:03 imirkin: oh
01:04 imirkin: well this is meant to work with like 1d / buffer resources
01:04 karolherbst: sure
01:04 karolherbst: but now I look into CL images :)
01:04 karolherbst: and I have a 0x200 x 0x200 image
01:04 karolherbst: which the application wants to copy data into
18:38 DanishGuy: Hey so I have a graphics card from my grandfathers old pc, if I recall right the codename for it is NVA3 (GT215), is that of any value to anyone?
18:58 DanishGuy: or is it better to just throw out the graphics card?
18:58 DanishGuy: welcome back maccraft123
18:58 imirkin_: DanishGuy: do you know if it's the DDR5 or DDR3 variant?
18:59 DanishGuy: imirkin_ anyway i can check that on it physically or do i need to boot it up to check?
19:00 imirkin_: mmmmmmmmm
19:00 imirkin_: not sure =/
19:00 karolherbst: there might be a model or serial number which might help
19:00 imirkin_: ah yeah, model number should do it
19:00 imirkin_: in fact frequently the DDR3 vs DDR5 thing will be obvious from the model number itself
19:01 maccraft123: imirkin_: hey
19:02 maccraft123: im doing mcp78 coreboot ;)
19:02 karolherbst: mhh, there are also DDR2 GT215... weird
19:02 imirkin_: have fun!
19:03 karolherbst: maccraft123: at least you don't have to deal with undocumented memory stuff
19:03 maccraft123: karolherbst: undocumented?
19:03 maccraft123: southbridge is undocumented too xD
19:03 karolherbst: ufff
19:03 maccraft123: karolherbst: what
19:04 karolherbst: yeah.. no, memory is just always fun
19:04 karolherbst: especially on GPUs
19:04 karolherbst: but you don't have that issue with mcp78
19:04 karolherbst: but I guess even coreboot still uses the GPU vbios to POSTing?
19:04 karolherbst: *for
19:05 maccraft123: karolherbst: no
19:05 maccraft123: this is so wrong
19:05 maccraft123: the only thing coreboot does with gpu vbios is to initialize the gpu itself
19:05 karolherbst: right
19:05 maccraft123: there is no "post" in coreboot
19:05 maccraft123: it just initializez
19:05 karolherbst: yeah well.. same thing
19:11 DanishGuy: imirkin_says on the little sticker it is a geforce GT320 1GB DDR V/D HDMi
19:14 DanishGuy: sorry it took a while i could not find my screwdriver
19:17 RSpliet: In that case I'd say DDR3
19:17 RSpliet: I mean, best way to tell is just boot a live linux distro, I bet nouveau'll tell you
19:18 imirkin_: all the google search results say "ddr3"
19:18 DanishGuy: oh yeah i meant to type ddr 3
19:18 DanishGuy: thought i had
19:18 DanishGuy: sorry i am a bit sleepy
19:18 imirkin_: lol, no worries
19:19 DanishGuy: anyway from what you are telling me i might as well cycle it
19:20 imirkin_: yeah, unless you want to keep a spare
19:20 RSpliet: They're great for displaying stuff
19:21 DanishGuy: displaying? what do you mean?
19:22 DanishGuy: also this is my grandfathers old pc it is either that or the motherboard that makes it take about 20 min to boot up
19:23 imirkin_: a spare video card, that is
19:33 DanishGuy: I think at that point i rather upgrade, i know some people might be happy to have a free spare part, but i am currently using a gtx 980, don't think i would be able to endure on the gt320
19:35 imirkin_: hehe
19:35 imirkin_: yeah, it's a bit of a difference
19:37 DanishGuy: so I will pull out the old harddrives, clean them of their data and then use them elsewhere, there is quite a lot of storage on them, and then the rest will be recycled