summaryrefslogtreecommitdiff
path: root/drivers/ieee1394/cmp.h
blob: f9288bfcd4946226444c970d769f944269c8093b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef __CMP_H
#define __CMP_H

struct cmp_mpr {
	u32 nplugs:5;
	u32 reserved:3;
	u32 persistent_ext:8;
	u32 non_persistent_ext:8;
	u32 bcast_channel_base:6;
	u32 rate:2;
} __attribute__((packed));

struct cmp_pcr {
	u32 payload:10;
	u32 overhead:4;
	u32 speed:2;
	u32 channel:6;
	u32 reserved:2;
	u32 p2p_count:6;
	u32 bcast_count:1;
	u32 online:1;
} __attribute__((packed));

struct cmp_pcr *cmp_register_opcr(struct hpsb_host *host, int plug,
				  int payload,
				  void (*update)(struct cmp_pcr *plug,
						 void *data),
				  void *data);
void cmp_unregister_opcr(struct hpsb_host *host, struct cmp_pcr *plug);

#endif /* __CMP_H */