diff options
Diffstat (limited to 'drivers/gpu/drm/omapdrm/dss/pll.c')
| -rw-r--r-- | drivers/gpu/drm/omapdrm/dss/pll.c | 6 | 
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/omapdrm/dss/pll.c b/drivers/gpu/drm/omapdrm/dss/pll.c index 241a338ace29..4c8246a3ded9 100644 --- a/drivers/gpu/drm/omapdrm/dss/pll.c +++ b/drivers/gpu/drm/omapdrm/dss/pll.c @@ -222,6 +222,9 @@ bool dss_pll_calc_a(const struct dss_pll *pll, unsigned long clkin,  	n_stop = min((unsigned)(clkin / fint_hw_min), hw->n_max);  	n_inc = 1; +	if (n_start > n_stop) +		return false; +  	if (hw->errata_i886) {  		swap(n_start, n_stop);  		n_inc = -1; @@ -239,6 +242,9 @@ bool dss_pll_calc_a(const struct dss_pll *pll, unsigned long clkin,  				hw->m_max);  		m_inc = 1; +		if (m_start > m_stop) +			continue; +  		if (hw->errata_i886) {  			swap(m_start, m_stop);  			m_inc = -1;  | 
