|
@@ -2084,12 +2084,8 @@ static void emac_ethtool_get_pauseparam(struct net_device *ndev,
|
|
|
|
|
|
static int emac_get_regs_len(struct emac_instance *dev)
|
|
|
{
|
|
|
- if (emac_has_feature(dev, EMAC_FTR_EMAC4))
|
|
|
- return sizeof(struct emac_ethtool_regs_subhdr) +
|
|
|
- EMAC4_ETHTOOL_REGS_SIZE(dev);
|
|
|
- else
|
|
|
return sizeof(struct emac_ethtool_regs_subhdr) +
|
|
|
- EMAC_ETHTOOL_REGS_SIZE(dev);
|
|
|
+ sizeof(struct emac_regs);
|
|
|
}
|
|
|
|
|
|
static int emac_ethtool_get_regs_len(struct net_device *ndev)
|
|
@@ -2114,15 +2110,15 @@ static void *emac_dump_regs(struct emac_instance *dev, void *buf)
|
|
|
struct emac_ethtool_regs_subhdr *hdr = buf;
|
|
|
|
|
|
hdr->index = dev->cell_index;
|
|
|
- if (emac_has_feature(dev, EMAC_FTR_EMAC4)) {
|
|
|
+ if (emac_has_feature(dev, EMAC_FTR_EMAC4SYNC)) {
|
|
|
+ hdr->version = EMAC4SYNC_ETHTOOL_REGS_VER;
|
|
|
+ } else if (emac_has_feature(dev, EMAC_FTR_EMAC4)) {
|
|
|
hdr->version = EMAC4_ETHTOOL_REGS_VER;
|
|
|
- memcpy_fromio(hdr + 1, dev->emacp, EMAC4_ETHTOOL_REGS_SIZE(dev));
|
|
|
- return (void *)(hdr + 1) + EMAC4_ETHTOOL_REGS_SIZE(dev);
|
|
|
} else {
|
|
|
hdr->version = EMAC_ETHTOOL_REGS_VER;
|
|
|
- memcpy_fromio(hdr + 1, dev->emacp, EMAC_ETHTOOL_REGS_SIZE(dev));
|
|
|
- return (void *)(hdr + 1) + EMAC_ETHTOOL_REGS_SIZE(dev);
|
|
|
}
|
|
|
+ memcpy_fromio(hdr + 1, dev->emacp, sizeof(struct emac_regs));
|
|
|
+ return (void *)(hdr + 1) + sizeof(struct emac_regs);
|
|
|
}
|
|
|
|
|
|
static void emac_ethtool_get_regs(struct net_device *ndev,
|