@@ -1164,7 +1164,8 @@ zynqmp_disp_plane_atomic_disable(struct drm_plane *plane,
1164
1164
zynqmp_disp_layer_disable (layer );
1165
1165
1166
1166
if (zynqmp_disp_layer_is_gfx (layer ))
1167
- zynqmp_disp_blend_set_global_alpha (layer -> disp , false, 0 );
1167
+ zynqmp_disp_blend_set_global_alpha (layer -> disp , false,
1168
+ plane -> state -> alpha >> 8 );
1168
1169
}
1169
1170
1170
1171
static void
@@ -1195,7 +1196,8 @@ zynqmp_disp_plane_atomic_update(struct drm_plane *plane,
1195
1196
zynqmp_disp_layer_update (layer , new_state );
1196
1197
1197
1198
if (zynqmp_disp_layer_is_gfx (layer ))
1198
- zynqmp_disp_blend_set_global_alpha (layer -> disp , true, 255 );
1199
+ zynqmp_disp_blend_set_global_alpha (layer -> disp , true,
1200
+ plane -> state -> alpha >> 8 );
1199
1201
1200
1202
/* Enable or re-enable the plane is the format has changed. */
1201
1203
if (format_changed )
@@ -1249,6 +1251,9 @@ static int zynqmp_disp_create_planes(struct zynqmp_disp *disp)
1249
1251
1250
1252
drm_plane_helper_add (& layer -> plane ,
1251
1253
& zynqmp_disp_plane_helper_funcs );
1254
+
1255
+ if (zynqmp_disp_layer_is_gfx (layer ))
1256
+ drm_plane_create_alpha_property (& layer -> plane );
1252
1257
}
1253
1258
1254
1259
return 0 ;
0 commit comments