• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/video/matrox/

Lines Matching defs:minfo

28 static unsigned int g450_mnp2vco(const struct matrox_fb_info *minfo,
35 return (minfo->features.pll.ref_freq * n + (m >> 1)) / m;
38 unsigned int g450_mnp2f(const struct matrox_fb_info *minfo, unsigned int mnp)
40 return g450_vco2f(mnp, g450_mnp2vco(minfo, mnp));
55 static unsigned int g450_nextpll(const struct matrox_fb_info *minfo,
99 n = ((tvco * (m+1) + minfo->features.pll.ref_freq) / (minfo->features.pll.ref_freq * 2)) - 2;
104 static unsigned int g450_firstpll(const struct matrox_fb_info *minfo,
133 return g450_nextpll(minfo, pi, vco, 0xFF0000 | p);
136 static inline unsigned int g450_setpll(const struct matrox_fb_info *minfo,
141 matroxfb_DAC_out(minfo, M1064_XPIXPLLAM, mnp >> 16);
142 matroxfb_DAC_out(minfo, M1064_XPIXPLLAN, mnp >> 8);
143 matroxfb_DAC_out(minfo, M1064_XPIXPLLAP, mnp);
147 matroxfb_DAC_out(minfo, M1064_XPIXPLLBM, mnp >> 16);
148 matroxfb_DAC_out(minfo, M1064_XPIXPLLBN, mnp >> 8);
149 matroxfb_DAC_out(minfo, M1064_XPIXPLLBP, mnp);
153 matroxfb_DAC_out(minfo, M1064_XPIXPLLCM, mnp >> 16);
154 matroxfb_DAC_out(minfo, M1064_XPIXPLLCN, mnp >> 8);
155 matroxfb_DAC_out(minfo, M1064_XPIXPLLCP, mnp);
159 matroxfb_DAC_out(minfo, DAC1064_XSYSPLLM, mnp >> 16);
160 matroxfb_DAC_out(minfo, DAC1064_XSYSPLLN, mnp >> 8);
161 matroxfb_DAC_out(minfo, DAC1064_XSYSPLLP, mnp);
165 matroxfb_DAC_out(minfo, M1064_XVIDPLLM, mnp >> 16);
166 matroxfb_DAC_out(minfo, M1064_XVIDPLLN, mnp >> 8);
167 matroxfb_DAC_out(minfo, M1064_XVIDPLLP, mnp);
173 static inline unsigned int g450_cmppll(const struct matrox_fb_info *minfo,
182 return (matroxfb_DAC_in(minfo, M1064_XPIXPLLAM) != m ||
183 matroxfb_DAC_in(minfo, M1064_XPIXPLLAN) != n ||
184 matroxfb_DAC_in(minfo, M1064_XPIXPLLAP) != p);
187 return (matroxfb_DAC_in(minfo, M1064_XPIXPLLBM) != m ||
188 matroxfb_DAC_in(minfo, M1064_XPIXPLLBN) != n ||
189 matroxfb_DAC_in(minfo, M1064_XPIXPLLBP) != p);
192 return (matroxfb_DAC_in(minfo, M1064_XPIXPLLCM) != m ||
193 matroxfb_DAC_in(minfo, M1064_XPIXPLLCN) != n ||
194 matroxfb_DAC_in(minfo, M1064_XPIXPLLCP) != p);
197 return (matroxfb_DAC_in(minfo, DAC1064_XSYSPLLM) != m ||
198 matroxfb_DAC_in(minfo, DAC1064_XSYSPLLN) != n ||
199 matroxfb_DAC_in(minfo, DAC1064_XSYSPLLP) != p);
202 return (matroxfb_DAC_in(minfo, M1064_XVIDPLLM) != m ||
203 matroxfb_DAC_in(minfo, M1064_XVIDPLLN) != n ||
204 matroxfb_DAC_in(minfo, M1064_XVIDPLLP) != p);
209 static inline int g450_isplllocked(const struct matrox_fb_info *minfo,
215 if (matroxfb_DAC_in(minfo, regidx) & 0x40) {
220 r += matroxfb_DAC_in(minfo, regidx) & 0x40;
229 static int g450_testpll(const struct matrox_fb_info *minfo, unsigned int mnp,
232 return g450_isplllocked(minfo, g450_setpll(minfo, mnp, pll));
245 void matroxfb_g450_setpll_cond(struct matrox_fb_info *minfo, unsigned int mnp,
248 if (g450_cmppll(minfo, mnp, pll)) {
249 g450_setpll(minfo, mnp, pll);
253 static inline unsigned int g450_findworkingpll(struct matrox_fb_info *minfo,
281 if (g450_testpll(minfo, mnp - 0x0300, pll) &&
282 g450_testpll(minfo, mnp + 0x0300, pll) &&
283 g450_testpll(minfo, mnp - 0x0200, pll) &&
284 g450_testpll(minfo, mnp + 0x0200, pll) &&
285 g450_testpll(minfo, mnp - 0x0100, pll) &&
286 g450_testpll(minfo, mnp + 0x0100, pll)) {
287 if (g450_testpll(minfo, mnp, pll)) {
290 } else if (!found && g450_testpll(minfo, mnp, pll)) {
296 g450_setpll(minfo, mnpfound, pll);
309 static int g450_checkcache(struct matrox_fb_info *minfo,
331 static int __g450_setclk(struct matrox_fb_info *minfo, unsigned int fout,
351 xpwrctrl = matroxfb_DAC_in(minfo, M1064_XPWRCTRL);
352 matroxfb_DAC_out(minfo, M1064_XPWRCTRL, xpwrctrl & ~M1064_XPWRCTRL_PANELPDN);
355 tmp = matroxfb_DAC_in(minfo, M1064_XPIXCLKCTRL);
360 matroxfb_DAC_out(minfo, M1064_XPIXCLKCTRL, tmp);
363 if (fout >= minfo->max_pixel_clock_panellink)
372 /* matroxfb_DAC_out(minfo, M1064_XDVICLKCTRL, tmp); */
373 matroxfb_DAC_out(minfo, M1064_XPWRCTRL,
394 pi = &minfo->limits.pixel;
395 ci = &minfo->cache.pixel;
401 pci_read_config_dword(minfo->pcidev, PCI_OPTION_REG, &opt);
403 pci_write_config_dword(minfo->pcidev, PCI_OPTION_REG, opt | 0x20);
406 pi = &minfo->limits.system;
407 ci = &minfo->cache.system;
416 tmp = matroxfb_DAC_in(minfo, M1064_XPWRCTRL);
418 matroxfb_DAC_out(minfo, M1064_XPWRCTRL, tmp | 2);
421 mnp = matroxfb_DAC_in(minfo, M1064_XPIXPLLCM) << 16;
422 mnp |= matroxfb_DAC_in(minfo, M1064_XPIXPLLCN) << 8;
423 pixel_vco = g450_mnp2vco(minfo, mnp);
426 pi = &minfo->limits.video;
427 ci = &minfo->cache.video;
438 for (mnp = g450_firstpll(minfo, pi, &xvco, fout); mnp != NO_MORE_MNP; mnp = g450_nextpll(minfo, pi, &xvco, mnp)) {
443 vco = g450_mnp2vco(minfo, mnp);
456 && vco != g450_mnp2vco(minfo, mnparray[idx-1])
480 mnp = g450_checkcache(minfo, ci, mnparray[0]);
482 matroxfb_g450_setpll_cond(minfo, mnp, pll);
484 mnp = g450_findworkingpll(minfo, pll, mnparray, mnpcount);
487 updatehwstate_clk(&minfo->hw, mnp, pll);
497 int matroxfb_g450_setclk(struct matrox_fb_info *minfo, unsigned int fout,
506 r = __g450_setclk(minfo, fout, pll, arr, arr + MNP_TABLE_SIZE);