* [PATCH] nouveau: apply storage type to gart objects
@ 2012-07-27 12:13 Maarten Lankhorst
0 siblings, 0 replies; only message in thread
From: Maarten Lankhorst @ 2012-07-27 12:13 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
If you want to access gart as linear, don't specify a non-zero
storage type.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
---
drivers/gpu/drm/nouveau/nouveau_mem.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_mem.c b/drivers/gpu/drm/nouveau/nouveau_mem.c
index 5b498ea..4642ea7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_mem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_mem.c
@@ -1223,7 +1223,9 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man,
struct ttm_mem_reg *mem)
{
struct drm_nouveau_private *dev_priv = nouveau_bdev(bo->bdev);
+ struct nouveau_bo *nvbo = nouveau_bo(bo);
struct nouveau_mem *node;
+ uint32_t memtype = nvbo->tile_flags >> 8;
if (unlikely((mem->num_pages << PAGE_SHIFT) >=
dev_priv->gart_info.aper_size))
@@ -1234,6 +1236,13 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man,
return -ENOMEM;
node->page_shift = 12;
+ if (dev_priv->card_type == NV_50) {
+ uint32_t comp = (memtype & 0x300) >> 8;
+ uint32_t type = (memtype & 0x07f);
+ node->memtype = (comp << 7) | type;
+ } else if (dev_priv->card_type >= NV_C0) {
+ node->memtype = memtype & 0xff;
+ }
mem->mm_node = node;
mem->start = 0;
return 0;
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-07-27 12:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-27 12:13 [PATCH] nouveau: apply storage type to gart objects Maarten Lankhorst
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.