summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nouveau_sgdma.c
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2010-11-29 14:03:30 -0500
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2011-01-27 16:03:09 -0500
commit69a07f0b117a40fcc1a479358d8e1f41793617f2 (patch)
treefc3b827b9a9c7898b35d5cffd5995e56805cc4d8 /drivers/gpu/drm/nouveau/nouveau_sgdma.c
parentf9820a46dd7888b05a36e81166fb1abcc47dcc3f (diff)
downloadop-kernel-dev-69a07f0b117a40fcc1a479358d8e1f41793617f2.zip
op-kernel-dev-69a07f0b117a40fcc1a479358d8e1f41793617f2.tar.gz
ttm: Utilize the DMA API for pages that have TTM_PAGE_FLAG_DMA32 set.
For pages that have the TTM_PAGE_FLAG_DMA32 flag set we use the DMA API. We save the bus address in our array which we use to program the GART (see "radeon/ttm/PCIe: Use dma_addr if TTM has set it." and "nouveau/ttm/PCIe: Use dma_addr if TTM has set it."). The reason behind using the DMA API is that under Xen we would end up programming the GART with the bounce buffer (SWIOTLB) DMA address instead of the physical DMA address of the TTM page. The reason being that alloc_page with GFP_DMA32 does not allocate pages under the the 4GB mark when running under Xen hypervisor. Under baremetal this means we do the DMA API call earlier instead of when we program the GART. For details please refer to: https://lkml.org/lkml/2011/1/7/251 [v2: Fixed indentation, revised desc, added Reviewed-by] Reviewed-by: Thomas Hellstrom <thomas@shipmail.org> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Tested-by: Ian Campbell <ian.campbell@citrix.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_sgdma.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud