aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx23885/cx23885.h
diff options
context:
space:
mode:
authorSteven Toth <stoth@hauppauge.com>2008-01-13 21:42:44 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2008-04-24 13:09:50 -0400
commitb1b81f1db73f00e595585b16aa31293a791964c0 (patch)
tree3e348070d6c08cf421729f36005e91b50c89ab98 /drivers/media/video/cx23885/cx23885.h
parente57b1c80065f7922e3ba464f54254c7ce983a3a4 (diff)
V4L/DVB (7725): cx23885: Add generic cx23417 hardware encoder support
cx23885: Add generic cx23417 hardware encoder support. Signed-off-by: Steven Toth <stoth@hauppauge.com> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'drivers/media/video/cx23885/cx23885.h')
-rw-r--r--drivers/media/video/cx23885/cx23885.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885.h b/drivers/media/video/cx23885/cx23885.h
index 3705e6019ce9..e42b6878ba23 100644
--- a/drivers/media/video/cx23885/cx23885.h
+++ b/drivers/media/video/cx23885/cx23885.h
@@ -32,6 +32,7 @@
32 32
33#include "btcx-risc.h" 33#include "btcx-risc.h"
34#include "cx23885-reg.h" 34#include "cx23885-reg.h"
35#include "media/cx2341x.h"
35 36
36#include <linux/version.h> 37#include <linux/version.h>
37#include <linux/mutex.h> 38#include <linux/mutex.h>
@@ -157,6 +158,7 @@ typedef enum {
157 CX23885_MPEG_UNDEFINED = 0, 158 CX23885_MPEG_UNDEFINED = 0,
158 CX23885_MPEG_DVB, 159 CX23885_MPEG_DVB,
159 CX23885_ANALOG_VIDEO, 160 CX23885_ANALOG_VIDEO,
161 CX23885_MPEG_ENCODER,
160} port_t; 162} port_t;
161 163
162struct cx23885_board { 164struct cx23885_board {
@@ -255,6 +257,8 @@ struct cx23885_tsport {
255 u32 gen_ctrl_val; 257 u32 gen_ctrl_val;
256 u32 ts_clk_en_val; 258 u32 ts_clk_en_val;
257 u32 src_sel_val; 259 u32 src_sel_val;
260 u32 vld_misc_val;
261 u32 hw_sop_ctrl_val;
258}; 262};
259 263
260struct cx23885_dev { 264struct cx23885_dev {
@@ -315,6 +319,14 @@ struct cx23885_dev {
315 struct cx23885_dmaqueue vidq; 319 struct cx23885_dmaqueue vidq;
316 struct cx23885_dmaqueue vbiq; 320 struct cx23885_dmaqueue vbiq;
317 spinlock_t slock; 321 spinlock_t slock;
322
323 /* MPEG Encoder ONLY settings */
324 u32 cx23417_mailbox;
325 struct cx2341x_mpeg_params mpeg_params;
326 struct video_device *v4l_device;
327 atomic_t v4l_reader_count;
328 struct cx23885_tvnorm encodernorm;
329
318}; 330};
319 331
320extern struct list_head cx23885_devlist; 332extern struct list_head cx23885_devlist;
@@ -436,6 +448,17 @@ extern void cx23885_call_i2c_clients(struct cx23885_i2c *bus, unsigned int cmd,
436 void *arg); 448 void *arg);
437 449
438/* ----------------------------------------------------------- */ 450/* ----------------------------------------------------------- */
451/* cx23885-417.c */
452extern int cx23885_417_register(struct cx23885_dev *dev);
453extern void cx23885_417_unregister(struct cx23885_dev *dev);
454extern int cx23885_irq_417(struct cx23885_dev *dev, u32 status);
455extern void cx23885_417_check_encoder(struct cx23885_dev *dev);
456extern void cx23885_mc417_init(struct cx23885_dev *dev);
457extern int mc417_memory_read(struct cx23885_dev *dev, u32 address, u32 *value);
458extern int mc417_memory_write(struct cx23885_dev *dev, u32 address, u32 value);
459
460
461/* ----------------------------------------------------------- */
439/* tv norms */ 462/* tv norms */
440 463
441static inline unsigned int norm_maxw(v4l2_std_id norm) 464static inline unsigned int norm_maxw(v4l2_std_id norm)