Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
cx18-driver.h File Reference
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/spinlock.h>
#include <linux/i2c.h>
#include <linux/i2c-algo-bit.h>
#include <linux/list.h>
#include <linux/unistd.h>
#include <linux/pagemap.h>
#include <linux/workqueue.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <asm/byteorder.h>
#include <media/v4l2-common.h>
#include <media/v4l2-ioctl.h>
#include <media/v4l2-device.h>
#include <media/v4l2-fh.h>
#include <media/tuner.h>
#include <media/ir-kbd-i2c.h>
#include "cx18-mailbox.h"
#include "cx18-av-core.h"
#include "cx23418.h"
#include "demux.h"
#include "dmxdev.h"
#include "dvb_demux.h"
#include "dvb_frontend.h"
#include "dvb_net.h"
#include "dvbdev.h"
#include <media/videobuf-core.h>
#include <media/videobuf-vmalloc.h>

Go to the source code of this file.

Data Structures

struct  cx18_enc_idx_entry
 
struct  cx18_options
 
struct  cx18_buffer
 
struct  cx18_mdl
 
struct  cx18_queue
 
struct  cx18_dvb
 
struct  cx18_in_work_order
 
struct  cx18_stream
 
struct  cx18_videobuf_buffer
 
struct  cx18_open_id
 
struct  vbi_info
 
struct  cx18_i2c_algo_callback_data
 
struct  cx18
 

Macros

#define CX18_MEM_OFFSET   0x00000000
 
#define CX18_MEM_SIZE   0x04000000
 
#define CX18_REG_OFFSET   0x02000000
 
#define CX18_MAX_CARDS   32
 
#define CX18_CARD_HVR_1600_ESMT   0 /* Hauppauge HVR 1600 (ESMT memory) */
 
#define CX18_CARD_HVR_1600_SAMSUNG   1 /* Hauppauge HVR 1600 (Samsung memory) */
 
#define CX18_CARD_COMPRO_H900   2 /* Compro VideoMate H900 */
 
#define CX18_CARD_YUAN_MPC718   3 /* Yuan MPC718 */
 
#define CX18_CARD_CNXT_RAPTOR_PAL   4 /* Conexant Raptor PAL */
 
#define CX18_CARD_TOSHIBA_QOSMIO_DVBT   5 /* Toshiba Qosmio Interal DVB-T/Analog*/
 
#define CX18_CARD_LEADTEK_PVR2100   6 /* Leadtek WinFast PVR2100 */
 
#define CX18_CARD_LEADTEK_DVR3100H   7 /* Leadtek WinFast DVR3100 H */
 
#define CX18_CARD_GOTVIEW_PCI_DVD3   8 /* GoTView PCI DVD3 Hybrid */
 
#define CX18_CARD_HVR_1600_S5H1411   9 /* Hauppauge HVR 1600 s5h1411/tda18271*/
 
#define CX18_CARD_LAST   9
 
#define CX18_ENC_STREAM_TYPE_MPG   0
 
#define CX18_ENC_STREAM_TYPE_TS   1
 
#define CX18_ENC_STREAM_TYPE_YUV   2
 
#define CX18_ENC_STREAM_TYPE_VBI   3
 
#define CX18_ENC_STREAM_TYPE_PCM   4
 
#define CX18_ENC_STREAM_TYPE_IDX   5
 
#define CX18_ENC_STREAM_TYPE_RAD   6
 
#define CX18_MAX_STREAMS   7
 
#define PCI_VENDOR_ID_CX   0x14f1
 
#define PCI_DEVICE_ID_CX23418   0x5b7a
 
#define CX18_PCI_ID_HAUPPAUGE   0x0070
 
#define CX18_PCI_ID_COMPRO   0x185b
 
#define CX18_PCI_ID_YUAN   0x12ab
 
#define CX18_PCI_ID_CONEXANT   0x14f1
 
#define CX18_PCI_ID_TOSHIBA   0x1179
 
#define CX18_PCI_ID_LEADTEK   0x107D
 
#define CX18_PCI_ID_GOTVIEW   0x5854
 
#define CX18_DEFAULT_ENC_TS_BUFFERS   1
 
#define CX18_DEFAULT_ENC_MPG_BUFFERS   2
 
#define CX18_DEFAULT_ENC_IDX_BUFFERS   1
 
#define CX18_DEFAULT_ENC_YUV_BUFFERS   2
 
#define CX18_DEFAULT_ENC_VBI_BUFFERS   1
 
#define CX18_DEFAULT_ENC_PCM_BUFFERS   1
 
#define CX18_MAX_FW_MDLS_PER_STREAM   63
 
#define CX18_UNIT_ENC_YUV_BUFSIZE   (720 * 32 * 3 / 2) /* bytes */
 
#define CX18_625_LINE_ENC_YUV_BUFSIZE   (CX18_UNIT_ENC_YUV_BUFSIZE * 576/32)
 
#define CX18_525_LINE_ENC_YUV_BUFSIZE   (CX18_UNIT_ENC_YUV_BUFSIZE * 480/32)
 
#define CX18_UNIT_ENC_IDX_BUFSIZE   (sizeof(struct cx18_enc_idx_entry) * V4L2_ENC_IDX_ENTRIES)
 
#define CX18_DEFAULT_ENC_TS_BUFSIZE   32
 
#define CX18_DEFAULT_ENC_MPG_BUFSIZE   32
 
#define CX18_DEFAULT_ENC_IDX_BUFSIZE   (CX18_UNIT_ENC_IDX_BUFSIZE * 1 / 1024 + 1)
 
#define CX18_DEFAULT_ENC_YUV_BUFSIZE   (CX18_UNIT_ENC_YUV_BUFSIZE * 3 / 1024 + 1)
 
#define CX18_DEFAULT_ENC_PCM_BUFSIZE   4
 
#define I2C_CLIENTS_MAX   16
 
#define CX18_DBGFLG_WARN   (1 << 0)
 
#define CX18_DBGFLG_INFO   (1 << 1)
 
#define CX18_DBGFLG_API   (1 << 2)
 
#define CX18_DBGFLG_DMA   (1 << 3)
 
#define CX18_DBGFLG_IOCTL   (1 << 4)
 
#define CX18_DBGFLG_FILE   (1 << 5)
 
#define CX18_DBGFLG_I2C   (1 << 6)
 
#define CX18_DBGFLG_IRQ   (1 << 7)
 
#define CX18_DBGFLG_HIGHVOL   (1 << 8)
 
#define CX18_DEBUG(x, type, fmt, args...)
 
#define CX18_DEBUG_WARN(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_WARN, "warning", fmt , ## args)
 
#define CX18_DEBUG_INFO(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_INFO, "info", fmt , ## args)
 
#define CX18_DEBUG_API(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_API, "api", fmt , ## args)
 
#define CX18_DEBUG_DMA(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_DMA, "dma", fmt , ## args)
 
#define CX18_DEBUG_IOCTL(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_IOCTL, "ioctl", fmt , ## args)
 
#define CX18_DEBUG_FILE(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_FILE, "file", fmt , ## args)
 
#define CX18_DEBUG_I2C(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_I2C, "i2c", fmt , ## args)
 
#define CX18_DEBUG_IRQ(fmt, args...)   CX18_DEBUG(CX18_DBGFLG_IRQ, "irq", fmt , ## args)
 
#define CX18_DEBUG_HIGH_VOL(x, type, fmt, args...)
 
#define CX18_DEBUG_HI_WARN(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_WARN, "warning", fmt , ## args)
 
#define CX18_DEBUG_HI_INFO(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_INFO, "info", fmt , ## args)
 
#define CX18_DEBUG_HI_API(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_API, "api", fmt , ## args)
 
#define CX18_DEBUG_HI_DMA(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_DMA, "dma", fmt , ## args)
 
#define CX18_DEBUG_HI_IOCTL(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_IOCTL, "ioctl", fmt , ## args)
 
#define CX18_DEBUG_HI_FILE(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_FILE, "file", fmt , ## args)
 
#define CX18_DEBUG_HI_I2C(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_I2C, "i2c", fmt , ## args)
 
#define CX18_DEBUG_HI_IRQ(fmt, args...)   CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_IRQ, "irq", fmt , ## args)
 
#define CX18_ERR(fmt, args...)   v4l2_err(&cx->v4l2_dev, fmt , ## args)
 
#define CX18_WARN(fmt, args...)   v4l2_warn(&cx->v4l2_dev, fmt , ## args)
 
#define CX18_INFO(fmt, args...)   v4l2_info(&cx->v4l2_dev, fmt , ## args)
 
#define CX18_DEBUG_DEV(x, dev, type, fmt, args...)
 
#define CX18_DEBUG_WARN_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_WARN, dev, "warning", fmt , ## args)
 
#define CX18_DEBUG_INFO_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_INFO, dev, "info", fmt , ## args)
 
#define CX18_DEBUG_API_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_API, dev, "api", fmt , ## args)
 
#define CX18_DEBUG_DMA_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_DMA, dev, "dma", fmt , ## args)
 
#define CX18_DEBUG_IOCTL_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_IOCTL, dev, "ioctl", fmt , ## args)
 
#define CX18_DEBUG_FILE_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_FILE, dev, "file", fmt , ## args)
 
#define CX18_DEBUG_I2C_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_I2C, dev, "i2c", fmt , ## args)
 
#define CX18_DEBUG_IRQ_DEV(dev, fmt, args...)   CX18_DEBUG_DEV(CX18_DBGFLG_IRQ, dev, "irq", fmt , ## args)
 
#define CX18_DEBUG_HIGH_VOL_DEV(x, dev, type, fmt, args...)
 
#define CX18_DEBUG_HI_WARN_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_WARN, dev, "warning", fmt , ## args)
 
#define CX18_DEBUG_HI_INFO_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_INFO, dev, "info", fmt , ## args)
 
#define CX18_DEBUG_HI_API_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_API, dev, "api", fmt , ## args)
 
#define CX18_DEBUG_HI_DMA_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_DMA, dev, "dma", fmt , ## args)
 
#define CX18_DEBUG_HI_IOCTL_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_IOCTL, dev, "ioctl", fmt , ## args)
 
#define CX18_DEBUG_HI_FILE_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_FILE, dev, "file", fmt , ## args)
 
#define CX18_DEBUG_HI_I2C_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_I2C, dev, "i2c", fmt , ## args)
 
#define CX18_DEBUG_HI_IRQ_DEV(dev, fmt, args...)   CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_IRQ, dev, "irq", fmt , ## args)
 
#define CX18_ERR_DEV(dev, fmt, args...)   v4l2_err(dev, fmt , ## args)
 
#define CX18_WARN_DEV(dev, fmt, args...)   v4l2_warn(dev, fmt , ## args)
 
#define CX18_INFO_DEV(dev, fmt, args...)   v4l2_info(dev, fmt , ## args)
 
#define CX18_F_M_NEED_SWAP   0 /* mdl buffer data must be endianess swapped */
 
#define CX18_F_S_CLAIMED   3 /* this stream is claimed */
 
#define CX18_F_S_STREAMING   4 /* the fw is decoding/encoding this stream */
 
#define CX18_F_S_INTERNAL_USE   5 /* this stream is used internally (sliced VBI processing) */
 
#define CX18_F_S_STREAMOFF   7 /* signal end of stream EOS */
 
#define CX18_F_S_APPL_IO   8 /* this stream is used read/written by an application */
 
#define CX18_F_S_STOPPING   9 /* telling the fw to stop capturing */
 
#define CX18_F_I_LOADED_FW   0 /* Loaded firmware 1st time */
 
#define CX18_F_I_EOS   4 /* End of encoder stream */
 
#define CX18_F_I_RADIO_USER   5 /* radio tuner is selected */
 
#define CX18_F_I_ENC_PAUSED   13 /* the encoder is paused */
 
#define CX18_F_I_INITED   21 /* set after first open */
 
#define CX18_F_I_FAILED   22 /* set if first open failed */
 
#define CX18_SLICED_TYPE_TELETEXT_B   (1)
 
#define CX18_SLICED_TYPE_CAPTION_525   (4)
 
#define CX18_SLICED_TYPE_WSS_625   (5)
 
#define CX18_SLICED_TYPE_VPS   (7)
 
#define list_entry_is_past_end(pos, head, member)   (&pos->member == (head))
 
#define CX18_MAX_MDL_ACKS   2
 
#define CX18_MAX_IN_WORK_ORDERS   (CX18_MAX_FW_MDLS_PER_STREAM + 7)
 
#define CX18_F_EWO_MB_STALE_UPON_RECEIPT   0x1
 
#define CX18_F_EWO_MB_STALE_WHILE_PROC   0x2
 
#define CX18_F_EWO_MB_STALE   (CX18_F_EWO_MB_STALE_UPON_RECEIPT | CX18_F_EWO_MB_STALE_WHILE_PROC)
 
#define CX18_INVALID_TASK_HANDLE   0xffffffff
 
#define CX18_VBI_FRAMES   32
 
#define CX18_SLICED_MPEG_DATA_MAXSZ   1584
 
#define CX18_SLICED_MPEG_DATA_BUFSZ   (CX18_SLICED_MPEG_DATA_MAXSZ+8)
 
#define CX18_MAX_MMIO_WR_RETRIES   10
 
#define cx18_call_hw(cx, hw, o, f, args...)
 
#define cx18_call_all(cx, o, f, args...)   cx18_call_hw(cx, 0, o, f , ##args)
 
#define cx18_call_hw_err(cx, hw, o, f, args...)
 
#define cx18_call_all_err(cx, o, f, args...)   cx18_call_hw_err(cx, 0, o, f , ##args)
 

Functions

struct cx18_enc_idx_entry __attribute__ ((packed))
 
int cx18_msleep_timeout (unsigned int msecs, int intr)
 
void cx18_read_eeprom (struct cx18 *cx, struct tveeprom *tv)
 
int cx18_init_on_first_open (struct cx18 *cx)
 

Variables

__le32 length
 
__le32 offset_low
 
__le32 offset_high
 
__le32 flags
 
__le32 pts_low
 
__le32 pts_high
 
int cx18_debug
 
struct cx18_options __attribute__
 
int(* cx18_ext_init )(struct cx18 *)
 
int cx18_first_minor
 

Macro Definition Documentation

#define CX18_525_LINE_ENC_YUV_BUFSIZE   (CX18_UNIT_ENC_YUV_BUFSIZE * 480/32)

Definition at line 133 of file cx18-driver.h.

#define CX18_625_LINE_ENC_YUV_BUFSIZE   (CX18_UNIT_ENC_YUV_BUFSIZE * 576/32)

Definition at line 132 of file cx18-driver.h.

#define cx18_call_all (   cx,
  o,
  f,
  args... 
)    cx18_call_hw(cx, 0, o, f , ##args)

Definition at line 714 of file cx18-driver.h.

#define cx18_call_all_err (   cx,
  o,
  f,
  args... 
)    cx18_call_hw_err(cx, 0, o, f , ##args)

Definition at line 727 of file cx18-driver.h.

#define cx18_call_hw (   cx,
  hw,
  o,
  f,
  args... 
)
Value:
do { \
__v4l2_device_call_subdevs_p(&(cx)->v4l2_dev, __sd, \
!(hw) || (__sd->grp_id & (hw)), o, f , ##args); \
} while (0)

Definition at line 707 of file cx18-driver.h.

#define cx18_call_hw_err (   cx,
  hw,
  o,
  f,
  args... 
)
Value:
({ \
__v4l2_device_call_subdevs_until_err_p(&(cx)->v4l2_dev, \
__sd, !(hw) || (__sd->grp_id & (hw)), o, f, \
##args); \
})

Definition at line 719 of file cx18-driver.h.

#define CX18_CARD_CNXT_RAPTOR_PAL   4 /* Conexant Raptor PAL */

Definition at line 85 of file cx18-driver.h.

#define CX18_CARD_COMPRO_H900   2 /* Compro VideoMate H900 */

Definition at line 83 of file cx18-driver.h.

#define CX18_CARD_GOTVIEW_PCI_DVD3   8 /* GoTView PCI DVD3 Hybrid */

Definition at line 89 of file cx18-driver.h.

#define CX18_CARD_HVR_1600_ESMT   0 /* Hauppauge HVR 1600 (ESMT memory) */

Definition at line 81 of file cx18-driver.h.

#define CX18_CARD_HVR_1600_S5H1411   9 /* Hauppauge HVR 1600 s5h1411/tda18271*/

Definition at line 90 of file cx18-driver.h.

#define CX18_CARD_HVR_1600_SAMSUNG   1 /* Hauppauge HVR 1600 (Samsung memory) */

Definition at line 82 of file cx18-driver.h.

#define CX18_CARD_LAST   9

Definition at line 91 of file cx18-driver.h.

#define CX18_CARD_LEADTEK_DVR3100H   7 /* Leadtek WinFast DVR3100 H */

Definition at line 88 of file cx18-driver.h.

#define CX18_CARD_LEADTEK_PVR2100   6 /* Leadtek WinFast PVR2100 */

Definition at line 87 of file cx18-driver.h.

#define CX18_CARD_TOSHIBA_QOSMIO_DVBT   5 /* Toshiba Qosmio Interal DVB-T/Analog*/

Definition at line 86 of file cx18-driver.h.

#define CX18_CARD_YUAN_MPC718   3 /* Yuan MPC718 */

Definition at line 84 of file cx18-driver.h.

#define CX18_DBGFLG_API   (1 << 2)

Definition at line 162 of file cx18-driver.h.

#define CX18_DBGFLG_DMA   (1 << 3)

Definition at line 163 of file cx18-driver.h.

#define CX18_DBGFLG_FILE   (1 << 5)

Definition at line 165 of file cx18-driver.h.

#define CX18_DBGFLG_HIGHVOL   (1 << 8)

Definition at line 169 of file cx18-driver.h.

#define CX18_DBGFLG_I2C   (1 << 6)

Definition at line 166 of file cx18-driver.h.

#define CX18_DBGFLG_INFO   (1 << 1)

Definition at line 161 of file cx18-driver.h.

#define CX18_DBGFLG_IOCTL   (1 << 4)

Definition at line 164 of file cx18-driver.h.

#define CX18_DBGFLG_IRQ   (1 << 7)

Definition at line 167 of file cx18-driver.h.

#define CX18_DBGFLG_WARN   (1 << 0)

Definition at line 160 of file cx18-driver.h.

#define CX18_DEBUG (   x,
  type,
  fmt,
  args... 
)
Value:
do { \
if ((x) & cx18_debug) \
v4l2_info(&cx->v4l2_dev, " " type ": " fmt , ## args); \
} while (0)

Definition at line 173 of file cx18-driver.h.

#define CX18_DEBUG_API (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_API, "api", fmt , ## args)

Definition at line 180 of file cx18-driver.h.

#define CX18_DEBUG_API_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_API, dev, "api", fmt , ## args)

Definition at line 216 of file cx18-driver.h.

#define CX18_DEBUG_DEV (   x,
  dev,
  type,
  fmt,
  args... 
)
Value:
do { \
if ((x) & cx18_debug) \
v4l2_info(dev, " " type ": " fmt , ## args); \
} while (0)

Definition at line 207 of file cx18-driver.h.

#define CX18_DEBUG_DMA (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_DMA, "dma", fmt , ## args)

Definition at line 181 of file cx18-driver.h.

#define CX18_DEBUG_DMA_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_DMA, dev, "dma", fmt , ## args)

Definition at line 218 of file cx18-driver.h.

#define CX18_DEBUG_FILE (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_FILE, "file", fmt , ## args)

Definition at line 183 of file cx18-driver.h.

#define CX18_DEBUG_FILE_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_FILE, dev, "file", fmt , ## args)

Definition at line 222 of file cx18-driver.h.

#define CX18_DEBUG_HI_API (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_API, "api", fmt , ## args)

Definition at line 194 of file cx18-driver.h.

#define CX18_DEBUG_HI_API_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_API, dev, "api", fmt , ## args)

Definition at line 238 of file cx18-driver.h.

#define CX18_DEBUG_HI_DMA (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_DMA, "dma", fmt , ## args)

Definition at line 195 of file cx18-driver.h.

#define CX18_DEBUG_HI_DMA_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_DMA, dev, "dma", fmt , ## args)

Definition at line 240 of file cx18-driver.h.

#define CX18_DEBUG_HI_FILE (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_FILE, "file", fmt , ## args)

Definition at line 197 of file cx18-driver.h.

#define CX18_DEBUG_HI_FILE_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_FILE, dev, "file", fmt , ## args)

Definition at line 244 of file cx18-driver.h.

#define CX18_DEBUG_HI_I2C (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_I2C, "i2c", fmt , ## args)

Definition at line 198 of file cx18-driver.h.

#define CX18_DEBUG_HI_I2C_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_I2C, dev, "i2c", fmt , ## args)

Definition at line 246 of file cx18-driver.h.

#define CX18_DEBUG_HI_INFO (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_INFO, "info", fmt , ## args)

Definition at line 193 of file cx18-driver.h.

#define CX18_DEBUG_HI_INFO_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_INFO, dev, "info", fmt , ## args)

Definition at line 236 of file cx18-driver.h.

#define CX18_DEBUG_HI_IOCTL (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_IOCTL, "ioctl", fmt , ## args)

Definition at line 196 of file cx18-driver.h.

#define CX18_DEBUG_HI_IOCTL_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_IOCTL, dev, "ioctl", fmt , ## args)

Definition at line 242 of file cx18-driver.h.

#define CX18_DEBUG_HI_IRQ (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_IRQ, "irq", fmt , ## args)

Definition at line 199 of file cx18-driver.h.

#define CX18_DEBUG_HI_IRQ_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_IRQ, dev, "irq", fmt , ## args)

Definition at line 248 of file cx18-driver.h.

#define CX18_DEBUG_HI_WARN (   fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL(CX18_DBGFLG_WARN, "warning", fmt , ## args)

Definition at line 192 of file cx18-driver.h.

#define CX18_DEBUG_HI_WARN_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_HIGH_VOL_DEV(CX18_DBGFLG_WARN, dev, "warning", fmt , ## args)

Definition at line 234 of file cx18-driver.h.

#define CX18_DEBUG_HIGH_VOL (   x,
  type,
  fmt,
  args... 
)
Value:
do { \
if (((x) & cx18_debug) && (cx18_debug & CX18_DBGFLG_HIGHVOL)) \
v4l2_info(&cx->v4l2_dev, " " type ": " fmt , ## args); \
} while (0)

Definition at line 187 of file cx18-driver.h.

#define CX18_DEBUG_HIGH_VOL_DEV (   x,
  dev,
  type,
  fmt,
  args... 
)
Value:
do { \
if (((x) & cx18_debug) && (cx18_debug & CX18_DBGFLG_HIGHVOL)) \
v4l2_info(dev, " " type ": " fmt , ## args); \
} while (0)

Definition at line 229 of file cx18-driver.h.

#define CX18_DEBUG_I2C (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_I2C, "i2c", fmt , ## args)

Definition at line 184 of file cx18-driver.h.

#define CX18_DEBUG_I2C_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_I2C, dev, "i2c", fmt , ## args)

Definition at line 224 of file cx18-driver.h.

#define CX18_DEBUG_INFO (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_INFO, "info", fmt , ## args)

Definition at line 179 of file cx18-driver.h.

#define CX18_DEBUG_INFO_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_INFO, dev, "info", fmt , ## args)

Definition at line 214 of file cx18-driver.h.

#define CX18_DEBUG_IOCTL (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_IOCTL, "ioctl", fmt , ## args)

Definition at line 182 of file cx18-driver.h.

#define CX18_DEBUG_IOCTL_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_IOCTL, dev, "ioctl", fmt , ## args)

Definition at line 220 of file cx18-driver.h.

#define CX18_DEBUG_IRQ (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_IRQ, "irq", fmt , ## args)

Definition at line 185 of file cx18-driver.h.

#define CX18_DEBUG_IRQ_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_IRQ, dev, "irq", fmt , ## args)

Definition at line 226 of file cx18-driver.h.

#define CX18_DEBUG_WARN (   fmt,
  args... 
)    CX18_DEBUG(CX18_DBGFLG_WARN, "warning", fmt , ## args)

Definition at line 178 of file cx18-driver.h.

#define CX18_DEBUG_WARN_DEV (   dev,
  fmt,
  args... 
)    CX18_DEBUG_DEV(CX18_DBGFLG_WARN, dev, "warning", fmt , ## args)

Definition at line 212 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_IDX_BUFFERS   1

Definition at line 122 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_IDX_BUFSIZE   (CX18_UNIT_ENC_IDX_BUFSIZE * 1 / 1024 + 1)

Definition at line 150 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_MPG_BUFFERS   2

Definition at line 121 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_MPG_BUFSIZE   32

Definition at line 149 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_PCM_BUFFERS   1

Definition at line 125 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_PCM_BUFSIZE   4

Definition at line 152 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_TS_BUFFERS   1

Definition at line 120 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_TS_BUFSIZE   32

Definition at line 148 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_VBI_BUFFERS   1

Definition at line 124 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_YUV_BUFFERS   2

Definition at line 123 of file cx18-driver.h.

#define CX18_DEFAULT_ENC_YUV_BUFSIZE   (CX18_UNIT_ENC_YUV_BUFSIZE * 3 / 1024 + 1)

Definition at line 151 of file cx18-driver.h.

#define CX18_ENC_STREAM_TYPE_IDX   5

Definition at line 98 of file cx18-driver.h.

#define CX18_ENC_STREAM_TYPE_MPG   0

Definition at line 93 of file cx18-driver.h.

#define CX18_ENC_STREAM_TYPE_PCM   4

Definition at line 97 of file cx18-driver.h.

#define CX18_ENC_STREAM_TYPE_RAD   6

Definition at line 99 of file cx18-driver.h.

#define CX18_ENC_STREAM_TYPE_TS   1

Definition at line 94 of file cx18-driver.h.

#define CX18_ENC_STREAM_TYPE_VBI   3

Definition at line 96 of file cx18-driver.h.

#define CX18_ENC_STREAM_TYPE_YUV   2

Definition at line 95 of file cx18-driver.h.

#define CX18_ERR (   fmt,
  args... 
)    v4l2_err(&cx->v4l2_dev, fmt , ## args)

Definition at line 202 of file cx18-driver.h.

#define CX18_ERR_DEV (   dev,
  fmt,
  args... 
)    v4l2_err(dev, fmt , ## args)

Definition at line 251 of file cx18-driver.h.

Definition at line 357 of file cx18-driver.h.

#define CX18_F_EWO_MB_STALE_UPON_RECEIPT   0x1

Definition at line 355 of file cx18-driver.h.

#define CX18_F_EWO_MB_STALE_WHILE_PROC   0x2

Definition at line 356 of file cx18-driver.h.

#define CX18_F_I_ENC_PAUSED   13 /* the encoder is paused */

Definition at line 279 of file cx18-driver.h.

#define CX18_F_I_EOS   4 /* End of encoder stream */

Definition at line 277 of file cx18-driver.h.

#define CX18_F_I_FAILED   22 /* set if first open failed */

Definition at line 281 of file cx18-driver.h.

#define CX18_F_I_INITED   21 /* set after first open */

Definition at line 280 of file cx18-driver.h.

#define CX18_F_I_LOADED_FW   0 /* Loaded firmware 1st time */

Definition at line 276 of file cx18-driver.h.

#define CX18_F_I_RADIO_USER   5 /* radio tuner is selected */

Definition at line 278 of file cx18-driver.h.

#define CX18_F_M_NEED_SWAP   0 /* mdl buffer data must be endianess swapped */

Definition at line 265 of file cx18-driver.h.

#define CX18_F_S_APPL_IO   8 /* this stream is used read/written by an application */

Definition at line 272 of file cx18-driver.h.

#define CX18_F_S_CLAIMED   3 /* this stream is claimed */

Definition at line 268 of file cx18-driver.h.

#define CX18_F_S_INTERNAL_USE   5 /* this stream is used internally (sliced VBI processing) */

Definition at line 270 of file cx18-driver.h.

#define CX18_F_S_STOPPING   9 /* telling the fw to stop capturing */

Definition at line 273 of file cx18-driver.h.

#define CX18_F_S_STREAMING   4 /* the fw is decoding/encoding this stream */

Definition at line 269 of file cx18-driver.h.

#define CX18_F_S_STREAMOFF   7 /* signal end of stream EOS */

Definition at line 271 of file cx18-driver.h.

#define CX18_INFO (   fmt,
  args... 
)    v4l2_info(&cx->v4l2_dev, fmt , ## args)

Definition at line 204 of file cx18-driver.h.

#define CX18_INFO_DEV (   dev,
  fmt,
  args... 
)    v4l2_info(dev, fmt , ## args)

Definition at line 253 of file cx18-driver.h.

#define CX18_INVALID_TASK_HANDLE   0xffffffff

Definition at line 371 of file cx18-driver.h.

#define CX18_MAX_CARDS   32

Definition at line 78 of file cx18-driver.h.

#define CX18_MAX_FW_MDLS_PER_STREAM   63

Definition at line 128 of file cx18-driver.h.

#define CX18_MAX_IN_WORK_ORDERS   (CX18_MAX_FW_MDLS_PER_STREAM + 7)

Definition at line 352 of file cx18-driver.h.

#define CX18_MAX_MDL_ACKS   2

Definition at line 351 of file cx18-driver.h.

#define CX18_MAX_MMIO_WR_RETRIES   10

Definition at line 571 of file cx18-driver.h.

#define CX18_MAX_STREAMS   7

Definition at line 100 of file cx18-driver.h.

#define CX18_MEM_OFFSET   0x00000000

Definition at line 73 of file cx18-driver.h.

#define CX18_MEM_SIZE   0x04000000

Definition at line 74 of file cx18-driver.h.

#define CX18_PCI_ID_COMPRO   0x185b

Definition at line 108 of file cx18-driver.h.

#define CX18_PCI_ID_CONEXANT   0x14f1

Definition at line 110 of file cx18-driver.h.

#define CX18_PCI_ID_GOTVIEW   0x5854

Definition at line 113 of file cx18-driver.h.

#define CX18_PCI_ID_HAUPPAUGE   0x0070

Definition at line 107 of file cx18-driver.h.

#define CX18_PCI_ID_LEADTEK   0x107D

Definition at line 112 of file cx18-driver.h.

#define CX18_PCI_ID_TOSHIBA   0x1179

Definition at line 111 of file cx18-driver.h.

#define CX18_PCI_ID_YUAN   0x12ab

Definition at line 109 of file cx18-driver.h.

#define CX18_REG_OFFSET   0x02000000

Definition at line 75 of file cx18-driver.h.

#define CX18_SLICED_MPEG_DATA_BUFSZ   (CX18_SLICED_MPEG_DATA_MAXSZ+8)

Definition at line 549 of file cx18-driver.h.

#define CX18_SLICED_MPEG_DATA_MAXSZ   1584

Definition at line 547 of file cx18-driver.h.

#define CX18_SLICED_TYPE_CAPTION_525   (4)

Definition at line 285 of file cx18-driver.h.

#define CX18_SLICED_TYPE_TELETEXT_B   (1)

Definition at line 284 of file cx18-driver.h.

#define CX18_SLICED_TYPE_VPS   (7)

Definition at line 287 of file cx18-driver.h.

#define CX18_SLICED_TYPE_WSS_625   (5)

Definition at line 286 of file cx18-driver.h.

#define CX18_UNIT_ENC_IDX_BUFSIZE   (sizeof(struct cx18_enc_idx_entry) * V4L2_ENC_IDX_ENTRIES)

Definition at line 144 of file cx18-driver.h.

#define CX18_UNIT_ENC_YUV_BUFSIZE   (720 * 32 * 3 / 2) /* bytes */

Definition at line 131 of file cx18-driver.h.

#define CX18_VBI_FRAMES   32

Definition at line 497 of file cx18-driver.h.

#define CX18_WARN (   fmt,
  args... 
)    v4l2_warn(&cx->v4l2_dev, fmt , ## args)

Definition at line 203 of file cx18-driver.h.

#define CX18_WARN_DEV (   dev,
  fmt,
  args... 
)    v4l2_warn(dev, fmt , ## args)

Definition at line 252 of file cx18-driver.h.

#define I2C_CLIENTS_MAX   16

Definition at line 155 of file cx18-driver.h.

#define list_entry_is_past_end (   pos,
  head,
  member 
)    (&pos->member == (head))

list_entry_is_past_end - check if a previous loop cursor is off list end : the type * previously used as a loop cursor. : the head for your list. : the name of the list_struct within the struct.

Check if the entry's list_head is the head of the list, thus it's not a real entry but was the loop cursor that walked past the end

Definition at line 298 of file cx18-driver.h.

#define PCI_DEVICE_ID_CX23418   0x5b7a

Definition at line 104 of file cx18-driver.h.

#define PCI_VENDOR_ID_CX   0x14f1

Definition at line 103 of file cx18-driver.h.

Function Documentation

Definition at line 171 of file esd_usb2.c.

int cx18_init_on_first_open ( struct cx18 cx)

Definition at line 1151 of file cx18-driver.c.

int cx18_msleep_timeout ( unsigned int  msecs,
int  intr 
)

Definition at line 283 of file cx18-driver.c.

void cx18_read_eeprom ( struct cx18 cx,
struct tveeprom tv 
)

Definition at line 325 of file cx18-driver.c.

Variable Documentation

int cx18_debug

Definition at line 110 of file cx18-driver.c.

int(* cx18_ext_init)(struct cx18 *)

Definition at line 52 of file cx18-driver.c.

int cx18_first_minor

Definition at line 49 of file cx18-driver.c.

__le32 flags

Definition at line 147 of file cx18-driver.h.

__le32 length

Definition at line 144 of file cx18-driver.h.

__le32 offset_high

Definition at line 146 of file cx18-driver.h.

__le32 offset_low

Definition at line 145 of file cx18-driver.h.

__le32 pts_high

Definition at line 149 of file cx18-driver.h.

__le32 pts_low

Definition at line 148 of file cx18-driver.h.