Lines Matching +full:function +full:- +full:mask

1 /* SPDX-License-Identifier: GPL-2.0-only */
4 * Copyright 2006-2009 Solarflare Communications Inc.
38 /* Bus address of the MDIO device (0-31) */
72 * up device-specific structures, if any
93 dev_set_drvdata(&mdio->dev, data); in mdiodev_set_drvdata()
98 return dev_get_drvdata(&mdio->dev); in mdiodev_get_drvdata()
112 get_device(&mdiodev->dev); in mdio_device_get()
136 * struct mdio_if_info - Ethernet controller MDIO interface
138 * @mmds: Mask of MMDs expected to be present in the PHY. This must be
139 * non-zero unless @prtad = %MDIO_PRTAD_NONE.
146 * @mdio_read: Register read function; returns value or negative error code
147 * @mdio_write: Register write function; returns 0 or negative error code
161 #define MDIO_PRTAD_NONE (-1)
162 #define MDIO_DEVAD_NONE (-1)
171 int prtad, int devad, u16 addr, int mask,
184 * mdio45_ethtool_gset - get settings for ETHTOOL_GSET
188 * Since the CSRs for auto-negotiation using next pages are not fully
189 * standardised, this function does not attempt to decode them. Use
200 * mdio45_ethtool_ksettings_get - get settings for ETHTOOL_GLINKSETTINGS
204 * Since the CSRs for auto-negotiation using next pages are not fully
205 * standardised, this function does not attempt to decode them. Use
223 * A small helper function that translates MMD EEE Capability (3.20) bits
250 * A small helper function that translates the MMD EEE Advertisment (7.60)
278 * A small helper function that translates ethtool advertisement settings
306 * A small helper function that translates linkmode advertisement
308 * 10GBASE-T AN CONTROL (7.32) register.
330 * @lpa: value of the C45 10GBASE-T AN STATUS register
332 * A small helper function that translates C45 10GBASE-T AN STATUS register bits
349 * @lpa: value of the BASE-T1 Autonegotiation Advertisement [15:0] Register
351 * A small helper function that translates BASE-T1 Autonegotiation
366 * @lpa: value of the BASE-T1 Autonegotiation Advertisement [31:16] Register
368 * A small helper function that translates BASE-T1 Autonegotiation
382 * A small helper function that translates linkmode advertisement
384 * BASE-T1 Autonegotiation Advertisement [15:0] Register.
402 * A small helper function that translates linkmode advertisement
404 * BASE-T1 Autonegotiation Advertisement [31:16] Register.
421 * A function that translates value of following registers to the linkmode:
422 * IEEE 802.3-2018 45.2.3.10 "EEE control and capability 1" register (3.20)
423 * IEEE 802.3-2018 45.2.7.13 "EEE advertisement 1" register (7.60)
424 * IEEE 802.3-2018 45.2.7.14 "EEE link partner ability 1" register (7.61)
446 * A function that translates linkmode to value for IEEE 802.3-2018 45.2.7.13
474 * A function that translates IEEE 802.3cg-2019 45.2.7.26 "10BASE-T1 AN status"
487 * A function that translates the linkmode to IEEE 802.3cg-2019 45.2.7.25
488 * "10BASE-T1 AN control" register (7.526) value.
501 * mii_c73_mod_linkmode - convert a Clause 73 advertisement to linkmodes
541 int __mdiobus_modify(struct mii_bus *bus, int addr, u32 regnum, u16 mask,
544 u16 mask, u16 set);
550 int mdiobus_modify(struct mii_bus *bus, int addr, u32 regnum, u16 mask,
553 u16 mask, u16 set);
565 u16 mask, u16 set);
568 u32 regnum, u16 mask, u16 set);
572 return __mdiobus_read(mdiodev->bus, mdiodev->addr, regnum); in __mdiodev_read()
578 return __mdiobus_write(mdiodev->bus, mdiodev->addr, regnum, val); in __mdiodev_write()
582 u16 mask, u16 set) in __mdiodev_modify() argument
584 return __mdiobus_modify(mdiodev->bus, mdiodev->addr, regnum, mask, set); in __mdiodev_modify()
588 u32 regnum, u16 mask, u16 set) in __mdiodev_modify_changed() argument
590 return __mdiobus_modify_changed(mdiodev->bus, mdiodev->addr, regnum, in __mdiodev_modify_changed()
591 mask, set); in __mdiodev_modify_changed()
596 return mdiobus_read(mdiodev->bus, mdiodev->addr, regnum); in mdiodev_read()
602 return mdiobus_write(mdiodev->bus, mdiodev->addr, regnum, val); in mdiodev_write()
606 u16 mask, u16 set) in mdiodev_modify() argument
608 return mdiobus_modify(mdiodev->bus, mdiodev->addr, regnum, mask, set); in mdiodev_modify()
612 u32 regnum, u16 mask, u16 set) in mdiodev_modify_changed() argument
614 return mdiobus_modify_changed(mdiodev->bus, mdiodev->addr, regnum, in mdiodev_modify_changed()
615 mask, set); in mdiodev_modify_changed()
619 u32 regnum, u16 mask, u16 set) in mdiodev_c45_modify() argument
621 return mdiobus_c45_modify(mdiodev->bus, mdiodev->addr, devad, regnum, in mdiodev_c45_modify()
622 mask, set); in mdiodev_c45_modify()
626 int devad, u32 regnum, u16 mask, in mdiodev_c45_modify_changed() argument
629 return mdiobus_c45_modify_changed(mdiodev->bus, mdiodev->addr, devad, in mdiodev_c45_modify_changed()
630 regnum, mask, set); in mdiodev_c45_modify_changed()
636 return mdiobus_c45_read(mdiodev->bus, mdiodev->addr, devad, regnum); in mdiodev_c45_read()
642 return mdiobus_c45_write(mdiodev->bus, mdiodev->addr, devad, regnum, in mdiodev_c45_write()
652 * mdio_module_driver() - Helper macro for registering mdio drivers