Commit 9c236753 authored by Damien Lespiau's avatar Damien Lespiau Committed by Daniel Vetter

drm/i915/skl: Use a more idomatic early return

We can coalesce the WARN() condition with the WARN() itself and, as we
are returning early, we can de-intent the rest of the function.
Signed-off-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 318bd821
...@@ -1193,76 +1193,73 @@ skl_ddi_calculate_wrpll(int clock /* in Hz */, ...@@ -1193,76 +1193,73 @@ skl_ddi_calculate_wrpll(int clock /* in Hz */,
} }
} }
if (min_dco_index > 2) { if (WARN(min_dco_index > 2,
WARN(1, "No valid parameters found for pixel clock: %dHz\n", "No valid parameters found for pixel clock: %dHz\n", clock))
clock);
return false; return false;
} else {
wrpll_params->central_freq = dco_central_freq[min_dco_index];
switch (dco_central_freq[min_dco_index]) { wrpll_params->central_freq = dco_central_freq[min_dco_index];
case 9600000000ULL:
wrpll_params->central_freq = 0;
break;
case 9000000000ULL:
wrpll_params->central_freq = 1;
break;
case 8400000000ULL:
wrpll_params->central_freq = 3;
}
switch (candidate_p0[min_dco_index]) { switch (dco_central_freq[min_dco_index]) {
case 1: case 9600000000ULL:
wrpll_params->pdiv = 0; wrpll_params->central_freq = 0;
break; break;
case 2: case 9000000000ULL:
wrpll_params->pdiv = 1; wrpll_params->central_freq = 1;
break; break;
case 3: case 8400000000ULL:
wrpll_params->pdiv = 2; wrpll_params->central_freq = 3;
break; }
case 7:
wrpll_params->pdiv = 4;
break;
default:
WARN(1, "Incorrect PDiv\n");
}
switch (candidate_p2[min_dco_index]) { switch (candidate_p0[min_dco_index]) {
case 5: case 1:
wrpll_params->kdiv = 0; wrpll_params->pdiv = 0;
break; break;
case 2: case 2:
wrpll_params->kdiv = 1; wrpll_params->pdiv = 1;
break; break;
case 3: case 3:
wrpll_params->kdiv = 2; wrpll_params->pdiv = 2;
break; break;
case 1: case 7:
wrpll_params->kdiv = 3; wrpll_params->pdiv = 4;
break; break;
default: default:
WARN(1, "Incorrect KDiv\n"); WARN(1, "Incorrect PDiv\n");
} }
wrpll_params->qdiv_ratio = candidate_p1[min_dco_index]; switch (candidate_p2[min_dco_index]) {
wrpll_params->qdiv_mode = case 5:
(wrpll_params->qdiv_ratio == 1) ? 0 : 1; wrpll_params->kdiv = 0;
break;
case 2:
wrpll_params->kdiv = 1;
break;
case 3:
wrpll_params->kdiv = 2;
break;
case 1:
wrpll_params->kdiv = 3;
break;
default:
WARN(1, "Incorrect KDiv\n");
}
dco_freq = candidate_p0[min_dco_index] * wrpll_params->qdiv_ratio = candidate_p1[min_dco_index];
candidate_p1[min_dco_index] * wrpll_params->qdiv_mode =
candidate_p2[min_dco_index] * afe_clock; (wrpll_params->qdiv_ratio == 1) ? 0 : 1;
/* dco_freq = candidate_p0[min_dco_index] *
* Intermediate values are in Hz. candidate_p1[min_dco_index] *
* Divide by MHz to match bsepc candidate_p2[min_dco_index] * afe_clock;
*/
wrpll_params->dco_integer = div_u64(dco_freq, (24 * MHz(1)));
wrpll_params->dco_fraction =
div_u64(((div_u64(dco_freq, 24) -
wrpll_params->dco_integer * MHz(1)) * 0x8000), MHz(1));
} /*
* Intermediate values are in Hz.
* Divide by MHz to match bsepc
*/
wrpll_params->dco_integer = div_u64(dco_freq, (24 * MHz(1)));
wrpll_params->dco_fraction =
div_u64(((div_u64(dco_freq, 24) -
wrpll_params->dco_integer * MHz(1)) * 0x8000), MHz(1));
return true; return true;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment