tree: git://git.infradead.org/users/willy/pagecache for-next head: c45f479798001734025928cbbce2e42f6cedea1c commit: 442f739136ee2d6bff8f07524447d4e40217de62 [6/49] iov_iter: Add copy_folio_to_iter() config: x86_64-randconfig-a011-20220103 (https://download.01.org/0day-ci/archive/20220104/202201041341.IWW7EqP0-lkp@intel.com/config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project b50fea47b6c454581fce89af359f3afe5154986c) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git remote add willy-pagecache git://git.infradead.org/users/willy/pagecache git fetch --no-tags willy-pagecache for-next git checkout 442f739136ee2d6bff8f07524447d4e40217de62 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/ethernet/sfc/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): In file included from drivers/net/ethernet/sfc/ef10.c:7: In file included from drivers/net/ethernet/sfc/net_driver.h:13: In file included from include/linux/netdevice.h:37: In file included from include/net/net_namespace.h:15: In file included from include/net/flow.h:11: In file included from include/linux/socket.h:8: include/linux/uio.h:153:33: error: incomplete definition of type 'struct folio' return copy_page_to_iter(&folio->page, offset, bytes, i); ~~~~~^ include/linux/uio.h:13:8: note: forward declaration of 'struct folio' struct folio; ^ >> drivers/net/ethernet/sfc/ef10.c:50:9: warning: shift count is negative [-Wshift-count-negative] return EFX_DWORD_FIELD(reg, EFX_WORD_1) == 0xb007 ? ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:165:3: note: expanded from macro 'EFX_EXTRACT_DWORD' (EFX_EXTRACT32((dword).u32[0], 0, 31, low, high) & \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:141:2: note: expanded from macro 'EFX_EXTRACT32' EFX_EXTRACT_NATIVE(le32_to_cpu(element), min, max, low, high) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:127:20: note: expanded from macro 'EFX_EXTRACT_NATIVE' (native_element) << ((min) - (low))) ^ ~~~~~~~~~~~~~~~ >> drivers/net/ethernet/sfc/ef10.c:102:23: warning: shift count >= width of type [-Wshift-count-overflow] nic_data->vf_index = MCDI_DWORD(outbuf, GET_FUNCTION_INFO_OUT_VF); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/mcdi.h:218:2: note: expanded from macro 'MCDI_DWORD' EFX_DWORD_FIELD(*_MCDI_DWORD(_buf, _field), EFX_DWORD_0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:166:3: note: expanded from macro 'EFX_EXTRACT_DWORD' EFX_MASK32((high) + 1 - (low))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:71:16: note: expanded from macro 'EFX_MASK32' (((((u32) 1) << (width))) - 1)) ^ ~~~~~~~ drivers/net/ethernet/sfc/ef10.c:127:3: warning: shift count >= width of type [-Wshift-count-overflow] MCDI_DWORD(outbuf, GET_CAPABILITIES_OUT_FLAGS1); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/mcdi.h:218:2: note: expanded from macro 'MCDI_DWORD' EFX_DWORD_FIELD(*_MCDI_DWORD(_buf, _field), EFX_DWORD_0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:166:3: note: expanded from macro 'EFX_EXTRACT_DWORD' EFX_MASK32((high) + 1 - (low))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:71:16: note: expanded from macro 'EFX_MASK32' (((((u32) 1) << (width))) - 1)) ^ ~~~~~~~ drivers/net/ethernet/sfc/ef10.c:130:30: warning: shift count >= width of type [-Wshift-count-overflow] nic_data->datapath_caps2 = MCDI_DWORD(outbuf, ^~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/mcdi.h:218:2: note: expanded from macro 'MCDI_DWORD' EFX_DWORD_FIELD(*_MCDI_DWORD(_buf, _field), EFX_DWORD_0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:166:3: note: expanded from macro 'EFX_EXTRACT_DWORD' EFX_MASK32((high) + 1 - (low))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:71:16: note: expanded from macro 'EFX_MASK32' (((((u32) 1) << (width))) - 1)) ^ ~~~~~~~ drivers/net/ethernet/sfc/ef10.c:198:32: warning: shift count >= width of type [-Wshift-count-overflow] nic_data->licensed_features = MCDI_QWORD(outbuf, ^~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/mcdi.h:281:3: note: expanded from macro 'MCDI_QWORD' (EFX_DWORD_FIELD(_MCDI_DWORD(_buf, _field)[0], EFX_DWORD_0) | \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:166:3: note: expanded from macro 'EFX_EXTRACT_DWORD' EFX_MASK32((high) + 1 - (low))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:71:16: note: expanded from macro 'EFX_MASK32' (((((u32) 1) << (width))) - 1)) ^ ~~~~~~~ drivers/net/ethernet/sfc/ef10.c:198:32: warning: shift count >= width of type [-Wshift-count-overflow] nic_data->licensed_features = MCDI_QWORD(outbuf, ^~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/mcdi.h:282:7: note: expanded from macro 'MCDI_QWORD' (u64)EFX_DWORD_FIELD(_MCDI_DWORD(_buf, _field)[1], EFX_DWORD_0) << 32) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:166:3: note: expanded from macro 'EFX_EXTRACT_DWORD' EFX_MASK32((high) + 1 - (low))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:71:16: note: expanded from macro 'EFX_MASK32' (((((u32) 1) << (width))) - 1)) ^ ~~~~~~~ drivers/net/ethernet/sfc/ef10.c:211:7: warning: shift count >= width of type [-Wshift-count-overflow] rc = MCDI_DWORD(outbuf, GET_CLOCK_OUT_SYS_FREQ); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/mcdi.h:218:2: note: expanded from macro 'MCDI_DWORD' EFX_DWORD_FIELD(*_MCDI_DWORD(_buf, _field), EFX_DWORD_0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:166:3: note: expanded from macro 'EFX_EXTRACT_DWORD' EFX_MASK32((high) + 1 - (low))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:71:16: note: expanded from macro 'EFX_MASK32' (((((u32) 1) << (width))) - 1)) ^ ~~~~~~~ drivers/net/ethernet/sfc/ef10.c:267:27: warning: shift count >= width of type [-Wshift-count-overflow] efx->timer_quantum_ns = MCDI_DWORD(data, ^~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/mcdi.h:218:2: note: expanded from macro 'MCDI_DWORD' EFX_DWORD_FIELD(*_MCDI_DWORD(_buf, _field), EFX_DWORD_0) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:185:2: note: expanded from macro 'EFX_DWORD_FIELD' EFX_EXTRACT_DWORD(dword, EFX_LOW_BIT(field), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:166:3: note: expanded from macro 'EFX_EXTRACT_DWORD' EFX_MASK32((high) + 1 - (low))) -- In file included from drivers/net/ethernet/sfc/mcdi.c:10: In file included from drivers/net/ethernet/sfc/net_driver.h:13: In file included from include/linux/netdevice.h:37: In file included from include/net/net_namespace.h:15: In file included from include/net/flow.h:11: In file included from include/linux/socket.h:8: include/linux/uio.h:153:33: error: incomplete definition of type 'struct folio' return copy_page_to_iter(&folio->page, offset, bytes, i); ~~~~~^ include/linux/uio.h:13:8: note: forward declaration of 'struct folio' struct folio; ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:257:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE32(min, max, low, high, value)) ^ drivers/net/ethernet/sfc/bitfield.h:252:21: note: expanded from macro 'EFX_INSERT_NATIVE32' (((u32) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:257:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE32(min, max, low, high, value)) ^ drivers/net/ethernet/sfc/bitfield.h:252:21: note: expanded from macro 'EFX_INSERT_NATIVE32' (((u32) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:257:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE32(min, max, low, high, value)) ^ drivers/net/ethernet/sfc/bitfield.h:252:21: note: expanded from macro 'EFX_INSERT_NATIVE32' (((u32) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:257:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE32(min, max, low, high, value)) ^ drivers/net/ethernet/sfc/bitfield.h:252:21: note: expanded from macro 'EFX_INSERT_NATIVE32' (((u32) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:257:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE32(min, max, low, high, value)) ^ drivers/net/ethernet/sfc/bitfield.h:252:21: note: expanded from macro 'EFX_INSERT_NATIVE32' (((u32) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ >> drivers/net/ethernet/sfc/mcdi.c:175:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:257:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE32(min, max, low, high, value)) ^ drivers/net/ethernet/sfc/bitfield.h:252:21: note: expanded from macro 'EFX_INSERT_NATIVE32' (((u32) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ drivers/net/ethernet/sfc/mcdi.c:187:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ drivers/net/ethernet/sfc/mcdi.c:187:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:257:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE32(min, max, low, high, value)) ^ drivers/net/ethernet/sfc/bitfield.h:252:21: note: expanded from macro 'EFX_INSERT_NATIVE32' (((u32) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ drivers/net/ethernet/sfc/mcdi.c:187:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) drivers/net/ethernet/sfc/bitfield.h:256:3: note: expanded from macro 'EFX_INSERT_NATIVE' EFX_INSERT_NATIVE64(min, max, low, high, value) : \ ^ drivers/net/ethernet/sfc/bitfield.h:246:21: note: expanded from macro 'EFX_INSERT_NATIVE64' (((u64) (value)) >> (min - low)))) ^ include/uapi/linux/byteorder/little_endian.h:33:51: note: expanded from macro '__cpu_to_le32' #define __cpu_to_le32(x) ((__force __le32)(__u32)(x)) ^ drivers/net/ethernet/sfc/mcdi.c:187:3: warning: shift count is negative [-Wshift-count-negative] EFX_POPULATE_DWORD_7(hdr[0], ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:471:2: note: expanded from macro 'EFX_POPULATE_DWORD_7' EFX_POPULATE_DWORD_8(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:469:2: note: expanded from macro 'EFX_POPULATE_DWORD_8' EFX_POPULATE_DWORD_9(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/ethernet/sfc/bitfield.h:467:2: note: expanded from macro 'EFX_POPULATE_DWORD_9' EFX_POPULATE_DWORD_10(dword, EFX_DUMMY_FIELD, 0, __VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: (skipping 14 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) .. vim +50 drivers/net/ethernet/sfc/ef10.c 8127d661e77f5e Ben Hutchings 2013-08-29 44 8127d661e77f5e Ben Hutchings 2013-08-29 45 static int efx_ef10_get_warm_boot_count(struct efx_nic *efx) 8127d661e77f5e Ben Hutchings 2013-08-29 46 { 8127d661e77f5e Ben Hutchings 2013-08-29 47 efx_dword_t reg; 8127d661e77f5e Ben Hutchings 2013-08-29 48 8127d661e77f5e Ben Hutchings 2013-08-29 49 efx_readd(efx, ®, ER_DZ_BIU_MC_SFT_STATUS); 8127d661e77f5e Ben Hutchings 2013-08-29 @50 return EFX_DWORD_FIELD(reg, EFX_WORD_1) == 0xb007 ? 8127d661e77f5e Ben Hutchings 2013-08-29 51 EFX_DWORD_FIELD(reg, EFX_WORD_0) : -EIO; 8127d661e77f5e Ben Hutchings 2013-08-29 52 } 8127d661e77f5e Ben Hutchings 2013-08-29 53 03714bbb22ebe0 Edward Cree 2017-12-18 54 /* On all EF10s up to and including SFC9220 (Medford1), all PFs use BAR 0 for 03714bbb22ebe0 Edward Cree 2017-12-18 55 * I/O space and BAR 2(&3) for memory. On SFC9250 (Medford2), there is no I/O 03714bbb22ebe0 Edward Cree 2017-12-18 56 * bar; PFs use BAR 0/1 for memory. 03714bbb22ebe0 Edward Cree 2017-12-18 57 */ 03714bbb22ebe0 Edward Cree 2017-12-18 58 static unsigned int efx_ef10_pf_mem_bar(struct efx_nic *efx) 03714bbb22ebe0 Edward Cree 2017-12-18 59 { 03714bbb22ebe0 Edward Cree 2017-12-18 60 switch (efx->pci_dev->device) { 03714bbb22ebe0 Edward Cree 2017-12-18 61 case 0x0b03: /* SFC9250 PF */ 03714bbb22ebe0 Edward Cree 2017-12-18 62 return 0; 03714bbb22ebe0 Edward Cree 2017-12-18 63 default: 03714bbb22ebe0 Edward Cree 2017-12-18 64 return 2; 03714bbb22ebe0 Edward Cree 2017-12-18 65 } 03714bbb22ebe0 Edward Cree 2017-12-18 66 } 03714bbb22ebe0 Edward Cree 2017-12-18 67 03714bbb22ebe0 Edward Cree 2017-12-18 68 /* All VFs use BAR 0/1 for memory */ 03714bbb22ebe0 Edward Cree 2017-12-18 69 static unsigned int efx_ef10_vf_mem_bar(struct efx_nic *efx) 03714bbb22ebe0 Edward Cree 2017-12-18 70 { 03714bbb22ebe0 Edward Cree 2017-12-18 71 return 0; 03714bbb22ebe0 Edward Cree 2017-12-18 72 } 03714bbb22ebe0 Edward Cree 2017-12-18 73 8127d661e77f5e Ben Hutchings 2013-08-29 74 static unsigned int efx_ef10_mem_map_size(struct efx_nic *efx) 8127d661e77f5e Ben Hutchings 2013-08-29 75 { 02246a7f966c2e Shradha Shah 2015-05-06 76 int bar; 02246a7f966c2e Shradha Shah 2015-05-06 77 03714bbb22ebe0 Edward Cree 2017-12-18 78 bar = efx->type->mem_bar(efx); 02246a7f966c2e Shradha Shah 2015-05-06 79 return resource_size(&efx->pci_dev->resource[bar]); 8127d661e77f5e Ben Hutchings 2013-08-29 80 } 8127d661e77f5e Ben Hutchings 2013-08-29 81 7a186f4703de6f Daniel Pieczko 2015-07-07 82 static bool efx_ef10_is_vf(struct efx_nic *efx) 7a186f4703de6f Daniel Pieczko 2015-07-07 83 { 7a186f4703de6f Daniel Pieczko 2015-07-07 84 return efx->type->is_vf; 7a186f4703de6f Daniel Pieczko 2015-07-07 85 } 7a186f4703de6f Daniel Pieczko 2015-07-07 86 88a37de674f8a7 Shradha Shah 2015-05-20 87 #ifdef CONFIG_SFC_SRIOV 88a37de674f8a7 Shradha Shah 2015-05-20 88 static int efx_ef10_get_vf_index(struct efx_nic *efx) 88a37de674f8a7 Shradha Shah 2015-05-20 89 { 88a37de674f8a7 Shradha Shah 2015-05-20 90 MCDI_DECLARE_BUF(outbuf, MC_CMD_GET_FUNCTION_INFO_OUT_LEN); 88a37de674f8a7 Shradha Shah 2015-05-20 91 struct efx_ef10_nic_data *nic_data = efx->nic_data; 88a37de674f8a7 Shradha Shah 2015-05-20 92 size_t outlen; 88a37de674f8a7 Shradha Shah 2015-05-20 93 int rc; 88a37de674f8a7 Shradha Shah 2015-05-20 94 88a37de674f8a7 Shradha Shah 2015-05-20 95 rc = efx_mcdi_rpc(efx, MC_CMD_GET_FUNCTION_INFO, NULL, 0, outbuf, 88a37de674f8a7 Shradha Shah 2015-05-20 96 sizeof(outbuf), &outlen); 88a37de674f8a7 Shradha Shah 2015-05-20 97 if (rc) 88a37de674f8a7 Shradha Shah 2015-05-20 98 return rc; 88a37de674f8a7 Shradha Shah 2015-05-20 99 if (outlen < sizeof(outbuf)) 88a37de674f8a7 Shradha Shah 2015-05-20 100 return -EIO; 88a37de674f8a7 Shradha Shah 2015-05-20 101 88a37de674f8a7 Shradha Shah 2015-05-20 @102 nic_data->vf_index = MCDI_DWORD(outbuf, GET_FUNCTION_INFO_OUT_VF); 88a37de674f8a7 Shradha Shah 2015-05-20 103 return 0; 88a37de674f8a7 Shradha Shah 2015-05-20 104 } 88a37de674f8a7 Shradha Shah 2015-05-20 105 #endif 88a37de674f8a7 Shradha Shah 2015-05-20 106 :::::: The code at line 50 was first introduced by commit :::::: 8127d661e77f5ec410093bce411f540afa34593f sfc: Add support for Solarflare SFC9100 family :::::: TO: Ben Hutchings :::::: CC: Ben Hutchings --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org