drm/amd/display: Pass visible flag into surface programming
authorYongqiang Sun <yongqiang.sun@amd.com>
Mon, 9 Jan 2017 14:42:33 +0000 (09:42 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 26 Sep 2017 21:09:37 +0000 (17:09 -0400)
Signed-off-by: Yongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <Harry.Wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c
drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.h
drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c
drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input.h
drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.c
drivers/gpu/drm/amd/display/dc/dce110/dce110_mem_input_v.h
drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h

index e9005e0..130935f 100644 (file)
@@ -372,7 +372,8 @@ void dce_mem_input_program_surface_config(struct mem_input *mi,
        union plane_size *plane_size,
        enum dc_rotation_angle rotation,
        struct dc_plane_dcc_param *dcc,
-       bool horizontal_mirror)
+       bool horizontal_mirror,
+       bool visible)
 {
        REG_UPDATE(GRPH_ENABLE, GRPH_ENABLE, 1);
 
index 022272d..f90d586 100644 (file)
@@ -243,7 +243,8 @@ void dce_mem_input_program_surface_config(struct mem_input *mi,
        union plane_size *plane_size,
        enum dc_rotation_angle rotation,
        struct dc_plane_dcc_param *dcc,
-       bool horizontal_mirror);
+       bool horizontal_mirror,
+       bool visible);
 
 void dce_mem_input_allocate_dmif(struct mem_input *mi,
        uint32_t h_total,
index 965e47a..751dbb8 100644 (file)
@@ -1538,7 +1538,8 @@ static void set_plane_config(
                        &surface->public.plane_size,
                        surface->public.rotation,
                        NULL,
-                       false);
+                       false,
+                       pipe_ctx->surface->public.visible);
 
        if (dc->public.config.gpu_vm_support)
                mi->funcs->mem_input_program_pte_vm(
@@ -1877,8 +1878,9 @@ static void dce110_program_front_end_for_pipe(
                        &surface->public.tiling_info,
                        &surface->public.plane_size,
                        surface->public.rotation,
+                       NULL,
                        false,
-                       false);
+                       pipe_ctx->surface->public.visible);
 
        if (dc->public.config.gpu_vm_support)
                mi->funcs->mem_input_program_pte_vm(
index a80a20c..4aec18c 100644 (file)
@@ -105,7 +105,8 @@ bool  dce110_mem_input_program_surface_config(
        union plane_size *plane_size,
        enum dc_rotation_angle rotation,
        struct dc_plane_dcc_param *dcc,
-       bool horizontal_mirror);
+       bool horizontal_mirror,
+       bool visible);
 
 /*
  * dce110_mem_input_is_flip_pending
index 757e946..b12506a 100644 (file)
@@ -664,7 +664,8 @@ void dce110_mem_input_v_program_surface_config(
        union plane_size *plane_size,
        enum dc_rotation_angle rotation,
        struct dc_plane_dcc_param *dcc,
-       bool horizotal_mirror)
+       bool horizotal_mirror,
+       bool visible)
 {
        struct dce110_mem_input *mem_input110 = TO_DCE110_MEM_INPUT(mem_input);
 
index 5b1796c..44cf066 100644 (file)
@@ -89,6 +89,7 @@ bool  dce110_mem_input_v_program_surface_config(
        enum surface_pixel_format format,
        union dc_tiling_info *tiling_info,
        union plane_size *plane_size,
-       enum dc_rotation_angle rotation);
+       enum dc_rotation_angle rotation,
+       bool visible);
 
 #endif
index 2c0774f..ed980ae 100644 (file)
@@ -95,7 +95,8 @@ struct mem_input_funcs {
                union plane_size *plane_size,
                enum dc_rotation_angle rotation,
                struct dc_plane_dcc_param *dcc,
-               bool horizontal_mirror);
+               bool horizontal_mirror,
+               bool visible);
 
        bool (*mem_input_is_flip_pending)(struct mem_input *mem_input);