<aka_[m]>
srinik: well i do use apq8016_sbc.c i meant i its being set by this driver so i can ignore PCM and just add ibit/this single one mi2s OSR for quin
<aka_[m]>
s/i/if/
<aka_[m]>
entire dai init and rest is inside that driver i see.
<aka_[m]>
so far from inspecting packets it appears only Primary and Quinary is being set
<aka_[m]>
i thought Tertiary is somehow related to analog codec
<srinik>
aka_[m]: none of the clks are set other than from machine drivers. For I2S all you need to set is IBIT and MCLK
<aka_[m]>
and i have question about multimedias, can i skip links in dts?>
<aka_[m]>
or its possible to set all of them to be from quin inside alsa-ucm-conf
<srinik>
aka_[m]: regarding packet format you can take a look at struct afe_port_cmd_set_param_v2 in q6afe.c and 0x000100EF corresponds to AFE_PORT_CMD_SET_PARAM_V2
<srinik>
aka_[m]: We need both Frontend and backend dais in dts, for Frontend Dais are MultiMedia[1..8] and backend dais would be your codec nodes. both of these should in the dts for machine driver to be able to build dai_links.
<srinik>
aka_[m]: you can also manually build dai_links in machine driver but you would need to specify exact dai name to be able to bind to sound card.
<aka_[m]>
and what will happen if q6routing assume Multimedia2 wants to go with Tetr interface which i disabled?
<aka_[m]>
there is msm8916 fork of alsa-ucm-conf which have this q6components conf
<srinik>
aka_[m]: you can mix any frontend with backend using Mixer controls like 'QUAT_MI2S_RX Audio Mixer MultiMedia1' ...etc
<aka_[m]>
i exactly did that
<aka_[m]>
and it was throwing me that it cannot something backend dai
<aka_[m]>
but maybe thats because my QUIN was failing
<aka_[m]>
lets try now once again.
<srinik>
aka_[m]: yes, we can only do playback once both frontend and backend dais are connected, also make sure that you are playing on correct card device and subdevice id.
<aka_[m]>
this is kinda hard for me to understand
<aka_[m]>
downstream mixer path have mm4 as deep buffer or something
<aka_[m]>
i assume WCD device contains card_index,subdevice_id
<aka_[m]>
so in theory if there is mm1 mm2 mm3 and mm4 and i want to play on mm4 i should set it to 0,3?
<srinik>
aka_[m]: downstream is bit different, they define dai links statically in the machine driver. if you have lets say mm1, mm2 in your dts as frontend dais then in aplay you should see them as card 0, subdevice 0, and subdevice 1
<srinik>
aka_[m]: then lets say you wanted to play something on a QUAT_MI2S connected codec, first we set mixer "amixer cset iface=MIXER,name='QUAT_MI2S_RX Audio Mixer MultiMedia4' 1"
<srinik>
aka_[m]: them aplay -D plughw:0,0 test.wav
<aka_[m]>
so we route MM4 to QUAT ?
<srinik>
aka_[m]: sorry I meant MM1
<aka_[m]>
so MM are like virtual routes which we set to output to specific interface?
<aka_[m]>
ok so reverting MM1 to use Primary Mi2S ended with crash again
<aka_[m]>
with same issue
<aka_[m]>
-110
<Mis012[m]>
timeout?
<aka_[m]>
some clocks not set
<aka_[m]>
with QUIN it was enought to set OSR one
<aka_[m]>
there are 10 packets to configure ports
<aka_[m]>
Mis012: imma try add more clocks there and hope it will not crash
<aka_[m]>
its haard
<aka_[m]>
really
<aka_[m]>
and Primary still keep crashing
jhovold has quit [Ping timeout: 480 seconds]
jhovold has joined #linux-msm
jhovold has quit [Ping timeout: 480 seconds]
pespin has quit [Remote host closed the connection]
lumag_ has joined #linux-msm
<aka_[m]>
srinik: so anything other than QUIN crashes device and i came to conclusion i might need new type of fe dais to q6asm-dai.c as this one only supports MultiMedia type and i need hostless ones.