Using mainline kernel version (4.8) I have no sound output on the TV connected to an AMD RX 480 card over the HDMI port compiled for Archlinux. I'm using mesa-git version. The HDMI outputs are detected by pulseaudio, but on the TV no sound gets output. What kind of specific information do you guys need for debugging this? Thank you.
Audio is only supported with the new DAL display code which is not upstream yet. You can use this branch in the interim: https://cgit.freedesktop.org/~agd5f/linux/log/?h=amd-staging-4.6
Thank you Alex, I'll try it. I've already tried the branches "drm-next-4.8-wip-dal" and "drm-next-4.6-wip-dal" from the same tree - the latter being suggested in another bug - and the compile was failing.
Well, the compile of amd-staging-4.6 failed too: CC [M] drivers/gpu/drm/amd/amdgpu/../dal/dc/i2caux/dce80/i2c_sw_engine_dce80.o drivers/gpu/drm/amd/amdgpu/../dal/dc/i2caux/dce80/i2c_sw_engine_dce80.c:53:23: error: 'ddc_hw_status_addr' defined but not used [-Werror=unused-const-variable=] static const uint32_t ddc_hw_status_addr[] = { ^~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[4]: *** [scripts/Makefile.build:292: drivers/gpu/drm/amd/amdgpu/../dal/dc/i2caux/dce80/i2c_sw_engine_dce80.o] Error 1 make[3]: *** [scripts/Makefile.build:440: drivers/gpu/drm/amd/amdgpu] Error 2 make[2]: *** [scripts/Makefile.build:440: drivers/gpu/drm] Error 2 make[1]: *** [scripts/Makefile.build:440: drivers/gpu] Error 2 make: *** [Makefile:962: drivers] Error 2 The (I assume relevant) .config settings: $ grep AMD_DAL .config CONFIG_DRM_AMD_DAL=y CONFIG_DRM_AMD_DAL_VBIOS_PRESENT=y CONFIG_DRM_AMD_DAL_DCE8_0=y CONFIG_DRM_AMD_DAL_DCE10_0=y CONFIG_DRM_AMD_DAL_DCE11_0=y CONFIG_DRM_AMD_DAL_DCE11_2=y
(In reply to Marius Orcsik from comment #3) > Well, the compile of amd-staging-4.6 failed too: > > > CC [M] > drivers/gpu/drm/amd/amdgpu/../dal/dc/i2caux/dce80/i2c_sw_engine_dce80.o > drivers/gpu/drm/amd/amdgpu/../dal/dc/i2caux/dce80/i2c_sw_engine_dce80.c:53: > 23: error: 'ddc_hw_status_addr' defined but not used > [-Werror=unused-const-variable=] > static const uint32_t ddc_hw_status_addr[] = { > ^~~~~~~~~~~~~~~~~~ > cc1: all warnings being treated as errors > make[4]: *** [scripts/Makefile.build:292: > drivers/gpu/drm/amd/amdgpu/../dal/dc/i2caux/dce80/i2c_sw_engine_dce80.o] > Error 1 > make[3]: *** [scripts/Makefile.build:440: drivers/gpu/drm/amd/amdgpu] Error 2 > make[2]: *** [scripts/Makefile.build:440: drivers/gpu/drm] Error 2 > make[1]: *** [scripts/Makefile.build:440: drivers/gpu] Error 2 > make: *** [Makefile:962: drivers] Error 2 > Your version of gcc seems to warn on different things than mine. Try removing -Werror from the Makefile: diff --git a/drivers/gpu/drm/amd/dal/Makefile b/drivers/gpu/drm/amd/dal/Makefile index b84a2db..2ef2128 100644 --- a/drivers/gpu/drm/amd/dal/Makefile +++ b/drivers/gpu/drm/amd/dal/Makefile @@ -5,8 +5,6 @@ AMDDALPATH = $(RELATIVE_AMD_DAL_PATH) -subdir-ccflags-y += -Werror - subdir-ccflags-y += -I$(AMDDALPATH)/ -I$(AMDDALPATH)/include subdir-ccflags-y += -I$(FULL_AMD_DAL_PATH)/dc/inc/
Created attachment 125641 [details] [review] Removing some unused structures from DAL related files OK, there were a few other issues in getting this branch to compile, but I managed in the end. I suppose most of them were related to too restrictive compile options (as they were triggered by -Werror=unused-const-variable), but I attached a patch removing the offending structs.
Thank you Alex. I'll compile again without -Werror. Sorry for all the spam and thank you (again) for your replies.
Hi again, sound works fine with the amd-staging-4.6 branch. May I ask about an estimation of when will the DAL changes be accepted to main tree?
I get only to: CC drivers/gpu/drm/amd/amdgpu/../dal/dc/audio/audio_base.o drivers/gpu/drm/amd/amdgpu/../dal/dc/adapter/adapter_service.c: In Funktion »create_hw_ctx«: drivers/gpu/drm/amd/amdgpu/../dal/dc/adapter/adapter_service.c:677:10: Fehler: Implizite Deklaration der Funktion »dal_adapter_service_create_hw_ctx_dce110« [-Werror=implicit-function-declaration] return dal_adapter_service_create_hw_ctx_dce110(ctx); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/../dal/dc/adapter/adapter_service.c:677:10: Warnung: return erzeugt Zeiger von Ganzzahl ohne Typkonvertierung [-Wint-conversion] return dal_adapter_service_create_hw_ctx_dce110(ctx); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CC drivers/gpu/drm/amd/amdgpu/../dal/dc/audio/hw_ctx_audio.o CC drivers/gpu/drm/amd/amdgpu/../dal/dc/basics/conversion.o CC drivers/gpu/drm/amd/amdgpu/../dal/dc/basics/fixpt31_32.o CC drivers/gpu/drm/amd/amdgpu/../dal/dc/basics/fixpt32_32.o cc1: Einige Warnungen werden als Fehler behandelt make[4]: *** [scripts/Makefile.build:291: drivers/gpu/drm/amd/amdgpu/../dal/dc/adapter/adapter_service.o] Fehler 1 make[4]: *** Es wird auf noch nicht beendete Prozesse gewartet.... drivers/gpu/drm/amd/amdgpu/../dal/dc/audio/audio_base.c: In Funktion »dal_audio_create«: drivers/gpu/drm/amd/amdgpu/../dal/dc/audio/audio_base.c:279:10: Fehler: Implizite Deklaration der Funktion »dal_audio_create_dce110« [-Werror=implicit-function-declaration] return dal_audio_create_dce110(init_data); ^~~~~~~~~~~~~~~~~~~~~~~ drivers/gpu/drm/amd/amdgpu/../dal/dc/audio/audio_base.c:279:10: Warnung: return erzeugt Zeiger von Ganzzahl ohne Typkonvertierung [-Wint-conversion] return dal_audio_create_dce110(init_data); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: Einige Warnungen werden als Fehler behandelt make[4]: *** [scripts/Makefile.build:291: drivers/gpu/drm/amd/amdgpu/../dal/dc/audio/audio_base.o] Fehler 1 make[3]: *** [scripts/Makefile.build:440: drivers/gpu/drm/amd/amdgpu] Fehler 2 make[2]: *** [scripts/Makefile.build:440: drivers/gpu/drm] Fehler 2 make[1]: *** [scripts/Makefile.build:440: drivers/gpu] Fehler 2 make: *** [Makefile:962: drivers] Fehler 2 Manjaro, GCC 6.1.1. Sorry for the German, I hope it's OK for Alex.
(In reply to Maximilian Böhm from comment #8) > I get only to: What DAL config items did you select? You have to select all of them as there are some inter-dependencies that have slipped in. CONFIG_DRM_AMD_DAL=y CONFIG_DRM_AMD_DAL_VBIOS_PRESENT=y CONFIG_DRM_AMD_DAL_DCE8_0=y CONFIG_DRM_AMD_DAL_DCE10_0=y CONFIG_DRM_AMD_DAL_DCE11_0=y CONFIG_DRM_AMD_DAL_DCE11_2=y
Created attachment 125687 [details] Won't boot OK, thank you, got it compiled! But: First, mkinitcpio was telling me: ==> ERROR: module not found: `crc32c' ==> Generating module dependencies ==> Creating xz-compressed initcpio image: /boot/initramfs-4.6-amd-staging.img ==> WARNING: errors were encountered during the build. The image may not be complete. And now the kernel won't boot. See the photo in the attachment. I see eight Tuxes and and a couple lines output but it won't go further. :/
The last line "fb: switching to amdgpudrmfb from EFI VGA" is the same as in this bug report: https://community.amd.com/thread/197176 So maybe something is wrong with the PowerPlay code? I have a R9 380.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.