diff options
author | roger <roger@FreeBSD.org> | 2002-12-07 09:00:19 +0000 |
---|---|---|
committer | roger <roger@FreeBSD.org> | 2002-12-07 09:00:19 +0000 |
commit | c21d376b0a451090b2a59fd25a07c62b06e38164 (patch) | |
tree | 4a667278ab9f1a7a3f0fb5f4c26cae3e1baa354b /sys/dev/bktr | |
parent | c3e4656828688a0c1bef0f404679c9ba84c83cd0 (diff) | |
download | FreeBSD-src-c21d376b0a451090b2a59fd25a07c62b06e38164.zip FreeBSD-src-c21d376b0a451090b2a59fd25a07c62b06e38164.tar.gz |
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>
Diffstat (limited to 'sys/dev/bktr')
-rw-r--r-- | sys/dev/bktr/bktr_core.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sys/dev/bktr/bktr_core.c b/sys/dev/bktr/bktr_core.c index d722703..b0b235a 100644 --- a/sys/dev/bktr/bktr_core.c +++ b/sys/dev/bktr/bktr_core.c @@ -810,7 +810,6 @@ common_bktr_intr( void *arg ) } - /* * Register the completed field * (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 */ /* 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 */ b = cols; @@ -3103,7 +3102,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag, switch (i_flag) { case 1: /* 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++ = OP_JUMP; @@ -3112,7 +3111,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag, case 2: /* 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++ = OP_JUMP; *dma_prog++ = (u_long ) vtophys(bktr->dma_prog); @@ -3120,7 +3119,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag, case 3: /* 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++ = OP_JUMP ; *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; /* 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 */ for (i = 0; i < (rows/interlace) ; i++) { @@ -3147,7 +3146,7 @@ yuvpack_prog( bktr_ptr_t bktr, char i_flag, } /* 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++ = OP_JUMP ; *dma_prog++ = (u_long ) vtophys(bktr->dma_prog); |