lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Wed, 22 Aug 2018 16:43:32 +0100
From:   Robin Murphy <robin.murphy@....com>
To:     Tomasz Figa <tfiga@...omium.org>
Cc:     "list@....net:IOMMU DRIVERS" <iommu@...ts.linux-foundation.org>,
        Joerg Roedel <joro@...tes.org>, joro@...tes.org,
        Rob Herring <robh+dt@...nel.org>,
        Vivek Gautam <vivek.gautam@...eaurora.org>,
        "Rafael J. Wysocki" <rjw@...ysocki.net>,
        Will Deacon <will.deacon@....com>,
        "list@....net:IOMMU DRIVERS" <iommu@...ts.linux-foundation.org>,
        Joerg Roedel <joro@...tes.org>,
        iommu@...ts.linux-foundation.org, devicetree@...r.kernel.org,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        freedreno <freedreno@...ts.freedesktop.org>,
        Alex Williamson <alex.williamson@...hat.com>,
        Mark Rutland <mark.rutland@....com>,
        Rob Clark <robdclark@...il.com>,
        Linux PM <linux-pm@...r.kernel.org>, sboyd@...nel.org,
        jcrouse@...eaurora.org, Sricharan R <sricharan@...eaurora.org>,
        Marek Szyprowski <m.szyprowski@...sung.com>,
        Archit Taneja <architt@...eaurora.org>,
        linux-arm-msm <linux-arm-msm@...r.kernel.org>
Subject: Re: [PATCH v14 0/4] iommu/arm-smmu: Add runtime pm/sleep support

On 20/08/18 10:31, Tomasz Figa wrote:
> Hi Robin,
> 
> On Fri, Jul 27, 2018 at 4:02 PM Vivek Gautam
> <vivek.gautam@...eaurora.org> wrote:
>>
>> This series provides the support for turning on the arm-smmu's
>> clocks/power domains using runtime pm. This is done using
>> device links between smmu and client devices. The device link
>> framework keeps the two devices in correct order for power-cycling
>> across runtime PM or across system-wide PM.
>>
>> With addition of a new device link flag DL_FLAG_AUTOREMOVE_SUPPLIER [8]
>> (available in linux-next of Rafael's linux-pm tree [9]), the device links
>> created between arm-smmu and its clients will be automatically purged
>> when arm-smmu driver unbinds from its device.
>>
>> As not all implementations support clock/power gating, we are checking
>> for a valid 'smmu->dev's pm_domain' to conditionally enable the runtime
>> power management for such smmu implementations that can support it.
>> Otherwise, the clocks are turned to be always on in .probe until .remove.
>> With conditional runtime pm now, we avoid touching dev->power.lock
>> in fastpaths for smmu implementations that don't need to do anything
>> useful with pm_runtime.
>> This lets us to use the much-argued pm_runtime_get_sync/put_sync()
>> calls in map/unmap callbacks so that the clients do not have to
>> worry about handling any of the arm-smmu's power.
>>
>> This series also adds support for Qcom's arm-smmu-v2 variant that
>> has different clocks and power requirements.
>>
>> Previous version of this patch series is @ [2].
>>
>> Tested this series on msm8996, and sdm845 after pulling in Rafael's linux-pm
>> linux-next[9] and Joerg's iommu next[10] branches, and related changes for
>> device tree, etc.
>>
>> Hi Robin, Will,
>> I have addressed the comments for v13. If there's still a chance
>> can you please consider pulling this for v4.19.
>> Thanks.
>>
>> [v14]
>>     * Moved arm_smmu_device_reset() from arm_smmu_pm_resume() to
>>       arm_smmu_runtime_resume() so that the pm_resume callback calls
>>       only runtime_resume to resume the device.
>>       This should take care of restoring the state of smmu in systems
>>       in which smmu lose register state on power-domain collapse.
> 
> It's been a while since this series was posted and no more comments
> seem to be left anymore. Would you have some time to take a look
> again? Thanks.

Other than the binding issue which turned up in the meantime, I *think* 
this is looking OK now in terms of being sufficiently safe for all the 
various awkward retention vs. state-loss combinations. There's almost 
certainly still ways to improve it in future, but what we have now seems 
like a reasonable starting point that isn't impossibly complicated to 
reason about.

Robin.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ