All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Joerg Roedel <joro@8bytes.org>, Sibi Sankar <sibis@codeaurora.org>
Cc: ohad@wizery.com, devicetree@vger.kernel.org,
	linux-kernel-owner@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org,
	linux-kernel@vger.kernel.org, bjorn.andersson@linaro.org,
	iommu@lists.linux-foundation.org, robh+dt@kernel.org,
	agross@kernel.org
Subject: Re: [PATCH 0/3] Request direct mapping for modem firmware subdevice
Date: Tue, 10 Mar 2020 16:44:12 +0000	[thread overview]
Message-ID: <a50040a9-54fe-f682-dd7e-b2991b48d633@arm.com> (raw)
In-Reply-To: <20200310162320.GL3794@8bytes.org>

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.

Robin.

WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Joerg Roedel <joro@8bytes.org>, Sibi Sankar <sibis@codeaurora.org>
Cc: ohad@wizery.com, devicetree@vger.kernel.org,
	linux-kernel-owner@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org,
	linux-kernel@vger.kernel.org, bjorn.andersson@linaro.org,
	iommu@lists.linux-foundation.org, robh+dt@kernel.org,
	agross@kernel.org
Subject: Re: [PATCH 0/3] Request direct mapping for modem firmware subdevice
Date: Tue, 10 Mar 2020 16:44:12 +0000	[thread overview]
Message-ID: <a50040a9-54fe-f682-dd7e-b2991b48d633@arm.com> (raw)
In-Reply-To: <20200310162320.GL3794@8bytes.org>

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.

Robin.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

  reply	other threads:[~2020-03-10 16:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-09 18:22 [PATCH 0/3] Request direct mapping for modem firmware subdevice Sibi Sankar
2020-03-09 18:22 ` Sibi Sankar
2020-03-09 18:22 ` [PATCH 1/3] iommu: Export "iommu_request_dm_for_dev" Sibi Sankar
2020-03-09 18:22   ` Sibi Sankar
2020-03-09 18:22 ` [PATCH 2/3] dt-bindings: remoteproc: qcom: Add modem-firmware bindings Sibi Sankar
2020-03-09 18:22   ` Sibi Sankar
2020-03-09 18:22 ` [PATCH 3/3] remoteproc: qcom_q6v5_mss: Request direct mapping for firmware subdevice Sibi Sankar
2020-03-09 18:22   ` Sibi Sankar
2020-03-10 11:23 ` [PATCH 0/3] Request direct mapping for modem " Joerg Roedel
2020-03-10 11:23   ` Joerg Roedel
2020-03-10 14:00   ` Sibi Sankar
2020-03-10 14:00     ` Sibi Sankar
2020-03-10 16:23     ` Joerg Roedel
2020-03-10 16:23       ` Joerg Roedel
2020-03-10 16:44       ` Robin Murphy [this message]
2020-03-10 16:44         ` Robin Murphy
2020-03-12  6:28         ` Sai Prakash Ranjan
2020-03-12  6:28           ` Sai Prakash Ranjan
2020-03-12 12:05           ` Robin Murphy
2020-03-12 12:05             ` Robin Murphy
2020-03-23  9:43             ` Sai Prakash Ranjan
2020-03-23  9:43               ` Sai Prakash Ranjan
2020-03-16 15:50 ` Christoph Hellwig
2020-03-16 15:50   ` Christoph Hellwig
2020-03-16 16:37   ` Sibi Sankar
2020-03-16 16:37     ` Sibi Sankar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a50040a9-54fe-f682-dd7e-b2991b48d633@arm.com \
    --to=robin.murphy@arm.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel-owner@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=ohad@wizery.com \
    --cc=robh+dt@kernel.org \
    --cc=sibis@codeaurora.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.