]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: mdio: Add support for RSFEC Control register for PMA
authorMike Marciniszyn (Meta) <mike.marciniszyn@gmail.com>
Thu, 30 Apr 2026 15:08:00 +0000 (11:08 -0400)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 5 May 2026 12:40:39 +0000 (14:40 +0200)
Add the constants associated with RS-FEC configuration
and status as well as the indicated separated bits for
DEVS1 to convey a separated PMA.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Mike Marciniszyn (Meta) <mike.marciniszyn@gmail.com>
Link: https://patch.msgid.link/20260430150802.3521-2-mike.marciniszyn@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
include/uapi/linux/mdio.h

index 8d769f100de60f0f634f7fdfc34e60332b4c17e1..b2541c948fc1eb6a51e466b09779abe734b38ec4 100644 (file)
 #define MDIO_MMD_DTEXS         5       /* DTE Extender Sublayer */
 #define MDIO_MMD_TC            6       /* Transmission Convergence */
 #define MDIO_MMD_AN            7       /* Auto-Negotiation */
+#define MDIO_MMD_SEP_PMA1      8       /* Separated PMA (1) */
+#define MDIO_MMD_SEP_PMA2      9       /* Separated PMA (2) */
+#define MDIO_MMD_SEP_PMA3      10      /* Separated PMA (3) */
+#define MDIO_MMD_SEP_PMA4      11      /* Separated PMA (4) */
 #define MDIO_MMD_POWER_UNIT    13      /* PHY Power Unit */
 #define MDIO_MMD_C22EXT                29      /* Clause 22 extension */
 #define MDIO_MMD_VEND1         30      /* Vendor specific 1 */
@@ -63,6 +67,8 @@
                                         * Lanes B-D are numbered 134-136. */
 #define MDIO_PMA_10GBR_FSRT_CSR        147     /* 10GBASE-R fast retrain status and control */
 #define MDIO_PMA_10GBR_FECABLE 170     /* 10GBASE-R FEC ability */
+#define MDIO_PMA_RSFEC_CTRL    200     /* RSFEC control */
+#define MDIO_PMA_RSFEC_LANE_MAP        206     /* RSFEC lane mapping */
 #define MDIO_PCS_10GBX_STAT1   24      /* 10GBASE-X PCS status 1 */
 #define MDIO_PCS_10GBRT_STAT1  32      /* 10GBASE-R/-T PCS status 1 */
 #define MDIO_PCS_10GBRT_STAT2  33      /* 10GBASE-R/-T PCS status 2 */
 #define MDIO_DEVS_DTEXS                        MDIO_DEVS_PRESENT(MDIO_MMD_DTEXS)
 #define MDIO_DEVS_TC                   MDIO_DEVS_PRESENT(MDIO_MMD_TC)
 #define MDIO_DEVS_AN                   MDIO_DEVS_PRESENT(MDIO_MMD_AN)
+#define MDIO_DEVS_SEP_PMA1             MDIO_DEVS_PRESENT(MDIO_MMD_SEP_PMA1)
+#define MDIO_DEVS_SEP_PMA2             MDIO_DEVS_PRESENT(MDIO_MMD_SEP_PMA2)
+#define MDIO_DEVS_SEP_PMA3             MDIO_DEVS_PRESENT(MDIO_MMD_SEP_PMA3)
+#define MDIO_DEVS_SEP_PMA4             MDIO_DEVS_PRESENT(MDIO_MMD_SEP_PMA4)
 #define MDIO_DEVS_C22EXT               MDIO_DEVS_PRESENT(MDIO_MMD_C22EXT)
 #define MDIO_DEVS_VEND1                        MDIO_DEVS_PRESENT(MDIO_MMD_VEND1)
 #define MDIO_DEVS_VEND2                        MDIO_DEVS_PRESENT(MDIO_MMD_VEND2)