lkml.org 
[lkml]   [2020]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v6 3/3] firmware: QCOM_SCM: Allow qcom_scm driver to be loadable as a permenent module
    On Tue, Nov 17, 2020 at 02:47:54PM +0100, Thierry Reding wrote:
    > On Mon, Nov 16, 2020 at 11:48:39AM -0800, John Stultz wrote:
    > > On Mon, Nov 16, 2020 at 8:36 AM Will Deacon <will@kernel.org> wrote:
    > > > On Mon, Nov 16, 2020 at 04:59:36PM +0100, Thierry Reding wrote:
    > > > > On Fri, Nov 06, 2020 at 04:27:10AM +0000, John Stultz wrote:
    > > > > Unfortunately, the ARM SMMU module will eventually end up being loaded
    > > > > once the root filesystem has been mounted (for example via SDHCI or
    > > > > Ethernet, both with using just plain, non-IOMMU-backed DMA API) and then
    > > > > initialize, configuring as "fault by default", which then results from a
    > > > > slew of SMMU faults from all the devices that have previously configured
    > > > > themselves without IOMMU support.
    > > >
    > > > I wonder if fw_devlink=on would help here?
    > > >
    > > > But either way, I'd be more inclined to revert this change if it's causing
    > > > problems for !QCOM devices.
    > > >
    > > > Linus -- please can you drop this one (patch 3/3) for now, given that it's
    > > > causing problems?
    > >
    > > Agreed. Apologies again for the trouble.
    > >
    > > I do feel like the probe timeout to handle optional links is causing a
    > > lot of the trouble here. I expect fw_devlink would solve this, but it
    > > may be awhile before it can be always enabled. I may see about
    > > pushing the default probe timeout value to be a little further out
    > > than init (I backed away from my last attempt as I didn't want to
    > > cause long (30 second) delays for cases like NFS root, but maybe 2-5
    > > seconds would be enough to make things work better for everyone).
    >
    > I think there are two problems here: 1) the deferred probe timeout can
    > cause a mismatch between what SMMU masters and the SMMU think is going
    > on and 2) a logistical problem of dealing with the SMMU driver being a
    > loadable module.
    >
    > The second problem can be dealt with by shipping the module in the
    > initial ramdisk. That's a bit annoying, but perhaps the right thing to
    > do. At least on Tegra we need this because all the devices that carry
    > the root filesystem (Ethernet for NFS and SDHCI/USB/SATA/PCI for disk
    > boot) are SMMU masters and will start to fault once the SMMU driver is
    > loaded.

    Realistically, if you're building an IOMMU driver as a module then it needs
    to be part of the initrd and fw_devlink needs to be enabled. Relying on
    timeouts and the phase of the moon is not going to be reliable.

    But back to the original issue, I think we should revert the Kconfig patch
    from Linus' tree. Please can you send a revert for that?

    Will

    \
     
     \ /
      Last update: 2020-11-19 10:35    [W:2.830 / U:0.672 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site