net: ethernet: freescale: set FEC ethtool regs version
Currently the ethtool_regs version is set to 0 for FEC devices. Use this field to store the register dump version exposed by the kernel. The choosen version 2 corresponds to the kernel compile test: #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || defined(CONFIG_ARM64) || defined(CONFIG_COMPILE_TEST) and version 1 corresponds to the opposite. Binaries of ethtool unaware of this version will dump the whole set as usual. Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c969c6e7ab
commit
f9bcc9f3ee
|
@ -2098,6 +2098,7 @@ static int fec_enet_get_regs_len(struct net_device *ndev)
|
||||||
#if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
|
#if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
|
||||||
defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || \
|
defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || \
|
||||||
defined(CONFIG_ARM64) || defined(CONFIG_COMPILE_TEST)
|
defined(CONFIG_ARM64) || defined(CONFIG_COMPILE_TEST)
|
||||||
|
static __u32 fec_enet_register_version = 2;
|
||||||
static u32 fec_enet_register_offset[] = {
|
static u32 fec_enet_register_offset[] = {
|
||||||
FEC_IEVENT, FEC_IMASK, FEC_R_DES_ACTIVE_0, FEC_X_DES_ACTIVE_0,
|
FEC_IEVENT, FEC_IMASK, FEC_R_DES_ACTIVE_0, FEC_X_DES_ACTIVE_0,
|
||||||
FEC_ECNTRL, FEC_MII_DATA, FEC_MII_SPEED, FEC_MIB_CTRLSTAT, FEC_R_CNTRL,
|
FEC_ECNTRL, FEC_MII_DATA, FEC_MII_SPEED, FEC_MIB_CTRLSTAT, FEC_R_CNTRL,
|
||||||
|
@ -2128,6 +2129,7 @@ static u32 fec_enet_register_offset[] = {
|
||||||
IEEE_R_FDXFC, IEEE_R_OCTETS_OK
|
IEEE_R_FDXFC, IEEE_R_OCTETS_OK
|
||||||
};
|
};
|
||||||
#else
|
#else
|
||||||
|
static __u32 fec_enet_register_version = 1;
|
||||||
static u32 fec_enet_register_offset[] = {
|
static u32 fec_enet_register_offset[] = {
|
||||||
FEC_ECNTRL, FEC_IEVENT, FEC_IMASK, FEC_IVEC, FEC_R_DES_ACTIVE_0,
|
FEC_ECNTRL, FEC_IEVENT, FEC_IMASK, FEC_IVEC, FEC_R_DES_ACTIVE_0,
|
||||||
FEC_R_DES_ACTIVE_1, FEC_R_DES_ACTIVE_2, FEC_X_DES_ACTIVE_0,
|
FEC_R_DES_ACTIVE_1, FEC_R_DES_ACTIVE_2, FEC_X_DES_ACTIVE_0,
|
||||||
|
@ -2149,6 +2151,8 @@ static void fec_enet_get_regs(struct net_device *ndev,
|
||||||
u32 *buf = (u32 *)regbuf;
|
u32 *buf = (u32 *)regbuf;
|
||||||
u32 i, off;
|
u32 i, off;
|
||||||
|
|
||||||
|
regs->version = fec_enet_register_version;
|
||||||
|
|
||||||
memset(buf, 0, regs->len);
|
memset(buf, 0, regs->len);
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(fec_enet_register_offset); i++) {
|
for (i = 0; i < ARRAY_SIZE(fec_enet_register_offset); i++) {
|
||||||
|
|
Loading…
Reference in New Issue