| /linux/drivers/net/ethernet/freescale/ | 
| H A D | fec_mpc52xx.h | 34 	u32 fec_id;			/* FEC + 0x000 */35 	u32 ievent;			/* FEC + 0x004 */
 36 	u32 imask;			/* FEC + 0x008 */
 38 	u32 reserved0[1];		/* FEC + 0x00C */
 39 	u32 r_des_active;		/* FEC + 0x010 */
 40 	u32 x_des_active;		/* FEC + 0x014 */
 41 	u32 r_des_active_cl;		/* FEC + 0x018 */
 42 	u32 x_des_active_cl;		/* FEC + 0x01C */
 43 	u32 ivent_set;			/* FEC + 0x020 */
 44 	u32 ecntrl;			/* FEC + 0x024 */
 [all …]
 
 | 
| H A D | fec_mpc52xx.c | 49 #include <linux/fsl/bestcomm/fec.h>53 #define DRIVER_NAME "mpc52xx-fec"
 62 	struct mpc52xx_fec __iomem *fec;  member
 107 	struct mpc52xx_fec __iomem *fec = priv->fec;  in mpc52xx_fec_set_paddr()  local
 109 	out_be32(&fec->paddr1, *(const u32 *)(&mac[0]));  in mpc52xx_fec_set_paddr()
 110 	out_be32(&fec->paddr2, (*(const u16 *)(&mac[4]) << 16) | FEC_PADDR2_TYPE);  in mpc52xx_fec_set_paddr()
 174 			struct mpc52xx_fec __iomem *fec = priv->fec;  in mpc52xx_fec_adjust_link()  local
 181 			rcntrl = in_be32(&fec->r_cntrl);  in mpc52xx_fec_adjust_link()
 182 			tcntrl = in_be32(&fec->x_cntrl);  in mpc52xx_fec_adjust_link()
 191 			out_be32(&fec->r_cntrl, rcntrl);  in mpc52xx_fec_adjust_link()
 [all …]
 
 | 
| /linux/tools/testing/selftests/drivers/net/netdevsim/ | 
| H A D | ethtool-fec.sh | 11 # Since commit 2b3ddcb35357 ("ethtool: fec: Change the prompt ...")13 configured=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2 | head -1 | cut -d' ' -f1)
 16 s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
 17 check $? "$s" "$configured FEC encodings: None
 18 Active FEC encoding: None"
 21 $ETHTOOL --set-fec $NSIM_NETDEV encoding auto
 23 s=$($ETHTOOL --show-fec $NSIM_NETDEV | tail -2)
 24 check $? "$s" "$configured FEC encodings: Auto
 25 Active FEC encoding: Off"
 29     $ETHTOOL --set-fec $NSIM_NETDEV encoding $o
 [all …]
 
 | 
| /linux/net/ethtool/ | 
| H A D | fec.c | 33 ethtool_fec_to_link_modes(u32 fec, unsigned long *link_modes, u8 *fec_auto) in ethtool_fec_to_link_modes() 36 		*fec_auto = !!(fec & ETHTOOL_FEC_AUTO); in ethtool_fec_to_link_modes()
 38 	if (fec & ETHTOOL_FEC_OFF) in ethtool_fec_to_link_modes()
 40 	if (fec & ETHTOOL_FEC_RS) in ethtool_fec_to_link_modes()
 42 	if (fec & ETHTOOL_FEC_BASER) in ethtool_fec_to_link_modes()
 44 	if (fec & ETHTOOL_FEC_LLRS) in ethtool_fec_to_link_modes()
 49 ethtool_link_modes_to_fecparam(struct ethtool_fecparam *fec, in ethtool_link_modes_to_fecparam()
 52 	memset(fec, 0, sizeof(*fec)); in ethtool_link_modes_to_fecparam()
 55 		fec in ethtool_link_modes_to_fecparam()
 32 ethtool_fec_to_link_modes(u32 fec,unsigned long * link_modes,u8 * fec_auto) ethtool_fec_to_link_modes()  argument
 48 ethtool_link_modes_to_fecparam(struct ethtool_fecparam * fec,unsigned long * link_modes,u8 fec_auto) ethtool_link_modes_to_fecparam()  argument
 100 struct ethtool_fecparam fec = {}; fec_prepare_data()  local
 242 struct ethtool_fecparam fec = {}; ethnl_set_fec()  local
 [all...]
 | 
| /linux/drivers/net/ethernet/freescale/fs_enet/ | 
| H A D | mii-fec.c | 41 #include "fec.h"43 /* Make MII read/write commands for the FEC.
 53 	struct fec_info* fec = bus->priv;  in fs_enet_fec_mii_read()  local
 54 	struct fec __iomem *fecp = fec->fecp;  in fs_enet_fec_mii_read()
 76 	struct fec_info* fec = bus->priv;  in fs_enet_fec_mii_write()  local
 77 	struct fec __iomem *fecp = fec->fecp;  in fs_enet_fec_mii_write()
 101 	struct fec_info *fec;  in fs_enet_mdio_probe()  local
 111 	fec = kzalloc(sizeof(struct fec_info), GFP_KERNEL);  in fs_enet_mdio_probe()
 112 	if (!fec)  in fs_enet_mdio_probe()
 115 	new_bus->priv = fec;  in fs_enet_mdio_probe()
 [all …]
 
 | 
| H A D | mac-fec.c | 38 #include "fec.h"69  * Delay to wait for FEC reset command to complete (in us)
 73 static int whack_reset(struct fec __iomem *fecp)  in whack_reset()
 95 	fep->fec.fecp = of_iomap(ofdev->dev.of_node, 0);  in do_pd_setup()
 96 	if (!fep->fec.fecp)  in do_pd_setup()
 114 	fep->fec.hthi = 0;  in setup_data()
 115 	fep->fec.htlo = 0;  in setup_data()
 159 	struct fec __iomem *fecp = fep->fec.fecp;  in set_promiscuous_mode()
 168 	fep->fec.hthi = 0;  in set_multicast_start()
 169 	fep->fec.htlo = 0;  in set_multicast_start()
 [all …]
 
 | 
| /linux/drivers/md/ | 
| H A D | dm-verity-fec.c | 8 #include "dm-verity-fec.h"11 #define DM_MSG_PREFIX	"verity-fec"
 18 	return v->fec && v->fec->dev;  in verity_fec_is_enabled()
 38 	mod = do_div(offset, v->fec->rsn);  in fec_interleave()
 39 	return offset + mod * (v->fec->rounds << v->data_dev_block_bits);  in fec_interleave()
 57 	position = (index + rsb) * v->fec->roots;  in fec_read_parity()
 58 	block = div64_u64_rem(position, v->fec->io_size, &rem);  in fec_read_parity()
 61 	res = dm_bufio_read_with_ioprio(v->fec->bufio, block, buf, ioprio);  in fec_read_parity()
 63 		DMERR("%s: FEC %llu: parity read failed (block %llu): %ld",  in fec_read_parity()
 97 	return &fio->bufs[i][j * v->fec->rsn];  in fec_buffer_rs_block()
 [all …]
 
 | 
| /linux/Documentation/misc-devices/ | 
| H A D | xilinx_sdfec.rst | 4 Xilinx SD-FEC Driver10 This driver supports SD-FEC Integrated Block for Zynq |Ultrascale+ (TM)| RFSoCs.
 15 For a full description of SD-FEC core features, see the `SD-FEC Product Guide (PG256) <https://www.…
 24 Missing features, known issues, and limitations of the SD-FEC driver are as
 28   - Reset of the SD-FEC Integrated Block is not controlled by this driver
 32 …indings/misc/xlnx,sd-fec.yaml <https://github.com/Xilinx/linux-xlnx/blob/master/Documentation/devi…
 38 The driver works with the SD-FEC core in two modes of operation:
 50 	- Activate the SD-FEC core
 51 	- Monitor the SD-FEC core for errors
 52 	- Retrieve the status and configuration of the SD-FEC core
 [all …]
 
 | 
| /linux/include/uapi/misc/ | 
| H A D | xilinx_sdfec.h | 3  * Xilinx SD-FEC193  * struct xsdfec_status - Status of SD-FEC core.
 194  * @state: State of the SD-FEC core
 195  * @activity: Describes if the SD-FEC instance is Active
 213  * struct xsdfec_config - Configuration of SD-FEC core.
 214  * @code: The codes being used by the SD-FEC instance
 252  * struct xsdfec_ldpc_param_table_sizes - Used to store sizes of SD-FEC table
 274  * ioctl to start SD-FEC core
 284  * ioctl to stop the SD-FEC core
 292  * ioctl that returns status of SD-FEC core
 [all …]
 
 | 
| /linux/drivers/net/ethernet/meta/fbnic/ | 
| H A D | fbnic_phylink.c | 48 	 *   This is with RS FEC mode only  in fbnic_phylink_get_supported_fec_modes()50 	 *   This is with No FEC, RS, or Base-R  in fbnic_phylink_get_supported_fec_modes()
 87 	if (fbn->fec & FBNIC_FEC_RS) {  in fbnic_phylink_get_fecparam()
 89 		fecparam->fec = ETHTOOL_FEC_RS;  in fbnic_phylink_get_fecparam()
 90 	} else if (fbn->fec & FBNIC_FEC_BASER) {  in fbnic_phylink_get_fecparam()
 92 		fecparam->fec = ETHTOOL_FEC_BASER;  in fbnic_phylink_get_fecparam()
 95 		fecparam->fec = ETHTOOL_FEC_OFF;  in fbnic_phylink_get_fecparam()
 99 		fecparam->fec |= ETHTOOL_FEC_AUTO;  in fbnic_phylink_get_fecparam()
 245 	fbnic_mac_get_fw_settings(fbd, &fbn->aui, &fbn->fec);  in fbnic_phylink_init()
 
 | 
| /linux/Documentation/ABI/testing/ | 
| H A D | sysfs-bus-dfl-devices-n3000-nios | 5 Description:	Read-only. Returns the FEC mode of the 25G links of the7 		Solomon FEC, "kr" for Fire Code FEC, "no" for NO FEC.
 8 		"not supported" if the FEC mode setting is not supported, this
 
 | 
| /linux/drivers/net/ethernet/marvell/prestera/ | 
| H A D | prestera_ethtool.c | 360 				  u8 fec, u8 type)  in prestera_modes_to_eth()  argument376 		if ((port_fec_caps[mode].pr_fec & fec) == 0)  in prestera_modes_to_eth()
 384 				    u64 *link_modes, u8 *fec, u8 type)  in prestera_modes_from_eth()  argument
 408 	*fec = fec_modes;  in prestera_modes_from_eth()
 690 	fecparam->fec = 0;  in prestera_ethtool_get_fecparam()
 696 		fecparam->fec |= port_fec_caps[mode].eth_fec;  in prestera_ethtool_get_fecparam()
 713 	u8 fec;  in prestera_ethtool_set_fecparam()  local
 716 		netdev_err(dev, "FEC set is not allowed while autoneg is on\n");  in prestera_ethtool_set_fecparam()
 721 		netdev_err(dev, "FEC set is not allowed on non-SFP ports\n");  in prestera_ethtool_set_fecparam()
 725 	fec = PRESTERA_PORT_FEC_MAX;  in prestera_ethtool_set_fecparam()
 [all …]
 
 | 
| /linux/drivers/media/dvb-frontends/ | 
| H A D | cx24123.c | 198 	{0x0e, 0x03}, /* Default non-inverted, FEC 3/4 (default) */199 	{0x0f, 0xfe}, /* FEC search mask (all supported codes) */
 325 static int cx24123_set_fec(struct cx24123_state *state, enum fe_code_rate fec)  in cx24123_set_fec()  argument
 329 	if (((int)fec < FEC_NONE) || (fec > FEC_AUTO))  in cx24123_set_fec()
 330 		fec = FEC_AUTO;  in cx24123_set_fec()
 333 	if (fec == FEC_1_2)  in cx24123_set_fec()
 340 	switch (fec) {  in cx24123_set_fec()
 342 		dprintk("set FEC to 1/2\n");  in cx24123_set_fec()
 347 		dprintk("set FEC to 2/3\n");  in cx24123_set_fec()
 352 		dprintk("set FEC to 3/4\n");  in cx24123_set_fec()
 [all …]
 
 | 
| H A D | lgs8gxx_priv.h | 30 #define LGS_FEC_MASK	0x03	/* FEC Rate Mask */31 #define LGS_FEC_0_4	0x00	/* FEC Rate 0.4 */
 32 #define LGS_FEC_0_6	0x01	/* FEC Rate 0.6 */
 33 #define LGS_FEC_0_8	0x02	/* FEC Rate 0.8 */
 
 | 
| H A D | cx24120.c | 12 	    Add frequency, fec & pilot to get_frontend40 #define CX24120_REG_FECMODE	0x39		/* FEC status */
 114 	enum fe_code_rate fec;  member
 756  * FEC & modulation lookup table
 763 	enum fe_code_rate fec;  member
 768 	/*delsys     mod    fec       val */
 794 /* Retrieve current fec, modulation & pilot values */
 801 	int fec;  in cx24120_get_fec()  local
 804 	fec = ret & 0x3f; /* Lower 6 bits */  in cx24120_get_fec()
 806 	dev_dbg(&state->i2c->dev, "raw fec = %d\n", fec);  in cx24120_get_fec()
 [all …]
 
 | 
| /linux/Documentation/devicetree/bindings/misc/ | 
| H A D | xlnx,sd-fec.yaml | 4 $id: http://devicetree.org/schemas/misc/xlnx,sd-fec.yaml#18   principally covers codes used by LTE. The FEC Engine offers significant
 23     const: xlnx,sd-fec-1.1
 66       The SD-FEC integrated block supports Low Density Parity Check (LDPC)
 125     sd-fec@a0040000 {
 126         compatible = "xlnx,sd-fec-1.1";
 
 | 
| /linux/drivers/net/ethernet/sfc/siena/ | 
| H A D | mcdi_port_common.c | 310 /* The semantics of the ethtool FEC mode bitmask are not well defined,313  * OFF overrides any other bits, and means "disable all FEC" (with the
 318  * AUTO and either RS or BASER means use the specified FEC type if cable and
 320  * RS or BASER alone means use the specified FEC type if cable and link partner
 321  * support it and either requests it, otherwise no FEC.
 322  * Both RS and BASER (whether AUTO or not) means use FEC if cable and link
 511 	/* Record the initial FEC configuration (or nearest approximation  in efx_siena_mcdi_phy_probe()
 619 				    struct ethtool_fecparam *fec)  in efx_siena_mcdi_phy_get_fecparam()  argument
 640 	fec->fec = mcdi_fec_caps_to_ethtool(caps, is_25g);  in efx_siena_mcdi_phy_get_fecparam()
 643 		fec->fec &= ~ETHTOOL_FEC_BASER;  in efx_siena_mcdi_phy_get_fecparam()
 [all …]
 
 | 
| /linux/drivers/net/ethernet/sfc/ | 
| H A D | mcdi_port_common.c | 309 /* The semantics of the ethtool FEC mode bitmask are not well defined,312  * OFF overrides any other bits, and means "disable all FEC" (with the
 317  * AUTO and either RS or BASER means use the specified FEC type if cable and
 319  * RS or BASER alone means use the specified FEC type if cable and link partner
 320  * support it and either requests it, otherwise no FEC.
 321  * Both RS and BASER (whether AUTO or not) means use FEC if cable and link
 501 	/* Record the initial FEC configuration (or nearest approximation  in efx_mcdi_phy_probe()
 603 int efx_mcdi_phy_get_fecparam(struct efx_nic *efx, struct ethtool_fecparam *fec)  in efx_mcdi_phy_get_fecparam()  argument
 624 	fec->fec = mcdi_fec_caps_to_ethtool(caps, is_25g);  in efx_mcdi_phy_get_fecparam()
 627 		fec->fec &= ~ETHTOOL_FEC_BASER;  in efx_mcdi_phy_get_fecparam()
 [all …]
 
 | 
| /linux/arch/powerpc/boot/dts/ | 
| H A D | adder875-redboot.dts | 79 			compatible = "fsl,mpc875-fec-mdio", "fsl,pq1-fec-mdio";95 			compatible = "fsl,mpc875-fec-enet",
 96 			             "fsl,pq1-fec-enet";
 107 			compatible = "fsl,mpc875-fec-enet",
 108 			             "fsl,pq1-fec-enet";
 
 | 
| H A D | adder875-uboot.dts | 78 			compatible = "fsl,mpc875-fec-mdio", "fsl,pq1-fec-mdio";94 			compatible = "fsl,mpc875-fec-enet",
 95 			             "fsl,pq1-fec-enet";
 106 			compatible = "fsl,mpc875-fec-enet",
 107 			             "fsl,pq1-fec-enet";
 
 | 
| H A D | ep88xc.dts | 77 			compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio";93 			compatible = "fsl,mpc885-fec-enet",
 94 			             "fsl,pq1-fec-enet";
 105 			compatible = "fsl,mpc885-fec-enet",
 106 			             "fsl,pq1-fec-enet";
 
 | 
| /linux/arch/arm/boot/dts/nxp/imx/ | 
| H A D | imx25-karo-tx25.dts | 19 		regulator-name = "fec-phy";44 			MX25_PAD_D11__GPIO_4_9		0x00000021 /* FEC PHY power on pin */
 45 			MX25_PAD_D13__GPIO_4_7		0x000000a1 /* FEC reset */
 85 &fec {
 
 | 
| /linux/drivers/dma/bestcomm/ | 
| H A D | fec.c | 3  * Bestcomm FEC tasks driver17 #include <linux/fsl/bestcomm/fec.h>
 24 /* fec tasks images */
 31 	u32 fifo;		/* (u32*) address of fec's fifo */
 51 	u32 fifo;		/* (u32*) address of fec's fifo */
 156 	/* Nothing special for the FEC tasks */  in bcom_fec_rx_release()
 257 	/* Nothing special for the FEC tasks */  in bcom_fec_tx_release()
 263 MODULE_DESCRIPTION("BestComm FEC tasks driver");
 
 | 
| H A D | Makefile | 8 bestcomm-fec-objs	:= fec.o bcom_fec_rx_task.o bcom_fec_tx_task.o13 obj-$(CONFIG_PPC_BESTCOMM_FEC)		+= bestcomm-fec.o
 
 | 
| /linux/Documentation/networking/device_drivers/ethernet/netronome/ | 
| H A D | nfp.rst | 232 Configure Forward Error Correction (FEC) modes235 Agilio SmartNICs support FEC mode configuration, e.g. Auto, Firecode Base-R,
 236 ReedSolomon and Off modes. Each physical port's FEC mode can be set
 237 independently using ethtool. The supported FEC modes for an interface can
 242 The currently configured FEC mode can be viewed using::
 244   $ ethtool --show-fec <netdev>
 246 To force the FEC mode for a particular port, auto-negotiation must be disabled
 247 (see the `Auto-negotiation`_ section). An example of how to set the FEC mode
 250   $ ethtool --set-fec <netdev> encoding rs
 
 |