| /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 Driver 10 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-FEC 193 * 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 the 7 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() argument 376 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_frontend 40 #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 driver 17 #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.o 13 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) modes 235 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
|