Staging: et131x: Collapse all the function definitions into one place
We have lots of tiny files right now that could be one Signed-off-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
ec7d9f6101
commit
69ea5fcb5e
|
@ -84,17 +84,42 @@
|
|||
#include <linux/ioport.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
#include "et1310_eeprom.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_initpci.h"
|
||||
#include "et131x_isr.h"
|
||||
#include "et131x.h"
|
||||
|
||||
#include "et1310_tx.h"
|
||||
/*
|
||||
* EEPROM Defines
|
||||
*/
|
||||
|
||||
/* LBCIF Register Groups (addressed via 32-bit offsets) */
|
||||
#define LBCIF_DWORD0_GROUP 0xAC
|
||||
#define LBCIF_DWORD1_GROUP 0xB0
|
||||
|
||||
/* LBCIF Registers (addressed via 8-bit offsets) */
|
||||
#define LBCIF_ADDRESS_REGISTER 0xAC
|
||||
#define LBCIF_DATA_REGISTER 0xB0
|
||||
#define LBCIF_CONTROL_REGISTER 0xB1
|
||||
#define LBCIF_STATUS_REGISTER 0xB2
|
||||
|
||||
/* LBCIF Control Register Bits */
|
||||
#define LBCIF_CONTROL_SEQUENTIAL_READ 0x01
|
||||
#define LBCIF_CONTROL_PAGE_WRITE 0x02
|
||||
#define LBCIF_CONTROL_EEPROM_RELOAD 0x08
|
||||
#define LBCIF_CONTROL_TWO_BYTE_ADDR 0x20
|
||||
#define LBCIF_CONTROL_I2C_WRITE 0x40
|
||||
#define LBCIF_CONTROL_LBCIF_ENABLE 0x80
|
||||
|
||||
/* LBCIF Status Register Bits */
|
||||
#define LBCIF_STATUS_PHY_QUEUE_AVAIL 0x01
|
||||
#define LBCIF_STATUS_I2C_IDLE 0x02
|
||||
#define LBCIF_STATUS_ACK_ERROR 0x04
|
||||
#define LBCIF_STATUS_GENERAL_ERROR 0x08
|
||||
#define LBCIF_STATUS_CHECKSUM_ERROR 0x40
|
||||
#define LBCIF_STATUS_EEPROM_PRESENT 0x80
|
||||
|
||||
/* Miscellaneous Constraints */
|
||||
#define MAX_NUM_REGISTER_POLLS 1000
|
||||
#define MAX_NUM_WRITE_RETRIES 2
|
||||
|
||||
static int eeprom_wait_ready(struct pci_dev *pdev, u32 *status)
|
||||
{
|
||||
|
|
|
@ -1,103 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et1310_eeprom.h - Defines, structs, enums, prototypes, etc. used for EEPROM
|
||||
* access routines
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ET1310_EEPROM_H__
|
||||
#define __ET1310_EEPROM_H__
|
||||
|
||||
#include "et1310_address_map.h"
|
||||
|
||||
/*
|
||||
* EEPROM Defines
|
||||
*/
|
||||
|
||||
/* LBCIF Register Groups (addressed via 32-bit offsets) */
|
||||
#define LBCIF_DWORD0_GROUP 0xAC
|
||||
#define LBCIF_DWORD1_GROUP 0xB0
|
||||
|
||||
/* LBCIF Registers (addressed via 8-bit offsets) */
|
||||
#define LBCIF_ADDRESS_REGISTER 0xAC
|
||||
#define LBCIF_DATA_REGISTER 0xB0
|
||||
#define LBCIF_CONTROL_REGISTER 0xB1
|
||||
#define LBCIF_STATUS_REGISTER 0xB2
|
||||
|
||||
/* LBCIF Control Register Bits */
|
||||
#define LBCIF_CONTROL_SEQUENTIAL_READ 0x01
|
||||
#define LBCIF_CONTROL_PAGE_WRITE 0x02
|
||||
#define LBCIF_CONTROL_EEPROM_RELOAD 0x08
|
||||
#define LBCIF_CONTROL_TWO_BYTE_ADDR 0x20
|
||||
#define LBCIF_CONTROL_I2C_WRITE 0x40
|
||||
#define LBCIF_CONTROL_LBCIF_ENABLE 0x80
|
||||
|
||||
/* LBCIF Status Register Bits */
|
||||
#define LBCIF_STATUS_PHY_QUEUE_AVAIL 0x01
|
||||
#define LBCIF_STATUS_I2C_IDLE 0x02
|
||||
#define LBCIF_STATUS_ACK_ERROR 0x04
|
||||
#define LBCIF_STATUS_GENERAL_ERROR 0x08
|
||||
#define LBCIF_STATUS_CHECKSUM_ERROR 0x40
|
||||
#define LBCIF_STATUS_EEPROM_PRESENT 0x80
|
||||
|
||||
/* Miscellaneous Constraints */
|
||||
#define MAX_NUM_REGISTER_POLLS 1000
|
||||
#define MAX_NUM_WRITE_RETRIES 2
|
||||
|
||||
/* Forward declaration of the private adapter structure */
|
||||
struct et131x_adapter;
|
||||
|
||||
int et131x_init_eeprom(struct et131x_adapter *etdev);
|
||||
|
||||
#endif /* _ET1310_EEPROM_H_ */
|
|
@ -1,94 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et1310_jagcore.h - Defines, structs, enums, prototypes, etc. pertaining to
|
||||
* the JAGCore
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ET1310_JAGCORE_H__
|
||||
#define __ET1310_JAGCORE_H__
|
||||
|
||||
#include "et1310_address_map.h"
|
||||
|
||||
|
||||
#define INTERNAL_MEM_SIZE 0x400 /* 1024 of internal memory */
|
||||
#define INTERNAL_MEM_RX_OFFSET 0x1FF /* 50% Tx, 50% Rx */
|
||||
|
||||
/*
|
||||
* For interrupts, normal running is:
|
||||
* rxdma_xfr_done, phy_interrupt, mac_stat_interrupt,
|
||||
* watchdog_interrupt & txdma_xfer_done
|
||||
*
|
||||
* In both cases, when flow control is enabled for either Tx or bi-direction,
|
||||
* we additional enable rx_fbr0_low and rx_fbr1_low, so we know when the
|
||||
* buffer rings are running low.
|
||||
*/
|
||||
#define INT_MASK_DISABLE 0xffffffff
|
||||
|
||||
/* NOTE: Masking out MAC_STAT Interrupt for now...
|
||||
* #define INT_MASK_ENABLE 0xfff6bf17
|
||||
* #define INT_MASK_ENABLE_NO_FLOW 0xfff6bfd7
|
||||
*/
|
||||
#define INT_MASK_ENABLE 0xfffebf17
|
||||
#define INT_MASK_ENABLE_NO_FLOW 0xfffebfd7
|
||||
|
||||
/* Forward declaration of the private adapter structure */
|
||||
struct et131x_adapter;
|
||||
|
||||
void ConfigGlobalRegs(struct et131x_adapter *pAdapter);
|
||||
void ConfigMMCRegs(struct et131x_adapter *pAdapter);
|
||||
void et131x_enable_interrupts(struct et131x_adapter *adapter);
|
||||
void et131x_disable_interrupts(struct et131x_adapter *adapter);
|
||||
|
||||
#endif /* __ET1310_JAGCORE_H__ */
|
|
@ -85,12 +85,19 @@
|
|||
#include <linux/crc32.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
#include "et1310_mac.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_initpci.h"
|
||||
#include "et131x.h"
|
||||
|
||||
|
||||
#define COUNTER_WRAP_28_BIT 0x10000000
|
||||
#define COUNTER_WRAP_22_BIT 0x400000
|
||||
#define COUNTER_WRAP_16_BIT 0x10000
|
||||
#define COUNTER_WRAP_12_BIT 0x1000
|
||||
|
||||
#define COUNTER_MASK_28_BIT (COUNTER_WRAP_28_BIT - 1)
|
||||
#define COUNTER_MASK_22_BIT (COUNTER_WRAP_22_BIT - 1)
|
||||
#define COUNTER_MASK_16_BIT (COUNTER_WRAP_16_BIT - 1)
|
||||
#define COUNTER_MASK_12_BIT (COUNTER_WRAP_12_BIT - 1)
|
||||
|
||||
/**
|
||||
* ConfigMacRegs1 - Initialize the first part of MAC regs
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et1310_mac.h - Defines, structs, enums, prototypes, etc. pertaining to the
|
||||
* MAC.
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _ET1310_MAC_H_
|
||||
#define _ET1310_MAC_H_
|
||||
|
||||
|
||||
#include "et1310_address_map.h"
|
||||
|
||||
|
||||
#define COUNTER_WRAP_28_BIT 0x10000000
|
||||
#define COUNTER_WRAP_22_BIT 0x400000
|
||||
#define COUNTER_WRAP_16_BIT 0x10000
|
||||
#define COUNTER_WRAP_12_BIT 0x1000
|
||||
|
||||
#define COUNTER_MASK_28_BIT (COUNTER_WRAP_28_BIT - 1)
|
||||
#define COUNTER_MASK_22_BIT (COUNTER_WRAP_22_BIT - 1)
|
||||
#define COUNTER_MASK_16_BIT (COUNTER_WRAP_16_BIT - 1)
|
||||
#define COUNTER_MASK_12_BIT (COUNTER_WRAP_12_BIT - 1)
|
||||
|
||||
#define UPDATE_COUNTER(HostCnt, DevCnt) \
|
||||
HostCnt = HostCnt + DevCnt;
|
||||
|
||||
/* Forward declaration of the private adapter structure */
|
||||
struct et131x_adapter;
|
||||
|
||||
void ConfigMACRegs1(struct et131x_adapter *adapter);
|
||||
void ConfigMACRegs2(struct et131x_adapter *adapter);
|
||||
void ConfigRxMacRegs(struct et131x_adapter *adapter);
|
||||
void ConfigTxMacRegs(struct et131x_adapter *adapter);
|
||||
void ConfigMacStatRegs(struct et131x_adapter *adapter);
|
||||
void ConfigFlowControl(struct et131x_adapter *adapter);
|
||||
void UpdateMacStatHostCounters(struct et131x_adapter *adapter);
|
||||
void HandleMacStatInterrupt(struct et131x_adapter *adapter);
|
||||
void SetupDeviceForMulticast(struct et131x_adapter *adapter);
|
||||
void SetupDeviceForUnicast(struct et131x_adapter *adapter);
|
||||
|
||||
#endif /* _ET1310_MAC_H_ */
|
|
@ -85,17 +85,14 @@
|
|||
#include <linux/random.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_netdev.h"
|
||||
#include "et131x_initpci.h"
|
||||
|
||||
#include "et1310_address_map.h"
|
||||
#include "et1310_tx.h"
|
||||
#include "et1310_rx.h"
|
||||
#include "et1310_mac.h"
|
||||
|
||||
#include "et131x.h"
|
||||
|
||||
/* Prototypes for functions with local scope */
|
||||
static void et131x_xcvr_init(struct et131x_adapter *etdev);
|
||||
|
|
|
@ -736,32 +736,8 @@ typedef union _MI_LCR2_t {
|
|||
|
||||
/* MI Register 29 - 31: Reserved Reg(0x1D - 0x1E) */
|
||||
|
||||
/* Forward declaration of the private adapter structure */
|
||||
struct et131x_adapter;
|
||||
|
||||
/* Prototypes for ET1310_phy.c */
|
||||
int et131x_xcvr_find(struct et131x_adapter *adapter);
|
||||
void et131x_setphy_normal(struct et131x_adapter *adapter);
|
||||
|
||||
/* static inline function does not work because et131x_adapter is not always
|
||||
* defined
|
||||
*/
|
||||
int PhyMiRead(struct et131x_adapter *adapter, u8 xcvrAddr,
|
||||
u8 xcvrReg, u16 *value);
|
||||
#define MiRead(adapter, xcvrReg, value) \
|
||||
PhyMiRead((adapter), (adapter)->Stats.xcvr_addr, (xcvrReg), (value))
|
||||
|
||||
int32_t MiWrite(struct et131x_adapter *adapter,
|
||||
u8 xcvReg, u16 value);
|
||||
void et131x_Mii_check(struct et131x_adapter *pAdapter,
|
||||
MI_BMSR_t bmsr, MI_BMSR_t bmsr_ints);
|
||||
|
||||
/* This last is not strictly required (the driver could call the TPAL
|
||||
* version instead), but this sets the adapter up correctly, and calls the
|
||||
* access routine indirectly. This protects the driver from changes in TPAL.
|
||||
*/
|
||||
void SetPhy_10BaseTHalfDuplex(struct et131x_adapter *adapter);
|
||||
|
||||
/* Defines for PHY access routines */
|
||||
|
||||
/* Define bit operation flags */
|
||||
|
@ -843,14 +819,4 @@ void SetPhy_10BaseTHalfDuplex(struct et131x_adapter *adapter);
|
|||
/* #define TRU_VMI_LINK_CONTROL_REGISTER 29 */
|
||||
/* #define TRU_VMI_TIMING_CONTROL_REGISTER */
|
||||
|
||||
/* Prototypes for PHY access routines */
|
||||
void ET1310_PhyInit(struct et131x_adapter *adapter);
|
||||
void ET1310_PhyReset(struct et131x_adapter *adapter);
|
||||
void ET1310_PhyPowerDown(struct et131x_adapter *adapter, bool down);
|
||||
void ET1310_PhyAdvertise1000BaseT(struct et131x_adapter *adapter,
|
||||
u16 duplex);
|
||||
void ET1310_PhyAccessMiBit(struct et131x_adapter *adapter,
|
||||
u16 action,
|
||||
u16 regnum, u16 bitnum, u8 *value);
|
||||
|
||||
#endif /* _ET1310_PHY_H_ */
|
||||
|
|
|
@ -83,13 +83,9 @@
|
|||
#include <linux/ioport.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
#include "et1310_mac.h"
|
||||
#include "et1310_rx.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_initpci.h"
|
||||
#include "et131x.h"
|
||||
|
||||
/**
|
||||
* EnablePhyComa - called when network cable is unplugged
|
||||
|
|
|
@ -1,85 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et1310_pm.h - Defines, structs, enums, prototypes, etc. pertaining to power
|
||||
* management.
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _ET1310_PM_H_
|
||||
#define _ET1310_PM_H_
|
||||
|
||||
#include "et1310_address_map.h"
|
||||
|
||||
typedef struct _MP_POWER_MGMT {
|
||||
/* variable putting the phy into coma mode when boot up with no cable
|
||||
* plugged in after 5 seconds
|
||||
*/
|
||||
u8 TransPhyComaModeOnBoot;
|
||||
|
||||
/* Next two used to save power information at power down. This
|
||||
* information will be used during power up to set up parts of Power
|
||||
* Management in JAGCore
|
||||
*/
|
||||
u16 PowerDownSpeed;
|
||||
u8 PowerDownDuplex;
|
||||
} MP_POWER_MGMT, *PMP_POWER_MGMT;
|
||||
|
||||
/* Forward declaration of the private adapter structure
|
||||
*/
|
||||
struct et131x_adapter;
|
||||
|
||||
void EnablePhyComa(struct et131x_adapter *adapter);
|
||||
void DisablePhyComa(struct et131x_adapter *adapter);
|
||||
|
||||
#endif /* _ET1310_PM_H_ */
|
|
@ -84,14 +84,9 @@
|
|||
#include <linux/ioport.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_initpci.h"
|
||||
|
||||
#include "et1310_rx.h"
|
||||
|
||||
#include "et131x.h"
|
||||
|
||||
void nic_return_rfd(struct et131x_adapter *etdev, PMP_RFD pMpRfd);
|
||||
|
||||
|
|
|
@ -241,28 +241,4 @@ struct rx_ring {
|
|||
struct kmem_cache *RecvLookaside;
|
||||
};
|
||||
|
||||
/* Forward reference of RFD */
|
||||
struct _MP_RFD;
|
||||
|
||||
/* Forward declaration of the private adapter structure */
|
||||
struct et131x_adapter;
|
||||
|
||||
/* PROTOTYPES for Initialization */
|
||||
int et131x_rx_dma_memory_alloc(struct et131x_adapter *adapter);
|
||||
void et131x_rx_dma_memory_free(struct et131x_adapter *adapter);
|
||||
int et131x_rfd_resources_alloc(struct et131x_adapter *adapter,
|
||||
struct _MP_RFD *pMpRfd);
|
||||
void et131x_rfd_resources_free(struct et131x_adapter *adapter,
|
||||
struct _MP_RFD *pMpRfd);
|
||||
int et131x_init_recv(struct et131x_adapter *adapter);
|
||||
|
||||
void ConfigRxDmaRegs(struct et131x_adapter *adapter);
|
||||
void SetRxDmaTimer(struct et131x_adapter *adapter);
|
||||
void et131x_rx_dma_disable(struct et131x_adapter *adapter);
|
||||
void et131x_rx_dma_enable(struct et131x_adapter *adapter);
|
||||
|
||||
void et131x_reset_recv(struct et131x_adapter *adapter);
|
||||
|
||||
void et131x_handle_recv_interrupt(struct et131x_adapter *adapter);
|
||||
|
||||
#endif /* __ET1310_RX_H__ */
|
||||
|
|
|
@ -84,15 +84,9 @@
|
|||
#include <linux/ioport.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_initpci.h"
|
||||
#include "et131x_isr.h"
|
||||
|
||||
#include "et1310_tx.h"
|
||||
|
||||
#include "et131x.h"
|
||||
|
||||
static inline void et131x_free_send_packet(struct et131x_adapter *etdev,
|
||||
struct tcb *tcb);
|
||||
|
|
|
@ -147,18 +147,4 @@ struct tx_ring {
|
|||
int since_irq;
|
||||
};
|
||||
|
||||
/* Forward declaration of the private adapter structure */
|
||||
struct et131x_adapter;
|
||||
|
||||
/* PROTOTYPES for et1310_tx.c */
|
||||
int et131x_tx_dma_memory_alloc(struct et131x_adapter *adapter);
|
||||
void et131x_tx_dma_memory_free(struct et131x_adapter *adapter);
|
||||
void ConfigTxDmaRegs(struct et131x_adapter *adapter);
|
||||
void et131x_init_send(struct et131x_adapter *adapter);
|
||||
void et131x_tx_dma_disable(struct et131x_adapter *adapter);
|
||||
void et131x_tx_dma_enable(struct et131x_adapter *adapter);
|
||||
void et131x_handle_send_interrupt(struct et131x_adapter *adapter);
|
||||
void et131x_free_busy_send_packets(struct et131x_adapter *adapter);
|
||||
int et131x_send_packets(struct sk_buff *skb, struct net_device *netdev);
|
||||
|
||||
#endif /* __ET1310_TX_H__ */
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
/*
|
||||
* Merged from files
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
/* et131x_eeprom.c */
|
||||
int et131x_init_eeprom(struct et131x_adapter *etdev);
|
||||
|
||||
/* et131x_initpci.c */
|
||||
void ConfigGlobalRegs(struct et131x_adapter *pAdapter);
|
||||
void ConfigMMCRegs(struct et131x_adapter *pAdapter);
|
||||
void et131x_enable_interrupts(struct et131x_adapter *adapter);
|
||||
void et131x_disable_interrupts(struct et131x_adapter *adapter);
|
||||
void et131x_align_allocated_memory(struct et131x_adapter *adapter,
|
||||
u64 *phys_addr,
|
||||
u64 *offset, u64 mask);
|
||||
|
||||
int et131x_adapter_setup(struct et131x_adapter *adapter);
|
||||
int et131x_adapter_memory_alloc(struct et131x_adapter *adapter);
|
||||
void et131x_adapter_memory_free(struct et131x_adapter *adapter);
|
||||
void et131x_hwaddr_init(struct et131x_adapter *adapter);
|
||||
void et131x_soft_reset(struct et131x_adapter *adapter);
|
||||
|
||||
/* et131x_isr.c */
|
||||
irqreturn_t et131x_isr(int irq, void *dev_id);
|
||||
void et131x_isr_handler(struct work_struct *work);
|
||||
|
||||
/* et1310_mac.c */
|
||||
void ConfigMACRegs1(struct et131x_adapter *adapter);
|
||||
void ConfigMACRegs2(struct et131x_adapter *adapter);
|
||||
void ConfigRxMacRegs(struct et131x_adapter *adapter);
|
||||
void ConfigTxMacRegs(struct et131x_adapter *adapter);
|
||||
void ConfigMacStatRegs(struct et131x_adapter *adapter);
|
||||
void ConfigFlowControl(struct et131x_adapter *adapter);
|
||||
void UpdateMacStatHostCounters(struct et131x_adapter *adapter);
|
||||
void HandleMacStatInterrupt(struct et131x_adapter *adapter);
|
||||
void SetupDeviceForMulticast(struct et131x_adapter *adapter);
|
||||
void SetupDeviceForUnicast(struct et131x_adapter *adapter);
|
||||
|
||||
/* et131x_netdev.c */
|
||||
struct net_device *et131x_device_alloc(void);
|
||||
|
||||
/* et131x_pm.c */
|
||||
void EnablePhyComa(struct et131x_adapter *adapter);
|
||||
void DisablePhyComa(struct et131x_adapter *adapter);
|
||||
|
||||
/* et131x_phy.c */
|
||||
void ET1310_PhyInit(struct et131x_adapter *adapter);
|
||||
void ET1310_PhyReset(struct et131x_adapter *adapter);
|
||||
void ET1310_PhyPowerDown(struct et131x_adapter *adapter, bool down);
|
||||
void ET1310_PhyAdvertise1000BaseT(struct et131x_adapter *adapter,
|
||||
u16 duplex);
|
||||
void ET1310_PhyAccessMiBit(struct et131x_adapter *adapter,
|
||||
u16 action,
|
||||
u16 regnum, u16 bitnum, u8 *value);
|
||||
|
||||
int et131x_xcvr_find(struct et131x_adapter *adapter);
|
||||
void et131x_setphy_normal(struct et131x_adapter *adapter);
|
||||
|
||||
/* static inline function does not work because et131x_adapter is not always
|
||||
* defined
|
||||
*/
|
||||
int PhyMiRead(struct et131x_adapter *adapter, u8 xcvrAddr,
|
||||
u8 xcvrReg, u16 *value);
|
||||
#define MiRead(adapter, xcvrReg, value) \
|
||||
PhyMiRead((adapter), (adapter)->Stats.xcvr_addr, (xcvrReg), (value))
|
||||
|
||||
int32_t MiWrite(struct et131x_adapter *adapter,
|
||||
u8 xcvReg, u16 value);
|
||||
void et131x_Mii_check(struct et131x_adapter *pAdapter,
|
||||
MI_BMSR_t bmsr, MI_BMSR_t bmsr_ints);
|
||||
|
||||
/* This last is not strictly required (the driver could call the TPAL
|
||||
* version instead), but this sets the adapter up correctly, and calls the
|
||||
* access routine indirectly. This protects the driver from changes in TPAL.
|
||||
*/
|
||||
void SetPhy_10BaseTHalfDuplex(struct et131x_adapter *adapter);
|
||||
|
||||
|
||||
/* et1310_rx.c */
|
||||
int et131x_rx_dma_memory_alloc(struct et131x_adapter *adapter);
|
||||
void et131x_rx_dma_memory_free(struct et131x_adapter *adapter);
|
||||
int et131x_rfd_resources_alloc(struct et131x_adapter *adapter,
|
||||
struct _MP_RFD *pMpRfd);
|
||||
void et131x_rfd_resources_free(struct et131x_adapter *adapter,
|
||||
struct _MP_RFD *pMpRfd);
|
||||
int et131x_init_recv(struct et131x_adapter *adapter);
|
||||
|
||||
void ConfigRxDmaRegs(struct et131x_adapter *adapter);
|
||||
void SetRxDmaTimer(struct et131x_adapter *adapter);
|
||||
void et131x_rx_dma_disable(struct et131x_adapter *adapter);
|
||||
void et131x_rx_dma_enable(struct et131x_adapter *adapter);
|
||||
|
||||
void et131x_reset_recv(struct et131x_adapter *adapter);
|
||||
|
||||
void et131x_handle_recv_interrupt(struct et131x_adapter *adapter);
|
||||
|
||||
/* et131x_tx.c */
|
||||
int et131x_tx_dma_memory_alloc(struct et131x_adapter *adapter);
|
||||
void et131x_tx_dma_memory_free(struct et131x_adapter *adapter);
|
||||
void ConfigTxDmaRegs(struct et131x_adapter *adapter);
|
||||
void et131x_init_send(struct et131x_adapter *adapter);
|
||||
void et131x_tx_dma_disable(struct et131x_adapter *adapter);
|
||||
void et131x_tx_dma_enable(struct et131x_adapter *adapter);
|
||||
void et131x_handle_send_interrupt(struct et131x_adapter *adapter);
|
||||
void et131x_free_busy_send_packets(struct et131x_adapter *adapter);
|
||||
int et131x_send_packets(struct sk_buff *skb, struct net_device *netdev);
|
||||
|
|
@ -147,6 +147,20 @@ typedef struct _ce_stats_t {
|
|||
u32 InterruptStatus;
|
||||
} CE_STATS_t, *PCE_STATS_t;
|
||||
|
||||
typedef struct _MP_POWER_MGMT {
|
||||
/* variable putting the phy into coma mode when boot up with no cable
|
||||
* plugged in after 5 seconds
|
||||
*/
|
||||
u8 TransPhyComaModeOnBoot;
|
||||
|
||||
/* Next two used to save power information at power down. This
|
||||
* information will be used during power up to set up parts of Power
|
||||
* Management in JAGCore
|
||||
*/
|
||||
u16 PowerDownSpeed;
|
||||
u8 PowerDownDuplex;
|
||||
} MP_POWER_MGMT, *PMP_POWER_MGMT;
|
||||
|
||||
/* The private adapter structure */
|
||||
struct et131x_adapter {
|
||||
struct net_device *netdev;
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et131x_config.h - Defines, structs, enums, prototypes, etc. to support
|
||||
* et131x_config.c
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ET131X_CONFIG_H__
|
||||
#define __ET131X_CONFIG_H__
|
||||
|
||||
/* Forward declaration of the private adapter structure */
|
||||
struct et131x_adapter;
|
||||
|
||||
void et131x_config_parse(struct et131x_adapter *adapter);
|
||||
|
||||
#endif /* __ET131X_CONFIG_H__ */
|
|
@ -87,20 +87,16 @@
|
|||
#include <linux/random.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_netdev.h"
|
||||
#include "et131x_config.h"
|
||||
#include "et131x_isr.h"
|
||||
|
||||
#include "et1310_address_map.h"
|
||||
#include "et1310_tx.h"
|
||||
#include "et1310_rx.h"
|
||||
#include "et1310_mac.h"
|
||||
#include "et1310_eeprom.h"
|
||||
#include "et131x.h"
|
||||
|
||||
#define INTERNAL_MEM_SIZE 0x400 /* 1024 of internal memory */
|
||||
#define INTERNAL_MEM_RX_OFFSET 0x1FF /* 50% Tx, 50% Rx */
|
||||
|
||||
/* Defines for Parameter Default/Min/Max vaules */
|
||||
#define PARM_SPEED_DUPLEX_MIN 0
|
||||
|
|
|
@ -1,73 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et131x_initpci.h - Header which includes common data and function prototypes
|
||||
* related to the driver's PCI (and PCI Express) information.
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ET131X_INITPCI_H__
|
||||
#define __ET131X_INITPCI_H__
|
||||
|
||||
/* Function Prototypes */
|
||||
void et131x_align_allocated_memory(struct et131x_adapter *adapter,
|
||||
u64 *phys_addr,
|
||||
u64 *offset, u64 mask);
|
||||
|
||||
int et131x_adapter_setup(struct et131x_adapter *adapter);
|
||||
int et131x_adapter_memory_alloc(struct et131x_adapter *adapter);
|
||||
void et131x_adapter_memory_free(struct et131x_adapter *adapter);
|
||||
void et131x_hwaddr_init(struct et131x_adapter *adapter);
|
||||
void et131x_soft_reset(struct et131x_adapter *adapter);
|
||||
|
||||
#endif /* __ET131X_INITPCI_H__ */
|
|
@ -85,11 +85,27 @@
|
|||
#include <linux/ioport.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
#include "et1310_mac.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x.h"
|
||||
|
||||
/*
|
||||
* For interrupts, normal running is:
|
||||
* rxdma_xfr_done, phy_interrupt, mac_stat_interrupt,
|
||||
* watchdog_interrupt & txdma_xfer_done
|
||||
*
|
||||
* In both cases, when flow control is enabled for either Tx or bi-direction,
|
||||
* we additional enable rx_fbr0_low and rx_fbr1_low, so we know when the
|
||||
* buffer rings are running low.
|
||||
*/
|
||||
#define INT_MASK_DISABLE 0xffffffff
|
||||
|
||||
/* NOTE: Masking out MAC_STAT Interrupt for now...
|
||||
* #define INT_MASK_ENABLE 0xfff6bf17
|
||||
* #define INT_MASK_ENABLE_NO_FLOW 0xfff6bfd7
|
||||
*/
|
||||
#define INT_MASK_ENABLE 0xfffebf17
|
||||
#define INT_MASK_ENABLE_NO_FLOW 0xfffebfd7
|
||||
|
||||
|
||||
/**
|
||||
* et131x_enable_interrupts - enable interrupt
|
||||
|
|
|
@ -1,65 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et131x_isr.h - Defines, structs, enums, prototypes, etc. pertaining to the
|
||||
* ISR processing code.
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ET131X_ISR_H__
|
||||
#define __ET131X_ISR_H__
|
||||
|
||||
irqreturn_t et131x_isr(int irq, void *dev_id);
|
||||
void et131x_isr_handler(struct work_struct *work);
|
||||
|
||||
#endif /* __ET131X_ISR_H__ */
|
|
@ -85,14 +85,9 @@
|
|||
#include <linux/ioport.h>
|
||||
|
||||
#include "et1310_phy.h"
|
||||
#include "et1310_pm.h"
|
||||
#include "et1310_jagcore.h"
|
||||
#include "et1310_mac.h"
|
||||
#include "et1310_tx.h"
|
||||
|
||||
#include "et131x_adapter.h"
|
||||
#include "et131x_isr.h"
|
||||
#include "et131x_initpci.h"
|
||||
#include "et131x.h"
|
||||
|
||||
struct net_device_stats *et131x_stats(struct net_device *netdev);
|
||||
int et131x_open(struct net_device *netdev);
|
||||
|
|
|
@ -1,64 +0,0 @@
|
|||
/*
|
||||
* Agere Systems Inc.
|
||||
* 10/100/1000 Base-T Ethernet Driver for the ET1301 and ET131x series MACs
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
* http://www.agere.com
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* et131x_netdev.h - Defines, structs, enums, prototypes, etc. related to the
|
||||
* driver's net_device support.
|
||||
*
|
||||
*------------------------------------------------------------------------------
|
||||
*
|
||||
* SOFTWARE LICENSE
|
||||
*
|
||||
* This software is provided subject to the following terms and conditions,
|
||||
* which you should read carefully before using the software. Using this
|
||||
* software indicates your acceptance of these terms and conditions. If you do
|
||||
* not agree with these terms and conditions, do not use the software.
|
||||
*
|
||||
* Copyright © 2005 Agere Systems Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source or binary forms, with or without
|
||||
* modifications, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following Disclaimer as comments in the code as
|
||||
* well as in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following Disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of Agere Systems Inc. nor the names of the contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* Disclaimer
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||
* INCLUDING, BUT NOT LIMITED TO, INFRINGEMENT AND THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ANY
|
||||
* USE, MODIFICATION OR DISTRIBUTION OF THIS SOFTWARE IS SOLELY AT THE USERS OWN
|
||||
* RISK. IN NO EVENT SHALL AGERE SYSTEMS INC. OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, INCLUDING, BUT NOT LIMITED TO, CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __ET131X_NETDEV_H__
|
||||
#define __ET131X_NETDEV_H__
|
||||
|
||||
struct net_device *et131x_device_alloc(void);
|
||||
|
||||
#endif /* __ET131X_NETDEV_H__ */
|
|
@ -62,20 +62,13 @@
|
|||
#define DRIVER_LICENSE "Dual BSD/GPL"
|
||||
#define DRIVER_DEVICE_STRING "ET1310"
|
||||
#define DRIVER_NAME "et131x"
|
||||
#define DRIVER_MAJOR_VERSION 1
|
||||
#define DRIVER_MINOR_VERSION 2
|
||||
#define DRIVER_PATCH_VERSION 3
|
||||
#define DRIVER_VERSION_STRING "1.2.3"
|
||||
#define DRIVER_VERSION_STRING "1.2.3-lk"
|
||||
#define DRIVER_VENDOR "Agere Systems, http://www.agere.com"
|
||||
#define DRIVER_DESC "10/100/1000 Base-T Ethernet Driver"
|
||||
|
||||
#define STRUCT_MODULE "net" /* blux: missed by the kernel */
|
||||
|
||||
#define DRIVER_INFO DRIVER_DESC " for the "\
|
||||
DRIVER_DEVICE_STRING ", v" \
|
||||
DRIVER_VERSION_STRING " by " \
|
||||
DRIVER_VENDOR
|
||||
|
||||
#define DRIVER_NAME_EXT "et131x.ko"
|
||||
|
||||
#endif /* __ET131X_VERSION_H__ */
|
||||
|
|
Loading…
Reference in New Issue