ChanServ changed the topic of #aarch64-laptops to: Linux support for AArch64 Laptops (Asus NovaGo TP370QL - HP Envy x2 - Lenovo Mixx 630 - Lenovo Yoga C630)
<qzed> that doesn't seem to work
<qzed> what I think is a bit weird: I can blacklist msm, the distcc and gpucc modules and I still get a black screen
<robclark> black from start of boot, or goes off somewhere in the middle? I guess iommu (arm_smmu) is another candidate, perhaps? gpucc shouldn't have much to do with anything but dispcc could
<qzed> it's on for short while, as far as I can tell it turns black even before it's done with the initram
<qzed> it's been a problem before, which at that point I've fixed by not building the distcc and gpucc modules (at all)
<qzed> but things have changed in the DT and blacklisting them (which should have worked before) doesn't any longer
<qzed> IIRC not having those blocked the smmu from loading
<qzed> *dispcc of course, not distcc
<qzed> also another weird thing: having gcc_8180 built into the kernel causes a stall
<qzed> whereas having it as module included in the initram does not
<qzed> I assume that's some power-up sequence problem
Lucanis0 has quit []
Lucanis has joined #aarch64-laptops
<qzed> so I tried blacklisting arm_smmu and that results in a boot failure
<qzed> even before I can get anything off the device via usb-serial
<qzed> and also a black screen, just like before
<robclark> if it gets to initramfs, I guess you can try to figure out which module kill it.. there are basically a lot more ways for it to go wrong than to go right (ie. some unrelated driver could enable then disable a clock with the disable propagating up the tree until it disables some parent clk that display indirectly depends on, and things like that)
<qzed> I don't think it even gets that far...
<qzed> not sure if this is works well with IRC, but here's a video of what's currently happening wrt. black screen
<qzed> seems like it flashes white for a bit
<robclark> could be when arm-smmu takes over, or at least it looks fairly early in boot.. not sure how much you should worry about it, since it wouldn't really be a problem once more of the platform enablement is in place and display driver works
<qzed> yeah, just can't figure out why it stays black... so I thought this might be related, but it might also just be a red herring
<robclark> probably red herring.. the real question is why it doesn't come back ;-)
<qzed> I briefly thought it might be a power thing but the kernel (and I) can read the edid from the aux i2c just fine
<qzed> so I guess that works?
<robclark> I suspect reading edid means dp block has power which probably means display block has power.. so could be something as simple as backlight?
<qzed> that works too, can control that and change brightness
<robclark> if dpu thinks it did modeset and it wasn't powered, it would be insta-reboot.. if you can read edid over dp aux channel, that should mean that panel has power... so idk
hexdump01 has joined #aarch64-laptops
hexdump0815 has quit [Ping timeout: 480 seconds]
hexdump0815 has joined #aarch64-laptops
hexdump01 has quit [Ping timeout: 480 seconds]
derzahl has quit [Ping timeout: 480 seconds]
<qzed> is it possibel for edp panels to use only 2 of the 4 lanes?
<qzed> if I have 4 specified in the DT, it fails 2 times when trying to train the link
<qzed> it eventually succeeds but when I look in debugfs, it shows that only 2 lanes are used in the connector
<qzed> when I specify 2 lanes in the dt, there are no link training errors
<qzed> also there's still the "disp_cc_mdss_edp_pixel_clk_src: rcg didn't update its configuration."
<qzed> that's only printed once though, and if I check the clock is set each link training try, so the subsequent tries it seems to work
<HdkR> Definitely yes, you don't need four lanes unless you're pushing high BW
matthias_bgg has quit [Ping timeout: 480 seconds]
<qzed> okay thanks, so then that shouldn't cause any problems...
matthias_bgg has joined #aarch64-laptops
<qzed> robclark: so I figured out what the issue regarding the early blank screen is...
<qzed> and as you've said it seems to be unrelated
<qzed> during boot, panel and display are driven by the embedded controller
<qzed> and as soon as it "detects" that we're trying to drive them it more or less hands them over to us
<qzed> and it seems to detect that via a panel enable GPIO, which also controls the soc-driven power
<qzed> so my current setup is to use the enable pin in a voltage regulator which is then provided as supply to the panel node
<qzed> turns out that if I drop the GPIO from the voltage regulator spec and make it fixed instead, the panel stays on until the GPU boots up (or something happens around that time)
<qzed> so the EC detects something even though the panel regulator shouldn't be on yet
<qzed> maybe the regulator somehow power-cycles?
<qzed> anyways, it looks like the EC detects us fiddling with the panel-enable pin and decides it can drop its panel-enable signal
<qzed> (both are essentially or-ed together)
<qzed> and that then likely results in the panel being off, until we actually turn it back on later, at which point the second issue kicks in
derzahl has joined #aarch64-laptops