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)
phire_ has joined #aarch64-laptops
phire is now known as Guest4585
phire_ is now known as phire
Guest4585 has quit [Ping timeout: 480 seconds]
agl7-Galaxy has quit [Ping timeout: 480 seconds]
hexdump0815 has joined #aarch64-laptops
hexdump01 has quit [Ping timeout: 480 seconds]
<jhovold> broonie: i would not be suprised if there are further problems with the qualcomm runtime pm implementation, but the -EBUSY in steev's log happens already during component probe
<jhovold> the runtime pm implementaion is incomplete, and fails to resume the soundwire device before trying to access the registers
<jhovold> I can reproduce the issue here with some instrumentation altering the autosuspend timing, has just worked by chance for most of us so far
<jhovold> steev: i shall have a fix for you to test by the time you wake up (go back to to bed ;) )
svarbanov has joined #aarch64-laptops
svarbanov has quit [Ping timeout: 480 seconds]
<ungeskriptet> kitsune-tsuki: Hi, I've been told that you have a sc7180 laptop with ufs. I want to upstream SM7125 support and wanted to ask you if you have ufs working there
<ungeskriptet> Right now I have ufs defined in sm7125.dtsi. It would be great if you could test this so that I can move the UFS nodes to sc7180.dtsi if it works for you
apalos_ has joined #aarch64-laptops
mani_s- has joined #aarch64-laptops
apalos_ has quit [Quit: ZNC 1.7.2 - https://znc.in]
mani_s- has quit []
svarbanov has joined #aarch64-laptops
<jhovold> steev, clover[m], srinik, broonie: posted a fix for the broken headphone issue here: https://lore.kernel.org/lkml/20230630120318.6571-1-johan+linaro@kernel.org/
aigotchi[m] has quit [Quit: Client limit exceeded: 20000]
alpernebbi has quit [Ping timeout: 480 seconds]
xnox has quit []
xnox has joined #aarch64-laptops
svarbanov has quit [Ping timeout: 480 seconds]
ptitSeb_ has joined #aarch64-laptops
ptitSeb has quit [Ping timeout: 480 seconds]
Evaia63101 has quit [Quit: Ping timeout (120 seconds)]
Evaia63101 has joined #aarch64-laptops
svarbanov has joined #aarch64-laptops
alpernebbi has joined #aarch64-laptops
<steev> jhovold: doesn't work :(
<broonie> steev: You could put a WARN_ON() in there to generate a backtrace and confirm exactly where it's trying to do the I/O.
<steev> will see about doing so after work
agl7-Galaxy has joined #aarch64-laptops
hexdump0815 has quit [Quit: WeeChat 1.9.1]
hexdump0815 has joined #aarch64-laptops
<hexdump0815> ungeskriptet: i once tried to take over the sc7125 ufs entries to a sc7180 samsung galaxy book go and it did not work
<hexdump0815> unges
<hexdump0815> ungeskriptet: but i must admit that i have no real idea about ufsand that was really just a blind try - i guess there is more code required beyond just the dts entries
<ungeskriptet> I remember that UFS wasn't working for me on the latest kernel and I had to change some nodes/properties
<hexdump0815> ungeskriptet: i could try a few things in case you can guide me a bit :)
<ungeskriptet> Sure that would be great
<hexdump0815> ungeskriptet: i'm currently running v6.1, so if you have anything to try for that, then just point me to the code and i can have a look in a few days ... i could also go to v6.3 or v6.4 if needed
<hexdump0815> ungeskriptet: what seems to be a problem on those windows on arm devices it to get reliable resource info from the dsdt
<ungeskriptet> You need this patch and rename sm7125-qmp-ufs-phy to sc7180-qmp-ufs-phy
<ungeskriptet> And rename the compatible in the DTS too
<ungeskriptet> It would be best to test this on v6.4
<jhovold> steev, broonie: very odd, that register is only accessed in wcd938x_soc_codec_probe() and I could reproduce the exact same symptoms you reported by intstrumenting the timing
<jhovold> it seems unlikely that we have more than one way that that access can fail with -EBUSY, but I guess not impossible
agl7 has joined #aarch64-laptops
<broonie> Is runtime PM turned off somehow?
<hexdump0815> ungeskriptet: i'll give it a try during the next days and report back here
<jhovold> broonie: I'm assuming the -EBUSY comes from map->cache_only being set in _regmap_read(). If runtime was disabled, the soundwire device should not be suspended and that flah should not be set
<broonie> jhovold: wcd9380_probe() appears to unconditionally set cache_only, assuming it's starting up with runtime PM idle.
<jhovold> broonie: heh, indeed. So way we have at least two ways this implementation is broken...
<broonie> The whole bootstrapping with runtime PM situation coupled with optionality always feels overly fragile and complex :/
<jhovold> broonie, steev: so it seems we may have a regression here with 84822215acd1 ("ASoC: codecs: wcd938x: fix accessing regmap on unattached devices") that was backported to 6.3.2
<jhovold> before that commit, the state of the regmap cache flag matched the runtime pm state
<jhovold> and with my fix, this would not have been an issue
<broonie> Oh, it's the TX sound device probing after whatever device this is?
<jhovold> I'll take a closer look later, but dropping that regcache_cache_only or setting the initial state to suspended may be enough to address this
<broonie> The other devices need to probe defer if they need the regmap.
<jhovold> broonie: the code is using this soundwire device for register accesses, i don't understand yet why you'd set it the cache_only flag ones it has probed
<jhovold> codec*
<broonie> IIRC it's the SoundWire issue where the device is probed through DT but might not have actually enumerated on the bus yet.
<jhovold> ah, ok. yeah, something clearly goes wrong, but at least we know roughly where now
<jhovold> goes wrong here*
<broonie> We keep a persistent Linux device around for SoundWire devices even though they might physically hot unplug and reconnect for power management purposes.
<jhovold> ok, after skimming the commit message, it seems starting up in suspended state might do the trick, but I'll take a closer look tomorrow
<steev> jhovold: shouldn't that mean that 6.3.9/10 shouldn't work as well though if it was backported to 6.3.2? because 6.3 works for me, but 6.4+ does not (though 6.3.10 seems to have a few timing issues)
ptitSeb has joined #aarch64-laptops
ptitSeb_ has quit [Ping timeout: 480 seconds]
agl7-Galaxy has quit [Remote host closed the connection]
agl7-Galaxy has joined #aarch64-laptops
agl7 has quit [Quit: bis denne]
svarbanov has quit [Ping timeout: 480 seconds]
Caterpillar has quit [Quit: Konversation terminated!]
echanude has quit [Quit: WeeChat 3.6]