[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <497e40b8-300f-1b83-4312-93a58c459d1d@arm.com>
Date: Thu, 12 Mar 2020 12:05:00 +0000
From: Robin Murphy <robin.murphy@....com>
To: Sai Prakash Ranjan <saiprakash.ranjan@...eaurora.org>
Cc: ohad@...ery.com, devicetree@...r.kernel.org,
linux-kernel-owner@...r.kernel.org, linux-arm-msm@...r.kernel.org,
linux-remoteproc@...r.kernel.org, linux-kernel@...r.kernel.org,
bjorn.andersson@...aro.org, iommu@...ts.linux-foundation.org,
robh+dt@...nel.org, Sibi Sankar <sibis@...eaurora.org>,
agross@...nel.org
Subject: Re: [PATCH 0/3] Request direct mapping for modem firmware subdevice
On 2020-03-12 6:28 am, Sai Prakash Ranjan wrote:
> Hi Robin,
>
> On 2020-03-10 22:14, Robin Murphy wrote:
>> On 10/03/2020 4:23 pm, Joerg Roedel wrote:
>>> On Tue, Mar 10, 2020 at 07:30:50PM +0530, Sibi Sankar wrote:
>>>> The accesses are initiated by the firmware
>>>> and they access modem reserved regions.
>>>> However as explained in ^^ any accesses
>>>> outside the region will result in a violation
>>>> and is controlled through XPUs (protection units).
>>>
>>> Okay, this sounds like a case for arm_smmu_get_resv_region(). It should
>>> return an entry for the reserved memory region the firmware needs to
>>> access, so that generic iommu can setup this mapping.
>>>
>>> Note that it should return that entry only for your device, not for all
>>> devices. Maybe there is a property in DT or IORT you can set to
>>> transport this information into the arm-smmu driver.
>>>
>>> This is pretty similar to RMRR mapping on the Intel VT-d IOMMU or
>>> Unity-mapped ranges in the AMD-Vi IOMMU.
>>
>> Yup, a way to describe boot-time memory regions in IORT is in the
>> process of being specced out; the first attempt at an equivalent for
>> DT is here:
>>
>> https://lore.kernel.org/linux-iommu/20191209150748.2471814-1-thierry.reding@gmail.com/
>>
>>
>> If that's not enough and the SMMU still needs to treat certain Stream
>> IDs specially because they may be untranslatable (due to having direct
>> access to memory as a side-channel), then that should be handled in
>> the SoC-specific corner of the SMMU driver, not delegated to
>> individual endpoint drivers.
>>
>
> Are you talking about this one for SoC specific change -
> https://lore.kernel.org/patchwork/patch/1183530/
Exactly - this particular wheel needs no reinventing at all.
[ I guess I should go review those patches properly... :) ]
Robin.
Powered by blists - more mailing lists