numam-dpdk/drivers/net/i40e
Yuanhan Liu 0af54f09d9 net: fix clang build
Interestingly, clang and gcc has different prototype for _mm_prefetch().
For gcc, we have

   _mm_prefetch (const void *__P, enum _mm_hint __I)

While for clang, it's

   #define _mm_prefetch(a, sel) (__builtin_prefetch((void *)(a), 0, (sel)))

That's how the following error comes with clang:

   error: cast from 'const void *' to 'void *' drops const qualifier
   [-Werror,-Wcast-qual]
           _mm_prefetch((const void *)rused, _MM_HINT_T0);
   /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/xmmintrin.h:684:58:
   note: expanded from macro '_mm_prefetch'
            #define _mm_prefetch(a, sel) (__builtin_prefetch((void *)(a),
                                          0, (sel)))

What's weird is that the build was actaully Okay before. I met it while
apply Jerin's vector support for ARM patch set: he just move this piece
of code to another file, nothing else changed.

This patch fix the issue when Jerin's patchset is applied. Thus, I think
it's still needed.

Similarly, make the same change to other _mm_prefetch users, just in case
this weird issue shows up again somehow later.

Fixes: fc3d66212f ("virtio: add vector Rx")
Fixes: c95584dc2b ("ixgbe: new vectorized functions for Rx/Tx")
Fixes: 9ed94e5bb0 ("i40e: add vector Rx")
Fixes: 7092be8437 ("fm10k: add vector Rx")

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
2016-09-28 02:18:39 +02:00
..
base net/i40e/base: support disabling links on all ports 2016-06-20 17:21:50 +02:00
i40e_ethdev_vf.c pci: inherit common driver in PCI driver 2016-10-03 16:33:55 +02:00
i40e_ethdev.c pci: create device list and fallback on its members 2016-10-03 16:34:03 +02:00
i40e_ethdev.h net/i40e: add floating VEB option 2016-06-29 17:28:31 +02:00
i40e_fdir.c pci: inherit common driver in PCI driver 2016-10-03 16:33:55 +02:00
i40e_logs.h drivers: allow pruning log during build 2015-07-30 20:16:04 +02:00
i40e_pf.c net/i40e: support floating VEB 2016-06-29 17:28:21 +02:00
i40e_pf.h i40e: support port hotplug 2015-07-19 21:22:23 +02:00
i40e_regs.h i40e: add EEPROM and registers dumping 2016-03-16 17:48:48 +01:00
i40e_rxtx_vec.c net: fix clang build 2016-09-28 02:18:39 +02:00
i40e_rxtx.c net/i40e: fix metadata in first mbuf of scattered Rx 2016-07-28 18:11:56 +02:00
i40e_rxtx.h ethdev: query supported packet types 2016-03-25 18:56:43 +01:00
Makefile net/i40e: add floating VEB option 2016-06-29 17:28:31 +02:00
rte_pmd_i40e_version.map i40e: move to drivers/net/ 2015-05-22 16:06:22 +02:00