[PATCH] sk98lin: ethtool register dump
Add support for dumping the registers in the deprecated sk98lin driver. This is allows for easier comparison with settings in new skge driver. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
committed by
Jeff Garzik
parent
83717cf054
commit
24b46a0f0a
@@ -581,6 +581,30 @@ static int setRxCsum(struct net_device *dev, u32 data)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int getRegsLen(struct net_device *dev)
|
||||||
|
{
|
||||||
|
return 0x4000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns copy of whole control register region
|
||||||
|
* Note: skip RAM address register because accessing it will
|
||||||
|
* cause bus hangs!
|
||||||
|
*/
|
||||||
|
static void getRegs(struct net_device *dev, struct ethtool_regs *regs,
|
||||||
|
void *p)
|
||||||
|
{
|
||||||
|
DEV_NET *pNet = netdev_priv(dev);
|
||||||
|
const void __iomem *io = pNet->pAC->IoBase;
|
||||||
|
|
||||||
|
regs->version = 1;
|
||||||
|
memset(p, 0, regs->len);
|
||||||
|
memcpy_fromio(p, io, B3_RAM_ADDR);
|
||||||
|
|
||||||
|
memcpy_fromio(p + B3_RI_WTO_R1, io + B3_RI_WTO_R1,
|
||||||
|
regs->len - B3_RI_WTO_R1);
|
||||||
|
}
|
||||||
|
|
||||||
const struct ethtool_ops SkGeEthtoolOps = {
|
const struct ethtool_ops SkGeEthtoolOps = {
|
||||||
.get_settings = getSettings,
|
.get_settings = getSettings,
|
||||||
.set_settings = setSettings,
|
.set_settings = setSettings,
|
||||||
@@ -599,4 +623,6 @@ const struct ethtool_ops SkGeEthtoolOps = {
|
|||||||
.set_tx_csum = setTxCsum,
|
.set_tx_csum = setTxCsum,
|
||||||
.get_rx_csum = getRxCsum,
|
.get_rx_csum = getRxCsum,
|
||||||
.set_rx_csum = setRxCsum,
|
.set_rx_csum = setRxCsum,
|
||||||
|
.get_regs = getRegs,
|
||||||
|
.get_regs_len = getRegsLen,
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user