10:46 karolherbst: airlied: soo, it seems like if the driver is not doing much, it works, now I am wondering if we setup something in nouveau which the device/pci doesn't like and the GPU refuses to wakeup... but that would be kind of odd
18:51 airlied: karolherbst: maybe we hang the gpu on suspend
18:51 karolherbst: I don't think so
18:52 karolherbst: also it wouldn't matter
18:52 karolherbst: I think it is something more subtle
18:54 karolherbst: airlied: I turn the gpu off/on when I crash the GPU for whatever reason, that is normally a perfectly valid way if you want to hard reset the GPU
18:58 airlied: karolherbst: like if we say EVO locksup
18:58 airlied: or the memory controller
18:58 airlied: I don't mean pgraph type hangs
18:58 karolherbst: the GPU has no power after suspend
18:58 karolherbst: it is like turning your entire computer off and on
18:58 karolherbst: just only the GPU
18:59 karolherbst: there should be like 0 state restored after resuming by the device itself
19:01 airlied: karolherbst: if only analog power was a 0/1 thing :-P
19:01 karolherbst: well, right
19:01 airlied: karolherbst: there will definitely be some current in some part of the gpu,
19:01 karolherbst: but at least the PCIe power supplies are "turned off"
19:02 karolherbst: whatever that means
19:02 airlied: and it may not power down the vram
19:02 karolherbst: well, there is no active work on the GPU
19:02 karolherbst: why should the GPU be turned on still?
19:02 karolherbst: also this is more like a firmware thing
19:02 karolherbst: you execute an ACPI method and the firmware is responsible for powering off the entire device
19:02 airlied: but I can definitely see a case where on power off we wedge something, and it won't come back on reinit
19:02 karolherbst: welll
19:03 airlied: karolherbst: but yeah hopefully it's something more stupid
19:03 karolherbst: normally I would agree
19:03 karolherbst: but
19:03 karolherbst: there is this tiny message in the logs: "nouveau 0000:01:00.0: Refused to change power state, currently in D3"
19:04 karolherbst: and this is within the pci_set_raw_power_state function or what this one was called
19:08 airlied: karolherbst: yeah which seems to mean the PCI BAR to the gpu didn't either power back on, or the GPU didn't come back up
19:08 karolherbst: yeah, something like that
19:08 karolherbst: or maybe the ACPI method failed to execute
19:08 karolherbst: or something silly
19:09 karolherbst: the odd thing is
19:09 karolherbst: if I execute the ACPI manually after that
19:09 karolherbst: the devices goes powered on
19:09 airlied: karolherbst: oh interesting,if we just execute it again on fail does it work?
19:10 karolherbst: mhhh
19:10 karolherbst: maybe
19:10 karolherbst: maybe we don't wait long enough?
19:10 karolherbst: but uhm, the device is off
19:10 karolherbst: allthough this could be the kernel powering off again, cause it wasn't used
19:11 karolherbst: anyway, currently building a kernel with more ACPI debugging stuff
19:11 karolherbst: maybe I find something there
20:17 mupuf: karolherbst: the power supply of the wtrpm rasp pi is fried
20:18 karolherbst: :(
20:18 mupuf: I will try to find another one and set it up
20:18 mupuf: hopefully, it will boot fine :)
20:18 mupuf: and then I will plug this gf119 you wanted
20:18 mupuf: and I just found a new computer at the hackerspace that someone was getting rid of
20:19 mupuf: should make another good reator / test system
20:20 karolherbst: nice!
20:20 karolherbst: maybe the second one for CI?
20:22 mupuf: well, CI will not happen until cibuglog gets open sourced
20:22 mupuf: and I have been pinging lawyers for 6 months already
20:22 karolherbst: I see
20:22 karolherbst: :(
20:22 mupuf: but once this is out, we can run IGT, piglit and other stuff at least post merge
20:23 mupuf: probably easier to start with mesa testing, but it is not exacly what gets broken the most nowadays, I would assume
20:26 karolherbst: well
20:26 karolherbst: it happens
20:28 karolherbst: mupuf: you wouldn't be able to get easy access to a 4k screen, which can do 4k@60 over HDMI, would you?
20:39 mupuf: easy? Sure
20:39 mupuf: cheap? No :D
20:39 mupuf: I have one at home though. so punctual testing is possible
20:44 karolherbst: mupuf: ahh, you have?
20:44 karolherbst: are you sure it can do 4k@60 over HDMI?
20:44 karolherbst: because some displays suck and only do that over DP
20:44 karolherbst: mupuf: I only need testing if we could actually simply enable HDMI2.0 on GPUs supporting it with nouveau
20:44 karolherbst: but nobody tested it yet
20:45 karolherbst: (as it seems it is nearly impossible to get such hardware)
20:47 airlied:is pretty sure I have two monitors on my desk that do 4k@60 on hdmi2.0
20:48 airlied: though I'm not sure what GPUs I have that can drive it over hdmi
20:48 airlied: pretty sure at least my long hdmi cable is fail at that res
20:53 karolherbst: :/
20:53 karolherbst: well nvidia GPUs starting from GM200 support HDMI 2.0
20:53 karolherbst: and I have patches enabling that under nouveau
20:54 karolherbst: but, nobody knows if that actually works
21:02 airlied: karolherbst: me has an nve7 only here I think
21:02 karolherbst: yeah... I mean, I have a gm204 at home, just not a 4k display there
21:03 karolherbst: and I am not quite sure if we have capable hardware in the office as well
21:05 airlied: oh I have a laptop in the office with nv in it actually
21:05 airlied: gm108m dang
21:07 karolherbst: yeah.. I just need to check if we have a good 4k screen at the office, otherwise I will check if I could get one. Would make sense to have something like that around anyway
21:26 mupuf: karolherbst: I have a GP106 here, let me check if it is an HDMI 2.0 monitor, but pretty sure it is
21:27 mupuf: yep, it is an HDMI 2.0
21:27 karolherbst: nice!
21:27 karolherbst: mupuf: here is the code: https://github.com/karolherbst/nouveau/commits/fix_interlaced_reject
21:27 karolherbst: branch build as is on 4.17, but can be rebased
21:28 mupuf: 4.17 is great for me
21:29 karolherbst: the branch also prints the limits out to dmesg
21:29 karolherbst: for each sor actually
21:29 mupuf: ok, but I need to find an HDMI cable now
21:29 mupuf: at least, it seems to compile fine
21:30 karolherbst: :)
21:32 mupuf: first checking with the blob it actually works on this cable
21:35 mupuf: HDMI-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 621mm x 341mm
21:35 mupuf: 3840x2160 60.00*+ 59.94 50.00 29.98 29.97 25.00 23.98
21:35 mupuf: looks good
21:36 karolherbst: :)
21:36 karolherbst: nice
21:36 karolherbst: finally somebody with the required hardare :D
21:36 karolherbst: *hardware
21:37 mupuf: hehe
21:37 mupuf: wtrpm is back
21:37 mupuf: btw
21:37 mupuf: but let me plug the gpu first
21:38 karolherbst: mupuf: well, mind checking the 4k@60 stuff? it it is hard to tell if it actually works from the distance :p
21:38 karolherbst: but mhh
21:39 karolherbst: mupuf: actually, hyou can just check with the gf119 as well
21:39 karolherbst: I would just boot and check dmesg
21:39 mupuf: well, I cannot plug my main monitor on reator
21:39 mupuf: but yes, I will check
21:39 karolherbst: ohhh
21:39 karolherbst: yeah, okay
21:39 mupuf: just finishing my updates before rebooting into nouveau
21:42 agd5f: karolherbst, we are seeing similar things with hybrid gfx on some platforms as well. the dGPU doesn't power up on resume from runtime suspend
21:42 karolherbst: agd5f: AMD gpus as well?
21:43 agd5f: The legacy ATPX methods work on systems that support both, it's just _PR3 that seems to not work
21:43 karolherbst: yeah
21:43 karolherbst: _PR3 does d3cold
21:43 agd5f: yup
21:43 karolherbst: the other stuff, not
21:43 karolherbst: _but_
21:43 karolherbst: it works in general
21:43 karolherbst: let me upload something
21:43 agd5f: yeah, same here. Just certain laptops where it fails. most work fine
21:44 karolherbst: agd5f: with this kernel module it just works: https://gist.github.com/karolherbst/73e6d053ac38613329a75042a3c5b2af
21:44 karolherbst: the gpu suspends and resumes correctly
21:46 karolherbst: agd5f: the thing is, if I invoke the ACPI method manually, the GPU powers up again
21:46 karolherbst: I am just not sure if the GPU is functional, because the entire subsystem blocks
21:46 karolherbst: but, the firmware tells me it resumed
21:47 karolherbst: allthough the runpm code printed that state change error
21:47 karolherbst: agd5f: my theory why it works on other laptops are is, that they either whitelist OS for d3cold and just do d3hot otherwise
21:48 karolherbst: or they don't do d3cold
21:48 karolherbst: I know that Dell added a workaround for linux doing d3hot when doing the _PR3 stuff
21:48 karolherbst: there is a kernel option for that to enable that workaround
21:48 agd5f: haven't heard of that one
21:49 mupuf: cool, also got a new GPU today: an NV46
21:49 mupuf: ok, let's try your branch now
21:50 karolherbst: agd5f: CONFIG_ACPI_REV_OVERRIDE_POSSIBLE
21:51 karolherbst: the documentation says something else, but if you look at the ACPI code you see that it also affects the _PR3 stuff in a certain way
21:52 karolherbst: it basically does the same as dropping to the WINNT version where there was no _PR3
22:06 mupuf: karolherbst: https://pastebin.com/0TECwimJ
22:06 mupuf: but it does not work, HDMI gives me a black screen
22:06 mupuf: even though xrandr says I am using it
22:06 mupuf: and let's just say that using KDE with it is painful at best
22:07 mupuf: my cursor even disapeared
22:09 mupuf:goes back to the blob :s
22:10 karolherbst: mupuf: 810 MHz DP :P
22:10 karolherbst: :O
22:11 mupuf: that seems low
22:11 karolherbst: mupuf: well, yeah "DRM: base-0: timeout"
22:11 karolherbst: mupuf: why? you still have dual link on top
22:11 mupuf: ah, that explains
22:13 karolherbst: okay, so yeah, it doesn't work
22:13 karolherbst: I guess we still have to do something for hdmi 2.0
22:13 karolherbst: mupuf: I assume 4k@30 just works with nouveau?
22:13 mupuf: hdmi 2.0 requires link training
22:13 karolherbst: ohhh
22:13 karolherbst: that explains
22:13 mupuf: yep ;)
22:13 mupuf: need a mmiotrace, I suppose?
22:15 karolherbst: mhh maybe
22:15 karolherbst: I don't know if I care enough yet
22:15 mupuf: ;)
22:16 karolherbst: mupuf: anyway, I would like to have hw to test it anyway, and if I have the hardware, I can do traces myself :p
22:16 mupuf: you likely need the HW yourself at this point
22:16 mupuf: exactly
22:16 mupuf: he, people have been asking for 3x4k support for Intel, so I guess these 4k monitors do exist nowadays ;)