Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3623686pxb; Mon, 24 Jan 2022 13:46:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJx59Dq4XSCUm4bI+0DathnbAW3pv7poyx9blBGy0AmSMc/i0WD4aepfPcLXKDlINr3QflB8 X-Received: by 2002:a63:ab08:: with SMTP id p8mr12992626pgf.617.1643060780552; Mon, 24 Jan 2022 13:46:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643060780; cv=none; d=google.com; s=arc-20160816; b=Dth3a9NWbVlBjv8jlIUv06JOELRA3RzWv9ALoFgi8bpbE380xwdZ2QO8GIQXzSWqOx GB5efe402h119E7bM2Y2mEdNa/LBNV+DP6TueiyTEHVlTTYNhVW/2ik7Cwu+Bb8Ibx0d JHGHsg9tcdoIcMJZ/Z7dJqb8joY+yCIxhmcR/5rmmyuwEzX1NkIlMw4eqs/ViohB9ETR Ry1rv6M592U1Z/IEEBoar/8bMXsUaPcYBn6BYBHSko4aVvG+XVoSSAIVBnrG7MuBi5Qv 9peKfvzV7OUDXXmB7LpTCGGi5+dGkv0QjvranR9Dutdz33JC08Xy4efeiBPu82F7f/6N Ukbg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=/eh4XFq95/FGU/eMJRjmjFzvkhXnVBQrEJ9c+smSCeg=; b=TgGTZbmkZppU5tJU7yE/hmElR4WQmZBo7LF1YRv44Tlz1MzzfkdautMYCllrZ91OEf SSOwm3tJlNOSSYN9q42h6HH/LZKXn3Ewy5hUwZky8IGshRBcEdx2YrUAEEbyq8QNLrtK Wz3CSc2Z+62zUNEesEXVtyzCE2p2dOWoQRhFTVAZ5pq8L0Q0OAmzqmrVanrNW7QS8OvN g0maslrbreVB0PoNVq6Se02txs5SLsttsBIl5kSL/0G53odYsNROiCmSAWUEpwe/99c3 he3BqeJ+6d+GYdHvXInTxIWSPNYuLXsm3eObmFVF7vc0zie3PK2g9GClugml8khkllWB o4Ww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=woYMOYzt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g24si14838839pgj.640.2022.01.24.13.46.08; Mon, 24 Jan 2022 13:46:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=woYMOYzt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1353026AbiAXVYn (ORCPT + 99 others); Mon, 24 Jan 2022 16:24:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1443780AbiAXU7H (ORCPT ); Mon, 24 Jan 2022 15:59:07 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACD2EC04D60A; Mon, 24 Jan 2022 12:01:12 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 4AFC76091B; Mon, 24 Jan 2022 20:01:12 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35739C340E5; Mon, 24 Jan 2022 20:01:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643054471; bh=V5YukOHU6VCz6Xve1aib1W7dXXOp4w7id33j9rMc2uU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=woYMOYztVlmC5KkENiSHZXSabFwIM0J/LfM0Fs6Sc9ivfQPtb8o883+DTDPmA3DOl YqKQ1WcRrPuUd8snW+tqifPZPAhRWnHAMFriHjhs4Kt1fvpOr1UaJxu4wERytyXQWl 60lnnK1btyL7gXUcz6Y6wCaSGWR2QzQvsyph2kJA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Russell King (Oracle)" , Linus Walleij , Corentin Labbe , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 401/563] net: gemini: allow any RGMII interface mode Date: Mon, 24 Jan 2022 19:42:46 +0100 Message-Id: <20220124184038.306708694@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184024.407936072@linuxfoundation.org> References: <20220124184024.407936072@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Russell King (Oracle) [ Upstream commit 4e4f325a0a55907b14f579e6b1a38c53755e3de2 ] The four RGMII interface modes take care of the required RGMII delay configuration at the PHY and should not be limited by the network MAC driver. Sadly, gemini was only permitting RGMII mode with no delays, which would require the required delay to be inserted via PCB tracking or by the MAC. However, there are designs that require the PHY to add the delay, which is impossible without Gemini permitting the other three PHY interface modes. Fix the driver to allow these. Signed-off-by: Russell King (Oracle) Reviewed-by: Linus Walleij Tested-by: Corentin Labbe Link: https://lore.kernel.org/r/E1n4mpT-002PLd-Ha@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- drivers/net/ethernet/cortina/gemini.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/cortina/gemini.c b/drivers/net/ethernet/cortina/gemini.c index 8df6f081f2447..d11fcfd927c0b 100644 --- a/drivers/net/ethernet/cortina/gemini.c +++ b/drivers/net/ethernet/cortina/gemini.c @@ -305,21 +305,21 @@ static void gmac_speed_set(struct net_device *netdev) switch (phydev->speed) { case 1000: status.bits.speed = GMAC_SPEED_1000; - if (phydev->interface == PHY_INTERFACE_MODE_RGMII) + if (phy_interface_mode_is_rgmii(phydev->interface)) status.bits.mii_rmii = GMAC_PHY_RGMII_1000; netdev_dbg(netdev, "connect %s to RGMII @ 1Gbit\n", phydev_name(phydev)); break; case 100: status.bits.speed = GMAC_SPEED_100; - if (phydev->interface == PHY_INTERFACE_MODE_RGMII) + if (phy_interface_mode_is_rgmii(phydev->interface)) status.bits.mii_rmii = GMAC_PHY_RGMII_100_10; netdev_dbg(netdev, "connect %s to RGMII @ 100 Mbit\n", phydev_name(phydev)); break; case 10: status.bits.speed = GMAC_SPEED_10; - if (phydev->interface == PHY_INTERFACE_MODE_RGMII) + if (phy_interface_mode_is_rgmii(phydev->interface)) status.bits.mii_rmii = GMAC_PHY_RGMII_100_10; netdev_dbg(netdev, "connect %s to RGMII @ 10 Mbit\n", phydev_name(phydev)); @@ -389,6 +389,9 @@ static int gmac_setup_phy(struct net_device *netdev) status.bits.mii_rmii = GMAC_PHY_GMII; break; case PHY_INTERFACE_MODE_RGMII: + case PHY_INTERFACE_MODE_RGMII_ID: + case PHY_INTERFACE_MODE_RGMII_TXID: + case PHY_INTERFACE_MODE_RGMII_RXID: netdev_dbg(netdev, "RGMII: set GMAC0 and GMAC1 to MII/RGMII mode\n"); status.bits.mii_rmii = GMAC_PHY_RGMII_100_10; -- 2.34.1