netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Samin Guo <samin.guo@starfivetech.com>
Cc: linux-riscv@lists.infradead.org, netdev@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	"David S . Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Emil Renner Berthing <kernel@esmil.dk>,
	Richard Cochran <richardcochran@gmail.com>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Peter Geis <pgwipeout@gmail.com>,
	Yanhong Wang <yanhong.wang@starfivetech.com>
Subject: Re: [PATCH v5 08/12] net: stmmac: starfive_dmac: Add phy interface settings
Date: Fri, 3 Mar 2023 14:36:56 +0100	[thread overview]
Message-ID: <ZAH3+BU5doYpOY6t@lunn.ch> (raw)
In-Reply-To: <20230303085928.4535-9-samin.guo@starfivetech.com>

> +static int starfive_dwmac_set_mode(struct plat_stmmacenet_data *plat_dat)
> +{
> +	struct starfive_dwmac *dwmac = plat_dat->bsp_priv;
> +	struct of_phandle_args args;
> +	struct regmap *regmap;
> +	unsigned int reg, mask, mode;
> +	int err;
> +
> +	switch (plat_dat->interface) {
> +	case PHY_INTERFACE_MODE_RMII:
> +		mode = MACPHYC_PHY_INFT_RMII;
> +		break;
> +
> +	case PHY_INTERFACE_MODE_RGMII:
> +	case PHY_INTERFACE_MODE_RGMII_ID:
> +		mode = MACPHYC_PHY_INFT_RGMII;
> +		break;
> +
> +	default:
> +		dev_err(dwmac->dev, "Unsupported interface %d\n",
> +			plat_dat->interface);
> +	}

Please add a return -EINVAL;

> +
> +	err = of_parse_phandle_with_fixed_args(dwmac->dev->of_node,
> +					       "starfive,syscon", 2, 0, &args);
> +	if (err) {
> +		dev_dbg(dwmac->dev, "syscon reg not found\n");
> +		return -EINVAL;
> +	}
> +
> +	reg = args.args[0];
> +	mask = args.args[1];
> +	regmap = syscon_node_to_regmap(args.np);
> +	of_node_put(args.np);
> +	if (IS_ERR(regmap))
> +		return PTR_ERR(regmap);
> +
> +	return regmap_update_bits(regmap, reg, mask, mode << __ffs(mask));

This is a poor device tree binding. We generally don't allow bindings
which say put value X in register Y.

Could you add a table: interface mode, reg, mask? You can then do a
simple lookup based on the interface mode? No device tree binding
needed at all?

       Andrew

  reply	other threads:[~2023-03-03 13:37 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-03  8:59 [PATCH v5 00/12] Add Ethernet driver for StarFive JH7110 SoC Samin Guo
2023-03-03  8:59 ` [PATCH v5 01/12] dt-bindings: net: snps,dwmac: Add dwmac-5.20 version Samin Guo
2023-03-03  8:59 ` [PATCH v5 02/12] net: stmmac: platform: Add snps,dwmac-5.20 IP compatible string Samin Guo
2023-03-03  8:59 ` [PATCH v5 03/12] dt-bindings: net: snps,dwmac: Add an optional resets single 'ahb' Samin Guo
2023-03-08 21:57   ` Rob Herring
2023-03-09  3:10     ` Guo Samin
2023-03-03  8:59 ` [PATCH v5 04/12] dt-bindings: net: Add support StarFive dwmac Samin Guo
2023-03-08 21:59   ` Rob Herring
2023-03-09  1:26     ` Guo Samin
2023-03-03  8:59 ` [PATCH v5 05/12] riscv: dts: starfive: jh7110: Add ethernet device nodes Samin Guo
2023-03-03 13:45   ` Andrew Lunn
2023-03-06  2:19     ` Guo Samin
2023-03-04 22:57   ` Emil Renner Berthing
2023-03-07  7:50     ` Guo Samin
2023-03-03  8:59 ` [PATCH v5 06/12] net: stmmac: Add glue layer for StarFive JH7110 SoC Samin Guo
2023-03-03 16:18   ` Emil Renner Berthing
2023-03-06  7:15     ` Guo Samin
2023-03-06 12:21       ` Emil Renner Berthing
2023-03-07  7:57         ` Guo Samin
2023-03-10  0:02   ` Emil Renner Berthing
2023-03-10  0:39     ` Emil Renner Berthing
2023-03-10  1:55       ` Guo Samin
2023-03-10  9:03         ` Emil Renner Berthing
2023-03-10 11:13           ` Guo Samin
2023-03-03  8:59 ` [PATCH v5 07/12] dt-bindings: net: starfive,jh7110-dwmac: Add starfive,syscon Samin Guo
2023-03-08 22:03   ` Rob Herring
2023-03-09  1:16     ` Guo Samin
2023-03-03  8:59 ` [PATCH v5 08/12] net: stmmac: starfive_dmac: Add phy interface settings Samin Guo
2023-03-03 13:36   ` Andrew Lunn [this message]
2023-03-03 16:50   ` Emil Renner Berthing
2023-03-06  3:06     ` Guo Samin
2023-03-06 12:49       ` Emil Renner Berthing
2023-03-06 13:06         ` Andrew Lunn
2023-03-07  1:50           ` Guo Samin
2023-03-07  2:16         ` Guo Samin
2023-03-03  8:59 ` [PATCH v5 09/12] riscv: dts: starfive: jh7110: Add syscon to support " Samin Guo
2023-03-03  8:59 ` [PATCH v5 10/12] riscv: dts: starfive: visionfive-2-v1.3b: Add gmac+phy's delay configuration Samin Guo
2023-03-03  8:59 ` [PATCH v5 11/12] riscv: dts: starfive: visionfive-2-v1.2a: " Samin Guo
2023-03-06 13:00   ` Emil Renner Berthing
2023-03-07  1:43     ` Guo Samin
2023-03-07 12:40       ` Emil Renner Berthing
2023-03-08  3:01         ` Guo Samin
2023-03-03  8:59 ` [PATCH v5 12/12] riscv: dts: starfive: visionfive 2: Enable gmac device tree node Samin Guo
2023-03-06 13:04   ` Emil Renner Berthing
2023-03-07  1:21     ` Guo Samin
2023-03-07 12:23       ` Emil Renner Berthing
2023-03-10  8:09 ` [PATCH v5 00/12] Add Ethernet driver for StarFive JH7110 SoC Tommaso Merciai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ZAH3+BU5doYpOY6t@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=hkallweit1@gmail.com \
    --cc=kernel@esmil.dk \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=pgwipeout@gmail.com \
    --cc=richardcochran@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=samin.guo@starfivetech.com \
    --cc=yanhong.wang@starfivetech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).