From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E146D1E1A3D for ; Sat, 8 Aug 2026 02:09:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786154986; cv=none; b=Rh5+h2bVU0kp922xg6TkIX621NHRkAy3qNFZEJ0yZ9J8TFL0ANvA2c9j749AdvYNeVEPkgaLqKoY1qgF7yqUGEcvoVElsJeZgQmQbtHHbZscmLHXfRdSi9Nom1Vb5UQ8NaW3p8Jgdsmq39EAgXY17Fh1rURVLqeW6hMBKINhvRg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786154986; c=relaxed/simple; bh=0Hj0QlaYSTyFYEXSfFbeWe+iEXPNu+H/OM3iwIGQxoc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=B5uzqV1UJ46KIThIMJcD3TZAVjot2o641LGKH0lQouTBx9micxZFsbihQ3Np1nqVeSRyFYmg0jupv9w8NbmObosBWxLPykaniUKnJ4wh2GHlwBXuEIpoyD7R5qcaPdKbl0npwhvLXWhMu4G8v1lDRf+SLLoWDXA7hAAnDT3AUpE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DkJYFvcm; arc=none smtp.client-ip=209.85.216.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DkJYFvcm" Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-38f620399a0so130344a91.2 for ; Fri, 07 Aug 2026 19:09:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786154984; x=1786759784; darn=vger.kernel.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:content-type; bh=9bWoXHbpk4foxcIrHN4t0PDZwpmsKGgehGiQpXNvjYU=; b=DkJYFvcm5KXWLTulE8gG5m8ceDKo32Jjld+fn/F/tt0Rm2eaGM8JM+ZLefJ/l4UTAH FUM8O3kJmk9boVjvM6aXTcArpyChTiZ/KiTYHhpjWKgPp6ak+FtQ8tcR1TPpnonvFxtv oU9X3Buw+54mqEGLL++h2lGDs0oIyCG/iZekdIQeoPvVTLqSs4/oOFN+UnRfXV+8SvKx VAwCAUTEaXVld5hUG9WdOiQErfKdd88U7IHmAQuNa/y/sAqPTJWz7cR7MzRZp/uFxoWi 6FgXcSW9s12qXVpLHik93m0Ol2rxzGBckjGeh2Axlv2NnVtsS57oVXI2TCMg9hj5RRCs M21Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786154984; x=1786759784; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=9bWoXHbpk4foxcIrHN4t0PDZwpmsKGgehGiQpXNvjYU=; b=THCbCE+SbmQiqmyb2+XfAdwpwoExdZAArb4j2aqvL8M4CpQIzPVQUqLOPnSmDe3DZa PUS6uSwQBSOGwleAdS6HQWNvlUHEVXRVo45nSkdps1kiOryPdnyO1C8vTqsQhFR7ctPy BDHqBiEnxnYA5UUgOGd0yTlk1PvvAz73PiopKp3I2fEplHb1T6yTCDXLY8xRQ1XMwxgM PCNWnoHwiSseTrBt5zP/SKtJXreZnhkVzoWJCOmIeeTRK9mftRAbj5ESPJpOoAvHaeSf iGVw2wgU7JV1aAMu8a9ekt6cogodAhcJlGpPsUUeVEKDGXgAy0J/+BSBqx224STouWV8 BlDA== X-Forwarded-Encrypted: i=1; AHgh+RrVw85jgdM7UqqGPTLP0dXgkwTafFfBZlzgGlGwAGyLejVFeia9sue8mCFCYMFF9N1hAn7B9yu1jwlyXzw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5TnXdm6I28v05DFdGIjkdutsyb78SYB+sv+PYjVFee+DVMfxz 331vdTRh1LeuxNrZXO4mbkAqbClZIPTLWCEe+rHkO1rzZ0ARsEq1Pcgh X-Gm-Gg: AR+sD11r5eMeFA+GTLrLdcHXqpBRrO9HN+1D8E9deCRTyo3+LhLp9I6h0TK3HASUOZW QnbObpJdnwkRUDpjZZ5RgEYMipf9Mw+v9dZ4865MFE0mkP2cpyO5IQH79RKOWGRY6kTP6nCP/Qv a6SQXksiAYwmPf4KAcrWmM+ko8L/Nxyk4XmtOVFdo7LkVvGvrtkRcFew+bflJmlrH0z54RZ/gET 8siaWPHfmhNW8r/IB97RQ+njk4YLBLON8H42Juj5o/O2N6cc9f18M2OaTJ4/TCE8qgrGDX/Mqpi mUZZAyRMnGhL6Ts8Yzy9iA+pob40bavsP0VwG17WZrjkKcmcf9hq2fD1XNx6P7GOX3Uvr0vcoSD 85efGkxK1d0WwwxFVZSlx81g1oRgmT0e0cHEaYPP+xkUTKH8dwf2BpUHflbz+qJ+VV3ueXAJofx kTzsmwGSPFgaa4lSHqK4tG1poxbN9qSeN6RhPtFhlGwUtCHibZg5+NyK30e6SkMk5omv3cIm9qw 1c4u+obKuFqzRjqMa0OUcEKAG8A92QqFJKwfznx451hXBhi1PzzWg== X-Received: by 2002:a17:90b:580b:b0:38e:9e9d:9209 with SMTP id 98e67ed59e1d1-3903c5c51cdmr28221153a91.17.1786154984223; Fri, 07 Aug 2026 19:09:44 -0700 (PDT) Received: from ubuntu-openwrt.tail1b3f25.ts.net ([123.201.0.80]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315beb87d3bsm13851142eec.14.2026.08.07.19.09.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 19:09:43 -0700 (PDT) From: Sandeep Sondagar To: netdev@vger.kernel.org Cc: linux@armlinux.org.uk, andrew@lunn.ch, hkallweit1@gmail.com, davem@davemloft.net, edumazet@google.com, kuba@kernochenel.org, pabeni@redhat.com, linux-kernel@vger.kernel.org, j4g8y7@gmail.com, robert.marko@sartura.hr, Sandeep Sondagar Subject: [PATCH net v2] net: phylink: treat PSGMII as an inband capable interface Date: Sat, 8 Aug 2026 07:39:37 +0530 Message-ID: <20260808020937.787537-1-sandeepsondagar@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260807194937.785825-1-sandeepsondagar@gmail.com> References: <20260807194937.785825-1-sandeepsondagar@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit PSGMII (the Qualcomm 5-port SGMII) conveys the link negotiation result from the PHY back to the MAC through per-channel in-band SGMII words, exactly like SGMII and QSGMII. However, PHY_INTERFACE_MODE_PSGMII is missing from phylink_get_inband_type(), so phylink reports INBAND_NONE for it and phylink_pcs_neg_mode() falls back to PHYLINK_PCS_NEG_NONE. The PCS is then programmed in force mode and its control-register speed bits (which default to 1000base) are used, so a slower copper link - e.g. 100base-T - is reported as 1Gbps and cannot pass traffic. Classify PSGMII alongside SGMII and QSGMII as INBAND_CISCO_SGMII so the PCS negotiates in-band and the resolved link speed comes from the PHY in-band word. Fixes: 83b5f0253b1e ("net: phy: Introduce PSGMII PHY interface mode") Signed-off-by: Sandeep Sondagar --- drivers/net/phy/phylink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index 18d2ead97aa5..983a1a3cee37 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -1040,6 +1040,7 @@ static enum inband_type phylink_get_inband_type(phy_interface_t interface) { switch (interface) { case PHY_INTERFACE_MODE_SGMII: + case PHY_INTERFACE_MODE_PSGMII: case PHY_INTERFACE_MODE_QSGMII: case PHY_INTERFACE_MODE_QUSGMII: case PHY_INTERFACE_MODE_USXGMII: -- 2.43.0