hc
2024-05-10 61598093bbdd283a7edc367d900f223070ead8d2
kernel/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_ipp.h
....@@ -49,6 +49,17 @@
4949 SRI(CURSOR_HOT_SPOT, CURSOR, id), \
5050 SRI(CURSOR_DST_OFFSET, CURSOR, id)
5151
52
+#define IPP_REG_LIST_DCN20(id) \
53
+ IPP_REG_LIST_DCN(id), \
54
+ SRI(CURSOR_SETTINGS, HUBPREQ, id), \
55
+ SRI(CURSOR_SURFACE_ADDRESS_HIGH, CURSOR0_, id), \
56
+ SRI(CURSOR_SURFACE_ADDRESS, CURSOR0_, id), \
57
+ SRI(CURSOR_SIZE, CURSOR0_, id), \
58
+ SRI(CURSOR_CONTROL, CURSOR0_, id), \
59
+ SRI(CURSOR_POSITION, CURSOR0_, id), \
60
+ SRI(CURSOR_HOT_SPOT, CURSOR0_, id), \
61
+ SRI(CURSOR_DST_OFFSET, CURSOR0_, id)
62
+
5263 #define CURSOR0_CURSOR_CONTROL__CURSOR_2X_MAGNIFY__SHIFT 0x4
5364 #define CURSOR0_CURSOR_CONTROL__CURSOR_2X_MAGNIFY_MASK 0x00000010L
5465 #define CURSOR1_CURSOR_CONTROL__CURSOR_2X_MAGNIFY__SHIFT 0x4
....@@ -91,6 +102,25 @@
91102 IPP_SF(CURSOR0_CURSOR_HOT_SPOT, CURSOR_HOT_SPOT_Y, mask_sh), \
92103 IPP_SF(CURSOR0_CURSOR_DST_OFFSET, CURSOR_DST_X_OFFSET, mask_sh), \
93104 IPP_SF(CNVC_CFG0_FORMAT_CONTROL, OUTPUT_FP, mask_sh)
105
+
106
+#define IPP_MASK_SH_LIST_DCN20(mask_sh) \
107
+ IPP_MASK_SH_LIST_DCN(mask_sh), \
108
+ IPP_SF(HUBPREQ0_CURSOR_SETTINGS, CURSOR0_DST_Y_OFFSET, mask_sh), \
109
+ IPP_SF(HUBPREQ0_CURSOR_SETTINGS, CURSOR0_CHUNK_HDL_ADJUST, mask_sh), \
110
+ IPP_SF(CURSOR0_0_CURSOR_SURFACE_ADDRESS_HIGH, CURSOR_SURFACE_ADDRESS_HIGH, mask_sh), \
111
+ IPP_SF(CURSOR0_0_CURSOR_SURFACE_ADDRESS, CURSOR_SURFACE_ADDRESS, mask_sh), \
112
+ IPP_SF(CURSOR0_0_CURSOR_SIZE, CURSOR_WIDTH, mask_sh), \
113
+ IPP_SF(CURSOR0_0_CURSOR_SIZE, CURSOR_HEIGHT, mask_sh), \
114
+ IPP_SF(CURSOR0_0_CURSOR_CONTROL, CURSOR_MODE, mask_sh), \
115
+ IPP_SF(CURSOR0_0_CURSOR_CONTROL, CURSOR_2X_MAGNIFY, mask_sh), \
116
+ IPP_SF(CURSOR0_0_CURSOR_CONTROL, CURSOR_PITCH, mask_sh), \
117
+ IPP_SF(CURSOR0_0_CURSOR_CONTROL, CURSOR_LINES_PER_CHUNK, mask_sh), \
118
+ IPP_SF(CURSOR0_0_CURSOR_CONTROL, CURSOR_ENABLE, mask_sh), \
119
+ IPP_SF(CURSOR0_0_CURSOR_POSITION, CURSOR_X_POSITION, mask_sh), \
120
+ IPP_SF(CURSOR0_0_CURSOR_POSITION, CURSOR_Y_POSITION, mask_sh), \
121
+ IPP_SF(CURSOR0_0_CURSOR_HOT_SPOT, CURSOR_HOT_SPOT_X, mask_sh), \
122
+ IPP_SF(CURSOR0_0_CURSOR_HOT_SPOT, CURSOR_HOT_SPOT_Y, mask_sh), \
123
+ IPP_SF(CURSOR0_0_CURSOR_DST_OFFSET, CURSOR_DST_X_OFFSET, mask_sh)
94124
95125 #define IPP_DCN10_REG_FIELD_LIST(type) \
96126 type CNVC_SURFACE_PIXEL_FORMAT; \
....@@ -162,4 +192,11 @@
162192 const struct dcn10_ipp_shift *ipp_shift,
163193 const struct dcn10_ipp_mask *ipp_mask);
164194
195
+void dcn20_ipp_construct(struct dcn10_ipp *ippn10,
196
+ struct dc_context *ctx,
197
+ int inst,
198
+ const struct dcn10_ipp_registers *regs,
199
+ const struct dcn10_ipp_shift *ipp_shift,
200
+ const struct dcn10_ipp_mask *ipp_mask);
201
+
165202 #endif /* _DCN10_IPP_H_ */