From 3e38691e8f7aa0d9b498d76c7279ddec6e4946f3 Mon Sep 17 00:00:00 2001 From: wdenk Date: Sat, 5 Apr 2003 00:53:31 +0000 Subject: * Patch by Arun Dharankar, 4 Apr 2003: Add IDMA example code (tested on 8260 only) * Add support for Purple Board (MIPS64 5Kc) * Add support for MIPS64 5Kc CPUs * Fix missing setting of "loadaddr" and "bootfile" on ARM and MIPS * Patch by Denis Peter, 04 Apr 2003: - update MIP405-4 board * Patches by Denis Peter, 03 April 2003: - fix PCI IRQs on MPL boards - fix two more un-relocated pointer problems * Fix behaviour of "run" command: - print error message iv variable does not exist - terminate processing of arguments in case of error * Patches by Peter Figuli, 10 Mar 2003 - Add support for BTUART on PXA platform - Add support for WEP EP250 (PXA) board * Fix flash problems on INCA-IP; add tool to allow bruning images to flash using a BDI2000 * Implement fix for I2C Edge Conditions problem for all boards that use the bit-banging driver (common/soft_i2c.c) * Add patches by Robert Schwebel, 31 Mar 2003: - csb226 board: bring in sync with innokom/memsetup.S - csb226 board: fix MDREFR handling - misc doc fixes / extensions - innokom board: cleanup, MDREFR fix in memsetup.S, config update - add BOOT_PROGRESS to armlinux.c --- drivers/ct69000.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'drivers/ct69000.c') diff --git a/drivers/ct69000.c b/drivers/ct69000.c index 7962f74d6c..563556285b 100644 --- a/drivers/ct69000.c +++ b/drivers/ct69000.c @@ -830,6 +830,7 @@ FindAndSetPllParamIntoXrRegs (unsigned int pixelclock, unsigned int m, n, vld, pd, PD, fref, xr_cb; unsigned int fvcomin, fvcomax, pclckmin, pclckmax, pclk; unsigned int pfreq, fvco, new_pixclock; + unsigned int D,nback,mback; fref = VIDEO_FREF; pd = 1; @@ -850,10 +851,19 @@ FindAndSetPllParamIntoXrRegs (unsigned int pixelclock, PD++; } /* fvco is exactly pd * pixelclock and higher than the ninmal VCO frequency */ - vld = (param->vld_set > param->vld_not_set) ? - param->vld_not_set : param->vld_set; - /* start with lower VLD (higher VLD is NOT yet implemented */ - FindBestPQFittingMN (fvco / vld, fref, param->mn_min, param->mn_max, &m, &n); /* rds = 1 */ + /* first try */ + vld = param->vld_set; + D=FindBestPQFittingMN (fvco / vld, fref, param->mn_min, param->mn_max, &m, &n); /* rds = 1 */ + mback=m; + nback=n; + /* second try */ + vld = param->vld_not_set; + if(Dmn_min, param->mn_max, &m, &n)) { /* rds = 1 */ + /* first try was better */ + m=mback; + n=nback; + vld = param->vld_set; + } m += param->mn_diff; n += param->mn_diff; PRINTF ("VCO %d, pd %d, m %d n %d vld %d \n", fvco, pd, m, n, vld); -- cgit v1.2.3