Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /*
0003  *  Driver for the Conexant CX25821 PCIe bridge
0004  *
0005  *  Copyright (C) 2009 Conexant Systems Inc.
0006  *  Authors  <shu.lin@conexant.com>, <hiep.huynh@conexant.com>
0007  *  Based on Steven Toth <stoth@linuxtv.org> cx23885 driver
0008  */
0009 
0010 #ifndef CX25821_VIDEO_H_
0011 #define CX25821_VIDEO_H_
0012 
0013 #include <linux/init.h>
0014 #include <linux/list.h>
0015 #include <linux/module.h>
0016 #include <linux/moduleparam.h>
0017 #include <linux/kmod.h>
0018 #include <linux/kernel.h>
0019 #include <linux/slab.h>
0020 #include <linux/interrupt.h>
0021 #include <linux/delay.h>
0022 #include <linux/kthread.h>
0023 #include <asm/div64.h>
0024 
0025 #include "cx25821.h"
0026 #include <media/v4l2-common.h>
0027 #include <media/v4l2-ioctl.h>
0028 #include <media/v4l2-event.h>
0029 
0030 #define VIDEO_DEBUG 0
0031 
0032 #define dprintk(level, fmt, arg...)                 \
0033 do {                                    \
0034     if (VIDEO_DEBUG >= level)                   \
0035         printk(KERN_DEBUG "%s/0: " fmt, dev->name, ##arg);  \
0036 } while (0)
0037 
0038 #define FORMAT_FLAGS_PACKED       0x01
0039 extern void cx25821_video_wakeup(struct cx25821_dev *dev,
0040                  struct cx25821_dmaqueue *q, u32 count);
0041 
0042 extern int cx25821_start_video_dma(struct cx25821_dev *dev,
0043                    struct cx25821_dmaqueue *q,
0044                    struct cx25821_buffer *buf,
0045                    const struct sram_channel *channel);
0046 
0047 extern int cx25821_video_irq(struct cx25821_dev *dev, int chan_num, u32 status);
0048 extern void cx25821_video_unregister(struct cx25821_dev *dev, int chan_num);
0049 extern int cx25821_video_register(struct cx25821_dev *dev);
0050 
0051 #endif