···11/*22- * Carsten Langgaard, carstenl@mips.com33- * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.22+ * Copyright (C) 2000, 2005 MIPS Technologies, Inc. All rights reserved.33+ * Authors: Carsten Langgaard <carstenl@mips.com>44+ * Maciej W. Rozycki <macro@mips.com>45 *56 * ########################################################################67 *···266265267266/* The SAA9730 (LAN) controller register map, as seen via the PCI-bus. */268267#define SAA9730_LAN_REGS_ADDR 0x20400268268+#define SAA9730_LAN_REGS_SIZE 0x00400269269270270struct lan_saa9730_regmap {271271 volatile unsigned int TxBuffA; /* 0x20400 */···311309312310/* The SAA9730 (EVM) controller register map, as seen via the PCI-bus. */313311#define SAA9730_EVM_REGS_ADDR 0x02000312312+#define SAA9730_EVM_REGS_SIZE 0x00400314313315314struct evm_saa9730_regmap {316315 volatile unsigned int InterruptStatus1; /* 0x2000 */···332329333330334331struct lan_saa9730_private {332332+ /*333333+ * Rx/Tx packet buffers.334334+ * The Rx and Tx packets must be PACKET_SIZE aligned.335335+ */336336+ void *buffer_start;337337+ unsigned int buffer_size;338338+339339+ /*340340+ * DMA address of beginning of this object, returned341341+ * by pci_alloc_consistent().342342+ */343343+ dma_addr_t dma_addr;344344+345345+ /* Pointer to the associated pci device structure */346346+ struct pci_dev *pci_dev;347347+335348 /* Pointer for the SAA9730 LAN controller register set. */336349 t_lan_saa9730_regmap *lan_saa9730_regs;337350338351 /* Pointer to the SAA9730 EVM register. */339352 t_evm_saa9730_regmap *evm_saa9730_regs;340353341341- /* TRUE if the next buffer to write is RxBuffA, FALSE if RxBuffB. */342342- unsigned char NextRcvToUseIsA;343354 /* Rcv buffer Index. */344355 unsigned char NextRcvPacketIndex;356356+ /* Next buffer index. */357357+ unsigned char NextRcvBufferIndex;345358346359 /* Index of next packet to use in that buffer. */347360 unsigned char NextTxmPacketIndex;···372353 unsigned char DmaRcvPackets;373354 unsigned char DmaTxmPackets;374355375375- unsigned char RcvAIndex; /* index into RcvBufferSpace[] for Blk A */376376- unsigned char RcvBIndex; /* index into RcvBufferSpace[] for Blk B */377377-378378- unsigned int379379- TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE];380380- unsigned int381381- RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE];356356+ void *TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE];357357+ void *RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE];382358 unsigned int TxBufferFree[LAN_SAA9730_BUFFERS];383359384360 unsigned char PhysicalAddress[LAN_SAA9730_CAM_ENTRIES][6];