From patchwork Sun Jul 16 08:49:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120886 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp529617vqt; Sun, 16 Jul 2023 02:12:26 -0700 (PDT) X-Google-Smtp-Source: APBJJlFMQAsT2dxFz1EZXSWDsASnTw7bzdLUolbGfFr8XCUnb3wbG/hlYA+KvZEdu5mNwyNTfXMO X-Received: by 2002:a17:903:2312:b0:1b8:b47e:a881 with SMTP id d18-20020a170903231200b001b8b47ea881mr10389387plh.49.1689498746351; Sun, 16 Jul 2023 02:12:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689498746; cv=none; d=google.com; s=arc-20160816; b=EvJInujuZCanXhV5gl6zfxB4TIwGG3U2ll0wDWQqoXBsKXndhvDGHa1RwRq+Rxk1KS RMO0ooWsloQVJuN7aVbENkea8LpLYYODMVntSDrY+TTC6YeBPK8ZOWx0MZ62gq4rPSRD Jv3Nh7pCm6BRJlNjx0JvlaMa6o+B12e70fp8MwBjs4NrJyZLgce9u7RkjDR46npDWsjl E8rdXU8rDrfDuMi9kLHEKzEzpnLGL/Umgshan6GFiALzX7kb5OSYfDs+ptkU4RMmiR3l Jn0xsGBSquwG/tZIDFaQfa8ZpAlKAEKwlsGMjQ3JrLO6jKd936XeQc1B0BaGD9DKuzsm HrbQ== 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=/ndyXYHsSWtHbq/vkmawRY1l1WopnPMK1gduIuWEinE=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=V3RPs2Yqa7EwuGsob7jaZh27yoYmsDHk9WwBtivGwWu547AazI8IqHhKeVy0oVsIBm OgJrLVKlp4nJyk4+CW3+geUFjc1KeP7bXgT0rliwx67YJyg8QUDKPdu63YJ9TzmhMFSn 7pw2o2RrKWJZ/ef4vpRFV4GKTmoQkdMrmBNnljPGGaUjUsVirkhMcBLvPpBHATwE9d6z YgLbByqBL0hn6buCUAxOX+tSWT9DxtMMPGkoQ6J6dvdnSe8dlWJz6QCUaTM9rUdE+khX jGvcpulD8hr4Ryo63NsSGJRJIm+0PE5hPeT6hugpVNn8sp8hmAf9qOuE3CRlVrDpPUKC YMnA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b="kAya+T/S"; 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 lg12-20020a170902fb8c00b001b9e970e961si9767748plb.277.2023.07.16.02.12.13; Sun, 16 Jul 2023 02:12:26 -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="kAya+T/S"; 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 S230024AbjGPIuM (ORCPT + 99 others); Sun, 16 Jul 2023 04:50:12 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51624 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229549AbjGPIuI (ORCPT ); Sun, 16 Jul 2023 04:50:08 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B47201AB; Sun, 16 Jul 2023 01:50:07 -0700 (PDT) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36G8fjVB031603; Sun, 16 Jul 2023 08:49:54 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=/ndyXYHsSWtHbq/vkmawRY1l1WopnPMK1gduIuWEinE=; b=kAya+T/SgD5IFcUmTsQGYFqrQxQDs/GEsh+o8BokZxAuLGzqSAm50gF7rHBVypCtLjQ+ jDw0xaWq6unEq60mpm+S2+cHNNVUolykCc69mJuNxMOa6SFxZi5CCPQPYFF9m1qalpnH k1is+cHk7/faCEPii+xTXy97lLfJ2QsZWCGSPlK3w6jRFPflGjLDf2ItM7uHH/tOUVcQ B8J8Bs5CwJ1LUCjvVs7nmSRgFOslHOEJLQROH39+YM3fNQfIZHxWIr/Y0qSDf+umbtYD usYcl1b2S3DsfD9kWzVSyIfcneYVADiKhB8aFb5dRs7IyzYeyKETWPsGzht9kzLsqSG3 PQ== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3run0es9rt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:49:54 +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 36G8nriq018196 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:49:53 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; Sun, 16 Jul 2023 01:49:51 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v3 1/6] net: phy: at803x: support qca8081 genphy_c45_pma_read_abilities Date: Sun, 16 Jul 2023 16:49:19 +0800 Message-ID: <20230716084924.9714-2-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230716084924.9714-1-quic_luoj@quicinc.com> References: <20230716084924.9714-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: 6yv1Zv_kFXwwSCUaMvnG9A_nnqSaiolI X-Proofpoint-ORIG-GUID: 6yv1Zv_kFXwwSCUaMvnG9A_nnqSaiolI 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-15_14,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 priorityscore=1501 mlxscore=0 impostorscore=0 adultscore=0 spamscore=0 bulkscore=0 phishscore=0 lowpriorityscore=0 malwarescore=0 mlxlogscore=993 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307160082 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 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: 1771567837378600310 X-GMAIL-MSGID: 1771567837378600310 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 MDIO_STAT1 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 Sun Jul 16 08:49:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120883 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp523942vqt; Sun, 16 Jul 2023 01:54:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlFp5DHv4HwgYFa7EGY+DX25KtHQwDSjop7KpWARnLy8vvmMi7RuzVdl9/1lMKsvqoFNG9CH X-Received: by 2002:aa7:d855:0:b0:51e:3bb0:aa4e with SMTP id f21-20020aa7d855000000b0051e3bb0aa4emr9276526eds.15.1689497685101; Sun, 16 Jul 2023 01:54:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689497685; cv=none; d=google.com; s=arc-20160816; b=zDU1hz539KjP1gfYSSkfLqrTwL+fAUUOlYlNFPGr2wqPnBgM/wKyAiu44+0LvmV0N8 HRkRxsJGmrs8Av8vjZVOgZ0etNd0fOcxZTV9LVYkJpdRVOVOjJK0YQ0WtGeOrBOGx50d mz2YvAYXLUd6GqgYDeuq2KouCNQDPw0OIMEXk81zGJeOfdP+rLJ4eeA+4iqSPVqY4sgO nrqI84FYRhZUC1DVZE2IQjmVpusH5fTQ2ucqsGIOkO+SAj56tIjN27Xds78y19MfO+3s DDyTvwQHRgxcsnIPyvJlA5+UwpYKARD838gNI/ml+2UNiLRh3bTvCmyMSH/G+IE9nimm 1aLg== 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=2KpKwl/ODSAHvAsOwzUmU6ojuL1xgCIvRpzU2AIFHKM=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=wwfK02cs+l9ikGbcgT79r/vJOuK1V6NpJcig1ow1mbnevDrU5DbdI7E48LdYQbFTtD mdKinBqRxudmjDKWJIf8AkpvZUOcdwaic6aCKGPvolwSACpDXf0s4qKsqTZZHlwek67w 8Dn18E0X1EpEwMJNDVSjEOYTY3NTtlIwLE/zjUlZZTN4MQwOFjjtKiW3nUrHfjaKfVmd oe8F+oGnRaNkNmPCsVIoKnxW4uedvC/b0vBihvVDjcCP+hqAEb2IaIOlgQMUnbBk8jcl u6JTzX64sUA3M5j17xob00Aod0RiLKNoNJ0KISI+trvZXjmPYDuI2tr2hE02Abp0Js4v KUYw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=mtxJdwTw; 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 r4-20020aa7cb84000000b0051debbe434esi12161316edt.680.2023.07.16.01.54.22; Sun, 16 Jul 2023 01:54: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=mtxJdwTw; 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 S230042AbjGPIuR (ORCPT + 99 others); Sun, 16 Jul 2023 04:50:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51640 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230008AbjGPIuL (ORCPT ); Sun, 16 Jul 2023 04:50:11 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9D78B1AB; Sun, 16 Jul 2023 01:50:10 -0700 (PDT) Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36G8l097006459; Sun, 16 Jul 2023 08:49:57 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=2KpKwl/ODSAHvAsOwzUmU6ojuL1xgCIvRpzU2AIFHKM=; b=mtxJdwTwj2K904Uy8HduUgqDYaqasSpZ6VIwVVy+bvE4Q/asM7ntzgKk7+3Tb1DVDnKd YTCjTM3TQwwZm9ne1jQbQNkvG9RW85fbA+XO7VzkJRdM9WvECrkShSzLAu99u7aTt0qi mYN9FYMaasDJCFE4XjDeKf8tV513EoQXK4rkjUchbk4NsKFDEddPO3IOhhSQEi2LZy9+ fySVOSMPXmKPlgZV/g7GGZ98AQFk76EMmwZ8L2Yhnl019846kp1yRvOBrOSUOUF7o2lW z+VUhUspQcXeFzg6z6Rmg+PqcBL78Yh7gU0D500hp3WCIvT23kM2kwqCyd44nTbyqLh5 bA== Received: from nalasppmta04.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3run09s9rc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:49:57 +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 36G8nu99003535 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:49:56 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; Sun, 16 Jul 2023 01:49:53 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v3 2/6] net: phy: at803x: merge qca8081 slave seed function Date: Sun, 16 Jul 2023 16:49:20 +0800 Message-ID: <20230716084924.9714-3-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230716084924.9714-1-quic_luoj@quicinc.com> References: <20230716084924.9714-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: _BRLzGrBXM1ActxMrkZzGj_seYpVyjOD X-Proofpoint-GUID: _BRLzGrBXM1ActxMrkZzGj_seYpVyjOD 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-15_14,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0 phishscore=0 mlxlogscore=999 lowpriorityscore=0 adultscore=0 suspectscore=0 spamscore=0 bulkscore=0 malwarescore=0 impostorscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307160081 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 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: 1771566724617688728 X-GMAIL-MSGID: 1771566724617688728 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 Sun Jul 16 08:49:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120889 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp531048vqt; Sun, 16 Jul 2023 02:17:45 -0700 (PDT) X-Google-Smtp-Source: APBJJlERTdU5Tjp+HzVVuUWdpY0hvyAI8Wn+W1CqCq7vAuVJTB7Uff3fgMjLR8mh9VqoJvq9HMvI X-Received: by 2002:aa7:d311:0:b0:51d:955f:9e17 with SMTP id p17-20020aa7d311000000b0051d955f9e17mr8705951edq.16.1689499064955; Sun, 16 Jul 2023 02:17:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689499064; cv=none; d=google.com; s=arc-20160816; b=Su42SJXHwuUuPuxtoJa4S+falRWiJ+Y0neLEpsBuCoYxFbiHFxQC5qvbwNLw1IDBjK eCYDH9NjmdnfLQGLRADb8BVf2P4Ii2YxvXatrQ+riEGnecMTmdZ5RXgUqQOgDv1ihaGB 0HYrk6BnL4o035I9lT2REvSK4CIye17v3RR+NB6iDEd1rIv86vo/E+kWp/XG+XQqW7rF XjigjuPysGsZLpP6Om+uD4TlHo28w4UBzi7fJWeB7VsNKtDheBrEhnNZki3BH7Xkpj1P xGMTQ89bXHaDGM9A6fNJNbKaTks+7j6wJb1xCRbO6ecQBY8YsGYNT29XbZSRd4NGQdyI VQcA== 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=CiLxrepfVwDMx74519uSMBuLfTc5nKS6s7Q4gMae6Zc=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=HccofuI1cPrxlwq9ifCKSWw8JXur1u47i6mkij/YvVYPJVFDgQMJ3eOqn/h/SklEVm /17NFLttmQjgd4qwSi1EB+ag8zHsE+KCNMK1HV/WakbM5LE2Ab3qvNgiy/QTjwlmU+dH GEbV2bTq0BbQz/vWP5MeDw2f+JWWCauLL3+aBFEf4cI2odP8ZW8/FPnpfT7d9h5bokhI WcXF/rQvnfytllp44KAd0HZLuSp4axtHnnRsr1wYmW7D8VHXtdFL5guHLtMlLl4FACbj qhWckz3WcC1IbvvozxqEmP7WOKmy6G6RcmnNS8NQkqRPPYKw2Bro2YP41WRDPLQmEZpP 8NXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=Qu0IFN9C; 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 d16-20020aa7d690000000b0051e57693d06si12178086edr.307.2023.07.16.02.17.21; Sun, 16 Jul 2023 02:17:44 -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=Qu0IFN9C; 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 S230049AbjGPIuQ (ORCPT + 99 others); Sun, 16 Jul 2023 04:50:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51636 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230004AbjGPIuL (ORCPT ); Sun, 16 Jul 2023 04:50:11 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 45974D1; Sun, 16 Jul 2023 01:50:10 -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 36G8o0uC000391; Sun, 16 Jul 2023 08:50:00 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=CiLxrepfVwDMx74519uSMBuLfTc5nKS6s7Q4gMae6Zc=; b=Qu0IFN9CrvMxpRhiiFFssR5BXmZlLAeYYi9sJIWSk379+HWk+hgsAnymNvFlRZiCTgYm xJs2TG02ynYzv/4lM0861nRGxPzMkjns2ZATc3iPK0E1STS/U2X6XK2ZfvSF/l1JsRS4 STvX4qNzUVA6040nx166+rhK6xonXj40SHaVVYY4i/k7t/w+2AXQvZEozd+1ixqqEKw1 8vAHuvIqtxu+apSq51X2Q8vf2GwOezPJzSo0Yt/GvDE6ysLpZjBx05sit7fk14AHngOT D0xZmcOpUwB+CHdD4z6bNjdjJptwG1dUyYI06YRKOF69K03jWzk+qz1ThBCAfU7qyM84 eA== Received: from nalasppmta05.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3run1k19bx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:49:59 +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 36G8nwv2018659 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:49:58 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; Sun, 16 Jul 2023 01:49:56 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v3 3/6] net: phy: at803x: enable qca8081 slave seed conditionally Date: Sun, 16 Jul 2023 16:49:21 +0800 Message-ID: <20230716084924.9714-4-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230716084924.9714-1-quic_luoj@quicinc.com> References: <20230716084924.9714-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: 6wyLjuxaXDlfwZqNpWC-kFZVlHDErEis X-Proofpoint-ORIG-GUID: 6wyLjuxaXDlfwZqNpWC-kFZVlHDErEis 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-15_14,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 mlxlogscore=999 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 bulkscore=0 suspectscore=0 phishscore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307160081 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 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: 1771568171813095249 X-GMAIL-MSGID: 1771568171813095249 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 is for making PHY linked as slave mode easily. 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 Sun Jul 16 08:49:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120885 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp529417vqt; Sun, 16 Jul 2023 02:11:40 -0700 (PDT) X-Google-Smtp-Source: APBJJlE6Z46paTv28Uo0w57E+95yKD9loM+SMheEWQP91v5/Bj1mKjUNWHHhMkRJk8moUOTK6PkO X-Received: by 2002:a17:90b:1bc2:b0:267:8012:b394 with SMTP id oa2-20020a17090b1bc200b002678012b394mr3263816pjb.48.1689498699980; Sun, 16 Jul 2023 02:11:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689498699; cv=none; d=google.com; s=arc-20160816; b=EbT6RW+bNHXO5+xZEq92QoPJIj1yWntiNHW5TF5yOCCLvjVrgI71JFV24HoZjfVN1W QfDd9XqF5Px6ohByjx9smFb9fAnSRqDEGD3gDWt4NP6bQzAGkbnri9EfPWAeS0rAZ/qF slaP1S1Q9PF3b2f7ozayCYagoVOQiQsOZkfzME68Wsw+o2Q1wJ6cK9lb9inE5X3GZpM/ +RtGPl5fkJOJ58iuJN7pxKGbAs6tFh3pUk58LHacr3gTWpc+2JzZ4Dq2xjio2+obApF+ OJclKrWdexk1mc10a56HhCNGFa7lESGMct9rrZRK+DJUSCFgRiFtptbhAhC0NJl9HejS ZPrA== 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=fE6woKC+MEbN7eHkBk0cpK6nMHDHlI/VJsOjmyACTZg=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=ZlYbdr5Vd4Wbt3XLo4HyoJ65spM8Vu3Q9/sAnScCCjvUZHXp0KLCJBuhGAUthQqFvE iFshWlHQ4CGrzxXfxmIq/I+usUQprvNIopXPVUyWZo9SlysFqOAaOsxwt+flNXRm3E4V qo0zneumTPPyZ6N8aSEytZ0pnDnMlctTa3BdKhXfwp57kYENCpnfi97C3+MLAfH/SRxW D4QWgDQO4FqWdlKmrLcjO6VEUA8bi/noTQYF2PZUslKjiaLHmZeQP2+MuYoQTPjyx7EF xrmalVK1l8KFGjvtVwPmXdKp+3sxBoIdtcXdwQVc69LpMjfazf8/Rtit6kaDYSsE1b/g cKoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=KomfUsBf; 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 c16-20020a17090abf1000b00263eb5054f2si4178604pjs.105.2023.07.16.02.11.26; Sun, 16 Jul 2023 02:11:39 -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=KomfUsBf; 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 S230084AbjGPIuS (ORCPT + 99 others); Sun, 16 Jul 2023 04:50:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51664 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230039AbjGPIuP (ORCPT ); Sun, 16 Jul 2023 04:50:15 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 64C671AB; Sun, 16 Jul 2023 01:50:14 -0700 (PDT) Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36G8KcDZ002595; Sun, 16 Jul 2023 08:50:02 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=fE6woKC+MEbN7eHkBk0cpK6nMHDHlI/VJsOjmyACTZg=; b=KomfUsBfVwg3OEl16wuYfyTtcCwZL1jiDfauqYYaZlKrsVhaZ8ZN7F8xYvk3azOB3wJr ADjVmKbmXsBbHo/Ib0CUPGiTr2w5dx/Bmo9TzgWPCcq7dsDepWl7PgQMv7ztYHNsOdz0 c1YWs/IfrJWiO15QGPMuV0WeQR6ObokmwGgZbK5IBN7kFYa7pZsxOh3jwYEfreGbB6KQ xVLcon5p0zOdrV1/rIS2PDtCrk26zXCR41KiQpsM7M/NYit5senwt25FaNdsLeEGpA+I BtsOxktxpiq86PqyxkvjXFWo8X1WKFKmycVVV93mc1PWmckNPYfPD4NeT/XkAVf/IA2Z bw== Received: from nalasppmta01.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3run1j99m2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:50:02 +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 36G8o1uY022994 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:50:01 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; Sun, 16 Jul 2023 01:49:58 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v3 4/6] net: phy: at803x: support qca8081 1G chip type Date: Sun, 16 Jul 2023 16:49:22 +0800 Message-ID: <20230716084924.9714-5-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230716084924.9714-1-quic_luoj@quicinc.com> References: <20230716084924.9714-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: fjbJqCm-blb04ARLS00kAjiQNwGJJVAg X-Proofpoint-ORIG-GUID: fjbJqCm-blb04ARLS00kAjiQNwGJJVAg 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-15_14,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 mlxscore=0 clxscore=1015 malwarescore=0 adultscore=0 phishscore=0 mlxlogscore=999 bulkscore=0 spamscore=0 impostorscore=0 lowpriorityscore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307160081 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 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: 1771567788835467830 X-GMAIL-MSGID: 1771567788835467830 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 Sun Jul 16 08:49:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120890 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp532656vqt; Sun, 16 Jul 2023 02:23:56 -0700 (PDT) X-Google-Smtp-Source: APBJJlGXi2swUy8/Q13owpaKX4ACoMu9VNZyTXtbJq3HvhpI7Uw03BfgokZ5rEJr86y78VJEVt60 X-Received: by 2002:a05:6a00:2d19:b0:676:76ea:e992 with SMTP id fa25-20020a056a002d1900b0067676eae992mr13269387pfb.5.1689499435883; Sun, 16 Jul 2023 02:23:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689499435; cv=none; d=google.com; s=arc-20160816; b=CSwmSRY+DxtcjT8jXyCZ6RYGqWefcWI1At3+wVHBBRzO35sNm9bqOfMNOh1EngFPqL 0TWRsbxrI7tsJT+ikk+VINo2NLLJpMDfNzu/1nAwVf9ZEMxe24Xo7jNKWuXCd3ezFGe+ zhB2/aTSIjamOJXtjWtX2KRK7fd5vRT3RZYHvdyix1U8nVKwLkNBDgI3kRjBuhE9S2M2 Iwa5F/qz6CkyE8reTq4PNurj7qgWous6FMtsnh3W20BgxCK5TCpHUZrpuoDTTuUGh17E 8nQ8GyCKnl91F5T9aTS07xldzysUtH1QSZRvoAiq6BJ0luZ9O6HT5mpjuTzBKw5WOQrQ YmaA== 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=+Xrs7DZCC/z2iXTf8yNfUWldVKLycDsXp36wq/LoYQU=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=kQu1evWw7V0XA0GTcQXbq1gaYshqrDQVusSh+MxbgtvLQOxwflHWgR7OObBMRHgZ+A ul0/+4dymfzvssImixdY6OnfTlmT8lAK5ywL4lVMR3IAupE6LetZh8wVv4DfzoHTUgSt X7zj/Md8Y2wikWH/+vhog3iNy0W2RKy/CIWy+l4AbMALOuQeQzeh30SFDWf+oQMERSc3 ggV0WOvrwweq7IEjxnuNZ1BtxOevopQ/wPuchmsHZ4KrnyoKDwZkep2nMOY8831GSpMo vlQIM1QPuEjbUZl4QeeYCaGix0kruDlxxyZ1jDmu/btj5HEgl+ogoF3QRUNWXAynRUaz rECg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=AV9Jki7o; 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 fa23-20020a056a002d1700b00682642ec7c0si10186409pfb.338.2023.07.16.02.23.41; Sun, 16 Jul 2023 02:23:55 -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=AV9Jki7o; 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 S230136AbjGPIu2 (ORCPT + 99 others); Sun, 16 Jul 2023 04:50:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51878 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230039AbjGPIuX (ORCPT ); Sun, 16 Jul 2023 04:50:23 -0400 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23A3D172B; Sun, 16 Jul 2023 01:50:17 -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 36G8o4XL003214; Sun, 16 Jul 2023 08:50: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=+Xrs7DZCC/z2iXTf8yNfUWldVKLycDsXp36wq/LoYQU=; b=AV9Jki7oG8Eix2Ks2f7kYRFJEQ60PB2BQOb1sFhIbzNiAoqGjeZUg4vB9kR8h6BJlP18 YTauEmDd0SY22UbhxqXoifeK+2x9Ig27uJxqFqvrb0dvE+nXISr2IwLUSVSdIkG8XGTn 5Os5s9WH9Wq3vZopEN7e1vd/G3yTEEPgAJx+H40uIY+LyQPMt5lkpES1RwEw+vUi9sNw usPT72hhRit6OGyglYW/ocLmHg/lEhV01VGS98PQp2Ac7iV7z1+q1Aaze4lfehfQrYbZ pg93lISrL28nRM63XWW2ZTXWLK9RmShBZxsavKW8hRM383xToC1l6AVxdLimgw3OgBPv 3w== Received: from nalasppmta02.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3run0e9a3m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:50:04 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36G8o3dl025290 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:50: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; Sun, 16 Jul 2023 01:50:01 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v3 5/6] net: phy: at803x: remove qca8081 1G fast retrain and slave seed config Date: Sun, 16 Jul 2023 16:49:23 +0800 Message-ID: <20230716084924.9714-6-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230716084924.9714-1-quic_luoj@quicinc.com> References: <20230716084924.9714-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: rS7KPF3qShlEPrjwV5gzRVV3SwpesB_Q X-Proofpoint-ORIG-GUID: rS7KPF3qShlEPrjwV5gzRVV3SwpesB_Q 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-15_14,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 clxscore=1015 mlxscore=0 spamscore=0 lowpriorityscore=0 suspectscore=0 phishscore=0 impostorscore=0 bulkscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307160082 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 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: 1771568560445521304 X-GMAIL-MSGID: 1771568560445521304 The fast retrain and slave seed configs are only applicable when the 2.5G ability is supported. Signed-off-by: Luo Jie Reviewed-by: Andrew Lunn --- drivers/net/phy/at803x.c | 50 +++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index cb4c45c81a85..a141f133b8aa 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -1750,6 +1750,11 @@ static bool qca808x_is_prefer_master(struct phy_device *phydev) (phydev->master_slave_get == MASTER_SLAVE_CFG_MASTER_PREFERRED); } +static bool qca808x_has_fast_retrain_or_slave_seed(struct phy_device *phydev) +{ + return linkmode_test_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, phydev->supported); +} + static int qca808x_config_init(struct phy_device *phydev) { int ret; @@ -1766,20 +1771,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 (qca808x_has_fast_retrain_or_slave_seed(phydev)) { + /* 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 +1830,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 (qca808x_has_fast_retrain_or_slave_seed(phydev)) { + 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 +1851,10 @@ static int qca808x_soft_reset(struct phy_device *phydev) if (ret < 0) return ret; - return qca808x_phy_ms_seed_enable(phydev, true); + if (qca808x_has_fast_retrain_or_slave_seed(phydev)) + ret = qca808x_phy_ms_seed_enable(phydev, true); + + return ret; } static bool qca808x_cdt_fault_length_valid(int cdt_code) From patchwork Sun Jul 16 08:49:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jie Luo X-Patchwork-Id: 120887 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:c923:0:b0:3e4:2afc:c1 with SMTP id j3csp529662vqt; Sun, 16 Jul 2023 02:12:36 -0700 (PDT) X-Google-Smtp-Source: APBJJlGkchMTKxAAtPOrxvNUtJoF8UeXtc2EOcWaFGlz3U69D0cuoivWzBAJfv9Elo8r59xMwCYw X-Received: by 2002:a17:903:244e:b0:1b8:9b1d:d7f1 with SMTP id l14-20020a170903244e00b001b89b1dd7f1mr9585425pls.47.1689498756025; Sun, 16 Jul 2023 02:12:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689498756; cv=none; d=google.com; s=arc-20160816; b=hq43K6iFXRNAfOp/PPZP+xgtXYyyZY4ZvzvT8v1EhnFyK7Rbg1j41z8zhPho1FhOWF v8EUxBV2M4e3jLKMmnHOx/p4XU5MC1Ret8bS8lZIJPRIrC5k7XQU0JKd8QeAfZ4NSwMm EAviXAf6p2ESsIXoFFfhLywTWph6OawiEJGYPrR+PIexRUukhd0jh40Kr0AeFMJ5b79J xAZu9UQn6XbvsBxC34U6XLlv3vx9WnzETIOyGr1DmGhoAMhOImGzvGVeHNqb9QUVGxE0 3diN84iem8r/1KiNyipNDAtpU6WrUB3LfMa0Hb9ppC3sE5x2UBJTYk1OTtKBLzeyr7hp c9Yg== 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=gKyyEjKOmIK56IjH0QQRMlIBK+WruELXAfpFleSezto=; fh=gVU0szpfyKL/tGzekjkLxkm9WXzJxBFICVcvBdLpZfE=; b=mLpqRjr+A/kNNkaHJCBNXDZsIBUoqJ1tMDbHRci8/AeQm2mCCUQ27xi4Q0YhJ//TTd qbk82S3AWr1xShpLoOXGt2q9S70PNfnjYaqaDq0SddPoREwC+k6o4bq0AENCqWkivFej 31S5CXPYnRMc5cxzWyHlEWVfJYBlWT2PrqtvgWXnxFkFnyCyx+Z5DaririklD7RHJ1uA b7d1y7tCGnALRlvPAoL2DbC/U19kljm2/ajgYd1EJfLp3OsjaBngz3BGH/m8Jw+uplEn 5iyju5euQ4eLz5MRIU4+oSPJVWNRVu2wMT2MSvnKhDTPiQLbuhA0l70/4PQPjSpv4LQU izrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=BmpZCkoN; 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 r20-20020a170902c61400b001b9ea60cd8bsi3099423plr.332.2023.07.16.02.12.20; Sun, 16 Jul 2023 02:12:36 -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=BmpZCkoN; 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 S230162AbjGPIub (ORCPT + 99 others); Sun, 16 Jul 2023 04:50:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230081AbjGPIu0 (ORCPT ); Sun, 16 Jul 2023 04:50:26 -0400 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 430D61986; Sun, 16 Jul 2023 01:50:18 -0700 (PDT) Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 36G8kKmB031908; Sun, 16 Jul 2023 08:50: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=gKyyEjKOmIK56IjH0QQRMlIBK+WruELXAfpFleSezto=; b=BmpZCkoNx04vvTkQmmp9PqdbCf8WbWbeiP8pHcxecPbj4afz97abkUAmMAer+f6AHrz9 C0ozTyIgBwxw/J1er5CbOxQGRPKRBSrp3/Hp36vIMQh6UnHRmmlDJDd0ZWmT98ZEjEKw hDCzbCYbxhA0atutgfQwq9x5HtEFzFBp3s/u7GqTc2uVhVl0is/EozNLaH5WURNM02P8 Wfb/6o576VG8nFbilz6/xNCqxzb01u1AXPOTj3RrHTQl5Df8qAFxQwmvvJhmwghH8Rnc EKyn9W91lJyMFng8Kx/tBN66a16fr9/c3cWMHJGMKxv7jmjOEMscphwd2xJCb+0WUBDJ pw== Received: from nalasppmta02.qualcomm.com (Global_NAT1.qualcomm.com [129.46.96.20]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3run0asade-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:50:07 +0000 Received: from nalasex01c.na.qualcomm.com (nalasex01c.na.qualcomm.com [10.47.97.35]) by NALASPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 36G8o69O025308 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 16 Jul 2023 08:50: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; Sun, 16 Jul 2023 01:50:03 -0700 From: Luo Jie To: , , , , , , CC: , , Luo Jie Subject: [PATCH v3 6/6] net: phy: at803x: add qca8081 fifo reset on the link changed Date: Sun, 16 Jul 2023 16:49:24 +0800 Message-ID: <20230716084924.9714-7-quic_luoj@quicinc.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230716084924.9714-1-quic_luoj@quicinc.com> References: <20230716084924.9714-1-quic_luoj@quicinc.com> MIME-Version: 1.0 X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) 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: _KKP5TfHYCSwr6QJDufH2mUGA8szGo_r X-Proofpoint-ORIG-GUID: _KKP5TfHYCSwr6QJDufH2mUGA8szGo_r 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-15_14,2023-07-13_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 mlxlogscore=999 bulkscore=0 priorityscore=1501 mlxscore=0 suspectscore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2306200000 definitions=main-2307160081 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 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: 1771567847263938268 X-GMAIL-MSGID: 1771567847263938268 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 a141f133b8aa..13c4121fa309 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"); @@ -2032,6 +2035,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 */ @@ -2210,6 +2223,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);