From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH] drm/nouveau: fix TTM_PL_TT memtype on pre-nv50 Date: Sun, 16 Feb 2014 11:43:51 +0100 Message-ID: <53009667.1050904@canonical.com> References: <1392524821-10358-1-git-send-email-imirkin@alum.mit.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1392524821-10358-1-git-send-email-imirkin@alum.mit.edu> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org To: Ilia Mirkin , Ben Skeggs , nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: Maarten Lankhorst , Ronald List-Id: nouveau.vger.kernel.org op 16-02-14 05:27, Ilia Mirkin schreef: > Commit a55409066 ("drm/nv50-: map TTM_PL_SYSTEM through a BAR for CPU > access") made it possible to work with tiled memory. However > mem->mm_node is not a nouveau_mem for AGP-using pre-NV50 cards, but a > drm_mm_node, as created by the ttm_bo_manager_func. As such, extend the > untiled check to explicitly include all pre-nv50 cards. > > Reported-by: Ronald > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74613 > Signed-off-by: Ilia Mirkin > --- > > Hmmm... this seems like a really fragile semantic, I wonder if more > mem->mm_node usages have to be audited. But this one's quick and easy. I'd > rather see something a little more solid around dealing with these > differences, but not sure how without reading all the ttm gunk. Perhaps just > make sure it's always a nouveau_mem by wrapping the ttm_bo_manager logic? > > drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c > index 488686d..4aed171 100644 > --- a/drivers/gpu/drm/nouveau/nouveau_bo.c > +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c > @@ -1249,7 +1249,7 @@ nouveau_ttm_io_mem_reserve(struct ttm_bo_device *bdev, struct ttm_mem_reg *mem) > mem->bus.is_iomem = !dev->agp->cant_use_aperture; > } > #endif > - if (!node->memtype) > + if (nv_device(drm->device)->card_type < NV_50 || !node->memtype) > /* untiled */ > break; > /* fallthrough, tiled memory */ Acked-by: Maarten Lankhorst