diff mbox series

[1/5] drm/i915: Restore ILK-M RPS support

Message ID 20201021131443.25616-1-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show
Series [1/5] drm/i915: Restore ILK-M RPS support | expand

Commit Message

Ville Syrjälä Oct. 21, 2020, 1:14 p.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Restore RPS for ILK-M. We lost it when an extra HAS_RPS()
check appeared in intel_rps_enable().

Unfortunaltey this just makes the performance worse on my
ILK because intel_ips insists on limiting the GPU freq to
the minimum. If we don't do the RPS init then intel_ips will
not limit the frequency for whatever reason. Either it can't
get at some required information and thus makes wrong decisions,
or we mess up some weights/etc. and cause it to make the wrong
decisions when RPS init has been done, or the entire thing is
just wrong. Would require a bunch of reverse engineering to
figure out what's going on.

Cc: stable@vger.kernel.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Fixes: 9c878557b1eb ("drm/i915/gt: Use the RPM config register to determine clk frequencies")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_pci.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Chris Wilson Oct. 21, 2020, 1:26 p.m. UTC | #1
Quoting Ville Syrjala (2020-10-21 14:14:39)
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> 
> Restore RPS for ILK-M. We lost it when an extra HAS_RPS()
> check appeared in intel_rps_enable().
> 
> Unfortunaltey this just makes the performance worse on my
> ILK because intel_ips insists on limiting the GPU freq to
> the minimum. If we don't do the RPS init then intel_ips will
> not limit the frequency for whatever reason. Either it can't
> get at some required information and thus makes wrong decisions,
> or we mess up some weights/etc. and cause it to make the wrong
> decisions when RPS init has been done, or the entire thing is
> just wrong. Would require a bunch of reverse engineering to
> figure out what's going on.
> 
> Cc: stable@vger.kernel.org
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Fixes: 9c878557b1eb ("drm/i915/gt: Use the RPM config register to determine clk frequencies")
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_pci.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 27964ac0638a..1fe390727d80 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -389,6 +389,7 @@ static const struct intel_device_info ilk_m_info = {
>         GEN5_FEATURES,
>         PLATFORM(INTEL_IRONLAKE),
>         .is_mobile = 1,
> +       .has_rps = true,

Oops.

Too bad we have to fight with ips, but presumably it makes some
workloads better, and more importantly restores our previous behaviour.

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 27964ac0638a..1fe390727d80 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -389,6 +389,7 @@  static const struct intel_device_info ilk_m_info = {
 	GEN5_FEATURES,
 	PLATFORM(INTEL_IRONLAKE),
 	.is_mobile = 1,
+	.has_rps = true,
 	.display.has_fbc = 1,
 };