Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
crystalhd_lnx.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (c) 2005-2009, Broadcom Corporation.
3  *
4  * Name: crystalhd_lnx . h
5  *
6  * Description:
7  * BCM70012 Linux driver
8  *
9  * HISTORY:
10  *
11  **********************************************************************
12  * This file is part of the crystalhd device driver.
13  *
14  * This driver is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation, version 2 of the License.
17  *
18  * This driver is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this driver. If not, see <http://www.gnu.org/licenses/>.
25  **********************************************************************/
26 
27 #ifndef _CRYSTALHD_LNX_H_
28 #define _CRYSTALHD_LNX_H_
29 
30 #include <linux/module.h>
31 #include <linux/kernel.h>
32 #include <linux/errno.h>
33 #include <linux/string.h>
34 #include <linux/mm.h>
35 #include <linux/tty.h>
36 #include <linux/slab.h>
37 #include <linux/delay.h>
38 #include <linux/fb.h>
39 #include <linux/pci.h>
40 #include <linux/init.h>
41 #include <linux/interrupt.h>
42 #include <linux/pagemap.h>
43 #include <linux/vmalloc.h>
44 
45 #include <linux/io.h>
46 #include <asm/irq.h>
47 #include <asm/pgtable.h>
48 #include <linux/uaccess.h>
49 
50 #include "crystalhd.h"
51 
52 #define CRYSTAL_HD_NAME "Broadcom Crystal HD Decoder (BCM70012) Driver"
53 
54 /* OS specific PCI information structure and adapter information. */
55 struct crystalhd_adp {
56  /* Hardware borad/PCI specifics */
57  char name[32];
58  struct pci_dev *pdev;
59 
60  unsigned long pci_mem_start;
62  void *addr;
63 
64  unsigned long pci_i2o_start;
66  void *i2o_addr;
67 
68  unsigned int drv_data;
69  unsigned int dmabits; /* 32 | 64 */
70  unsigned int registered;
71  unsigned int present;
72  unsigned int msi;
73 
75 
76  /* API Related */
78  unsigned int cfg_users;
79 
80  struct crystalhd_ioctl_data *idata_free_head; /* ioctl data pool */
81  struct crystalhd_elem *elem_pool_head; /* Queue element pool */
82 
84 
86  struct pci_pool *fill_byte_pool;
87 };
88 
89 
90 struct crystalhd_adp *chd_get_adp(void);
91 void chd_set_log_level(struct crystalhd_adp *adp, char *arg);
92 
93 #endif
94