drivers/gpu/drm/amd/display/dc/core/dc_resource.c

Source file repositories/reference/linux-study-clean/drivers/gpu/drm/amd/display/dc/core/dc_resource.c

File Facts

System
Linux kernel
Corpus path
drivers/gpu/drm/amd/display/dc/core/dc_resource.c
Extension
.c
Size
193712 bytes
Lines
6033
Domain
Driver Families
Bucket
drivers/gpu
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

ASIC_REV_IS_FIJI_P(asic_id.hw_internal_rev)) {
			dc_version = DCE_VERSION_10_0;
			break;
		}
		if (ASIC_REV_IS_POLARIS10_P(asic_id.hw_internal_rev) ||
				ASIC_REV_IS_POLARIS11_M(asic_id.hw_internal_rev) ||
				ASIC_REV_IS_POLARIS12_V(asic_id.hw_internal_rev)) {
			dc_version = DCE_VERSION_11_2;
		}
		if (ASIC_REV_IS_VEGAM(asic_id.hw_internal_rev))
			dc_version = DCE_VERSION_11_22;
		break;
	case FAMILY_AI:
		if (ASICREV_IS_VEGA20_P(asic_id.hw_internal_rev))
			dc_version = DCE_VERSION_12_1;
		else
			dc_version = DCE_VERSION_12_0;
		break;
	case FAMILY_RV:
		dc_version = DCN_VERSION_1_0;
		if (ASICREV_IS_RAVEN2(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_1_01;
		if (ASICREV_IS_RENOIR(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_2_1;
		if (ASICREV_IS_GREEN_SARDINE(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_2_1;
		break;

	case FAMILY_NV:
		dc_version = DCN_VERSION_2_0;
		if (asic_id.chip_id == DEVICE_ID_NV_13FE ||
		    asic_id.chip_id == DEVICE_ID_NV_143F ||
		    asic_id.chip_id == DEVICE_ID_NV_13F9 ||
		    asic_id.chip_id == DEVICE_ID_NV_13FA ||
		    asic_id.chip_id == DEVICE_ID_NV_13FB ||
		    asic_id.chip_id == DEVICE_ID_NV_13FC ||
		    asic_id.chip_id == DEVICE_ID_NV_13DB) {
			dc_version = DCN_VERSION_2_01;
			break;
		}
		if (ASICREV_IS_SIENNA_CICHLID_P(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_0;
		if (ASICREV_IS_DIMGREY_CAVEFISH_P(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_02;
		if (ASICREV_IS_BEIGE_GOBY_P(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_03;
		break;

	case FAMILY_VGH:
		dc_version = DCN_VERSION_3_01;
		break;

	case FAMILY_YELLOW_CARP:
		if (ASICREV_IS_YELLOW_CARP(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_1;
		break;
	case AMDGPU_FAMILY_GC_10_3_6:
		if (ASICREV_IS_GC_10_3_6(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_15;
		break;
	case AMDGPU_FAMILY_GC_10_3_7:
		if (ASICREV_IS_GC_10_3_7(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_16;
		break;
	case AMDGPU_FAMILY_GC_11_0_0:
		dc_version = DCN_VERSION_3_2;
		if (ASICREV_IS_GC_11_0_2(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_21;
		break;
	case AMDGPU_FAMILY_GC_11_0_1:
		dc_version = DCN_VERSION_3_14;
		break;
	case AMDGPU_FAMILY_GC_11_5_0:
		dc_version = DCN_VERSION_3_5;
		if (ASICREV_IS_DCN4A_SOC_VAR_B(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_4_2B;
		if (ASICREV_IS_GC_11_0_4(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_51;
		if (ASICREV_IS_DCN36(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_3_6;
		break;
	case AMDGPU_FAMILY_GC_12_0_0:
		if (ASICREV_IS_GC_12_0_1_A0(asic_id.hw_internal_rev) ||
			ASICREV_IS_GC_12_0_0_A0(asic_id.hw_internal_rev))
			dc_version = DCN_VERSION_4_01;
		break;
	case AMDGPU_FAMILY_GC_11_5_4:
			dc_version = DCN_VERSION_4_2;
	break;
	default:

Annotation

Implementation Notes