diff options
author | Ben Skeggs <bskeggs@redhat.com> | 2012-11-21 22:43:55 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2012-11-28 18:58:05 -0500 |
commit | 4946980099c617ba7612f97f77cba7ece5b7f820 (patch) | |
tree | 79a781ea1317fa560929290e4fd1c709acfae733 /drivers/gpu/drm/nouveau/nouveau_chan.c | |
parent | 43598875b35fdd3f699954078b7df24b5647a27a (diff) |
drm/nve0: allow specification of channel engine type in abi16 call
Previously, if either vram/gart handles were specified as ~0, the ioctl
call would fail. In order to hack engine selection into the ioctl for
kepler, we now define (fb_ctxdma_handle == ~0) to mean "engine mask is
in tt_ctxdma_handle".
This approach also allows new userspace to detect lack of support for
non-PGRAPH channels on older kernels.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nouveau_chan.c')
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_chan.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_chan.c b/drivers/gpu/drm/nouveau/nouveau_chan.c index 049c6b23e1d7..1363578bf945 100644 --- a/drivers/gpu/drm/nouveau/nouveau_chan.c +++ b/drivers/gpu/drm/nouveau/nouveau_chan.c | |||
@@ -346,7 +346,7 @@ nouveau_channel_init(struct nouveau_channel *chan, u32 vram, u32 gart) | |||
346 | /* allocate software object class (used for fences on <= nv05, and | 346 | /* allocate software object class (used for fences on <= nv05, and |
347 | * to signal flip completion), bind it to a subchannel. | 347 | * to signal flip completion), bind it to a subchannel. |
348 | */ | 348 | */ |
349 | if (chan != chan->drm->cechan) { | 349 | if ((device->card_type < NV_E0) || gart /* nve0: want_nvsw */) { |
350 | ret = nouveau_object_new(nv_object(client), chan->handle, | 350 | ret = nouveau_object_new(nv_object(client), chan->handle, |
351 | NvSw, nouveau_abi16_swclass(chan->drm), | 351 | NvSw, nouveau_abi16_swclass(chan->drm), |
352 | NULL, 0, &object); | 352 | NULL, 0, &object); |