drm/amd/display: Add NBIO reg offsets to DC
authorAurabindo Pillai <aurabindo.pillai@amd.com>
Mon, 4 Apr 2022 17:38:57 +0000 (13:38 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 13 Jul 2022 15:25:17 +0000 (11:25 -0400)
[Why&How]
Add a field to store the NBIO IP offset for use with runtime offset
calculation

Reviewed-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Acked-by: Solomon Chiu <solomon.chiu@amd.com>
Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/dc.h
drivers/gpu/drm/amd/display/dc/dc_types.h

index 917bd5a..d96a99d 100644 (file)
@@ -1565,6 +1565,7 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
        init_data.flags.enable_mipi_converter_optimization = true;
 
        init_data.dcn_reg_offsets = adev->reg_offset[DCE_HWIP][0];
+       init_data.nbio_reg_offsets = adev->reg_offset[NBIO_HWIP][0];
 
        INIT_LIST_HEAD(&adev->dm.da_list);
 
index 6039b34..7453ec5 100644 (file)
@@ -863,6 +863,7 @@ static bool dc_construct_ctx(struct dc *dc,
        dc_ctx->dc_stream_id_count = 0;
        dc_ctx->dce_environment = init_params->dce_environment;
        dc_ctx->dcn_reg_offsets = init_params->dcn_reg_offsets;
+       dc_ctx->nbio_reg_offsets = init_params->nbio_reg_offsets;
 
        /* Create logger */
 
@@ -1243,6 +1244,7 @@ struct dc *dc_create(const struct dc_init_data *init_params)
        }
 
        dc->dcn_reg_offsets = init_params->dcn_reg_offsets;
+       dc->nbio_reg_offsets = init_params->nbio_reg_offsets;
 
        /* Populate versioning information */
        dc->versions.dc_ver = DC_VER;
index faa2258..89a3cc8 100644 (file)
@@ -810,6 +810,7 @@ struct dc {
        struct vm_helper *vm_helper;
 
        uint32_t *dcn_reg_offsets;
+       uint32_t *nbio_reg_offsets;
 };
 
 enum frame_buffer_mode {
@@ -857,6 +858,7 @@ struct dc_init_data {
         * before them.
         */
        uint32_t *dcn_reg_offsets;
+       uint32_t *nbio_reg_offsets;
 };
 
 struct dc_callback_init {
index 077a93e..ad90414 100644 (file)
@@ -877,6 +877,7 @@ struct dc_context {
        struct cp_psp cp_psp;
 #endif
        uint32_t *dcn_reg_offsets;
+       uint32_t *nbio_reg_offsets;
 };
 
 /* DSC DPCD capabilities */