drm/i915: Don't lie about findind suitable PLL settings on VLV
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Tue, 24 Sep 2013 18:26:31 +0000 (21:26 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 10 Oct 2013 10:46:55 +0000 (12:46 +0200)
If vlv_find_best_dpll() couldn't find suitable PLL settings,
just say so instead of lying to caller.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_display.c

index 1ea6d49b93805dbe926844444593a29931b4df17..0e87970a03f6b99c34d849e4a7dc486470d8120f 100644 (file)
@@ -662,6 +662,7 @@ vlv_find_best_dpll(const intel_limit_t *limit, struct drm_crtc *crtc,
        unsigned int bestppm = 1000000;
        /* min update 19.2 MHz */
        int max_n = min(limit->n.max, refclk / 19200);
+       bool found = false;
 
        target *= 5; /* fast clock */
 
@@ -692,18 +693,20 @@ vlv_find_best_dpll(const intel_limit_t *limit, struct drm_crtc *crtc,
                                        if (ppm < 100 && clock.p > best_clock->p) {
                                                bestppm = 0;
                                                *best_clock = clock;
+                                               found = true;
                                        }
 
                                        if (bestppm >= 10 && ppm < bestppm - 10) {
                                                bestppm = ppm;
                                                *best_clock = clock;
+                                               found = true;
                                        }
                                }
                        }
                }
        }
 
-       return true;
+       return found;
 }
 
 bool intel_crtc_active(struct drm_crtc *crtc)