From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (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 375233161BE for ; Sat, 8 Aug 2026 01:56:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786154172; cv=none; b=qh2w21KU6iZwYANPL74LDMuTQYq0leqzhgwzEpidOAJYt5FQ//TLXGPWBbojdzTqgvqj54ZEu2mmMWnX+YFJYZMVuWtO8DrDUHS/5IoT409WSd9D7X3nd/QbEeu0a4tJ5Aard7LlGyLkNx0JFemxk5oYCBFnqfUur9D+DzX0mSM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786154172; c=relaxed/simple; bh=0Hj0QlaYSTyFYEXSfFbeWe+iEXPNu+H/OM3iwIGQxoc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SdQgpZ9bxdTytQtosZzhGktzDdQ4lm3v07fIjm85yVSaBfm7UMm2LE6gi1wDzuZUOOmH/75/FuxibDJlC2r0/lGABAdDXh3obKOWwXC2+0xnhzJBgncXjhDCflXOhk3T6HIIpET5Uqgw3p08QwyD46o7R41WAzoGVKkwqEZC31U= 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=NVdr1cFH; arc=none smtp.client-ip=209.85.210.178 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="NVdr1cFH" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-84f38f3b36eso76502b3a.1 for ; Fri, 07 Aug 2026 18:56:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786154170; x=1786758970; 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=NVdr1cFHI6fd7ghx772PFo8znIbjNvyH/hyZ0/gfXrldpaoSlO0svNwfhJ/8Xdg69q gsNxIhDn6rjvPVn+sGloQCzGJNL9hGmdlwggTvAELYfkMbTs0UCt9Y+h8SkQkMOBzbKF wekF1KULKQArDtEwhngMoJGMY9VD77ZxUOs02PDuWIxTPwK//r/73rj5WbfaIuf657hS rA9MTj+4RIc/nl2jm9tGD47YJCA0Ql5aZVMdiJvSYRbxTEK/nJXdXqa8Nc9rV1//s7gj LJc5rEYBrezLq8gwzTZ2PJ9+h1YMhaLm7ohcM/Jykn7g3j93g45e3SGjcvTOBZ57dm+r LAUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786154170; x=1786758970; 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=S4kuVe2axGvmA2n9LhlvmX6bW7lL3UqH4T4MtKOZXi3RaUe2XSHeBDEreyV3KXXdNj Ujnr7tt/TGbgYUUWjxHscUkBSI7ixcvXCkLb+RogkgKqZLaMXf4Bm20pV0eQBL/fvboQ Ngoy68QtGDOpaLToWssMSrFUlaMv/ZDuW/2rqdRzpI828sX2jw+m+Y7un5bZmyF8kt1g ZlBTJgLu0qJvLEkuEVXAAFZiLMbSLQuc8sx6uD9s46OrfcFpgq6Fjc+VytgIQAQKWr/f pS6gMM5jZEC8yz4774wSg+lYRDAyN9uPzbji3yK+ZXvHbPEjhVV5wpL5DvVEpV2Dt8Wd 1tIA== X-Forwarded-Encrypted: i=1; AHgh+RrOvq/CAAVD5eyREJLQ0Y3Fvy8TsXRIBcUze1VwJugP7ZMGe2dm82/uiv2xFXxqz29GOAud+3H70stYA6M=@vger.kernel.org X-Gm-Message-State: AOJu0YxD8dX3aLjqNAsC7WdDyIhYMpGfoNrvJxu4Lfslq6LrUXWyRq/1 V5JzTfXnd4a7RRy45LxOe1xYf/pVRCSjBxqTECiq7qTvPHfQz+IXYb13 X-Gm-Gg: AR+sD13JxpZGVDZESKp5cN+7MmnZHP3Y1jNZd5+dXbUmupv3gYg3NGLxPhGeLeHUBe+ BvKlQ9PdLHUIDHlUAFvhZZdrYfe3UEGnGChEEoAQs6XziwsEDlCNvzBolYm5JWBer7MqxEcwDR3 DPRBRYttr37Uc726QE67BpH7epZjE0dfaWHZgNm5Wvz1cey2+nsJ7cAm7Gjz5Htqp5+ZschpExv 3ba/aqrnuMWOX2c9vD9UCVts8krMfF5w70/xiie8MfNa/ikPOc6jYXMOh95XSVUuVoagq3nnRVr 40Eh8kg1Mu/HPMIVr6eEu5yX39WeG3hBPFeY+3I+MieFUc/HInJZz/Gx/lrr6YQAKBumOrnPZ+d /fWWbcfI61eOG9OPVTwXsVmqM4dhT/i1FYCbEDvHkbKUrYZujJQzFH9VqgDb1HoxcQhKRekLTnc pS8JkmGVqN1hZwR2nCi0++MhCF+FbKnRgsKELACCkcS3GM/AZVXfWSnoUZXtNYlx5zylFlAmpDV 5W+ceC197UtqjWbgt+4l9p0m0n/TKGbg/7Z1fsk8qOS6mYphuLZ/w== X-Received: by 2002:a05:6a21:6da8:b0:3c3:bee9:8eec with SMTP id adf61e73a8af0-3cbadc10910mr14428014637.19.1786154170362; Fri, 07 Aug 2026 18:56:10 -0700 (PDT) Received: from ubuntu-openwrt.tail1b3f25.ts.net ([123.201.0.80]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315beb88413sm19544823eec.18.2026.08.07.18.56.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 18:56:09 -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@kernel.org, pabeni@redhat.com, linux-kernel@vger.kernel.org, Sandeep Sondagar Subject: [PATCH net v2] net: phylink: treat PSGMII as an inband capable interface Date: Sat, 8 Aug 2026 07:26:03 +0530 Message-ID: <20260808015603.787467-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