All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zach Pfeffer <zpfeffer@codeaurora.org>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: linux@arm.linux.org.uk, ebiederm@xmission.com,
	linux-arch@vger.kernel.org, dwalker@codeaurora.org,
	mel@csn.ul.ie, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	andi@firstfloor.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC 1/3 v3] mm: iommu: An API to unify IOMMU, CPU and device memory management
Date: Mon, 12 Jul 2010 22:57:06 -0700	[thread overview]
Message-ID: <4C3C0032.5020702@codeaurora.org> (raw)
In-Reply-To: <20100712102435B.fujita.tomonori@lab.ntt.co.jp>

FUJITA Tomonori wrote:
> On Thu, 08 Jul 2010 16:59:52 -0700
> Zach Pfeffer <zpfeffer@codeaurora.org> wrote:
> 
>> The problem I'm trying to solve boils down to this: map a set of
>> contiguous physical buffers to an aligned IOMMU address. I need to
>> allocate the set of physical buffers in a particular way: use 1 MB
>> contiguous physical memory, then 64 KB, then 4 KB, etc. and I need to
>> align the IOMMU address in a particular way.
> 
> Sounds like the DMA API already supports what you want.
> 
> You can set segment_boundary_mask in struct device_dma_parameters if
> you want to align the IOMMU address. See IOMMU implementations that
> support dma_get_seg_boundary() properly.

That function takes the wrong argument in a VCM world:

unsigned long dma_get_seg_boundary(struct device *dev);

The boundary should be an attribute of the device side mapping,
independent of the device. This would allow better code reuse.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

WARNING: multiple messages have this Message-ID (diff)
From: zpfeffer@codeaurora.org (Zach Pfeffer)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC 1/3 v3] mm: iommu: An API to unify IOMMU, CPU and device memory management
Date: Mon, 12 Jul 2010 22:57:06 -0700	[thread overview]
Message-ID: <4C3C0032.5020702@codeaurora.org> (raw)
In-Reply-To: <20100712102435B.fujita.tomonori@lab.ntt.co.jp>

FUJITA Tomonori wrote:
> On Thu, 08 Jul 2010 16:59:52 -0700
> Zach Pfeffer <zpfeffer@codeaurora.org> wrote:
> 
>> The problem I'm trying to solve boils down to this: map a set of
>> contiguous physical buffers to an aligned IOMMU address. I need to
>> allocate the set of physical buffers in a particular way: use 1 MB
>> contiguous physical memory, then 64 KB, then 4 KB, etc. and I need to
>> align the IOMMU address in a particular way.
> 
> Sounds like the DMA API already supports what you want.
> 
> You can set segment_boundary_mask in struct device_dma_parameters if
> you want to align the IOMMU address. See IOMMU implementations that
> support dma_get_seg_boundary() properly.

That function takes the wrong argument in a VCM world:

unsigned long dma_get_seg_boundary(struct device *dev);

The boundary should be an attribute of the device side mapping,
independent of the device. This would allow better code reuse.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

WARNING: multiple messages have this Message-ID (diff)
From: Zach Pfeffer <zpfeffer@codeaurora.org>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: linux@arm.linux.org.uk, ebiederm@xmission.com,
	linux-arch@vger.kernel.org, dwalker@codeaurora.org,
	mel@csn.ul.ie, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	andi@firstfloor.org, linux-omap@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [RFC 1/3 v3] mm: iommu: An API to unify IOMMU, CPU and device memory management
Date: Mon, 12 Jul 2010 22:57:06 -0700	[thread overview]
Message-ID: <4C3C0032.5020702@codeaurora.org> (raw)
In-Reply-To: <20100712102435B.fujita.tomonori@lab.ntt.co.jp>

FUJITA Tomonori wrote:
> On Thu, 08 Jul 2010 16:59:52 -0700
> Zach Pfeffer <zpfeffer@codeaurora.org> wrote:
> 
>> The problem I'm trying to solve boils down to this: map a set of
>> contiguous physical buffers to an aligned IOMMU address. I need to
>> allocate the set of physical buffers in a particular way: use 1 MB
>> contiguous physical memory, then 64 KB, then 4 KB, etc. and I need to
>> align the IOMMU address in a particular way.
> 
> Sounds like the DMA API already supports what you want.
> 
> You can set segment_boundary_mask in struct device_dma_parameters if
> you want to align the IOMMU address. See IOMMU implementations that
> support dma_get_seg_boundary() properly.

That function takes the wrong argument in a VCM world:

unsigned long dma_get_seg_boundary(struct device *dev);

The boundary should be an attribute of the device side mapping,
independent of the device. This would allow better code reuse.

-- 
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-07-13  5:57 UTC|newest]

Thread overview: 163+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-03  5:38 [RFC 1/3 v3] mm: iommu: An API to unify IOMMU, CPU and device memory management Zach Pfeffer
2010-07-03  5:38 ` Zach Pfeffer
2010-07-03  5:38 ` Zach Pfeffer
2010-07-03 19:06 ` Eric W. Biederman
2010-07-03 19:06   ` Eric W. Biederman
2010-07-03 19:06   ` Eric W. Biederman
2010-07-07 22:44   ` Zach Pfeffer
2010-07-07 22:44     ` Zach Pfeffer
2010-07-07 22:44     ` Zach Pfeffer
2010-07-07 23:07     ` Russell King - ARM Linux
2010-07-07 23:07       ` Russell King - ARM Linux
2010-07-07 23:07       ` Russell King - ARM Linux
2010-07-08 23:59       ` Zach Pfeffer
2010-07-08 23:59         ` Zach Pfeffer
2010-07-08 23:59         ` Zach Pfeffer
2010-07-12  1:25         ` FUJITA Tomonori
2010-07-12  1:25           ` FUJITA Tomonori
2010-07-12  1:25           ` FUJITA Tomonori
2010-07-13  5:57           ` Zach Pfeffer [this message]
2010-07-13  5:57             ` Zach Pfeffer
2010-07-13  5:57             ` Zach Pfeffer
2010-07-13  6:03             ` FUJITA Tomonori
2010-07-13  6:03               ` FUJITA Tomonori
2010-07-13  6:03               ` FUJITA Tomonori
2010-07-13 12:14               ` Zach Pfeffer
2010-07-13 12:14                 ` Zach Pfeffer
2010-07-13 12:14                 ` Zach Pfeffer
2010-07-14  1:59                 ` FUJITA Tomonori
2010-07-14  1:59                   ` FUJITA Tomonori
2010-07-14  1:59                   ` FUJITA Tomonori
2010-07-14 20:11                   ` Zach Pfeffer
2010-07-14 20:11                     ` Zach Pfeffer
2010-07-14 20:11                     ` Zach Pfeffer
2010-07-14 22:05                     ` Russell King - ARM Linux
2010-07-14 22:05                       ` Russell King - ARM Linux
2010-07-14 22:05                       ` Russell King - ARM Linux
2010-07-15  1:29                       ` Zach Pfeffer
2010-07-15  1:29                         ` Zach Pfeffer
2010-07-15  1:29                         ` Zach Pfeffer
2010-07-15  1:47                         ` Eric W. Biederman
2010-07-15  1:47                           ` Eric W. Biederman
2010-07-15  1:47                           ` Eric W. Biederman
2010-07-15  5:40                           ` Zach Pfeffer
2010-07-15  5:40                             ` Zach Pfeffer
2010-07-15  5:40                             ` Zach Pfeffer
2010-07-15  5:35                         ` Zach Pfeffer
2010-07-15  5:35                           ` Zach Pfeffer
2010-07-15  5:35                           ` Zach Pfeffer
2010-07-15  8:55                         ` Russell King - ARM Linux
2010-07-15  8:55                           ` Russell King - ARM Linux
2010-07-15  8:55                           ` Russell King - ARM Linux
2010-07-16  0:48                           ` Tim HRM
2010-07-16  0:48                             ` Tim HRM
2010-07-16  0:48                             ` Tim HRM
2010-07-16  0:48                             ` Tim HRM
2010-07-16  7:58                             ` Russell King - ARM Linux
2010-07-16  7:58                               ` Russell King - ARM Linux
2010-07-16  7:58                               ` Russell King - ARM Linux
2010-07-17  0:01                               ` Larry Bassel
2010-07-17  0:01                                 ` Larry Bassel
2010-07-17  0:01                                 ` Larry Bassel
2010-07-19  9:21                                 ` Tim HRM
2010-07-19  9:21                                   ` Tim HRM
2010-07-19  9:21                                   ` Tim HRM
2010-07-19  9:21                                   ` Tim HRM
2010-07-21  0:44                                   ` Zach Pfeffer
2010-07-21  0:44                                     ` Zach Pfeffer
2010-07-21  0:44                                     ` Zach Pfeffer
2010-07-21  1:44                                     ` Timothy Meade
2010-07-21  1:44                                       ` Timothy Meade
2010-07-21  1:44                                       ` Timothy Meade
2010-07-21  1:44                                       ` Timothy Meade
2010-07-22  4:06                                       ` Zach Pfeffer
2010-07-22  4:06                                         ` Zach Pfeffer
2010-07-22  4:06                                         ` Zach Pfeffer
2010-07-19 17:55                               ` Michael Bohan
2010-07-19 17:55                                 ` Michael Bohan
2010-07-19 17:55                                 ` Michael Bohan
2010-07-19 18:40                                 ` Russell King - ARM Linux
2010-07-19 18:40                                   ` Russell King - ARM Linux
2010-07-19 18:40                                   ` Russell King - ARM Linux
2010-07-20 22:02                                   ` stepanm
2010-07-20 22:02                                     ` stepanm at codeaurora.org
2010-07-20 22:02                                     ` stepanm
2010-07-20 22:29                                     ` Russell King - ARM Linux
2010-07-20 22:29                                       ` Russell King - ARM Linux
2010-07-20 22:29                                       ` Russell King - ARM Linux
2010-07-21  5:49                                       ` Shilimkar, Santosh
2010-07-21  5:49                                         ` Shilimkar, Santosh
2010-07-21  5:49                                         ` Shilimkar, Santosh
2010-07-21  7:28                                         ` Russell King - ARM Linux
2010-07-21  7:28                                           ` Russell King - ARM Linux
2010-07-21  7:28                                           ` Russell King - ARM Linux
2010-07-21  7:45                                           ` Shilimkar, Santosh
2010-07-21  7:45                                             ` Shilimkar, Santosh
2010-07-21  7:45                                             ` Shilimkar, Santosh
2010-07-21 18:04                                           ` stepanm
2010-07-21 18:04                                             ` stepanm at codeaurora.org
2010-07-21 18:04                                             ` stepanm
2010-07-20 20:45                               ` Zach Pfeffer
2010-07-20 20:45                                 ` Zach Pfeffer
2010-07-20 20:45                                 ` Zach Pfeffer
2010-07-20 20:54                                 ` Russell King - ARM Linux
2010-07-20 20:54                                   ` Russell King - ARM Linux
2010-07-20 20:54                                   ` Russell King - ARM Linux
2010-07-20 21:56                                   ` Zach Pfeffer
2010-07-20 21:56                                     ` Zach Pfeffer
2010-07-20 21:56                                     ` Zach Pfeffer
2010-07-19  6:52                           ` Zach Pfeffer
2010-07-19  6:52                             ` Zach Pfeffer
2010-07-19  6:52                             ` Zach Pfeffer
2010-07-19  7:44                             ` Eric W. Biederman
2010-07-19  7:44                               ` Eric W. Biederman
2010-07-19  7:44                               ` Eric W. Biederman
2010-07-22  4:25                               ` Zach Pfeffer
2010-07-22  4:25                                 ` Zach Pfeffer
2010-07-22  4:25                                 ` Zach Pfeffer
2010-07-22  7:34                                 ` Russell King - ARM Linux
2010-07-22  7:34                                   ` Russell King - ARM Linux
2010-07-22  7:34                                   ` Russell King - ARM Linux
2010-07-22 16:25                                   ` Zach Pfeffer
2010-07-22 16:25                                     ` Zach Pfeffer
2010-07-22 16:25                                     ` Zach Pfeffer
2010-07-14 23:07                     ` FUJITA Tomonori
2010-07-14 23:07                       ` FUJITA Tomonori
2010-07-14 23:07                       ` FUJITA Tomonori
2010-07-15  1:41                       ` Zach Pfeffer
2010-07-15  1:41                         ` Zach Pfeffer
2010-07-15  1:41                         ` Zach Pfeffer
2010-07-19  8:22                         ` Russell King - ARM Linux
2010-07-19  8:22                           ` Russell King - ARM Linux
2010-07-19  8:22                           ` Russell King - ARM Linux
2010-07-20 10:09                           ` FUJITA Tomonori
2010-07-20 10:09                             ` FUJITA Tomonori
2010-07-20 10:09                             ` FUJITA Tomonori
2010-07-20 22:20                           ` Zach Pfeffer
2010-07-20 22:20                             ` Zach Pfeffer
2010-07-20 22:20                             ` Zach Pfeffer
2010-07-21  1:44                             ` FUJITA Tomonori
2010-07-21  1:44                               ` FUJITA Tomonori
2010-07-21  1:44                               ` FUJITA Tomonori
2010-07-22  4:30                               ` Zach Pfeffer
2010-07-22  4:30                                 ` Zach Pfeffer
2010-07-22  4:30                                 ` Zach Pfeffer
2010-07-22  4:43                                 ` FUJITA Tomonori
2010-07-22  4:43                                   ` FUJITA Tomonori
2010-07-22  4:43                                   ` FUJITA Tomonori
2010-07-22 16:44                                   ` Zach Pfeffer
2010-07-22 16:44                                     ` Zach Pfeffer
2010-07-22 16:44                                     ` Zach Pfeffer
2010-07-22  7:39                                 ` Russell King - ARM Linux
2010-07-22  7:39                                   ` Russell King - ARM Linux
2010-07-22  7:39                                   ` Russell King - ARM Linux
2010-07-22 16:28                                   ` Zach Pfeffer
2010-07-22 16:28                                     ` Zach Pfeffer
2010-07-22 16:28                                     ` Zach Pfeffer
  -- strict thread matches above, loose matches on Subject: below --
2010-07-06 15:42 Zach Pfeffer
2010-07-06 15:42 ` Zach Pfeffer
2010-07-21  5:18 stepanm
2010-07-21  5:18 ` stepanm
2010-07-21  5:18 ` stepanm
2010-07-21  5:18 ` stepanm at codeaurora.org
2010-07-21  5:18 ` stepanm

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=4C3C0032.5020702@codeaurora.org \
    --to=zpfeffer@codeaurora.org \
    --cc=andi@firstfloor.org \
    --cc=dwalker@codeaurora.org \
    --cc=ebiederm@xmission.com \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=mel@csn.ul.ie \
    /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.