diff options
author | Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> | 2019-05-22 18:05:41 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2019-06-22 09:34:14 -0500 |
commit | bda9afdacf8942c313a47cc95582737345a91c5e (patch) | |
tree | 93c6ddff82040a2b1baba38e14026d800da59767 /drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | |
parent | a6465d1f3b8f863bd4ffd4048d10de3558b378d5 (diff) | |
download | linux-bda9afdacf8942c313a47cc95582737345a91c5e.tar.bz2 |
drm/amd/display: move vmid determination logic to a module
Currently vmid is decided internally inside dc. With the introduction
of new asics we are required to coordinate vmid use with external
components.
This change converts vmid logic to a DAL module allowing vmid to be
passed in as a parameter to DC.
Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h')
-rw-r--r-- | drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h index 13b113d0fe19..4ffe42c27c3e 100644 --- a/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h +++ b/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h @@ -75,7 +75,8 @@ struct resource_pool; struct resource_context; struct stream_resource; #ifdef CONFIG_DRM_AMD_DC_DCN2_0 -struct dc_addr_space_config; +struct dc_phy_addr_space_config; +struct dc_virtual_addr_space_config; #endif struct hw_sequencer_funcs { @@ -132,11 +133,15 @@ struct hw_sequencer_funcs { struct dchub_init_data *dh_data); #ifdef CONFIG_DRM_AMD_DC_DCN2_0 - void (*init_dchub)( - struct dce_hwseq *hws, - struct dc *dc, - struct dc_addr_space_config *dh_data); - + int (*init_sys_ctx)( + struct dce_hwseq *hws, + struct dc *dc, + struct dc_phy_addr_space_config *pa_config); + void (*init_vm_ctx)( + struct dce_hwseq *hws, + struct dc *dc, + struct dc_virtual_addr_space_config *va_config, + int vmid); #endif void (*update_mpcc)( struct dc *dc, |