Linux IOMMU Development
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: "chenxiang (M)" <chenxiang66@hisilicon.com>,
	Will Deacon <will@kernel.org>
Cc: iommu@lists.linux-foundation.org
Subject: Re: [PATCH] iommu/dma: Fix a typo in a comment
Date: Thu, 18 Mar 2021 11:01:31 +0000	[thread overview]
Message-ID: <8eef75b4-8f69-3dff-d46a-170aa8b30a53@arm.com> (raw)
In-Reply-To: <c378734f-33d5-1426-fa41-2bd8064ceec4@hisilicon.com>

On 2021-03-18 09:55, chenxiang (M) wrote:
> Hi will,
> 
> 
> 在 2021/3/18 17:34, Will Deacon 写道:
>> On Thu, Mar 18, 2021 at 11:21:24AM +0800, chenxiang wrote:
>>> From: Xiang Chen <chenxiang66@hisilicon.com>
>>>
>>> Fix a type "SAC" to "DAC" in the comment of function
>>> iommu_dma_alloc_iova().
>>>
>>> Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
>>> ---
>>>   drivers/iommu/dma-iommu.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
>>> index af765c8..3bc17ee 100644
>>> --- a/drivers/iommu/dma-iommu.c
>>> +++ b/drivers/iommu/dma-iommu.c
>>> @@ -443,7 +443,7 @@ static dma_addr_t iommu_dma_alloc_iova(struct 
>>> iommu_domain *domain,
>>>       if (domain->geometry.force_aperture)
>>>           dma_limit = min(dma_limit, 
>>> (u64)domain->geometry.aperture_end);
>>> -    /* Try to get PCI devices a SAC address */
>>> +    /* Try to get PCI devices a DAC address */
>>>       if (dma_limit > DMA_BIT_MASK(32) && dev_is_pci(dev))
>>>           iova = alloc_iova_fast(iovad, iova_len,
>>>                          DMA_BIT_MASK(32) >> shift, false);
>> This doesn't look like a typo to me... Please explain.

As the author of said comment, it is definitely not a typo.

> I think it means double-address cycle(DAC), and in LLD3 452 page, there 
> is a description about it "PCI double-address cycle mappings Normally,
> the DMA support layer works with 32-bit bus addresses, possibly 
> restricted by a specific device’s DMA mask. The PCI bus, however, also 
> supports a 64-bit addressing mode, the double-address cycle (DAC)."
> Please point it out if i am wrong :)

Yes, now look at what the code above does: *if* a PCI device has a DMA 
mask greater than 32 bits (i.e. can support dual address cycles), we 
first try an IOVA allocation with an explicit 32-bit limit (i.e. that 
can be expressed in a single address cycle), in the hope that we don't 
have to fall back to allocating from the upper range and forcing the 
device to actually use DAC (and suffer the potential performance impact).

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

  reply	other threads:[~2021-03-18 11:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-18  3:21 [PATCH] iommu/dma: Fix a typo in a comment chenxiang
2021-03-18  9:34 ` Will Deacon
2021-03-18  9:55   ` chenxiang (M)
2021-03-18 11:01     ` Robin Murphy [this message]
2021-03-19  1:02       ` chenxiang (M)
2021-03-19 11:02         ` Robin Murphy
2021-03-22  1:01           ` chenxiang (M)

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=8eef75b4-8f69-3dff-d46a-170aa8b30a53@arm.com \
    --to=robin.murphy@arm.com \
    --cc=chenxiang66@hisilicon.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=will@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox