.. | .. |
---|
49 | 49 | SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO0_SOURCE_SEL, mask_sh),\ |
---|
50 | 50 | SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO_SEL, mask_sh),\ |
---|
51 | 51 | SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO2_USE_512FBR_DTO, mask_sh),\ |
---|
| 52 | + SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO0_USE_512FBR_DTO, mask_sh),\ |
---|
| 53 | + SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO1_USE_512FBR_DTO, mask_sh),\ |
---|
52 | 54 | SF(DCCG_AUDIO_DTO0_MODULE, DCCG_AUDIO_DTO0_MODULE, mask_sh),\ |
---|
53 | 55 | SF(DCCG_AUDIO_DTO0_PHASE, DCCG_AUDIO_DTO0_PHASE, mask_sh),\ |
---|
54 | 56 | SF(DCCG_AUDIO_DTO1_MODULE, DCCG_AUDIO_DTO1_MODULE, mask_sh),\ |
---|
.. | .. |
---|
62 | 64 | SF(AZALIA_F0_CODEC_ENDPOINT_INDEX, AZALIA_ENDPOINT_REG_INDEX, mask_sh),\ |
---|
63 | 65 | SF(AZALIA_F0_CODEC_ENDPOINT_DATA, AZALIA_ENDPOINT_REG_DATA, mask_sh) |
---|
64 | 66 | |
---|
| 67 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
---|
| 68 | +#define AUD_DCE60_MASK_SH_LIST(mask_sh)\ |
---|
| 69 | + SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO0_SOURCE_SEL, mask_sh),\ |
---|
| 70 | + SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO_SEL, mask_sh),\ |
---|
| 71 | + SF(DCCG_AUDIO_DTO0_MODULE, DCCG_AUDIO_DTO0_MODULE, mask_sh),\ |
---|
| 72 | + SF(DCCG_AUDIO_DTO0_PHASE, DCCG_AUDIO_DTO0_PHASE, mask_sh),\ |
---|
| 73 | + SF(DCCG_AUDIO_DTO1_MODULE, DCCG_AUDIO_DTO1_MODULE, mask_sh),\ |
---|
| 74 | + SF(DCCG_AUDIO_DTO1_PHASE, DCCG_AUDIO_DTO1_PHASE, mask_sh),\ |
---|
| 75 | + SF(AZALIA_F0_CODEC_FUNCTION_PARAMETER_SUPPORTED_SIZE_RATES, AUDIO_RATE_CAPABILITIES, mask_sh),\ |
---|
| 76 | + SF(AZALIA_F0_CODEC_FUNCTION_PARAMETER_POWER_STATES, CLKSTOP, mask_sh),\ |
---|
| 77 | + SF(AZALIA_F0_CODEC_FUNCTION_PARAMETER_POWER_STATES, EPSS, mask_sh), \ |
---|
| 78 | + SF(AZALIA_F0_CODEC_ENDPOINT_INDEX, AZALIA_ENDPOINT_REG_INDEX, mask_sh),\ |
---|
| 79 | + SF(AZALIA_F0_CODEC_ENDPOINT_DATA, AZALIA_ENDPOINT_REG_DATA, mask_sh) |
---|
| 80 | +#endif |
---|
65 | 81 | |
---|
66 | 82 | struct dce_audio_registers { |
---|
67 | 83 | uint32_t AZALIA_F0_CODEC_ENDPOINT_INDEX; |
---|
.. | .. |
---|
95 | 111 | uint8_t DCCG_AUDIO_DTO1_MODULE; |
---|
96 | 112 | uint8_t DCCG_AUDIO_DTO1_PHASE; |
---|
97 | 113 | uint8_t DCCG_AUDIO_DTO2_USE_512FBR_DTO; |
---|
| 114 | + uint32_t DCCG_AUDIO_DTO0_USE_512FBR_DTO; |
---|
| 115 | + uint32_t DCCG_AUDIO_DTO1_USE_512FBR_DTO; |
---|
98 | 116 | }; |
---|
99 | 117 | |
---|
100 | | -struct dce_aduio_mask { |
---|
| 118 | +struct dce_audio_mask { |
---|
101 | 119 | uint32_t AZALIA_ENDPOINT_REG_INDEX; |
---|
102 | 120 | uint32_t AZALIA_ENDPOINT_REG_DATA; |
---|
103 | 121 | |
---|
.. | .. |
---|
112 | 130 | uint32_t DCCG_AUDIO_DTO1_MODULE; |
---|
113 | 131 | uint32_t DCCG_AUDIO_DTO1_PHASE; |
---|
114 | 132 | uint32_t DCCG_AUDIO_DTO2_USE_512FBR_DTO; |
---|
| 133 | + uint32_t DCCG_AUDIO_DTO0_USE_512FBR_DTO; |
---|
| 134 | + uint32_t DCCG_AUDIO_DTO1_USE_512FBR_DTO; |
---|
| 135 | + |
---|
115 | 136 | }; |
---|
116 | 137 | |
---|
117 | 138 | struct dce_audio { |
---|
118 | 139 | struct audio base; |
---|
119 | 140 | const struct dce_audio_registers *regs; |
---|
120 | 141 | const struct dce_audio_shift *shifts; |
---|
121 | | - const struct dce_aduio_mask *masks; |
---|
| 142 | + const struct dce_audio_mask *masks; |
---|
122 | 143 | }; |
---|
123 | 144 | |
---|
124 | 145 | struct audio *dce_audio_create( |
---|
.. | .. |
---|
126 | 147 | unsigned int inst, |
---|
127 | 148 | const struct dce_audio_registers *reg, |
---|
128 | 149 | const struct dce_audio_shift *shifts, |
---|
129 | | - const struct dce_aduio_mask *masks); |
---|
| 150 | + const struct dce_audio_mask *masks); |
---|
| 151 | + |
---|
| 152 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
---|
| 153 | +struct audio *dce60_audio_create( |
---|
| 154 | + struct dc_context *ctx, |
---|
| 155 | + unsigned int inst, |
---|
| 156 | + const struct dce_audio_registers *reg, |
---|
| 157 | + const struct dce_audio_shift *shifts, |
---|
| 158 | + const struct dce_audio_mask *masks); |
---|
| 159 | +#endif |
---|
130 | 160 | |
---|
131 | 161 | void dce_aud_destroy(struct audio **audio); |
---|
132 | 162 | |
---|