Messages in this thread | | | Date | Fri, 14 Jun 2002 13:48:37 +0200 | From | Petr Vandrovec <> | Subject | Re: bug in matrox fb vsync code |
| |
On Fri, Jun 14, 2002 at 12:15:13AM +0100, George Foot wrote: > I tried to mail this to Petr Vandrovec <vandrove@vc.cvut.cz> but > the domain does not resolve. > > static int matroxfb_get_vblank(CPMINFO struct fb_vblank *vblank) > { > unsigned int sts1; > > memset(vblank, 0, sizeof(*vblank)); > vblank->flags = FB_VBLANK_HAVE_VCOUNT | FB_VBLANK_HAVE_VSYNC | > FB_VBLANK_HAVE_VBLANK | FB_VBLANK_HAVE_HBLANK; > sts1 = mga_inb(M_INSTS1); > vblank->vcount = mga_inl(M_VCOUNT); > /* BTW, on my PIII/450 with G400, reading M_INSTS1 > byte makes this call about 12% slower (1.70 vs. 2.05 us > per ioctl()) */ > if (sts1 & 1) > vblank->flags |= FB_VBLANK_HBLANKING; > if (sts1 & 8) > vblank->flags |= FB_VBLANK_VSYNCING; > **** if (vblank->count >= ACCESS_FBINFO(currcon_display)->var.yres) > vblank->flags |= FB_VBLANK_VBLANKING;
It should be vblank->vcount. It is fixed in mga-2.5.20-tvout.gz at ftp://platan.vc.cvut.cz/pub/linux/matrox-latest. Obviously this patch does not apply to 2.4.x.
> The line in question (marked ****) reads from vblank->count > which is zeroed by the memset and not changed since then. I > believe it should be reading from vblank->vcount instead.
Yes.
> I'm sorry not to have checked whether this has been fixed; I > found that some Matrox bugs were fixed since 2.4.18 in the > 2.4.19 prerelease changelog, but my Internet connection is only > a 56k modem so I can't afford to download either the prerelease > patch or the latest development branch.
AFAIK it is not fixed even in latest 2.4.x prepatches.
> I'd also be interested to know if there's any documentation of > the difference between VSYNC and VBLANK in the context of the > fbdev code -- I haven't found any references in the kernel > documentation, perhaps there's some resource online?
linux-fbdev.sourceforge.net maybe have some documentation. I wrote implementation according to flags names... Petr Vandrovec vandrove@vc.cvut.cz - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |