Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: Polish sprite plane register definitions

Group the sprite plane register definitions such that everything
to do with the same register is in one place.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240516135622.3498-13-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>

+134 -97
+134 -97
drivers/gpu/drm/i915/display/intel_sprite_regs.h
··· 7 7 #include "intel_display_reg_defs.h" 8 8 9 9 #define _DVSACNTR 0x72180 10 + #define _DVSBCNTR 0x73180 11 + #define DVSCNTR(pipe) _MMIO_PIPE(pipe, _DVSACNTR, _DVSBCNTR) 10 12 #define DVS_ENABLE REG_BIT(31) 11 13 #define DVS_PIPE_GAMMA_ENABLE REG_BIT(30) 12 14 #define DVS_YUV_RANGE_CORRECTION_DISABLE REG_BIT(27) ··· 30 28 #define DVS_TRICKLE_FEED_DISABLE REG_BIT(14) 31 29 #define DVS_TILED REG_BIT(10) 32 30 #define DVS_DEST_KEY REG_BIT(2) 31 + 33 32 #define _DVSALINOFF 0x72184 33 + #define _DVSBLINOFF 0x73184 34 + #define DVSLINOFF(pipe) _MMIO_PIPE(pipe, _DVSALINOFF, _DVSBLINOFF) 35 + 34 36 #define _DVSASTRIDE 0x72188 37 + #define _DVSBSTRIDE 0x73188 38 + #define DVSSTRIDE(pipe) _MMIO_PIPE(pipe, _DVSASTRIDE, _DVSBSTRIDE) 39 + 35 40 #define _DVSAPOS 0x7218c 41 + #define _DVSBPOS 0x7318c 42 + #define DVSPOS(pipe) _MMIO_PIPE(pipe, _DVSAPOS, _DVSBPOS) 36 43 #define DVS_POS_Y_MASK REG_GENMASK(31, 16) 37 44 #define DVS_POS_Y(y) REG_FIELD_PREP(DVS_POS_Y_MASK, (y)) 38 45 #define DVS_POS_X_MASK REG_GENMASK(15, 0) 39 46 #define DVS_POS_X(x) REG_FIELD_PREP(DVS_POS_X_MASK, (x)) 47 + 40 48 #define _DVSASIZE 0x72190 49 + #define _DVSBSIZE 0x73190 50 + #define DVSSIZE(pipe) _MMIO_PIPE(pipe, _DVSASIZE, _DVSBSIZE) 41 51 #define DVS_HEIGHT_MASK REG_GENMASK(31, 16) 42 52 #define DVS_HEIGHT(h) REG_FIELD_PREP(DVS_HEIGHT_MASK, (h)) 43 53 #define DVS_WIDTH_MASK REG_GENMASK(15, 0) 44 54 #define DVS_WIDTH(w) REG_FIELD_PREP(DVS_WIDTH_MASK, (w)) 55 + 45 56 #define _DVSAKEYVAL 0x72194 57 + #define _DVSBKEYVAL 0x73194 58 + #define DVSKEYVAL(pipe) _MMIO_PIPE(pipe, _DVSAKEYVAL, _DVSBKEYVAL) 59 + 46 60 #define _DVSAKEYMSK 0x72198 61 + #define _DVSBKEYMSK 0x73198 62 + #define DVSKEYMSK(pipe) _MMIO_PIPE(pipe, _DVSAKEYMSK, _DVSBKEYMSK) 63 + 47 64 #define _DVSASURF 0x7219c 65 + #define _DVSBSURF 0x7319c 66 + #define DVSSURF(pipe) _MMIO_PIPE(pipe, _DVSASURF, _DVSBSURF) 48 67 #define DVS_ADDR_MASK REG_GENMASK(31, 12) 68 + 49 69 #define _DVSAKEYMAXVAL 0x721a0 70 + #define _DVSBKEYMAXVAL 0x731a0 71 + #define DVSKEYMAX(pipe) _MMIO_PIPE(pipe, _DVSAKEYMAXVAL, _DVSBKEYMAXVAL) 72 + 50 73 #define _DVSATILEOFF 0x721a4 74 + #define _DVSBTILEOFF 0x731a4 75 + #define DVSTILEOFF(pipe) _MMIO_PIPE(pipe, _DVSATILEOFF, _DVSBTILEOFF) 51 76 #define DVS_OFFSET_Y_MASK REG_GENMASK(31, 16) 52 77 #define DVS_OFFSET_Y(y) REG_FIELD_PREP(DVS_OFFSET_Y_MASK, (y)) 53 78 #define DVS_OFFSET_X_MASK REG_GENMASK(15, 0) 54 79 #define DVS_OFFSET_X(x) REG_FIELD_PREP(DVS_OFFSET_X_MASK, (x)) 80 + 55 81 #define _DVSASURFLIVE 0x721ac 82 + #define _DVSBSURFLIVE 0x731ac 83 + #define DVSSURFLIVE(pipe) _MMIO_PIPE(pipe, _DVSASURFLIVE, _DVSBSURFLIVE) 84 + 56 85 #define _DVSAGAMC_G4X 0x721e0 /* g4x */ 86 + #define _DVSBGAMC_G4X 0x731e0 /* g4x */ 87 + #define DVSGAMC_G4X(pipe, i) _MMIO(_PIPE(pipe, _DVSAGAMC_G4X, _DVSBGAMC_G4X) + (5 - (i)) * 4) /* 6 x u0.8 */ 88 + 57 89 #define _DVSASCALE 0x72204 90 + #define _DVSBSCALE 0x73204 91 + #define DVSSCALE(pipe) _MMIO_PIPE(pipe, _DVSASCALE, _DVSBSCALE) 58 92 #define DVS_SCALE_ENABLE REG_BIT(31) 59 93 #define DVS_FILTER_MASK REG_GENMASK(30, 29) 60 94 #define DVS_FILTER_MEDIUM REG_FIELD_PREP(DVS_FILTER_MASK, 0) ··· 102 64 #define DVS_SRC_WIDTH(w) REG_FIELD_PREP(DVS_SRC_WIDTH_MASK, (w)) 103 65 #define DVS_SRC_HEIGHT_MASK REG_GENMASK(10, 0) 104 66 #define DVS_SRC_HEIGHT(h) REG_FIELD_PREP(DVS_SRC_HEIGHT_MASK, (h)) 67 + 105 68 #define _DVSAGAMC_ILK 0x72300 /* ilk/snb */ 106 - #define _DVSAGAMCMAX_ILK 0x72340 /* ilk/snb */ 107 - 108 - #define _DVSBCNTR 0x73180 109 - #define _DVSBLINOFF 0x73184 110 - #define _DVSBSTRIDE 0x73188 111 - #define _DVSBPOS 0x7318c 112 - #define _DVSBSIZE 0x73190 113 - #define _DVSBKEYVAL 0x73194 114 - #define _DVSBKEYMSK 0x73198 115 - #define _DVSBSURF 0x7319c 116 - #define _DVSBKEYMAXVAL 0x731a0 117 - #define _DVSBTILEOFF 0x731a4 118 - #define _DVSBSURFLIVE 0x731ac 119 - #define _DVSBGAMC_G4X 0x731e0 /* g4x */ 120 - #define _DVSBSCALE 0x73204 121 69 #define _DVSBGAMC_ILK 0x73300 /* ilk/snb */ 122 - #define _DVSBGAMCMAX_ILK 0x73340 /* ilk/snb */ 123 - 124 - #define DVSCNTR(pipe) _MMIO_PIPE(pipe, _DVSACNTR, _DVSBCNTR) 125 - #define DVSLINOFF(pipe) _MMIO_PIPE(pipe, _DVSALINOFF, _DVSBLINOFF) 126 - #define DVSSTRIDE(pipe) _MMIO_PIPE(pipe, _DVSASTRIDE, _DVSBSTRIDE) 127 - #define DVSPOS(pipe) _MMIO_PIPE(pipe, _DVSAPOS, _DVSBPOS) 128 - #define DVSSURF(pipe) _MMIO_PIPE(pipe, _DVSASURF, _DVSBSURF) 129 - #define DVSKEYMAX(pipe) _MMIO_PIPE(pipe, _DVSAKEYMAXVAL, _DVSBKEYMAXVAL) 130 - #define DVSSIZE(pipe) _MMIO_PIPE(pipe, _DVSASIZE, _DVSBSIZE) 131 - #define DVSSCALE(pipe) _MMIO_PIPE(pipe, _DVSASCALE, _DVSBSCALE) 132 - #define DVSTILEOFF(pipe) _MMIO_PIPE(pipe, _DVSATILEOFF, _DVSBTILEOFF) 133 - #define DVSKEYVAL(pipe) _MMIO_PIPE(pipe, _DVSAKEYVAL, _DVSBKEYVAL) 134 - #define DVSKEYMSK(pipe) _MMIO_PIPE(pipe, _DVSAKEYMSK, _DVSBKEYMSK) 135 - #define DVSSURFLIVE(pipe) _MMIO_PIPE(pipe, _DVSASURFLIVE, _DVSBSURFLIVE) 136 - #define DVSGAMC_G4X(pipe, i) _MMIO(_PIPE(pipe, _DVSAGAMC_G4X, _DVSBGAMC_G4X) + (5 - (i)) * 4) /* 6 x u0.8 */ 137 70 #define DVSGAMC_ILK(pipe, i) _MMIO(_PIPE(pipe, _DVSAGAMC_ILK, _DVSBGAMC_ILK) + (i) * 4) /* 16 x u0.10 */ 71 + 72 + #define _DVSAGAMCMAX_ILK 0x72340 /* ilk/snb */ 73 + #define _DVSBGAMCMAX_ILK 0x73340 /* ilk/snb */ 138 74 #define DVSGAMCMAX_ILK(pipe, i) _MMIO(_PIPE(pipe, _DVSAGAMCMAX_ILK, _DVSBGAMCMAX_ILK) + (i) * 4) /* 3 x u1.10 */ 139 75 140 76 #define _SPRA_CTL 0x70280 77 + #define _SPRB_CTL 0x71280 78 + #define SPRCTL(pipe) _MMIO_PIPE(pipe, _SPRA_CTL, _SPRB_CTL) 141 79 #define SPRITE_ENABLE REG_BIT(31) 142 80 #define SPRITE_PIPE_GAMMA_ENABLE REG_BIT(30) 143 81 #define SPRITE_YUV_RANGE_CORRECTION_DISABLE REG_BIT(28) ··· 139 125 #define SPRITE_PLANE_GAMMA_DISABLE REG_BIT(13) 140 126 #define SPRITE_TILED REG_BIT(10) 141 127 #define SPRITE_DEST_KEY REG_BIT(2) 128 + 142 129 #define _SPRA_LINOFF 0x70284 130 + #define _SPRB_LINOFF 0x71284 131 + #define SPRLINOFF(pipe) _MMIO_PIPE(pipe, _SPRA_LINOFF, _SPRB_LINOFF) 132 + 143 133 #define _SPRA_STRIDE 0x70288 134 + #define _SPRB_STRIDE 0x71288 135 + #define SPRSTRIDE(pipe) _MMIO_PIPE(pipe, _SPRA_STRIDE, _SPRB_STRIDE) 136 + 144 137 #define _SPRA_POS 0x7028c 138 + #define _SPRB_POS 0x7128c 139 + #define SPRPOS(pipe) _MMIO_PIPE(pipe, _SPRA_POS, _SPRB_POS) 145 140 #define SPRITE_POS_Y_MASK REG_GENMASK(31, 16) 146 141 #define SPRITE_POS_Y(y) REG_FIELD_PREP(SPRITE_POS_Y_MASK, (y)) 147 142 #define SPRITE_POS_X_MASK REG_GENMASK(15, 0) 148 143 #define SPRITE_POS_X(x) REG_FIELD_PREP(SPRITE_POS_X_MASK, (x)) 144 + 149 145 #define _SPRA_SIZE 0x70290 146 + #define _SPRB_SIZE 0x71290 147 + #define SPRSIZE(pipe) _MMIO_PIPE(pipe, _SPRA_SIZE, _SPRB_SIZE) 150 148 #define SPRITE_HEIGHT_MASK REG_GENMASK(31, 16) 151 149 #define SPRITE_HEIGHT(h) REG_FIELD_PREP(SPRITE_HEIGHT_MASK, (h)) 152 150 #define SPRITE_WIDTH_MASK REG_GENMASK(15, 0) 153 151 #define SPRITE_WIDTH(w) REG_FIELD_PREP(SPRITE_WIDTH_MASK, (w)) 152 + 154 153 #define _SPRA_KEYVAL 0x70294 154 + #define _SPRB_KEYVAL 0x71294 155 + #define SPRKEYVAL(pipe) _MMIO_PIPE(pipe, _SPRA_KEYVAL, _SPRB_KEYVAL) 156 + 155 157 #define _SPRA_KEYMSK 0x70298 158 + #define _SPRB_KEYMSK 0x71298 159 + #define SPRKEYMSK(pipe) _MMIO_PIPE(pipe, _SPRA_KEYMSK, _SPRB_KEYMSK) 160 + 156 161 #define _SPRA_SURF 0x7029c 162 + #define _SPRB_SURF 0x7129c 163 + #define SPRSURF(pipe) _MMIO_PIPE(pipe, _SPRA_SURF, _SPRB_SURF) 157 164 #define SPRITE_ADDR_MASK REG_GENMASK(31, 12) 165 + 158 166 #define _SPRA_KEYMAX 0x702a0 167 + #define _SPRB_KEYMAX 0x712a0 168 + #define SPRKEYMAX(pipe) _MMIO_PIPE(pipe, _SPRA_KEYMAX, _SPRB_KEYMAX) 169 + 159 170 #define _SPRA_TILEOFF 0x702a4 171 + #define _SPRB_TILEOFF 0x712a4 172 + #define SPRTILEOFF(pipe) _MMIO_PIPE(pipe, _SPRA_TILEOFF, _SPRB_TILEOFF) 160 173 #define SPRITE_OFFSET_Y_MASK REG_GENMASK(31, 16) 161 174 #define SPRITE_OFFSET_Y(y) REG_FIELD_PREP(SPRITE_OFFSET_Y_MASK, (y)) 162 175 #define SPRITE_OFFSET_X_MASK REG_GENMASK(15, 0) 163 176 #define SPRITE_OFFSET_X(x) REG_FIELD_PREP(SPRITE_OFFSET_X_MASK, (x)) 177 + 164 178 #define _SPRA_OFFSET 0x702a4 179 + #define _SPRB_OFFSET 0x712a4 180 + #define SPROFFSET(pipe) _MMIO_PIPE(pipe, _SPRA_OFFSET, _SPRB_OFFSET) 181 + 165 182 #define _SPRA_SURFLIVE 0x702ac 183 + #define _SPRB_SURFLIVE 0x712ac 184 + #define SPRSURFLIVE(pipe) _MMIO_PIPE(pipe, _SPRA_SURFLIVE, _SPRB_SURFLIVE) 185 + 166 186 #define _SPRA_SCALE 0x70304 187 + #define _SPRB_SCALE 0x71304 188 + #define SPRSCALE(pipe) _MMIO_PIPE(pipe, _SPRA_SCALE, _SPRB_SCALE) 167 189 #define SPRITE_SCALE_ENABLE REG_BIT(31) 168 190 #define SPRITE_FILTER_MASK REG_GENMASK(30, 29) 169 191 #define SPRITE_FILTER_MEDIUM REG_FIELD_PREP(SPRITE_FILTER_MASK, 0) ··· 211 161 #define SPRITE_SRC_WIDTH(w) REG_FIELD_PREP(SPRITE_SRC_WIDTH_MASK, (w)) 212 162 #define SPRITE_SRC_HEIGHT_MASK REG_GENMASK(10, 0) 213 163 #define SPRITE_SRC_HEIGHT(h) REG_FIELD_PREP(SPRITE_SRC_HEIGHT_MASK, (h)) 164 + 214 165 #define _SPRA_GAMC 0x70400 215 - #define _SPRA_GAMC16 0x70440 216 - #define _SPRA_GAMC17 0x7044c 217 - 218 - #define _SPRB_CTL 0x71280 219 - #define _SPRB_LINOFF 0x71284 220 - #define _SPRB_STRIDE 0x71288 221 - #define _SPRB_POS 0x7128c 222 - #define _SPRB_SIZE 0x71290 223 - #define _SPRB_KEYVAL 0x71294 224 - #define _SPRB_KEYMSK 0x71298 225 - #define _SPRB_SURF 0x7129c 226 - #define _SPRB_KEYMAX 0x712a0 227 - #define _SPRB_TILEOFF 0x712a4 228 - #define _SPRB_OFFSET 0x712a4 229 - #define _SPRB_SURFLIVE 0x712ac 230 - #define _SPRB_SCALE 0x71304 231 166 #define _SPRB_GAMC 0x71400 232 - #define _SPRB_GAMC16 0x71440 233 - #define _SPRB_GAMC17 0x7144c 234 - 235 - #define SPRCTL(pipe) _MMIO_PIPE(pipe, _SPRA_CTL, _SPRB_CTL) 236 - #define SPRLINOFF(pipe) _MMIO_PIPE(pipe, _SPRA_LINOFF, _SPRB_LINOFF) 237 - #define SPRSTRIDE(pipe) _MMIO_PIPE(pipe, _SPRA_STRIDE, _SPRB_STRIDE) 238 - #define SPRPOS(pipe) _MMIO_PIPE(pipe, _SPRA_POS, _SPRB_POS) 239 - #define SPRSIZE(pipe) _MMIO_PIPE(pipe, _SPRA_SIZE, _SPRB_SIZE) 240 - #define SPRKEYVAL(pipe) _MMIO_PIPE(pipe, _SPRA_KEYVAL, _SPRB_KEYVAL) 241 - #define SPRKEYMSK(pipe) _MMIO_PIPE(pipe, _SPRA_KEYMSK, _SPRB_KEYMSK) 242 - #define SPRSURF(pipe) _MMIO_PIPE(pipe, _SPRA_SURF, _SPRB_SURF) 243 - #define SPRKEYMAX(pipe) _MMIO_PIPE(pipe, _SPRA_KEYMAX, _SPRB_KEYMAX) 244 - #define SPRTILEOFF(pipe) _MMIO_PIPE(pipe, _SPRA_TILEOFF, _SPRB_TILEOFF) 245 - #define SPROFFSET(pipe) _MMIO_PIPE(pipe, _SPRA_OFFSET, _SPRB_OFFSET) 246 - #define SPRSCALE(pipe) _MMIO_PIPE(pipe, _SPRA_SCALE, _SPRB_SCALE) 247 167 #define SPRGAMC(pipe, i) _MMIO(_PIPE(pipe, _SPRA_GAMC, _SPRB_GAMC) + (i) * 4) /* 16 x u0.10 */ 168 + 169 + #define _SPRA_GAMC16 0x70440 170 + #define _SPRB_GAMC16 0x71440 248 171 #define SPRGAMC16(pipe, i) _MMIO(_PIPE(pipe, _SPRA_GAMC16, _SPRB_GAMC16) + (i) * 4) /* 3 x u1.10 */ 172 + 173 + #define _SPRA_GAMC17 0x7044c 174 + #define _SPRB_GAMC17 0x7144c 249 175 #define SPRGAMC17(pipe, i) _MMIO(_PIPE(pipe, _SPRA_GAMC17, _SPRB_GAMC17) + (i) * 4) /* 3 x u2.10 */ 250 - #define SPRSURFLIVE(pipe) _MMIO_PIPE(pipe, _SPRA_SURFLIVE, _SPRB_SURFLIVE) 176 + 177 + #define _VLV_SPR(pipe, plane_id, reg_a, reg_b) \ 178 + _PIPE((pipe) * 2 + (plane_id) - PLANE_SPRITE0, (reg_a), (reg_b)) 179 + #define _MMIO_VLV_SPR(pipe, plane_id, reg_a, reg_b) \ 180 + _MMIO(_VLV_SPR((pipe), (plane_id), (reg_a), (reg_b))) 251 181 252 182 #define _SPACNTR (VLV_DISPLAY_BASE + 0x72180) 183 + #define _SPBCNTR (VLV_DISPLAY_BASE + 0x72280) 184 + #define SPCNTR(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACNTR, _SPBCNTR) 253 185 #define SP_ENABLE REG_BIT(31) 254 186 #define SP_PIPE_GAMMA_ENABLE REG_BIT(30) 255 187 #define SP_FORMAT_MASK REG_GENMASK(29, 26) ··· 257 225 #define SP_ROTATE_180 REG_BIT(15) 258 226 #define SP_TILED REG_BIT(10) 259 227 #define SP_MIRROR REG_BIT(8) /* CHV pipe B */ 228 + 260 229 #define _SPALINOFF (VLV_DISPLAY_BASE + 0x72184) 230 + #define _SPBLINOFF (VLV_DISPLAY_BASE + 0x72284) 231 + #define SPLINOFF(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPALINOFF, _SPBLINOFF) 232 + 261 233 #define _SPASTRIDE (VLV_DISPLAY_BASE + 0x72188) 234 + #define _SPBSTRIDE (VLV_DISPLAY_BASE + 0x72288) 235 + #define SPSTRIDE(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASTRIDE, _SPBSTRIDE) 236 + 262 237 #define _SPAPOS (VLV_DISPLAY_BASE + 0x7218c) 238 + #define _SPBPOS (VLV_DISPLAY_BASE + 0x7228c) 239 + #define SPPOS(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAPOS, _SPBPOS) 263 240 #define SP_POS_Y_MASK REG_GENMASK(31, 16) 264 241 #define SP_POS_Y(y) REG_FIELD_PREP(SP_POS_Y_MASK, (y)) 265 242 #define SP_POS_X_MASK REG_GENMASK(15, 0) 266 243 #define SP_POS_X(x) REG_FIELD_PREP(SP_POS_X_MASK, (x)) 244 + 267 245 #define _SPASIZE (VLV_DISPLAY_BASE + 0x72190) 246 + #define _SPBSIZE (VLV_DISPLAY_BASE + 0x72290) 247 + #define SPSIZE(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASIZE, _SPBSIZE) 268 248 #define SP_HEIGHT_MASK REG_GENMASK(31, 16) 269 249 #define SP_HEIGHT(h) REG_FIELD_PREP(SP_HEIGHT_MASK, (h)) 270 250 #define SP_WIDTH_MASK REG_GENMASK(15, 0) 271 251 #define SP_WIDTH(w) REG_FIELD_PREP(SP_WIDTH_MASK, (w)) 252 + 272 253 #define _SPAKEYMINVAL (VLV_DISPLAY_BASE + 0x72194) 254 + #define _SPBKEYMINVAL (VLV_DISPLAY_BASE + 0x72294) 255 + #define SPKEYMINVAL(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAKEYMINVAL, _SPBKEYMINVAL) 256 + 273 257 #define _SPAKEYMSK (VLV_DISPLAY_BASE + 0x72198) 258 + #define _SPBKEYMSK (VLV_DISPLAY_BASE + 0x72298) 259 + #define SPKEYMSK(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAKEYMSK, _SPBKEYMSK) 260 + 274 261 #define _SPASURF (VLV_DISPLAY_BASE + 0x7219c) 262 + #define _SPBSURF (VLV_DISPLAY_BASE + 0x7229c) 263 + #define SPSURF(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASURF, _SPBSURF) 275 264 #define SP_ADDR_MASK REG_GENMASK(31, 12) 265 + 276 266 #define _SPAKEYMAXVAL (VLV_DISPLAY_BASE + 0x721a0) 267 + #define _SPBKEYMAXVAL (VLV_DISPLAY_BASE + 0x722a0) 268 + #define SPKEYMAXVAL(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAKEYMAXVAL, _SPBKEYMAXVAL) 269 + 277 270 #define _SPATILEOFF (VLV_DISPLAY_BASE + 0x721a4) 271 + #define _SPBTILEOFF (VLV_DISPLAY_BASE + 0x722a4) 272 + #define SPTILEOFF(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPATILEOFF, _SPBTILEOFF) 278 273 #define SP_OFFSET_Y_MASK REG_GENMASK(31, 16) 279 274 #define SP_OFFSET_Y(y) REG_FIELD_PREP(SP_OFFSET_Y_MASK, (y)) 280 275 #define SP_OFFSET_X_MASK REG_GENMASK(15, 0) 281 276 #define SP_OFFSET_X(x) REG_FIELD_PREP(SP_OFFSET_X_MASK, (x)) 277 + 282 278 #define _SPACONSTALPHA (VLV_DISPLAY_BASE + 0x721a8) 279 + #define _SPBCONSTALPHA (VLV_DISPLAY_BASE + 0x722a8) 280 + #define SPCONSTALPHA(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACONSTALPHA, _SPBCONSTALPHA) 283 281 #define SP_CONST_ALPHA_ENABLE REG_BIT(31) 284 282 #define SP_CONST_ALPHA_MASK REG_GENMASK(7, 0) 285 283 #define SP_CONST_ALPHA(alpha) REG_FIELD_PREP(SP_CONST_ALPHA_MASK, (alpha)) 284 + 286 285 #define _SPASURFLIVE (VLV_DISPLAY_BASE + 0x721ac) 286 + #define _SPBSURFLIVE (VLV_DISPLAY_BASE + 0x722ac) 287 + #define SPSURFLIVE(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASURFLIVE, _SPBSURFLIVE) 288 + 287 289 #define _SPACLRC0 (VLV_DISPLAY_BASE + 0x721d0) 290 + #define _SPBCLRC0 (VLV_DISPLAY_BASE + 0x722d0) 291 + #define SPCLRC0(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACLRC0, _SPBCLRC0) 288 292 #define SP_CONTRAST_MASK REG_GENMASK(26, 18) 289 293 #define SP_CONTRAST(x) REG_FIELD_PREP(SP_CONTRAST_MASK, (x)) /* u3.6 */ 290 294 #define SP_BRIGHTNESS_MASK REG_GENMASK(7, 0) 291 295 #define SP_BRIGHTNESS(x) REG_FIELD_PREP(SP_BRIGHTNESS_MASK, (x)) /* s8 */ 296 + 292 297 #define _SPACLRC1 (VLV_DISPLAY_BASE + 0x721d4) 298 + #define _SPBCLRC1 (VLV_DISPLAY_BASE + 0x722d4) 299 + #define SPCLRC1(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACLRC1, _SPBCLRC1) 293 300 #define SP_SH_SIN_MASK REG_GENMASK(26, 16) 294 301 #define SP_SH_SIN(x) REG_FIELD_PREP(SP_SH_SIN_MASK, (x)) /* s4.7 */ 295 302 #define SP_SH_COS_MASK REG_GENMASK(9, 0) 296 303 #define SP_SH_COS(x) REG_FIELD_PREP(SP_SH_COS_MASK, (x)) /* u3.7 */ 304 + 297 305 #define _SPAGAMC (VLV_DISPLAY_BASE + 0x721e0) 298 - 299 - #define _SPBCNTR (VLV_DISPLAY_BASE + 0x72280) 300 - #define _SPBLINOFF (VLV_DISPLAY_BASE + 0x72284) 301 - #define _SPBSTRIDE (VLV_DISPLAY_BASE + 0x72288) 302 - #define _SPBPOS (VLV_DISPLAY_BASE + 0x7228c) 303 - #define _SPBSIZE (VLV_DISPLAY_BASE + 0x72290) 304 - #define _SPBKEYMINVAL (VLV_DISPLAY_BASE + 0x72294) 305 - #define _SPBKEYMSK (VLV_DISPLAY_BASE + 0x72298) 306 - #define _SPBSURF (VLV_DISPLAY_BASE + 0x7229c) 307 - #define _SPBKEYMAXVAL (VLV_DISPLAY_BASE + 0x722a0) 308 - #define _SPBTILEOFF (VLV_DISPLAY_BASE + 0x722a4) 309 - #define _SPBCONSTALPHA (VLV_DISPLAY_BASE + 0x722a8) 310 - #define _SPBSURFLIVE (VLV_DISPLAY_BASE + 0x722ac) 311 - #define _SPBCLRC0 (VLV_DISPLAY_BASE + 0x722d0) 312 - #define _SPBCLRC1 (VLV_DISPLAY_BASE + 0x722d4) 313 306 #define _SPBGAMC (VLV_DISPLAY_BASE + 0x722e0) 314 - 315 - #define _VLV_SPR(pipe, plane_id, reg_a, reg_b) \ 316 - _PIPE((pipe) * 2 + (plane_id) - PLANE_SPRITE0, (reg_a), (reg_b)) 317 - #define _MMIO_VLV_SPR(pipe, plane_id, reg_a, reg_b) \ 318 - _MMIO(_VLV_SPR((pipe), (plane_id), (reg_a), (reg_b))) 319 - 320 - #define SPCNTR(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACNTR, _SPBCNTR) 321 - #define SPLINOFF(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPALINOFF, _SPBLINOFF) 322 - #define SPSTRIDE(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASTRIDE, _SPBSTRIDE) 323 - #define SPPOS(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAPOS, _SPBPOS) 324 - #define SPSIZE(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASIZE, _SPBSIZE) 325 - #define SPKEYMINVAL(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAKEYMINVAL, _SPBKEYMINVAL) 326 - #define SPKEYMSK(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAKEYMSK, _SPBKEYMSK) 327 - #define SPSURF(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASURF, _SPBSURF) 328 - #define SPKEYMAXVAL(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPAKEYMAXVAL, _SPBKEYMAXVAL) 329 - #define SPTILEOFF(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPATILEOFF, _SPBTILEOFF) 330 - #define SPCONSTALPHA(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACONSTALPHA, _SPBCONSTALPHA) 331 - #define SPSURFLIVE(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPASURFLIVE, _SPBSURFLIVE) 332 - #define SPCLRC0(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACLRC0, _SPBCLRC0) 333 - #define SPCLRC1(pipe, plane_id) _MMIO_VLV_SPR((pipe), (plane_id), _SPACLRC1, _SPBCLRC1) 334 307 #define SPGAMC(pipe, plane_id, i) _MMIO(_VLV_SPR((pipe), (plane_id), _SPAGAMC, _SPBGAMC) + (5 - (i)) * 4) /* 6 x u0.10 */ 335 308 336 309 /*