@@ -210,18 +210,17 @@ static int mgag200_compute_pixpll_values_g200se(struct mga_device *mdev, long cl
unsigned int vcomax, vcomin, pllreffreq;
unsigned int delta, tmpdelta, permitteddelta;
unsigned int testp, testm, testn;
- unsigned int p, m, n;
+ unsigned int p, m, n, s;
unsigned int computed;
unsigned int fvv;
unsigned int i;
- if (unique_rev_id <= 0x03) {
+ m = n = p = s = 0;
- m = n = p = 0;
+ if (unique_rev_id <= 0x03) {
vcomax = 320000;
vcomin = 160000;
pllreffreq = 25000;
-
delta = 0xffffffff;
permitteddelta = clock * 5 / 1000;
@@ -249,9 +248,6 @@ static int mgag200_compute_pixpll_values_g200se(struct mga_device *mdev, long cl
}
}
} else {
-
-
- m = n = p = 0;
vcomax = 1600000;
vcomin = 800000;
pllreffreq = 25000;
@@ -312,7 +308,7 @@ static int mgag200_compute_pixpll_values_g200se(struct mga_device *mdev, long cl
pixpllc->m = m;
pixpllc->n = n;
pixpllc->p = p;
- pixpllc->s = 0;
+ pixpllc->s = s;
return 0;
}
@@ -348,10 +344,10 @@ static int mgag200_compute_pixpll_values_g200wb(struct mga_device *mdev, long cl
unsigned int vcomax, vcomin, pllreffreq;
unsigned int delta, tmpdelta;
unsigned int testp, testm, testn, testp2;
- unsigned int p, m, n;
+ unsigned int p, m, n, s;
unsigned int computed;
- m = n = p = 0;
+ m = n = p = s = 0;
delta = 0xffffffff;
@@ -425,7 +421,7 @@ static int mgag200_compute_pixpll_values_g200wb(struct mga_device *mdev, long cl
pixpllc->m = m;
pixpllc->n = n;
pixpllc->p = p;
- pixpllc->s = 0;
+ pixpllc->s = s;
return 0;
}
@@ -549,10 +545,10 @@ static int mgag200_compute_pixpll_values_g200ev(struct mga_device *mdev, long cl
unsigned int vcomax, vcomin, pllreffreq;
unsigned int delta, tmpdelta;
unsigned int testp, testm, testn;
- unsigned int p, m, n;
+ unsigned int p, m, n, s;
unsigned int computed;
- m = n = p = 0;
+ m = n = p = s = 0;
vcomax = 550000;
vcomin = 150000;
pllreffreq = 50000;
@@ -586,7 +582,7 @@ static int mgag200_compute_pixpll_values_g200ev(struct mga_device *mdev, long cl
pixpllc->m = m;
pixpllc->n = n;
pixpllc->p = p;
- pixpllc->s = 0;
+ pixpllc->s = s;
return 0;
}
@@ -662,10 +658,10 @@ static int mgag200_compute_pixpll_values_g200eh(struct mga_device *mdev, long cl
unsigned int vcomax, vcomin, pllreffreq;
unsigned int delta, tmpdelta;
unsigned int testp, testm, testn;
- unsigned int p, m, n;
+ unsigned int p, m, n, s;
unsigned int computed;
- m = n = p = 0;
+ m = n = p = s = 0;
if (mdev->type == G200_EH3) {
vcomax = 3000000;
@@ -737,7 +733,7 @@ static int mgag200_compute_pixpll_values_g200eh(struct mga_device *mdev, long cl
pixpllc->m = m;
pixpllc->n = n;
pixpllc->p = p;
- pixpllc->s = 0;
+ pixpllc->s = s;
return 0;
}
@@ -814,10 +810,10 @@ static int mgag200_compute_pixpll_values_g200er(struct mga_device *mdev, long cl
unsigned int vcomax, vcomin, pllreffreq;
unsigned int delta, tmpdelta;
int testr, testn, testm, testo;
- unsigned int p, m, n;
+ unsigned int p, m, n, s;
unsigned int computed, vco;
- m = n = p = 0;
+ m = n = p = s = 0;
vcomax = 1488000;
vcomin = 1056000;
pllreffreq = 48000;
@@ -859,7 +855,7 @@ static int mgag200_compute_pixpll_values_g200er(struct mga_device *mdev, long cl
pixpllc->m = m;
pixpllc->n = n;
pixpllc->p = p;
- pixpllc->s = 0;
+ pixpllc->s = s;
return 0;
}
The S parameter is controls the loop filter bandwidth when programming the PLL. It's currently stored as part of P (i.e., the clock divider.) Add a separate variable for S prepares the PLL code for a further refactoring. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/gpu/drm/mgag200/mgag200_mode.c | 36 ++++++++++++-------------- 1 file changed, 16 insertions(+), 20 deletions(-)