Mythtv playing way to fast using DRM VBlank ioctl

Alex Deucher alexdeucher at gmail.com
Thu Mar 30 10:45:45 PST 2006


On 30 Mar 2006 11:58:59 -0500, Greg Stark <gsstark at mit.edu> wrote:
>
> I'm still having trouble getting mythtv running displaying on my R350 Radeon.
> I've defeated the bogus mergedfb dot clocks with an LD_PRELOAD hack but now I
> have a new problem.
>

Once again if you are using mergedfb the drm vblank won't work for you
on crtc2 since it only applies to the first crtc.  AFAIK, there's no
drm support for vblank on crtc2.

Alex

> Mythtv is playing the video as fast as it can instead of keeping in sync with
> the audio. As near as I can tell mythtv's only timing primitive is the vblank
> synchronization like this:
>
>
> #define DRM_VBLANK_RELATIVE 0x1;
> #define DRM_IOCTL_WAIT_VBLANK           DRM_IOWR(0x3a, drm_wait_vblank_t)
> ...
>
>     do {
>        ret = ioctl(fd, DRM_IOCTL_WAIT_VBLANK, vbl);
>        vbl->request.type &= ~DRM_VBLANK_RELATIVE;
>     } while (ret && errno == EINTR);
>
>
> My hunch is that something's wrong here and for some reason the ioctl it's
> using is returning right away instead of waiting.
>
> Is it possible under some conditions it could be doing this? Have any later
> patches perhaps fixed any problems in this area? My drm version is:
>
> [  304.406190] [drm] Initialized drm 1.0.1 20051102
> [  304.708315] [drm] Initialized radeon 1.22.0 20051229 on minor 0
> [  304.790696] [drm] Loading R300 Microcode
>
>
> The IRQ does seem to be set up in lspci:
>
> 0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV350 AP [Radeon 9600] (prog-if 00 [VGA])
>         Subsystem: Giga-byte Technology: Unknown device 4022
>         Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18
>         Memory at d0000000 (32-bit, prefetchable) [size=256M]
>         I/O ports at b000 [size=256]
>         Memory at efdf0000 (32-bit, non-prefetchable) [size=64K]
>         Expansion ROM at efdc0000 [disabled] [size=128K]
>         Capabilities: [58] AGP version 3.0
>         Capabilities: [50] Power Management version 2
>
> 0000:01:00.1 Display controller: ATI Technologies Inc RV350 AP [Radeon 9600] (Secondary)
>         Subsystem: Giga-byte Technology: Unknown device 4023
>         Flags: bus master, 66MHz, medium devsel, latency 64
>         Memory at c0000000 (32-bit, prefetchable) [size=256M]
>         Memory at efde0000 (32-bit, non-prefetchable) [size=64K]
>         Capabilities: [50] Power Management version 2
>
>
> --
> greg



More information about the xorg mailing list