ChanServ changed the topic of #linux-msm to:
flto has quit [Remote host closed the connection]
flto has joined #linux-msm
flto_ has joined #linux-msm
flto has quit [Ping timeout: 480 seconds]
flto_ has quit []
flto has joined #linux-msm
<lumag> calebccff, pundir, sumits: it seems we are close to the end of the long-going saga. I found what was the issue with Pixel-3 panel :-D
marvin24_ has joined #linux-msm
marvin24 has quit [Ping timeout: 480 seconds]
junari has joined #linux-msm
junari has quit [Ping timeout: 480 seconds]
ungeskriptet is now known as Guest4376
ungeskriptet has joined #linux-msm
Guest4376 has quit [Ping timeout: 480 seconds]
asriel has quit [Quit: Don't drink the water. They put something in it to make you forget.]
Danct12 has quit [Quit: ZNC 1.9.0 - https://znc.in]
Danct12 has joined #linux-msm
asriel has joined #linux-msm
junari has joined #linux-msm
f_ has quit [Remote host closed the connection]
jhovold has joined #linux-msm
<konradybcio> aka_: smmu is always powered by cx
<konradybcio> as for the gpu, 8996 and 8 should (?) take a cpr reference, at least 8996
<konradybcio> i added mx as a half-measure to provide at least some more stability
<konradybcio> but then the 8996 patch for that never landed
<strongtz[m]> <strongtz[m]> "If pcie is disabled, xhci and..." <- regarding suspend on sm8550, I tried again just now. It doesn't crash in both s2idle and deep anymore, and the screen can light up.
<strongtz[m]> But pcie and ufs is still broken after resume. dmesg is here if anyone is interested: https://pastebin.ubuntu.com/p/KRmr4PsySm/
<konradybcio> strongtz: do you only have wifi on pcie?
<strongtz[m]> yes. and I applied the latest pwrseq series btw
<konradybcio> ufs worked for me through deep suspend a couple cycles ago, but mani_s: and narmstrong: reported that wasnt the case anymore
<narmstrong> It *was* fixed in Linux next, guess the result isnโ€™t the same in rc1
<strongtz[m]> tbh I applied quite a lot of patches atop next. It could be some patches messing it up again lol https://github.com/edk2-porting/linux-next/commits/work/sakuramist-odin2
<konradybcio> yeah uh theres too much fluff to reasonably go through it
<konradybcio> please retest on next with perhaps the most important additions only
<strongtz[m]> makes total sense, will try
<strongtz[m]> with a much more simplified branch below, I can only see pcie_0_gdsc status stuck at 'off' in the resume process, then the device crashes
<konradybcio> I'll be taking a look at pcie stuff next week
<strongtz[m]> I managed to decode the TZ log from the dump and it appears to be a NoC error with details here: https://pastebin.ubuntu.com/p/Xr836VxJXF/
junari has quit [Ping timeout: 480 seconds]
Caterpillar has joined #linux-msm
<konradybcio> strongtz is that stored in plaintext within the tzlog region?
<calebccff> lumag: Marijn[m]: having a closer look at the oneplus 8T panel, it seems to have a totally proprietary way of programming the PPS? https://github.com/LineageOS/android_kernel_oneplus_sm8250/blob/lineage-21/arch/arm64/boot/dts/vendor/19805/dsi-panel-oplus20828-samsung-amb655x-1080-2400-120fps.dtsi#L111
<calebccff> have you seen this before?
<calebccff> the panel dtsi doesn't contain a MIPI_DSI_COMPRESSION_MODE command
<calebccff> I've tried with and without adding the PPS (see https://gitlab.com/sdm845-mainline/linux/-/commit/147ae26c3d0e76fd4314a2d5c938d9fa3a564f1a) but to no avail, just a black screen
<calebccff> there is this mdss-dsi-post-on-backlight command sequence which is probably important but adding it doesn't help
<lumag> calebccff, yes, it's a proprietary stuff.
<lumag> The packet that starts with 39 01 00 00 00 00 81 9E is PPS
<calebccff> it's configured as single DSI but with two layer mixers, does mainline need any special handling for that? I'm not sure how the topology is determined
<calebccff> welp, funn
<lumag> No, there is no need for special handling for 2 LMs
<lumag> For the reference, here is the PPS packet from Pix3:
<lumag> (contents, of course, without the wrapping):
<lumag> [ 12.780247] PPS: 00000000: 11 00 00 89 30 80 08 70 04 38 00 10 02 1c 02 1c ....0..p.8......
<lumag> [ 12.788758] PPS: 00000010: 02 00 02 0e 00 20 01 84 00 07 00 0c 06 67 06 5c ..... .......g.\
<lumag> [ 12.797266] PPS: 00000020: 18 00 10 f0 03 0c 20 00 06 0b 0b 33 0e 1c 2a 38 ...... ....3..*8
<lumag> [ 12.805775] PPS: 00000030: 46 54 62 69 70 77 79 7b 7d 7e 01 02 01 00 09 40 FTbipwy{}~.....@
<lumag> [ 12.814282] PPS: 00000040: 09 be 19 fc 19 fa 19 f8 1a 38 1a 78 1a b6 2a f6 .........8.x..*.
<lumag> [ 12.822789] PPS: 00000050: 2b 34 2b 74 3b 74 6b f4 00 00 00 00 00 00 00 00 +4+t;tk.........
<lumag> [ 12.831297] PPS: 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<lumag> [ 12.839804] PPS: 00000070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
<lumag> You see, they are pretty close.
<calebccff> ooh i see
<calebccff> so weird that they send it that way then
<lumag> Because normally PPS uses special packet type.
<calebccff> hmm i see
<lumag> Here they have wrapped it into a generic DCS_LONG_WRITE packet
<calebccff> any ideas for what to poke at?
<calebccff> I guess I could try generating the PPS and sending it
<calebccff> in the proprietary format
<lumag> I'd say, check that PPS matches what you have there.
<calebccff> like, generated vs their hardcoded one?
<Marijn[m]> Yeah, compare them
<Marijn[m]> Because if it doesn't match, that indicates a mistake/bug somewhere earlier in the pipeline
<Marijn[m]> And those parameters are used to configure DPU and DSI host, which are then likely misconfigured
<Marijn[m]> (At least that's how we initially debugged all the many mistakes)
<Marijn[m]> I'm glad this is a 221 panel though, no 222 topology ๐Ÿ˜…
<Marijn[m]> 221 is "supported", 222 is definitely not yet.
<calebccff> Marijn[m]: ah i see, there's some 222 devices in upstream already though right?
<Marijn[m]> calebccff: if you call my fork upstream then yes ๐Ÿ˜ถ
<calebccff> saw some dual DSI sony stuff
<calebccff> heh right
<Marijn[m]> https://github.com/somainline/linux/commits/marijn/panel-exclusives you must've seen it here, nothing is truly upstream yet
<Marijn[m]> Because it's not at all working. There's a drm/msm issue floating around showing the current status of things
<Marijn[m]> Every 6th DSC slice renders correctly, and the right half is not functioning
<Marijn[m]> Qcom engineers checked the registers and they say it looks alright, so it might be clocks or DSI DCS that I'm sending. Just the sample size of 1 makes this hard to debug
<Marijn[m]> By the way when looking at the PPS, make sure to include or exclude the header depending on how you look at it. I've seen that got messed up more times than expected :)
<calebccff> haha oh yeah for sure
<calebccff> im doing __builtin_dump_struct() for sanity checking
<lumag> Marijn[m], With Pix3 I ended up wiring up debug prints to all DSI writes and to all DSI transfers on downstream kernel.
<lumag> maybe I should do the same with the RB5 / 4k mode.
<lumag> But nobody at QC was able to promise me that RB5/4k has ever been tested.
<lumag> And I don't have phones with dual-DSI-and-DSC
<lumag> calebccff, I usually do print_hex_dump or print_hex_dump_bytes()
<calebccff> lumag: yeah doing that do... forgot to #define DEBUG :(
<calebccff> to*
<Marijn[m]> lumag: yeah, I should do that
<Marijn[m]> And did that for some critical writes already, to not get spammed. Their values were all equal
<Marijn[m]> Not to forget this was on one of the "VM" SoCs, where half the code is `if (sde->something_are_we_running_in_a_vm) return;` so it doesn't even send half the regular DSI DCS for example
<lumag> Well, that means that we can skip that too
<lumag> But note that you have to get past the 'splash screen' handover
<Marijn[m]> Yeah, it was in Android UI
<Marijn[m]> Anyway, figuring out what to skip is a hassle
<lumag> Ah, just Linux kernel + modetest, that was enough
<lumag> Especially because w/o fbcon the panel gets restarted each time.
<Marijn[m]> But for example PPS was skipped, making it harder to compare per the above
<Marijn[m]> Setting that downstream kernel up like such is probably a bigger hassle than just booting into its original OS, while only modifying the kernel a bit
<lumag> Hmm, worked mostly like a charm :D
<lumag> But it was 4.9
<Marijn[m]> This was 5.4 or 5.10
<calebccff> so the good news is the downstream PPS matches my generated one exactly
<lumag> calebccff, that's good already
<calebccff> bad news is now i have no idea why it's not working XD
<lumag> I'd say, if the panel stays black, you have issues with backlight
<lumag> or with bl regulator