Module Name: src
Committed By: msaitoh
Date: Thu Apr 11 08:50:59 UTC 2019
Modified Files:
src/sys/arch/arm/imx: if_enet.c
src/sys/arch/mips/adm5120/dev: if_admsw.c
src/sys/dev/pci: if_bge.c if_bnx.c if_et.c if_lii.c if_msk.c if_nfe.c
if_sk.c if_ti.c if_txp.c if_vge.c
src/sys/dev/usb: if_axen.c
Log Message:
Fix a bug that the duplex of manual media setting may be wrong
when the IFM_GMASK bit other than IFM_[FH]DX is set.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/arm/imx/if_enet.c
cvs rdiff -u -r1.18 -r1.19 src/sys/arch/mips/adm5120/dev/if_admsw.c
cvs rdiff -u -r1.328 -r1.329 src/sys/dev/pci/if_bge.c
cvs rdiff -u -r1.80 -r1.81 src/sys/dev/pci/if_bnx.c
cvs rdiff -u -r1.20 -r1.21 src/sys/dev/pci/if_et.c src/sys/dev/pci/if_lii.c
cvs rdiff -u -r1.86 -r1.87 src/sys/dev/pci/if_msk.c
cvs rdiff -u -r1.67 -r1.68 src/sys/dev/pci/if_nfe.c
cvs rdiff -u -r1.94 -r1.95 src/sys/dev/pci/if_sk.c
cvs rdiff -u -r1.106 -r1.107 src/sys/dev/pci/if_ti.c
cvs rdiff -u -r1.51 -r1.52 src/sys/dev/pci/if_txp.c
cvs rdiff -u -r1.68 -r1.69 src/sys/dev/pci/if_vge.c
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/usb/if_axen.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/arm/imx/if_enet.c
diff -u src/sys/arch/arm/imx/if_enet.c:1.17 src/sys/arch/arm/imx/if_enet.c:1.18
--- src/sys/arch/arm/imx/if_enet.c:1.17 Tue Jan 22 03:42:25 2019
+++ src/sys/arch/arm/imx/if_enet.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_enet.c,v 1.17 2019/01/22 03:42:25 msaitoh Exp $ */
+/* $NetBSD: if_enet.c,v 1.18 2019/04/11 08:50:59 msaitoh Exp $ */
/*
* Copyright (c) 2014 Ryo Shimizu <[email protected]>
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_enet.c,v 1.17 2019/01/22 03:42:25 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_enet.c,v 1.18 2019/04/11 08:50:59 msaitoh Exp $");
#include "vlan.h"
@@ -1172,7 +1172,7 @@ enet_miibus_statchg(struct ifnet *ifp)
mii->mii_media_active &= ~IFM_ETH_FMASK;
}
- if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) {
+ if ((ife->ifm_media & IFM_FDX) != 0) {
tcr |= ENET_TCR_FDEN; /* full duplex */
rcr &= ~ENET_RCR_DRT;; /* enable receive on transmit */
} else {
@@ -1787,7 +1787,7 @@ enet_init_regs(struct enet_softc *sc, in
mii = &sc->sc_mii;
ife = mii->mii_media.ifm_cur;
- if ((ife->ifm_media & IFM_GMASK) == IFM_FDX)
+ if ((ife->ifm_media & IFM_FDX) != 0)
fulldup = 1;
else
fulldup = 0;
Index: src/sys/arch/mips/adm5120/dev/if_admsw.c
diff -u src/sys/arch/mips/adm5120/dev/if_admsw.c:1.18 src/sys/arch/mips/adm5120/dev/if_admsw.c:1.19
--- src/sys/arch/mips/adm5120/dev/if_admsw.c:1.18 Mon Sep 3 16:29:25 2018
+++ src/sys/arch/mips/adm5120/dev/if_admsw.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_admsw.c,v 1.18 2018/09/03 16:29:25 riastradh Exp $ */
+/* $NetBSD: if_admsw.c,v 1.19 2019/04/11 08:50:59 msaitoh Exp $ */
/*-
* Copyright (c) 2007 Ruslan Ermilov and Vsevolod Lobko.
@@ -76,7 +76,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_admsw.c,v 1.18 2018/09/03 16:29:25 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_admsw.c,v 1.19 2019/04/11 08:50:59 msaitoh Exp $");
#include <sys/param.h>
@@ -1232,7 +1232,7 @@ admsw_mediachange(struct ifnet *ifp)
if (IFM_SUBTYPE(ifm->ifm_media) == IFM_AUTO) {
val = PHY_CNTL2_AUTONEG|PHY_CNTL2_100M|PHY_CNTL2_FDX;
} else if (IFM_SUBTYPE(ifm->ifm_media) == IFM_100_TX) {
- if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX)
+ if ((ifm->ifm_media & IFM_FDX) != 0)
val = PHY_CNTL2_100M|PHY_CNTL2_FDX;
else
val = PHY_CNTL2_100M;
Index: src/sys/dev/pci/if_bge.c
diff -u src/sys/dev/pci/if_bge.c:1.328 src/sys/dev/pci/if_bge.c:1.329
--- src/sys/dev/pci/if_bge.c:1.328 Fri Apr 5 18:14:54 2019
+++ src/sys/dev/pci/if_bge.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bge.c,v 1.328 2019/04/05 18:14:54 bouyer Exp $ */
+/* $NetBSD: if_bge.c,v 1.329 2019/04/11 08:50:59 msaitoh Exp $ */
/*
* Copyright (c) 2001 Wind River Systems
@@ -79,7 +79,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.328 2019/04/05 18:14:54 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bge.c,v 1.329 2019/04/11 08:50:59 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -5677,7 +5677,7 @@ bge_ifmedia_upd(struct ifnet *ifp)
}
break;
case IFM_1000_SX:
- if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) {
+ if ((ifm->ifm_media & IFM_FDX) != 0) {
BGE_CLRBIT(sc, BGE_MAC_MODE,
BGE_MACMODE_HALF_DUPLEX);
} else {
Index: src/sys/dev/pci/if_bnx.c
diff -u src/sys/dev/pci/if_bnx.c:1.80 src/sys/dev/pci/if_bnx.c:1.81
--- src/sys/dev/pci/if_bnx.c:1.80 Mon Apr 8 03:56:08 2019
+++ src/sys/dev/pci/if_bnx.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_bnx.c,v 1.80 2019/04/08 03:56:08 msaitoh Exp $ */
+/* $NetBSD: if_bnx.c,v 1.81 2019/04/11 08:50:59 msaitoh Exp $ */
/* $OpenBSD: if_bnx.c,v 1.101 2013/03/28 17:21:44 brad Exp $ */
/*-
@@ -35,7 +35,7 @@
#if 0
__FBSDID("$FreeBSD: src/sys/dev/bce/if_bce.c,v 1.3 2006/04/13 14:12:26 ru Exp $");
#endif
-__KERNEL_RCSID(0, "$NetBSD: if_bnx.c,v 1.80 2019/04/08 03:56:08 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_bnx.c,v 1.81 2019/04/11 08:50:59 msaitoh Exp $");
/*
* The following controllers are supported by this driver:
@@ -1305,7 +1305,7 @@ bnx_miibus_statchg(struct ifnet *ifp)
/* Set half or full duplex based on the duplicity
* negotiated by the PHY.
*/
- if ((mii->mii_media_active & IFM_GMASK) == IFM_HDX) {
+ if ((mii->mii_media_active & IFM_HDX) != 0) {
DBPRINT(sc, BNX_INFO, "Setting Half-Duplex interface.\n");
val |= BNX_EMAC_MODE_HALF_DUPLEX;
} else
Index: src/sys/dev/pci/if_et.c
diff -u src/sys/dev/pci/if_et.c:1.20 src/sys/dev/pci/if_et.c:1.21
--- src/sys/dev/pci/if_et.c:1.20 Tue Jan 22 03:42:27 2019
+++ src/sys/dev/pci/if_et.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_et.c,v 1.20 2019/01/22 03:42:27 msaitoh Exp $ */
+/* $NetBSD: if_et.c,v 1.21 2019/04/11 08:50:59 msaitoh Exp $ */
/* $OpenBSD: if_et.c,v 1.11 2008/06/08 06:18:07 jsg Exp $ */
/*
* Copyright (c) 2007 The DragonFly Project. All rights reserved.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_et.c,v 1.20 2019/01/22 03:42:27 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_et.c,v 1.21 2019/04/11 08:50:59 msaitoh Exp $");
#include "opt_inet.h"
#include "vlan.h"
@@ -468,7 +468,7 @@ et_miibus_statchg(struct ifnet *ifp)
ctrl |= ET_MAC_CTRL_MODE_MII;
}
- if ((mii->mii_media_active & IFM_GMASK) == IFM_FDX)
+ if ((mii->mii_media_active & IFM_FDX) != 0)
cfg2 |= ET_MAC_CFG2_FDX;
else
ctrl |= ET_MAC_CTRL_GHDX;
Index: src/sys/dev/pci/if_lii.c
diff -u src/sys/dev/pci/if_lii.c:1.20 src/sys/dev/pci/if_lii.c:1.21
--- src/sys/dev/pci/if_lii.c:1.20 Tue Jan 22 03:42:27 2019
+++ src/sys/dev/pci/if_lii.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_lii.c,v 1.20 2019/01/22 03:42:27 msaitoh Exp $ */
+/* $NetBSD: if_lii.c,v 1.21 2019/04/11 08:50:59 msaitoh Exp $ */
/*
* Copyright (c) 2008 The NetBSD Foundation.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_lii.c,v 1.20 2019/01/22 03:42:27 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_lii.c,v 1.21 2019/04/11 08:50:59 msaitoh Exp $");
#include <sys/param.h>
@@ -654,7 +654,7 @@ lii_mii_statchg(struct ifnet *ifp)
val = AT_READ_4(sc, ATL2_MACC);
- if ((sc->sc_mii.mii_media_active & IFM_GMASK) == IFM_FDX)
+ if ((sc->sc_mii.mii_media_active & IFM_FDX) != 0)
val |= MACC_FDX;
else
val &= ~MACC_FDX;
Index: src/sys/dev/pci/if_msk.c
diff -u src/sys/dev/pci/if_msk.c:1.86 src/sys/dev/pci/if_msk.c:1.87
--- src/sys/dev/pci/if_msk.c:1.86 Sun Feb 3 03:19:27 2019
+++ src/sys/dev/pci/if_msk.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_msk.c,v 1.86 2019/02/03 03:19:27 mrg Exp $ */
+/* $NetBSD: if_msk.c,v 1.87 2019/04/11 08:50:59 msaitoh Exp $ */
/* $OpenBSD: if_msk.c,v 1.79 2009/10/15 17:54:56 deraadt Exp $ */
/*
@@ -52,7 +52,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.86 2019/02/03 03:19:27 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_msk.c,v 1.87 2019/04/11 08:50:59 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -326,7 +326,7 @@ msk_miibus_statchg(struct ifnet *ifp)
/* Set duplex. */
gpcr |= YU_GPCR_DPLX_DIS;
- if ((mii->mii_media_active & IFM_GMASK) == IFM_FDX)
+ if ((mii->mii_media_active & IFM_FDX) != 0)
gpcr |= YU_GPCR_DUPLEX;
/* Disable flow control. */
Index: src/sys/dev/pci/if_nfe.c
diff -u src/sys/dev/pci/if_nfe.c:1.67 src/sys/dev/pci/if_nfe.c:1.68
--- src/sys/dev/pci/if_nfe.c:1.67 Tue Jan 22 03:42:27 2019
+++ src/sys/dev/pci/if_nfe.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_nfe.c,v 1.67 2019/01/22 03:42:27 msaitoh Exp $ */
+/* $NetBSD: if_nfe.c,v 1.68 2019/04/11 08:50:59 msaitoh Exp $ */
/* $OpenBSD: if_nfe.c,v 1.77 2008/02/05 16:52:50 brad Exp $ */
/*-
@@ -21,7 +21,7 @@
/* Driver for NVIDIA nForce MCP Fast Ethernet and Gigabit Ethernet */
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_nfe.c,v 1.67 2019/01/22 03:42:27 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_nfe.c,v 1.68 2019/04/11 08:50:59 msaitoh Exp $");
#include "opt_inet.h"
#include "vlan.h"
@@ -494,7 +494,7 @@ nfe_miibus_statchg(struct ifnet *ifp)
seed = NFE_READ(sc, NFE_RNDSEED);
seed &= ~NFE_SEED_MASK;
- if ((mii->mii_media_active & IFM_GMASK) == IFM_HDX) {
+ if ((mii->mii_media_active & IFM_HDX) != 0) {
phy |= NFE_PHY_HDX; /* half-duplex */
misc |= NFE_MISC1_HDX;
}
Index: src/sys/dev/pci/if_sk.c
diff -u src/sys/dev/pci/if_sk.c:1.94 src/sys/dev/pci/if_sk.c:1.95
--- src/sys/dev/pci/if_sk.c:1.94 Sun Feb 3 03:19:27 2019
+++ src/sys/dev/pci/if_sk.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_sk.c,v 1.94 2019/02/03 03:19:27 mrg Exp $ */
+/* $NetBSD: if_sk.c,v 1.95 2019/04/11 08:50:59 msaitoh Exp $ */
/*-
* Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -115,7 +115,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_sk.c,v 1.94 2019/02/03 03:19:27 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_sk.c,v 1.95 2019/04/11 08:50:59 msaitoh Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -477,7 +477,7 @@ sk_xmac_miibus_statchg(struct ifnet *ifp
* duplex mode accordingly.
*/
if (sc_if->sk_phytype != SK_PHYTYPE_XMAC) {
- if ((mii->mii_media_active & IFM_GMASK) == IFM_FDX)
+ if ((mii->mii_media_active & IFM_FDX) != 0)
SK_XM_SETBIT_2(sc_if, XM_MMUCMD, XM_MMUCMD_GMIIFDX);
else
SK_XM_CLRBIT_2(sc_if, XM_MMUCMD, XM_MMUCMD_GMIIFDX);
Index: src/sys/dev/pci/if_ti.c
diff -u src/sys/dev/pci/if_ti.c:1.106 src/sys/dev/pci/if_ti.c:1.107
--- src/sys/dev/pci/if_ti.c:1.106 Sun Dec 9 11:14:02 2018
+++ src/sys/dev/pci/if_ti.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_ti.c,v 1.106 2018/12/09 11:14:02 jdolecek Exp $ */
+/* $NetBSD: if_ti.c,v 1.107 2019/04/11 08:50:59 msaitoh Exp $ */
/*
* Copyright (c) 1997, 1998, 1999
@@ -81,7 +81,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ti.c,v 1.106 2018/12/09 11:14:02 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ti.c,v 1.107 2019/04/11 08:50:59 msaitoh Exp $");
#include "opt_inet.h"
@@ -2582,7 +2582,7 @@ ti_ifmedia_upd(struct ifnet *ifp)
break;
case IFM_1000_SX:
case IFM_1000_T:
- if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) {
+ if ((ifm->ifm_media & IFM_FDX) != 0) {
CSR_WRITE_4(sc, TI_GCR_GLINK,
TI_GLNK_PREF|TI_GLNK_1000MB|TI_GLNK_FULL_DUPLEX|
TI_GLNK_RX_FLOWCTL_Y|TI_GLNK_ENB);
@@ -2607,7 +2607,7 @@ ti_ifmedia_upd(struct ifnet *ifp)
} else {
TI_SETBIT(sc, TI_GCR_LINK, TI_LNK_10MB);
}
- if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX) {
+ if ((ifm->ifm_media & IFM_FDX) != 0) {
TI_SETBIT(sc, TI_GCR_LINK, TI_LNK_FULL_DUPLEX);
} else {
TI_SETBIT(sc, TI_GCR_LINK, TI_LNK_HALF_DUPLEX);
Index: src/sys/dev/pci/if_txp.c
diff -u src/sys/dev/pci/if_txp.c:1.51 src/sys/dev/pci/if_txp.c:1.52
--- src/sys/dev/pci/if_txp.c:1.51 Sun Dec 9 11:14:02 2018
+++ src/sys/dev/pci/if_txp.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_txp.c,v 1.51 2018/12/09 11:14:02 jdolecek Exp $ */
+/* $NetBSD: if_txp.c,v 1.52 2019/04/11 08:50:59 msaitoh Exp $ */
/*
* Copyright (c) 2001
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_txp.c,v 1.51 2018/12/09 11:14:02 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_txp.c,v 1.52 2019/04/11 08:50:59 msaitoh Exp $");
#include "opt_inet.h"
@@ -1783,13 +1783,13 @@ txp_ifmedia_upd(struct ifnet *ifp)
return (EINVAL);
if (IFM_SUBTYPE(ifm->ifm_media) == IFM_10_T) {
- if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX)
+ if ((ifm->ifm_media & IFM_FDX) != 0)
new_xcvr = TXP_XCVR_10_FDX;
else
new_xcvr = TXP_XCVR_10_HDX;
} else if ((IFM_SUBTYPE(ifm->ifm_media) == IFM_100_TX) ||
(IFM_SUBTYPE(ifm->ifm_media) == IFM_100_FX)) {
- if ((ifm->ifm_media & IFM_GMASK) == IFM_FDX)
+ if ((ifm->ifm_media & IFM_FDX) != 0)
new_xcvr = TXP_XCVR_100_FDX;
else
new_xcvr = TXP_XCVR_100_HDX;
Index: src/sys/dev/pci/if_vge.c
diff -u src/sys/dev/pci/if_vge.c:1.68 src/sys/dev/pci/if_vge.c:1.69
--- src/sys/dev/pci/if_vge.c:1.68 Tue Mar 5 08:25:02 2019
+++ src/sys/dev/pci/if_vge.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_vge.c,v 1.68 2019/03/05 08:25:02 msaitoh Exp $ */
+/* $NetBSD: if_vge.c,v 1.69 2019/04/11 08:50:59 msaitoh Exp $ */
/*-
* Copyright (c) 2004
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vge.c,v 1.68 2019/03/05 08:25:02 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vge.c,v 1.69 2019/04/11 08:50:59 msaitoh Exp $");
/*
* VIA Networking Technologies VT612x PCI gigabit ethernet NIC driver.
@@ -1927,7 +1927,7 @@ vge_miibus_statchg(struct ifnet *ifp)
case IFM_100_TX:
case IFM_10_T:
CSR_SETBIT_1(sc, VGE_DIAGCTL, VGE_DIAGCTL_MACFORCE);
- if ((ife->ifm_media & IFM_GMASK) == IFM_FDX) {
+ if ((ife->ifm_media & IFM_FDX) != 0) {
CSR_SETBIT_1(sc, VGE_DIAGCTL, VGE_DIAGCTL_FDXFORCE);
} else {
CSR_CLRBIT_1(sc, VGE_DIAGCTL, VGE_DIAGCTL_FDXFORCE);
Index: src/sys/dev/usb/if_axen.c
diff -u src/sys/dev/usb/if_axen.c:1.37 src/sys/dev/usb/if_axen.c:1.38
--- src/sys/dev/usb/if_axen.c:1.37 Sun Feb 17 09:33:19 2019
+++ src/sys/dev/usb/if_axen.c Thu Apr 11 08:50:59 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: if_axen.c,v 1.37 2019/02/17 09:33:19 rin Exp $ */
+/* $NetBSD: if_axen.c,v 1.38 2019/04/11 08:50:59 msaitoh Exp $ */
/* $OpenBSD: if_axen.c,v 1.3 2013/10/21 10:10:22 yuo Exp $ */
/*
@@ -23,7 +23,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.37 2019/02/17 09:33:19 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_axen.c,v 1.38 2019/04/11 08:50:59 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -269,7 +269,7 @@ axen_miibus_statchg(struct ifnet *ifp)
return;
val = 0;
- if ((mii->mii_media_active & IFM_GMASK) == IFM_FDX)
+ if ((mii->mii_media_active & IFM_FDX) != 0)
val |= AXEN_MEDIUM_FDX;
val |= AXEN_MEDIUM_RXFLOW_CTRL_EN | AXEN_MEDIUM_TXFLOW_CTRL_EN |