For those that are interested, I pulled together most of my original
hdmi code if someone wants to finish it up:
http://people.freedesktop.org/~agd5f/0001-WIP-port-of-hdmi-dp-audio-code-to-newer-kernel.patch
It needs:
- helper functions for calculating the infoframes and checksums
- helper functions for looking up the ACR cts and n values
- removal of the old hdmi code
- general cleanup

Unfortunately, I'm not going to have time to finish it in the near
future.  It should be a pretty easy task if anyone wants to take a
crack at it.

Alex

On Wed, Mar 28, 2012 at 1:19 PM,  <alexdeucher at gmail.com> wrote:
> From: Alex Deucher <alexander.deucher at amd.com>
>
> This adds register definitions for HDMI/DP audio on
> DCE2/3/4/5 hardware.
>
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> ---
> ?drivers/gpu/drm/radeon/evergreend.h | ?220 ++++++++++++++++++++++++++++++++
> ?drivers/gpu/drm/radeon/r600d.h ? ? ?| ?236 
> +++++++++++++++++++++++++++++++++++
> ?drivers/gpu/drm/radeon/rs600d.h ? ? | ? 14 ++
> ?drivers/gpu/drm/radeon/rv770d.h ? ? | ?191 ++++++++++++++++++++++++++++
> ?4 files changed, 661 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/evergreend.h 
> b/drivers/gpu/drm/radeon/evergreend.h
> index eb5708c..3955d98 100644
> --- a/drivers/gpu/drm/radeon/evergreend.h
> +++ b/drivers/gpu/drm/radeon/evergreend.h
> @@ -112,6 +112,226 @@
> ?#define ? ? ? ?CP_SEM_INCOMPLETE_TIMER_CNTL ? ? ? ? ? ? ? ? ? ?0x85C8
> ?#define ? ? ? ?CP_DEBUG ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0xC1FC
>
> +/* Audio clocks */
> +#define DCCG_AUDIO_DTO_SOURCE ? ? ? ? ? ? 0x05ac
> +# ? ? ? define DCCG_AUDIO_DTO0_SOURCE_SEL(x) ((x) << 0) /* crtc0 - crtc5 */
> +# ? ? ? define DCCG_AUDIO_DTO_SEL ? ? ? ? (1 << 4) /* 0=dto0 1=dto1 */
> +
> +#define DCCG_AUDIO_DTO0_PHASE ? ? ? ? ? ? 0x05b0
> +#define DCCG_AUDIO_DTO0_MODULE ? ? ? ? ? ?0x05b4
> +#define DCCG_AUDIO_DTO0_LOAD ? ? ? ? ? ? ?0x05b8
> +#define DCCG_AUDIO_DTO0_CNTL ? ? ? ? ? ? ?0x05bc
> +
> +#define DCCG_AUDIO_DTO1_PHASE ? ? ? ? ? ? 0x05c0
> +#define DCCG_AUDIO_DTO1_MODULE ? ? ? ? ? ?0x05c4
> +#define DCCG_AUDIO_DTO1_LOAD ? ? ? ? ? ? ?0x05c8
> +#define DCCG_AUDIO_DTO1_CNTL ? ? ? ? ? ? ?0x05cc
> +
> +/* DCE 4.0 AFMT */
> +#define HDMI_CONTROL ? ? ? ? ? ? ? ? ? ? ? ? 0x7030
> +# ? ? ? define HDMI_KEEPOUT_MODE ? ? ? ? ? ? (1 << 0)
> +# ? ? ? define HDMI_PACKET_GEN_VERSION ? ? ? (1 << 4) /* 0 = r6xx compat */
> +# ? ? ? define HDMI_ERROR_ACK ? ? ? ? ? ? ? ?(1 << 8)
> +# ? ? ? define HDMI_ERROR_MASK ? ? ? ? ? ? ? (1 << 9)
> +# ? ? ? define HDMI_DEEP_COLOR_ENABLE ? ? ? ?(1 << 24)
> +# ? ? ? define HDMI_DEEP_COLOR_DEPTH ? ? ? ? (((x) & 3) << 28)
> +# ? ? ? define HDMI_24BIT_DEEP_COLOR ? ? ? ? 0
> +# ? ? ? define HDMI_30BIT_DEEP_COLOR ? ? ? ? 1
> +# ? ? ? define HDMI_36BIT_DEEP_COLOR ? ? ? ? 2
> +#define HDMI_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ?0x7034
> +# ? ? ? define HDMI_ACTIVE_AVMUTE ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_AUDIO_PACKET_ERROR ? ? ? (1 << 16)
> +# ? ? ? define HDMI_VBI_PACKET_ERROR ? ? ? ? (1 << 20)
> +#define HDMI_AUDIO_PACKET_CONTROL ? ? ? ? ? ?0x7038
> +# ? ? ? define HDMI_AUDIO_DELAY_EN(x) ? ? ? ?(((x) & 3) << 4)
> +# ? ? ? define HDMI_AUDIO_PACKETS_PER_LINE(x) ?(((x) & 0x1f) << 16)
> +#define HDMI_ACR_PACKET_CONTROL ? ? ? ? ? ? ?0x703c
> +# ? ? ? define HDMI_ACR_SEND ? ? ? ? ? ? ? ? (1 << 0)
> +# ? ? ? define HDMI_ACR_CONT ? ? ? ? ? ? ? ? (1 << 1)
> +# ? ? ? define HDMI_ACR_SELECT(x) ? ? ? ? ? ?(((x) & 3) << 4)
> +# ? ? ? define HDMI_ACR_HW ? ? ? ? ? ? ? ? ? 0
> +# ? ? ? define HDMI_ACR_32 ? ? ? ? ? ? ? ? ? 1
> +# ? ? ? define HDMI_ACR_44 ? ? ? ? ? ? ? ? ? 2
> +# ? ? ? define HDMI_ACR_48 ? ? ? ? ? ? ? ? ? 3
> +# ? ? ? define HDMI_ACR_SOURCE ? ? ? ? ? ? ? (1 << 8) /* 0 - hw; 1 - cts 
> value */
> +# ? ? ? define HDMI_ACR_AUTO_SEND ? ? ? ? ? ?(1 << 12)
> +# ? ? ? define HDMI_ACR_N_MULTIPLE(x) ? ? ? ?(((x) & 7) << 16)
> +# ? ? ? define HDMI_ACR_X1 ? ? ? ? ? ? ? ? ? 1
> +# ? ? ? define HDMI_ACR_X2 ? ? ? ? ? ? ? ? ? 2
> +# ? ? ? define HDMI_ACR_X4 ? ? ? ? ? ? ? ? ? 4
> +# ? ? ? define HDMI_ACR_AUDIO_PRIORITY ? ? ? (1 << 31)
> +#define HDMI_VBI_PACKET_CONTROL ? ? ? ? ? ? ?0x7040
> +# ? ? ? define HDMI_NULL_SEND ? ? ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_GC_SEND ? ? ? ? ? ? ? ? ?(1 << 4)
> +# ? ? ? define HDMI_GC_CONT ? ? ? ? ? ? ? ? ?(1 << 5) /* 0 - once; 1 - every 
> frame */
> +#define HDMI_INFOFRAME_CONTROL0 ? ? ? ? ? ? ?0x7044
> +# ? ? ? define HDMI_AVI_INFO_SEND ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_AVI_INFO_CONT ? ? ? ? ? ?(1 << 1)
> +# ? ? ? define HDMI_AUDIO_INFO_SEND ? ? ? ? ?(1 << 4)
> +# ? ? ? define HDMI_AUDIO_INFO_CONT ? ? ? ? ?(1 << 5)
> +# ? ? ? define HDMI_MPEG_INFO_SEND ? ? ? ? ? (1 << 8)
> +# ? ? ? define HDMI_MPEG_INFO_CONT ? ? ? ? ? (1 << 9)
> +#define HDMI_INFOFRAME_CONTROL1 ? ? ? ? ? ? ?0x7048
> +# ? ? ? define HDMI_AVI_INFO_LINE(x) ? ? ? ? (((x) & 0x3f) << 0)
> +# ? ? ? define HDMI_AUDIO_INFO_LINE(x) ? ? ? (((x) & 0x3f) << 8)
> +# ? ? ? define HDMI_MPEG_INFO_LINE(x) ? ? ? ?(((x) & 0x3f) << 16)
> +#define HDMI_GENERIC_PACKET_CONTROL ? ? ? ? ?0x704c
> +# ? ? ? define HDMI_GENERIC0_SEND ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_GENERIC0_CONT ? ? ? ? ? ?(1 << 1)
> +# ? ? ? define HDMI_GENERIC1_SEND ? ? ? ? ? ?(1 << 4)
> +# ? ? ? define HDMI_GENERIC1_CONT ? ? ? ? ? ?(1 << 5)
> +# ? ? ? define HDMI_GENERIC0_LINE(x) ? ? ? ? (((x) & 0x3f) << 16)
> +# ? ? ? define HDMI_GENERIC1_LINE(x) ? ? ? ? (((x) & 0x3f) << 24)
> +#define HDMI_GC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0x7058
> +# ? ? ? define HDMI_GC_AVMUTE ? ? ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_GC_AVMUTE_CONT ? ? ? ? ? (1 << 2)
> +#define AFMT_AUDIO_PACKET_CONTROL2 ? ? ? ? ? 0x705c
> +# ? ? ? define AFMT_AUDIO_LAYOUT_OVRD ? ? ? ?(1 << 0)
> +# ? ? ? define AFMT_AUDIO_LAYOUT_SELECT ? ? ?(1 << 1)
> +# ? ? ? define AFMT_60958_CS_SOURCE ? ? ? ? ?(1 << 4)
> +# ? ? ? define AFMT_AUDIO_CHANNEL_ENABLE(x) ?(((x) & 0xff) << 8)
> +# ? ? ? define AFMT_DP_AUDIO_STREAM_ID(x) ? ?(((x) & 0xff) << 16)
> +#define AFMT_AVI_INFO0 ? ? ? ? ? ? ? ? ? ? ? 0x7084
> +# ? ? ? define AFMT_AVI_INFO_CHECKSUM(x) ? ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_AVI_INFO_S(x) ? ? ? ? ? ?(((x) & 3) << 8)
> +# ? ? ? define AFMT_AVI_INFO_B(x) ? ? ? ? ? ?(((x) & 3) << 10)
> +# ? ? ? define AFMT_AVI_INFO_A(x) ? ? ? ? ? ?(((x) & 1) << 12)
> +# ? ? ? define AFMT_AVI_INFO_Y(x) ? ? ? ? ? ?(((x) & 3) << 13)
> +# ? ? ? define AFMT_AVI_INFO_Y_RGB ? ? ? ? ? 0
> +# ? ? ? define AFMT_AVI_INFO_Y_YCBCR422 ? ? ?1
> +# ? ? ? define AFMT_AVI_INFO_Y_YCBCR444 ? ? ?2
> +# ? ? ? define AFMT_AVI_INFO_Y_A_B_S(x) ? ? ?(((x) & 0xff) << 8)
> +# ? ? ? define AFMT_AVI_INFO_R(x) ? ? ? ? ? ?(((x) & 0xf) << 16)
> +# ? ? ? define AFMT_AVI_INFO_M(x) ? ? ? ? ? ?(((x) & 0x3) << 20)
> +# ? ? ? define AFMT_AVI_INFO_C(x) ? ? ? ? ? ?(((x) & 0x3) << 22)
> +# ? ? ? define AFMT_AVI_INFO_C_M_R(x) ? ? ? ?(((x) & 0xff) << 16)
> +# ? ? ? define AFMT_AVI_INFO_SC(x) ? ? ? ? ? (((x) & 0x3) << 24)
> +# ? ? ? define AFMT_AVI_INFO_Q(x) ? ? ? ? ? ?(((x) & 0x3) << 26)
> +# ? ? ? define AFMT_AVI_INFO_EC(x) ? ? ? ? ? (((x) & 0x3) << 28)
> +# ? ? ? define AFMT_AVI_INFO_ITC(x) ? ? ? ? ?(((x) & 0x1) << 31)
> +# ? ? ? define AFMT_AVI_INFO_ITC_EC_Q_SC(x) ?(((x) & 0xff) << 24)
> +#define AFMT_AVI_INFO1 ? ? ? ? ? ? ? ? ? ? ? 0x7088
> +# ? ? ? define AFMT_AVI_INFO_VIC(x) ? ? ? ? ?(((x) & 0x7f) << 0) /* don't 
> use avi infoframe v1 */
> +# ? ? ? define AFMT_AVI_INFO_PR(x) ? ? ? ? ? (((x) & 0xf) << 8) /* don't use 
> avi infoframe v1 */
> +# ? ? ? define AFMT_AVI_INFO_CN(x) ? ? ? ? ? (((x) & 0x3) << 12)
> +# ? ? ? define AFMT_AVI_INFO_YQ(x) ? ? ? ? ? (((x) & 0x3) << 14)
> +# ? ? ? define AFMT_AVI_INFO_TOP(x) ? ? ? ? ?(((x) & 0xffff) << 16)
> +#define AFMT_AVI_INFO2 ? ? ? ? ? ? ? ? ? ? ? 0x708c
> +# ? ? ? define AFMT_AVI_INFO_BOTTOM(x) ? ? ? (((x) & 0xffff) << 0)
> +# ? ? ? define AFMT_AVI_INFO_LEFT(x) ? ? ? ? (((x) & 0xffff) << 16)
> +#define AFMT_AVI_INFO3 ? ? ? ? ? ? ? ? ? ? ? 0x7090
> +# ? ? ? define AFMT_AVI_INFO_RIGHT(x) ? ? ? ?(((x) & 0xffff) << 0)
> +# ? ? ? define AFMT_AVI_INFO_VERSION(x) ? ? ?(((x) & 3) << 24)
> +#define AFMT_MPEG_INFO0 ? ? ? ? ? ? ? ? ? ? ?0x7094
> +# ? ? ? define AFMT_MPEG_INFO_CHECKSUM(x) ? ?(((x) & 0xff) << 0)
> +# ? ? ? define AFMT_MPEG_INFO_MB0(x) ? ? ? ? (((x) & 0xff) << 8)
> +# ? ? ? define AFMT_MPEG_INFO_MB1(x) ? ? ? ? (((x) & 0xff) << 16)
> +# ? ? ? define AFMT_MPEG_INFO_MB2(x) ? ? ? ? (((x) & 0xff) << 24)
> +#define AFMT_MPEG_INFO1 ? ? ? ? ? ? ? ? ? ? ?0x7098
> +# ? ? ? define AFMT_MPEG_INFO_MB3(x) ? ? ? ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_MPEG_INFO_MF(x) ? ? ? ? ?(((x) & 3) << 8)
> +# ? ? ? define AFMT_MPEG_INFO_FR(x) ? ? ? ? ?(((x) & 1) << 12)
> +#define AFMT_GENERIC0_HDR ? ? ? ? ? ? ? ? ? ?0x709c
> +#define AFMT_GENERIC0_0 ? ? ? ? ? ? ? ? ? ? ?0x70a0
> +#define AFMT_GENERIC0_1 ? ? ? ? ? ? ? ? ? ? ?0x70a4
> +#define AFMT_GENERIC0_2 ? ? ? ? ? ? ? ? ? ? ?0x70a8
> +#define AFMT_GENERIC0_3 ? ? ? ? ? ? ? ? ? ? ?0x70ac
> +#define AFMT_GENERIC0_4 ? ? ? ? ? ? ? ? ? ? ?0x70b0
> +#define AFMT_GENERIC0_5 ? ? ? ? ? ? ? ? ? ? ?0x70b4
> +#define AFMT_GENERIC0_6 ? ? ? ? ? ? ? ? ? ? ?0x70b8
> +#define AFMT_GENERIC1_HDR ? ? ? ? ? ? ? ? ? ?0x70bc
> +#define AFMT_GENERIC1_0 ? ? ? ? ? ? ? ? ? ? ?0x70c0
> +#define AFMT_GENERIC1_1 ? ? ? ? ? ? ? ? ? ? ?0x70c4
> +#define AFMT_GENERIC1_2 ? ? ? ? ? ? ? ? ? ? ?0x70c8
> +#define AFMT_GENERIC1_3 ? ? ? ? ? ? ? ? ? ? ?0x70cc
> +#define AFMT_GENERIC1_4 ? ? ? ? ? ? ? ? ? ? ?0x70d0
> +#define AFMT_GENERIC1_5 ? ? ? ? ? ? ? ? ? ? ?0x70d4
> +#define AFMT_GENERIC1_6 ? ? ? ? ? ? ? ? ? ? ?0x70d8
> +#define HDMI_ACR_32_0 ? ? ? ? ? ? ? ? ? ? ? ?0x70dc
> +# ? ? ? define HDMI_ACR_CTS_32(x) ? ? ? ? ? ?(((x) & 0xfffff) << 12)
> +#define HDMI_ACR_32_1 ? ? ? ? ? ? ? ? ? ? ? ?0x70e0
> +# ? ? ? define HDMI_ACR_N_32(x) ? ? ? ? ? ? ?(((x) & 0xfffff) << 0)
> +#define HDMI_ACR_44_0 ? ? ? ? ? ? ? ? ? ? ? ?0x70e4
> +# ? ? ? define HDMI_ACR_CTS_44(x) ? ? ? ? ? ?(((x) & 0xfffff) << 12)
> +#define HDMI_ACR_44_1 ? ? ? ? ? ? ? ? ? ? ? ?0x70e8
> +# ? ? ? define HDMI_ACR_N_44(x) ? ? ? ? ? ? ?(((x) & 0xfffff) << 0)
> +#define HDMI_ACR_48_0 ? ? ? ? ? ? ? ? ? ? ? ?0x70ec
> +# ? ? ? define HDMI_ACR_CTS_48(x) ? ? ? ? ? ?(((x) & 0xfffff) << 12)
> +#define HDMI_ACR_48_1 ? ? ? ? ? ? ? ? ? ? ? ?0x70f0
> +# ? ? ? define HDMI_ACR_N_48(x) ? ? ? ? ? ? ?(((x) & 0xfffff) << 0)
> +#define HDMI_ACR_STATUS_0 ? ? ? ? ? ? ? ? ? ?0x70f4
> +#define HDMI_ACR_STATUS_1 ? ? ? ? ? ? ? ? ? ?0x70f8
> +#define AFMT_AUDIO_INFO0 ? ? ? ? ? ? ? ? ? ? 0x70fc
> +# ? ? ? define AFMT_AUDIO_INFO_CHECKSUM(x) ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_AUDIO_INFO_CC(x) ? ? ? ? (((x) & 7) << 8)
> +# ? ? ? define AFMT_AUDIO_INFO_CT(x) ? ? ? ? (((x) & 0xf) << 11)
> +# ? ? ? define AFMT_AUDIO_INFO_CHECKSUM_OFFSET(x) ? (((x) & 0xff) << 16)
> +# ? ? ? define AFMT_AUDIO_INFO_CXT(x) ? ? ? ?(((x) & 0x1f) << 24)
> +#define AFMT_AUDIO_INFO1 ? ? ? ? ? ? ? ? ? ? 0x7100
> +# ? ? ? define AFMT_AUDIO_INFO_CA(x) ? ? ? ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_AUDIO_INFO_LSV(x) ? ? ? ?(((x) & 0xf) << 11)
> +# ? ? ? define AFMT_AUDIO_INFO_DM_INH(x) ? ? (((x) & 1) << 15)
> +# ? ? ? define AFMT_AUDIO_INFO_DM_INH_LSV(x) (((x) & 0xff) << 8)
> +# ? ? ? define AFMT_AUDIO_INFO_LFEBPL(x) ? ? (((x) & 3) << 16)
> +#define AFMT_60958_0 ? ? ? ? ? ? ? ? ? ? ? ? 0x7104
> +# ? ? ? define AFMT_60958_CS_A(x) ? ? ? ? ? ?(((x) & 1) << 0)
> +# ? ? ? define AFMT_60958_CS_B(x) ? ? ? ? ? ?(((x) & 1) << 1)
> +# ? ? ? define AFMT_60958_CS_C(x) ? ? ? ? ? ?(((x) & 1) << 2)
> +# ? ? ? define AFMT_60958_CS_D(x) ? ? ? ? ? ?(((x) & 3) << 3)
> +# ? ? ? define AFMT_60958_CS_MODE(x) ? ? ? ? (((x) & 3) << 6)
> +# ? ? ? define AFMT_60958_CS_CATEGORY_CODE(x) ? ? ?(((x) & 0xff) << 8)
> +# ? ? ? define AFMT_60958_CS_SOURCE_NUMBER(x) ? ? ?(((x) & 0xf) << 16)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_L(x) ? (((x) & 0xf) << 20)
> +# ? ? ? define AFMT_60958_CS_SAMPLING_FREQUENCY(x) (((x) & 0xf) << 24)
> +# ? ? ? define AFMT_60958_CS_CLOCK_ACCURACY(x) ? ? (((x) & 3) << 28)
> +#define AFMT_60958_1 ? ? ? ? ? ? ? ? ? ? ? ? 0x7108
> +# ? ? ? define AFMT_60958_CS_WORD_LENGTH(x) ?(((x) & 0xf) << 0)
> +# ? ? ? define AFMT_60958_CS_ORIGINAL_SAMPLING_FREQUENCY(x) ? (((x) & 0xf) 
> << 4)
> +# ? ? ? define AFMT_60958_CS_VALID_L(x) ? ? ?(((x) & 1) << 16)
> +# ? ? ? define AFMT_60958_CS_VALID_R(x) ? ? ?(((x) & 1) << 18)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_R(x) ? (((x) & 0xf) << 20)
> +#define AFMT_AUDIO_CRC_CONTROL ? ? ? ? ? ? ? 0x710c
> +# ? ? ? define AFMT_AUDIO_CRC_EN ? ? ? ? ? ? (1 << 0)
> +#define AFMT_RAMP_CONTROL0 ? ? ? ? ? ? ? ? ? 0x7110
> +# ? ? ? define AFMT_RAMP_MAX_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +# ? ? ? define AFMT_RAMP_DATA_SIGN ? ? ? ? ? (1 << 31)
> +#define AFMT_RAMP_CONTROL1 ? ? ? ? ? ? ? ? ? 0x7114
> +# ? ? ? define AFMT_RAMP_MIN_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +# ? ? ? define AFMT_AUDIO_TEST_CH_DISABLE(x) (((x) & 0xff) << 24)
> +#define AFMT_RAMP_CONTROL2 ? ? ? ? ? ? ? ? ? 0x7118
> +# ? ? ? define AFMT_RAMP_INC_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +#define AFMT_RAMP_CONTROL3 ? ? ? ? ? ? ? ? ? 0x711c
> +# ? ? ? define AFMT_RAMP_DEC_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +#define AFMT_60958_2 ? ? ? ? ? ? ? ? ? ? ? ? 0x7120
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_2(x) ? (((x) & 0xf) << 0)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_3(x) ? (((x) & 0xf) << 4)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_4(x) ? (((x) & 0xf) << 8)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_5(x) ? (((x) & 0xf) << 12)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_6(x) ? (((x) & 0xf) << 16)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_7(x) ? (((x) & 0xf) << 20)
> +#define AFMT_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ?0x7128
> +# ? ? ? define AFMT_AUDIO_ENABLE ? ? ? ? ? ? (1 << 4)
> +# ? ? ? define AFMT_AUDIO_HBR_ENABLE ? ? ? ? (1 << 8)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG ? ? ? ? ?(1 << 28)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_INT ? ? ?(1 << 29)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG ? ? ?(1 << 30)
> +#define AFMT_AUDIO_PACKET_CONTROL ? ? ? ? ? ?0x712c
> +# ? ? ? define AFMT_AUDIO_SAMPLE_SEND ? ? ? ?(1 << 0)
> +# ? ? ? define AFMT_RESET_FIFO_WHEN_AUDIO_DIS (1 << 11) /* set to 1 */
> +# ? ? ? define AFMT_AUDIO_TEST_EN ? ? ? ? ? ?(1 << 12)
> +# ? ? ? define AFMT_AUDIO_CHANNEL_SWAP ? ? ? (1 << 24)
> +# ? ? ? define AFMT_60958_CS_UPDATE ? ? ? ? ?(1 << 26)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG_MASK (1 << 27)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_MASK ? ? (1 << 28)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_ACK ? ? ?(1 << 29)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG_ACK ?(1 << 30)
> +#define AFMT_VBI_PACKET_CONTROL ? ? ? ? ? ? ?0x7130
> +# ? ? ? define AFMT_GENERIC0_UPDATE ? ? ? ? ?(1 << 2)
> +#define AFMT_INFOFRAME_CONTROL0 ? ? ? ? ? ? ?0x7134
> +# ? ? ? define AFMT_AUDIO_INFO_SOURCE ? ? ? ?(1 << 6) /* 0 - sound block; 1 
> - afmt regs */
> +# ? ? ? define AFMT_AUDIO_INFO_UPDATE ? ? ? ?(1 << 7)
> +# ? ? ? define AFMT_MPEG_INFO_UPDATE ? ? ? ? (1 << 10)
> +#define AFMT_GENERIC0_7 ? ? ? ? ? ? ? ? ? ? ?0x7138
>
> ?#define ? ? ? ?GC_USER_SHADER_PIPE_CONFIG ? ? ? ? ? ? ? ? ? ? ?0x8954
> ?#define ? ? ? ? ? ? ? ?INACTIVE_QD_PIPES(x) ? ? ? ? ? ? ? ? ? ? ? ? ? ?((x) 
> << 8)
> diff --git a/drivers/gpu/drm/radeon/r600d.h b/drivers/gpu/drm/radeon/r600d.h
> index 3568a2e..7f0c223 100644
> --- a/drivers/gpu/drm/radeon/r600d.h
> +++ b/drivers/gpu/drm/radeon/r600d.h
> @@ -816,6 +816,242 @@
> ?# ? ? ? define TARGET_LINK_SPEED_MASK ? ? ? ? ? ? ? ? ? ? (0xf << 0)
> ?# ? ? ? define SELECTABLE_DEEMPHASIS ? ? ? ? ? ? ? ? ? ? ?(1 << 6)
>
> +/* Audio clocks */
> +#define DCCG_AUDIO_DTO0_PHASE ? ? ? ? ? ? 0x0514
> +#define DCCG_AUDIO_DTO0_MODULE ? ? ? ? ? ?0x0518
> +#define DCCG_AUDIO_DTO0_LOAD ? ? ? ? ? ? ?0x051c
> +# ? ? ? define DTO_LOAD ? ? ? ? ? ? ? ? ? (1 << 31)
> +#define DCCG_AUDIO_DTO0_CNTL ? ? ? ? ? ? ?0x0520
> +
> +#define DCCG_AUDIO_DTO1_PHASE ? ? ? ? ? ? 0x0524
> +#define DCCG_AUDIO_DTO1_MODULE ? ? ? ? ? ?0x0528
> +#define DCCG_AUDIO_DTO1_LOAD ? ? ? ? ? ? ?0x052c
> +#define DCCG_AUDIO_DTO1_CNTL ? ? ? ? ? ? ?0x0530
> +
> +#define DCCG_AUDIO_DTO_SELECT ? ? ? ? ? ? 0x0534
> +
> +/* digital blocks */
> +#define TMDSA_CNTL ? ? ? ? ? ? ? ? ? ? ? 0x7880
> +# ? ? ? define TMDSA_HDMI_EN ? ? ? ? ? ? (1 << 2)
> +#define LVTMA_CNTL ? ? ? ? ? ? ? ? ? ? ? 0x7a80
> +# ? ? ? define LVTMA_HDMI_EN ? ? ? ? ? ? (1 << 2)
> +#define DDIA_CNTL ? ? ? ? ? ? ? ? ? ? ? ?0x7200
> +# ? ? ? define DDIA_HDMI_EN ? ? ? ? ? ? ?(1 << 2)
> +#define DIG0_CNTL ? ? ? ? ? ? ? ? ? ? ? ?0x75a0
> +# ? ? ? define DIG_MODE(x) ? ? ? ? ? ? ? (((x) & 7) << 8)
> +# ? ? ? define DIG_MODE_DP ? ? ? ? ? ? ? 0
> +# ? ? ? define DIG_MODE_LVDS ? ? ? ? ? ? 1
> +# ? ? ? define DIG_MODE_TMDS_DVI ? ? ? ? 2
> +# ? ? ? define DIG_MODE_TMDS_HDMI ? ? ? ?3
> +# ? ? ? define DIG_MODE_SDVO ? ? ? ? ? ? 4
> +#define DIG1_CNTL ? ? ? ? ? ? ? ? ? ? ? ?0x79a0
> +
> +/* rs6xx/rs740 and r6xx share the same HDMI blocks, however, rs6xx has only 
> one
> + * instance of the blocks while r6xx has 2. ?DCE 3.0 cards are slightly
> + * different due to the new DIG blocks, but also have 2 instances.
> + * DCE 3.0 HDMI blocks are part of each DIG encoder.
> + */
> +
> +/* rs6xx/rs740/r6xx/dce3 */
> +#define HDMI0_CONTROL ? ? ? ? ? ? ? ?0x7400
> +/* rs6xx/rs740/r6xx */
> +# ? ? ? define HDMI0_ENABLE ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI0_STREAM(x) ? ? ? (((x) & 3) << 2)
> +# ? ? ? define HDMI0_STREAM_TMDSA ? ?0
> +# ? ? ? define HDMI0_STREAM_LVTMA ? ?1
> +# ? ? ? define HDMI0_STREAM_DVOA ? ? 2
> +# ? ? ? define HDMI0_STREAM_DDIA ? ? 3
> +/* rs6xx/r6xx/dce3 */
> +# ? ? ? define HDMI0_ERROR_ACK ? ? ? (1 << 8)
> +# ? ? ? define HDMI0_ERROR_MASK ? ? ?(1 << 9)
> +#define HDMI0_STATUS ? ? ? ? ? ? ? ? 0x7404
> +# ? ? ? define HDMI0_ACTIVE_AVMUTE ? (1 << 0)
> +# ? ? ? define HDMI0_AUDIO_ENABLE ? ?(1 << 4)
> +# ? ? ? define HDMI0_AZ_FORMAT_WTRIG ? ? (1 << 28)
> +# ? ? ? define HDMI0_AZ_FORMAT_WTRIG_INT (1 << 29)
> +#define HDMI0_AUDIO_PACKET_CONTROL ? 0x7408
> +# ? ? ? define HDMI0_AUDIO_SAMPLE_SEND ?(1 << 0)
> +# ? ? ? define HDMI0_AUDIO_DELAY_EN(x) ?(((x) & 3) << 4)
> +# ? ? ? define HDMI0_AUDIO_SEND_MAX_PACKETS ?(1 << 8)
> +# ? ? ? define HDMI0_AUDIO_TEST_EN ? ? ? ? (1 << 12)
> +# ? ? ? define HDMI0_AUDIO_PACKETS_PER_LINE(x) ?(((x) & 0x1f) << 16)
> +# ? ? ? define HDMI0_AUDIO_CHANNEL_SWAP ? ?(1 << 24)
> +# ? ? ? define HDMI0_60958_CS_UPDATE ? ? ? (1 << 26)
> +# ? ? ? define HDMI0_AZ_FORMAT_WTRIG_MASK ?(1 << 28)
> +# ? ? ? define HDMI0_AZ_FORMAT_WTRIG_ACK ? (1 << 29)
> +#define HDMI0_AUDIO_CRC_CONTROL ? ? ?0x740c
> +# ? ? ? define HDMI0_AUDIO_CRC_EN ? ?(1 << 0)
> +#define HDMI0_VBI_PACKET_CONTROL ? ? 0x7410
> +# ? ? ? define HDMI0_NULL_SEND ? ? ? (1 << 0)
> +# ? ? ? define HDMI0_GC_SEND ? ? ? ? (1 << 4)
> +# ? ? ? define HDMI0_GC_CONT ? ? ? ? (1 << 5) /* 0 - once; 1 - every frame */
> +#define HDMI0_INFOFRAME_CONTROL0 ? ? 0x7414
> +# ? ? ? define HDMI0_AVI_INFO_SEND ? (1 << 0)
> +# ? ? ? define HDMI0_AVI_INFO_CONT ? (1 << 1)
> +# ? ? ? define HDMI0_AUDIO_INFO_SEND (1 << 4)
> +# ? ? ? define HDMI0_AUDIO_INFO_CONT (1 << 5)
> +# ? ? ? define HDMI0_AUDIO_INFO_SOURCE (1 << 6) /* 0 - sound block; 1 - hmdi 
> regs */
> +# ? ? ? define HDMI0_AUDIO_INFO_UPDATE (1 << 7)
> +# ? ? ? define HDMI0_MPEG_INFO_SEND ?(1 << 8)
> +# ? ? ? define HDMI0_MPEG_INFO_CONT ?(1 << 9)
> +# ? ? ? define HDMI0_MPEG_INFO_UPDATE ?(1 << 10)
> +#define HDMI0_INFOFRAME_CONTROL1 ? ? 0x7418
> +# ? ? ? define HDMI0_AVI_INFO_LINE(x) ?(((x) & 0x3f) << 0)
> +# ? ? ? define HDMI0_AUDIO_INFO_LINE(x) ?(((x) & 0x3f) << 8)
> +# ? ? ? define HDMI0_MPEG_INFO_LINE(x) ?(((x) & 0x3f) << 16)
> +#define HDMI0_GENERIC_PACKET_CONTROL 0x741c
> +# ? ? ? define HDMI0_GENERIC0_SEND ? (1 << 0)
> +# ? ? ? define HDMI0_GENERIC0_CONT ? (1 << 1)
> +# ? ? ? define HDMI0_GENERIC0_UPDATE (1 << 2)
> +# ? ? ? define HDMI0_GENERIC1_SEND ? (1 << 4)
> +# ? ? ? define HDMI0_GENERIC1_CONT ? (1 << 5)
> +# ? ? ? define HDMI0_GENERIC0_LINE(x) ?(((x) & 0x3f) << 16)
> +# ? ? ? define HDMI0_GENERIC1_LINE(x) ?(((x) & 0x3f) << 24)
> +#define HDMI0_GC ? ? ? ? ? ? ? ? ? ? 0x7428
> +# ? ? ? define HDMI0_GC_AVMUTE ? ? ? (1 << 0)
> +#define HDMI0_AVI_INFO0 ? ? ? ? ? ? ?0x7454
> +# ? ? ? define HDMI0_AVI_INFO_CHECKSUM(x) ?(((x) & 0xff) << 0)
> +# ? ? ? define HDMI0_AVI_INFO_S(x) ? (((x) & 3) << 8)
> +# ? ? ? define HDMI0_AVI_INFO_B(x) ? (((x) & 3) << 10)
> +# ? ? ? define HDMI0_AVI_INFO_A(x) ? (((x) & 1) << 12)
> +# ? ? ? define HDMI0_AVI_INFO_Y(x) ? (((x) & 3) << 13)
> +# ? ? ? define HDMI0_AVI_INFO_Y_RGB ? ? ? 0
> +# ? ? ? define HDMI0_AVI_INFO_Y_YCBCR422 ?1
> +# ? ? ? define HDMI0_AVI_INFO_Y_YCBCR444 ?2
> +# ? ? ? define HDMI0_AVI_INFO_Y_A_B_S(x) ? (((x) & 0xff) << 8)
> +# ? ? ? define HDMI0_AVI_INFO_R(x) ? (((x) & 0xf) << 16)
> +# ? ? ? define HDMI0_AVI_INFO_M(x) ? (((x) & 0x3) << 20)
> +# ? ? ? define HDMI0_AVI_INFO_C(x) ? (((x) & 0x3) << 22)
> +# ? ? ? define HDMI0_AVI_INFO_C_M_R(x) ? (((x) & 0xff) << 16)
> +# ? ? ? define HDMI0_AVI_INFO_SC(x) ?(((x) & 0x3) << 24)
> +# ? ? ? define HDMI0_AVI_INFO_ITC_EC_Q_SC(x) ?(((x) & 0xff) << 24)
> +#define HDMI0_AVI_INFO1 ? ? ? ? ? ? ?0x7458
> +# ? ? ? define HDMI0_AVI_INFO_VIC(x) (((x) & 0x7f) << 0) /* don't use avi 
> infoframe v1 */
> +# ? ? ? define HDMI0_AVI_INFO_PR(x) ?(((x) & 0xf) << 8) /* don't use avi 
> infoframe v1 */
> +# ? ? ? define HDMI0_AVI_INFO_TOP(x) (((x) & 0xffff) << 16)
> +#define HDMI0_AVI_INFO2 ? ? ? ? ? ? ?0x745c
> +# ? ? ? define HDMI0_AVI_INFO_BOTTOM(x) ?(((x) & 0xffff) << 0)
> +# ? ? ? define HDMI0_AVI_INFO_LEFT(x) ? ?(((x) & 0xffff) << 16)
> +#define HDMI0_AVI_INFO3 ? ? ? ? ? ? ?0x7460
> +# ? ? ? define HDMI0_AVI_INFO_RIGHT(x) ? ?(((x) & 0xffff) << 0)
> +# ? ? ? define HDMI0_AVI_INFO_VERSION(x) ?(((x) & 3) << 24)
> +#define HDMI0_MPEG_INFO0 ? ? ? ? ? ? 0x7464
> +# ? ? ? define HDMI0_MPEG_INFO_CHECKSUM(x) ?(((x) & 0xff) << 0)
> +# ? ? ? define HDMI0_MPEG_INFO_MB0(x) ?(((x) & 0xff) << 8)
> +# ? ? ? define HDMI0_MPEG_INFO_MB1(x) ?(((x) & 0xff) << 16)
> +# ? ? ? define HDMI0_MPEG_INFO_MB2(x) ?(((x) & 0xff) << 24)
> +#define HDMI0_MPEG_INFO1 ? ? ? ? ? ? 0x7468
> +# ? ? ? define HDMI0_MPEG_INFO_MB3(x) ?(((x) & 0xff) << 0)
> +# ? ? ? define HDMI0_MPEG_INFO_MF(x) ? (((x) & 3) << 8)
> +# ? ? ? define HDMI0_MPEG_INFO_FR(x) ? (((x) & 1) << 12)
> +#define HDMI0_GENERIC0_HDR ? ? ? ? ? 0x746c
> +#define HDMI0_GENERIC0_0 ? ? ? ? ? ? 0x7470
> +#define HDMI0_GENERIC0_1 ? ? ? ? ? ? 0x7474
> +#define HDMI0_GENERIC0_2 ? ? ? ? ? ? 0x7478
> +#define HDMI0_GENERIC0_3 ? ? ? ? ? ? 0x747c
> +#define HDMI0_GENERIC0_4 ? ? ? ? ? ? 0x7480
> +#define HDMI0_GENERIC0_5 ? ? ? ? ? ? 0x7484
> +#define HDMI0_GENERIC0_6 ? ? ? ? ? ? 0x7488
> +#define HDMI0_GENERIC1_HDR ? ? ? ? ? 0x748c
> +#define HDMI0_GENERIC1_0 ? ? ? ? ? ? 0x7490
> +#define HDMI0_GENERIC1_1 ? ? ? ? ? ? 0x7494
> +#define HDMI0_GENERIC1_2 ? ? ? ? ? ? 0x7498
> +#define HDMI0_GENERIC1_3 ? ? ? ? ? ? 0x749c
> +#define HDMI0_GENERIC1_4 ? ? ? ? ? ? 0x74a0
> +#define HDMI0_GENERIC1_5 ? ? ? ? ? ? 0x74a4
> +#define HDMI0_GENERIC1_6 ? ? ? ? ? ? 0x74a8
> +#define HDMI0_ACR_32_0 ? ? ? ? ? ? ? 0x74ac
> +# ? ? ? define HDMI0_ACR_CTS_32(x) ? (((x) & 0xfffff) << 12)
> +#define HDMI0_ACR_32_1 ? ? ? ? ? ? ? 0x74b0
> +# ? ? ? define HDMI0_ACR_N_32(x) ? (((x) & 0xfffff) << 0)
> +#define HDMI0_ACR_44_0 ? ? ? ? ? ? ? 0x74b4
> +# ? ? ? define HDMI0_ACR_CTS_44(x) ? (((x) & 0xfffff) << 12)
> +#define HDMI0_ACR_44_1 ? ? ? ? ? ? ? 0x74b8
> +# ? ? ? define HDMI0_ACR_N_44(x) ? (((x) & 0xfffff) << 0)
> +#define HDMI0_ACR_48_0 ? ? ? ? ? ? ? 0x74bc
> +# ? ? ? define HDMI0_ACR_CTS_48(x) ? (((x) & 0xfffff) << 12)
> +#define HDMI0_ACR_48_1 ? ? ? ? ? ? ? 0x74c0
> +# ? ? ? define HDMI0_ACR_N_48(x) ? (((x) & 0xfffff) << 0)
> +#define HDMI0_ACR_STATUS_0 ? ? ? ? ? 0x74c4
> +#define HDMI0_ACR_STATUS_1 ? ? ? ? ? 0x74c8
> +#define HDMI0_AUDIO_INFO0 ? ? ? ? ? ?0x74cc
> +# ? ? ? define HDMI0_AUDIO_INFO_CHECKSUM(x) ?(((x) & 0xff) << 0)
> +# ? ? ? define HDMI0_AUDIO_INFO_CC(x) ?(((x) & 7) << 8)
> +#define HDMI0_AUDIO_INFO1 ? ? ? ? ? ?0x74d0
> +# ? ? ? define HDMI0_AUDIO_INFO_CA(x) ?(((x) & 0xff) << 0)
> +# ? ? ? define HDMI0_AUDIO_INFO_LSV(x) ?(((x) & 0xf) << 11)
> +# ? ? ? define HDMI0_AUDIO_INFO_DM_INH(x) ?(((x) & 1) << 15)
> +# ? ? ? define HDMI0_AUDIO_INFO_DM_INH_LSV(x) ?(((x) & 0xff) << 8)
> +#define HDMI0_60958_0 ? ? ? ? ? ? ? ?0x74d4
> +# ? ? ? define HDMI0_60958_CS_A(x) ? (((x) & 1) << 0)
> +# ? ? ? define HDMI0_60958_CS_B(x) ? (((x) & 1) << 1)
> +# ? ? ? define HDMI0_60958_CS_C(x) ? (((x) & 1) << 2)
> +# ? ? ? define HDMI0_60958_CS_D(x) ? (((x) & 3) << 3)
> +# ? ? ? define HDMI0_60958_CS_MODE(x) ? (((x) & 3) << 6)
> +# ? ? ? define HDMI0_60958_CS_CATEGORY_CODE(x) ? ? ?(((x) & 0xff) << 8)
> +# ? ? ? define HDMI0_60958_CS_SOURCE_NUMBER(x) ? ? ?(((x) & 0xf) << 16)
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_L(x) ? (((x) & 0xf) << 20)
> +# ? ? ? define HDMI0_60958_CS_SAMPLING_FREQUENCY(x) (((x) & 0xf) << 24)
> +# ? ? ? define HDMI0_60958_CS_CLOCK_ACCURACY(x) ? ? (((x) & 3) << 28)
> +#define HDMI0_60958_1 ? ? ? ? ? ? ? ?0x74d8
> +# ? ? ? define HDMI0_60958_CS_WORD_LENGTH(x) ? ? ? ?(((x) & 0xf) << 0)
> +# ? ? ? define HDMI0_60958_CS_ORIGINAL_SAMPLING_FREQUENCY(x) ? (((x) & 0xf) 
> << 4)
> +# ? ? ? define HDMI0_60958_CS_VALID_L(x) ? (((x) & 1) << 16)
> +# ? ? ? define HDMI0_60958_CS_VALID_R(x) ? (((x) & 1) << 18)
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_R(x) ? (((x) & 0xf) << 20)
> +#define HDMI0_ACR_PACKET_CONTROL ? ? 0x74dc
> +# ? ? ? define HDMI0_ACR_SEND ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI0_ACR_CONT ? ? ? ?(1 << 1)
> +# ? ? ? define HDMI0_ACR_SELECT(x) ? (((x) & 3) << 4)
> +# ? ? ? define HDMI0_ACR_HW ? ? ? ? ?0
> +# ? ? ? define HDMI0_ACR_32 ? ? ? ? ?1
> +# ? ? ? define HDMI0_ACR_44 ? ? ? ? ?2
> +# ? ? ? define HDMI0_ACR_48 ? ? ? ? ?3
> +# ? ? ? define HDMI0_ACR_SOURCE ? ? ?(1 << 8) /* 0 - hw; 1 - cts value */
> +# ? ? ? define HDMI0_ACR_AUTO_SEND ? (1 << 12)
> +#define HDMI0_RAMP_CONTROL0 ? ? ? ? ?0x74e0
> +# ? ? ? define HDMI0_RAMP_MAX_COUNT(x) ? (((x) & 0xffffff) << 0)
> +#define HDMI0_RAMP_CONTROL1 ? ? ? ? ?0x74e4
> +# ? ? ? define HDMI0_RAMP_MIN_COUNT(x) ? (((x) & 0xffffff) << 0)
> +#define HDMI0_RAMP_CONTROL2 ? ? ? ? ?0x74e8
> +# ? ? ? define HDMI0_RAMP_INC_COUNT(x) ? (((x) & 0xffffff) << 0)
> +#define HDMI0_RAMP_CONTROL3 ? ? ? ? ?0x74ec
> +# ? ? ? define HDMI0_RAMP_DEC_COUNT(x) ? (((x) & 0xffffff) << 0)
> +/* HDMI0_60958_2 is r7xx only */
> +#define HDMI0_60958_2 ? ? ? ? ? ? ? ?0x74f0
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_2(x) ? (((x) & 0xf) << 0)
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_3(x) ? (((x) & 0xf) << 4)
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_4(x) ? (((x) & 0xf) << 8)
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_5(x) ? (((x) & 0xf) << 12)
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_6(x) ? (((x) & 0xf) << 16)
> +# ? ? ? define HDMI0_60958_CS_CHANNEL_NUMBER_7(x) ? (((x) & 0xf) << 20)
> +/* r6xx only; second instance starts at 0x7700 */
> +#define HDMI1_CONTROL ? ? ? ? ? ? ? ?0x7700
> +#define HDMI1_STATUS ? ? ? ? ? ? ? ? 0x7704
> +#define HDMI1_AUDIO_PACKET_CONTROL ? 0x7708
> +/* DCE3; second instance starts at 0x7800 NOT 0x7700 */
> +#define DCE3_HDMI1_CONTROL ? ? ? ? ? ? ? ?0x7800
> +#define DCE3_HDMI1_STATUS ? ? ? ? ? ? ? ? 0x7804
> +#define DCE3_HDMI1_AUDIO_PACKET_CONTROL ? 0x7808
> +/* DCE3.2 (for interrupts) */
> +#define AFMT_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ?0x7600
> +# ? ? ? define AFMT_AUDIO_ENABLE ? ? ? ? ? ? (1 << 4)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG ? ? ? ? ?(1 << 28)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_INT ? ? ?(1 << 29)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG ? ? ?(1 << 30)
> +#define AFMT_AUDIO_PACKET_CONTROL ? ? ? ? ? ?0x7604
> +# ? ? ? define AFMT_AUDIO_SAMPLE_SEND ? ? ? ?(1 << 0)
> +# ? ? ? define AFMT_AUDIO_TEST_EN ? ? ? ? ? ?(1 << 12)
> +# ? ? ? define AFMT_AUDIO_CHANNEL_SWAP ? ? ? (1 << 24)
> +# ? ? ? define AFMT_60958_CS_UPDATE ? ? ? ? ?(1 << 26)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG_MASK (1 << 27)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_MASK ? ? (1 << 28)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_ACK ? ? ?(1 << 29)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG_ACK ?(1 << 30)
> +/* DCE3.2 second instance starts at 0x7800 */
> +#define HDMI_OFFSET0 ? ? ? ? ? ? ? ? ? ? ?(0x7400 - 0x7400)
> +#define HDMI_OFFSET1 ? ? ? ? ? ? ? ? ? ? ?(0x7800 - 0x7400)
> +
> ?/*
> ?* PM4
> ?*/
> diff --git a/drivers/gpu/drm/radeon/rs600d.h b/drivers/gpu/drm/radeon/rs600d.h
> index a27c13a..f1f8941 100644
> --- a/drivers/gpu/drm/radeon/rs600d.h
> +++ b/drivers/gpu/drm/radeon/rs600d.h
> @@ -485,6 +485,20 @@
> ?#define ? S_007D18_DC_HOT_PLUG_DETECT2_INT_EN(x) ? ? ? (((x) & 0x1) << 16)
> ?#define ? G_007D18_DC_HOT_PLUG_DETECT2_INT_EN(x) ? ? ? (((x) >> 16) & 0x1)
> ?#define ? C_007D18_DC_HOT_PLUG_DETECT2_INT_EN ? ? ? ? ?0xFFFEFFFF
> +#define R_007404_HDMI0_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ?0x007404
> +#define ? S_007404_HDMI0_AZ_FORMAT_WTRIG(x) ? ? ? ? ? ?(((x) & 0x1) << 28)
> +#define ? G_007404_HDMI0_AZ_FORMAT_WTRIG(x) ? ? ? ? ? ?(((x) >> 28) & 0x1)
> +#define ? C_007404_HDMI0_AZ_FORMAT_WTRIG ? ? ? ? ? ? ? 0xEFFFFFFF
> +#define ? S_007404_HDMI0_AZ_FORMAT_WTRIG_INT(x) ? ? ? ?(((x) & 0x1) << 29)
> +#define ? G_007404_HDMI0_AZ_FORMAT_WTRIG_INT(x) ? ? ? ?(((x) >> 29) & 0x1)
> +#define ? C_007404_HDMI0_AZ_FORMAT_WTRIG_INT ? ? ? ? ? 0xDFFFFFFF
> +#define R_007408_HDMI0_AUDIO_PACKET_CONTROL ? ? ? ? ? ?0x007408
> +#define ? S_007408_HDMI0_AZ_FORMAT_WTRIG_MASK(x) ? ? ? (((x) & 0x1) << 28)
> +#define ? G_007408_HDMI0_AZ_FORMAT_WTRIG_MASK(x) ? ? ? (((x) >> 28) & 0x1)
> +#define ? C_007408_HDMI0_AZ_FORMAT_WTRIG_MASK ? ? ? ? ?0xEFFFFFFF
> +#define ? S_007408_HDMI0_AZ_FORMAT_WTRIG_ACK(x) ? ? ? ?(((x) & 0x1) << 29)
> +#define ? G_007408_HDMI0_AZ_FORMAT_WTRIG_ACK(x) ? ? ? ?(((x) >> 29) & 0x1)
> +#define ? C_007408_HDMI0_AZ_FORMAT_WTRIG_ACK ? ? ? ? ? 0xDFFFFFFF
>
> ?/* MC registers */
> ?#define R_000000_MC_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ? 0x000000
> diff --git a/drivers/gpu/drm/radeon/rv770d.h b/drivers/gpu/drm/radeon/rv770d.h
> index 79fa588..9c549f7 100644
> --- a/drivers/gpu/drm/radeon/rv770d.h
> +++ b/drivers/gpu/drm/radeon/rv770d.h
> @@ -353,6 +353,197 @@
>
> ?#define ? ? ? ?SRBM_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0x0E50
>
> +/* DCE 3.2 HDMI */
> +#define HDMI_CONTROL ? ? ? ? ? ? ? ? ? ? ? ? 0x7400
> +# ? ? ? define HDMI_KEEPOUT_MODE ? ? ? ? ? ? (1 << 0)
> +# ? ? ? define HDMI_PACKET_GEN_VERSION ? ? ? (1 << 4) /* 0 = r6xx compat */
> +# ? ? ? define HDMI_ERROR_ACK ? ? ? ? ? ? ? ?(1 << 8)
> +# ? ? ? define HDMI_ERROR_MASK ? ? ? ? ? ? ? (1 << 9)
> +#define HDMI_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ?0x7404
> +# ? ? ? define HDMI_ACTIVE_AVMUTE ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_AUDIO_PACKET_ERROR ? ? ? (1 << 16)
> +# ? ? ? define HDMI_VBI_PACKET_ERROR ? ? ? ? (1 << 20)
> +#define HDMI_AUDIO_PACKET_CONTROL ? ? ? ? ? ?0x7408
> +# ? ? ? define HDMI_AUDIO_DELAY_EN(x) ? ? ? ?(((x) & 3) << 4)
> +# ? ? ? define HDMI_AUDIO_PACKETS_PER_LINE(x) ?(((x) & 0x1f) << 16)
> +#define HDMI_ACR_PACKET_CONTROL ? ? ? ? ? ? ?0x740c
> +# ? ? ? define HDMI_ACR_SEND ? ? ? ? ? ? ? ? (1 << 0)
> +# ? ? ? define HDMI_ACR_CONT ? ? ? ? ? ? ? ? (1 << 1)
> +# ? ? ? define HDMI_ACR_SELECT(x) ? ? ? ? ? ?(((x) & 3) << 4)
> +# ? ? ? define HDMI_ACR_HW ? ? ? ? ? ? ? ? ? 0
> +# ? ? ? define HDMI_ACR_32 ? ? ? ? ? ? ? ? ? 1
> +# ? ? ? define HDMI_ACR_44 ? ? ? ? ? ? ? ? ? 2
> +# ? ? ? define HDMI_ACR_48 ? ? ? ? ? ? ? ? ? 3
> +# ? ? ? define HDMI_ACR_SOURCE ? ? ? ? ? ? ? (1 << 8) /* 0 - hw; 1 - cts 
> value */
> +# ? ? ? define HDMI_ACR_AUTO_SEND ? ? ? ? ? ?(1 << 12)
> +#define HDMI_VBI_PACKET_CONTROL ? ? ? ? ? ? ?0x7410
> +# ? ? ? define HDMI_NULL_SEND ? ? ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_GC_SEND ? ? ? ? ? ? ? ? ?(1 << 4)
> +# ? ? ? define HDMI_GC_CONT ? ? ? ? ? ? ? ? ?(1 << 5) /* 0 - once; 1 - every 
> frame */
> +#define HDMI_INFOFRAME_CONTROL0 ? ? ? ? ? ? ?0x7414
> +# ? ? ? define HDMI_AVI_INFO_SEND ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_AVI_INFO_CONT ? ? ? ? ? ?(1 << 1)
> +# ? ? ? define HDMI_AUDIO_INFO_SEND ? ? ? ? ?(1 << 4)
> +# ? ? ? define HDMI_AUDIO_INFO_CONT ? ? ? ? ?(1 << 5)
> +# ? ? ? define HDMI_MPEG_INFO_SEND ? ? ? ? ? (1 << 8)
> +# ? ? ? define HDMI_MPEG_INFO_CONT ? ? ? ? ? (1 << 9)
> +#define HDMI_INFOFRAME_CONTROL1 ? ? ? ? ? ? ?0x7418
> +# ? ? ? define HDMI_AVI_INFO_LINE(x) ? ? ? ? (((x) & 0x3f) << 0)
> +# ? ? ? define HDMI_AUDIO_INFO_LINE(x) ? ? ? (((x) & 0x3f) << 8)
> +# ? ? ? define HDMI_MPEG_INFO_LINE(x) ? ? ? ?(((x) & 0x3f) << 16)
> +#define HDMI_GENERIC_PACKET_CONTROL ? ? ? ? ?0x741c
> +# ? ? ? define HDMI_GENERIC0_SEND ? ? ? ? ? ?(1 << 0)
> +# ? ? ? define HDMI_GENERIC0_CONT ? ? ? ? ? ?(1 << 1)
> +# ? ? ? define HDMI_GENERIC1_SEND ? ? ? ? ? ?(1 << 4)
> +# ? ? ? define HDMI_GENERIC1_CONT ? ? ? ? ? ?(1 << 5)
> +# ? ? ? define HDMI_GENERIC0_LINE(x) ? ? ? ? (((x) & 0x3f) << 16)
> +# ? ? ? define HDMI_GENERIC1_LINE(x) ? ? ? ? (((x) & 0x3f) << 24)
> +#define HDMI_GC ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?0x7428
> +# ? ? ? define HDMI_GC_AVMUTE ? ? ? ? ? ? ? ?(1 << 0)
> +#define AFMT_AUDIO_PACKET_CONTROL2 ? ? ? ? ? 0x742c
> +# ? ? ? define AFMT_AUDIO_LAYOUT_OVRD ? ? ? ?(1 << 0)
> +# ? ? ? define AFMT_AUDIO_LAYOUT_SELECT ? ? ?(1 << 1)
> +# ? ? ? define AFMT_60958_CS_SOURCE ? ? ? ? ?(1 << 4)
> +# ? ? ? define AFMT_AUDIO_CHANNEL_ENABLE(x) ?(((x) & 0xff) << 8)
> +# ? ? ? define AFMT_DP_AUDIO_STREAM_ID(x) ? ?(((x) & 0xff) << 16)
> +#define AFMT_AVI_INFO0 ? ? ? ? ? ? ? ? ? ? ? 0x7454
> +# ? ? ? define AFMT_AVI_INFO_CHECKSUM(x) ? ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_AVI_INFO_S(x) ? ? ? ? ? ?(((x) & 3) << 8)
> +# ? ? ? define AFMT_AVI_INFO_B(x) ? ? ? ? ? ?(((x) & 3) << 10)
> +# ? ? ? define AFMT_AVI_INFO_A(x) ? ? ? ? ? ?(((x) & 1) << 12)
> +# ? ? ? define AFMT_AVI_INFO_Y(x) ? ? ? ? ? ?(((x) & 3) << 13)
> +# ? ? ? define AFMT_AVI_INFO_Y_RGB ? ? ? ? ? 0
> +# ? ? ? define AFMT_AVI_INFO_Y_YCBCR422 ? ? ?1
> +# ? ? ? define AFMT_AVI_INFO_Y_YCBCR444 ? ? ?2
> +# ? ? ? define AFMT_AVI_INFO_Y_A_B_S(x) ? ? ?(((x) & 0xff) << 8)
> +# ? ? ? define AFMT_AVI_INFO_R(x) ? ? ? ? ? ?(((x) & 0xf) << 16)
> +# ? ? ? define AFMT_AVI_INFO_M(x) ? ? ? ? ? ?(((x) & 0x3) << 20)
> +# ? ? ? define AFMT_AVI_INFO_C(x) ? ? ? ? ? ?(((x) & 0x3) << 22)
> +# ? ? ? define AFMT_AVI_INFO_C_M_R(x) ? ? ? ?(((x) & 0xff) << 16)
> +# ? ? ? define AFMT_AVI_INFO_SC(x) ? ? ? ? ? (((x) & 0x3) << 24)
> +# ? ? ? define AFMT_AVI_INFO_Q(x) ? ? ? ? ? ?(((x) & 0x3) << 26)
> +# ? ? ? define AFMT_AVI_INFO_EC(x) ? ? ? ? ? (((x) & 0x3) << 28)
> +# ? ? ? define AFMT_AVI_INFO_ITC(x) ? ? ? ? ?(((x) & 0x1) << 31)
> +# ? ? ? define AFMT_AVI_INFO_ITC_EC_Q_SC(x) ?(((x) & 0xff) << 24)
> +#define AFMT_AVI_INFO1 ? ? ? ? ? ? ? ? ? ? ? 0x7458
> +# ? ? ? define AFMT_AVI_INFO_VIC(x) ? ? ? ? ?(((x) & 0x7f) << 0) /* don't 
> use avi infoframe v1 */
> +# ? ? ? define AFMT_AVI_INFO_PR(x) ? ? ? ? ? (((x) & 0xf) << 8) /* don't use 
> avi infoframe v1 */
> +# ? ? ? define AFMT_AVI_INFO_TOP(x) ? ? ? ? ?(((x) & 0xffff) << 16)
> +#define AFMT_AVI_INFO2 ? ? ? ? ? ? ? ? ? ? ? 0x745c
> +# ? ? ? define AFMT_AVI_INFO_BOTTOM(x) ? ? ? (((x) & 0xffff) << 0)
> +# ? ? ? define AFMT_AVI_INFO_LEFT(x) ? ? ? ? (((x) & 0xffff) << 16)
> +#define AFMT_AVI_INFO3 ? ? ? ? ? ? ? ? ? ? ? 0x7460
> +# ? ? ? define AFMT_AVI_INFO_RIGHT(x) ? ? ? ?(((x) & 0xffff) << 0)
> +# ? ? ? define AFMT_AVI_INFO_VERSION(x) ? ? ?(((x) & 3) << 24)
> +#define AFMT_MPEG_INFO0 ? ? ? ? ? ? ? ? ? ? ?0x7464
> +# ? ? ? define AFMT_MPEG_INFO_CHECKSUM(x) ? ?(((x) & 0xff) << 0)
> +# ? ? ? define AFMT_MPEG_INFO_MB0(x) ? ? ? ? (((x) & 0xff) << 8)
> +# ? ? ? define AFMT_MPEG_INFO_MB1(x) ? ? ? ? (((x) & 0xff) << 16)
> +# ? ? ? define AFMT_MPEG_INFO_MB2(x) ? ? ? ? (((x) & 0xff) << 24)
> +#define AFMT_MPEG_INFO1 ? ? ? ? ? ? ? ? ? ? ?0x7468
> +# ? ? ? define AFMT_MPEG_INFO_MB3(x) ? ? ? ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_MPEG_INFO_MF(x) ? ? ? ? ?(((x) & 3) << 8)
> +# ? ? ? define AFMT_MPEG_INFO_FR(x) ? ? ? ? ?(((x) & 1) << 12)
> +#define AFMT_GENERIC0_HDR ? ? ? ? ? ? ? ? ? ?0x746c
> +#define AFMT_GENERIC0_0 ? ? ? ? ? ? ? ? ? ? ?0x7470
> +#define AFMT_GENERIC0_1 ? ? ? ? ? ? ? ? ? ? ?0x7474
> +#define AFMT_GENERIC0_2 ? ? ? ? ? ? ? ? ? ? ?0x7478
> +#define AFMT_GENERIC0_3 ? ? ? ? ? ? ? ? ? ? ?0x747c
> +#define AFMT_GENERIC0_4 ? ? ? ? ? ? ? ? ? ? ?0x7480
> +#define AFMT_GENERIC0_5 ? ? ? ? ? ? ? ? ? ? ?0x7484
> +#define AFMT_GENERIC0_6 ? ? ? ? ? ? ? ? ? ? ?0x7488
> +#define AFMT_GENERIC1_HDR ? ? ? ? ? ? ? ? ? ?0x748c
> +#define AFMT_GENERIC1_0 ? ? ? ? ? ? ? ? ? ? ?0x7490
> +#define AFMT_GENERIC1_1 ? ? ? ? ? ? ? ? ? ? ?0x7494
> +#define AFMT_GENERIC1_2 ? ? ? ? ? ? ? ? ? ? ?0x7498
> +#define AFMT_GENERIC1_3 ? ? ? ? ? ? ? ? ? ? ?0x749c
> +#define AFMT_GENERIC1_4 ? ? ? ? ? ? ? ? ? ? ?0x74a0
> +#define AFMT_GENERIC1_5 ? ? ? ? ? ? ? ? ? ? ?0x74a4
> +#define AFMT_GENERIC1_6 ? ? ? ? ? ? ? ? ? ? ?0x74a8
> +#define HDMI_ACR_32_0 ? ? ? ? ? ? ? ? ? ? ? ?0x74ac
> +# ? ? ? define HDMI_ACR_CTS_32(x) ? ? ? ? ? ?(((x) & 0xfffff) << 12)
> +#define HDMI_ACR_32_1 ? ? ? ? ? ? ? ? ? ? ? ?0x74b0
> +# ? ? ? define HDMI_ACR_N_32(x) ? ? ? ? ? ? ?(((x) & 0xfffff) << 0)
> +#define HDMI_ACR_44_0 ? ? ? ? ? ? ? ? ? ? ? ?0x74b4
> +# ? ? ? define HDMI_ACR_CTS_44(x) ? ? ? ? ? ?(((x) & 0xfffff) << 12)
> +#define HDMI_ACR_44_1 ? ? ? ? ? ? ? ? ? ? ? ?0x74b8
> +# ? ? ? define HDMI_ACR_N_44(x) ? ? ? ? ? ? ?(((x) & 0xfffff) << 0)
> +#define HDMI_ACR_48_0 ? ? ? ? ? ? ? ? ? ? ? ?0x74bc
> +# ? ? ? define HDMI_ACR_CTS_48(x) ? ? ? ? ? ?(((x) & 0xfffff) << 12)
> +#define HDMI_ACR_48_1 ? ? ? ? ? ? ? ? ? ? ? ?0x74c0
> +# ? ? ? define HDMI_ACR_N_48(x) ? ? ? ? ? ? ?(((x) & 0xfffff) << 0)
> +#define HDMI_ACR_STATUS_0 ? ? ? ? ? ? ? ? ? ?0x74c4
> +#define HDMI_ACR_STATUS_1 ? ? ? ? ? ? ? ? ? ?0x74c8
> +#define AFMT_AUDIO_INFO0 ? ? ? ? ? ? ? ? ? ? 0x74cc
> +# ? ? ? define AFMT_AUDIO_INFO_CHECKSUM(x) ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_AUDIO_INFO_CC(x) ? ? ? ? (((x) & 7) << 8)
> +# ? ? ? define AFMT_AUDIO_INFO_CHECKSUM_OFFSET(x) ? (((x) & 0xff) << 16)
> +#define AFMT_AUDIO_INFO1 ? ? ? ? ? ? ? ? ? ? 0x74d0
> +# ? ? ? define AFMT_AUDIO_INFO_CA(x) ? ? ? ? (((x) & 0xff) << 0)
> +# ? ? ? define AFMT_AUDIO_INFO_LSV(x) ? ? ? ?(((x) & 0xf) << 11)
> +# ? ? ? define AFMT_AUDIO_INFO_DM_INH(x) ? ? (((x) & 1) << 15)
> +# ? ? ? define AFMT_AUDIO_INFO_DM_INH_LSV(x) (((x) & 0xff) << 8)
> +#define AFMT_60958_0 ? ? ? ? ? ? ? ? ? ? ? ? 0x74d4
> +# ? ? ? define AFMT_60958_CS_A(x) ? ? ? ? ? ?(((x) & 1) << 0)
> +# ? ? ? define AFMT_60958_CS_B(x) ? ? ? ? ? ?(((x) & 1) << 1)
> +# ? ? ? define AFMT_60958_CS_C(x) ? ? ? ? ? ?(((x) & 1) << 2)
> +# ? ? ? define AFMT_60958_CS_D(x) ? ? ? ? ? ?(((x) & 3) << 3)
> +# ? ? ? define AFMT_60958_CS_MODE(x) ? ? ? ? (((x) & 3) << 6)
> +# ? ? ? define AFMT_60958_CS_CATEGORY_CODE(x) ? ? ?(((x) & 0xff) << 8)
> +# ? ? ? define AFMT_60958_CS_SOURCE_NUMBER(x) ? ? ?(((x) & 0xf) << 16)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_L(x) ? (((x) & 0xf) << 20)
> +# ? ? ? define AFMT_60958_CS_SAMPLING_FREQUENCY(x) (((x) & 0xf) << 24)
> +# ? ? ? define AFMT_60958_CS_CLOCK_ACCURACY(x) ? ? (((x) & 3) << 28)
> +#define AFMT_60958_1 ? ? ? ? ? ? ? ? ? ? ? ? 0x74d8
> +# ? ? ? define AFMT_60958_CS_WORD_LENGTH(x) ?(((x) & 0xf) << 0)
> +# ? ? ? define AFMT_60958_CS_ORIGINAL_SAMPLING_FREQUENCY(x) ? (((x) & 0xf) 
> << 4)
> +# ? ? ? define AFMT_60958_CS_VALID_L(x) ? ? ?(((x) & 1) << 16)
> +# ? ? ? define AFMT_60958_CS_VALID_R(x) ? ? ?(((x) & 1) << 18)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_R(x) ? (((x) & 0xf) << 20)
> +#define AFMT_AUDIO_CRC_CONTROL ? ? ? ? ? ? ? 0x74dc
> +# ? ? ? define AFMT_AUDIO_CRC_EN ? ? ? ? ? ? (1 << 0)
> +#define AFMT_RAMP_CONTROL0 ? ? ? ? ? ? ? ? ? 0x74e0
> +# ? ? ? define AFMT_RAMP_MAX_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +# ? ? ? define AFMT_RAMP_DATA_SIGN ? ? ? ? ? (1 << 31)
> +#define AFMT_RAMP_CONTROL1 ? ? ? ? ? ? ? ? ? 0x74e4
> +# ? ? ? define AFMT_RAMP_MIN_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +# ? ? ? define AFMT_AUDIO_TEST_CH_DISABLE(x) (((x) & 0xff) << 24)
> +#define AFMT_RAMP_CONTROL2 ? ? ? ? ? ? ? ? ? 0x74e8
> +# ? ? ? define AFMT_RAMP_INC_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +#define AFMT_RAMP_CONTROL3 ? ? ? ? ? ? ? ? ? 0x74ec
> +# ? ? ? define AFMT_RAMP_DEC_COUNT(x) ? ? ? ?(((x) & 0xffffff) << 0)
> +#define AFMT_60958_2 ? ? ? ? ? ? ? ? ? ? ? ? 0x74f0
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_2(x) ? (((x) & 0xf) << 0)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_3(x) ? (((x) & 0xf) << 4)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_4(x) ? (((x) & 0xf) << 8)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_5(x) ? (((x) & 0xf) << 12)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_6(x) ? (((x) & 0xf) << 16)
> +# ? ? ? define AFMT_60958_CS_CHANNEL_NUMBER_7(x) ? (((x) & 0xf) << 20)
> +#define AFMT_STATUS ? ? ? ? ? ? ? ? ? ? ? ? ?0x7600
> +# ? ? ? define AFMT_AUDIO_ENABLE ? ? ? ? ? ? (1 << 4)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG ? ? ? ? ?(1 << 28)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_INT ? ? ?(1 << 29)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG ? ? ?(1 << 30)
> +#define AFMT_AUDIO_PACKET_CONTROL ? ? ? ? ? ?0x7604
> +# ? ? ? define AFMT_AUDIO_SAMPLE_SEND ? ? ? ?(1 << 0)
> +# ? ? ? define AFMT_AUDIO_TEST_EN ? ? ? ? ? ?(1 << 12)
> +# ? ? ? define AFMT_AUDIO_CHANNEL_SWAP ? ? ? (1 << 24)
> +# ? ? ? define AFMT_60958_CS_UPDATE ? ? ? ? ?(1 << 26)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG_MASK (1 << 27)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_MASK ? ? (1 << 28)
> +# ? ? ? define AFMT_AZ_FORMAT_WTRIG_ACK ? ? ?(1 << 29)
> +# ? ? ? define AFMT_AZ_AUDIO_ENABLE_CHG_ACK ?(1 << 30)
> +#define AFMT_VBI_PACKET_CONTROL ? ? ? ? ? ? ?0x7608
> +# ? ? ? define AFMT_GENERIC0_UPDATE ? ? ? ? ?(1 << 2)
> +#define AFMT_INFOFRAME_CONTROL0 ? ? ? ? ? ? ?0x760c
> +# ? ? ? define AFMT_AUDIO_INFO_SOURCE ? ? ? ?(1 << 6) /* 0 - sound block; 1 
> - hmdi regs */
> +# ? ? ? define AFMT_AUDIO_INFO_UPDATE ? ? ? ?(1 << 7)
> +# ? ? ? define AFMT_MPEG_INFO_UPDATE ? ? ? ? (1 << 10)
> +#define AFMT_GENERIC0_7 ? ? ? ? ? ? ? ? ? ? ?0x7610
> +/* second instance starts at 0x7800 */
> +#define HDMI_OFFSET0 ? ? ? ? ? ? ? ? ? ? ?(0x7400 - 0x7400)
> +#define HDMI_OFFSET1 ? ? ? ? ? ? ? ? ? ? ?(0x7800 - 0x7400)
> +
> ?#define D1GRPH_PRIMARY_SURFACE_ADDRESS ? ? ? ? ? ? ? ? ? ?0x6110
> ?#define D1GRPH_PRIMARY_SURFACE_ADDRESS_HIGH ? ? ? ? ? ? ? 0x6914
> ?#define D2GRPH_PRIMARY_SURFACE_ADDRESS_HIGH ? ? ? ? ? ? ? 0x6114
> --
> 1.7.7.5
>

Reply via email to