Bug#995923: linux: Regression in 5.14: no more multichannel audio on Rock64

2021-10-09 Thread Diederik de Haas
Control: tag -1 patch

On Friday, 8 October 2021 10:43:14 CEST Diederik de Haas wrote:
> In kernel 5.13 on my Rock64, `pactl list cards` correctly identified my
> AVR (SC-1224) and had various multichannel audio profiles I could choose
> from. Since kernel 5.14, `paclt list cards` no longer identifies my AVR and
> I only have stereo audio profiles.

I went on my first 'git bisect' action on the upstream code and that identified 
commit 907f0a3051869a61499905377212500155bd28ec as the first bad commit, with 
commit message "ASoC: simple-card: Fill in driver name".

No idea why that commit would break multichannel audio, but I built a 5.14.10 
upstream kernel with 2 changes:
- Kernel config changes (to arm64/defconfig) ~ the same as I had proposed for 
the Debian kernel (PMIC + audio related)
- Reverting of commit 907f0a3051869a61499905377212500155bd28ec

And when I booted into that, I had my multichannel audio back again \o/

I haven't yet built a new Debian kernel with this change, but I would be 
extremely surprised if it wouldn't fix the issue there too.

FWIW, my 'git bisect' log:
==

Good commit: bd31b9efbf549d9630bf2f269a3a56dcb29fcac1
Bad commit:  d6b63b5b7d7f363c6a54421533791e9849adf2e0

$ git checkout rock64-5.14-dev-4-gd6b63b5b7d
$ git bisect start
$ git bisect bad
$ git bisect good bd31b9efbf549d9630bf2f269a3a56dcb29fcac1
$ git bisect good 498386d1c4d98a72db7a2f51473593ad563b45ae
$ git bisect good c50f381afcab30125e43258bba9316054c4ddfac
$ git bisect good 4cb9d648f669c4e31bec4447c98553c65079681b
$ git bisect good 590cfb082837cc6c0c595adf1711330197c86a58
$ git bisect bad f5e2d697d3cbd6d20684eddd3e280809c30e37a1
$ git bisect good bf35a1eeaca618341409f94c90271bb14d1c484a
$ git bisect bad 657e473e8813f62c536f74650188d078f9fff345
$ git bisect good 0ba0f44fd516b34c9f40cd82fd480705d0f378dc
$ git bisect bad 4b1d51715d1cf78a1527fe426fc0278dcfea1959
$ git bisect bad 907f0a3051869a61499905377212500155bd28ec
907f0a3051869a61499905377212500155bd28ec is the first bad commit
commit 907f0a3051869a61499905377212500155bd28ec
Author: Guido Günther 
Date:   Tue Jun 22 10:27:09 2021 +0200

ASoC: simple-card: Fill in driver name

 
==

I guess this should be reported upstream, but I have no idea who that would be 
and how and where to report it.

Cheers,
  Diederik

signature.asc
Description: This is a digitally signed message part.


Bug#995923: linux: Regression in 5.14: no more multichannel audio on Rock64

2021-10-08 Thread Diederik de Haas
Source: linux
Version: 5.14-1~exp1
Severity: normal
Tags: upstream

In kernel 5.13 on my Rock64, `pactl list cards` correctly identified my
AVR (SC-1224) and had various multichannel audio profiles I could choose from.
Since kernel 5.14, `paclt list cards` no longer identifies my AVR and I
only have stereo audio profiles.

I've build and tested various kernel versions myself based off commit
e4e2aea3e840406042537c5ef4970d9e8560a103 (Merge branch 'rockchip-spdif'
into 'master') which has all needed audio modules (afaik) enabled for
Rock64.
The 5.13.12-1~exp2 is slightly older and therefor misses the SPDIF card.
I used the same dtb in all the test, which is build from 5.14.6, and I've
kept all other software at the same sofware versions, so it wouldn't affect
the results.
I think that means the only (real) change is the upstream source code.

Output of `uname -a` and `pactl list cards` on the various kernels:

diederik@bagend:~$ ssh soundserver
Linux soundserver 5.13.0-trunk-arm64 #1 SMP Debian 5.13.12-1~exp2 (2021-08-21) 
aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct  7 09:29:48 2021 from 192.168.2.50
Initialising new SSH agent... succeeded
diederik@soundserver:~$ uname -a
Linux soundserver 5.13.0-trunk-arm64 #1 SMP Debian 5.13.12-1~exp2 (2021-08-21) 
aarch64 GNU/Linux
diederik@soundserver:~$ pactl list cards
Card #0
Name: alsa_card.platform-hdmi-sound
Driver: module-alsa-card.c
Owner Module: 4
Properties:
alsa.card = "0"
alsa.card_name = "HDMI"
alsa.long_card_name = "pine64-rock64_rk3328-"
alsa.driver_name = "snd_soc_simple_card"
device.bus_path = "platform-hdmi-sound"
sysfs.path = "/devices/platform/hdmi-sound/sound/card0"
device.form_factor = "internal"
device.string = "0"
device.description = "Built-in Audio"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Profiles:
input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, 
priority: 51, available: yes)
output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, 
sources: 0, priority: 5900, available: yes)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output 
(sinks: 1, sources: 0, priority: 800, available: yes)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output 
(sinks: 1, sources: 0, priority: 800, available: yes)
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
Active Profile: output:hdmi-surround71
Ports:
analog-input: Analog Input (type: Analog, priority: 1, 
latency offset: 0 usec, availability unknown)
Part of profile(s): input:stereo-fallback
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, 
latency offset: 0 usec, availability unknown)
Properties:
device.icon_name = "video-display"
device.product.name = "SC-1224"
Part of profile(s): output:hdmi-stereo, 
output:hdmi-surround, output:hdmi-surround71
diederik@soundserver:~$ su -l
Password:
root@soundserver:~# vim /etc/default/grub
root@soundserver:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.14.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.14.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.13.0-1-arm64
Found initrd image: /boot/initrd.img-5.13.0-1-arm64
Found linux image: /boot/vmlinuz-5.13.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.13.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.10.0-8-arm64
Found initrd image: /boot/initrd.img-5.10.0-8-arm64
done
root@soundserver:~# reboot
Connection to soundserver closed by remote host.
Connection to soundserver closed.
diederik@bagend:~$ ssh soundserver
Linux soundserver 5.13.0-1-arm64 #1 SMP Debian 5.13.19-1 (2021-10-03) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct  7 23:23:06 2021 from 192.168.2.50
Initialising new SSH agent... succeeded
diederik@soundserver:~$ uname -a
Linux soundserver 5.13.0-1-arm64 #1 SMP Debian 5.13.19-1 (2021-10-03) aarch64 
GNU/Linux
diederik@soundserver:~$ pactl list cards
Card #0
Name: alsa_card.platform-hdmi-sound
Driver: module-alsa-car