Summary: | Polaris: no sound over HDMI | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Marius Orcsik <marius> | ||||||
Component: | DRM/AMDgpu | Assignee: | Default DRI bug account <dri-devel> | ||||||
Status: | RESOLVED WORKSFORME | QA Contact: | |||||||
Severity: | normal | ||||||||
Priority: | medium | CC: | mabo | ||||||
Version: | DRI git | ||||||||
Hardware: | x86-64 (AMD64) | ||||||||
OS: | Linux (All) | ||||||||
Whiteboard: | |||||||||
i915 platform: | i915 features: | ||||||||
Attachments: |
|
Description
Marius Orcsik
2016-08-09 12:38:59 UTC
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.