Message ID | 20230403064528.343866-4-jiawenwu@trustnetic.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | TXGBE PHYLINK support | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Clearly marked for net-next, async |
netdev/apply | fail | Patch does not apply to net-next |
> +Identifying Adapter > +=================== > +The driver is compatible with WangXun Sapphire Dual ports Ethernet Adapters. > + > +SFP+ Devices with Pluggable Optics > +---------------------------------- > +The following is a list of 3rd party SFP+ modules that have been tested and verified. > + > ++----------+----------------------+----------------------+ > +| Supplier | Type | Part Numbers | > ++==========+======================+======================+ > +| ACCELINK | SFP+ | RTXM228-551 | > ++----------+----------------------+----------------------+ > +| Avago | SFP+ | SFBR-7701SDZ | > ++----------+----------------------+----------------------+ Tab issue. > +| BOYANG | SFP+ | OMXD30000 | > ++----------+----------------------+----------------------+ > +| F-tone | SFP+ | FTCS-851X-02D | > ++----------+----------------------+----------------------+ > +| FS | SFP+ | SFP-10GSR-85 | > ++----------+----------------------+----------------------+ > +| Finisar | SFP+ | FTLX8574D3BCL | > ++----------+----------------------+----------------------+ > +| Hisense | SFP+ | LTF8502-BC+ | > ++----------+----------------------+----------------------+ > +| HGTECH | SFP+ | MTRS-01X11-G | > ++----------+----------------------+----------------------+ > +| HP | SFP+ | SR SFP+ 456096-001 | > ++----------+----------------------+----------------------+ > +| Huawei | SFP+ | AFBR-709SMZ | > ++----------+----------------------+----------------------+ > +| Intel | SFP+ | FTLX8571D3BCV-IT | > ++----------+----------------------+----------------------+ > +| JDSU | SFP+ | PLRXPL-SC-S43 | > ++----------+----------------------+----------------------+ > +| SONT | SFP+ | XP-8G10-01 | > ++----------+----------------------+----------------------+ > +| Trixon | SFP+ | TPS-TGM3-85DCR | > ++----------+----------------------+----------------------+ This does not make much sense, now that the generic SFP driver is being used. If you want to have a such a list, move it into the generic SFP documentation. I assume you have retested all these using the generic code? Russell will be interested in the contents of the EEPROM for these. > +Laser turns off for SFP+ when ifconfig ethX down > +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > +"ifconfig ethX down" turns off the laser for SFP+ fiber adapters. > +"ifconfig ethX up" turns on the laser. This also not specific to your device, the generic SFP code will do that. > +static int txgbe_sfp_register(struct txgbe *txgbe) > +{ > + struct pci_dev *pdev = txgbe->wx->pdev; > + struct platform_device_info info; > + struct platform_device *sfp_dev; > + > + memset(&info, 0, sizeof(info)); I _think_ the memset can be replace by struct platform_device_info info = {}; Andrew
diff --git a/Documentation/networking/device_drivers/ethernet/wangxun/txgbe.rst b/Documentation/networking/device_drivers/ethernet/wangxun/txgbe.rst index d052ef40fe36..9eb05a2ef110 100644 --- a/Documentation/networking/device_drivers/ethernet/wangxun/txgbe.rst +++ b/Documentation/networking/device_drivers/ethernet/wangxun/txgbe.rst @@ -11,9 +11,56 @@ Copyright (c) 2015 - 2022 Beijing WangXun Technology Co., Ltd. Contents ======== +- Identifying Adapter - Support +Identifying Adapter +=================== +The driver is compatible with WangXun Sapphire Dual ports Ethernet Adapters. + +SFP+ Devices with Pluggable Optics +---------------------------------- +The following is a list of 3rd party SFP+ modules that have been tested and verified. + ++----------+----------------------+----------------------+ +| Supplier | Type | Part Numbers | ++==========+======================+======================+ +| ACCELINK | SFP+ | RTXM228-551 | ++----------+----------------------+----------------------+ +| Avago | SFP+ | SFBR-7701SDZ | ++----------+----------------------+----------------------+ +| BOYANG | SFP+ | OMXD30000 | ++----------+----------------------+----------------------+ +| F-tone | SFP+ | FTCS-851X-02D | ++----------+----------------------+----------------------+ +| FS | SFP+ | SFP-10GSR-85 | ++----------+----------------------+----------------------+ +| Finisar | SFP+ | FTLX8574D3BCL | ++----------+----------------------+----------------------+ +| Hisense | SFP+ | LTF8502-BC+ | ++----------+----------------------+----------------------+ +| HGTECH | SFP+ | MTRS-01X11-G | ++----------+----------------------+----------------------+ +| HP | SFP+ | SR SFP+ 456096-001 | ++----------+----------------------+----------------------+ +| Huawei | SFP+ | AFBR-709SMZ | ++----------+----------------------+----------------------+ +| Intel | SFP+ | FTLX8571D3BCV-IT | ++----------+----------------------+----------------------+ +| JDSU | SFP+ | PLRXPL-SC-S43 | ++----------+----------------------+----------------------+ +| SONT | SFP+ | XP-8G10-01 | ++----------+----------------------+----------------------+ +| Trixon | SFP+ | TPS-TGM3-85DCR | ++----------+----------------------+----------------------+ + +Laser turns off for SFP+ when ifconfig ethX down +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +"ifconfig ethX down" turns off the laser for SFP+ fiber adapters. +"ifconfig ethX up" turns on the laser. + + Support ======= If you got any problem, contact Wangxun support team via nic-support@net-swift.com diff --git a/drivers/net/ethernet/wangxun/Kconfig b/drivers/net/ethernet/wangxun/Kconfig index 8cbf0dd48a2c..c5b62918db78 100644 --- a/drivers/net/ethernet/wangxun/Kconfig +++ b/drivers/net/ethernet/wangxun/Kconfig @@ -42,6 +42,7 @@ config TXGBE depends on PCI select LIBWX select I2C + select SFP help This driver supports Wangxun(R) 10GbE PCI Express family of adapters. diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c index f8a4b211f4e8..dac9dfd001f0 100644 --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 /* Copyright (c) 2015 - 2023 Beijing WangXun Technology Co., Ltd. */ +#include <linux/platform_device.h> #include <linux/gpio/property.h> #include <linux/iopoll.h> #include <linux/i2c.h> @@ -187,6 +188,26 @@ static int txgbe_i2c_adapter_add(struct txgbe *txgbe) return 0; } +static int txgbe_sfp_register(struct txgbe *txgbe) +{ + struct pci_dev *pdev = txgbe->wx->pdev; + struct platform_device_info info; + struct platform_device *sfp_dev; + + memset(&info, 0, sizeof(info)); + info.parent = &pdev->dev; + info.fwnode = software_node_fwnode(txgbe->nodes.group[SWNODE_SFP]); + info.name = "sfp"; + info.id = (pdev->bus->number << 8) | pdev->devfn; + sfp_dev = platform_device_register_full(&info); + if (IS_ERR(sfp_dev)) + return PTR_ERR(sfp_dev); + + txgbe->sfp_dev = sfp_dev; + + return 0; +} + int txgbe_init_phy(struct txgbe *txgbe) { int ret; @@ -203,6 +224,12 @@ int txgbe_init_phy(struct txgbe *txgbe) goto err; } + ret = txgbe_sfp_register(txgbe); + if (ret) { + wx_err(txgbe->wx, "failed to register sfp\n"); + goto err; + } + return 0; err: @@ -213,6 +240,8 @@ int txgbe_init_phy(struct txgbe *txgbe) void txgbe_remove_phy(struct txgbe *txgbe) { + if (txgbe->sfp_dev) + platform_device_unregister(txgbe->sfp_dev); if (txgbe->i2c_adap) i2c_del_adapter(txgbe->i2c_adap); diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h b/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h index de488609f713..75a4e7b8cc51 100644 --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_type.h @@ -165,6 +165,7 @@ struct txgbe { struct wx *wx; struct txgbe_nodes nodes; struct i2c_adapter *i2c_adap; + struct platform_device *sfp_dev; }; #endif /* _TXGBE_TYPE_H_ */
Register SFP platform device to get modules information. Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> --- .../device_drivers/ethernet/wangxun/txgbe.rst | 47 +++++++++++++++++++ drivers/net/ethernet/wangxun/Kconfig | 1 + .../net/ethernet/wangxun/txgbe/txgbe_phy.c | 29 ++++++++++++ .../net/ethernet/wangxun/txgbe/txgbe_type.h | 1 + 4 files changed, 78 insertions(+)