drm/i915/display: correct dual pps handling for MTL_PCH+
authorDnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com>
Thu, 1 Aug 2024 11:11:41 +0000 (16:41 +0530)
committerJani Nikula <jani.nikula@intel.com>
Mon, 5 Aug 2024 09:27:44 +0000 (12:27 +0300)
On the PCH side the second PPS was introduced in ICP+.Add condition
On MTL_PCH and greater platform also having the second PPS.

Note that DG1/2 south block only has the single PPS, so need
to exclude the fake DG1/2 PCHs

Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11488
Fixes: 93cbc1accbce ("drm/i915/mtl: Add fake PCH for Meteor Lake")
Cc: <stable@vger.kernel.org> # v6.9+
Signed-off-by: Dnyaneshwar Bhadane <dnyaneshwar.bhadane@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240801111141.574854-1-dnyaneshwar.bhadane@intel.com
drivers/gpu/drm/i915/display/intel_backlight.c
drivers/gpu/drm/i915/display/intel_pps.c

index 6f678c0..18933b0 100644 (file)
@@ -1449,6 +1449,9 @@ bxt_setup_backlight(struct intel_connector *connector, enum pipe unused)
 
 static int cnp_num_backlight_controllers(struct drm_i915_private *i915)
 {
+       if (INTEL_PCH_TYPE(i915) >= PCH_MTL)
+               return 2;
+
        if (INTEL_PCH_TYPE(i915) >= PCH_DG1)
                return 1;
 
index 42306bc..7ce9262 100644 (file)
@@ -351,6 +351,9 @@ static int intel_num_pps(struct drm_i915_private *i915)
        if (IS_GEMINILAKE(i915) || IS_BROXTON(i915))
                return 2;
 
+       if (INTEL_PCH_TYPE(i915) >= PCH_MTL)
+               return 2;
+
        if (INTEL_PCH_TYPE(i915) >= PCH_DG1)
                return 1;