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] [day] [month] [year] [list]
Message-ID: <cc222256-9f7e-3b61-0f6d-f1969bd6ca02@phrozen.org>
Date:   Mon, 3 Oct 2016 21:18:46 +0200
From:   John Crispin <john@...ozen.org>
To:     Nelson Chang <nelson.chang@...iatek.com>, davem@...emloft.net
Cc:     netdev@...r.kernel.org, nbd@...nwrt.org,
        linux-mediatek@...ts.infradead.org, nelsonch.tw@...il.com
Subject: Re: [PATCH net-next 2/3] net: ethernet: mediatek: get hw lro
 capability by the chip id instead of by the dtsi

Hi Nelson,

comment inline

On 03/10/2016 09:18, Nelson Chang wrote:
> Because hw lro started to be supported from MT7623, the proper way to check if
> the feature is capable is to judge by the chip id instead of by the dtsi.
> 
> Signed-off-by: Nelson Chang <nelson.chang@...iatek.com>
> ---
>  drivers/net/ethernet/mediatek/mtk_eth_soc.c | 12 ++++++++++--
>  drivers/net/ethernet/mediatek/mtk_eth_soc.h |  1 +
>  2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> index a3e4ae6..3d16a0c 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -2344,6 +2344,14 @@ static u32 mtk_get_chip_id(struct mtk_eth *eth)
>  	return chip_id;
>  }
>  
> +static bool mtk_is_hwlro_supported(struct mtk_eth *eth)
> +{
> +	if (eth->chip_id == MT7623_ETH)
> +		return true;
> +	else
> +		return false;
> +}
> +
>  static int mtk_probe(struct platform_device *pdev)
>  {
>  	struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> @@ -2383,8 +2391,6 @@ static int mtk_probe(struct platform_device *pdev)
>  		return PTR_ERR(eth->pctl);
>  	}
>  
> -	eth->hwlro = of_property_read_bool(pdev->dev.of_node, "mediatek,hwlro");
> -
>  	for (i = 0; i < 3; i++) {
>  		eth->irq[i] = platform_get_irq(pdev, i);
>  		if (eth->irq[i] < 0) {
> @@ -2415,6 +2421,8 @@ static int mtk_probe(struct platform_device *pdev)
>  		return -ENODEV;
>  	}
>  
> +	eth->hwlro = mtk_is_hwlro_supported(eth);
> +

do you plan to add more chips to the mtk_is_hwlro_supporte() function ?
if not a simple

	eth->hwlro = (eth->chip_id == MT7623_ETH);

might be enough

	John


>  	for_each_child_of_node(pdev->dev.of_node, mac_np) {
>  		if (!of_device_is_compatible(mac_np,
>  					     "mediatek,eth-mac"))
> diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.h b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
> index a5b422b..58738fd 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
> @@ -345,6 +345,7 @@
>  /* ethernet subsystem chip id register */
>  #define ETHSYS_CHIPID0_3	0x0
>  #define ETHSYS_CHIPID4_7	0x4
> +#define MT7623_ETH		(7623)
>  
>  /* ethernet subsystem config register */
>  #define ETHSYS_SYSCFG0		0x14
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ