Staging: et131x: PHY loopback cannot be set (and isn't useful for us anyway)

Remove the stuff that falls out from this always being zero.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Alan Cox
2009-10-06 15:47:55 +01:00
committed by Greg Kroah-Hartman
parent abc449970a
commit 5f1377d42b
6 changed files with 55 additions and 96 deletions

View File

@@ -221,13 +221,8 @@ void ConfigMACRegs2(struct et131x_adapter *etdev)
*/ */
cfg2.bits.len_check = 0x1; cfg2.bits.len_check = 0x1;
if (etdev->RegistryPhyLoopbk == false) {
cfg2.bits.pad_crc = 0x1; cfg2.bits.pad_crc = 0x1;
cfg2.bits.crc_enable = 0x1; cfg2.bits.crc_enable = 0x1;
} else {
cfg2.bits.pad_crc = 0;
cfg2.bits.crc_enable = 0;
}
/* 1 - full duplex, 0 - half-duplex */ /* 1 - full duplex, 0 - half-duplex */
cfg2.bits.full_duplex = etdev->duplex_mode; cfg2.bits.full_duplex = etdev->duplex_mode;

View File

@@ -469,8 +469,6 @@ void et131x_Mii_check(struct et131x_adapter *etdev,
spin_unlock_irqrestore(&etdev->Lock, flags); spin_unlock_irqrestore(&etdev->Lock, flags);
/* Don't indicate state if we're in loopback mode */
if (etdev->RegistryPhyLoopbk == false)
netif_carrier_on(etdev->netdev); netif_carrier_on(etdev->netdev);
} else { } else {
dev_warn(&etdev->pdev->dev, dev_warn(&etdev->pdev->dev,
@@ -504,10 +502,6 @@ void et131x_Mii_check(struct et131x_adapter *etdev,
spin_unlock_irqrestore(&etdev->Lock, spin_unlock_irqrestore(&etdev->Lock,
flags); flags);
/* Only indicate state if we're in loopback
* mode
*/
if (etdev->RegistryPhyLoopbk == false)
netif_carrier_off(etdev->netdev); netif_carrier_off(etdev->netdev);
} }

View File

@@ -807,10 +807,6 @@ void et131x_rx_dma_disable(struct et131x_adapter *etdev)
*/ */
void et131x_rx_dma_enable(struct et131x_adapter *etdev) void et131x_rx_dma_enable(struct et131x_adapter *etdev)
{ {
if (etdev->RegistryPhyLoopbk)
/* RxDMA is disabled for loopback operation. */
writel(0x1, &etdev->regs->rxdma.csr.value);
else {
/* Setup the receive dma configuration register for normal operation */ /* Setup the receive dma configuration register for normal operation */
RXDMA_CSR_t csr = { 0 }; RXDMA_CSR_t csr = { 0 };
@@ -843,7 +839,6 @@ void et131x_rx_dma_enable(struct et131x_adapter *etdev)
} }
} }
} }
}
/** /**
* nic_rx_pkts - Checks the hardware for available packets * nic_rx_pkts - Checks the hardware for available packets

View File

@@ -279,16 +279,11 @@ void et131x_tx_dma_disable(struct et131x_adapter *etdev)
*/ */
void et131x_tx_dma_enable(struct et131x_adapter *etdev) void et131x_tx_dma_enable(struct et131x_adapter *etdev)
{ {
u32 csr = ET_TXDMA_SNGL_EPKT;
if (etdev->RegistryPhyLoopbk)
/* TxDMA is disabled for loopback operation. */
csr |= ET_TXDMA_CSR_HALT;
else
/* Setup the transmit dma configuration register for normal /* Setup the transmit dma configuration register for normal
* operation * operation
*/ */
csr |= PARM_DMA_CACHE_DEF << ET_TXDMA_CACHE_SHIFT; writel(ET_TXDMA_SNGL_EPKT|(PARM_DMA_CACHE_DEF << ET_TXDMA_CACHE_SHIFT),
writel(csr, &etdev->regs->txdma.csr); &etdev->regs->txdma.csr);
} }
/** /**

View File

@@ -234,8 +234,6 @@ struct et131x_adapter {
u32 RegistryRxMemEnd; /* Size of internal rx memory */ u32 RegistryRxMemEnd; /* Size of internal rx memory */
u32 RegistryJumboPacket; /* Max supported ethernet packet size */ u32 RegistryJumboPacket; /* Max supported ethernet packet size */
/* Validation helpers */
u8 RegistryPhyLoopbk; /* Enable Phy loopback */
/* Derived from the registry: */ /* Derived from the registry: */
u8 AiForceDpx; /* duplex setting */ u8 AiForceDpx; /* duplex setting */

View File

@@ -329,51 +329,33 @@ void ConfigGlobalRegs(struct et131x_adapter *etdev)
{ {
struct _GLOBAL_t __iomem *regs = &etdev->regs->global; struct _GLOBAL_t __iomem *regs = &etdev->regs->global;
if (etdev->RegistryPhyLoopbk == false) { writel(0, &regs->rxq_start_addr);
writel(INTERNAL_MEM_SIZE - 1, &regs->txq_end_addr);
if (etdev->RegistryJumboPacket < 2048) { if (etdev->RegistryJumboPacket < 2048) {
/* Tx / RxDMA and Tx/Rx MAC interfaces have a 1k word /* Tx / RxDMA and Tx/Rx MAC interfaces have a 1k word
* block of RAM that the driver can split between Tx * block of RAM that the driver can split between Tx
* and Rx as it desires. Our default is to split it * and Rx as it desires. Our default is to split it
* 50/50: * 50/50:
*/ */
writel(0, &regs->rxq_start_addr);
writel(PARM_RX_MEM_END_DEF, &regs->rxq_end_addr); writel(PARM_RX_MEM_END_DEF, &regs->rxq_end_addr);
writel(PARM_RX_MEM_END_DEF + 1, &regs->txq_start_addr); writel(PARM_RX_MEM_END_DEF + 1, &regs->txq_start_addr);
writel(INTERNAL_MEM_SIZE - 1, &regs->txq_end_addr);
} else if (etdev->RegistryJumboPacket < 8192) { } else if (etdev->RegistryJumboPacket < 8192) {
/* For jumbo packets > 2k but < 8k, split 50-50. */ /* For jumbo packets > 2k but < 8k, split 50-50. */
writel(0, &regs->rxq_start_addr);
writel(INTERNAL_MEM_RX_OFFSET, &regs->rxq_end_addr); writel(INTERNAL_MEM_RX_OFFSET, &regs->rxq_end_addr);
writel(INTERNAL_MEM_RX_OFFSET + 1, &regs->txq_start_addr); writel(INTERNAL_MEM_RX_OFFSET + 1, &regs->txq_start_addr);
writel(INTERNAL_MEM_SIZE - 1, &regs->txq_end_addr);
} else { } else {
/* 9216 is the only packet size greater than 8k that /* 9216 is the only packet size greater than 8k that
* is available. The Tx buffer has to be big enough * is available. The Tx buffer has to be big enough
* for one whole packet on the Tx side. We'll make * for one whole packet on the Tx side. We'll make
* the Tx 9408, and give the rest to Rx * the Tx 9408, and give the rest to Rx
*/ */
writel(0x0000, &regs->rxq_start_addr);
writel(0x01b3, &regs->rxq_end_addr); writel(0x01b3, &regs->rxq_end_addr);
writel(0x01b4, &regs->txq_start_addr); writel(0x01b4, &regs->txq_start_addr);
writel(INTERNAL_MEM_SIZE - 1,&regs->txq_end_addr);
} }
/* Initialize the loopback register. Disable all loopbacks. */ /* Initialize the loopback register. Disable all loopbacks. */
writel(0, &regs->loopback); writel(0, &regs->loopback);
} else {
/* For PHY Line loopback, the memory is configured as if Tx
* and Rx both have all the memory. This is because the
* RxMAC will write data into the space, and the TxMAC will
* read it out.
*/
writel(0, &regs->rxq_start_addr);
writel(INTERNAL_MEM_SIZE - 1, &regs->rxq_end_addr);
writel(0, &regs->txq_start_addr);
writel(INTERNAL_MEM_SIZE - 1, &regs->txq_end_addr);
/* Initialize the loopback register (MAC loopback). */
writel(ET_LOOP_MAC, &regs->loopback);
}
/* MSI Register */ /* MSI Register */
writel(0, &regs->msi_config); writel(0, &regs->msi_config);