mirror of
https://github.com/torvalds/linux.git
synced 2026-04-23 17:15:46 -04:00
drm/amd/display: Move some init routines to dm_sw_init()
Move creation of CGS device node and the DAL allocation list from amdgpu_dm_init() to dm_sw_init() which runs before dmub's sw init hook. This is required for communicating with the VBIOS DMUB image from the VBIOS that was loaded for early pre-os boot. Signed-off-by: Aurabindo Pillai <aurabindo.pillai@amd.com> Acked-by: Harry Wentland <harry.wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
d0a6d85072
commit
7920af262a
@@ -1662,13 +1662,7 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
|
||||
|
||||
init_data.driver = adev;
|
||||
|
||||
adev->dm.cgs_device = amdgpu_cgs_create_device(adev);
|
||||
|
||||
if (!adev->dm.cgs_device) {
|
||||
DRM_ERROR("amdgpu: failed to create cgs device.\n");
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* cgs_device was created in dm_sw_init() */
|
||||
init_data.cgs_device = adev->dm.cgs_device;
|
||||
|
||||
init_data.dce_environment = DCE_ENV_PRODUCTION_DRV;
|
||||
@@ -1752,8 +1746,6 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
|
||||
if (amdgpu_ip_version(adev, 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);
|
||||
|
||||
/* Display Core create. */
|
||||
@@ -2321,6 +2313,16 @@ static int dm_sw_init(void *handle)
|
||||
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
|
||||
int r;
|
||||
|
||||
adev->dm.cgs_device = amdgpu_cgs_create_device(adev);
|
||||
|
||||
if (!adev->dm.cgs_device) {
|
||||
DRM_ERROR("amdgpu: failed to create cgs device.\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
/* Moved from dm init since we need to use allocations for storing bounding box data */
|
||||
INIT_LIST_HEAD(&adev->dm.da_list);
|
||||
|
||||
r = dm_dmub_sw_init(adev);
|
||||
if (r)
|
||||
return r;
|
||||
|
||||
Reference in New Issue
Block a user