aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
diff options
context:
space:
mode:
authorDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>2017-07-21 17:46:50 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:15:49 -0400
commitcc408d726c20f32e4fdd688f870dd2b17960d4a2 (patch)
tree0eea3e8a07ccbfe96d2b32edefbe89821a9cd3d8 /drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
parentdrm/amd/display: collapse dce11 reset_hw_ctx_wrap into 1 function (diff)
downloadlinux-dev-cc408d726c20f32e4fdd688f870dd2b17960d4a2.tar.xz
linux-dev-cc408d726c20f32e4fdd688f870dd2b17960d4a2.zip
drm/amd/display: mpc block redesign
Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
index 55c9c305a259..4bbcff48acc8 100644
--- a/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
+++ b/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h
@@ -26,27 +26,29 @@
#define __DC_MPCC_H__
#include "dc_hw_types.h"
+#include "opp.h"
struct mpcc_cfg {
- int top_dpp_id;
- int bot_mpcc_id;
- int opp_id;
+ struct mem_input *mi;
+ struct output_pixel_processor *opp;
+ unsigned int z_index;
+
+ struct tg_color black_color;
bool per_pixel_alpha;
bool pre_multiplied_alpha;
- bool top_of_tree;
};
-struct mpcc {
- const struct mpcc_funcs *funcs;
+struct mpc {
+ const struct mpc_funcs *funcs;
struct dc_context *ctx;
- int inst;
- int opp_id;
};
-struct mpcc_funcs {
- void (*set)(struct mpcc *mpcc, struct mpcc_cfg *cfg);
- void (*wait_for_idle)(struct mpcc *mpcc);
- void (*set_bg_color)( struct mpcc *mpcc, struct tg_color *bg_color);
+struct mpc_funcs {
+ void (*add)(struct mpc *mpc, struct mpcc_cfg *cfg);
+ void (*remove)(struct mpc *mpc,
+ struct output_pixel_processor *opp,
+ int mpcc_inst);
+ void (*wait_for_idle)(struct mpc *mpc, int id);
};
#endif