|
@@ -1135,6 +1135,8 @@ static int skl_decode_mi_display_flip(struct parser_exec_state *s,
|
|
|
u32 dword2 = cmd_val(s, 2);
|
|
|
u32 plane = (dword0 & GENMASK(12, 8)) >> 8;
|
|
|
|
|
|
+ info->plane = PRIMARY_PLANE;
|
|
|
+
|
|
|
switch (plane) {
|
|
|
case MI_DISPLAY_FLIP_SKL_PLANE_1_A:
|
|
|
info->pipe = PIPE_A;
|
|
@@ -1148,12 +1150,28 @@ static int skl_decode_mi_display_flip(struct parser_exec_state *s,
|
|
|
info->pipe = PIPE_C;
|
|
|
info->event = PRIMARY_C_FLIP_DONE;
|
|
|
break;
|
|
|
+
|
|
|
+ case MI_DISPLAY_FLIP_SKL_PLANE_2_A:
|
|
|
+ info->pipe = PIPE_A;
|
|
|
+ info->event = SPRITE_A_FLIP_DONE;
|
|
|
+ info->plane = SPRITE_PLANE;
|
|
|
+ break;
|
|
|
+ case MI_DISPLAY_FLIP_SKL_PLANE_2_B:
|
|
|
+ info->pipe = PIPE_B;
|
|
|
+ info->event = SPRITE_B_FLIP_DONE;
|
|
|
+ info->plane = SPRITE_PLANE;
|
|
|
+ break;
|
|
|
+ case MI_DISPLAY_FLIP_SKL_PLANE_2_C:
|
|
|
+ info->pipe = PIPE_C;
|
|
|
+ info->event = SPRITE_C_FLIP_DONE;
|
|
|
+ info->plane = SPRITE_PLANE;
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
gvt_err("unknown plane code %d\n", plane);
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- info->pipe = PRIMARY_PLANE;
|
|
|
info->stride_val = (dword1 & GENMASK(15, 6)) >> 6;
|
|
|
info->tile_val = (dword1 & GENMASK(2, 0));
|
|
|
info->surf_val = (dword2 & GENMASK(31, 12)) >> 12;
|