On Tuesday, August 26, 2008 5:13 pm Robert Noland wrote: > I kinda prompted this topic to come back to life... I'm less concerned > with the IRQ bits than I am with the vblank issue, but they are > currently tied together. > > What I'm seeing right now, it that at least the intel ddx driver calls > the irq_uninstall ioctl before calling pre_modeset ioctl during vt > switch. The way the code is now, irq_uninstall calls vblank_cleanup and > clears all of the structures and resets num_crtcs to 0. When it hits > modeset_ioctl it tests for num_crtcs and thinks the vblank_init hasn't > been called and bails out and doesn't properly enable vblank over the > modeset. When returning from vt switch, it is doing the opposite. It > calls modeset_ctl ioctl, num_crtcs is still 0, because vblank_init > doesn't get called until the irq_install ioctl gets called. So, the > short story is that after a vt switch, vlbanks aren't allowed to be > disabled. > > I had a patch around here somewhere that only moved the vblank_init and > cleanup routines to the driver load / unload routines. This put the > entire responsibilty on the driver, while not touching the irq install / > uninstall routines. IIRC, I actually sent that patch to this list... > It will require very minor changes to the linux driver bits, just to > call vblank_init/cleanup at the right places. IMO, this is the way to > go... I don't want to rely on the ddx driver to DTRT any more than I > have to... > > When I mentioned something about this originally, someone stated that it > would be good to just install the handlers at load time, and get rid of > pre/post install. I ran into problems when I tried to go down that > path, so I just settled to only move the vblank bits...
I'll post the upstream vblank-rework code as soon as I have it working well; fixing this particular problem should be fairly easy w/o having to rip out all the IRQ stuff (though I was kinda hoping that would be the solution, Dave is right that it's just a bunch of regressions waiting to happen). -- Jesse Barnes, Intel Open Source Technology Center ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ -- _______________________________________________ Dri-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dri-devel
