mirror of
https://github.com/torvalds/linux.git
synced 2024-12-01 08:31:37 +00:00
pm2fb: pixclock setting restriction
This patch adds restrictions to calculations of m, n and p factors which sets the pixclock for the Permedia 2V. I found during tests that synchronization is unstable if m (divisor) is bigger than half of the n (numerator). The patch disallows such settings combination. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
e5d809d774
commit
d4a96b5312
@ -302,10 +302,10 @@ static void pm2v_mnp(u32 clk, unsigned char* mm, unsigned char* nn,
|
||||
s32 delta = 1000;
|
||||
|
||||
*mm = *nn = *pp = 0;
|
||||
for (n = 1; n; n++) {
|
||||
for ( m = 1; m; m++) {
|
||||
for ( m = 1; m < 128; m++) {
|
||||
for (n = 2 * m + 1; n; n++) {
|
||||
for ( p = 0; p < 2; p++) {
|
||||
f = PM2_REFERENCE_CLOCK * n / (m * (1 << (p + 1)));
|
||||
f = ( PM2_REFERENCE_CLOCK >> ( p + 1 )) * n / m;
|
||||
if ( clk > f - delta && clk < f + delta ) {
|
||||
delta = ( clk > f ) ? clk - f : f - clk;
|
||||
*mm=m;
|
||||
|
Loading…
Reference in New Issue
Block a user