diff options
Diffstat (limited to 'drivers/ieee1394/iso.h')
-rw-r--r-- | drivers/ieee1394/iso.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/ieee1394/iso.h b/drivers/ieee1394/iso.h index fb654d9639a7..3efc60b33a88 100644 --- a/drivers/ieee1394/iso.h +++ b/drivers/ieee1394/iso.h | |||
@@ -47,6 +47,14 @@ struct hpsb_iso_packet_info { | |||
47 | /* 2-bit 'tag' and 4-bit 'sy' fields of the isochronous header */ | 47 | /* 2-bit 'tag' and 4-bit 'sy' fields of the isochronous header */ |
48 | __u8 tag; | 48 | __u8 tag; |
49 | __u8 sy; | 49 | __u8 sy; |
50 | |||
51 | /* | ||
52 | * length in bytes of the packet including header/trailer. | ||
53 | * MUST be at structure end, since the first part of this structure is also | ||
54 | * defined in raw1394.h (i.e. struct raw1394_iso_packet_info), is copied to | ||
55 | * userspace and is accessed there through libraw1394. | ||
56 | */ | ||
57 | __u16 total_len; | ||
50 | }; | 58 | }; |
51 | 59 | ||
52 | enum hpsb_iso_type { HPSB_ISO_RECV = 0, HPSB_ISO_XMIT = 1 }; | 60 | enum hpsb_iso_type { HPSB_ISO_RECV = 0, HPSB_ISO_XMIT = 1 }; |
@@ -111,6 +119,9 @@ struct hpsb_iso { | |||
111 | /* how many times the buffer has overflowed or underflowed */ | 119 | /* how many times the buffer has overflowed or underflowed */ |
112 | atomic_t overflows; | 120 | atomic_t overflows; |
113 | 121 | ||
122 | /* Current number of bytes lost in discarded packets */ | ||
123 | int bytes_discarded; | ||
124 | |||
114 | /* private flags to track initialization progress */ | 125 | /* private flags to track initialization progress */ |
115 | #define HPSB_ISO_DRIVER_INIT (1<<0) | 126 | #define HPSB_ISO_DRIVER_INIT (1<<0) |
116 | #define HPSB_ISO_DRIVER_STARTED (1<<1) | 127 | #define HPSB_ISO_DRIVER_STARTED (1<<1) |
@@ -193,7 +204,7 @@ void hpsb_iso_packet_sent(struct hpsb_iso *iso, int cycle, int error); | |||
193 | 204 | ||
194 | /* call after a packet has been received (interrupt context OK) */ | 205 | /* call after a packet has been received (interrupt context OK) */ |
195 | void hpsb_iso_packet_received(struct hpsb_iso *iso, u32 offset, u16 len, | 206 | void hpsb_iso_packet_received(struct hpsb_iso *iso, u32 offset, u16 len, |
196 | u16 cycle, u8 channel, u8 tag, u8 sy); | 207 | u16 total_len, u16 cycle, u8 channel, u8 tag, u8 sy); |
197 | 208 | ||
198 | /* call to wake waiting processes after buffer space has opened up. */ | 209 | /* call to wake waiting processes after buffer space has opened up. */ |
199 | void hpsb_iso_wake(struct hpsb_iso *iso); | 210 | void hpsb_iso_wake(struct hpsb_iso *iso); |