| .. | .. |
|---|
| 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 | |
|---|