From nobody Wed Dec 17 19:43:43 2025 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C01FE1FFC4F; Fri, 6 Dec 2024 18:47:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733510826; cv=none; b=gBNZ8+Ion6dlbLeBxB73T/4ccteOjUwjawy0Ca+L0TdYIs9e6G2/u5d+kByA22whTXvAH9cswqn98DHC3wrfBFLDWwv2FjopP5OUxtrv5G7j5A6js8yxnT44XxwcMAW7kcvEVTy6Qaw5m8iWYo4JJsxhc8FdvEm25TiK/njNyt0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733510826; c=relaxed/simple; bh=QMuPzGK9YExDlACs3muxs2Mz+0m78aWQnsclt2cayKM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VComPg1vRgyXHdaOOCI0jx72TAVy/yO5nhXaRnZKBip+C5cs7hYoW3usatbTJZVa+vdAb9FDdF+eLH2beE4tI7zxtwZO8MhMVS2NcpYYwLhzoVNak28CaLa15oZ7t91EK0B1Iju/n4/84ZJFprRjNUmQRg2iOoxW2U8gTVa7qGc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=wahrenst@gmx.net header.b=somnvfRz; arc=none smtp.client-ip=212.227.15.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=wahrenst@gmx.net header.b="somnvfRz" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1733510812; x=1734115612; i=wahrenst@gmx.net; bh=W+hee7KHS4URN2Q+zcbMHoSxo6UBpLV5sRgoPxbXdBo=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=somnvfRz3wrH6NpflaEDUJksxcdy/Au2QBv+J8PYyGYVytSSp06vgMSMnl+0rm7e v1qGEIfvGwqKpeES3/Gy5Slz+M/8obwps2GiWnL/beE7Iyp/NLT2HSkCKYrzLg0rg sJOH2sXKQAXfUuYq8X3l9NYX65QUytapVzYCWfK16DFF7lTvNdoQyvtOMss4eUnxR ogXoQhHLLcCD6bbtzQOEVmYSfwQvy75+8Q1dxMlaTXiOXx1V8tKraPo4u0wjL47Ga vOxB3MRKXGDcgLETu2V8Ketf1j5veeixteXDg/04mqez0c1SccrjmlwuiyCEsMfQZ saAjuK1YaNFz+xTewg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from stefanw-SCHENKER ([37.4.251.153]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mof9P-1tzM1d35uj-00hMpj; Fri, 06 Dec 2024 19:46:52 +0100 From: Stefan Wahren To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: chf.fritz@googlemail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 net 1/2] qca_spi: Fix clock speed for multiple QCA7000 Date: Fri, 6 Dec 2024 19:46:42 +0100 Message-Id: <20241206184643.123399-2-wahrenst@gmx.net> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241206184643.123399-1-wahrenst@gmx.net> References: <20241206184643.123399-1-wahrenst@gmx.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:ub2z9OJ97+Vkxc28S6wrRw+nfuKm38f/y6UC896IlZ3oxRExaFq RNLMXqSOfx5RDeFUOBDwKnzMjSLL1g4+z/sVcEZkk7ZNc1enKT3xWXH/BtxyHabOVKxaAqZ 39mnOkR+x52oqbKSKanBZhTm73enB9zbXC42SRB7K9X0BkQfC4XOl6VzCZtD1Hmb1ZzqZ79 xMu/3IZO7sBEBmx32tm8g== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:/P4RU2UhKT8=;jOw7uCKoClTNmPS0Y54XSUvQGkH 27aAPOWpuPB3GetIBgWdZEa0rLvFLOUBQkjrTcOY5hrlgHDcVg94izY52umcC7F7jmJo8BKNn f0pjOT5Vv3x1xsf2ukj13204q/vlp0l8SpI+bFPQXNQg72as+Pencfpp25Njs0fuVfmPpkd4V MCiuRkHG9lGKnc4xdOoEyxiIFP+9DTTZPmG5/QyxuWROWs8QCTedDh55Z6D2/WhVloRkbzG6f BJfeZTDu1XO/wbzHUqYKMetVk4+iMHt2LxSVyfrJxarB1gysvTqOJm73JQNGORhDiXLeE1dr0 QV/ZsIuaIffbAtAfrg9HOVrFvTCNPj6dd6RRcy+onOFkVdKkyLhGFxbSfSG1XBs+SSiH37VAx wneOY0VzNev1BeCPVmYyA1T0uv/8rcw6rXH90FXEwq4g6cExs2pq5xj8XxeLwrV3JZoaykdmj Z5Bbv68AGnxehhgfQeDMA6ey1ygoqj8WOk55d1G1bsDaY6Jti0O85y/Qn1+6moU+H2qgSno4B 80mqV/Cy4oZbTxMLQQ05WtpJaoEq6vcPnChSx6BsWnayrUcwbNLRuuk5s6ntKOaknGPERqb5R coOiTGo5g82wqMKXfG4GBYZYUEpk6seDnom813fYFR2Af/2licoO5ytq5XgpPlV48wFuitey4 UhaL5lwaKHVKWdij/CAQnMx37UN8yxFW3Kef6OnsXIzK+g693/Eyoo4zecsuel0DSLd3Tn1XS 90OnWmpnqudHK/DZ+coXtPQS/XviLikpcYC9MgiO/DkIFNuLU7N0q2df69+UiqB9rHFWRjtaD WQ1glrcOBTyiNAHqqmbGxDk5a+vFYpXyGgKd1CUXOooJ2fJtjo65y2fl8MdKkGMq4nQGyjbYl NCS2YVCFQ8kzkignWmz6R00x3UaMo9isOImOcfEoTCL+rAwlhl6QwVgOog8zZWQn8xFXSLMPs dVqr0J+xtgIOR8zUNGh4qS+s6CF3fagj0KsXjejvS6MIUXgzkJPuicMM1NedzOwkSqJRMMN5A Ml+hr84w+4P4A32NPtzHPkPg7BqUdpLA/YI6J6ByIM4F+tZmHpAnU7T9oZ43yp/jz8gyKXyRa g6Fu5aPVwlTVrVrSbMtrWbOwL+ufLG Content-Type: text/plain; charset="utf-8" Storing the maximum clock speed in module parameter qcaspi_clkspeed has the unintended side effect that the first probed instance defines the value for all other instances. Fix this issue by storing it in max_speed_hz of the relevant SPI device. This fix keeps the priority of the speed parameter (module parameter, device tree property, driver default). Btw this uses the opportunity to get the rid of the unused member clkspeed. Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA70= 00") Signed-off-by: Stefan Wahren --- drivers/net/ethernet/qualcomm/qca_spi.c | 24 ++++++++++-------------- drivers/net/ethernet/qualcomm/qca_spi.h | 1 - 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet= /qualcomm/qca_spi.c index ef9c02b000e4..d328e770bcbe 100644 --- a/drivers/net/ethernet/qualcomm/qca_spi.c +++ b/drivers/net/ethernet/qualcomm/qca_spi.c @@ -818,7 +818,6 @@ qcaspi_netdev_init(struct net_device *dev) dev->mtu =3D QCAFRM_MAX_MTU; dev->type =3D ARPHRD_ETHER; - qca->clkspeed =3D qcaspi_clkspeed; qca->burst_len =3D qcaspi_burst_len; qca->spi_thread =3D NULL; qca->buffer_size =3D (QCAFRM_MAX_MTU + VLAN_ETH_HLEN + QCAFRM_HEADER_LEN + @@ -909,17 +908,15 @@ qca_spi_probe(struct spi_device *spi) legacy_mode =3D of_property_read_bool(spi->dev.of_node, "qca,legacy-mode"); - if (qcaspi_clkspeed =3D=3D 0) { - if (spi->max_speed_hz) - qcaspi_clkspeed =3D spi->max_speed_hz; - else - qcaspi_clkspeed =3D QCASPI_CLK_SPEED; - } + if (qcaspi_clkspeed) + spi->max_speed_hz =3D qcaspi_clkspeed; + else if (!spi->max_speed_hz) + spi->max_speed_hz =3D QCASPI_CLK_SPEED; - if ((qcaspi_clkspeed < QCASPI_CLK_SPEED_MIN) || - (qcaspi_clkspeed > QCASPI_CLK_SPEED_MAX)) { - dev_err(&spi->dev, "Invalid clkspeed: %d\n", - qcaspi_clkspeed); + if (spi->max_speed_hz < QCASPI_CLK_SPEED_MIN || + spi->max_speed_hz > QCASPI_CLK_SPEED_MAX) { + dev_err(&spi->dev, "Invalid clkspeed: %u\n", + spi->max_speed_hz); return -EINVAL; } @@ -944,14 +941,13 @@ qca_spi_probe(struct spi_device *spi) return -EINVAL; } - dev_info(&spi->dev, "ver=3D%s, clkspeed=3D%d, burst_len=3D%d, pluggable= =3D%d\n", + dev_info(&spi->dev, "ver=3D%s, clkspeed=3D%u, burst_len=3D%d, pluggable= =3D%d\n", QCASPI_DRV_VERSION, - qcaspi_clkspeed, + spi->max_speed_hz, qcaspi_burst_len, qcaspi_pluggable); spi->mode =3D SPI_MODE_3; - spi->max_speed_hz =3D qcaspi_clkspeed; if (spi_setup(spi) < 0) { dev_err(&spi->dev, "Unable to setup SPI device\n"); return -EFAULT; diff --git a/drivers/net/ethernet/qualcomm/qca_spi.h b/drivers/net/ethernet= /qualcomm/qca_spi.h index 7ba5c9e2f61c..90b290f94c27 100644 --- a/drivers/net/ethernet/qualcomm/qca_spi.h +++ b/drivers/net/ethernet/qualcomm/qca_spi.h @@ -89,7 +89,6 @@ struct qcaspi { #endif /* user configurable options */ - u32 clkspeed; u8 legacy_mode; u16 burst_len; }; -- 2.34.1 From nobody Wed Dec 17 19:43:43 2025 Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86DB81FFC57; Fri, 6 Dec 2024 18:47:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.15.18 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733510827; cv=none; b=n1pA4xwRfnArREuUmHiEMxpRjPc7KXqavTcfGvhMs2ex2XtIUkQ48emFrXOQXapNpOm9pKOrwxg09WUSA7DtjEp77tiYz8vtoFgjgFjgv71LHfciNhXHsJzQ1dTrsnBpmGUStQ/5IOlG1EGjy8JLjx4ox3npgEGaGlidUrvZz9A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1733510827; c=relaxed/simple; bh=mT/7swdeuZHAQJy54hnIBi1b3QhMyhOPSsXb1YTf91s=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Xj8vD8n4ZDSIzxbt5kC5ixHYtoA2iapyLsHdAnmE4VNGtGphF0epsgTeAtWfTWpL/nEqperqH/sy/0Z386ql1k1rytZk2wuXjxWCC66AbZBgfjJVGP8/sOakLciBUn0c1ySknP+jD3OGsYgGeE5iP8E65MOekCYemYPQ6AHpjd4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net; spf=pass smtp.mailfrom=gmx.net; dkim=pass (2048-bit key) header.d=gmx.net header.i=wahrenst@gmx.net header.b=ewkl42Ot; arc=none smtp.client-ip=212.227.15.18 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.net header.i=wahrenst@gmx.net header.b="ewkl42Ot" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1733510813; x=1734115613; i=wahrenst@gmx.net; bh=mT/7swdeuZHAQJy54hnIBi1b3QhMyhOPSsXb1YTf91s=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:Message-Id:In-Reply-To: References:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=ewkl42OtKyiOOPVLyjs/UpSuVf+nSMEsUdaSKE3w+naDkfOsZAM4ZFxfckEU+IFp kE2Yr0bwkBV/gxD9QL/b5yrsWuWaSrplYFQCkQnIAh4RU5OBQz5ZUXuDDpdZnMdom laJ93Yw4LNzLH/9fTEe8Mqs42ruNTUh6xdtPNf44QGHwi0hJOCo0Cl/J2bEYMMltX 8HBA/1GQrImPBzTKr5kIlSAzeaL1cYUCUEVfF/bktNOSGr7CXkSKfho09nMUqco80 2O/HYIbUPIMsSG0qivWCSL6IkqfNxEWniUMxkYO5ERPUmw0GwKwGllm7S5f3QsqGZ 0H9mwVYyAUG90lhwPg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from stefanw-SCHENKER ([37.4.251.153]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MORAa-1t0KsF0N8I-00XdNw; Fri, 06 Dec 2024 19:46:53 +0100 From: Stefan Wahren To: Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni Cc: chf.fritz@googlemail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Stefan Wahren Subject: [PATCH V2 net 2/2] qca_spi: Make driver probing reliable Date: Fri, 6 Dec 2024 19:46:43 +0100 Message-Id: <20241206184643.123399-3-wahrenst@gmx.net> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241206184643.123399-1-wahrenst@gmx.net> References: <20241206184643.123399-1-wahrenst@gmx.net> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:m1k4RaEn7bn/j+NRRVgE0JZb91KuhUvlWmWj9L9VkVRkUwyv5ww JdNwtlPJULoMV9sVcRlOsNcc8o3eUfcve7YYhqIn0oYjkF+Tt+ZTfydfGU798FRwMb+LR19 ZLdq62r2qQh+h2DU74dPQ8zDazXRzfuJaANgjEMHFJ4az4iTwdE7QxVk8qAQONLHj5hM+Bw R6EDRQn067MReUUUEb+Ow== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:EuADY5HvDlk=;TFRlf9w6Nr/kJla5GM1N/2B2xr4 U1/PgwA4VurPxnpb+/NXDtF1egDKBNUCBHOYX56aMCISWtpqhy9o6jVAckr2ilDUYpNZzrhnA ikB/EYEN8TaRApVt04kb8fjzdgvz8aaBuEgo5HQjF7QxgBJL2g9E5fxqAc5hphVLvIuyrgzA9 BTq66/6ErdYPmgke5D9UcCirnAaxG7+HhCcYbH+8ADRxUZW5738tuZY5g2QYeKvr2ENpB+7Pv 5U8gOvny42yIZPxqvknLNQ8f+ZEsbIJ8zwT2RmTVB7HgzkTsWG23BaP1/uGEW68a02zWhzlIc RLJCs25WBiugn4Ax3Ma3Mta2nqezcPCwnrA2E4Rh+3lvH4l44jnTKSC/gJ7C9AaXaCyXQ1AuI SE2swvsB5OKQnc5WNGHcLiHRNprNM6sPmv7N4bXj3U5nw5XJOfK8nbtjq51DFN16vY6VRG3lw ggH+QGnvCfb1BH8TpNKQqLP18ghr17CJNLaKNrarXaiZlPH1HC4M+SQ80W4JMZ9VE2S3fdSDo AUSgvFadTvxRZgZ+VryCxYA1REyZezG+1PD+g8jd4WoEOeVwMC/QxBMIBXuiozG2E3PlAsrmV oSS50qtycermeIH/Bs6ntOqGmtRNPK1lNg81bFI0+GR2b6/WXpn1DkWIRyaM3uXzmmRrRq+5U JreZ+gPT88o9B0TxBHkARPpf9CKBaZw/QaWbfx1RLY/zq3DwEKkyuITcJtmWvCM3QuhvQ+fwb R7vGXj3+K1ZdL3aVKYmtwkWhjCyzlZLFLB46FpukbhRK3wo912o2EOdCmzj01f1IrbNOh8Ev/ cJtHBoisGeij193V7oFGz6cLkBHJAVB5ZWSHPxWJaRoVCJEQ0956klis1GIqwDycoplAA8R5p uG99V61tdtQrEZYdFF3weOGrlYJCPMvBDQRhGH+q+l9+XFp5rvNwc5867RmBAV1xEd+qoNmRS /hU3Cc0j8jWe0DqsA6f4ATr+HqoVNWTZwWxiJJUj5PnUVh8Y/2gOMkdNHvik/xqV0lo24qOCw esKgvggDjB0Vkwaxx7OrH+YVIZZYC3sjyvfwmxwMr8nxOvmCSvyMEWvZ1rp3FqBP6dYh6FL4J XJeThoxpiRcicGWwaWZVabPp6jv89z Content-Type: text/plain; charset="utf-8" The module parameter qcaspi_pluggable controls if QCA7000 signature should be checked at driver probe (current default) or not. Unfortunately this could fail in case the chip is temporary in reset, which isn't under total control by the Linux host. So disable this check per default in order to avoid unexpected probe failures. Fixes: 291ab06ecf67 ("net: qualcomm: new Ethernet over SPI driver for QCA70= 00") Signed-off-by: Stefan Wahren --- drivers/net/ethernet/qualcomm/qca_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/qualcomm/qca_spi.c b/drivers/net/ethernet= /qualcomm/qca_spi.c index d328e770bcbe..38a779f4b866 100644 --- a/drivers/net/ethernet/qualcomm/qca_spi.c +++ b/drivers/net/ethernet/qualcomm/qca_spi.c @@ -54,7 +54,7 @@ MODULE_PARM_DESC(qcaspi_burst_len, "Number of data bytes = per burst. Use 1-5000." #define QCASPI_PLUGGABLE_MIN 0 #define QCASPI_PLUGGABLE_MAX 1 -static int qcaspi_pluggable =3D QCASPI_PLUGGABLE_MIN; +static int qcaspi_pluggable =3D QCASPI_PLUGGABLE_MAX; module_param(qcaspi_pluggable, int, 0); MODULE_PARM_DESC(qcaspi_pluggable, "Pluggable SPI connection (yes/no)."); -- 2.34.1