[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120504.093358.2098007825524274078.hdoyu@nvidia.com>
Date: Fri, 4 May 2012 08:33:58 +0200
From: Hiroshi Doyu <hdoyu@...dia.com>
To: "swarren@...dotorg.org" <swarren@...dotorg.org>
CC: "linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"joerg.roedel@....com" <joerg.roedel@....com>,
"thierry.reding@...onic-design.de" <thierry.reding@...onic-design.de>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCHv3 3/4] iommu/tegra: smmu: Refrain from accessing to AHB
From: Stephen Warren <swarren@...dotorg.org>
Subject: Re: [PATCHv3 3/4] iommu/tegra: smmu: Refrain from accessing to AHB
Date: Thu, 3 May 2012 19:48:25 +0200
Message-ID: <4FA2C4E9.2080509@...dotorg.org>
> On 05/03/2012 10:05 AM, Hiroshi DOYU wrote:
> > Use "tegra_ahb_enable_smmu()" to inform AHB that SMMU is
> > ready, instead of directly aceessing AHB registers.
>
> You need to make the Kconfig option for the SMMU either depend on or
> select the TEGRA_AHB option. If you don't, then if someone disables the
> AHB driver, the SMMU driver may still build, yet fail to link since the
> AHB API it calls doesn't exist.
>
> > diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
>
> > @@ -398,10 +388,8 @@ static void smmu_setup_regs(struct smmu_device *smmu)
> >
> > smmu_flush_regs(smmu, 1);
> >
> > - val = ahb_read(smmu, AHB_XBAR_CTRL);
> > - val |= AHB_XBAR_CTRL_SMMU_INIT_DONE_DONE <<
> > - AHB_XBAR_CTRL_SMMU_INIT_DONE_SHIFT;
> > - ahb_write(smmu, val, AHB_XBAR_CTRL);
> > + err = tegra_ahb_enable_smmu(smmu->ahb);
> > + return err;
>
> You can just "return tegra_ahb_..." here.
>
> > @@ -911,14 +899,16 @@ static int tegra_smmu_probe(struct platform_device *pdev)
>
> > + smmu->ahb = of_parse_phandle(pdev->dev.of_node, "ahb", 0);
>
> Hmm, "ahb" should probably be "nvidia,ahb".
Does this mean the following in dts?
ahb: ahb@...0c004 {
compatible = "nvidia,tegra30-ahb";
reg = <0x6000c004 0x14c>; /* AHB Arbitration + Gizmo Controller */
};
smmu: smmu@...0f000 {
nvidia,ahb = &ahb;
}; ^^^^^^^^^^
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists