Fix a bug which caused signals on YUV images to fail.
PR: i386/45678 (this also allowed kern/21305 and kern/33715 to be closed) Submitted by: Tommy Johnson <tjohnson@bobdbob.com>
This commit is contained in:
parent
cf37bfb0ec
commit
1f3e23743d
@ -810,7 +810,6 @@ common_bktr_intr( void *arg )
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Register the completed field
|
* Register the completed field
|
||||||
* (For dual-field mode, require fields from the same frame)
|
* (For dual-field mode, require fields from the same frame)
|
||||||
@ -3087,7 +3086,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag,
|
|||||||
|
|
||||||
/* contruct sync : for video packet format */
|
/* contruct sync : for video packet format */
|
||||||
/* sync, mode indicator packed data */
|
/* sync, mode indicator packed data */
|
||||||
*dma_prog++ = OP_SYNC | 1 << 15 | BKTR_FM1;
|
*dma_prog++ = OP_SYNC | BKTR_RESYNC | BKTR_FM1;
|
||||||
*dma_prog++ = 0; /* NULL WORD */
|
*dma_prog++ = 0; /* NULL WORD */
|
||||||
|
|
||||||
b = cols;
|
b = cols;
|
||||||
@ -3103,7 +3102,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag,
|
|||||||
switch (i_flag) {
|
switch (i_flag) {
|
||||||
case 1:
|
case 1:
|
||||||
/* sync vre */
|
/* sync vre */
|
||||||
*dma_prog++ = OP_SYNC | 1 << 24 | BKTR_VRE;
|
*dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_VRE;
|
||||||
*dma_prog++ = 0; /* NULL WORD */
|
*dma_prog++ = 0; /* NULL WORD */
|
||||||
|
|
||||||
*dma_prog++ = OP_JUMP;
|
*dma_prog++ = OP_JUMP;
|
||||||
@ -3112,7 +3111,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag,
|
|||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
/* sync vro */
|
/* sync vro */
|
||||||
*dma_prog++ = OP_SYNC | 1 << 24 | BKTR_VRO;
|
*dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_VRO;
|
||||||
*dma_prog++ = 0; /* NULL WORD */
|
*dma_prog++ = 0; /* NULL WORD */
|
||||||
*dma_prog++ = OP_JUMP;
|
*dma_prog++ = OP_JUMP;
|
||||||
*dma_prog++ = (u_long ) vtophys(bktr->dma_prog);
|
*dma_prog++ = (u_long ) vtophys(bktr->dma_prog);
|
||||||
@ -3120,7 +3119,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag,
|
|||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
/* sync vro */
|
/* sync vro */
|
||||||
*dma_prog++ = OP_SYNC | 1 << 24 | 1 << 15 | BKTR_VRO;
|
*dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRO;
|
||||||
*dma_prog++ = 0; /* NULL WORD */
|
*dma_prog++ = 0; /* NULL WORD */
|
||||||
*dma_prog++ = OP_JUMP ;
|
*dma_prog++ = OP_JUMP ;
|
||||||
*dma_prog = (u_long ) vtophys(bktr->odd_dma_prog);
|
*dma_prog = (u_long ) vtophys(bktr->odd_dma_prog);
|
||||||
@ -3134,7 +3133,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag,
|
|||||||
dma_prog = (u_long * ) bktr->odd_dma_prog;
|
dma_prog = (u_long * ) bktr->odd_dma_prog;
|
||||||
|
|
||||||
/* sync vre */
|
/* sync vre */
|
||||||
*dma_prog++ = OP_SYNC | 1 << 24 | 1 << 15 | BKTR_FM1;
|
*dma_prog++ = OP_SYNC | BKTR_RESYNC | BKTR_FM1;
|
||||||
*dma_prog++ = 0; /* NULL WORD */
|
*dma_prog++ = 0; /* NULL WORD */
|
||||||
|
|
||||||
for (i = 0; i < (rows/interlace) ; i++) {
|
for (i = 0; i < (rows/interlace) ; i++) {
|
||||||
@ -3147,7 +3146,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* sync vro IRQ bit */
|
/* sync vro IRQ bit */
|
||||||
*dma_prog++ = OP_SYNC | 1 << 24 | 1 << 15 | BKTR_VRE;
|
*dma_prog++ = OP_SYNC | BKTR_GEN_IRQ | BKTR_RESYNC | BKTR_VRE;
|
||||||
*dma_prog++ = 0; /* NULL WORD */
|
*dma_prog++ = 0; /* NULL WORD */
|
||||||
*dma_prog++ = OP_JUMP ;
|
*dma_prog++ = OP_JUMP ;
|
||||||
*dma_prog++ = (u_long ) vtophys(bktr->dma_prog);
|
*dma_prog++ = (u_long ) vtophys(bktr->dma_prog);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user