Alexandre Courbot
2015-Jul-08  07:13 UTC
[Nouveau] [PATCH] nouveau/ttm: fix tiled system memory with Maxwell
Add Maxwell to the switch statement that sets node->memtype, otherwise
all tiling information is ignored for buffers in system memory.
While we are at it, make that switch statement explicitly complain the
next time we meet a non-handled card family.
Signed-off-by: Alexandre Courbot <acourbot at nvidia.com>
---
 drm/nouveau/nouveau_ttm.c | 9 +++++++++
 1 file changed, 9 insertions(+)
diff --git a/drm/nouveau/nouveau_ttm.c b/drm/nouveau/nouveau_ttm.c
index 18f449715788..69bec1058039 100644
--- a/drm/nouveau/nouveau_ttm.c
+++ b/drm/nouveau/nouveau_ttm.c
@@ -175,15 +175,24 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man,
 	node->page_shift = 12;
 
 	switch (drm->device.info.family) {
+	case NV_DEVICE_INFO_V0_TNT:
+	case NV_DEVICE_INFO_V0_CELSIUS:
+	case NV_DEVICE_INFO_V0_KELVIN:
+	case NV_DEVICE_INFO_V0_RANKINE:
+	case NV_DEVICE_INFO_V0_CURIE:
+		break;
 	case NV_DEVICE_INFO_V0_TESLA:
 		if (drm->device.info.chipset != 0x50)
 			node->memtype = (nvbo->tile_flags & 0x7f00) >> 8;
 		break;
 	case NV_DEVICE_INFO_V0_FERMI:
 	case NV_DEVICE_INFO_V0_KEPLER:
+	case NV_DEVICE_INFO_V0_MAXWELL:
 		node->memtype = (nvbo->tile_flags & 0xff00) >> 8;
 		break;
 	default:
+		NV_WARN(drm, "%s: unhandled family type %x\n",
+			drm->device.info.family);
 		break;
 	}
 
-- 
2.4.4
Alexandre Courbot
2015-Jul-09  08:16 UTC
[Nouveau] [PATCH] nouveau/ttm: fix tiled system memory with Maxwell
Withdrawing this patch which triggered a warning due to a missing argument to NV_WARN. Sent v2 which addresses this. Sorry for the noise. On Wed, Jul 8, 2015 at 4:13 PM, Alexandre Courbot <acourbot at nvidia.com> wrote:> Add Maxwell to the switch statement that sets node->memtype, otherwise > all tiling information is ignored for buffers in system memory. > > While we are at it, make that switch statement explicitly complain the > next time we meet a non-handled card family. > > Signed-off-by: Alexandre Courbot <acourbot at nvidia.com> > --- > drm/nouveau/nouveau_ttm.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drm/nouveau/nouveau_ttm.c b/drm/nouveau/nouveau_ttm.c > index 18f449715788..69bec1058039 100644 > --- a/drm/nouveau/nouveau_ttm.c > +++ b/drm/nouveau/nouveau_ttm.c > @@ -175,15 +175,24 @@ nouveau_gart_manager_new(struct ttm_mem_type_manager *man, > node->page_shift = 12; > > switch (drm->device.info.family) { > + case NV_DEVICE_INFO_V0_TNT: > + case NV_DEVICE_INFO_V0_CELSIUS: > + case NV_DEVICE_INFO_V0_KELVIN: > + case NV_DEVICE_INFO_V0_RANKINE: > + case NV_DEVICE_INFO_V0_CURIE: > + break; > case NV_DEVICE_INFO_V0_TESLA: > if (drm->device.info.chipset != 0x50) > node->memtype = (nvbo->tile_flags & 0x7f00) >> 8; > break; > case NV_DEVICE_INFO_V0_FERMI: > case NV_DEVICE_INFO_V0_KEPLER: > + case NV_DEVICE_INFO_V0_MAXWELL: > node->memtype = (nvbo->tile_flags & 0xff00) >> 8; > break; > default: > + NV_WARN(drm, "%s: unhandled family type %x\n", > + drm->device.info.family); > break; > } > > -- > 2.4.4 >