.. | .. |
---|
29 | 29 | #include "core_types.h" |
---|
30 | 30 | #include "dchubbub.h" |
---|
31 | 31 | |
---|
32 | | -#define HUBHUB_REG_LIST_DCN()\ |
---|
| 32 | +#define TO_DCN10_HUBBUB(hubbub)\ |
---|
| 33 | + container_of(hubbub, struct dcn10_hubbub, base) |
---|
| 34 | + |
---|
| 35 | +#define HUBBUB_REG_LIST_DCN_COMMON()\ |
---|
33 | 36 | SR(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A),\ |
---|
34 | | - SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_A),\ |
---|
35 | 37 | SR(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A),\ |
---|
36 | 38 | SR(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_B),\ |
---|
37 | | - SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_B),\ |
---|
38 | 39 | SR(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B),\ |
---|
39 | 40 | SR(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_C),\ |
---|
40 | | - SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_C),\ |
---|
41 | 41 | SR(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C),\ |
---|
42 | 42 | SR(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_D),\ |
---|
43 | | - SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_D),\ |
---|
44 | 43 | SR(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D),\ |
---|
45 | 44 | SR(DCHUBBUB_ARB_WATERMARK_CHANGE_CNTL),\ |
---|
46 | 45 | SR(DCHUBBUB_ARB_DRAM_STATE_CNTL),\ |
---|
.. | .. |
---|
50 | 49 | SR(DCHUBBUB_TEST_DEBUG_INDEX), \ |
---|
51 | 50 | SR(DCHUBBUB_TEST_DEBUG_DATA),\ |
---|
52 | 51 | SR(DCHUBBUB_SOFT_RESET) |
---|
| 52 | + |
---|
| 53 | +#define HUBBUB_VM_REG_LIST() \ |
---|
| 54 | + SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_A),\ |
---|
| 55 | + SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_B),\ |
---|
| 56 | + SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_C),\ |
---|
| 57 | + SR(DCHUBBUB_ARB_PTE_META_URGENCY_WATERMARK_D) |
---|
53 | 58 | |
---|
54 | 59 | #define HUBBUB_SR_WATERMARK_REG_LIST()\ |
---|
55 | 60 | SR(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A),\ |
---|
.. | .. |
---|
62 | 67 | SR(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_D) |
---|
63 | 68 | |
---|
64 | 69 | #define HUBBUB_REG_LIST_DCN10(id)\ |
---|
65 | | - HUBHUB_REG_LIST_DCN(), \ |
---|
| 70 | + HUBBUB_REG_LIST_DCN_COMMON(), \ |
---|
| 71 | + HUBBUB_VM_REG_LIST(), \ |
---|
66 | 72 | HUBBUB_SR_WATERMARK_REG_LIST(), \ |
---|
67 | 73 | SR(DCHUBBUB_SDPIF_FB_TOP),\ |
---|
68 | 74 | SR(DCHUBBUB_SDPIF_FB_BASE),\ |
---|
.. | .. |
---|
107 | 113 | uint32_t DCHUBBUB_SDPIF_AGP_TOP; |
---|
108 | 114 | uint32_t DCHUBBUB_CRC_CTRL; |
---|
109 | 115 | uint32_t DCHUBBUB_SOFT_RESET; |
---|
| 116 | + uint32_t DCN_VM_FB_LOCATION_BASE; |
---|
| 117 | + uint32_t DCN_VM_FB_LOCATION_TOP; |
---|
| 118 | + uint32_t DCN_VM_FB_OFFSET; |
---|
| 119 | + uint32_t DCN_VM_AGP_BOT; |
---|
| 120 | + uint32_t DCN_VM_AGP_TOP; |
---|
| 121 | + uint32_t DCN_VM_AGP_BASE; |
---|
| 122 | + uint32_t DCN_VM_PROTECTION_FAULT_DEFAULT_ADDR_MSB; |
---|
| 123 | + uint32_t DCN_VM_PROTECTION_FAULT_DEFAULT_ADDR_LSB; |
---|
| 124 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_NOM_A; |
---|
| 125 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_NOM_B; |
---|
| 126 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_NOM_C; |
---|
| 127 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_NOM_D; |
---|
| 128 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A; |
---|
| 129 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_FLIP_B; |
---|
| 130 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_FLIP_C; |
---|
| 131 | + uint32_t DCHUBBUB_ARB_FRAC_URG_BW_FLIP_D; |
---|
| 132 | + uint32_t DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_A; |
---|
| 133 | + uint32_t DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_B; |
---|
| 134 | + uint32_t DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_C; |
---|
| 135 | + uint32_t DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_D; |
---|
| 136 | + uint32_t DCHUBBUB_ARB_HOSTVM_CNTL; |
---|
| 137 | + uint32_t DCHVM_CTRL0; |
---|
| 138 | + uint32_t DCHVM_MEM_CTRL; |
---|
| 139 | + uint32_t DCHVM_CLK_CTRL; |
---|
| 140 | + uint32_t DCHVM_RIOMMU_CTRL0; |
---|
| 141 | + uint32_t DCHVM_RIOMMU_STAT0; |
---|
110 | 142 | }; |
---|
111 | 143 | |
---|
112 | 144 | /* set field name */ |
---|
113 | 145 | #define HUBBUB_SF(reg_name, field_name, post_fix)\ |
---|
114 | 146 | .field_name = reg_name ## __ ## field_name ## post_fix |
---|
115 | 147 | |
---|
116 | | - |
---|
117 | | -#define HUBBUB_MASK_SH_LIST_DCN(mask_sh)\ |
---|
| 148 | +#define HUBBUB_MASK_SH_LIST_DCN_COMMON(mask_sh)\ |
---|
118 | 149 | HUBBUB_SF(DCHUBBUB_GLOBAL_TIMER_CNTL, DCHUBBUB_GLOBAL_TIMER_ENABLE, mask_sh), \ |
---|
119 | 150 | HUBBUB_SF(DCHUBBUB_SOFT_RESET, DCHUBBUB_GLOBAL_SOFT_RESET, mask_sh), \ |
---|
120 | 151 | HUBBUB_SF(DCHUBBUB_ARB_WATERMARK_CHANGE_CNTL, DCHUBBUB_ARB_WATERMARK_CHANGE_REQUEST, mask_sh), \ |
---|
.. | .. |
---|
124 | 155 | HUBBUB_SF(DCHUBBUB_ARB_DRAM_STATE_CNTL, DCHUBBUB_ARB_ALLOW_PSTATE_CHANGE_FORCE_VALUE, mask_sh), \ |
---|
125 | 156 | HUBBUB_SF(DCHUBBUB_ARB_DRAM_STATE_CNTL, DCHUBBUB_ARB_ALLOW_PSTATE_CHANGE_FORCE_ENABLE, mask_sh), \ |
---|
126 | 157 | HUBBUB_SF(DCHUBBUB_ARB_SAT_LEVEL, DCHUBBUB_ARB_SAT_LEVEL, mask_sh), \ |
---|
127 | | - HUBBUB_SF(DCHUBBUB_ARB_DF_REQ_OUTSTAND, DCHUBBUB_ARB_MIN_REQ_OUTSTAND, mask_sh) |
---|
| 158 | + HUBBUB_SF(DCHUBBUB_ARB_DF_REQ_OUTSTAND, DCHUBBUB_ARB_MIN_REQ_OUTSTAND, mask_sh), \ |
---|
| 159 | + HUBBUB_SF(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A, DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A, mask_sh), \ |
---|
| 160 | + HUBBUB_SF(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_B, DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_B, mask_sh), \ |
---|
| 161 | + HUBBUB_SF(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_C, DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_C, mask_sh), \ |
---|
| 162 | + HUBBUB_SF(DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_D, DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_D, mask_sh), \ |
---|
| 163 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A, DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A, mask_sh), \ |
---|
| 164 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B, DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B, mask_sh), \ |
---|
| 165 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C, DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C, mask_sh), \ |
---|
| 166 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D, DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D, mask_sh) |
---|
| 167 | + |
---|
| 168 | +#define HUBBUB_MASK_SH_LIST_STUTTER(mask_sh) \ |
---|
| 169 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A, DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A, mask_sh), \ |
---|
| 170 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_B, DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_B, mask_sh), \ |
---|
| 171 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_C, DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_C, mask_sh), \ |
---|
| 172 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_D, DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_D, mask_sh), \ |
---|
| 173 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_A, DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_A, mask_sh), \ |
---|
| 174 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_B, DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_B, mask_sh), \ |
---|
| 175 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_C, DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_C, mask_sh), \ |
---|
| 176 | + HUBBUB_SF(DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_D, DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_D, mask_sh) |
---|
128 | 177 | |
---|
129 | 178 | #define HUBBUB_MASK_SH_LIST_DCN10(mask_sh)\ |
---|
130 | | - HUBBUB_MASK_SH_LIST_DCN(mask_sh), \ |
---|
| 179 | + HUBBUB_MASK_SH_LIST_DCN_COMMON(mask_sh), \ |
---|
| 180 | + HUBBUB_MASK_SH_LIST_STUTTER(mask_sh), \ |
---|
131 | 181 | HUBBUB_SF(DCHUBBUB_SDPIF_FB_TOP, SDPIF_FB_TOP, mask_sh), \ |
---|
132 | 182 | HUBBUB_SF(DCHUBBUB_SDPIF_FB_BASE, SDPIF_FB_BASE, mask_sh), \ |
---|
133 | 183 | HUBBUB_SF(DCHUBBUB_SDPIF_FB_OFFSET, SDPIF_FB_OFFSET, mask_sh), \ |
---|
.. | .. |
---|
152 | 202 | type SDPIF_FB_OFFSET;\ |
---|
153 | 203 | type SDPIF_AGP_BASE;\ |
---|
154 | 204 | type SDPIF_AGP_BOT;\ |
---|
155 | | - type SDPIF_AGP_TOP |
---|
| 205 | + type SDPIF_AGP_TOP;\ |
---|
| 206 | + type FB_BASE;\ |
---|
| 207 | + type FB_TOP;\ |
---|
| 208 | + type FB_OFFSET;\ |
---|
| 209 | + type AGP_BOT;\ |
---|
| 210 | + type AGP_TOP;\ |
---|
| 211 | + type AGP_BASE;\ |
---|
| 212 | + type DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_A;\ |
---|
| 213 | + type DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_B;\ |
---|
| 214 | + type DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_C;\ |
---|
| 215 | + type DCHUBBUB_ARB_DATA_URGENCY_WATERMARK_D;\ |
---|
| 216 | + type DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A;\ |
---|
| 217 | + type DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B;\ |
---|
| 218 | + type DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C;\ |
---|
| 219 | + type DCHUBBUB_ARB_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D;\ |
---|
| 220 | + type DCN_VM_PROTECTION_FAULT_DEFAULT_ADDR_MSB;\ |
---|
| 221 | + type DCN_VM_PROTECTION_FAULT_DEFAULT_ADDR_LSB |
---|
156 | 222 | |
---|
| 223 | +#define HUBBUB_STUTTER_REG_FIELD_LIST(type) \ |
---|
| 224 | + type DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_A;\ |
---|
| 225 | + type DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_B;\ |
---|
| 226 | + type DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_C;\ |
---|
| 227 | + type DCHUBBUB_ARB_ALLOW_SR_ENTER_WATERMARK_D;\ |
---|
| 228 | + type DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_A;\ |
---|
| 229 | + type DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_B;\ |
---|
| 230 | + type DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_C;\ |
---|
| 231 | + type DCHUBBUB_ARB_ALLOW_SR_EXIT_WATERMARK_D |
---|
| 232 | + |
---|
| 233 | +#define HUBBUB_HVM_REG_FIELD_LIST(type) \ |
---|
| 234 | + type DCHUBBUB_ARB_MIN_REQ_OUTSTAND_COMMIT_THRESHOLD;\ |
---|
| 235 | + type DCHUBBUB_ARB_VM_ROW_URGENCY_WATERMARK_A;\ |
---|
| 236 | + type DCHUBBUB_ARB_VM_ROW_URGENCY_WATERMARK_B;\ |
---|
| 237 | + type DCHUBBUB_ARB_VM_ROW_URGENCY_WATERMARK_C;\ |
---|
| 238 | + type DCHUBBUB_ARB_VM_ROW_URGENCY_WATERMARK_D;\ |
---|
| 239 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_ENTER_WATERMARK_A;\ |
---|
| 240 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_ENTER_WATERMARK_B;\ |
---|
| 241 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_ENTER_WATERMARK_C;\ |
---|
| 242 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_ENTER_WATERMARK_D;\ |
---|
| 243 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_EXIT_WATERMARK_A;\ |
---|
| 244 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_EXIT_WATERMARK_B;\ |
---|
| 245 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_EXIT_WATERMARK_C;\ |
---|
| 246 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_SR_EXIT_WATERMARK_D;\ |
---|
| 247 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_DRAM_CLK_CHANGE_WATERMARK_A;\ |
---|
| 248 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_DRAM_CLK_CHANGE_WATERMARK_B;\ |
---|
| 249 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_DRAM_CLK_CHANGE_WATERMARK_C;\ |
---|
| 250 | + type DCHUBBUB_ARB_VM_ROW_ALLOW_DRAM_CLK_CHANGE_WATERMARK_D;\ |
---|
| 251 | + type DCHUBBUB_ARB_FRAC_URG_BW_NOM_A;\ |
---|
| 252 | + type DCHUBBUB_ARB_FRAC_URG_BW_NOM_B;\ |
---|
| 253 | + type DCHUBBUB_ARB_FRAC_URG_BW_NOM_C;\ |
---|
| 254 | + type DCHUBBUB_ARB_FRAC_URG_BW_NOM_D;\ |
---|
| 255 | + type DCHUBBUB_ARB_FRAC_URG_BW_FLIP_A;\ |
---|
| 256 | + type DCHUBBUB_ARB_FRAC_URG_BW_FLIP_B;\ |
---|
| 257 | + type DCHUBBUB_ARB_FRAC_URG_BW_FLIP_C;\ |
---|
| 258 | + type DCHUBBUB_ARB_FRAC_URG_BW_FLIP_D;\ |
---|
| 259 | + type DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_A;\ |
---|
| 260 | + type DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_B;\ |
---|
| 261 | + type DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_C;\ |
---|
| 262 | + type DCHUBBUB_ARB_REFCYC_PER_TRIP_TO_MEMORY_D;\ |
---|
| 263 | + type DCHUBBUB_ARB_MAX_QOS_COMMIT_THRESHOLD;\ |
---|
| 264 | + type HOSTVM_INIT_REQ; \ |
---|
| 265 | + type HVM_GPUVMRET_PWR_REQ_DIS; \ |
---|
| 266 | + type HVM_GPUVMRET_FORCE_REQ; \ |
---|
| 267 | + type HVM_GPUVMRET_POWER_STATUS; \ |
---|
| 268 | + type HVM_DISPCLK_R_GATE_DIS; \ |
---|
| 269 | + type HVM_DISPCLK_G_GATE_DIS; \ |
---|
| 270 | + type HVM_DCFCLK_R_GATE_DIS; \ |
---|
| 271 | + type HVM_DCFCLK_G_GATE_DIS; \ |
---|
| 272 | + type TR_REQ_REQCLKREQ_MODE; \ |
---|
| 273 | + type TW_RSP_COMPCLKREQ_MODE; \ |
---|
| 274 | + type HOSTVM_PREFETCH_REQ; \ |
---|
| 275 | + type HOSTVM_POWERSTATUS; \ |
---|
| 276 | + type RIOMMU_ACTIVE; \ |
---|
| 277 | + type HOSTVM_PREFETCH_DONE |
---|
157 | 278 | |
---|
158 | 279 | struct dcn_hubbub_shift { |
---|
159 | 280 | DCN_HUBBUB_REG_FIELD_LIST(uint8_t); |
---|
| 281 | + HUBBUB_STUTTER_REG_FIELD_LIST(uint8_t); |
---|
| 282 | + HUBBUB_HVM_REG_FIELD_LIST(uint8_t); |
---|
160 | 283 | }; |
---|
161 | 284 | |
---|
162 | 285 | struct dcn_hubbub_mask { |
---|
163 | 286 | DCN_HUBBUB_REG_FIELD_LIST(uint32_t); |
---|
| 287 | + HUBBUB_STUTTER_REG_FIELD_LIST(uint32_t); |
---|
| 288 | + HUBBUB_HVM_REG_FIELD_LIST(uint32_t); |
---|
164 | 289 | }; |
---|
165 | 290 | |
---|
166 | 291 | struct dc; |
---|
167 | 292 | |
---|
168 | | -struct dcn_hubbub_wm_set { |
---|
169 | | - uint32_t wm_set; |
---|
170 | | - uint32_t data_urgent; |
---|
171 | | - uint32_t pte_meta_urgent; |
---|
172 | | - uint32_t sr_enter; |
---|
173 | | - uint32_t sr_exit; |
---|
174 | | - uint32_t dram_clk_chanage; |
---|
175 | | -}; |
---|
176 | | - |
---|
177 | | -struct dcn_hubbub_wm { |
---|
178 | | - struct dcn_hubbub_wm_set sets[4]; |
---|
179 | | -}; |
---|
180 | | - |
---|
181 | | -struct hubbub { |
---|
182 | | - const struct hubbub_funcs *funcs; |
---|
183 | | - struct dc_context *ctx; |
---|
| 293 | +struct dcn10_hubbub { |
---|
| 294 | + struct hubbub base; |
---|
184 | 295 | const struct dcn_hubbub_registers *regs; |
---|
185 | 296 | const struct dcn_hubbub_shift *shifts; |
---|
186 | 297 | const struct dcn_hubbub_mask *masks; |
---|
.. | .. |
---|
197 | 308 | |
---|
198 | 309 | void hubbub1_wm_change_req_wa(struct hubbub *hubbub); |
---|
199 | 310 | |
---|
200 | | -void hubbub1_program_watermarks( |
---|
| 311 | +bool hubbub1_program_watermarks( |
---|
201 | 312 | struct hubbub *hubbub, |
---|
202 | 313 | struct dcn_watermark_set *watermarks, |
---|
203 | 314 | unsigned int refclk_mhz, |
---|
204 | 315 | bool safe_to_lower); |
---|
| 316 | + |
---|
| 317 | +void hubbub1_allow_self_refresh_control(struct hubbub *hubbub, bool allow); |
---|
| 318 | + |
---|
| 319 | +bool hubbub1_is_allow_self_refresh_enabled(struct hubbub *hubub); |
---|
205 | 320 | |
---|
206 | 321 | void hubbub1_toggle_watermark_change_req( |
---|
207 | 322 | struct hubbub *hubbub); |
---|
.. | .. |
---|
216 | 331 | const struct dcn_hubbub_shift *hubbub_shift, |
---|
217 | 332 | const struct dcn_hubbub_mask *hubbub_mask); |
---|
218 | 333 | |
---|
| 334 | +bool hubbub1_program_urgent_watermarks( |
---|
| 335 | + struct hubbub *hubbub, |
---|
| 336 | + struct dcn_watermark_set *watermarks, |
---|
| 337 | + unsigned int refclk_mhz, |
---|
| 338 | + bool safe_to_lower); |
---|
| 339 | +bool hubbub1_program_stutter_watermarks( |
---|
| 340 | + struct hubbub *hubbub, |
---|
| 341 | + struct dcn_watermark_set *watermarks, |
---|
| 342 | + unsigned int refclk_mhz, |
---|
| 343 | + bool safe_to_lower); |
---|
| 344 | +bool hubbub1_program_pstate_watermarks( |
---|
| 345 | + struct hubbub *hubbub, |
---|
| 346 | + struct dcn_watermark_set *watermarks, |
---|
| 347 | + unsigned int refclk_mhz, |
---|
| 348 | + bool safe_to_lower); |
---|
| 349 | + |
---|
219 | 350 | #endif |
---|