drm/nouveau: pass nvif_client to nouveau_gem_new() instead of drm_device
authorBen Skeggs <bskeggs@redhat.com>
Tue, 24 May 2016 07:29:55 +0000 (17:29 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 17 Feb 2017 05:15:02 +0000 (15:15 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_abi16.c
drivers/gpu/drm/nouveau/nouveau_display.c
drivers/gpu/drm/nouveau/nouveau_fbcon.c
drivers/gpu/drm/nouveau/nouveau_gem.c
drivers/gpu/drm/nouveau/nouveau_gem.h

index 4df4f6e..0232909 100644 (file)
@@ -321,7 +321,7 @@ nouveau_abi16_ioctl_channel_alloc(ABI16_IOCTL_ARGS)
        }
 
        /* Named memory object area */
-       ret = nouveau_gem_new(dev, PAGE_SIZE, 0, NOUVEAU_GEM_DOMAIN_GART,
+       ret = nouveau_gem_new(cli, PAGE_SIZE, 0, NOUVEAU_GEM_DOMAIN_GART,
                              0, 0, &chan->ntfy);
        if (ret == 0)
                ret = nouveau_bo_pin(chan->ntfy, TTM_PL_FLAG_TT, false);
index 6b57007..cac940c 100644 (file)
@@ -1057,6 +1057,7 @@ int
 nouveau_display_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
                            struct drm_mode_create_dumb *args)
 {
+       struct nouveau_cli *cli = nouveau_cli(file_priv);
        struct nouveau_bo *bo;
        uint32_t domain;
        int ret;
@@ -1071,7 +1072,7 @@ nouveau_display_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
        else
                domain = NOUVEAU_GEM_DOMAIN_GART;
 
-       ret = nouveau_gem_new(dev, args->size, 0, domain, 0, 0, &bo);
+       ret = nouveau_gem_new(cli, args->size, 0, domain, 0, 0, &bo);
        if (ret)
                return ret;
 
index 971c147..8132372 100644 (file)
@@ -341,8 +341,9 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
        mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp,
                                                          sizes->surface_depth);
 
-       ret = nouveau_gem_new(dev, mode_cmd.pitches[0] * mode_cmd.height,
-                             0, NOUVEAU_GEM_DOMAIN_VRAM, 0, 0x0000, &nvbo);
+       ret = nouveau_gem_new(&drm->client, mode_cmd.pitches[0] *
+                             mode_cmd.height, 0, NOUVEAU_GEM_DOMAIN_VRAM,
+                             0, 0x0000, &nvbo);
        if (ret) {
                NV_ERROR(drm, "failed to allocate framebuffer\n");
                goto out;
index 5261ad1..4ff2d2c 100644 (file)
@@ -175,11 +175,11 @@ nouveau_gem_object_close(struct drm_gem_object *gem, struct drm_file *file_priv)
 }
 
 int
-nouveau_gem_new(struct drm_device *dev, int size, int align, uint32_t domain,
+nouveau_gem_new(struct nouveau_cli *cli, int size, int align, uint32_t domain,
                uint32_t tile_mode, uint32_t tile_flags,
                struct nouveau_bo **pnvbo)
 {
-       struct nouveau_drm *drm = nouveau_drm(dev);
+       struct nouveau_drm *drm = nouveau_drm(cli->dev);
        struct nouveau_bo *nvbo;
        u32 flags = 0;
        int ret;
@@ -194,7 +194,7 @@ nouveau_gem_new(struct drm_device *dev, int size, int align, uint32_t domain,
        if (domain & NOUVEAU_GEM_DOMAIN_COHERENT)
                flags |= TTM_PL_FLAG_UNCACHED;
 
-       ret = nouveau_bo_new(&drm->client, size, align, flags, tile_mode,
+       ret = nouveau_bo_new(cli, size, align, flags, tile_mode,
                             tile_flags, NULL, NULL, pnvbo);
        if (ret)
                return ret;
@@ -211,7 +211,7 @@ nouveau_gem_new(struct drm_device *dev, int size, int align, uint32_t domain,
 
        /* Initialize the embedded gem-object. We return a single gem-reference
         * to the caller, instead of a normal nouveau_bo ttm reference. */
-       ret = drm_gem_object_init(dev, &nvbo->gem, nvbo->bo.mem.size);
+       ret = drm_gem_object_init(drm->dev, &nvbo->gem, nvbo->bo.mem.size);
        if (ret) {
                nouveau_bo_ref(NULL, pnvbo);
                return -ENOMEM;
@@ -267,7 +267,7 @@ nouveau_gem_ioctl_new(struct drm_device *dev, void *data,
                return -EINVAL;
        }
 
-       ret = nouveau_gem_new(dev, req->info.size, req->align,
+       ret = nouveau_gem_new(cli, req->info.size, req->align,
                              req->info.domain, req->info.tile_mode,
                              req->info.tile_flags, &nvbo);
        if (ret)
index 7e32da2..5ce9a0e 100644 (file)
@@ -16,7 +16,7 @@ nouveau_gem_object(struct drm_gem_object *gem)
 }
 
 /* nouveau_gem.c */
-extern int nouveau_gem_new(struct drm_device *, int size, int align,
+extern int nouveau_gem_new(struct nouveau_cli *, int size, int align,
                           uint32_t domain, uint32_t tile_mode,
                           uint32_t tile_flags, struct nouveau_bo **);
 extern void nouveau_gem_object_del(struct drm_gem_object *);