|
@@ -26,8 +26,8 @@
|
|
|
#define _I915_REG_H_
|
|
|
|
|
|
#define _PIPE(pipe, a, b) ((a) + (pipe)*((b)-(a)))
|
|
|
+#define _PLANE(plane, a, b) _PIPE(plane, a, b)
|
|
|
#define _TRANSCODER(tran, a, b) ((a) + (tran)*((b)-(a)))
|
|
|
-
|
|
|
#define _PORT(port, a, b) ((a) + (port)*((b)-(a)))
|
|
|
#define _PIPE3(pipe, a, b, c) ((pipe) == PIPE_A ? (a) : \
|
|
|
(pipe) == PIPE_B ? (b) : (c))
|
|
@@ -4499,6 +4499,114 @@ enum punit_power_well {
|
|
|
#define SPCONSTALPHA(pipe, plane) _PIPE(pipe * 2 + plane, _SPACONSTALPHA, _SPBCONSTALPHA)
|
|
|
#define SPGAMC(pipe, plane) _PIPE(pipe * 2 + plane, _SPAGAMC, _SPBGAMC)
|
|
|
|
|
|
+/* Skylake plane registers */
|
|
|
+
|
|
|
+#define _PLANE_CTL_1_A 0x70180
|
|
|
+#define _PLANE_CTL_2_A 0x70280
|
|
|
+#define _PLANE_CTL_3_A 0x70380
|
|
|
+#define PLANE_CTL_ENABLE (1 << 31)
|
|
|
+#define PLANE_CTL_PIPE_GAMMA_ENABLE (1 << 30)
|
|
|
+#define PLANE_CTL_FORMAT_MASK (0xf << 24)
|
|
|
+#define PLANE_CTL_FORMAT_YUV422 ( 0 << 24)
|
|
|
+#define PLANE_CTL_FORMAT_NV12 ( 1 << 24)
|
|
|
+#define PLANE_CTL_FORMAT_XRGB_2101010 ( 2 << 24)
|
|
|
+#define PLANE_CTL_FORMAT_XRGB_8888 ( 4 << 24)
|
|
|
+#define PLANE_CTL_FORMAT_XRGB_16161616F ( 6 << 24)
|
|
|
+#define PLANE_CTL_FORMAT_AYUV ( 8 << 24)
|
|
|
+#define PLANE_CTL_FORMAT_INDEXED ( 12 << 24)
|
|
|
+#define PLANE_CTL_FORMAT_RGB_565 ( 14 << 24)
|
|
|
+#define PLANE_CTL_PIPE_CSC_ENABLE (1 << 23)
|
|
|
+#define PLANE_CTL_KEY_ENABLE (1 << 22)
|
|
|
+#define PLANE_CTL_ORDER_BGRX (0 << 20)
|
|
|
+#define PLANE_CTL_ORDER_RGBX (1 << 20)
|
|
|
+#define PLANE_CTL_YUV422_ORDER_MASK (0x3 << 16)
|
|
|
+#define PLANE_CTL_YUV422_YUYV ( 0 << 16)
|
|
|
+#define PLANE_CTL_YUV422_UYVY ( 1 << 16)
|
|
|
+#define PLANE_CTL_YUV422_YVYU ( 2 << 16)
|
|
|
+#define PLANE_CTL_YUV422_VYUY ( 3 << 16)
|
|
|
+#define PLANE_CTL_DECOMPRESSION_ENABLE (1 << 15)
|
|
|
+#define PLANE_CTL_TRICKLE_FEED_DISABLE (1 << 14)
|
|
|
+#define PLANE_CTL_PLANE_GAMMA_DISABLE (1 << 13)
|
|
|
+#define PLANE_CTL_TILED_MASK (0x7 << 10)
|
|
|
+#define PLANE_CTL_TILED_LINEAR ( 0 << 10)
|
|
|
+#define PLANE_CTL_TILED_X ( 1 << 10)
|
|
|
+#define PLANE_CTL_TILED_Y ( 4 << 10)
|
|
|
+#define PLANE_CTL_TILED_YF ( 5 << 10)
|
|
|
+#define PLANE_CTL_ALPHA_MASK (0x3 << 4)
|
|
|
+#define PLANE_CTL_ALPHA_DISABLE ( 0 << 4)
|
|
|
+#define PLANE_CTL_ALPHA_SW_PREMULTIPLY ( 2 << 4)
|
|
|
+#define PLANE_CTL_ALPHA_HW_PREMULTIPLY ( 3 << 4)
|
|
|
+#define _PLANE_STRIDE_1_A 0x70188
|
|
|
+#define _PLANE_STRIDE_2_A 0x70288
|
|
|
+#define _PLANE_STRIDE_3_A 0x70388
|
|
|
+#define _PLANE_POS_1_A 0x7018c
|
|
|
+#define _PLANE_POS_2_A 0x7028c
|
|
|
+#define _PLANE_POS_3_A 0x7038c
|
|
|
+#define _PLANE_SIZE_1_A 0x70190
|
|
|
+#define _PLANE_SIZE_2_A 0x70290
|
|
|
+#define _PLANE_SIZE_3_A 0x70390
|
|
|
+#define _PLANE_SURF_1_A 0x7019c
|
|
|
+#define _PLANE_SURF_2_A 0x7029c
|
|
|
+#define _PLANE_SURF_3_A 0x7039c
|
|
|
+#define _PLANE_OFFSET_1_A 0x701a4
|
|
|
+#define _PLANE_OFFSET_2_A 0x702a4
|
|
|
+#define _PLANE_OFFSET_3_A 0x703a4
|
|
|
+
|
|
|
+#define _PLANE_CTL_1_B 0x71180
|
|
|
+#define _PLANE_CTL_2_B 0x71280
|
|
|
+#define _PLANE_CTL_3_B 0x71380
|
|
|
+#define _PLANE_CTL_1(pipe) _PIPE(pipe, _PLANE_CTL_1_A, _PLANE_CTL_1_B)
|
|
|
+#define _PLANE_CTL_2(pipe) _PIPE(pipe, _PLANE_CTL_2_A, _PLANE_CTL_2_B)
|
|
|
+#define _PLANE_CTL_3(pipe) _PIPE(pipe, _PLANE_CTL_3_A, _PLANE_CTL_3_B)
|
|
|
+#define PLANE_CTL(pipe, plane) \
|
|
|
+ _PLANE(plane, _PLANE_CTL_1(pipe), _PLANE_CTL_2(pipe))
|
|
|
+
|
|
|
+#define _PLANE_STRIDE_1_B 0x71188
|
|
|
+#define _PLANE_STRIDE_2_B 0x71288
|
|
|
+#define _PLANE_STRIDE_3_B 0x71388
|
|
|
+#define _PLANE_STRIDE_1(pipe) \
|
|
|
+ _PIPE(pipe, _PLANE_STRIDE_1_A, _PLANE_STRIDE_1_B)
|
|
|
+#define _PLANE_STRIDE_2(pipe) \
|
|
|
+ _PIPE(pipe, _PLANE_STRIDE_2_A, _PLANE_STRIDE_2_B)
|
|
|
+#define _PLANE_STRIDE_3(pipe) \
|
|
|
+ _PIPE(pipe, _PLANE_STRIDE_3_A, _PLANE_STRIDE_3_B)
|
|
|
+#define PLANE_STRIDE(pipe, plane) \
|
|
|
+ _PLANE(plane, _PLANE_STRIDE_1(pipe), _PLANE_STRIDE_2(pipe))
|
|
|
+
|
|
|
+#define _PLANE_POS_1_B 0x7118c
|
|
|
+#define _PLANE_POS_2_B 0x7128c
|
|
|
+#define _PLANE_POS_3_B 0x7138c
|
|
|
+#define _PLANE_POS_1(pipe) _PIPE(pipe, _PLANE_POS_1_A, _PLANE_POS_1_B)
|
|
|
+#define _PLANE_POS_2(pipe) _PIPE(pipe, _PLANE_POS_2_A, _PLANE_POS_2_B)
|
|
|
+#define _PLANE_POS_3(pipe) _PIPE(pipe, _PLANE_POS_3_A, _PLANE_POS_3_B)
|
|
|
+#define PLANE_POS(pipe, plane) \
|
|
|
+ _PLANE(plane, _PLANE_POS_1(pipe), _PLANE_POS_2(pipe))
|
|
|
+
|
|
|
+#define _PLANE_SIZE_1_B 0x71190
|
|
|
+#define _PLANE_SIZE_2_B 0x71290
|
|
|
+#define _PLANE_SIZE_3_B 0x71390
|
|
|
+#define _PLANE_SIZE_1(pipe) _PIPE(pipe, _PLANE_SIZE_1_A, _PLANE_SIZE_1_B)
|
|
|
+#define _PLANE_SIZE_2(pipe) _PIPE(pipe, _PLANE_SIZE_2_A, _PLANE_SIZE_2_B)
|
|
|
+#define _PLANE_SIZE_3(pipe) _PIPE(pipe, _PLANE_SIZE_3_A, _PLANE_SIZE_3_B)
|
|
|
+#define PLANE_SIZE(pipe, plane) \
|
|
|
+ _PLANE(plane, _PLANE_SIZE_1(pipe), _PLANE_SIZE_2(pipe))
|
|
|
+
|
|
|
+#define _PLANE_SURF_1_B 0x7119c
|
|
|
+#define _PLANE_SURF_2_B 0x7129c
|
|
|
+#define _PLANE_SURF_3_B 0x7139c
|
|
|
+#define _PLANE_SURF_1(pipe) _PIPE(pipe, _PLANE_SURF_1_A, _PLANE_SURF_1_B)
|
|
|
+#define _PLANE_SURF_2(pipe) _PIPE(pipe, _PLANE_SURF_2_A, _PLANE_SURF_2_B)
|
|
|
+#define _PLANE_SURF_3(pipe) _PIPE(pipe, _PLANE_SURF_3_A, _PLANE_SURF_3_B)
|
|
|
+#define PLANE_SURF(pipe, plane) \
|
|
|
+ _PLANE(plane, _PLANE_SURF_1(pipe), _PLANE_SURF_2(pipe))
|
|
|
+
|
|
|
+#define _PLANE_OFFSET_1_B 0x711a4
|
|
|
+#define _PLANE_OFFSET_2_B 0x712a4
|
|
|
+#define _PLANE_OFFSET_1(pipe) _PIPE(pipe, _PLANE_OFFSET_1_A, _PLANE_OFFSET_1_B)
|
|
|
+#define _PLANE_OFFSET_2(pipe) _PIPE(pipe, _PLANE_OFFSET_2_A, _PLANE_OFFSET_2_B)
|
|
|
+#define PLANE_OFFSET(pipe, plane) \
|
|
|
+ _PLANE(plane, _PLANE_OFFSET_1(pipe), _PLANE_OFFSET_2(pipe))
|
|
|
+
|
|
|
/* VBIOS regs */
|
|
|
#define VGACNTRL 0x71400
|
|
|
# define VGA_DISP_DISABLE (1 << 31)
|