The branch main has been updated by np:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=c22b297062e1440676973a8aa89cbad1571e22f9

commit c22b297062e1440676973a8aa89cbad1571e22f9
Author:     Navdeep Parhar <n...@freebsd.org>
AuthorDate: 2025-03-16 02:26:08 +0000
Commit:     Navdeep Parhar <n...@freebsd.org>
CommitDate: 2025-03-18 18:36:00 +0000

    cxgbe(4): Add two new transceiver types.
    
    Future firmwares will report these types to the driver.  These
    transceivers work already but are misidentified as a different type.
    
    MFC after:      1 month
    Sponsored by:   Chelsio Communications
---
 sys/dev/cxgbe/firmware/t4fw_interface.h | 2 ++
 sys/dev/cxgbe/t4_main.c                 | 8 +++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/sys/dev/cxgbe/firmware/t4fw_interface.h 
b/sys/dev/cxgbe/firmware/t4fw_interface.h
index 686bb55d658b..2794bae9474b 100644
--- a/sys/dev/cxgbe/firmware/t4fw_interface.h
+++ b/sys/dev/cxgbe/firmware/t4fw_interface.h
@@ -7820,6 +7820,8 @@ enum fw_port_module_type {
        FW_PORT_MOD_TYPE_TWINAX_PASSIVE = 0x4,
        FW_PORT_MOD_TYPE_TWINAX_ACTIVE  = 0x5,
        FW_PORT_MOD_TYPE_LRM            = 0x6,
+       FW_PORT_MOD_TYPE_LR_SIMPLEX     = 0x7,
+       FW_PORT_MOD_TYPE_DR             = 0x8,
        FW_PORT_MOD_TYPE_ERROR          = M_FW_PORT_CMD_MODTYPE - 3,
        FW_PORT_MOD_TYPE_UNKNOWN        = M_FW_PORT_CMD_MODTYPE - 2,
        FW_PORT_MOD_TYPE_NOTSUPPORTED   = M_FW_PORT_CMD_MODTYPE - 1,
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c
index 20df6a97aa87..9e91250cb61c 100644
--- a/sys/dev/cxgbe/t4_main.c
+++ b/sys/dev/cxgbe/t4_main.c
@@ -3537,6 +3537,7 @@ port_mword(struct port_info *pi, uint32_t speed)
                /* Pluggable transceiver */
                switch (pi->mod_type) {
                case FW_PORT_MOD_TYPE_LR:
+               case FW_PORT_MOD_TYPE_LR_SIMPLEX:
                        switch (speed) {
                        case FW_PORT_CAP32_SPEED_1G:
                                return (IFM_1000_LX);
@@ -3593,6 +3594,10 @@ port_mword(struct port_info *pi, uint32_t speed)
                        if (speed == FW_PORT_CAP32_SPEED_10G)
                                return (IFM_10G_LRM);
                        break;
+               case FW_PORT_MOD_TYPE_DR:
+                       if (speed == FW_PORT_CAP32_SPEED_100G)
+                               return (IFM_100G_DR);
+                       break;
                case FW_PORT_MOD_TYPE_NA:
                        MPASS(0);       /* Not pluggable? */
                        /* fall throough */
@@ -12210,7 +12215,8 @@ t4_os_portmod_changed(struct port_info *pi)
        struct vi_info *vi;
        if_t ifp;
        static const char *mod_str[] = {
-               NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX", "LRM"
+               NULL, "LR", "SR", "ER", "TWINAX", "active TWINAX", "LRM",
+               "LR_SIMPLEX", "DR"
        };
 
        KASSERT((pi->flags & FIXED_IFMEDIA) == 0,

Reply via email to