<minecrell>
I just wonder if all these conditionals are worth it or if we can just use no-op runtime PM there
<srinik>
minecrell: for remote controlled bam we can not cut off the clock if dsp is managing it. runtime pm should be mostly done when HLOS is in full control of the IP.
<srinik>
minecrell: dsp might be in middle of accessing the registers while we cut off the clock, Ideally these clocks should be voter clocks where both hlos and dsp can vote on them.. but am not sure how these particular clocks are managed
<srinik>
minecrell: yes, we should not be calling any runtime pm functions for remotely controlled ones
<srinik>
minecrell: I wonder what has changed in 5.19 that showed up this issue. this patch was in from a very long time.
<srinik>
minecrell: I wonder what has changed in 5.19 that showed up this issue. this patch was in from a very long time.
<Mis012[m]>
srinik: lots of clocks should have hw voting but don't... :(
<Mis012[m]>
and then you need RPM MITMing the clocks in order to have voting
<Mis012[m]>
or you just can't touch the clocks from Linux at all
pespin has joined #linux-msm
<minecrell>
srinik: 5.19 started logging runtime PM underflows. It was always broken, it just wasn't noticeable so far
<minecrell>
srinik: I don't think remotely controlled ones do have clocks assigned, so shouldn't the runtime PM callbacks be a no-op?
pespin has quit []
pespin has joined #linux-msm
<minecrell>
clk_enable() just returns 0 immediately if the clock is null. So enabling runtime PM is a bit weird but shouldn't make a functional difference and would make the code easier to read
<Tooniis[m]>
what are COPPs in ADM?
<srinik>
minecrell: I was hoping that runtime_pm_disable should take care of it.. which does not look correct.. If you already have patch can you send it to list, we could discuss it with wider audience
<srinik>
Tonniis[m]: COPPs are matrix[like mixers] connecting afe and asm streams
<minecrell>
srinik: The two options are adding pm_runtime_enabled() checks to all pm_runtime_put() calls as well or somehow making use of runtime PM without breaking anything. I'm not really sure myself what is best (that's why I asked)
<minecrell>
But yeah I guess I can make a patch for one of the options
<srinik>
minecrell first one sounds reasonable, lots of the dirvers do something similar,
<srinik>
minecrell add bam_pm_runtime_put... wrapper or something on those lines
<minecrell>
srinik: fair enough, will send it later
<minecrell>
Thanks :)
<minecrell>
Or do you want to?
<Tooniis[m]>
im having trouble understanding multiple channel playback. taking db820c as an example, multimedia2 is connected to slimbus_5_rx mixer for left channel and slimbus_6_rx mixer for right channel, but then only slimbus_6_rx is connected to aif4_pb on wcd9335?
<Tooniis[m]>
and in wcd aif4_pb splits into slim rx5 mux and slim rx6 mux again
<Tooniis[m]>
how does that work exactly?
<Tooniis[m]>
or is the rx5/rx6 split only in the wcd side? im not sure
<Tooniis[m]>
im trying to do something similar for capture with 2 mics connected to one dai, but im not sure how to do it
<Tooniis[m]>
in the wcd9335 driver the capture dais have `channels_max = 4`, but im not sure how i can hook up multiple channels to them
<Tooniis[m]>
unlike pb, there are mixers between the slim tx* muxes and aif* cap dais
<bamse>
DylanVanAssche: it seems to have been posted after i had to send my v5.19-rc1 pull request, and i've not gotten up to speed on going through the queue again
<DylanVanAssche>
bamse: No problem, I'm not in a hurry. Take your time 🙂
<bamse>
thanks, i will try to get through the queue as soon as possible
<DylanVanAssche>
bamse: sure, I'm a bit inexperienced with patches and kernel mailing lists, this like my 2nd one or something, still have a lot to learn 🙂
pespin has quit [Remote host closed the connection]