Always ensure the pipe A is lit when activating overlay on pipe B.

Ok, so moving video from pipe A to pipe B still requires that pipe A be
active during the transition. Instead of trying to be fancy, just ensure
that pipe A is running on each transition to pipe B.
This commit is contained in:
Keith Packard 2007-06-05 00:09:57 -07:00
parent e986f6cb62
commit 8a19e7d57b
2 changed files with 4 additions and 11 deletions

View File

@ -416,18 +416,12 @@ i830_overlay_on(ScrnInfoPtr pScrn)
return;
/*
* On I830, if pipe A is off the first time the overlay
* is enabled, it will fail to turn and blank the entire
* screen. Light up pipe A in this case to provide a clock
* for the overlay hardware
* On I830, if pipe A is off when the overlayis enabled, it will fail to
* turn on and blank the entire screen or lock up the ring. Light up pipe
* A in this case to provide a clock for the overlay hardware
*/
if (pPriv->current_crtc &&
i830_crtc_pipe (pPriv->current_crtc) != 0 &&
!pPriv->started_video)
{
pPriv->started_video = TRUE;
if (pPriv->current_crtc && i830_crtc_pipe (pPriv->current_crtc) != 0)
deactivate = i830_pipe_a_require_activate (pScrn);
}
overlay->OCMD &= ~OVERLAY_ENABLE;
BEGIN_LP_RING(6);

View File

@ -77,7 +77,6 @@ typedef struct {
int oneLineMode;
int scaleRatio;
Bool textured;
Bool started_video;
} I830PortPrivRec, *I830PortPrivPtr;
#define GET_PORT_PRIVATE(pScrn) \