drm/amd/display: add DC support for navy flounder
Plumb DC support for navy flounder through. Signed-off-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
cf4554fada
commit
a6c5308f2a
@@ -2808,6 +2808,7 @@ bool amdgpu_device_asic_has_dc_support(enum amd_asic_type asic_type)
|
|||||||
#endif
|
#endif
|
||||||
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
||||||
case CHIP_SIENNA_CICHLID:
|
case CHIP_SIENNA_CICHLID:
|
||||||
|
case CHIP_NAVY_FLOUNDER:
|
||||||
#endif
|
#endif
|
||||||
return amdgpu_dc != 0;
|
return amdgpu_dc != 0;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -534,6 +534,10 @@ int nv_set_ip_blocks(struct amdgpu_device *adev)
|
|||||||
amdgpu_device_ip_block_add(adev, &smu_v11_0_ip_block);
|
amdgpu_device_ip_block_add(adev, &smu_v11_0_ip_block);
|
||||||
if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))
|
if (adev->enable_virtual_display || amdgpu_sriov_vf(adev))
|
||||||
amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
|
amdgpu_device_ip_block_add(adev, &dce_virtual_ip_block);
|
||||||
|
#if defined(CONFIG_DRM_AMD_DC)
|
||||||
|
else if (amdgpu_device_has_dc_support(adev))
|
||||||
|
amdgpu_device_ip_block_add(adev, &dm_ip_block);
|
||||||
|
#endif
|
||||||
amdgpu_device_ip_block_add(adev, &gfx_v10_0_ip_block);
|
amdgpu_device_ip_block_add(adev, &gfx_v10_0_ip_block);
|
||||||
amdgpu_device_ip_block_add(adev, &sdma_v5_2_ip_block);
|
amdgpu_device_ip_block_add(adev, &sdma_v5_2_ip_block);
|
||||||
amdgpu_device_ip_block_add(adev, &vcn_v3_0_ip_block);
|
amdgpu_device_ip_block_add(adev, &vcn_v3_0_ip_block);
|
||||||
|
|||||||
@@ -1085,6 +1085,7 @@ static int load_dmcu_fw(struct amdgpu_device *adev)
|
|||||||
case CHIP_RENOIR:
|
case CHIP_RENOIR:
|
||||||
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
||||||
case CHIP_SIENNA_CICHLID:
|
case CHIP_SIENNA_CICHLID:
|
||||||
|
case CHIP_NAVY_FLOUNDER:
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
case CHIP_NAVI12:
|
case CHIP_NAVI12:
|
||||||
@@ -1184,6 +1185,7 @@ static int dm_dmub_sw_init(struct amdgpu_device *adev)
|
|||||||
break;
|
break;
|
||||||
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
||||||
case CHIP_SIENNA_CICHLID:
|
case CHIP_SIENNA_CICHLID:
|
||||||
|
case CHIP_NAVY_FLOUNDER:
|
||||||
dmub_asic = DMUB_ASIC_DCN30;
|
dmub_asic = DMUB_ASIC_DCN30;
|
||||||
fw_name_dmub = FIRMWARE_SIENNA_CICHLID_DMUB;
|
fw_name_dmub = FIRMWARE_SIENNA_CICHLID_DMUB;
|
||||||
break;
|
break;
|
||||||
@@ -3230,6 +3232,7 @@ static int amdgpu_dm_initialize_drm_device(struct amdgpu_device *adev)
|
|||||||
case CHIP_RENOIR:
|
case CHIP_RENOIR:
|
||||||
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
||||||
case CHIP_SIENNA_CICHLID:
|
case CHIP_SIENNA_CICHLID:
|
||||||
|
case CHIP_NAVY_FLOUNDER:
|
||||||
#endif
|
#endif
|
||||||
if (dcn10_register_irq_handlers(dm->adev)) {
|
if (dcn10_register_irq_handlers(dm->adev)) {
|
||||||
DRM_ERROR("DM: Failed to initialize IRQ\n");
|
DRM_ERROR("DM: Failed to initialize IRQ\n");
|
||||||
@@ -3387,6 +3390,7 @@ static int dm_early_init(void *handle)
|
|||||||
case CHIP_NAVI12:
|
case CHIP_NAVI12:
|
||||||
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
||||||
case CHIP_SIENNA_CICHLID:
|
case CHIP_SIENNA_CICHLID:
|
||||||
|
case CHIP_NAVY_FLOUNDER:
|
||||||
#endif
|
#endif
|
||||||
adev->mode_info.num_crtc = 6;
|
adev->mode_info.num_crtc = 6;
|
||||||
adev->mode_info.num_hpd = 6;
|
adev->mode_info.num_hpd = 6;
|
||||||
@@ -3710,6 +3714,7 @@ fill_plane_buffer_attributes(struct amdgpu_device *adev,
|
|||||||
adev->asic_type == CHIP_NAVI12 ||
|
adev->asic_type == CHIP_NAVI12 ||
|
||||||
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
#if defined(CONFIG_DRM_AMD_DC_DCN3_0)
|
||||||
adev->asic_type == CHIP_SIENNA_CICHLID ||
|
adev->asic_type == CHIP_SIENNA_CICHLID ||
|
||||||
|
adev->asic_type == CHIP_NAVY_FLOUNDER ||
|
||||||
#endif
|
#endif
|
||||||
adev->asic_type == CHIP_RENOIR ||
|
adev->asic_type == CHIP_RENOIR ||
|
||||||
adev->asic_type == CHIP_RAVEN) {
|
adev->asic_type == CHIP_RAVEN) {
|
||||||
@@ -3731,9 +3736,9 @@ fill_plane_buffer_attributes(struct amdgpu_device *adev,
|
|||||||
tiling_info->gfx9.shaderEnable = 1;
|
tiling_info->gfx9.shaderEnable = 1;
|
||||||
|
|
||||||
#ifdef CONFIG_DRM_AMD_DC_DCN3_0
|
#ifdef CONFIG_DRM_AMD_DC_DCN3_0
|
||||||
if (adev->asic_type == CHIP_SIENNA_CICHLID)
|
if (adev->asic_type == CHIP_SIENNA_CICHLID ||
|
||||||
|
adev->asic_type == CHIP_NAVY_FLOUNDER)
|
||||||
tiling_info->gfx9.num_pkrs = adev->gfx.config.gb_addr_config_fields.num_pkrs;
|
tiling_info->gfx9.num_pkrs = adev->gfx.config.gb_addr_config_fields.num_pkrs;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
ret = fill_plane_dcc_attributes(adev, afb, format, rotation,
|
ret = fill_plane_dcc_attributes(adev, afb, format, rotation,
|
||||||
plane_size, tiling_info,
|
plane_size, tiling_info,
|
||||||
|
|||||||
Reference in New Issue
Block a user