From: Tim Nordell <tim.nordell@logicpd.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: <linux-media@vger.kernel.org>, Sakari Ailus <sakari.ailus@iki.fi>
Subject: Re: [PATCH v2 25/26] omap3isp: Move to videobuf2
Date: Wed, 18 Mar 2015 14:49:16 -0500 [thread overview]
Message-ID: <5509D6BC.6080006@logicpd.com> (raw)
In-Reply-To: <2250003.9yO29CjKoc@avalon>
Laurent -
On 03/18/15 10:21, Laurent Pinchart wrote:
> Correct. sg_dma_address() should contain the DMA virtual address when
> an IOMMU is used.
>> I was assuming it was checking the physical memory layout to it without
>> looking too closely to the code. Armed with that knowledge, I'll dig a
>> little deeper to see if I can figure out what happened here.
I added a bit of code to where it was printing out the error code to
print out the mapping as vb2_dc_get_contiguous_size(...) sees it. I get
back the following:
[ 200.031249] sgt[0].addr = 0x400a0000 - 0x400affff
[ 200.031280] sgt[1].addr = 0x400b0000 - 0x400bffff
[ 200.031311] sgt[2].addr = 0x400c0000 - 0x400cffff
[ 200.031341] sgt[3].addr = 0x400d0000 - 0x400dffff
[ 200.031372] sgt[4].addr = 0x400e0000 - 0x400effff
[ 200.031402] sgt[5].addr = 0x400f0000 - 0x400fffff
[ 200.031433] sgt[6].addr = 0x40100000 - 0x4010ffff
[ 200.031463] sgt[7].addr = 0x40110000 - 0x4011ffff
[ 200.031494] sgt[8].addr = 0x40120000 - 0x4012ffff
[ 200.031524] sgt[9].addr = 0x40098000 - 0x4009dfff
[ 200.031524] contiguous mapping is too small 589824/614400
Notice that the last section is completely off the wall compared to the
rest?
Digging through to find who is responsible for assigning the virtual
addresses, I find that it's buried inside
arch/arm/mm/dma-mapping.c:__alloc_iova(...). This call is called
individually for each entry in the scatter-gather table via
__map_sg_chunk from iommu_map_sg(...). If this is supposed to allocate
a contiguous virtual memory region, it seems that __iommu_map_sg(...)
should be considering the full buffer range rather than parts of the
buffer at a time for the virtual allocation, similar to how
__iommu_create_mapping(...) works in the same file.
- Tim
next prev parent reply other threads:[~2015-03-18 19:49 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-21 12:28 [PATCH v2 00/26] OMAP3 ISP: Move to videobuf2 Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 01/26] omap3isp: stat: Rename IS_COHERENT_BUF to ISP_STAT_USES_DMAENGINE Laurent Pinchart
2014-04-30 22:45 ` Sakari Ailus
2014-04-30 22:48 ` Laurent Pinchart
2014-05-01 11:15 ` Sakari Ailus
2014-05-01 16:08 ` Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 02/26] omap3isp: stat: Remove impossible WARN_ON Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 03/26] omap3isp: stat: Share common code for buffer allocation Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 04/26] omap3isp: stat: Merge dma_addr and iommu_addr fields Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 05/26] omap3isp: stat: Store sg table in ispstat_buffer Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 06/26] omap3isp: stat: Use the DMA API Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 07/26] omap3isp: ccdc: Use the DMA API for LSC Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 08/26] omap3isp: ccdc: Use the DMA API for FPC Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 09/26] omap3isp: video: Set the buffer bytesused field at completion time Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 10/26] omap3isp: queue: Move IOMMU handling code to the queue Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 11/26] omap3isp: queue: Use sg_table structure Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 12/26] omap3isp: queue: Merge the prepare and sglist functions Laurent Pinchart
2014-04-21 12:28 ` [PATCH v2 13/26] omap3isp: queue: Inline the ispmmu_v(un)map functions Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 14/26] omap3isp: queue: Allocate kernel buffers with dma_alloc_coherent Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 15/26] omap3isp: queue: Fix the dma_map_sg() return value check Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 16/26] omap3isp: queue: Map PFNMAP buffers to device Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 17/26] omap3isp: queue: Use sg_alloc_table_from_pages() Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 18/26] omap3isp: Use the ARM DMA IOMMU-aware operations Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 19/26] omap3isp: queue: Don't build scatterlist for kernel buffer Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 20/26] omap3isp: Move queue mutex to isp_video structure Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 21/26] omap3isp: Move queue irqlock " Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 22/26] omap3isp: Move buffer irqlist to isp_buffer structure Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 23/26] omap3isp: Cancel all queued buffers when stopping the video stream Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 24/26] v4l: vb2: Add a function to discard all DONE buffers Laurent Pinchart
2014-04-21 12:29 ` [PATCH v2 25/26] omap3isp: Move to videobuf2 Laurent Pinchart
2015-03-17 22:57 ` Tim Nordell
2015-03-18 12:39 ` Laurent Pinchart
2015-03-18 14:54 ` Tim Nordell
2015-03-18 14:59 ` Laurent Pinchart
2015-03-18 15:19 ` Tim Nordell
2015-03-18 15:21 ` Laurent Pinchart
2015-03-18 19:49 ` Tim Nordell [this message]
2015-03-18 20:58 ` Tim Nordell
2015-03-18 21:44 ` Sakari Ailus
2015-03-18 22:43 ` Tim Nordell
2015-03-18 22:43 ` Tim Nordell
2014-04-21 12:29 ` [PATCH v2 26/26] omap3isp: Rename isp_buffer isp_addr field to dma Laurent Pinchart
2014-05-01 17:37 ` [PATCH v2 00/26] OMAP3 ISP: Move to videobuf2 Sakari Ailus
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=5509D6BC.6080006@logicpd.com \
--to=tim.nordell@logicpd.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@iki.fi \
/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.