Summary: | HDMI audio silent on Radeon Mobility HD4650 | ||||||
---|---|---|---|---|---|---|---|
Product: | DRI | Reporter: | Kris Scott <kris> | ||||
Component: | DRM/Radeon | Assignee: | Default DRI bug account <dri-devel> | ||||
Status: | RESOLVED FIXED | QA Contact: | |||||
Severity: | normal | ||||||
Priority: | medium | ||||||
Version: | unspecified | ||||||
Hardware: | All | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Kris Scott
2013-07-28 14:21:36 UTC
Can you bisect? Will do, gonna take some time though. Kernel compiling is not the fastest. You can also compare output of avivotool regs hdmi when using 3.9 and 3.10. That should give some hint. Bisect complete: b1f6f47e3e33c4a74534f1301aca241ffabbb3a0 is the first bad commit commit b1f6f47e3e33c4a74534f1301aca241ffabbb3a0 Author: Alex Deucher <alexander.deucher@amd.com> Date: Thu Apr 18 10:50:55 2013 -0400 drm/radeon: clean up audio dto programming Split into DCE2/3 and DCE4/5 variants. Still todo is to calculate the DTO dividers properly. Add proper formula to the comments. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> :040000 040000 b60cf880f2227596705391e71a56aaa12e1eb61c a723f4928d1a20bcd0b5759077360f9342c9eecc M drivers As I suggested earlier, can you provide output of "avivotool regs hdmi" before and after this patch? This way we will sure if registers are programmed and with what values. Good: RADEON_DAC_CNTL 00000000 RADEON_DAC_EXT_CNTL 00000000 RADEON_DAC_MACRO_CNTL 00000000 RADEON_DAC_CNTL2 00000000 RADEON_TV_DAC_CNTL 00000000 RADEON_DISP_OUTPUT_CNTL 00000000 RADEON_CONFIG_MEMSIZE 00000000 RADEON_AUX_SC_CNTL 804df8a8 RADEON_CRTC_EXT_CNTL 00000000 RADEON_CRTC_GEN_CNTL 00000000 RADEON_CRTC2_GEN_CNTL 00000000 RADEON_DEVICE_ID 00000000 RADEON_DISP_MISC_CNTL 00000000 RADEON_GPIO_MONID 00000000 RADEON_GPIO_MONIDB 00000000 RADEON_GPIO_CRT2_DDC 00000000 RADEON_GPIO_DVI_DDC 00000000 RADEON_GPIO_VGA_DDC 00000000 RADEON_LVDS_GEN_CNTL 00000000 RADEON_LVDS_PLL_CNTL 00000000 RADEON_FP_GEN_CNTL 00000000 RADEON_FP2_GEN_CNTL 00000000 RADEON_PPLL_CNTL 00000000 RADEON_PPLL_REF_DIV 00000000 RADEON_PPLL_DIV_3 00000000 RADEON_PIXCLKS_CNTL 00000000 RADEON_P2PLL_CNTL 00000000 RADEON_P2PLL_REF_DIV 00000000 RADEON_P2PLL_DIV_0 00000000 RADEON_VCLK_ECP_CNTL 00000000 RADEON_MEM_TIMING_CNTL 00000000 RADEON_TMDS_PLL_CNTL 00000000 RADEON_TMDS_TRANSMITTER_CNTL 00000000 RADEON_CRTC_MORE_CNTL 00000000 RADEON_FP_H_SYNC_STRT_WID 00000000 RADEON_FP_V_SYNC_STRT_WID 00000000 RADEON_FP_CRTC_H_TOTAL_DISP 00000000 RADEON_FP_CRTC_V_TOTAL_DISP 00000000 RADEON_FP_HORZ_STRETCH 00000000 RADEON_FP_VERT_STRETCH 00000000 RADEON_FP_HORZ_VERT_ACTIVE 00000000 RADEON_CRTC_H_TOTAL_DISP 00000004 RADEON_CRTC_H_SYNC_STRT_WID 18b8bebc RADEON_CRTC_V_TOTAL_DISP fffe0a02 RADEON_CRTC_V_SYNC_STRT_WID 00000000 RADEON_CRTC2_H_TOTAL_DISP 0200000f RADEON_CRTC2_H_SYNC_STRT_WID 00000000 RADEON_CRTC2_V_TOTAL_DISP 00000100 RADEON_CRTC2_V_SYNC_STRT_WID 00000002 ----- Bad: RADEON_DAC_CNTL 00000000 RADEON_DAC_EXT_CNTL 00000000 RADEON_DAC_MACRO_CNTL 00000000 RADEON_DAC_CNTL2 00000000 RADEON_TV_DAC_CNTL 00000000 RADEON_DISP_OUTPUT_CNTL 00000000 RADEON_CONFIG_MEMSIZE 00000000 RADEON_AUX_SC_CNTL c045fab8 RADEON_CRTC_EXT_CNTL 00000000 RADEON_CRTC_GEN_CNTL 00000000 RADEON_CRTC2_GEN_CNTL 00000000 RADEON_DEVICE_ID 00000000 RADEON_DISP_MISC_CNTL 00000000 RADEON_GPIO_MONID 00000000 RADEON_GPIO_MONIDB 00000000 RADEON_GPIO_CRT2_DDC 00000000 RADEON_GPIO_DVI_DDC 00000000 RADEON_GPIO_VGA_DDC 00000000 RADEON_LVDS_GEN_CNTL 00000000 RADEON_LVDS_PLL_CNTL 00000000 RADEON_FP_GEN_CNTL 00000000 RADEON_FP2_GEN_CNTL 00000000 RADEON_PPLL_CNTL 00000000 RADEON_PPLL_REF_DIV 00000000 RADEON_PPLL_DIV_3 00000000 RADEON_PIXCLKS_CNTL 00000000 RADEON_P2PLL_CNTL 00000000 RADEON_P2PLL_REF_DIV 00000000 RADEON_P2PLL_DIV_0 00000000 RADEON_VCLK_ECP_CNTL 00000000 RADEON_MEM_TIMING_CNTL 00000000 RADEON_TMDS_PLL_CNTL 00000000 RADEON_TMDS_TRANSMITTER_CNTL 00000000 RADEON_CRTC_MORE_CNTL 00000000 RADEON_FP_H_SYNC_STRT_WID 00000000 RADEON_FP_V_SYNC_STRT_WID 00000000 RADEON_FP_CRTC_H_TOTAL_DISP 00000000 RADEON_FP_CRTC_V_TOTAL_DISP 00000000 RADEON_FP_HORZ_STRETCH 00000000 RADEON_FP_VERT_STRETCH 00000000 RADEON_FP_HORZ_VERT_ACTIVE 00000000 RADEON_CRTC_H_TOTAL_DISP 00000004 RADEON_CRTC_H_SYNC_STRT_WID 18b836bc RADEON_CRTC_V_TOTAL_DISP fffe0a02 RADEON_CRTC_V_SYNC_STRT_WID 00000000 RADEON_CRTC2_H_TOTAL_DISP 0200000f RADEON_CRTC2_H_SYNC_STRT_WID 00000000 RADEON_CRTC2_V_TOTAL_DISP 00000100 RADEON_CRTC2_V_SYNC_STRT_WID 00000002 Err, did you call "avivotool regs hdmi" as I asked? It should return something like: Audio clocks: EVERGREEN_AUDIO_PLL1_MUL 00000000 EVERGREEN_AUDIO_PLL1_DIV 00000001 EVERGREEN_AUDIO_PLL1_UNK 00000070 which is the most interesting part for us. Of course on R6xx hardware it won't start with EVERGREEN_* Oops, sorry, here you go. Good: Audio clocks: R600_AUDIO_PLL1_MUL 00000000 R600_AUDIO_PLL1_DIV 00000000 R600_AUDIO_PLL2_MUL 00249f00 R600_AUDIO_PLL2_DIV 00714be8 R600_AUDIO_CLK_SRCSEL 00000001 Audio general: R600_AUDIO_ENABLE 810000f0 R600_AUDIO_TIMING 00000170 Audio params: R600_AUDIO_VENDOR_ID 1002aa01 R600_AUDIO_REVISION_ID 00100100 R600_AUDIO_ROOT_NODE_COUNT 00010001 R600_AUDIO_NID1_NODE_COUNT 00020002 R600_AUDIO_NID1_TYPE 00000001 R600_AUDIO_SUPPORTED_SIZE_RATE 00020070 R600_AUDIO_SUPPORTED_CODEC 00000001 R600_AUDIO_SUPPORTED_POWER_STATES 00000009 R600_AUDIO_NID2_CAPS 00000201 R600_AUDIO_NID3_CAPS 00400381 R600_AUDIO_NID3_PIN_CAPS 00000094 Audio conn list: R600_AUDIO_CONN_LIST_LEN 00000001 R600_AUDIO_CONN_LIST 08060402 Audio verbs: R600_AUDIO_RATE_BPS_CHANNEL 00004011 R600_AUDIO_PLAYING 00000010 R600_AUDIO_IMPLEMENTATION_ID 104d2e00 R600_AUDIO_CONFIG_DEFAULT 18560010 R600_AUDIO_PIN_SENSE 7fffffff R600_AUDIO_PIN_WIDGET_CNTL 40404040 R600_AUDIO_STATUS_BITS 00000001 HDMI block at 0x7400: 00007400 00000011 (17) 00007404 00000000 (0) 00007408 00000010 (16) 0000740c 00010000 (65536) 00007410 00000000 (0) 00007414 00000000 (0) 00007418 00000000 (0) 0000741c 00000000 (0) 00007420 00000000 (0) 00007424 00000000 (0) 00007428 00000000 (0) 0000742c 00000000 (0) 00007430 00000000 (0) 00007434 00000000 (0) 00007438 00000000 (0) 0000743c 00000000 (0) 00007440 00000000 (0) 00007444 00000000 (0) 00007448 00000000 (0) 0000744c 00000000 (0) 00007450 00000000 (0) 00007454 00000000 (0) 00007458 00000000 (0) 0000745c 00000000 (0) 00007460 02000000 (33554432) 00007464 00000000 (0) 00007468 00000000 (0) 0000746c 00000000 (0) 00007470 00000000 (0) 00007474 00000000 (0) 00007478 00000000 (0) 0000747c 00000000 (0) 00007480 00000000 (0) 00007484 00000000 (0) 00007488 00000000 (0) 0000748c 00000000 (0) 00007490 00000000 (0) 00007494 00000000 (0) 00007498 00000000 (0) 0000749c 00000000 (0) 000074a0 00000000 (0) 000074a4 00000000 (0) 000074a8 00000000 (0) 000074ac 00000000 (0) 000074b0 00000000 (0) 000074b4 00000000 (0) 000074b8 00000000 (0) 000074bc 00000000 (0) 000074c0 00000000 (0) 000074c4 00000000 (0) 000074c8 00000000 (0) 000074cc 00000170 (368) 000074d0 00000000 (0) 000074d4 10000000 (268435456) 000074d8 00000000 (0) 000074dc 00000000 (0) 000074e0 00000000 (0) 000074e4 00000000 (0) 000074e8 00000000 (0) 000074ec 00000000 (0) HDMI block at 0x7800: 00007800 00000011 (17) 00007804 00010000 (65536) 00007808 00030010 (196624) 0000780c 00001000 (4096) 00007810 00000031 (49) 00007814 00000033 (51) 00007818 00000202 (514) 0000781c 00000000 (0) 00007820 00000000 (0) 00007824 00000000 (0) 00007828 00000000 (0) 0000782c 00000000 (0) 00007830 00000000 (0) 00007834 00000000 (0) 00007838 00000000 (0) 0000783c 00000000 (0) 00007840 00000000 (0) 00007844 00000000 (0) 00007848 00000000 (0) 0000784c 00000000 (0) 00007850 00000000 (0) 00007854 00080065 (524389) 00007858 00000004 (4) 0000785c 00000000 (0) 00007860 00000000 (0) 00007864 00000000 (0) 00007868 00000000 (0) 0000786c 00000000 (0) 00007870 00000000 (0) 00007874 00000000 (0) 00007878 00000000 (0) 0000787c 00000000 (0) 00007880 00000000 (0) 00007884 00000000 (0) 00007888 00000000 (0) 0000788c 00000000 (0) 00007890 00000000 (0) 00007894 00000000 (0) 00007898 00000000 (0) 0000789c 00000000 (0) 000078a0 00000000 (0) 000078a4 00000000 (0) 000078a8 00000000 (0) 000078ac 1220a000 (304128000) 000078b0 00001000 (4096) 000078b4 14244000 (337920000) 000078b8 00001880 (6272) 000078bc 1220a000 (304128000) 000078c0 00001800 (6144) 000078c4 14242000 (337911808) 000078c8 00001880 (6272) 000078cc 00000170 (368) 000078d0 00000000 (0) 000078d4 00000000 (0) 000078d8 00000002 (2) 000078dc 00001100 (4352) 000078e0 00ffffff (16777215) 000078e4 007fffff (8388607) 000078e8 00000001 (1) 000078ec 00000001 (1) -------- Bad: Audio clocks: R600_AUDIO_PLL1_MUL 00249f00 R600_AUDIO_PLL1_DIV 00714be8 R600_AUDIO_PLL2_MUL 00000000 R600_AUDIO_PLL2_DIV 00000000 R600_AUDIO_CLK_SRCSEL 00000000 Audio general: R600_AUDIO_ENABLE 811000f0 R600_AUDIO_TIMING 00000070 Audio params: R600_AUDIO_VENDOR_ID 1002aa01 R600_AUDIO_REVISION_ID 00100100 R600_AUDIO_ROOT_NODE_COUNT 00010001 R600_AUDIO_NID1_NODE_COUNT 00020002 R600_AUDIO_NID1_TYPE 00000001 R600_AUDIO_SUPPORTED_SIZE_RATE 00020070 R600_AUDIO_SUPPORTED_CODEC 00000001 R600_AUDIO_SUPPORTED_POWER_STATES 00000009 R600_AUDIO_NID2_CAPS 00000201 R600_AUDIO_NID3_CAPS 00400381 R600_AUDIO_NID3_PIN_CAPS 00000094 Audio conn list: R600_AUDIO_CONN_LIST_LEN 00000001 R600_AUDIO_CONN_LIST 08060402 Audio verbs: R600_AUDIO_RATE_BPS_CHANNEL 00000011 R600_AUDIO_PLAYING 00000010 R600_AUDIO_IMPLEMENTATION_ID 104d2e00 R600_AUDIO_CONFIG_DEFAULT 18560010 R600_AUDIO_PIN_SENSE 7fffffff R600_AUDIO_PIN_WIDGET_CNTL 40404040 R600_AUDIO_STATUS_BITS 00000001 HDMI block at 0x7400: 00007400 00000011 (17) 00007404 00000000 (0) 00007408 00000010 (16) 0000740c 00010000 (65536) 00007410 00000000 (0) 00007414 00000000 (0) 00007418 00000000 (0) 0000741c 00000000 (0) 00007420 00000000 (0) 00007424 00000000 (0) 00007428 00000000 (0) 0000742c 00000000 (0) 00007430 00000000 (0) 00007434 00000000 (0) 00007438 00000000 (0) 0000743c 00000000 (0) 00007440 00000000 (0) 00007444 00000000 (0) 00007448 00000000 (0) 0000744c 00000000 (0) 00007450 00000000 (0) 00007454 00000000 (0) 00007458 00000000 (0) 0000745c 00000000 (0) 00007460 02000000 (33554432) 00007464 00000000 (0) 00007468 00000000 (0) 0000746c 00000000 (0) 00007470 00000000 (0) 00007474 00000000 (0) 00007478 00000000 (0) 0000747c 00000000 (0) 00007480 00000000 (0) 00007484 00000000 (0) 00007488 00000000 (0) 0000748c 00000000 (0) 00007490 00000000 (0) 00007494 00000000 (0) 00007498 00000000 (0) 0000749c 00000000 (0) 000074a0 00000000 (0) 000074a4 00000000 (0) 000074a8 00000000 (0) 000074ac 00000000 (0) 000074b0 00000000 (0) 000074b4 00000000 (0) 000074b8 00000000 (0) 000074bc 00000000 (0) 000074c0 00000000 (0) 000074c4 00000000 (0) 000074c8 00000000 (0) 000074cc 00000170 (368) 000074d0 00000000 (0) 000074d4 10000000 (268435456) 000074d8 00000000 (0) 000074dc 00000000 (0) 000074e0 00000000 (0) 000074e4 00000000 (0) 000074e8 00000000 (0) 000074ec 00000000 (0) HDMI block at 0x7800: 00007800 00000011 (17) 00007804 00010000 (65536) 00007808 00030010 (196624) 0000780c 00001000 (4096) 00007810 00000031 (49) 00007814 00000033 (51) 00007818 00000202 (514) 0000781c 00000000 (0) 00007820 00000000 (0) 00007824 00000000 (0) 00007828 00000000 (0) 0000782c 00000000 (0) 00007830 00000000 (0) 00007834 00000000 (0) 00007838 00000000 (0) 0000783c 00000000 (0) 00007840 00000000 (0) 00007844 00000000 (0) 00007848 00000000 (0) 0000784c 00000000 (0) 00007850 00000000 (0) 00007854 00080063 (524387) 00007858 00000004 (4) 0000785c 00000000 (0) 00007860 02000000 (33554432) 00007864 00000000 (0) 00007868 00000000 (0) 0000786c 00000000 (0) 00007870 00000000 (0) 00007874 00000000 (0) 00007878 00000000 (0) 0000787c 00000000 (0) 00007880 00000000 (0) 00007884 00000000 (0) 00007888 00000000 (0) 0000788c 00000000 (0) 00007890 00000000 (0) 00007894 00000000 (0) 00007898 00000000 (0) 0000789c 00000000 (0) 000078a0 00000000 (0) 000078a4 00000000 (0) 000078a8 00000000 (0) 000078ac 1220a000 (304128000) 000078b0 00001000 (4096) 000078b4 14244000 (337920000) 000078b8 00001880 (6272) 000078bc 1220a000 (304128000) 000078c0 00001800 (6144) 000078c4 0cb19000 (212963328) 000078c8 00001800 (6144) 000078cc 00000170 (368) 000078d0 00000000 (0) 000078d4 02000000 (33554432) 000078d8 00000002 (2) 000078dc 00001100 (4352) 000078e0 00ffffff (16777215) 000078e4 007fffff (8388607) 000078e8 00000001 (1) 000078ec 00000001 (1) @Kris: thank you for you debugging! I hope this is last debugging request. Can you boot not working (bad) kernel, connect HDMI display and then type: avivotool regset 0x0524 0x00249f00 avivotool regset 0x0528 0x00714be8 avivotool regset 0x0534 0x00000001 I hope this will resume audio on your card, but I just want to be sure, before asking Alex for getting more details on that. If you could confirm that above 3 commands fix audio for you, it'd be great. Yes, those fixed it. Thank you very much. Can you tell be the values of 0x7340, 0x7344, 0x520, and 0x530? avivotool regmatch 0x7340 avivotool regmatch 0x7344 avivotool regmatch 0x520 avivotool regmatch 0x530 0x7340 0x001b0018 (1769496) 0x7344 0x00000070 (112) 0x520 0x00000070 (112) 0x530 0x00000070 (112) That is also after I had changed the registers that Rafal asked me to change, if it makes any difference. Can you boot back into the broken state and try this alternative fix: avivotool regset 0x7344 0x00000170 Tried it, that did not fix the sound. Created attachment 83304 [details] [review] fix This patch should fix it. It's just a guess, but could you just try the following (without any patches): avivotool regset 0x0514 0x00249f00 Does that helps as well? Alex: Checking in to confirm that your patch fixed the problem. Christian: Changing that register had no effect. |
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.