/linux/drivers/net/phy/ |
H A D | sfp.c | 19 #include "sfp.h" 170 * on board (for a copper SFP) time to initialise. 196 /* SFP module presence detection is poor: the three MOD DEF signals are 210 /* SFP modules appear to always have their PHY configured for bus address 212 * RollBall SFPs access phy via SFP Enhanced Digital Diagnostic Interface 219 * at a time. Some SFP modules and also some Linux I2C drivers do not like 229 struct sfp { struct 241 unsigned int (*get_state)(struct sfp *); argument 242 void (*set_state)(struct sfp *, unsigned int); argument 243 int (*read)(struct sfp *, bool, u8, void *, size_t); argument [all …]
|
H A D | sfp.h | 5 #include <linux/sfp.h> 7 struct sfp; 14 void (*fixup)(struct sfp *sfp); 18 void (*attach)(struct sfp *sfp); 19 void (*detach)(struct sfp *sfp); 20 void (*start)(struct sfp *sfp); 21 void (*stop)(struct sfp *sfp); 22 void (*set_signal_rate)(struct sfp *sfp, unsigned int rate_kbd); 23 int (*module_info)(struct sfp *sfp, struct ethtool_modinfo *modinfo); 24 int (*module_eeprom)(struct sfp *sfp, struct ethtool_eeprom *ee, [all …]
|
H A D | sfp-bus.c | 11 #include "sfp.h" 14 * struct sfp_bus - internal representation of a sfp bus 24 struct sfp *sfp; member 37 * @bus: a pointer to the &struct sfp_bus structure for the sfp module 88 dev_warn(bus->sfp_dev, "SFP: unknown connector id 0x%02x\n", in sfp_parse_port() 112 * @bus: a pointer to the &struct sfp_bus structure for the sfp module 139 * @bus: a pointer to the &struct sfp_bus structure for the sfp module 304 /* For fibre channel SFP, derive possible BaseX modes */ in sfp_parse_support() 351 * @bus: a pointer to the &struct sfp_bus structure for the sfp module 354 * Derive the phy_interface_t mode for the SFP module from the link [all …]
|
/linux/drivers/pinctrl/starfive/ |
H A D | pinctrl-starfive-jh7110.c | 99 struct jh7110_pinctrl *sfp = pinctrl_dev_get_drvdata(pctldev); in jh7110_pin_dbg_show() local 100 const struct jh7110_pinctrl_soc_info *info = sfp->info; in jh7110_pin_dbg_show() 104 if (pin < sfp->gc.ngpio) { in jh7110_pin_dbg_show() 107 u32 dout = readl_relaxed(sfp->base + info->dout_reg_base + offset); in jh7110_pin_dbg_show() 108 u32 doen = readl_relaxed(sfp->base + info->doen_reg_base + offset); in jh7110_pin_dbg_show() 109 u32 gpi = readl_relaxed(sfp->base + info->gpi_reg_base + offset); in jh7110_pin_dbg_show() 127 struct jh7110_pinctrl *sfp = pinctrl_dev_get_drvdata(pctldev); in jh7110_dt_node_to_map() local 128 struct device *dev = sfp->gc.parent; in jh7110_dt_node_to_map() 152 mutex_lock(&sfp->mutex); in jh7110_dt_node_to_map() 230 mutex_unlock(&sfp->mutex); in jh7110_dt_node_to_map() [all …]
|
H A D | pinctrl-starfive-jh7100.c | 151 * sfp->gpio.pin_base = PAD_INVALID_GPIO then 152 * starfive_pin_to_gpio(sfp, validpin) is never a valid GPIO number. 216 static inline unsigned int starfive_pin_to_gpio(const struct starfive_pinctrl *sfp, in starfive_pin_to_gpio() argument 219 return pin - sfp->gpios.pin_base; in starfive_pin_to_gpio() 222 static inline unsigned int starfive_gpio_to_pin(const struct starfive_pinctrl *sfp, in starfive_gpio_to_pin() argument 225 return sfp->gpios.pin_base + gpio; in starfive_gpio_to_pin() 456 struct starfive_pinctrl *sfp = pinctrl_dev_get_drvdata(pctldev); in starfive_pin_dbg_show() local 457 unsigned int gpio = starfive_pin_to_gpio(sfp, pin); in starfive_pin_dbg_show() 464 reg = sfp->base + GPON_DOUT_CFG + 8 * gpio; in starfive_pin_dbg_show() 481 struct starfive_pinctrl *sfp = pinctrl_dev_get_drvdata(pctldev); in starfive_dt_node_to_map() local [all …]
|
H A D | pinctrl-starfive-jh7110-sys.c | 290 static void jh7110_set_function(struct jh7110_pinctrl *sfp, in jh7110_set_function() argument 304 reg = sfp->base + fs->offset; in jh7110_set_function() 308 raw_spin_lock_irqsave(&sfp->lock, flags); in jh7110_set_function() 311 raw_spin_unlock_irqrestore(&sfp->lock, flags); in jh7110_set_function() 314 static void jh7110_set_vin_group(struct jh7110_pinctrl *sfp, in jh7110_set_vin_group() argument 326 reg = sfp->base + gs->offset; in jh7110_set_vin_group() 330 raw_spin_lock_irqsave(&sfp->lock, flags); in jh7110_set_vin_group() 333 raw_spin_unlock_irqrestore(&sfp->lock, flags); in jh7110_set_vin_group() 336 static int jh7110_sys_set_one_pin_mux(struct jh7110_pinctrl *sfp, in jh7110_sys_set_one_pin_mux() argument 341 if (pin < sfp->gc.ngpio && func == 0) in jh7110_sys_set_one_pin_mux() [all …]
|
/linux/drivers/scsi/ |
H A D | sg.c | 183 static int sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size); 184 static ssize_t sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, 186 static ssize_t sg_new_write(Sg_fd *sfp, struct file *file, 189 static int sg_common_write(Sg_fd * sfp, Sg_request * srp, 192 static void sg_remove_scat(Sg_fd * sfp, Sg_scatter_hold * schp); 193 static void sg_build_reserve(Sg_fd * sfp, int req_size); 194 static void sg_link_reserve(Sg_fd * sfp, Sg_request * srp, int size); 195 static void sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp); 198 static Sg_request *sg_get_rq_mark(Sg_fd * sfp, int pack_id, bool *busy); 199 static Sg_request *sg_add_request(Sg_fd * sfp); [all …]
|
/linux/fs/xfs/libxfs/ |
H A D | xfs_dir2_sf.c | 268 struct xfs_dir2_sf_hdr *sfp; /* shortform directory header */ in xfs_dir2_block_to_sf() local 279 sfp = kmalloc(mp->m_sb.sb_inodesize, GFP_KERNEL | __GFP_NOFAIL); in xfs_dir2_block_to_sf() 280 memcpy(sfp, sfhp, xfs_dir2_sf_hdr_size(sfhp->i8count)); in xfs_dir2_block_to_sf() 287 sfep = xfs_dir2_sf_firstentry(sfp); in xfs_dir2_block_to_sf() 311 xfs_dir2_sf_get_parent_ino(sfp)); in xfs_dir2_block_to_sf() 319 xfs_dir2_sf_put_ino(mp, sfp, sfep, in xfs_dir2_block_to_sf() 324 sfep = xfs_dir2_sf_nextentry(mp, sfp, sfep); in xfs_dir2_block_to_sf() 328 ASSERT((char *)sfep - (char *)sfp == size); in xfs_dir2_block_to_sf() 345 xfs_init_local_fork(dp, XFS_DATA_FORK, sfp, size); in xfs_dir2_block_to_sf() 353 kfree(sfp); in xfs_dir2_block_to_sf() [all …]
|
/linux/Documentation/devicetree/bindings/nvmem/ |
H A D | fsl,layerscape-sfp.yaml | 4 $id: http://devicetree.org/schemas/nvmem/fsl,layerscape-sfp.yaml# 13 SFP is the security fuse processor which among other things provides a 23 - description: Trust architecture 2.1 SFP 25 - const: fsl,ls1021a-sfp 26 - description: Trust architecture 3.0 SFP 28 - const: fsl,ls1028a-sfp 36 The SFP clock. Typically, this is the platform clock divided by 4. 39 const: sfp 41 ta-prog-sfp-supply: 58 compatible = "fsl,ls1028a-sfp"; [all …]
|
/linux/arch/arm64/boot/dts/microchip/ |
H A D | sparx5_pcb134_board.dtsi | 266 sfp_eth12: sfp-eth12 { 267 compatible = "sff,sfp"; 275 sfp_eth13: sfp-eth13 { 276 compatible = "sff,sfp"; 284 sfp_eth14: sfp-eth14 { 285 compatible = "sff,sfp"; 293 sfp_eth15: sfp-eth15 { 294 compatible = "sff,sfp"; 302 sfp_eth48: sfp-eth48 { 303 compatible = "sff,sfp"; [all …]
|
/linux/net/hsr/ |
H A D | hsr_debugfs.c | 19 hsr_node_table_show(struct seq_file *sfp, void *data) in hsr_node_table_show() argument 21 struct hsr_priv *priv = (struct hsr_priv *)sfp->private; in hsr_node_table_show() 24 seq_printf(sfp, "Node Table entries for (%s) device\n", in hsr_node_table_show() 26 seq_puts(sfp, "MAC-Address-A, MAC-Address-B, time_in[A], "); in hsr_node_table_show() 27 seq_puts(sfp, "time_in[B], Address-B port, "); in hsr_node_table_show() 29 seq_puts(sfp, "SAN-A, SAN-B, DAN-P\n"); in hsr_node_table_show() 31 seq_puts(sfp, "DAN-H\n"); in hsr_node_table_show() 38 seq_printf(sfp, "%pM ", &node->macaddress_A[0]); in hsr_node_table_show() 39 seq_printf(sfp, "%pM ", &node->macaddress_B[0]); in hsr_node_table_show() 40 seq_printf(sfp, "%10lx, ", node->time_in[HSR_PT_SLAVE_A]); in hsr_node_table_show() [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | fsl-lx2160a-clearfog-itx.dtsi | 34 sfp0: sfp-0 { 35 compatible = "sff,sfp"; 41 sfp1: sfp-1 { 42 compatible = "sff,sfp"; 48 sfp2: sfp-2 { 49 compatible = "sff,sfp"; 55 sfp3: sfp-3 { 56 compatible = "sff,sfp"; 64 sfp = <&sfp0>; 70 sfp = <&sfp1>; [all …]
|
/linux/Documentation/devicetree/bindings/net/ |
H A D | sff,sfp.yaml | 4 $id: http://devicetree.org/schemas/net/sff,sfp.yaml# 7 title: Small Form Factor (SFF) Committee Small Form-factor Pluggable (SFP) 16 - sff,sfp # for SFP modules 22 phandle of an I2C bus controller for the SFP two wire serial 68 output gpio signal (SFP+ only), low - low Tx rate, high - high Tx rate. Must 90 - | # Direct serdes to SFP connection 93 sfp1: sfp { 94 compatible = "sff,sfp"; 108 sfp = <&sfp1>; 111 - | # Serdes to PHY to SFP connection [all …]
|
/linux/drivers/net/ethernet/intel/ice/ |
H A D | ice_devids.h | 13 /* Intel(R) Ethernet Controller E835-CC for SFP */ 19 /* Intel(R) Ethernet Controller E835-C for SFP */ 25 /* Intel(R) Ethernet Controller E835-L for SFP */ 29 /* Intel(R) Ethernet Connection E823-L for SFP */ 41 /* Intel(R) Ethernet Controller E830-CC for SFP */ 43 /* Intel(R) Ethernet Controller E830-CC for SFP-DD */ 49 /* Intel(R) Ethernet Controller E830-C for SFP */ 55 /* Intel(R) Ethernet Controller E830-XXV for SFP */ 61 /* Intel(R) Ethernet Controller E810-C for SFP */ 74 /* Intel(R) Ethernet Controller E810-XXV for SFP */ [all …]
|
/linux/Documentation/networking/ |
H A D | phy-link-topology.rst | 29 for example, using SFP transceivers (although that's not the only specific case). 32 interface, that can directly be fed to an SFP cage, such as SGMII, 1000BaseX, 35 The link topology then looks like this (when an SFP module is inserted) :: 38 | MAC | ------- | SFP Module | 44 | MAC | -------- | PHY (on SFP) | 47 In this case, the SFP PHY is handled by phylib, and registered by phylink through 48 its SFP upstream ops. 51 we can't directly connect them to an SFP cage. However, some PHYs can be used 53 serialized MII interface fed to the SFP :: 56 | MAC | ------- | PHY (media converter) | ------- | PHY (on SFP) | [all …]
|
/linux/drivers/scsi/bfa/ |
H A D | bfa_ioc.c | 3605 * SFP module specific 3609 static void bfa_sfp_getdata_send(struct bfa_sfp_s *sfp); 3610 static void bfa_sfp_media_get(struct bfa_sfp_s *sfp); 3611 static bfa_status_t bfa_sfp_speed_valid(struct bfa_sfp_s *sfp, 3615 bfa_cb_sfp_show(struct bfa_sfp_s *sfp) in bfa_cb_sfp_show() argument 3617 bfa_trc(sfp, sfp->lock); in bfa_cb_sfp_show() 3618 if (sfp->cbfn) in bfa_cb_sfp_show() 3619 sfp->cbfn(sfp->cbarg, sfp->status); in bfa_cb_sfp_show() 3620 sfp->lock = 0; in bfa_cb_sfp_show() 3621 sfp->cbfn = NULL; in bfa_cb_sfp_show() [all …]
|
/linux/drivers/pinctrl/ |
H A D | pinctrl-ocelot.c | 294 [FUNC_SFP] = "sfp", 392 LUTON_P(10, SFP, PHY_LED); 393 LUTON_P(11, SFP, PHY_LED); 394 LUTON_P(12, SFP, PHY_LED); 395 LUTON_P(13, SFP, PHY_LED); 399 LUTON_P(17, SFP, PHY_LED); 400 LUTON_P(18, SFP, PHY_LED); 401 LUTON_P(19, SFP, PHY_LED); 402 LUTON_P(20, SFP, PHY_LED); 403 LUTON_P(21, SFP, PHY_LED); [all …]
|
/linux/drivers/scsi/snic/ |
H A D | snic_debugfs.c | 165 snic_stats_show(struct seq_file *sfp, void *data) in snic_stats_show() argument 167 struct snic *snic = (struct snic *) sfp->private; in snic_stats_show() 174 seq_printf(sfp, in snic_stats_show() 180 seq_printf(sfp, in snic_stats_show() 211 seq_puts(sfp, "\nSGL Counters\n"); in snic_stats_show() 214 seq_printf(sfp, in snic_stats_show() 219 seq_puts(sfp, "\n"); in snic_stats_show() 223 seq_printf(sfp, in snic_stats_show() 228 seq_printf(sfp, in snic_stats_show() 243 seq_printf(sfp, in snic_stats_show() [all …]
|
/linux/arch/arm64/boot/dts/marvell/ |
H A D | cn9130-cf.dtsi | 27 sfp: sfp { label 28 compatible = "sff,sfp"; 38 /* SRDS #2 - SFP+ 10GE */ 43 sfp = <&sfp>; 104 * Routed to SFP, M.2, mikrobus, and miniPCIe 105 * SFP limits this to 100kHz, and requires an AT24C01A/02/04 with
|
H A D | armada-8040-puzzle-m801.dts | 67 sfp_cp0_eth0: sfp-cp0-eth0 { 68 compatible = "sff,sfp"; 77 sfp_cp1_eth0: sfp-cp1-eth0 { 78 compatible = "sff,sfp"; 94 /* SFP+ port 2: Activity */ 101 /* SFP+ port 1: Activity */ 108 /* SFP+ port 2: 10 Gbps indicator */ 115 /* SFP+ port 2: 1 Gbps indicator */ 122 /* SFP+ port 1: 10 Gbps indicator */ 129 /* SFP+ port 1: 1 Gbps indicator */ [all …]
|
H A D | cn9131-cf-solidwan.dts | 71 /* for sfp-1 (J42) */ 77 /* for sfp-1 (J42) */ 121 sfp0: sfp-0 { 122 compatible = "sff,sfp"; 133 sfp1: sfp-1 { 134 compatible = "sff,sfp"; 150 /* SRDS #2 - SFP+ 10GE */ 155 sfp = <&sfp0>; 259 * Routed to SFP. 260 * Limit to 100kHz for compatibility with SFP modules, [all …]
|
/linux/arch/arm/boot/dts/marvell/ |
H A D | armada-385-clearfog-gtr.dtsi | 15 5. SFP connector, or optionally SGMII Ethernet 1512 PHY 33 24 - SFP TX fault (input active high) 34 25 - SFP present (input active low) 35 26,27 - I2C1 - connected to SFP 49 46 - SFP TX disable 56 54 - SFP LOS (input active high) 137 i2c@11100 { /* SFP (CON5/CON6) */ 155 /* SFP */ 199 /* sfp modabs, txdisable */ 205 /* sfp modabs, txdisable */ [all …]
|
H A D | armada-388-clearfog.dtsi | 80 sfp: sfp { label 81 compatible = "sff,sfp"; 109 sfp = <&sfp>; 191 * Routed to SFP, mikrobus, and PCIe. 192 * SFP limits this to 100kHz, and requires an AT24C01A/02/04 with 205 /* SFP, PCIe, mSATA, mikrobus */
|
H A D | armada-385-turris-omnia.dts | 97 sfp: sfp { label 98 compatible = "sff,sfp"; 109 * a SFP module is present. Read more in the comment in the 199 * eth2 is connected via a multiplexor to both the SFP cage and to 200 * ethernet-phy@1. The multiplexor switches the signal to SFP cage when 201 * a SFP module is present, as determined by the mode-def0 GPIO. 203 * Until kernel supports this configuration properly, in case SFP module 204 * is present, U-Boot has to enable the sfp node above, remove phy 211 sfp = <&sfp>; 403 /* routed to SFP+ */ [all …]
|
/linux/fs/freevxfs/ |
H A D | vxfs_fshead.c | 87 struct vxfs_fsh *pfp, *sfp; in vxfs_read_fshead() local 108 sfp = vxfs_getfsh(infp->vsi_fship, 0); in vxfs_read_fshead() 109 if (!sfp) { in vxfs_read_fshead() 115 vxfs_dumpfsh(sfp); in vxfs_read_fshead() 129 fs32_to_cpu(infp, sfp->fsh_ilistino[0])); in vxfs_read_fshead() 152 kfree(sfp); in vxfs_read_fshead() 162 kfree(sfp); in vxfs_read_fshead()
|