diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_device_info.c')
| -rw-r--r-- | drivers/gpu/drm/i915/intel_device_info.c | 13 | 
1 files changed, 9 insertions, 4 deletions
| diff --git a/drivers/gpu/drm/i915/intel_device_info.c b/drivers/gpu/drm/i915/intel_device_info.c index f2d5ae59081e..de02207f6ec6 100644 --- a/drivers/gpu/drm/i915/intel_device_info.c +++ b/drivers/gpu/drm/i915/intel_device_info.c @@ -66,6 +66,7 @@ static const char * const platform_names[] = {  	PLATFORM_NAME(TIGERLAKE),  	PLATFORM_NAME(ROCKETLAKE),  	PLATFORM_NAME(DG1), +	PLATFORM_NAME(ALDERLAKE_S),  };  #undef PLATFORM_NAME @@ -204,7 +205,7 @@ void intel_device_info_subplatform_init(struct drm_i915_private *i915)  	}  	if (IS_TIGERLAKE(i915)) { -		struct pci_dev *root, *pdev = i915->drm.pdev; +		struct pci_dev *root, *pdev = to_pci_dev(i915->drm.dev);  		root = list_first_entry(&pdev->bus->devices, typeof(*root), bus_list); @@ -222,7 +223,7 @@ void intel_device_info_subplatform_init(struct drm_i915_private *i915)  		}  	} -	GEM_BUG_ON(mask & ~INTEL_SUBPLATFORM_BITS); +	GEM_BUG_ON(mask & ~INTEL_SUBPLATFORM_MASK);  	RUNTIME_INFO(i915)->platform_mask[pi] |= mask;  } @@ -249,7 +250,11 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)  	struct intel_runtime_info *runtime = RUNTIME_INFO(dev_priv);  	enum pipe pipe; -	if (INTEL_GEN(dev_priv) >= 10) { +	/* Wa_14011765242: adl-s A0 */ +	if (IS_ADLS_DISPLAY_STEP(dev_priv, STEP_A0, STEP_A0)) +		for_each_pipe(dev_priv, pipe) +			runtime->num_scalers[pipe] = 0; +	else if (INTEL_GEN(dev_priv) >= 10) {  		for_each_pipe(dev_priv, pipe)  			runtime->num_scalers[pipe] = 2;  	} else if (IS_GEN(dev_priv, 9)) { @@ -260,7 +265,7 @@ void intel_device_info_runtime_init(struct drm_i915_private *dev_priv)  	BUILD_BUG_ON(BITS_PER_TYPE(intel_engine_mask_t) < I915_NUM_ENGINES); -	if (IS_ROCKETLAKE(dev_priv)) +	if (HAS_D12_PLANE_MINIMIZATION(dev_priv))  		for_each_pipe(dev_priv, pipe)  			runtime->num_sprites[pipe] = 4;  	else if (INTEL_GEN(dev_priv) >= 11) | 
