]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Merge drm-misc-next-fixes-2024-01-19 into drm-misc-fixes
authorMaxime Ripard <mripard@kernel.org>
Mon, 5 Feb 2024 11:20:52 +0000 (12:20 +0100)
committerMaxime Ripard <mripard@kernel.org>
Mon, 5 Feb 2024 11:20:52 +0000 (12:20 +0100)
Merge the last drm-misc-next-fixes tag that fell through the cracks.

Signed-off-by: Maxime Ripard <mripard@kernel.org>
1  2 
drivers/gpu/drm/ttm/ttm_device.c

index e787c155a56922e6a84c7c0d785e6af98e4e2256,4130945052ed2a523d50e1d39d028ca3741c6605..76027960054f1140e768ae21b30e5a3015437d02
@@@ -95,17 -95,11 +95,17 @@@ static int ttm_global_init(void
        ttm_pool_mgr_init(num_pages);
        ttm_tt_mgr_init(num_pages, num_dma32);
  
 -      glob->dummy_read_page = alloc_page(__GFP_ZERO | GFP_DMA32);
 +      glob->dummy_read_page = alloc_page(__GFP_ZERO | GFP_DMA32 |
 +                                         __GFP_NOWARN);
  
 +      /* Retry without GFP_DMA32 for platforms DMA32 is not available */
        if (unlikely(glob->dummy_read_page == NULL)) {
 -              ret = -ENOMEM;
 -              goto out;
 +              glob->dummy_read_page = alloc_page(__GFP_ZERO);
 +              if (unlikely(glob->dummy_read_page == NULL)) {
 +                      ret = -ENOMEM;
 +                      goto out;
 +              }
 +              pr_warn("Using GFP_DMA32 fallback for dummy_read_page\n");
        }
  
        INIT_LIST_HEAD(&glob->device_list);
@@@ -201,7 -195,7 +201,7 @@@ int ttm_device_init(struct ttm_device *
                    bool use_dma_alloc, bool use_dma32)
  {
        struct ttm_global *glob = &ttm_glob;
-       int ret;
+       int ret, nid;
  
        if (WARN_ON(vma_manager == NULL))
                return -EINVAL;
  
        ttm_sys_man_init(bdev);
  
-       ttm_pool_init(&bdev->pool, dev, dev_to_node(dev), use_dma_alloc, use_dma32);
+       if (dev)
+               nid = dev_to_node(dev);
+       else
+               nid = NUMA_NO_NODE;
+       ttm_pool_init(&bdev->pool, dev, nid, use_dma_alloc, use_dma32);
  
        bdev->vma_manager = vma_manager;
        spin_lock_init(&bdev->lru_lock);