<steev>
jstultz: why do you disable venus in you db845c mainline config??
<bamse>
steev: because the main venus device races with the two sub-devices...
<jstultz>
bamse: steev: also with the static config, the firmware loading fails (as the vendor part isn't yet mounted) and takes forever to give up and boot.
<bamse>
jstultz: ahh, i see
<steev>
ah, that makes sense
<bamse>
jstultz: but remind me again, what's the symptom of that race? just a reboot?
<jstultz>
bamse: I'm carrying the locking fix to avoid the crash.
<steev>
i have that locking fix here too
<jstultz>
bamse: yeah, the board crashes and reboots.
<steev>
but i've also never seen *that*
<bamse>
jstultz: i made this awesome clock fix that made it possible to bring up display on sm8350, but it apparently tripped steev's device badly
<bamse>
jstultz: but it's apparently not the same issue then
<jstultz>
8350 is what? I can't keep track when there's more then 3 digits.
<steev>
but it did make the blue screen black, which is somewhat of an improvement?
<bamse>
jstultz: 888
<jstultz>
steev: we are moving the Venus fw to the ramdisk so it should start working with the static config
<jstultz>
bamse: ah, very cool
<bamse>
steev: nah, the blue screen indicates that mdp is ticking but is somehow isn't able to read the pixels to display
<steev>
makes sense, it's a module here so maybe that's why i never ran into it
<bamse>
steev: black probably means that the display block isn't ticking anymore
<steev>
the backlight is on, but probably
<bamse>
jstultz: seems to be a bunch of things in the power-domain/clock space where we used to wing it and 8350 got stricter
<bamse>
jstultz: so on the path to 8450 (snapdragon 8 gen 1) and 8cx gen 3, i finally managed to figure out how to please the display clock controller...but apparently not steev
<steev>
bamse: i'm still carrying the patch from lumag that he'd sent me to test, maybe i should back that out?
<bamse>
steev: you're saying that without dmitry's patch it works as good as it used to? with the old warning?
<steev>
i need to reboot a bunch more to test
<steev>
but does seem to
<bamse>
okay good, because afaict there should really be no different on sdm845
<steev>
yeah, i think the part where you return 0 in your patch, his patch kind of relied on
<steev>
so clocks were just getting deferred forever?
<steev>
roughly
<bamse>
before my change, when you switch parent for a disabled rcg, the register configuration would be written...but the bit that you write to "commit" the change in the hardware was never written
<bamse>
then as you hit enable, we just hit that bit
<bamse>
so we sort of used the configuration register in the rcg as a "temporary variable"
<bamse>
the problem i spotted on 8350 is that when MDSS_GDSC is toggled, it will actually commit the configuration...
<bamse>
so the rate-change for a disabled clock would actually kick in, while we thought it was disabled
<bamse>
the problem is that for the rcg to operate over one of these updates, it needs to have both the old and new parent (if different) enabled, or the hardware will stall
<bamse>
so if linux has turned off the parent, and we call clk_set_rate() and then gdsc_enable(MDSS_GDSC) we would stall the rcg
<bamse>
so what my change does is to leave the hardware alone and once we later try to enable the rcg we actually apply the configuration change as well as commit the change
<bamse>
steev: what's interesting in this journey is that i got 8350 to boot without clk_ignore_unused and pd_ignore_unused...so i got a couple more patches to post but i think we can do the same on sdm845
<bamse>
and thereby clean things up a little bit more
marvin24 has joined #linux-msm
marvin24_ has quit [Ping timeout: 480 seconds]
<steev>
that would be awesome
testjp has joined #linux-msm
testjp has quit []
<Danct12>
anyway to identify the device has which touch screen? for example on redmi note 7 (lavender), some uses synaptics and some uses novatek
<konradybcio>
you have to just rely on probe failures, probably
<konradybcio>
unless you want to know which one is currently on your device, then you can run evtest and it should show you the device name