Change a couple of cases where it makes more sense to use the base size
instead of the number of pages in the resource.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/nouveau/nouveau_bo.c    | 9 ++++-----
 drivers/gpu/drm/nouveau/nouveau_fbcon.c | 4 ++--
 drivers/gpu/drm/nouveau/nouveau_gem.c   | 4 ++--
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c 
b/drivers/gpu/drm/nouveau/nouveau_bo.c
index 2d5d68fc15c2..6dbcbe2fa55f 100644
--- a/drivers/gpu/drm/nouveau/nouveau_bo.c
+++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
@@ -302,7 +302,6 @@ nouveau_bo_init(struct nouveau_bo *nvbo, u64 size, int 
align, u32 domain,
        int type = sg ? ttm_bo_type_sg : ttm_bo_type_device;
        int ret;
 
-       nvbo->bo.mem.num_pages = size >> PAGE_SHIFT;
        nouveau_bo_placement_set(nvbo, domain, 0);
        INIT_LIST_HEAD(&nvbo->io_reserve_lru);
 
@@ -364,12 +363,12 @@ static void
 set_placement_range(struct nouveau_bo *nvbo, uint32_t domain)
 {
        struct nouveau_drm *drm = nouveau_bdev(nvbo->bo.bdev);
-       u32 vram_pages = drm->client.device.info.ram_size >> PAGE_SHIFT;
+       u64 vram_size = drm->client.device.info.ram_size;
        unsigned i, fpfn, lpfn;
 
        if (drm->client.device.info.family == NV_DEVICE_INFO_V0_CELSIUS &&
            nvbo->mode && (domain & NOUVEAU_GEM_DOMAIN_VRAM) &&
-           nvbo->bo.mem.num_pages < vram_pages / 4) {
+           nvbo->bo.base.size < vram_size / 4) {
                /*
                 * Make sure that the color and depth buffers are handled
                 * by independent memory controller units. Up to a 9x
@@ -377,11 +376,11 @@ set_placement_range(struct nouveau_bo *nvbo, uint32_t 
domain)
                 * at the same time.
                 */
                if (nvbo->zeta) {
-                       fpfn = vram_pages / 2;
+                       fpfn = (vram_size / 2) >> PAGE_SHIFT;
                        lpfn = ~0;
                } else {
                        fpfn = 0;
-                       lpfn = vram_pages / 2;
+                       lpfn = (vram_size / 2) >> PAGE_SHIFT;
                }
                for (i = 0; i < nvbo->placement.num_placement; ++i) {
                        nvbo->placements[i].fpfn = fpfn;
diff --git a/drivers/gpu/drm/nouveau/nouveau_fbcon.c 
b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
index 4fc0fa696461..93ac78bda750 100644
--- a/drivers/gpu/drm/nouveau/nouveau_fbcon.c
+++ b/drivers/gpu/drm/nouveau/nouveau_fbcon.c
@@ -379,10 +379,10 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
                              FBINFO_HWACCEL_IMAGEBLIT;
        info->fbops = &nouveau_fbcon_sw_ops;
        info->fix.smem_start = nvbo->bo.mem.bus.offset;
-       info->fix.smem_len = nvbo->bo.mem.num_pages << PAGE_SHIFT;
+       info->fix.smem_len = nvbo->bo.base.size;
 
        info->screen_base = nvbo_kmap_obj_iovirtual(nvbo);
-       info->screen_size = nvbo->bo.mem.num_pages << PAGE_SHIFT;
+       info->screen_size = nvbo->bo.base.size;
 
        drm_fb_helper_fill_info(info, &fbcon->helper, sizes);
 
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c 
b/drivers/gpu/drm/nouveau/nouveau_gem.c
index c88cbb85f101..a70e82413fa7 100644
--- a/drivers/gpu/drm/nouveau/nouveau_gem.c
+++ b/drivers/gpu/drm/nouveau/nouveau_gem.c
@@ -253,7 +253,7 @@ nouveau_gem_info(struct drm_file *file_priv, struct 
drm_gem_object *gem,
                rep->offset = vma->addr;
        }
 
-       rep->size = nvbo->bo.mem.num_pages << PAGE_SHIFT;
+       rep->size = nvbo->bo.base.size;
        rep->map_handle = drm_vma_node_offset_addr(&nvbo->bo.base.vma_node);
        rep->tile_mode = nvbo->mode;
        rep->tile_flags = nvbo->contig ? 0 : NOUVEAU_GEM_TILE_NONCONTIG;
@@ -638,7 +638,7 @@ nouveau_gem_pushbuf_reloc_apply(struct nouveau_cli *cli,
                nvbo = (void *)(unsigned long)bo[r->reloc_bo_index].user_priv;
 
                if (unlikely(r->reloc_bo_offset + 4 >
-                            nvbo->bo.mem.num_pages << PAGE_SHIFT)) {
+                            nvbo->bo.base.size)) {
                        NV_PRINTK(err, cli, "reloc outside of bo\n");
                        ret = -EINVAL;
                        break;
-- 
2.25.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to