kernel@xxxxxxxxxxxxxxxx writes: > From: Martin Sperl <kernel@xxxxxxxxxxxxxxxx> > > The clock divider calculation right now clamps the > divider to the highest possible fractional divider. > So typically (BIT(div_int_bits) - 1) + 4095 / 4096. > > As the fractional clock divider is alterating between > (Fosc / div_int) and (Fosc / (div_int + 1)) > the divider will overflow for the (div_int + 1) case. > As with the "underflow" case we have seen for (div < 2), > we can assume that the same applies on the upper limit > as well. > > So this patch will instead clamp to the divider to the > max of (BIT(div_int_bits) - 1) Looks like this restriction might be necessary, though it's not quite spelled out in the docs. This also needs to be conditional on it being a MASH clock, and the limit on the divider changes in the same way based on the mash number as for the minimum.
Attachment:
signature.asc
Description: PGP signature