summaryrefslogtreecommitdiffstats
path: root/drivers/ieee1394/ohci1394.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ieee1394/ohci1394.h')
-rw-r--r--drivers/ieee1394/ohci1394.h26
1 files changed, 21 insertions, 5 deletions
diff --git a/drivers/ieee1394/ohci1394.h b/drivers/ieee1394/ohci1394.h
index c6d7f469a..35d8fa2af 100644
--- a/drivers/ieee1394/ohci1394.h
+++ b/drivers/ieee1394/ohci1394.h
@@ -20,9 +20,15 @@
#define MAX_OHCI1394_CARDS 4
-#define AR_RESP_BUF_SIZE 4096
-#define AR_RESP_PRG_SIZE 256
-#define AT_REQ_PRG_SIZE 256
+#define OHCI1394_MAX_AT_REQ_RETRIES 1
+#define OHCI1394_MAX_AT_RESP_RETRIES 1
+#define OHCI1394_MAX_PHYS_RESP_RETRIES 4
+
+#define AR_RESP_NUM_DESC 4 /* number of AR resp descriptors */
+#define AR_RESP_BUF_SIZE 4096 /* size of AR resp buffers */
+#define AR_RESP_SPLIT_PACKET_BUF_SIZE 256 /* split packet buffer */
+#define AR_RESP_TOTAL_BUF_SIZE (AR_RESP_BUF_SIZE * AR_RESP_NUM_DESC)
+#define AT_REQ_PRG_SIZE 256
#define IR_RECV_BUF_SIZE 4096 /* 4096 bytes/buffer */
#define IR_SPLIT_PACKET_BUF_SIZE 8192 /* size of buffer for split packets */
@@ -49,8 +55,18 @@ struct ti_ohci {
quadlet_t *csr_config_rom; /* buffer for csr config rom */
/* asynchronous receive */
- struct dma_cmd *AR_resp_prg;
- quadlet_t *AR_resp_buf;
+ struct dma_cmd **AR_resp_prg;
+ quadlet_t **AR_resp_buf;
+ unsigned int AR_resp_buf_bh_ind;
+ unsigned int AR_resp_buf_bh_offset;
+ unsigned int AR_resp_buf_th_ind;
+ unsigned int AR_resp_buf_th_offset;
+ int AR_resp_bytes_left;
+ quadlet_t *AR_resp_spb;
+ spinlock_t AR_resp_lock;
+
+ /* async receive task */
+ struct tq_struct AR_resp_pdl_task;
/* asynchronous transmit */
struct dma_cmd *AT_req_prg;