Merge tag 'drm-intel-next-2021-04-01' of git://anongit.freedesktop.org/drm/drm-intel...
[linux-2.6-microblaze.git] / drivers / gpu / drm / i915 / intel_device_info.c
index f2d5ae5..de02207 100644 (file)
@@ -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)