Hi Wei,

I love your patch! Yet something to improve:

[auto build test ERROR on next-20191122]
[cannot apply to linus/master v5.4-rc8 v5.4-rc7 v5.4-rc6 v5.4]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    
https://github.com/0day-ci/linux/commits/Wei-Hu/video-hyperv-hyperv_fb-Use-physical-memory-for-fb-on-HyperV-Gen-1-VMs/20191124-163533
base:    b9d3d01405061bb42358fe53f824e894a1922ced
config: i386-randconfig-b003-20191125 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-14) 7.4.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   ld: kernel/dma/contiguous.o: in function `dma_alloc_from_contiguous':
>> kernel/dma/contiguous.c:199: undefined reference to `cma_alloc'
>> ld: kernel/dma/contiguous.c:199: undefined reference to `cma_alloc'
   ld: kernel/dma/contiguous.o: in function `dma_release_from_contiguous':
>> kernel/dma/contiguous.c:215: undefined reference to `cma_release'
>> ld: kernel/dma/contiguous.c:215: undefined reference to `cma_release'
   ld: kernel/dma/contiguous.o: in function `dma_alloc_contiguous':
   kernel/dma/contiguous.c:248: undefined reference to `cma_alloc'
   ld: kernel/dma/contiguous.o: in function `dma_free_contiguous':
   kernel/dma/contiguous.c:267: undefined reference to `cma_release'
   ld: kernel/dma/contiguous.c:267: undefined reference to `cma_release'
   ld: kernel/dma/contiguous.o: in function `dma_contiguous_reserve_area':
>> kernel/dma/contiguous.c:169: undefined reference to `cma_declare_contiguous'
>> ld: kernel/dma/contiguous.c:175: undefined reference to `cma_get_size'
>> ld: kernel/dma/contiguous.c:175: undefined reference to `cma_get_base'

vim +199 kernel/dma/contiguous.c

c64be2bb1c6eb4 drivers/base/dma-contiguous.c Marek Szyprowski 2011-12-29  145  
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  146  
/**
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  147   
* dma_contiguous_reserve_area() - reserve custom contiguous area
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  148   
* @size: Size of the reserved area (in bytes),
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  149   
* @base: Base address of the reserved area optional, use 0 for any
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  150   
* @limit: End address of the reserved memory (optional, 0 for any).
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  151   
* @res_cma: Pointer to store the created cma region.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  152   
* @fixed: hint about where to place the reserved area
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  153   
*
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  154   
* This function reserves memory from early allocator. It should be
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  155   
* called by arch specific code once the early allocator (memblock or bootmem)
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  156   
* has been activated and all other subsystems have already allocated/reserved
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  157   
* memory. This function allows to create custom reserved areas for specific
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  158   
* devices.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  159   
*
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  160   
* If @fixed is true, reserve contiguous area at exactly @base.  If false,
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  161   
* reserve in range from @base to @limit.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  162   
*/
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  163  
int __init dma_contiguous_reserve_area(phys_addr_t size, phys_addr_t base,
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  164   
                               phys_addr_t limit, struct cma **res_cma,
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  165   
                               bool fixed)
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  166  {
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  167   
int ret;
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  168  
f318dd083c8128 drivers/base/dma-contiguous.c Laura Abbott     2017-04-18 @169   
ret = cma_declare_contiguous(base, size, limit, 0, 0, fixed,
f318dd083c8128 drivers/base/dma-contiguous.c Laura Abbott     2017-04-18  170   
                                "reserved", res_cma);
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  171   
if (ret)
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  172   
        return ret;
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  173  
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  174   
/* Architecture specific contiguous memory fixup. */
a254129e8686bf drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06 @175   
dma_contiguous_early_fixup(cma_get_base(*res_cma),
a254129e8686bf drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  176   
                        cma_get_size(*res_cma));
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  177  
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  178   
return 0;
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  179  }
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  180  
c64be2bb1c6eb4 drivers/base/dma-contiguous.c Marek Szyprowski 2011-12-29  181  
/**
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  182   
* dma_alloc_from_contiguous() - allocate pages from contiguous area
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  183   
* @dev:   Pointer to device for which the allocation is performed.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  184   
* @count: Requested number of pages.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  185   
* @align: Requested alignment of pages (in PAGE_SIZE order).
d834c5ab83febf kernel/dma/contiguous.c       Marek Szyprowski 2018-08-17  186   
* @no_warn: Avoid printing message about failed allocation.
c64be2bb1c6eb4 drivers/base/dma-contiguous.c Marek Szyprowski 2011-12-29  187   
*
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  188   
* This function allocates memory buffer for specified device. It uses
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  189   
* device specific contiguous memory area if available or the default
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  190   
* global one. Requires architecture specific dev_get_cma_area() helper
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  191   
* function.
c64be2bb1c6eb4 drivers/base/dma-contiguous.c Marek Szyprowski 2011-12-29  192   
*/
67a2e213e7e937 drivers/base/dma-contiguous.c Rohit Vaswani    2015-10-22  193  
struct page *dma_alloc_from_contiguous(struct device *dev, size_t count,
d834c5ab83febf kernel/dma/contiguous.c       Marek Szyprowski 2018-08-17  194   
                               unsigned int align, bool no_warn)
c64be2bb1c6eb4 drivers/base/dma-contiguous.c Marek Szyprowski 2011-12-29  195  {
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  196   
if (align > CONFIG_CMA_ALIGNMENT)
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  197   
        align = CONFIG_CMA_ALIGNMENT;
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  198  
d834c5ab83febf kernel/dma/contiguous.c       Marek Szyprowski 2018-08-17 @199   
return cma_alloc(dev_get_cma_area(dev), count, align, no_warn);
c64be2bb1c6eb4 drivers/base/dma-contiguous.c Marek Szyprowski 2011-12-29  200  }
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  201  
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  202  
/**
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  203   
* dma_release_from_contiguous() - release allocated pages
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  204   
* @dev:   Pointer to device for which the pages were allocated.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  205   
* @pages: Allocated pages.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  206   
* @count: Number of allocated pages.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  207   
*
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  208   
* This function releases memory allocated by dma_alloc_from_contiguous().
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  209   
* It returns false when provided pages do not belong to contiguous area and
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  210   
* true otherwise.
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  211   
*/
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  212  
bool dma_release_from_contiguous(struct device *dev, struct page *pages,
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  213   
                         int count)
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  214  {
a254129e8686bf drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06 @215   
return cma_release(dev_get_cma_area(dev), pages, count);
3162bbd7e65b9c drivers/base/dma-contiguous.c Joonsoo Kim      2014-08-06  216  }
de9e14eebf33a6 drivers/base/dma-contiguous.c Marek Szyprowski 2014-10-13  217  

:::::: The code at line 199 was first introduced by commit
:::::: d834c5ab83febf9624ad3b16c3c348aa1e02014c kernel/dma: remove unsupported 
gfp_mask parameter from dma_alloc_from_contiguous()

:::::: TO: Marek Szyprowski <m.szyprow...@samsung.com>
:::::: CC: Linus Torvalds <torva...@linux-foundation.org>

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

Attachment: .config.gz
Description: application/gzip

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

Reply via email to