[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250304150924.a6ygwzca3lwgpt7h@thinkpad>
Date: Tue, 4 Mar 2025 20:39:24 +0530
From: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
To: Jim Quinlan <james.quinlan@...adcom.com>
Cc: linux-pci@...r.kernel.org, Nicolas Saenz Julienne <nsaenz@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Cyril Brulebois <kibi@...ian.org>,
Stanimir Varbanov <svarbanov@...e.de>,
bcm-kernel-feedback-list@...adcom.com, jim2101024@...il.com,
Florian Fainelli <florian.fainelli@...adcom.com>,
Lorenzo Pieralisi <lpieralisi@...nel.org>,
Krzysztof Wilczyński <kw@...ux.com>,
Rob Herring <robh@...nel.org>,
"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" <linux-rpi-kernel@...ts.infradead.org>,
"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" <linux-arm-kernel@...ts.infradead.org>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 7/8] PCI: brcmstb: Make two changes in MDIO register
fields
On Fri, Feb 14, 2025 at 12:39:35PM -0500, Jim Quinlan wrote:
> The HW team has decided to "tighten" some field definitions in the MDIO
> packet format. Fortunately these two changes may be made in a backwards
> compatible manner.
>
> The CMD field used to be 12 bits and now is one. This change is backwards
> compatible because the field's starting bit position is unchanged and the
> only commands we've used have values 0 and 1.
>
> The PORT field's width has been changed from four to five bits. When
> written, the new bit is not contiguous with the other four. Fortunately,
> this change is backwards compatible because we have never used anything
> other than 0 for the port field's value.
>
> Signed-off-by: Jim Quinlan <james.quinlan@...adcom.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
- Mani
> ---
> drivers/pci/controller/pcie-brcmstb.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
> index 923ac1a03f85..cb897d4b2579 100644
> --- a/drivers/pci/controller/pcie-brcmstb.c
> +++ b/drivers/pci/controller/pcie-brcmstb.c
> @@ -175,8 +175,9 @@
> #define MDIO_PORT0 0x0
> #define MDIO_DATA_MASK 0x7fffffff
> #define MDIO_PORT_MASK 0xf0000
> +#define MDIO_PORT_EXT_MASK 0x200000
> #define MDIO_REGAD_MASK 0xffff
> -#define MDIO_CMD_MASK 0xfff00000
> +#define MDIO_CMD_MASK 0x00100000
> #define MDIO_CMD_READ 0x1
> #define MDIO_CMD_WRITE 0x0
> #define MDIO_DATA_DONE_MASK 0x80000000
> @@ -327,6 +328,7 @@ static u32 brcm_pcie_mdio_form_pkt(int port, int regad, int cmd)
> {
> u32 pkt = 0;
>
> + pkt |= FIELD_PREP(MDIO_PORT_EXT_MASK, port >> 4);
> pkt |= FIELD_PREP(MDIO_PORT_MASK, port);
> pkt |= FIELD_PREP(MDIO_REGAD_MASK, regad);
> pkt |= FIELD_PREP(MDIO_CMD_MASK, cmd);
> --
> 2.43.0
>
--
மணிவண்ணன் சதாசிவம்
Powered by blists - more mailing lists