Re: [PATCH 2/3] amba: tegra-ahb: use correct base address for future chip support

Russell King - ARM Linux
2015-03-17T10:35:20Z

On Tue, Mar 17, 2015 at 01:32:21AM -0700, Paul Walmsley wrote:
> static inline u32 gizmo_readl(struct tegra_ahb *ahb, u32 offset)
> {
> - return readl(ahb->regs - 4 + offset);
> + return readl(ahb->regs + ahb->offset + offset);
> }
>
> static inline void gizmo_writel(struct tegra_ahb *ahb, u32 value, u32 offset)
> {
> - writel(value, ahb->regs - 4 + offset);
> + writel(value, ahb->regs + ahb->offset + offset);

Rather than storing the offset...

> @@ -262,18 +283,15 @@ static int tegra_ahb_probe(struct platform_device *pdev)
> if (IS_ERR(ahb->regs))
> return PTR_ERR(ahb->regs);
>
> + ad = of_id->data;
> ahb->dev = &pdev->dev;
> + ahb->offset = ad->offset;

What about

ahb->regs += ad->offset;

here and avoid the addition and extra loads on every access.

--
FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up
according to speedtest.net.