Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
staging
crystalhd
crystalhd_cmds.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (c) 2005-2009, Broadcom Corporation.
3
*
4
* Name: crystalhd_cmds . h
5
*
6
* Description:
7
* BCM70010 Linux driver user command interfaces.
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_CMDS_H_
28
#define _CRYSTALHD_CMDS_H_
29
30
/*
31
* NOTE:: This is the main interface file between the Linux layer
32
* and the harware layer. This file will use the definitions
33
* from _dts_glob and dts_defs etc.. which are defined for
34
* windows.
35
*/
36
37
#include "
crystalhd.h
"
38
39
enum
crystalhd_state
{
40
BC_LINK_INVALID
= 0x00,
41
BC_LINK_INIT
= 0x01,
42
BC_LINK_CAP_EN
= 0x02,
43
BC_LINK_FMT_CHG
= 0x04,
44
BC_LINK_SUSPEND
= 0x10,
45
BC_LINK_PAUSED
= 0x20,
46
BC_LINK_READY
= (
BC_LINK_INIT
|
BC_LINK_CAP_EN
|
BC_LINK_FMT_CHG
),
47
};
48
49
struct
crystalhd_user
{
50
uint32_t
uid
;
51
uint32_t
in_use
;
52
uint32_t
mode
;
53
};
54
55
#define DTS_MODE_INV (-1)
56
57
struct
crystalhd_cmd
{
58
uint32_t
state
;
59
struct
crystalhd_adp
*
adp
;
60
struct
crystalhd_user
user
[
BC_LINK_MAX_OPENS
];
61
62
spinlock_t
ctx_lock
;
63
uint32_t
tx_list_id
;
64
uint32_t
cin_wait_exit
;
65
uint32_t
pwr_state_change
;
66
struct
crystalhd_hw
hw_ctx
;
67
};
68
69
typedef
enum
BC_STATUS
(*
crystalhd_cmd_proc
)(
struct
crystalhd_cmd
*,
struct
crystalhd_ioctl_data
*);
70
71
struct
crystalhd_cmd_tbl
{
72
uint32_t
cmd_id
;
73
const
crystalhd_cmd_proc
cmd_proc
;
74
uint32_t
block_mon
;
75
};
76
77
enum
BC_STATUS
crystalhd_suspend
(
struct
crystalhd_cmd
*
ctx
,
struct
crystalhd_ioctl_data
*idata);
78
enum
BC_STATUS
crystalhd_resume
(
struct
crystalhd_cmd
*
ctx
);
79
crystalhd_cmd_proc
crystalhd_get_cmd_proc
(
struct
crystalhd_cmd
*
ctx
,
uint32_t
cmd
,
80
struct
crystalhd_user
*
uc
);
81
enum
BC_STATUS
crystalhd_user_open
(
struct
crystalhd_cmd
*
ctx
,
struct
crystalhd_user
**user_ctx);
82
enum
BC_STATUS
crystalhd_user_close
(
struct
crystalhd_cmd
*
ctx
,
struct
crystalhd_user
*
uc
);
83
enum
BC_STATUS
crystalhd_setup_cmd_context
(
struct
crystalhd_cmd
*
ctx
,
struct
crystalhd_adp
*adp);
84
enum
BC_STATUS
crystalhd_delete_cmd_context
(
struct
crystalhd_cmd
*
ctx
);
85
bool
crystalhd_cmd_interrupt
(
struct
crystalhd_cmd
*
ctx
);
86
87
#endif
Generated on Thu Jan 10 2013 14:27:32 for Linux Kernel by
1.8.2