<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Please ignore all the kbuild bot related mails on this branch.<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
As the purpose of this branch is chrome specific and in a very specific build environment.<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
<br>
<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Regards,<br>
</div>
<div dir="auto" style="direction:ltr; margin:0; padding:0; font-family:sans-serif; font-size:11pt; color:black">
Shirish S</div>
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> StDenis, Tom<br>
<b>Sent:</b> Tuesday, November 14, 2017 4:58:48 PM<br>
<b>To:</b> kbuild test robot<br>
<b>Cc:</b> kbuild-all@01.org; dri-devel@lists.freedesktop.org; S, Shirish; Koenig, Christian; Deucher, Alexander<br>
<b>Subject:</b> Re: [radeon-alex:upstream-4.14-drm-next-amd-dc-staging-chrome 4/16] drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages'</font>
<div> </div>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Is this:<br>
<br>
commit 7a9667ae197460e6c9c3bb432fe68c708fce6259<br>
Refs: v4.13-rc5-1195-g7a9667ae1974<br>
Author:     Tom St Denis <tom.stdenis@amd.com><br>
AuthorDate: Tue Sep 5 07:30:59 2017 -0400<br>
Commit:     Alex Deucher <alexander.deucher@amd.com><br>
CommitDate: Tue Sep 12 14:22:55 2017 -0400<br>
<br>
     drm/ttm: Fix configuration error around populate_and_map() functions<br>
<br>
     Fixed kbuild errors when IOMMU/SWIOTLB are disabled.<br>
<br>
     Signed-off-by: Tom St Denis <tom.stdenis@amd.com><br>
     Reviewed-by: Christian König <christian.koenig@amd.com><br>
     Signed-off-by: Alex Deucher <alexander.deucher@amd.com><br>
<br>
Not part of this series because we literally went through this before :-)<br>
<br>
Tom<br>
<br>
<br>
On 13/11/17 05:25 PM, kbuild test robot wrote:<br>
> tree:   git://people.freedesktop.org/~agd5f/linux.git upstream-4.14-drm-next-amd-dc-staging-chrome<br>
> head:   4448b9a68413462529d018050cd246bc33957bd6<br>
> commit: ed285b98008b667978d7faf348a22000b8a1c6b9 [4/16] drm/ttm: Add helper functions to populate/map in one call (v2)<br>
> config: i386-randconfig-s0-201746 (attached as .config)<br>
> compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026<br>
> reproduce:<br>
>          git checkout ed285b98008b667978d7faf348a22000b8a1c6b9<br>
>          # save the attached .config to linux build tree<br>
>          make ARCH=i386<br>
> <br>
> All errors (new ones prefixed by >>):<br>
> <br>
>>> drivers/gpu//drm/ttm/ttm_page_alloc.c:923:5: error: redefinition of 'ttm_populate_and_map_pages'<br>
>      int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt)<br>
>          ^~~~~~~~~~~~~~~~~~~~~~~~~~<br>
>     In file included from drivers/gpu//drm/ttm/ttm_page_alloc.c:49:0:<br>
>     include/drm/ttm/ttm_page_alloc.h:120:19: note: previous definition of 'ttm_populate_and_map_pages' was here<br>
>      static inline int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt)<br>
>                        ^~~~~~~~~~~~~~~~~~~~~~~~~~<br>
>>> drivers/gpu//drm/ttm/ttm_page_alloc.c:950:6: error: redefinition of 'ttm_unmap_and_unpopulate_pages'<br>
>      void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt)<br>
>           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
>     In file included from drivers/gpu//drm/ttm/ttm_page_alloc.c:49:0:<br>
>     include/drm/ttm/ttm_page_alloc.h:125:20: note: previous definition of 'ttm_unmap_and_unpopulate_pages' was here<br>
>      static inline void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt)<br>
>                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
> <br>
> vim +/ttm_populate_and_map_pages +923 drivers/gpu//drm/ttm/ttm_page_alloc.c<br>
> <br>
>     922       <br>
>   > 923       int ttm_populate_and_map_pages(struct device *dev, struct ttm_dma_tt *tt)<br>
>     924       {<br>
>     925               unsigned i;<br>
>     926               int r;<br>
>     927       <br>
>     928               r = ttm_pool_populate(&tt->ttm);<br>
>     929               if (r)<br>
>     930                       return r;<br>
>     931       <br>
>     932               for (i = 0; i < tt->ttm.num_pages; i++) {<br>
>     933                       tt->dma_address[i] = dma_map_page(dev, tt->ttm.pages[i],<br>
>     934                                                         0, PAGE_SIZE,<br>
>     935                                                         DMA_BIDIRECTIONAL);<br>
>     936                       if (dma_mapping_error(dev, tt->dma_address[i])) {<br>
>     937                               while (i--) {<br>
>     938                                       dma_unmap_page(dev, tt->dma_address[i],<br>
>     939                                                      PAGE_SIZE, DMA_BIDIRECTIONAL);<br>
>     940                                       tt->dma_address[i] = 0;<br>
>     941                               }<br>
>     942                               ttm_pool_unpopulate(&tt->ttm);<br>
>     943                               return -EFAULT;<br>
>     944                       }<br>
>     945               }<br>
>     946               return 0;<br>
>     947       }<br>
>     948       EXPORT_SYMBOL(ttm_populate_and_map_pages);<br>
>     949       <br>
>   > 950       void ttm_unmap_and_unpopulate_pages(struct device *dev, struct ttm_dma_tt *tt)<br>
>     951       {<br>
>     952               unsigned i;<br>
>     953               <br>
>     954               for (i = 0; i < tt->ttm.num_pages; i++) {<br>
>     955                       if (tt->dma_address[i]) {<br>
>     956                               dma_unmap_page(dev, tt->dma_address[i],<br>
>     957                                              PAGE_SIZE, DMA_BIDIRECTIONAL);<br>
>     958                       }<br>
>     959               }<br>
>     960               ttm_pool_unpopulate(&tt->ttm);<br>
>     961       }<br>
>     962       EXPORT_SYMBOL(ttm_unmap_and_unpopulate_pages);<br>
>     963       <br>
> <br>
> ---<br>
> 0-DAY kernel test infrastructure                Open Source Technology Center<br>
> <a href="https://lists.01.org/pipermail/kbuild-all">https://lists.01.org/pipermail/kbuild-all</a>                   Intel Corporation<br>
> <br>
<br>
</div>
</span></font>
</body>
</html>