diff options
author | Harry Wentland <harry.wentland@amd.com> | 2022-11-02 11:10:12 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2023-09-28 15:36:50 -0400 |
commit | 554340133e4f596fc40fd75a58f9cf18b6b8dbbc (patch) | |
tree | 0af445cddb6aa705f1cecd6eda1ffaa6848a3cae /drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | |
parent | 161d076c2d163d4e6d83e55a6363eb6070eb36b9 (diff) | |
download | linux-stable-554340133e4f596fc40fd75a58f9cf18b6b8dbbc.tar.gz linux-stable-554340133e4f596fc40fd75a58f9cf18b6b8dbbc.tar.bz2 linux-stable-554340133e4f596fc40fd75a58f9cf18b6b8dbbc.zip |
drm/amd/display: Create one virtual connector in DC
[WHAT]
Prepare a virtual connector for writeback.
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c')
-rw-r--r-- | drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c index 9c4e84e00708..c53daaddc888 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -1693,6 +1693,10 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) init_data.nbio_reg_offsets = adev->reg_offset[NBIO_HWIP][0]; init_data.clk_reg_offsets = adev->reg_offset[CLK_HWIP][0]; + /* Enable DWB for tested platforms only */ + if (adev->ip_versions[DCE_HWIP][0] >= IP_VERSION(3, 0, 0)) + init_data.num_virtual_links = 1; + INIT_LIST_HEAD(&adev->dm.da_list); retrieve_dmi_info(&adev->dm); @@ -4506,6 +4510,11 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev) continue; } + link = dc_get_link_at_index(dm->dc, i); + + if (link->connector_signal == SIGNAL_TYPE_VIRTUAL) + continue; + aconnector = kzalloc(sizeof(*aconnector), GFP_KERNEL); if (!aconnector) goto fail; @@ -4524,8 +4533,6 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev) goto fail; } - link = dc_get_link_at_index(dm->dc, i); - if (!dc_link_detect_connection_type(link, &new_connection_type)) DRM_ERROR("KMS: Failed to detect connector\n"); |