aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx18/cx18-driver.h
diff options
context:
space:
mode:
authorAndy Walls <awalls@radix.net>2008-11-16 19:18:00 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-12-30 06:38:09 -0500
commit72a4f8081af1c53a1673c173ce0fdd85c4b7d403 (patch)
tree4686617996faf5a22c89947014e4883c9d3de61d /drivers/media/video/cx18/cx18-driver.h
parentf576ceefb481e5617ecfb77e3a05b3d26dbf2f92 (diff)
V4L/DVB (9723): cx18: Propagate staleness of mailbox and mdl ack data to work handler
cx18: Propagate staleness of mailbox and mdl ack data to work handler to let the work handler know that the data from the encoder may not be coherent. Allows for smarter handling of buffers in future, to deal with MDLs that fall out of rotation due to irq handler being late in collecting mailbox and mdl ack info. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx18/cx18-driver.h')
-rw-r--r--drivers/media/video/cx18/cx18-driver.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/media/video/cx18/cx18-driver.h b/drivers/media/video/cx18/cx18-driver.h
index 041fa660a7c2..749bbb60a292 100644
--- a/drivers/media/video/cx18/cx18-driver.h
+++ b/drivers/media/video/cx18/cx18-driver.h
@@ -245,13 +245,20 @@ struct cx18_dvb {
245struct cx18; /* forward reference */ 245struct cx18; /* forward reference */
246struct cx18_scb; /* forward reference */ 246struct cx18_scb; /* forward reference */
247 247
248
248#define CX18_MAX_MDL_ACKS 2 249#define CX18_MAX_MDL_ACKS 2
249#define CX18_MAX_EPU_WORK_ORDERS 70 /* CPU_DE_RELEASE_MDL bursts 63 commands */ 250#define CX18_MAX_EPU_WORK_ORDERS 70 /* CPU_DE_RELEASE_MDL bursts 63 commands */
250 251
252#define CX18_F_EWO_MB_STALE_UPON_RECEIPT 0x1
253#define CX18_F_EWO_MB_STALE_WHILE_PROC 0x2
254#define CX18_F_EWO_MB_STALE \
255 (CX18_F_EWO_MB_STALE_UPON_RECEIPT | CX18_F_EWO_MB_STALE_WHILE_PROC)
256
251struct cx18_epu_work_order { 257struct cx18_epu_work_order {
252 struct work_struct work; 258 struct work_struct work;
253 atomic_t pending; 259 atomic_t pending;
254 struct cx18 *cx; 260 struct cx18 *cx;
261 unsigned long flags;
255 int rpu; 262 int rpu;
256 struct cx18_mailbox mb; 263 struct cx18_mailbox mb;
257 struct cx18_mdl_ack mdl_ack[CX18_MAX_MDL_ACKS]; 264 struct cx18_mdl_ack mdl_ack[CX18_MAX_MDL_ACKS];