drm/i915: fix lookup_power_well for power wells without any domain
authorImre Deak <imre.deak@intel.com>
Wed, 4 Nov 2015 17:24:11 +0000 (19:24 +0200)
committerImre Deak <imre.deak@intel.com>
Tue, 17 Nov 2015 17:45:58 +0000 (19:45 +0200)
The current lookup code wouldn't find a power well if it's not in any
power domain. There wasn't any power wells before but an upcoming patch
will detach the power domains from power well#1 and the MISC IO power
wells, so fix things up accordingly.

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Patrik Jakobsson <patrik.jakobsson@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1446657859-9598-3-git-send-email-imre.deak@intel.com
drivers/gpu/drm/i915/intel_runtime_pm.c

index bc810970a0e8aca0e31326d08315534c8754c9de..8b4ec4b27ce4a6d63aa3ec0f79dc1b494648a1b3 100644 (file)
@@ -961,10 +961,12 @@ static struct i915_power_well *lookup_power_well(struct drm_i915_private *dev_pr
                                                 int power_well_id)
 {
        struct i915_power_domains *power_domains = &dev_priv->power_domains;
-       struct i915_power_well *power_well;
        int i;
 
-       for_each_power_well(i, power_well, POWER_DOMAIN_MASK, power_domains) {
+       for (i = 0; i < power_domains->power_well_count; i++) {
+               struct i915_power_well *power_well;
+
+               power_well = &power_domains->power_wells[i];
                if (power_well->data == power_well_id)
                        return power_well;
        }