Home
last modified time | relevance | path

Searched full:fec (Results 1 – 25 of 505) sorted by relevance

12345678910>>...21

/linux-6.14.4/drivers/net/ethernet/freescale/
Dfec_mpc52xx.h34 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 …]
Dfec_mpc52xx.c49 #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 …]
DKconfig23 config FEC config
24 tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
39 tristate "FEC MPC52xx driver"
50 bool "FEC MPC52xx MDIO bus driver"
54 The MPC5200's FEC can connect to the Ethernet either with
57 If your board uses an external PHY connected to FEC, enable this.
102 and MPC86xx family of chips, the eTSEC on LS1021A and the FEC
Dfec_mpc52xx_phy.c33 struct mpc52xx_fec __iomem *fec = priv->regs; in mpc52xx_fec_mdio_transfer() local
39 out_be32(&fec->ievent, FEC_IEVENT_MII); in mpc52xx_fec_mdio_transfer()
40 out_be32(&fec->mii_data, value); in mpc52xx_fec_mdio_transfer()
43 while (!(in_be32(&fec->ievent) & FEC_IEVENT_MII) && --tries) in mpc52xx_fec_mdio_transfer()
50 in_be32(&fec->mii_data) & FEC_MII_DATA_DATAMSK : 0; in mpc52xx_fec_mdio_transfer()
135 { .compatible = "mpc5200b-fec-phy", },
142 .name = "mpc5200b-fec-phy",
150 /* let fec driver call it, since this has to be registered before it */
/linux-6.14.4/tools/testing/selftests/drivers/net/netdevsim/
Dethtool-fec.sh11 # 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-6.14.4/Documentation/devicetree/bindings/net/
Dfsl,fec.yaml4 $id: http://devicetree.org/schemas/net/fsl,fec.yaml#
7 title: Freescale Fast Ethernet Controller (FEC)
21 - fsl,imx25-fec
22 - fsl,imx27-fec
23 - fsl,imx28-fec
24 - fsl,imx6q-fec
25 - fsl,mvf600-fec
26 - fsl,s32v234-fec
29 - fsl,imx53-fec
30 - fsl,imx6sl-fec
[all …]
/linux-6.14.4/net/ethtool/
Dfec.c32 ethtool_fec_to_link_modes(u32 fec, unsigned long *link_modes, u8 *fec_auto) in ethtool_fec_to_link_modes() argument
35 *fec_auto = !!(fec & ETHTOOL_FEC_AUTO); in ethtool_fec_to_link_modes()
37 if (fec & ETHTOOL_FEC_OFF) in ethtool_fec_to_link_modes()
39 if (fec & ETHTOOL_FEC_RS) in ethtool_fec_to_link_modes()
41 if (fec & ETHTOOL_FEC_BASER) in ethtool_fec_to_link_modes()
43 if (fec & ETHTOOL_FEC_LLRS) in ethtool_fec_to_link_modes()
48 ethtool_link_modes_to_fecparam(struct ethtool_fecparam *fec, in ethtool_link_modes_to_fecparam() argument
51 memset(fec, 0, sizeof(*fec)); in ethtool_link_modes_to_fecparam()
54 fec->fec |= ETHTOOL_FEC_AUTO; in ethtool_link_modes_to_fecparam()
57 fec->fec |= ETHTOOL_FEC_OFF; in ethtool_link_modes_to_fecparam()
[all …]
/linux-6.14.4/drivers/net/ethernet/freescale/fs_enet/
Dmii-fec.c41 #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 …]
Dmac-fec.c38 #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-6.14.4/Documentation/misc-devices/
Dxilinx_sdfec.rst4 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-6.14.4/drivers/md/
Ddm-verity-fec.c8 #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-6.14.4/include/uapi/misc/
Dxilinx_sdfec.h3 * 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-6.14.4/drivers/net/netdevsim/
Dethtool.c128 memcpy(fecparam, &ns->ethtool.fec, sizeof(ns->ethtool.fec)); in nsim_get_fecparam()
136 u32 fec; in nsim_set_fecparam() local
140 memcpy(&ns->ethtool.fec, fecparam, sizeof(ns->ethtool.fec)); in nsim_set_fecparam()
141 fec = fecparam->fec; in nsim_set_fecparam()
142 if (fec == ETHTOOL_FEC_AUTO) in nsim_set_fecparam()
143 fec |= ETHTOOL_FEC_OFF; in nsim_set_fecparam()
144 fec |= ETHTOOL_FEC_NONE; in nsim_set_fecparam()
145 ns->ethtool.fec.active_fec = 1 << (fls(fec) - 1); in nsim_set_fecparam()
206 ns->ethtool.fec.fec = ETHTOOL_FEC_NONE; in nsim_ethtool_init()
207 ns->ethtool.fec.active_fec = ETHTOOL_FEC_NONE; in nsim_ethtool_init()
/linux-6.14.4/arch/arm64/boot/dts/freescale/
Dimx8qxp-ss-conn.dtsi24 compatible = "fsl,imx8qxp-fec", "fsl,imx8qm-fec", "fsl,imx6sx-fec";
28 compatible = "fsl,imx8qxp-fec", "fsl,imx8qm-fec", "fsl,imx6sx-fec";
Dimx8qm-ss-conn.dtsi12 compatible = "fsl,imx8qm-fec", "fsl,imx6sx-fec";
17 compatible = "fsl,imx8qm-fec", "fsl,imx6sx-fec";
/linux-6.14.4/Documentation/ABI/testing/
Dsysfs-bus-dfl-devices-n3000-nios5 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-6.14.4/drivers/net/ethernet/marvell/prestera/
Dprestera_ethtool.c360 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-6.14.4/drivers/net/ethernet/marvell/octeontx2/nic/
Dotx2_ethtool.c131 ethtool_puts(&data, "Fec Corrected Errors: "); in otx2_get_strings()
132 ethtool_puts(&data, "Fec Uncorrected Errors: "); in otx2_get_strings()
219 * latest PHY FEC stats. in otx2_get_ethtool_stats()
225 if (pfvf->linfo.fec == OTX2_FEC_BASER) { in otx2_get_ethtool_stats()
1001 const int fec[] = { in otx2_get_fecparam() local
1007 if (pfvf->linfo.fec < FEC_MAX_INDEX) in otx2_get_fecparam()
1008 fecparam->active_fec = fec[pfvf->linfo.fec]; in otx2_get_fecparam()
1016 fecparam->fec = ETHTOOL_FEC_NONE; in otx2_get_fecparam()
1018 fecparam->fec = fec[rsp->fwdata.supported_fec]; in otx2_get_fecparam()
1029 int err = 0, fec = 0; in otx2_set_fecparam() local
[all …]
/linux-6.14.4/Documentation/devicetree/bindings/misc/
Dxlnx,sd-fec.yaml4 $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-6.14.4/drivers/media/dvb-frontends/
Dcx24123.c198 {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 …]
/linux-6.14.4/drivers/net/ethernet/sfc/siena/
Dmcdi_port_common.c310 /* 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-6.14.4/drivers/net/ethernet/sfc/
Dmcdi_port_common.c309 /* 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-6.14.4/arch/powerpc/boot/dts/
Dadder875-redboot.dts79 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";
Dadder875-uboot.dts78 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";
/linux-6.14.4/drivers/net/ethernet/meta/fbnic/
Dfbnic_mac.c460 /* Disable fault handling if no FEC is requested */ in __fbnic_mac_cmd_config_asic()
461 if ((fbn->fec & FBNIC_FEC_MODE_MASK) == FBNIC_FEC_OFF) in __fbnic_mac_cmd_config_asic()
485 switch (fbn->fec & FBNIC_FEC_MODE_MASK) { in fbnic_mac_get_pcs_link_status()
503 switch (fbn->fec & FBNIC_FEC_MODE_MASK) { in fbnic_mac_get_pcs_link_status()
553 u8 fec = fbn->fec; in fbnic_pcs_get_fw_settings() local
555 /* Update FEC first to reflect FW current mode */ in fbnic_pcs_get_fw_settings()
556 if (fbn->fec & FBNIC_FEC_AUTO) { in fbnic_pcs_get_fw_settings()
559 fec = FBNIC_FEC_OFF; in fbnic_pcs_get_fw_settings()
562 fec = FBNIC_FEC_RS; in fbnic_pcs_get_fw_settings()
565 fec = FBNIC_FEC_BASER; in fbnic_pcs_get_fw_settings()
[all …]

12345678910>>...21