[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eeaf777f-e0ea-fb41-5a5e-4ab42a35e10f@broadcom.com>
Date: Thu, 26 Jul 2018 12:25:24 -0700
From: Ray Jui <ray.jui@...adcom.com>
To: Arun Parameswaran <arun.parameswaran@...adcom.com>,
Andrew Lunn <andrew@...n.ch>
Cc: "David S. Miller" <davem@...emloft.net>,
Florian Fainelli <f.fainelli@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Ray Jui <rjui@...adcom.com>,
Scott Branden <sbranden@...adcom.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will.deacon@....com>, netdev@...r.kernel.org,
devicetree@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, bcm-kernel-feedback-list@...adcom.com
Subject: Re: [PATCH 2/7] net: phy: Fix the register offsets in Broadcom iProc
mdio mux driver
On 7/26/2018 12:16 PM, Arun Parameswaran wrote:
>
>
> On 18-07-26 12:06 PM, Andrew Lunn wrote:
>> On Thu, Jul 26, 2018 at 11:36:19AM -0700, Arun Parameswaran wrote:
>>> Modify the register offsets in the Broadcom iProc mdio mux to start
>>> from the top of the register address space.
>>>
>>> Earlier the base address specified was from the middle of the block's
>>> register space. The base address will now point to the start of the
>>> mdio's address space. The offsets have been fixed to match this.
>>
>> Hi Arun
>>
>> Did you consider a change something like:
> That looks good. I will make this change to the patch.
>
> Thanks
> Arun
To make it backward compatible, then length of the resource also needs
to be adjusted from 0x14 to 0x250 in the driver?
Otherwise you will end up accessing areas out of 0x14 defined in old DT
that is not mapped?
Thanks,
Ray
>>
>> diff --git a/drivers/net/phy/mdio-mux-bcm-iproc.c b/drivers/net/phy/mdio-mux-bcm-iproc.c
>> index 0831b7142df7..2d53e609498c 100644
>> --- a/drivers/net/phy/mdio-mux-bcm-iproc.c
>> +++ b/drivers/net/phy/mdio-mux-bcm-iproc.c
>> @@ -169,6 +169,12 @@ static int mdio_mux_iproc_probe(struct platform_device *pdev)
>> md->dev = &pdev->dev;
>>
>> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>> +
>> + if (res->start & 0xfff != 0) {
>> + dev_info(&pdev->dev, "Please upgrade your device tree blob.\n");
>> + res->start &= ~0xfff;
>> + }
>> +
>> md->base = devm_ioremap_resource(&pdev->dev, res);
>> if (IS_ERR(md->base)) {
>> dev_err(&pdev->dev, "failed to ioremap register\n");
>>
>>
>> Andrew
>>
Powered by blists - more mailing lists