diff options
| author | Thomas Gleixner <[email protected]> | 2020-06-11 15:17:57 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2020-06-11 15:17:57 +0200 | 
| commit | f77d26a9fc525286bcef3d4f98b52e17482cf49c (patch) | |
| tree | 6b179c9aa84787773cb601a14a64255e2912154b /drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c | |
| parent | b6bea24d41519e8c31e4798f1c1a3f67e540c5d0 (diff) | |
| parent | f0178fc01fe46bab6a95415f5647d1a74efcad1b (diff) | |
Merge branch 'x86/entry' into ras/core
to fixup conflicts in arch/x86/kernel/cpu/mce/core.c so MCE specific follow
up patches can be applied without creating a horrible merge conflict
afterwards.
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c')
| -rw-r--r-- | drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c index 8f78bf9abbca..a28c4ae0f259 100644 --- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c +++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c @@ -46,6 +46,7 @@  #include "dce/dce_audio.h"  #include "dce/dce_hwseq.h"  #include "dce100/dce100_hw_sequencer.h" +#include "dce/dce_panel_cntl.h"  #include "reg_helper.h" @@ -249,6 +250,18 @@ static const struct dce_stream_encoder_mask se_mask = {  		SE_COMMON_MASK_SH_LIST_DCE80_100(_MASK)  }; +static const struct dce_panel_cntl_registers panel_cntl_regs[] = { +	{ DCE_PANEL_CNTL_REG_LIST() } +}; + +static const struct dce_panel_cntl_shift panel_cntl_shift = { +	DCE_PANEL_CNTL_MASK_SH_LIST(__SHIFT) +}; + +static const struct dce_panel_cntl_mask panel_cntl_mask = { +	DCE_PANEL_CNTL_MASK_SH_LIST(_MASK) +}; +  #define opp_regs(id)\  [id] = {\  	OPP_DCE_100_REG_LIST(id),\ @@ -627,6 +640,23 @@ struct link_encoder *dce100_link_encoder_create(  	return &enc110->base;  } +static struct panel_cntl *dce100_panel_cntl_create(const struct panel_cntl_init_data *init_data) +{ +	struct dce_panel_cntl *panel_cntl = +		kzalloc(sizeof(struct dce_panel_cntl), GFP_KERNEL); + +	if (!panel_cntl) +		return NULL; + +	dce_panel_cntl_construct(panel_cntl, +			init_data, +			&panel_cntl_regs[init_data->inst], +			&panel_cntl_shift, +			&panel_cntl_mask); + +	return &panel_cntl->base; +} +  struct output_pixel_processor *dce100_opp_create(  	struct dc_context *ctx,  	uint32_t inst) @@ -943,6 +973,7 @@ struct stream_encoder *dce100_find_first_free_match_stream_enc_for_link(  static const struct resource_funcs dce100_res_pool_funcs = {  	.destroy = dce100_destroy_resource_pool,  	.link_enc_create = dce100_link_encoder_create, +	.panel_cntl_create = dce100_panel_cntl_create,  	.validate_bandwidth = dce100_validate_bandwidth,  	.validate_plane = dce100_validate_plane,  	.add_stream_to_ctx = dce100_add_stream_to_ctx,  |