lkml.org 
[lkml]   [2021]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH] iommu/tegra-smmu: Fix mc errors on tegra124-nyan
    From
    Date
    11.03.2021 01:17, Nicolin Chen пишет:
    > On Wed, Mar 10, 2021 at 11:22:57PM +0300, Dmitry Osipenko wrote:
    >> 10.03.2021 22:13, Dmitry Osipenko пишет:
    >>> I found that this patch introduced a serious regression on Tegra30 using
    >>> today's linux-next. Tegra30 has two 3d h/w blocks connected in SLI and
    >>> only one of the blocks is now attached to IOMMU domain, meaning that GPU
    >>> is unusable now. All 3d, 2d and display devices share the same "DRM"
    >>> group on Tegra30.
    >>>
    >>> Nicolin, please let me know if have any suggestions. I may take a closer
    >>> look a day later, for now I'll just revert this patch locally. Thanks in
    >>> advance.
    >>>
    >>
    >> Actually, this was easy to fix:
    >>
    >> diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
    >> index 97eb62f667d2..639d5ceab60b 100644
    >> --- a/drivers/iommu/tegra-smmu.c
    >> +++ b/drivers/iommu/tegra-smmu.c
    >> @@ -853,8 +853,6 @@ static struct iommu_device
    >> *tegra_smmu_probe_device(struct device *dev)
    >>
    >> if (err < 0)
    >> return ERR_PTR(err);
    >> -
    >> - break;
    >
    > Hmm..I don't understand why this "break" causes problems on Tegra30.
    > The older versions that used _find()+configure() had it also, e.g.:
    > https://elixir.bootlin.com/linux/v5.9.16/source/drivers/iommu/tegra-smmu.c#L760
    >
    > Dmitry, do you have any idea?
    >

    The older variant of tegra_smmu_attach_dev() didn't use fwspec [1], that
    makes the difference. In other words, the older variant of
    tegra_smmu_probe_device() was already buggy, but the bug was masked by
    the tegra_smmu_attach_dev() that didn't use the fwspec.

    [1]
    https://elixir.bootlin.com/linux/v5.10.22/source/drivers/iommu/tegra-smmu.c#L476

    \
     
     \ /
      Last update: 2021-03-11 13:07    [W:8.506 / U:0.436 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site