forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/drivers/gpu/drm/amd/display/dc/dce/dce_audio.h
....@@ -49,6 +49,8 @@
4949 SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO0_SOURCE_SEL, mask_sh),\
5050 SF(DCCG_AUDIO_DTO_SOURCE, DCCG_AUDIO_DTO_SEL, mask_sh),\
5151 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),\
5254 SF(DCCG_AUDIO_DTO0_MODULE, DCCG_AUDIO_DTO0_MODULE, mask_sh),\
5355 SF(DCCG_AUDIO_DTO0_PHASE, DCCG_AUDIO_DTO0_PHASE, mask_sh),\
5456 SF(DCCG_AUDIO_DTO1_MODULE, DCCG_AUDIO_DTO1_MODULE, mask_sh),\
....@@ -62,6 +64,20 @@
6264 SF(AZALIA_F0_CODEC_ENDPOINT_INDEX, AZALIA_ENDPOINT_REG_INDEX, mask_sh),\
6365 SF(AZALIA_F0_CODEC_ENDPOINT_DATA, AZALIA_ENDPOINT_REG_DATA, mask_sh)
6466
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
6581
6682 struct dce_audio_registers {
6783 uint32_t AZALIA_F0_CODEC_ENDPOINT_INDEX;
....@@ -95,9 +111,11 @@
95111 uint8_t DCCG_AUDIO_DTO1_MODULE;
96112 uint8_t DCCG_AUDIO_DTO1_PHASE;
97113 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;
98116 };
99117
100
-struct dce_aduio_mask {
118
+struct dce_audio_mask {
101119 uint32_t AZALIA_ENDPOINT_REG_INDEX;
102120 uint32_t AZALIA_ENDPOINT_REG_DATA;
103121
....@@ -112,13 +130,16 @@
112130 uint32_t DCCG_AUDIO_DTO1_MODULE;
113131 uint32_t DCCG_AUDIO_DTO1_PHASE;
114132 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
+
115136 };
116137
117138 struct dce_audio {
118139 struct audio base;
119140 const struct dce_audio_registers *regs;
120141 const struct dce_audio_shift *shifts;
121
- const struct dce_aduio_mask *masks;
142
+ const struct dce_audio_mask *masks;
122143 };
123144
124145 struct audio *dce_audio_create(
....@@ -126,7 +147,16 @@
126147 unsigned int inst,
127148 const struct dce_audio_registers *reg,
128149 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
130160
131161 void dce_aud_destroy(struct audio **audio);
132162