Hi Christian,

[auto build test WARNING on drm/drm-next]
[also build test WARNING on v4.12 next-20170713]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Christian-K-nig/drm-ttm-add-support-for-different-pool-sizes/20170714-075329
base:   git://people.freedesktop.org/~airlied/linux.git drm-next
config: i386-randconfig-x013-201728 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers/gpu//drm/ttm/ttm_page_alloc_dma.c: In function 'ttm_dma_pool_init':
>> drivers/gpu//drm/ttm/ttm_page_alloc_dma.c:636:5: warning: 
>> "CONFIG_TRANSPARENT_HUGEPAGE" is not defined [-Wundef]
    #if CONFIG_TRANSPARENT_HUGEPAGE
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/ttm/ttm_page_alloc_dma.c: In function 'ttm_dma_populate':
   drivers/gpu//drm/ttm/ttm_page_alloc_dma.c:943:5: warning: 
"CONFIG_TRANSPARENT_HUGEPAGE" is not defined [-Wundef]
    #if CONFIG_TRANSPARENT_HUGEPAGE
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu//drm/ttm/ttm_page_alloc_dma.c: In function 'ttm_dma_unpopulate':
   drivers/gpu//drm/ttm/ttm_page_alloc_dma.c:1036:5: warning: 
"CONFIG_TRANSPARENT_HUGEPAGE" is not defined [-Wundef]
    #if CONFIG_TRANSPARENT_HUGEPAGE
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~

vim +/CONFIG_TRANSPARENT_HUGEPAGE +636 drivers/gpu//drm/ttm/ttm_page_alloc_dma.c

   593  
   594  static struct dma_pool *ttm_dma_pool_init(struct device *dev, gfp_t 
flags,
   595                                            enum pool_type type)
   596  {
   597          const char *n[] = {"wc", "uc", "cached", " dma32", "huge"};
   598          enum pool_type t[] = {IS_WC, IS_UC, IS_CACHED, IS_DMA32, 
IS_HUGE};
   599          struct device_pools *sec_pool = NULL;
   600          struct dma_pool *pool = NULL, **ptr;
   601          unsigned i;
   602          int ret = -ENODEV;
   603          char *p;
   604  
   605          if (!dev)
   606                  return NULL;
   607  
   608          ptr = devres_alloc(ttm_dma_pool_release, sizeof(*ptr), 
GFP_KERNEL);
   609          if (!ptr)
   610                  return NULL;
   611  
   612          ret = -ENOMEM;
   613  
   614          pool = kmalloc_node(sizeof(struct dma_pool), GFP_KERNEL,
   615                              dev_to_node(dev));
   616          if (!pool)
   617                  goto err_mem;
   618  
   619          sec_pool = kmalloc_node(sizeof(struct device_pools), GFP_KERNEL,
   620                                  dev_to_node(dev));
   621          if (!sec_pool)
   622                  goto err_mem;
   623  
   624          INIT_LIST_HEAD(&sec_pool->pools);
   625          sec_pool->dev = dev;
   626          sec_pool->pool =  pool;
   627  
   628          INIT_LIST_HEAD(&pool->free_list);
   629          INIT_LIST_HEAD(&pool->pools);
   630          spin_lock_init(&pool->lock);
   631          pool->dev = dev;
   632          pool->npages_free = pool->npages_in_use = 0;
   633          pool->nfrees = 0;
   634          pool->gfp_flags = flags;
   635          if (type & IS_HUGE)
 > 636  #if CONFIG_TRANSPARENT_HUGEPAGE
   637                  pool->size = HPAGE_PMD_SIZE;
   638  #else
   639                  BUG();
   640  #endif
   641          else
   642                  pool->size = PAGE_SIZE;
   643          pool->type = type;
   644          pool->nrefills = 0;
   645          p = pool->name;
   646          for (i = 0; i < ARRAY_SIZE(t); i++) {
   647                  if (type & t[i]) {
   648                          p += snprintf(p, sizeof(pool->name) - (p - 
pool->name),
   649                                        "%s", n[i]);
   650                  }
   651          }
   652          *p = 0;
   653          /* We copy the name for pr_ calls b/c when dma_pool_destroy is 
called
   654           * - the kobj->name has already been deallocated.*/
   655          snprintf(pool->dev_name, sizeof(pool->dev_name), "%s %s",
   656                   dev_driver_string(dev), dev_name(dev));
   657          mutex_lock(&_manager->lock);
   658          /* You can get the dma_pool from either the global: */
   659          list_add(&sec_pool->pools, &_manager->pools);
   660          _manager->npools++;
   661          /* or from 'struct device': */
   662          list_add(&pool->pools, &dev->dma_pools);
   663          mutex_unlock(&_manager->lock);
   664  
   665          *ptr = pool;
   666          devres_add(dev, ptr);
   667  
   668          return pool;
   669  err_mem:
   670          devres_free(ptr);
   671          kfree(sec_pool);
   672          kfree(pool);
   673          return ERR_PTR(ret);
   674  }
   675  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to