Commit d09ef243 authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu: clarify DC checks



There are several places where we don't want to check
if a particular asic could support DC, but rather, if
DC is enabled.  Set a flag if DC is enabled and check
for that rather than if a device supports DC or not.

Acked-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent a347ca97
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1065,6 +1065,7 @@ struct amdgpu_device {
	struct work_struct		reset_work;

	bool                            job_hang;
	bool                            dc_enabled;
};

static inline struct amdgpu_device *drm_to_adev(struct drm_device *ddev)
+1 −1
Original line number Diff line number Diff line
@@ -847,7 +847,7 @@ int amdgpu_acpi_init(struct amdgpu_device *adev)
	struct amdgpu_atif *atif = &amdgpu_acpi_priv.atif;

	if (atif->notifications.brightness_change) {
		if (amdgpu_device_has_dc_support(adev)) {
		if (adev->dc_enabled) {
#if defined(CONFIG_DRM_AMD_DC)
			struct amdgpu_display_manager *dm = &adev->dm;

+1 −1
Original line number Diff line number Diff line
@@ -1969,7 +1969,7 @@ int amdgpu_debugfs_init(struct amdgpu_device *adev)
	amdgpu_ta_if_debugfs_init(adev);

#if defined(CONFIG_DRM_AMD_DC)
	if (amdgpu_device_has_dc_support(adev))
	if (adev->dc_enabled)
		dtn_debugfs_init(adev);
#endif

+17 −15
Original line number Diff line number Diff line
@@ -4224,6 +4224,7 @@ int amdgpu_device_resume(struct drm_device *dev, bool fbcon)

	amdgpu_ras_resume(adev);

	if (adev->mode_info.num_crtc) {
		/*
		 * Most of the connector probing functions try to acquire runtime pm
		 * refs to ensure that the GPU is powered on when connector polling is
@@ -4236,13 +4237,14 @@ int amdgpu_device_resume(struct drm_device *dev, bool fbcon)
#ifdef CONFIG_PM
		dev->dev->power.disable_depth++;
#endif
	if (!amdgpu_device_has_dc_support(adev))
		if (!adev->dc_enabled)
			drm_helper_hpd_irq_event(dev);
		else
			drm_kms_helper_hotplug_event(dev);
#ifdef CONFIG_PM
		dev->dev->power.disable_depth--;
#endif
	}
	adev->in_suspend = false;

	if (amdgpu_acpi_smart_shift_update(dev, AMDGPU_SS_DEV_D0))
+2 −2
Original line number Diff line number Diff line
@@ -549,7 +549,7 @@ uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev,
	 */
	if ((bo_flags & AMDGPU_GEM_CREATE_CPU_GTT_USWC) &&
	    amdgpu_bo_support_uswc(bo_flags) &&
	    amdgpu_device_has_dc_support(adev) &&
	    adev->dc_enabled &&
	    adev->mode_info.gpu_vm_support)
		domain |= AMDGPU_GEM_DOMAIN_GTT;
#endif
@@ -1316,7 +1316,7 @@ int amdgpu_display_modeset_create_props(struct amdgpu_device *adev)
					 "dither",
					 amdgpu_dither_enum_list, sz);

	if (amdgpu_device_has_dc_support(adev)) {
	if (adev->dc_enabled) {
		adev->mode_info.abm_level_property =
			drm_property_create_range(adev_to_drm(adev), 0,
						  "abm level", 0, 4);
Loading