-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HDMI output only works on single channel on Up2 #226
Comments
this should be PGA default value issue, the volume of Left channel is set to 0 by default wrongly. |
@keyonjie what do you mean? Is this a known topology issue? or a driver issue? |
I noticed this in chrome is as well. I assumed it was a ucm issue |
@cujomalainey do you still have this issue on chrome? I ran into this issue earlier but couldnt reproduce it after I used the updated ucm |
I'll try and reproduce it if I have time tomorrow, I usually trigger it when I'm building the 4.18 kernel |
I believe there is bug here, on Yorp, ucm file may hide this bug. |
@mengdonglin can you please assign someone to look into this and check on the validation side? Looks like a blocking P1 to me? |
@ranj063 I am unable to reproduce it currently as my patch doesn't appear to be working anymore and therefore I am getting no devices populated. It will take me some time to debug. |
Summary: Test Steps:
Test env: |
I think it's a topology issue, all the HDAudio streams have the left channel muted:
I absolutely didn't make this selection so it's coming from the topology or the driver. @ranj063 does this ring a bell? |
@plbossart the platform topology m4 file doesn't set the initial mixer settings for the PGA: https://github.com/thesofproject/soft/blob/master/topology/sof-apl-pcm512x.m4 And it's strange this only happens to HDMI streams, since the HDA DAI configuration m4 also doesn't set the initial value, please see: https://github.com/thesofproject/soft/blob/master/topology/m4/hda.m4 So maybe from driver side? |
@ranj063 do you happen to know the mixer defaults are defined for PGA values? I just don't get how in multiple cases the max is selected - expect for the left channel. |
@mengdonglin I think this is not only HDMI, I've seen this with basic codec path also and I think @plbossart reported it previously in some other issue. I'm not sure do I get it with updating the kernel, sof or the whole image... (because once you set it, alsa remembers it). I can try to hunt this down, if @ranj063 doesn't immediately know the problem spot, but it will take me some time as I have to trace the control creation path in kernel. |
@juimonen also check that pusleaudio is not doping anything daft. Best to rename /usr/bin/pulseaudio to another name, delete old alsa state file then reboot to rule out userspace. |
@lgirdwood yep, it is not pulseaudio. This can be reproduced by renaming also alsactl. I was trying to disable it "nicely" by fiddling with systemd, but this is the easiest way. So with "first boot" all our pga volumes |
actually I see this in firmware log: So channel 0 -> 0 volume and channel 1 -> max |
@juimonen ok, looks like bug in volume.c |
yep, this is the set before get: 0 2 unknown 73280.885417 2.864583 volume.c:320 value 0 so same channel 0 is set twice to 0. channel 1 is left untouched so it has max. |
and that means it is coming from kernel side with ipc ... so someone is setting it to 0 but with empty data-> as a consequence only other channel is set. And that means that default pga value is max (which is correct). |
and it seams it is the restore of controls that sets the value incorrectly. |
@juimonen it's ok to share your findings live, it helps the rest of the team follow what might be happening. Thanks for looking into this! |
closed with PR258 |
Add RUST_LIB_SRC make argument for nix builds
When trying the latest kernel code (topic/sof-dev) along with sof/soft master, I only get sound on a single channel.
The mixer configuration is this (need to use pin6-port0 with cvt2)
amixer -Dhw:0 cset numid=28 1
and command line
speaker-test -Dhw:0,1 -c2 -r48000 -t sine
Adding as a kernel bug for now until it's sorted out.
The text was updated successfully, but these errors were encountered: