From: "Marek Behún" <kabel@kernel.org>
To: Holger Brunck <holger.brunck@hitachienergy.com>,
Andrew Lunn <andrew@lunn.ch>
Cc: netdev@vger.kernel.org, Jakub Kicinski <kuba@kernel.org>
Subject: Re: [PATCH 2/2] dsa: mv88e6xxx: make serdes SGMII/Fiber output amplitude configurable
Date: Fri, 26 Nov 2021 20:56:25 +0100 [thread overview]
Message-ID: <20211126205625.5c0e38c5@thinkpad> (raw)
In-Reply-To: <20211126154249.2958-2-holger.brunck@hitachienergy.com>
On Fri, 26 Nov 2021 16:42:49 +0100
Holger Brunck <holger.brunck@hitachienergy.com> wrote:
> The mv88e6352, mv88e6240 and mv88e6176 have a serdes interface. This patch
> allows to configure the output swing to a desired value in the
> devicetree node of the switch.
>
> CC: Andrew Lunn <andrew@lunn.ch>
> CC: Jakub Kicinski <kuba@kernel.org>
> Signed-off-by: Holger Brunck <holger.brunck@hitachienergy.com>
> ---
> drivers/net/dsa/mv88e6xxx/chip.c | 14 ++++++++++++++
> drivers/net/dsa/mv88e6xxx/chip.h | 3 +++
> drivers/net/dsa/mv88e6xxx/serdes.c | 14 ++++++++++++++
> drivers/net/dsa/mv88e6xxx/serdes.h | 4 ++++
> 4 files changed, 35 insertions(+)
>
> diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
> index f00cbf5753b9..5182128959a0 100644
> --- a/drivers/net/dsa/mv88e6xxx/chip.c
> +++ b/drivers/net/dsa/mv88e6xxx/chip.c
> @@ -3173,9 +3173,11 @@ static void mv88e6xxx_teardown(struct dsa_switch *ds)
> static int mv88e6xxx_setup(struct dsa_switch *ds)
> {
> struct mv88e6xxx_chip *chip = ds->priv;
> + struct device_node *np = chip->dev->of_node;
> u8 cmode;
> int err;
> int i;
> + int out_amp;
Reverse christmas tree please, where possible.
struct mv88e6xxx_chip *chip = ds->priv;
+ struct device_node *np = chip->dev->of_node;
+ int out_amp;
u8 cmode;
int err;
int
>
> chip->ds = ds;
> ds->slave_mii_bus = mv88e6xxx_default_mdio_bus(chip);
> @@ -3292,6 +3294,15 @@ static int mv88e6xxx_setup(struct dsa_switch *ds)
> if (err)
> goto unlock;
>
> + if (chip->info->ops->serdes_set_out_amplitude && np) {
> + if (!of_property_read_u32(np, "serdes-output-amplitude",
Hmm. Andrew, why don't we use <linux/property.h> instead of
<linux/of*.h> stuff in this dirver? Is there a reason or is this just
because it wasn't converted yet?
A simple device_property_read_u32() would be better here and we
wouldn't need the np pointer.
...
> +int mv88e6352_serdes_set_out_amplitude(struct mv88e6xxx_chip *chip, int val)
> +{
> + u16 reg;
> + int err;
> +
> + err = mv88e6352_serdes_read(chip, MV88E6352_SERDES_SPEC_CTRL2, ®);
> + if (err)
> + return err;
> +
> + reg = (reg & MV88E6352_SERDES_OUT_AMP_MASK) | val;
> +
> + return mv88e6352_serdes_write(chip, MV88E6352_SERDES_SPEC_CTRL2, reg);
> +}
Is there a reason why we call this from driver probe instead of 6352's
serdes_power() ?
Marek
next prev parent reply other threads:[~2021-11-26 20:10 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-26 15:42 [PATCH 1/2] Docs/devicetree: add serdes-output-amplitude to marvell.txt Holger Brunck
2021-11-26 15:42 ` [PATCH 2/2] dsa: mv88e6xxx: make serdes SGMII/Fiber output amplitude configurable Holger Brunck
2021-11-26 16:16 ` Andrew Lunn
2021-11-26 19:56 ` Marek Behún [this message]
2021-11-26 20:43 ` Andrew Lunn
2021-11-26 21:13 ` Marek Behún
2021-11-26 21:49 ` Andrew Lunn
2021-11-29 11:17 ` Holger Brunck
2021-11-26 16:08 ` [PATCH 1/2] Docs/devicetree: add serdes-output-amplitude to marvell.txt Andrew Lunn
2021-11-29 10:40 ` Holger Brunck
2021-11-26 16:12 ` Andrew Lunn
2021-11-29 11:14 ` Holger Brunck
2021-11-26 18:37 ` Jakub Kicinski
2021-11-26 19:57 ` Jakub Kicinski
2021-11-26 23:14 ` Andrew Lunn
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=20211126205625.5c0e38c5@thinkpad \
--to=kabel@kernel.org \
--cc=andrew@lunn.ch \
--cc=holger.brunck@hitachienergy.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.