diff options
Diffstat (limited to 'drivers/char/planb.h')
-rw-r--r-- | drivers/char/planb.h | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/char/planb.h b/drivers/char/planb.h index e57bed49b..98d5697c9 100644 --- a/drivers/char/planb.h +++ b/drivers/char/planb.h @@ -8,7 +8,7 @@ Based largely on the bttv driver by Ralph Metzler (rjkm@thp.uni-koeln.de) - Additional debugging and coding by Takashi Oe (toe@unlinfo.unl.edu) + Additional debugging and coding by Takashi Oe (toe@unlserve.unl.edu) This program is free software; you can redistribute it and/or modify @@ -69,6 +69,7 @@ /* for capture operations */ #define MAX_GBUFFERS 2 +/* note PLANB_MAX_FBUF must be divisible by PAGE_SIZE */ #ifdef PLANB_GSCANLINE #define PLANB_MAX_FBUF 0x240000 /* 576 * 1024 * 4 */ #define TAB_FACTOR (1) @@ -132,8 +133,7 @@ struct planb_registers { volatile unsigned int intr_stat; /* 0x104: irq status */ #define PLANB_CLR_IRQ 0x00 /* clear Plan B interrupt */ #define PLANB_GEN_IRQ 0x01 /* assert Plan B interrupt */ -#define PLANB_FRM_IRQ 0x02 /* end of frame */ -#define PLANB_IRQ_CMD_MASK 0x00000003U /* reserve 2 lsbs for command */ +#define PLANB_FRM_IRQ 0x0100 /* end of frame */ unsigned int pad3[1]; /* empty? */ volatile unsigned int reg5; /* 0x10c: ??? */ unsigned int pad4[60]; /* empty? */ @@ -199,8 +199,9 @@ struct planb { wait_queue_head_t capq; int last_fr; int prev_last_fr; - unsigned char *fbuffer; - unsigned char *gbuffer[MAX_GBUFFERS]; + unsigned char **rawbuf; + int rawbuf_size; + int gbuf_idx[MAX_GBUFFERS]; volatile struct dbdma_cmd *cap_cmd[MAX_GBUFFERS]; volatile struct dbdma_cmd *last_cmd[MAX_GBUFFERS]; volatile struct dbdma_cmd *pre_cmd[MAX_GBUFFERS]; @@ -218,8 +219,10 @@ struct planb { #else #define MAX_LNUM 431 /* change this if PLANB_MAXLINES or */ /* PLANB_MAXPIXELS changes */ - unsigned char *l_fr_addr[MAX_GBUFFERS]; + int l_fr_addr_idx[MAX_GBUFFERS]; unsigned char *l_to_addr[MAX_GBUFFERS][MAX_LNUM]; + int l_to_next_idx[MAX_GBUFFERS][MAX_LNUM]; + int l_to_next_size[MAX_GBUFFERS][MAX_LNUM]; int lsize[MAX_GBUFFERS], lnum[MAX_GBUFFERS]; #endif }; |