From patchwork Fri Jul 14 06:31:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120269 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2323303vqm; Fri, 14 Jul 2023 00:07:20 -0700 (PDT) X-Google-Smtp-Source: APBJJlHRllyFv4GhDZ9nsaymLCuYq2T5q1oPbRmbpFbQdJR8UEj75SKI3B6c1iChdA2UC0AFu9C0 X-Received: by 2002:a17:903:228b:b0:1b8:3590:358a with SMTP id b11-20020a170903228b00b001b83590358amr3414283plh.19.1689318440402; Fri, 14 Jul 2023 00:07:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689318440; cv=none; d=google.com; s=arc-20160816; b=XhzZwOAe5oEG+iMrTT7cMOgu8ZPz+5BqIotjCLKVJkdnhbBIFtusfGS9368UfUzLfb QOzjXIm+XqD1prhaqmzZy96z2ozWt3bWXo08n8bolduW8TOpODOc21y2hva8bfexGtJk a6BqIVM2GEgjCk6UbgWG69XlkBSHvgn5gmtxOqCm7wp+g7k+r1Vk02nPFzyL9cZvtjmG lohqGUBJ1rC73vET+ij6Jup4DvFZTgVkHprABXZLQP2yMqpToMBCrjdFUpXpRYaSTnf6 TR6hgX/BiWmnTHlYypnzNnwmGs7D8cGhvJdxZAVvnfKhQ0NRuwfHzuqf9cwchYurjuPa vjDg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=0Nigy45DTzqvz5jAzuLvQ4nGrEi4BKVaJe40bEGGQxM=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=d4q+1HWj1ddbcVaG0xAtWKUxgRefhVA2N4HdCImc7NB3bzTzaygfOb092GPvtI0xx2 ZRKqOiOPDoaG81teDq1C5khQCNiChIzllyn1p79SRbTEhZ5uHmSRloFdevxsDfj/Hga8 LGryPVNNvAIifm0Lek2eSMXfSakK8AhVlNZGxOQyecKASFgOYg3r1VOBw/ixm1e6jN8r lZ+qRO+86PqnO+vRybfPNkxln9sVCi78FMJLK/k00PF3uCxIzIkGfiYU0bt+zpiQW+rA Lc2U+/zG1I900YTNYPNVl+xMgzPphcIXZycps6bdoMBHii1juSml1q6pR+EWlXSBC9YP mawQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=eQgbPEl5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id u7-20020a170902e80700b001b8abd7038fsi1391048plg.20.2023.07.14.00.07.07; Fri, 14 Jul 2023 00:07:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=eQgbPEl5; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235213AbjGNGcV (ORCPT + 99 others); Fri, 14 Jul 2023 02:32:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56124 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235203AbjGNGcQ (ORCPT ); Fri, 14 Jul 2023 02:32:16 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 46CA510FA; Thu, 13 Jul 2023 23:32:14 -0700 (PDT) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36E4B0n4016166; Fri, 14 Jul 2023 06:32:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=0Nigy45DTzqvz5jAzuLvQ4nGrEi4BKVaJe40bEGGQxM=; b=eQgbPEl5smOSsgESzcGkqQyH1X9Xk1/4+rNVBhJLEoRdtfaM7s8sCAWCIbLV6O7GmPJY Yy9IeoppQ0O/7ft/gOmp8f0IYN1MQvYcgww1/4FBUOU9qe0B9UrWfrdxGdV7SnBwOSeo Ni4dueWMJeTvHzPQza3sgxeFdsGKiL8b24LMt/nEILHR0nX7U4n8CGTb5V07hSD4sH8K 9NiJ+BvBJPTHcNc2J+Ord42oRv3s/ZF8dAIWPvYTPUqhFSYLj0Drvo+6ijpXkXX5+tyn TMpgNmDxeMWE1GT9c2X/2f997fhETVNhHnohXIs8wE9X4Q1h3NUduuP5qs9HitSpX4D2 4A== Received: from nalasppmta03.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rtpts12cq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:00 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36E6W0MP023079 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:00 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Thu, 13 Jul 2023 23:31:57 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v2 1/6] net: phy: at803x: support qca8081 genphy_c45_pma_read_abilities Date: Fri, 14 Jul 2023 14:31:31 +0800 Message-ID: <20230714063136.21368-2-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714063136.21368-1-quic_luoj@quicinc.com> References: <20230714063136.21368-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: nNLpoLunfXPRpFrJCs7T17-r0ESNziBU X-Proofpoint-ORIG-GUID: nNLpoLunfXPRpFrJCs7T17-r0ESNziBU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-14_03,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 phishscore=0 spamscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0 mlxscore=0 priorityscore=1501 mlxlogscore=947 clxscore=1015 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307140059 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771378772478345086 X-GMAIL-MSGID: 1771378772478345086 qca8081 PHY supports to use genphy_c45_pma_read_abilities for getting the PHY features supported except for the autoneg ability but autoneg ability exists in MII_BMSR instead of MMD7.1, add it manually after calling genphy_c45_pma_read_abilities. Signed-off-by: Luo Jie Reviewed-by: Russell King (Oracle) --- drivers/net/phy/at803x.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index c1f307d90518..11388ef3f7ef 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -897,15 +897,6 @@ static int at803x_get_features(struct phy_device *phydev) if (err) return err; - if (phydev->drv->phy_id == QCA8081_PHY_ID) { - err = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_PMA_NG_EXTABLE); - if (err < 0) - return err; - - linkmode_mod_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, phydev->supported, - err & MDIO_PMA_NG_EXTABLE_2_5GBT); - } - if (phydev->drv->phy_id != ATH8031_PHY_ID) return 0; @@ -1991,6 +1982,23 @@ static int qca808x_cable_test_get_status(struct phy_device *phydev, bool *finish return 0; } +static int qca808x_get_features(struct phy_device *phydev) +{ + int ret; + + ret = genphy_c45_pma_read_abilities(phydev); + if (ret) + return ret; + + /* The autoneg ability is not existed in bit3 of MMD7.1, + * but it is supported by qca808x PHY, so we add it here + * manually. + */ + linkmode_set_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, phydev->supported); + + return 0; +} + static struct phy_driver at803x_driver[] = { { /* Qualcomm Atheros AR8035 */ @@ -2160,7 +2168,7 @@ static struct phy_driver at803x_driver[] = { .set_tunable = at803x_set_tunable, .set_wol = at803x_set_wol, .get_wol = at803x_get_wol, - .get_features = at803x_get_features, + .get_features = qca808x_get_features, .config_aneg = at803x_config_aneg, .suspend = genphy_suspend, .resume = genphy_resume, From patchwork Fri Jul 14 06:31:32 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120266 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2318052vqm; Thu, 13 Jul 2023 23:57:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlFKszcd6d+E5dWHnUVR/ZPYYWo5kCpKYxaCRqzlYafmhd/gLWWk2nUegCiWUPHl1bSjgtxQ X-Received: by 2002:a17:90b:3505:b0:256:2fd4:e238 with SMTP id ls5-20020a17090b350500b002562fd4e238mr2639397pjb.38.1689317821861; Thu, 13 Jul 2023 23:57:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689317821; cv=none; d=google.com; s=arc-20160816; b=Qlpdh8F5uoCZJ1IgcyVeomOsfSTzOvQZvClp5aMeeYR1ZLc1LotW9tPjBduButWYbe /ieCMlVkXpX7WRI84+grSg0dpmLptzoZZ0sTUi50JaatFlZiTx+vired0P7fmI1PWByq kY9t4X8bKLFU9L+Xj5LrQcKk1EqGdbnC/9uJwNeOuulOJQEoI4zejt3TxTkZg+r+9AxP GDXyftQHiT64YVmUePiQZ53H4IGd0R+g2T0xmhHzvHmfszZijF5XFgVWiNvtnooBF9qO Gi45bCRYc9dQVJiQGfNTujTn+xaHnphZ79Dvi9XrL0GRz4mfsrbYWJnhwLq4rx0hMLyR mbpw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=qFXVQD0prdpA01sUHYh5ZXgAjpmSFkfts9H2Mz2NJOc=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=yig5tQdgz5cCXRRy41nEMhQnQnzYRzJp5DOa5Lt3YvR90mTvvb3xZZg3yJHRTjsmPg I+rHbSIPx9JlQlUW0slmalcVHoZ4AwCMyZBgOk0ohu9d8D4DheKBR1UD3K6qLP2JVW8V rffYpKIMJvuzT1nYCg3/K7A82Z1MEk5yi0437krfHOM4XPFCcZNX9qtWB65EDJu1PIwM 9TyyXqfzmnvWaY8+g9HYKzcPlLYYFh6ynfDFmoM+qlPeuPViA1EQS3xui4s0QXzFZFGO M4KQxoTyogIHAQ90DexiNmFOU6zcnbEUfN3bLWGNn4JCQJJA6AL7QsbyiY2sSaZAqyiZ FLOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=NW03l+7+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ip4-20020a17090b314400b002636d222400si818709pjb.14.2023.07.13.23.56.47; Thu, 13 Jul 2023 23:57:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=NW03l+7+; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235237AbjGNGca (ORCPT + 99 others); Fri, 14 Jul 2023 02:32:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56184 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235212AbjGNGcU (ORCPT ); Fri, 14 Jul 2023 02:32:20 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7ABDC2D79; Thu, 13 Jul 2023 23:32:16 -0700 (PDT) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36E4AjRb016863; Fri, 14 Jul 2023 06:32:04 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=qFXVQD0prdpA01sUHYh5ZXgAjpmSFkfts9H2Mz2NJOc=; b=NW03l+7+F7/MUFGd/azi8PwKb0iufCtb+GpJAlRfmFvSnO+AvhpiuhLWWFEg7Y67mXU5 zodRWDODWPv1HDDmpQc2HrsymL8EsfXC+v4de5F+sBsLxEH5g5WNs0uiLjLMEKMPBc+1 PtvQiaOuTO4gI5nTClIcbkhg0rMc2NFZHNeGwTRpbf6/9+oIrTb32Ut/NcE4HovJMzf/ sJ85dBxc1in/MmkYQrycWeKXX9xiZwd7shEv9JhXC/tMXQ+WRP5YpovZM/cQ1GQuXrsg ychqZ7mV8VHnnmb2vJVRPXH0d+6tsvobsJdYTpPYJQ/2Ym2tejToH/TPUz6VqPgj5UN0 /w== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rtptr11wy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:04 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36E6W3Fi008679 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:03 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Thu, 13 Jul 2023 23:32:00 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v2 2/6] net: phy: at803x: merge qca8081 salve seed function Date: Fri, 14 Jul 2023 14:31:32 +0800 Message-ID: <20230714063136.21368-3-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714063136.21368-1-quic_luoj@quicinc.com> References: <20230714063136.21368-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: eDGjGR46A10QZDkizcu9Ip6j1ljymVTx X-Proofpoint-GUID: eDGjGR46A10QZDkizcu9Ip6j1ljymVTx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-14_03,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0 phishscore=0 mlxscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 priorityscore=1501 bulkscore=0 adultscore=0 suspectscore=0 mlxlogscore=997 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307140059 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771378123961635151 X-GMAIL-MSGID: 1771378123961635151 merge the seed enablement and seed value configuration into one function, since the random seed value is needed to be configured when the seed is enabled. Signed-off-by: Luo Jie Reviewed-by: Russell King (Oracle) --- drivers/net/phy/at803x.c | 29 +++++++++-------------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index 11388ef3f7ef..1d4aef60d51a 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -1725,24 +1725,19 @@ static int qca808x_phy_fast_retrain_config(struct phy_device *phydev) return 0; } -static int qca808x_phy_ms_random_seed_set(struct phy_device *phydev) -{ - u16 seed_value = get_random_u32_below(QCA808X_MASTER_SLAVE_SEED_RANGE); - - return at803x_debug_reg_mask(phydev, QCA808X_PHY_DEBUG_LOCAL_SEED, - QCA808X_MASTER_SLAVE_SEED_CFG, - FIELD_PREP(QCA808X_MASTER_SLAVE_SEED_CFG, seed_value)); -} - static int qca808x_phy_ms_seed_enable(struct phy_device *phydev, bool enable) { - u16 seed_enable = 0; + u16 seed_value; - if (enable) - seed_enable = QCA808X_MASTER_SLAVE_SEED_ENABLE; + if (!enable) + return at803x_debug_reg_mask(phydev, QCA808X_PHY_DEBUG_LOCAL_SEED, + QCA808X_MASTER_SLAVE_SEED_ENABLE, 0); + seed_value = get_random_u32_below(QCA808X_MASTER_SLAVE_SEED_RANGE); return at803x_debug_reg_mask(phydev, QCA808X_PHY_DEBUG_LOCAL_SEED, - QCA808X_MASTER_SLAVE_SEED_ENABLE, seed_enable); + QCA808X_MASTER_SLAVE_SEED_CFG | QCA808X_MASTER_SLAVE_SEED_ENABLE, + FIELD_PREP(QCA808X_MASTER_SLAVE_SEED_CFG, seed_value) | + QCA808X_MASTER_SLAVE_SEED_ENABLE); } static int qca808x_config_init(struct phy_device *phydev) @@ -1766,12 +1761,7 @@ static int qca808x_config_init(struct phy_device *phydev) if (ret) return ret; - /* Configure lower ramdom seed to make phy linked as slave mode */ - ret = qca808x_phy_ms_random_seed_set(phydev); - if (ret) - return ret; - - /* Enable seed */ + /* Enable seed and configure lower ramdom seed to make phy linked as slave mode */ ret = qca808x_phy_ms_seed_enable(phydev, true); if (ret) return ret; @@ -1816,7 +1806,6 @@ static int qca808x_read_status(struct phy_device *phydev) if (phydev->master_slave_state == MASTER_SLAVE_STATE_ERR) { qca808x_phy_ms_seed_enable(phydev, false); } else { - qca808x_phy_ms_random_seed_set(phydev); qca808x_phy_ms_seed_enable(phydev, true); } } From patchwork Fri Jul 14 06:31:33 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120268 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2323243vqm; Fri, 14 Jul 2023 00:07:12 -0700 (PDT) X-Google-Smtp-Source: APBJJlGQHPGCsyvzgef01MBuUNXR3WOGFU2l3fYCmy5Mp+m8wpV+OfRPMrZth/aMyKAMU+Abz62A X-Received: by 2002:a05:6a20:7f86:b0:12f:dc60:2b9e with SMTP id d6-20020a056a207f8600b0012fdc602b9emr3368862pzj.48.1689318432150; Fri, 14 Jul 2023 00:07:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689318432; cv=none; d=google.com; s=arc-20160816; b=jnzPUyNhvL+vhmslEYD2sCAvvuYy2ywleTwC9jeDoK7tHpXKF7ZOlruvJYhVHiUs6D MgsoaQxL6BAiwAO9A1Hg1zhjNXqCLnwOTAQAxaSZFxomeOpfoYck9/7I5dVGhzYLv3eI Evou6QybRtnxqxRSakfSwBKQoY+rC3eL2zQQINOoRdi/uv0q4F78E3jOypUBRcI0oMIP 9CApF/dYfiCEStDF921eSvWqi/9vt6ILDH3td6lYuVvG8v5O7cTeSlPjtvTRK2Twjc1E QMYjcCwQXgSs4vbAXtqj6lxaa95AF7Rlq9Jk45ZTQeuIGsuYPJT/LXylCboUJvs8QONN rKSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=Y20UpKXOzrT1B5smC7R4ysObxglel0XXQy74ZOVJKMg=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=oiQhVavhwC0u37IpAxlAPUqYRw9ftcm1Klwgjyr2XwUmG1SkXP4K3IYpaGhFc8zuuy gyVmNQVi9iG+6Jsrle8cIbIMQcO55T43PX8kjAwMr5zqHJnl210jmuOJRqu+Y+f1SGFm 7c7+ScBBIUac4/iHEEGb/yJR4npxBQo7kyX77IvcZVXIuS717t+sfoVXUuHnzg7+5bpM NPBmAlQmVZVnLMhdZifXY1UKlNMVdQpAx3FLAYGwsSb05QgcINFWgqavVWs/CUvIIBTu E75GODdK2vWhddsN1BqggxKolnXSUXN5DsI3k75unwTFrVsKenOGbdBxy8yE2YfuG16Y v5AQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=N2hfnCTE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h2-20020a635302000000b0055c79b73043si1493197pgb.769.2023.07.14.00.06.57; Fri, 14 Jul 2023 00:07:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=N2hfnCTE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235224AbjGNGcZ (ORCPT + 99 others); Fri, 14 Jul 2023 02:32:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56158 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235210AbjGNGcT (ORCPT ); Fri, 14 Jul 2023 02:32:19 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 33CAD2D57; Thu, 13 Jul 2023 23:32:16 -0700 (PDT) Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36E4xCiS022254; Fri, 14 Jul 2023 06:32:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=Y20UpKXOzrT1B5smC7R4ysObxglel0XXQy74ZOVJKMg=; b=N2hfnCTElljk5wiIo7qTOI/D4v5BKLaYMQWmpvyNUnNiIHUGrxhnilTplkhcx9Utx/lY oPpXjdygVryU2cJ9rZUwKe0WT/d6hK5Ss9L/FFpohBi7ZnwWmYUZ++Eu7DF54ZFVMfFW 4wWokl7/Wed/UABr+uYzBQIrVQPwVkh7n58UA08BRnBRTazdJ5YcCgFoFFZRCU3aW0DE LMTGT0swhR4jP/TFCqCDULaPq6k02MX0E7HN3nZbgiyV4AgwNgDRyHSL8pe8OFBVoyOF jKe7XJDsc2Ng/B1/EEHtV1EDQHGxcrlaJVjjfZLkpQL15ydBDCp5Uoqy13rMEiBnRRHM wQ== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rtpuhs0tp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:07 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36E6W5Nx008718 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:06 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Thu, 13 Jul 2023 23:32:03 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v2 3/6] net: phy: at803x: enable qca8081 slave seed conditionally Date: Fri, 14 Jul 2023 14:31:33 +0800 Message-ID: <20230714063136.21368-4-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714063136.21368-1-quic_luoj@quicinc.com> References: <20230714063136.21368-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: gAkHbUprNMv9z3qlDpjD6MZiOBNEgxrs X-Proofpoint-ORIG-GUID: gAkHbUprNMv9z3qlDpjD6MZiOBNEgxrs X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-14_02,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 mlxlogscore=999 spamscore=0 malwarescore=0 bulkscore=0 impostorscore=0 adultscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307140059 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771378764283214010 X-GMAIL-MSGID: 1771378764283214010 qca8081 is the single port PHY, the slave prefer mode is used by default. if the phy master perfer mode is configured, the slave seed configuration should not be enabled, since the slave seed enablement ignores the master/slave perfer configuration, which is not expected. disable slave seed if the master mode is preferred. Signed-off-by: Luo Jie Reviewed-by: Andrew Lunn --- drivers/net/phy/at803x.c | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index 1d4aef60d51a..6cdc1b8f8c4d 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -1740,6 +1740,12 @@ static int qca808x_phy_ms_seed_enable(struct phy_device *phydev, bool enable) QCA808X_MASTER_SLAVE_SEED_ENABLE); } +static bool qca808x_is_prefer_master(struct phy_device *phydev) +{ + return (phydev->master_slave_get == MASTER_SLAVE_CFG_MASTER_FORCE) || + (phydev->master_slave_get == MASTER_SLAVE_CFG_MASTER_PREFERRED); +} + static int qca808x_config_init(struct phy_device *phydev) { int ret; @@ -1761,11 +1767,17 @@ static int qca808x_config_init(struct phy_device *phydev) if (ret) return ret; - /* Enable seed and configure lower ramdom seed to make phy linked as slave mode */ - ret = qca808x_phy_ms_seed_enable(phydev, true); - if (ret) + ret = genphy_read_master_slave(phydev); + if (ret < 0) return ret; + if (!qca808x_is_prefer_master(phydev)) { + /* Enable seed and configure lower ramdom seed to make phy linked as slave mode */ + ret = qca808x_phy_ms_seed_enable(phydev, true); + if (ret) + return ret; + } + /* Configure adc threshold as 100mv for the link 10M */ return at803x_debug_reg_mask(phydev, QCA808X_PHY_DEBUG_ADC_THRESHOLD, QCA808X_ADC_THRESHOLD_MASK, QCA808X_ADC_THRESHOLD_100MV); @@ -1797,13 +1809,16 @@ static int qca808x_read_status(struct phy_device *phydev) phydev->interface = PHY_INTERFACE_MODE_SGMII; } else { /* generate seed as a lower random value to make PHY linked as SLAVE easily, - * except for master/slave configuration fault detected. + * except for master/slave configuration fault detected or the master mode + * preferred. + * * the reason for not putting this code into the function link_change_notify is * the corner case where the link partner is also the qca8081 PHY and the seed * value is configured as the same value, the link can't be up and no link change * occurs. */ - if (phydev->master_slave_state == MASTER_SLAVE_STATE_ERR) { + if (phydev->master_slave_state == MASTER_SLAVE_STATE_ERR || + qca808x_is_prefer_master(phydev)) { qca808x_phy_ms_seed_enable(phydev, false); } else { qca808x_phy_ms_seed_enable(phydev, true); From patchwork Fri Jul 14 06:31:34 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120261 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2311189vqm; Thu, 13 Jul 2023 23:38:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlHC166dobIx65/yESvSmVcGxs0ivEvjTK5wgogSL0gqGzm7G6D2WNGHryUKzUbDQijr0Z/r X-Received: by 2002:a05:6870:a68e:b0:1b7:628f:926f with SMTP id i14-20020a056870a68e00b001b7628f926fmr4317897oam.23.1689316725487; Thu, 13 Jul 2023 23:38:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689316725; cv=none; d=google.com; s=arc-20160816; b=tzXgkgkjt1vnBsYSTLGyz7wcsrblqQ9i9HTx//WBbszAHN2aCBXj/VsOda5/CMK+Ux WGC7TLVH7ON4u1N/a5DTQJaQ0qnJ3hdJPgThFZhFQMUicnrms8qhnKoi1z1bDI+H7Hca 5WHTIzpBT8bfdV1J/bK5moX1X0WjTZo7V/KPbOQ2+mdHvJCP2UnrLH3OX5Np41AluoNQ MxHZPfLCuU0Z0B81hFXMdbHwnx2sPDTudmB1j+DlY9uiMcsdZkh7qpulVN+Qj8u+xm6z fsWQTGXHc3adpae+gODMwvsYh6sznP6a03qlaJikpXgy0/jl0IzpmCXthxtIoXUSCHjm JlTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=u+mIubI2iv17ASud42qhnBjFHHX5WYngya5ng+U4dv0=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=GHt/Rvlri9iflueUAN9pplZsqLUR0h5j8TVrwPVF69mWmXkjocFqWV3NPz8husSy6n sTVu8ZL9pBlrEfHUWFq+wDBL5JzF/3KcGOIuW/kibhYdlft1LgboQOeTZC+wHgfU9sRy 75sV2vntHiHP4hqj0gqrd/NtapHNqqLRHp07If6+lF2LaTR+sLgHs6AZjyK//oEsBvz5 bHsC0QI4NbSyw6HHZdLxydR3tcCQbsOtyQaTVKEdxZ6l/aoUQcl7Xa9itLtG6Jxsozt5 8SYJLdjXd1BR39gScimTsSPWMjKtWO+aOZM5uFQB3Zt81VHW4B3g9Q9qeV7spbxRgDWJ Si3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=cLXBqPgP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id y23-20020a63fa17000000b00534784002afsi6555077pgh.807.2023.07.13.23.38.30; Thu, 13 Jul 2023 23:38:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=cLXBqPgP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235252AbjGNGcj (ORCPT + 99 others); Fri, 14 Jul 2023 02:32:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56256 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235221AbjGNGcX (ORCPT ); Fri, 14 Jul 2023 02:32:23 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4F1A173B; Thu, 13 Jul 2023 23:32:18 -0700 (PDT) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36E4u8ch018475; Fri, 14 Jul 2023 06:32:09 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=u+mIubI2iv17ASud42qhnBjFHHX5WYngya5ng+U4dv0=; b=cLXBqPgPwwmXC9eOBJn77DcoYoqL/oUjsEGmkn/JNJ/lVzbnxTXEge+kGJ/f51YX3xqb K0qWnHqY8UanFgI6NEmyiRdQ28gHQUFZ2DcEP7V63u9kX0Y0BZ814AtbuglfIPZcSaaN i5Z/5/8mZGxsNKdhhirohzAds9vMN4RoVvShJ+nie4Gcdsqv6sx4dZaTvAAML2Cp81RS OkzQrP7cgZf4OQJBUBcQy7fwtiTtS/Xis82BMaVLCParVkud9mDQ+HfaNA8s9BkAXFHD 83uPvEjQVoN5BAj5pBFjLK6mZN749bWGrIBuI6wjVJky/IDJhOUghMnMiUYM/Q48MXGg 4A== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rtpugs0qf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:09 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA05.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36E6W8dE008755 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:08 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Thu, 13 Jul 2023 23:32:05 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v2 4/6] net: phy: at803x: support qca8081 1G chip type Date: Fri, 14 Jul 2023 14:31:34 +0800 Message-ID: <20230714063136.21368-5-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714063136.21368-1-quic_luoj@quicinc.com> References: <20230714063136.21368-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: urGMPCVNMK-HaGSSQoJe2FKUsyMFze_b X-Proofpoint-ORIG-GUID: urGMPCVNMK-HaGSSQoJe2FKUsyMFze_b X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-14_02,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 mlxscore=0 clxscore=1015 bulkscore=0 priorityscore=1501 phishscore=0 impostorscore=0 suspectscore=0 malwarescore=0 adultscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307140059 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771376974609886236 X-GMAIL-MSGID: 1771376974609886236 The qca8081 1G chip version does not support 2.5 capability, which is distinguished from qca8081 2.5G chip according to the bit0 of register mmd7.0x901d, the 1G version chip also has the same PHY ID as the normal qca8081 2.5G chip. Signed-off-by: Luo Jie Reviewed-by: Russell King (Oracle) --- drivers/net/phy/at803x.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index 6cdc1b8f8c4d..cb4c45c81a85 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -272,6 +272,10 @@ #define QCA808X_CDT_STATUS_STAT_OPEN 2 #define QCA808X_CDT_STATUS_STAT_SHORT 3 +/* QCA808X 1G chip type */ +#define QCA808X_PHY_MMD7_CHIP_TYPE 0x901d +#define QCA808X_PHY_CHIP_TYPE_1G BIT(0) + MODULE_DESCRIPTION("Qualcomm Atheros AR803x and QCA808X PHY driver"); MODULE_AUTHOR("Matus Ujhelyi"); MODULE_LICENSE("GPL"); @@ -2000,6 +2004,17 @@ static int qca808x_get_features(struct phy_device *phydev) */ linkmode_set_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, phydev->supported); + /* As for the qca8081 1G version chip, the 2500baseT ability is also + * existed in the bit0 of MMD1.21, we need to remove it manually if + * it is the qca8081 1G chip according to the bit0 of MMD7.0x901d. + */ + ret = phy_read_mmd(phydev, MDIO_MMD_AN, QCA808X_PHY_MMD7_CHIP_TYPE); + if (ret < 0) + return ret; + + if (QCA808X_PHY_CHIP_TYPE_1G & ret) + linkmode_clear_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, phydev->supported); + return 0; } From patchwork Fri Jul 14 06:31:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120267 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2318824vqm; Thu, 13 Jul 2023 23:59:18 -0700 (PDT) X-Google-Smtp-Source: APBJJlEIHdcazKuguaje+2MUXb49wNSAQ9Jt4QbZ9bLc+Qn56oc8K4sJoaCfr3XwRF7JG18zUD9h X-Received: by 2002:a9d:6acb:0:b0:6b9:5b75:969 with SMTP id m11-20020a9d6acb000000b006b95b750969mr3332747otq.11.1689317958347; Thu, 13 Jul 2023 23:59:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689317958; cv=none; d=google.com; s=arc-20160816; b=cI41VcKde0T7Lk1WnFv6i69uRk6eBkgtfQT/46nuvTIxiFYocCmUSO18Z6K6ffFjWJ xMGMiQCz34NTdNq1V00KUhh1goLbLQ06f1xKhs8rAF6PbxU0erRAD74/dPbuhu4DVOPI tldqTty/Fb56RLc0JCpBhSd+ZQPiOOPLk0RiFQ8FyJOWL0yF5c025a/UgBq1WVXMuAMv jEBQQDO43EUWbVAYxZYFk1j/Yr4zfYUXYYs3l5S0LNv6Ywk/mtZlQAJQoEK8tCNzgt5d ua+EOBcCyVgrvJ54roS1g4Uj5+b4L8Y5hGBnsy6kkjPXlXsijK/EMcu9lg466URt8wBF cgAw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=Ml4+WHlQSULnscG7I40vu8n7nKP9AuS5jcWoS0k+KLc=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=WibkAeo3pvPn2tgw+H3a9GomrjWuNMnbRd529ST3l39WX7PtQckOwLXY7z16g6jwgg F8mIRbdiuVuQz4vCE9QnS8/jr/uaT/E27SD2Y+mms0xYi4uz+m49J7mu9pQWsQQ7YJMV Bc6RTPOb6RdIPmgrHF5LQ+wBGKEEjX5guJvphxQS5ExvTRleKvQj+FfxMuODMDVfezH+ +cxKSngUNAOM+FeIpRQyaYeZjTb17bBIpf5Hkgpt+1RJwgrubQ5o/Pv04JqZopEw25vD 00Xq2wiOcE8dfAcg0XYvPoM4nUQJNiq0Sf9eWzpUWne/m+SRUdK/upXAg2AF+wllNZjt ek1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=YDelQHjA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a3-20020a654183000000b0051b9a71329fsi2661303pgq.360.2023.07.13.23.59.05; Thu, 13 Jul 2023 23:59:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=YDelQHjA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235264AbjGNGcw (ORCPT + 99 others); Fri, 14 Jul 2023 02:32:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56300 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235220AbjGNGcn (ORCPT ); Fri, 14 Jul 2023 02:32:43 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 855F83586; Thu, 13 Jul 2023 23:32:27 -0700 (PDT) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36E4vd7L019961; Fri, 14 Jul 2023 06:32:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=Ml4+WHlQSULnscG7I40vu8n7nKP9AuS5jcWoS0k+KLc=; b=YDelQHjASDZxDoAXqGW3OWGfgxRhczUr7KQsw/y5HmUlqGXUtsJW3IW8aKnc1pGfL+wg v2Oj1BS3kS8SQfmXwPL6sIxOKt5uBGM5R9XrPryLZ/b5Fee2Y3iRlsbQ9MGIUbfherJ4 99iFqZuT/DYYjp9TPZHdwBU8eCeOZGzRJbySn8zGigkrdlHVifvK5bf8OCzn0K75IBV5 tsRkypFQyD/Ch7GTyRPPI27Dpv1AP+IQHpyrJBFIVDp+heeAVY2gu5EBKDcqxW9DBe/5 Hew91+u5XZui+xVNiwvQw1eaYjwJZ+ThHfOFuHbYCR8Xl51maGAbYWjDMzTEo7gEYlFC gw== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rtpts12cy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:11 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA01.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36E6WBkI009581 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:11 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Thu, 13 Jul 2023 23:32:08 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v2 5/6] net: phy: at803x: remove qca8081 1G fast retrain and slave seed config Date: Fri, 14 Jul 2023 14:31:35 +0800 Message-ID: <20230714063136.21368-6-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714063136.21368-1-quic_luoj@quicinc.com> References: <20230714063136.21368-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: XtLfC2fwbZ8Xfvdvwq2MygQ3C5uWPWIg X-Proofpoint-ORIG-GUID: XtLfC2fwbZ8Xfvdvwq2MygQ3C5uWPWIg X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-14_03,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 phishscore=0 spamscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0 mlxscore=0 priorityscore=1501 mlxlogscore=999 clxscore=1015 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307140059 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771378267493950896 X-GMAIL-MSGID: 1771378267493950896 The fast retrain and master slave seed configs are only applicable when the 2.5G capability is supported. Signed-off-by: Luo Jie --- drivers/net/phy/at803x.c | 45 ++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index cb4c45c81a85..5e9d2a4d8bbc 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -1766,20 +1766,24 @@ static int qca808x_config_init(struct phy_device *phydev) if (ret) return ret; - /* Config the fast retrain for the link 2500M */ - ret = qca808x_phy_fast_retrain_config(phydev); - if (ret) - return ret; - - ret = genphy_read_master_slave(phydev); - if (ret < 0) - return ret; - - if (!qca808x_is_prefer_master(phydev)) { - /* Enable seed and configure lower ramdom seed to make phy linked as slave mode */ - ret = qca808x_phy_ms_seed_enable(phydev, true); + if (linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, phydev->supported)) { + /* Config the fast retrain for the link 2500M */ + ret = qca808x_phy_fast_retrain_config(phydev); if (ret) return ret; + + ret = genphy_read_master_slave(phydev); + if (ret < 0) + return ret; + + if (!qca808x_is_prefer_master(phydev)) { + /* Enable seed and configure lower ramdom seed to make phy + * linked as slave mode. + */ + ret = qca808x_phy_ms_seed_enable(phydev, true); + if (ret) + return ret; + } } /* Configure adc threshold as 100mv for the link 10M */ @@ -1821,11 +1825,13 @@ static int qca808x_read_status(struct phy_device *phydev) * value is configured as the same value, the link can't be up and no link change * occurs. */ - if (phydev->master_slave_state == MASTER_SLAVE_STATE_ERR || - qca808x_is_prefer_master(phydev)) { - qca808x_phy_ms_seed_enable(phydev, false); - } else { - qca808x_phy_ms_seed_enable(phydev, true); + if (linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, phydev->supported)) { + if (phydev->master_slave_state == MASTER_SLAVE_STATE_ERR || + qca808x_is_prefer_master(phydev)) { + qca808x_phy_ms_seed_enable(phydev, false); + } else { + qca808x_phy_ms_seed_enable(phydev, true); + } } } @@ -1840,7 +1846,10 @@ static int qca808x_soft_reset(struct phy_device *phydev) if (ret < 0) return ret; - return qca808x_phy_ms_seed_enable(phydev, true); + if (linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, phydev->supported)) + ret = qca808x_phy_ms_seed_enable(phydev, true); + + return ret; } static bool qca808x_cdt_fault_length_valid(int cdt_code) From patchwork Fri Jul 14 06:31:36 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120265 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a6b2:0:b0:3e4:2afc:c1 with SMTP id c18csp2315751vqm; Thu, 13 Jul 2023 23:50:19 -0700 (PDT) X-Google-Smtp-Source: APBJJlGwreYp0Hk1fuRYyCDfpKEPNvpjl8kVg35/0RypYvstBLPpyspKYgqRXQCVVwgsDpJlgJ/v X-Received: by 2002:a17:902:8689:b0:1bb:1a64:5a74 with SMTP id g9-20020a170902868900b001bb1a645a74mr90208plo.33.1689317419168; Thu, 13 Jul 2023 23:50:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689317419; cv=none; d=google.com; s=arc-20160816; b=lmEIiLsGljgDOugywEbrRFRYOdUcu8FEy+xUYCqmjQjQsLfBePLb23VkH8FK5ucg+K ktnpUvsWDGHtlPDrWvZyHbEqUOQ6C1IVz97WIP8VD7RjELgzQ3uCzwySYPtR1lWMp7BU zWOgS2HJqBj3mIHAaLi2mwc4RGxy3fWjA9yfJrL5sMbsUgAeIfQP3RmJIRDd567ZA1Jw D8IzC4zHNiRC1q9AUeRwP47j3rIkFLfd4cM/8WVwX+pKmqAltqkKbtfn24ARs8SFBGu3 r9FjvaLrKK/9mrckhdgqbGfznLQWM05ZYPJ3gILxueGXRVGpqjSBkoiEZqLVTjveQ02L y3jA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=8lG5YM46vZblR3k7mXOPKFT4zSbPdDK02NBMgplxLpM=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=suvrnx6RYaW6K1xxCi8bnMdZ+jDVL6R02s2NyVHg3K1qNF6Y3Hq6bWgAuBd/NL2mfM yqiqP0tTE+CJLRQi+nITGQKqjlRFDz06yA1/5cUiEus5I4Arq9SPwMt860qvRSsFro7i t0M4WFbmsetU0oqeWwsiFjgnrKecviz8OlxjHCUv2r6fczBtNrEAUZuERDpxP+zicr8+ WTJN9xPO18BssAUdI0fNVB5gu6WtGc1k8SjYeBzOf8We9dodj1zuaDrIhfO4tpPtAa3E 0XdBAZEs+vIydQVntF9IrpBYu9gtUrJT1V6tVcGYq6ui59+PK+J3L/Hka8SkB7IV0yjb stww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=pjFoGQT0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j13-20020a170902da8d00b001b894687ec9si6838356plx.462.2023.07.13.23.50.05; Thu, 13 Jul 2023 23:50:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=pjFoGQT0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235297AbjGNGct (ORCPT + 99 others); Fri, 14 Jul 2023 02:32:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56386 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235260AbjGNGcl (ORCPT ); Fri, 14 Jul 2023 02:32:41 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ECFF930FA; Thu, 13 Jul 2023 23:32:25 -0700 (PDT) Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36E4wAIH020836; Fri, 14 Jul 2023 06:32:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=qcppdkim1; bh=8lG5YM46vZblR3k7mXOPKFT4zSbPdDK02NBMgplxLpM=; b=pjFoGQT0O0ZgL+LFzEH2brw8+jzkUmYqELHTFkX7BwCM6GF68YFDoOdIRR4cxm6SM32+ n88C0bxU1j+GdRWEd0J5sjyiEB+VCGVGvamE0F6qvnE66vt+1T/4o9S0EWSquIyXHn2Y CroSfhWVdLji6gDNB5WGuaZj59Ky01HuI/aYAmBqWXPeayQgXnxxq0m2rE6bHTReVBPI 2pJjzJtCsgO7vWBBtNoswVAo3xoNqnKOHWwuBL4Ker+1nBENOwLFDUOC6EEsW6cEqcJg kKAY+sSERtl80ip0o4FQN22i43uiTTs0v7UbRIoKsoip0MtMAioIxjAV1ifKITyWBifO Ag== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3rtpts12d2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:14 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA04.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36E6WD3Z020000 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Jul 2023 06:32:13 GMT Received: from akronite-sh-dev02.qualcomm.com (10.80.80.8) by nalasex01c.na.qualcomm.com (10.47.97.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.30; Thu, 13 Jul 2023 23:32:11 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v2 6/6] net: phy: at803x: add qca8081 fifo reset on the link changed Date: Fri, 14 Jul 2023 14:31:36 +0800 Message-ID: <20230714063136.21368-7-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230714063136.21368-1-quic_luoj@quicinc.com> References: <20230714063136.21368-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01c.na.qualcomm.com (10.47.97.35) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: 1w6YoUFRr_gz_8FLqQ02KY8xGXbyAxu7 X-Proofpoint-ORIG-GUID: 1w6YoUFRr_gz_8FLqQ02KY8xGXbyAxu7 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-14_03,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 phishscore=0 spamscore=0 bulkscore=0 malwarescore=0 lowpriorityscore=0 mlxscore=0 priorityscore=1501 mlxlogscore=999 clxscore=1015 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307140059 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1771377702219240370 X-GMAIL-MSGID: 1771377702219240370 The qca8081 sgmii fifo needs to be reset on link down and released on the link up in case of any abnormal issue such as the packet blocked on the PHY. Signed-off-by: Luo Jie Reviewed-by: Andrew Lunn Reviewed-by: Russell King (Oracle) --- drivers/net/phy/at803x.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index 5e9d2a4d8bbc..97fb26e0ac9e 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -276,6 +276,9 @@ #define QCA808X_PHY_MMD7_CHIP_TYPE 0x901d #define QCA808X_PHY_CHIP_TYPE_1G BIT(0) +#define QCA8081_PHY_SERDES_MMD1_FIFO_CTRL 0x9072 +#define QCA8081_PHY_FIFO_RSTN BIT(11) + MODULE_DESCRIPTION("Qualcomm Atheros AR803x and QCA808X PHY driver"); MODULE_AUTHOR("Matus Ujhelyi"); MODULE_LICENSE("GPL"); @@ -2027,6 +2030,16 @@ static int qca808x_get_features(struct phy_device *phydev) return 0; } +static void qca808x_link_change_notify(struct phy_device *phydev) +{ + /* Assert interface sgmii fifo on link down, deassert it on link up, + * the interface device address is always phy address added by 1. + */ + mdiobus_c45_modify_changed(phydev->mdio.bus, phydev->mdio.addr + 1, + MDIO_MMD_PMAPMD, QCA8081_PHY_SERDES_MMD1_FIFO_CTRL, + QCA8081_PHY_FIFO_RSTN, phydev->link ? QCA8081_PHY_FIFO_RSTN : 0); +} + static struct phy_driver at803x_driver[] = { { /* Qualcomm Atheros AR8035 */ @@ -2205,6 +2218,7 @@ static struct phy_driver at803x_driver[] = { .soft_reset = qca808x_soft_reset, .cable_test_start = qca808x_cable_test_start, .cable_test_get_status = qca808x_cable_test_get_status, + .link_change_notify = qca808x_link_change_notify, }, }; module_phy_driver(at803x_driver);