blob: 715f87d6ac5bc2005e80a5ed136ab193dc3c9cd9 [file] [log] [blame]
Pekka Enberg80aba532008-10-30 13:04:29 +02001#ifndef __WINBOND_WB35_TX_S_H
2#define __WINBOND_WB35_TX_S_H
3
Pekka Enberg9ce922f2008-10-30 13:05:42 +02004#include "mds_s.h"
Pekka Enberg80aba532008-10-30 13:04:29 +02005
Harsh Kumar37594bb2012-09-26 11:02:47 +05306/* IS89C35 Tx related definition */
Harsh Kumarbd084ba2012-09-26 11:03:15 +05307#define TX_INTERFACE 0 /* Interface 1 */
8#define TX_PIPE 3 /* Endpoint 4 */
9#define TX_INTERRUPT 1 /* Endpoint 2 */
Harsh Kumar37594bb2012-09-26 11:02:47 +053010#define MAX_INTERRUPT_LENGTH 64 /* It must be 64 for EP2 hardware */
Pavel Machek66101de2008-10-01 14:36:56 +020011
Harsh Kumar37594bb2012-09-26 11:02:47 +053012/* Internal variable for module */
Pekka Enbergeb62f3e2009-01-08 18:32:14 +020013struct wb35_tx {
Harsh Kumar37594bb2012-09-26 11:02:47 +053014 /* For Tx buffer */
Pavel Machek66101de2008-10-01 14:36:56 +020015 u8 TxBuffer[ MAX_USB_TX_BUFFER_NUMBER ][ MAX_USB_TX_BUFFER ];
16
Harsh Kumar37594bb2012-09-26 11:02:47 +053017 /* For Interrupt pipe */
Pavel Machek66101de2008-10-01 14:36:56 +020018 u8 EP2_buf[MAX_INTERRUPT_LENGTH];
19
Harsh Kumar37594bb2012-09-26 11:02:47 +053020 atomic_t TxResultCount; /* For thread control of EP2 931130.4.m */
21 atomic_t TxFireCounter; /* For thread control of EP4 931130.4.n */
Harsh Kumarbd084ba2012-09-26 11:03:15 +053022 u32 ByteTransfer;
Pavel Machek66101de2008-10-01 14:36:56 +020023
Harsh Kumarbd084ba2012-09-26 11:03:15 +053024 u32 TxSendIndex; /* The next index of Mds array to be sent */
25 u32 EP2vm_state; /* for EP2vm state */
26 u32 EP4vm_state; /* for EP4vm state */
27 u32 tx_halt; /* Stopping VM */
Pavel Machek66101de2008-10-01 14:36:56 +020028
Harsh Kumarbd084ba2012-09-26 11:03:15 +053029 struct urb *Tx4Urb;
30 struct urb *Tx2Urb;
Pavel Machek66101de2008-10-01 14:36:56 +020031
32 int EP2VM_status;
33 int EP4VM_status;
34
Harsh Kumar37594bb2012-09-26 11:02:47 +053035 u32 TxFillCount; /* 20060928 */
36 u32 TxTimer; /* 20060928 Add if sending packet is greater than 13 */
Pekka Enbergeb62f3e2009-01-08 18:32:14 +020037};
Pavel Machek66101de2008-10-01 14:36:56 +020038
Pekka Enberg80aba532008-10-30 13:04:29 +020039#endif