[PATCH net-next v2 2/3] net: ethernet: mediatek: get hw lro capability by the chip id instead of by the dtsi

Nelson Chang nelson.chang at mediatek.com
Wed Oct 5 05:46:42 PDT 2016


Hi Sergei,

Sorry, miss that.

> +static bool mtk_is_hwlro_supported(struct mtk_eth *eth) {
> +     if (eth->chip_id == MT7623_ETH)
> +             return true;
> +     else
> +             return false;

        return eth->chip_id == MT7623_ETH;

=> Since there will be more chips support hw lro in the future, keep the
original codes to have the scalability like this:
if (eth->chip_id == MTxxxx_ETH ||
    eth->chip_id == MTyyyy_ETH ||
    ....)
	return true;



Nelson

-----Original Message-----
From: Sergei Shtylyov [mailto:sergei.shtylyov at cogentembedded.com]
Sent: Wednesday, October 05, 2016 8:18 PM
To: Nelson Chang (張家祥); john at phrozen.org; davem at davemloft.net
Cc: nbd at openwrt.org; netdev at vger.kernel.org;
linux-mediatek at lists.infradead.org; nelsonch.tw at gmail.com
Subject: Re: [PATCH net-next v2 2/3] net: ethernet: mediatek: get hw lro
capability by the chip id instead of by the dtsi

Hello.

On 10/05/2016 03:12 PM, 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 at mediatek.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 0c67ab1..07f3ffa 100644
> --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
> @@ -2348,6 +2348,14 @@ static int mtk_get_chip_id(struct mtk_eth *eth,
u32 *chip_id)
>       return 0;
>  }
>
> +static bool mtk_is_hwlro_supported(struct mtk_eth *eth) {
> +     if (eth->chip_id == MT7623_ETH)
> +             return true;
> +     else
> +             return false;

        return eth->chip_id == MT7623_ETH;

[...]
> 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)

    () not needed at all.

MBR, Sergei




More information about the Linux-mediatek mailing list