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
s390
cio
chp.h
Go to the documentation of this file.
1
/*
2
* Copyright IBM Corp. 2007, 2010
3
* Author(s): Peter Oberparleiter <
[email protected]
>
4
*/
5
6
#ifndef S390_CHP_H
7
#define S390_CHP_H S390_CHP_H
8
9
#include <linux/types.h>
10
#include <linux/device.h>
11
#include <
linux/mutex.h
>
12
#include <asm/chpid.h>
13
#include "
chsc.h
"
14
#include "
css.h
"
15
16
#define CHP_STATUS_STANDBY 0
17
#define CHP_STATUS_CONFIGURED 1
18
#define CHP_STATUS_RESERVED 2
19
#define CHP_STATUS_NOT_RECOGNIZED 3
20
21
#define CHP_ONLINE 0
22
#define CHP_OFFLINE 1
23
#define CHP_VARY_ON 2
24
#define CHP_VARY_OFF 3
25
26
struct
chp_link
{
27
struct
chp_id
chpid
;
28
u32
fla_mask
;
29
u16
fla
;
30
};
31
32
static
inline
int
chp_test_bit(
u8
*
bitmap
,
int
num)
33
{
34
int
byte
= num >> 3;
35
int
mask
= 128 >> (num & 7);
36
37
return
(bitmap[byte] & mask) ? 1 : 0;
38
}
39
40
41
struct
channel_path
{
42
struct
device
dev
;
43
struct
chp_id
chpid
;
44
struct
mutex
lock
;
/* Serialize access to below members. */
45
int
state
;
46
struct
channel_path_desc
desc
;
47
/* Channel-measurement related stuff: */
48
int
cmg
;
49
int
shared
;
50
void
*
cmg_chars
;
51
};
52
53
/* Return channel_path struct for given chpid. */
54
static
inline
struct
channel_path
*chpid_to_chp(
struct
chp_id
chpid
)
55
{
56
return
channel_subsystems
[chpid.
cssid
]->chps[chpid.
id
];
57
}
58
59
int
chp_get_status
(
struct
chp_id
chpid
);
60
u8
chp_get_sch_opm
(
struct
subchannel
*
sch
);
61
int
chp_is_registered
(
struct
chp_id
chpid
);
62
void
*
chp_get_chp_desc
(
struct
chp_id
chpid
);
63
void
chp_remove_cmg_attr
(
struct
channel_path
*chp);
64
int
chp_add_cmg_attr
(
struct
channel_path
*chp);
65
int
chp_new
(
struct
chp_id
chpid
);
66
void
chp_cfg_schedule
(
struct
chp_id
chpid
,
int
configure);
67
void
chp_cfg_cancel_deconfigure
(
struct
chp_id
chpid
);
68
int
chp_info_get_status
(
struct
chp_id
chpid
);
69
int
chp_ssd_get_mask
(
struct
chsc_ssd_info
*,
struct
chp_link
*);
70
#endif
/* S390_CHP_H */
Generated on Thu Jan 10 2013 14:17:43 for Linux Kernel by
1.8.2