lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 21 Jun 2024 12:22:04 -0700
From: Sagar Cheluvegowda <quic_scheluve@...cinc.com>
To: Andrew Lunn <andrew@...n.ch>
CC: Vinod Koul <vkoul@...nel.org>,
        Alexandre Torgue
	<alexandre.torgue@...s.st.com>,
        Jose Abreu <joabreu@...opsys.com>,
        "David S.
 Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        "Jakub
 Kicinski" <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
        Maxime Coquelin
	<mcoquelin.stm32@...il.com>,
        Russell King <linux@...linux.org.uk>, "Rob
 Herring" <robh@...nel.org>,
        Krzysztof Kozlowski <krzk+dt@...nel.org>,
        "Conor
 Dooley" <conor+dt@...nel.org>,
        Bhupesh Sharma <bhupesh.sharma@...aro.org>, <kernel@...cinc.com>,
        Andrew Halaney <ahalaney@...hat.com>, <linux-arm-msm@...r.kernel.org>,
        <netdev@...r.kernel.org>, <linux-stm32@...md-mailman.stormreply.com>,
        <linux-arm-kernel@...ts.infradead.org>, <linux-kernel@...r.kernel.org>,
        <devicetree@...r.kernel.org>
Subject: Re: [PATCH 1/3] net: stmmac: Add interconnect support in qcom-ethqos
 driver



On 6/19/2024 4:13 PM, Andrew Lunn wrote:
> On Wed, Jun 19, 2024 at 03:41:29PM -0700, Sagar Cheluvegowda wrote:
>> Add interconnect support in qcom-ethqos driver to vote for bus
>> bandwidth based on the current speed of the driver.
>> This change adds support for two different paths - one from ethernet
>> to DDR and the other from Apps to ethernet.
> 
> What do you mean by Apps?
> Apps means application processor.

>> Vote from each interconnect client is aggregated and the on-chip
>> interconnect hardware is configured to the most appropriate
>> bandwidth profile.
>>
>> Signed-off-by: Sagar Cheluvegowda <quic_scheluve@...cinc.com>
>> ---
>>  .../net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c   | 19 +++++++++++++++++++
>>  1 file changed, 19 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
>> index e254b21fdb59..682e68f37dbd 100644
>> --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
>> +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
>> @@ -7,6 +7,7 @@
>>  #include <linux/platform_device.h>
>>  #include <linux/phy.h>
>>  #include <linux/phy/phy.h>
>> +#include <linux/interconnect.h>
> 
> If you look at these includes, you should notice they are
> alphabetical.
> Agreed, let me update it in v2 of this series.
>> +static void ethqos_set_icc_bw(struct qcom_ethqos *ethqos, unsigned int speed)
>> +{
>> +	icc_set_bw(ethqos->axi_icc_path, Mbps_to_icc(speed), Mbps_to_icc(speed));
>> +	icc_set_bw(ethqos->ahb_icc_path, Mbps_to_icc(speed), Mbps_to_icc(speed));
>> +}
>> +
>>  static void ethqos_fix_mac_speed(void *priv, unsigned int speed, unsigned int mode)
>>  {
>>  	struct qcom_ethqos *ethqos = priv;
>>  
>>  	ethqos->speed = speed;
>>  	ethqos_update_link_clk(ethqos, speed);
>> +	ethqos_set_icc_bw(ethqos, speed);
>>  	ethqos_configure(ethqos);
>>  }
>>  
>> @@ -813,6 +824,14 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
>>  		return dev_err_probe(dev, PTR_ERR(ethqos->link_clk),
>>  				     "Failed to get link_clk\n");
>>  
>> +	ethqos->axi_icc_path = devm_of_icc_get(dev, "axi_icc_path");
>> +	if (IS_ERR(ethqos->axi_icc_path))
>> +		return PTR_ERR(ethqos->axi_icc_path);
>> +
>> +	ethqos->ahb_icc_path = devm_of_icc_get(dev, "ahb_icc_path");
>> +	if (IS_ERR(ethqos->axi_icc_path))
>> +		return PTR_ERR(ethqos->axi_icc_path);
>> +
> 
> This all looks pretty generic. Any reason why this is just in the
> Qualcomm device, and not at a higher level so it could be used for all
> stmmac devices if the needed properties are found in DT?
> 
>        Andrew
ICC is a software framework to access the NOC bus topology of the
system, all though "axi" and "ahb" buses seem generic but the 
topologies of these NOC's are specific to the vendors of synopsys chipset hence
this framework might not be applicable to all the vendors of stmmac driver.

	Sagar

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ