From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 2157D454E9 for ; Tue, 25 Jun 2024 02:00:28 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1680441109; Tue, 25 Jun 2024 02:00:28 +0200 (CEST) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mails.dpdk.org (Postfix) with ESMTP id 641A74026F for ; Tue, 25 Jun 2024 02:00:26 +0200 (CEST) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4218180a122so37417325e9.1 for ; Mon, 24 Jun 2024 17:00:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719273626; x=1719878426; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CCcyDHmlvEkypl7gjlzrfY9Lk2tZ4+D3EqIskdlaN4Y=; b=nXB6K4Bvfg8wb26gNpfk7U1ySycTafN6jIVOV8m/QA8xJlkY7xImKXEpj6u1ABt0qt GZ9fA6K7Rak+uPiQVP7ERxMsQLXQK4mkgN5dByPhldnq3BMtzLmxl9Rf6/9X/YcsTBH4 1EwKpa6oBkEwVpJMO0tWy+llyrdhxiUuX1XhE5PdwDRt1s+wYrQVaUkYmBAVQoDp2yMh UM70NQIAyGdJ4NgH5O7xmq5ZCEiJlQs8lpJMfSyPb97TtxJ5nOIdg75eQW/K5+gzZ3Xm mh0gMno1DLsO2s2/f3GMCqWvl8aCC3OA+/2oot4u/N3YF1it7Uh2MOMy7TbWXJyO2sUF Fncg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719273626; x=1719878426; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CCcyDHmlvEkypl7gjlzrfY9Lk2tZ4+D3EqIskdlaN4Y=; b=uH+W6faArjuBeOhXmtVuABo3bHU5NM6XehSPWh16y/U6dUSLx+0YV9hpP23shJACiN j4zHySlUvWgQM+U/mpu8Wvk1zWczImNhzcT2RFf5zEOLfwzFoBPXCqUq9R6t+ngvBYsy QWfT5xckh5IpsobqioiIf3JH3U90MHdRDHx2kUtOXFXxp7elBxc2co+zKwkoabyYwnwy CfShzVO1OKixzeND2bkb/DCyEXqjOdrRsEOdETwcw2uRebrldXlcP+eWbf6h6lLKyhYX aPO4fouC4D1wYZcfgv8oydmXoBJZRrQvp+FDSKNMau9+Vsg9ebjZZr1S/8aMnhc6CUFV wqVA== X-Forwarded-Encrypted: i=1; AJvYcCWzGkRHd17s5f7Cf4evKAz//Hfh2hMufg4HV7Pe3obwRpCJAs3Baq0TxjGPFtQu6iowtUF55ld1tYcCdU4D6z4= X-Gm-Message-State: AOJu0Yz0vM7tOKP+S8xdwpQxVGM4JPGZs4ydHoNMOk6rG9fbwjJnJZF1 1JpY3rrraIPIIxTj80f2ujd8J0TaHhzfOGPjsy4TQhuhweTyuIs6 X-Google-Smtp-Source: AGHT+IH927lznu/hSUY5/u0TNRUY1KQxathYRKXmx/TW6gTrccobwIyybew9uTsEwQOp7SCDOvv/Tw== X-Received: by 2002:a05:6000:1212:b0:362:3730:8762 with SMTP id ffacd0b85a97d-366e948fa69mr4681502f8f.24.1719273625884; Mon, 24 Jun 2024 17:00:25 -0700 (PDT) Received: from localhost ([137.220.120.171]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42481921f16sm149341845e9.41.2024.06.24.17.00.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jun 2024 17:00:25 -0700 (PDT) From: luca.boccassi@gmail.com To: Venkat Kumar Ande Cc: Selwin Sebastian , dpdk stable Subject: patch 'net/axgbe: fix MDIO access for non-zero ports and CL45 PHYs' has been queued to stable release 22.11.6 Date: Tue, 25 Jun 2024 00:58:08 +0100 Message-Id: <20240624235907.885628-22-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240624235907.885628-1-luca.boccassi@gmail.com> References: <20240624235907.885628-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Hi, FYI, your patch has been queued to stable release 22.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 06/27/24. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b43c908eb24790a7e1150471f8f662fd9576a009 Thanks. Luca Boccassi --- >From b43c908eb24790a7e1150471f8f662fd9576a009 Mon Sep 17 00:00:00 2001 From: Venkat Kumar Ande Date: Tue, 4 Jun 2024 17:41:33 +0530 Subject: [PATCH] net/axgbe: fix MDIO access for non-zero ports and CL45 PHYs [ upstream commit d06394d2641e3fdc0538a23354d9ff7c5aa9b277 ] The XGBE supports performing MDIO operations using an MDIO command request. The driver mistakenly uses the mdio port address as the MDIO command request device address instead of the MDIO command request port address. Additionally, the driver does not properly check for and create a clause 45 MDIO command Without the fix PHY device is not detected and can't be usable. Check the supplied MDIO register to determine if the request is a clause 45 operation (MII_ADDR_C45). For a clause 45 operation, extract device address and register number from the supplied MDIO register and use them to set the MDIO command request device address and register number fields. For a clause 22 operation, the MDIO request device address is set to zero and the MDIO command request register number is set to the supplied MDIO register. In either case, the supplied MDIO port address is used as the MDIO command request port address. Fixes: 4ac7516b8b39 ("net/axgbe: add phy init and related APIs") Signed-off-by: Venkat Kumar Ande Acked-by: Selwin Sebastian --- drivers/net/axgbe/axgbe_common.h | 2 -- drivers/net/axgbe/axgbe_dev.c | 22 ++++++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/net/axgbe/axgbe_common.h b/drivers/net/axgbe/axgbe_common.h index a5d11c5832..51532fb34a 100644 --- a/drivers/net/axgbe/axgbe_common.h +++ b/drivers/net/axgbe/axgbe_common.h @@ -407,8 +407,6 @@ #define MAC_MDIOSCAR_PA_WIDTH 5 #define MAC_MDIOSCAR_RA_INDEX 0 #define MAC_MDIOSCAR_RA_WIDTH 16 -#define MAC_MDIOSCAR_REG_INDEX 0 -#define MAC_MDIOSCAR_REG_WIDTH 21 #define MAC_MDIOSCCDR_BUSY_INDEX 22 #define MAC_MDIOSCCDR_BUSY_WIDTH 1 #define MAC_MDIOSCCDR_CMD_INDEX 16 diff --git a/drivers/net/axgbe/axgbe_dev.c b/drivers/net/axgbe/axgbe_dev.c index 6a7fddffca..3389954aa6 100644 --- a/drivers/net/axgbe/axgbe_dev.c +++ b/drivers/net/axgbe/axgbe_dev.c @@ -63,15 +63,27 @@ static int mdio_complete(struct axgbe_port *pdata) return 0; } +static unsigned int axgbe_create_mdio_sca(int port, int reg) +{ + unsigned int mdio_sca, da; + + da = (reg & MII_ADDR_C45) ? reg >> 16 : 0; + + mdio_sca = 0; + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, RA, reg); + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, PA, port); + AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, DA, da); + + return mdio_sca; +} + static int axgbe_write_ext_mii_regs(struct axgbe_port *pdata, int addr, int reg, u16 val) { unsigned int mdio_sca, mdio_sccd; uint64_t timeout; - mdio_sca = 0; - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, REG, reg); - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, DA, addr); + mdio_sca = axgbe_create_mdio_sca(addr, reg); AXGMAC_IOWRITE(pdata, MAC_MDIOSCAR, mdio_sca); mdio_sccd = 0; @@ -97,9 +109,7 @@ static int axgbe_read_ext_mii_regs(struct axgbe_port *pdata, int addr, unsigned int mdio_sca, mdio_sccd; uint64_t timeout; - mdio_sca = 0; - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, REG, reg); - AXGMAC_SET_BITS(mdio_sca, MAC_MDIOSCAR, DA, addr); + mdio_sca = axgbe_create_mdio_sca(addr, reg); AXGMAC_IOWRITE(pdata, MAC_MDIOSCAR, mdio_sca); mdio_sccd = 0; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-06-25 00:22:15.002176787 +0100 +++ 0022-net-axgbe-fix-MDIO-access-for-non-zero-ports-and-CL4.patch 2024-06-25 00:22:13.105184018 +0100 @@ -1 +1 @@ -From d06394d2641e3fdc0538a23354d9ff7c5aa9b277 Mon Sep 17 00:00:00 2001 +From b43c908eb24790a7e1150471f8f662fd9576a009 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d06394d2641e3fdc0538a23354d9ff7c5aa9b277 ] + @@ -24 +25,0 @@ -Cc: stable@dpdk.org