.. | .. |
---|
81 | 81 | OPP_COMMON_REG_LIST_BASE(id), \ |
---|
82 | 82 | SRI(CONTROL, FMT_MEMORY, id) |
---|
83 | 83 | |
---|
| 84 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
---|
| 85 | +#define OPP_DCE_60_REG_LIST(id) \ |
---|
| 86 | + SRI(FMT_DYNAMIC_EXP_CNTL, FMT, id), \ |
---|
| 87 | + SRI(FMT_BIT_DEPTH_CONTROL, FMT, id), \ |
---|
| 88 | + SRI(FMT_CONTROL, FMT, id), \ |
---|
| 89 | + SRI(FMT_DITHER_RAND_R_SEED, FMT, id), \ |
---|
| 90 | + SRI(FMT_DITHER_RAND_G_SEED, FMT, id), \ |
---|
| 91 | + SRI(FMT_DITHER_RAND_B_SEED, FMT, id), \ |
---|
| 92 | + SRI(FMT_CLAMP_CNTL, FMT, id) |
---|
| 93 | +#endif |
---|
| 94 | + |
---|
84 | 95 | #define OPP_SF(reg_name, field_name, post_fix)\ |
---|
85 | 96 | .field_name = reg_name ## __ ## field_name ## post_fix |
---|
86 | 97 | |
---|
.. | .. |
---|
192 | 203 | OPP_SF(FMT0_FMT_CONTROL, FMT_SUBSAMPLING_ORDER, mask_sh),\ |
---|
193 | 204 | OPP_SF(FMT0_FMT_CONTROL, FMT_CBCR_BIT_REDUCTION_BYPASS, mask_sh) |
---|
194 | 205 | |
---|
| 206 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
---|
| 207 | +#define OPP_COMMON_MASK_SH_LIST_DCE_60(mask_sh)\ |
---|
| 208 | + OPP_SF(FMT_DYNAMIC_EXP_CNTL, FMT_DYNAMIC_EXP_EN, mask_sh),\ |
---|
| 209 | + OPP_SF(FMT_DYNAMIC_EXP_CNTL, FMT_DYNAMIC_EXP_MODE, mask_sh),\ |
---|
| 210 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_EN, mask_sh),\ |
---|
| 211 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_DEPTH, mask_sh),\ |
---|
| 212 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_EN, mask_sh),\ |
---|
| 213 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_DEPTH, mask_sh),\ |
---|
| 214 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_MODE, mask_sh),\ |
---|
| 215 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_HIGHPASS_RANDOM_ENABLE, mask_sh),\ |
---|
| 216 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_FRAME_RANDOM_ENABLE, mask_sh),\ |
---|
| 217 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_RGB_RANDOM_ENABLE, mask_sh),\ |
---|
| 218 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TEMPORAL_DITHER_EN, mask_sh),\ |
---|
| 219 | + OPP_SF(FMT_DITHER_RAND_R_SEED, FMT_RAND_R_SEED, mask_sh),\ |
---|
| 220 | + OPP_SF(FMT_DITHER_RAND_G_SEED, FMT_RAND_G_SEED, mask_sh),\ |
---|
| 221 | + OPP_SF(FMT_DITHER_RAND_B_SEED, FMT_RAND_B_SEED, mask_sh),\ |
---|
| 222 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TEMPORAL_DITHER_EN, mask_sh),\ |
---|
| 223 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TEMPORAL_DITHER_RESET, mask_sh),\ |
---|
| 224 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TEMPORAL_DITHER_OFFSET, mask_sh),\ |
---|
| 225 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TEMPORAL_DITHER_DEPTH, mask_sh),\ |
---|
| 226 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_TEMPORAL_LEVEL, mask_sh),\ |
---|
| 227 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_25FRC_SEL, mask_sh),\ |
---|
| 228 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_50FRC_SEL, mask_sh),\ |
---|
| 229 | + OPP_SF(FMT_BIT_DEPTH_CONTROL, FMT_75FRC_SEL, mask_sh),\ |
---|
| 230 | + OPP_SF(FMT_CLAMP_CNTL, FMT_CLAMP_DATA_EN, mask_sh),\ |
---|
| 231 | + OPP_SF(FMT_CLAMP_CNTL, FMT_CLAMP_COLOR_FORMAT, mask_sh),\ |
---|
| 232 | + OPP_SF(FMT_CONTROL, FMT_PIXEL_ENCODING, mask_sh) |
---|
| 233 | +#endif |
---|
| 234 | + |
---|
195 | 235 | #define OPP_REG_FIELD_LIST(type) \ |
---|
196 | 236 | type FMT_DYNAMIC_EXP_EN; \ |
---|
197 | 237 | type FMT_DYNAMIC_EXP_MODE; \ |
---|
.. | .. |
---|
279 | 319 | const struct dce_opp_shift *opp_shift, |
---|
280 | 320 | const struct dce_opp_mask *opp_mask); |
---|
281 | 321 | |
---|
| 322 | +#if defined(CONFIG_DRM_AMD_DC_SI) |
---|
| 323 | +void dce60_opp_construct(struct dce110_opp *opp110, |
---|
| 324 | + struct dc_context *ctx, |
---|
| 325 | + uint32_t inst, |
---|
| 326 | + const struct dce_opp_registers *regs, |
---|
| 327 | + const struct dce_opp_shift *opp_shift, |
---|
| 328 | + const struct dce_opp_mask *opp_mask); |
---|
| 329 | +#endif |
---|
| 330 | + |
---|
282 | 331 | void dce110_opp_destroy(struct output_pixel_processor **opp); |
---|
283 | 332 | |
---|
284 | 333 | |
---|