lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202201041341.IWW7EqP0-lkp@intel.com>
Date:   Tue, 4 Jan 2022 13:07:35 +0800
From:   kernel test robot <lkp@...el.com>
To:     "Matthew Wilcox (Oracle)" <willy@...radead.org>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        linux-kernel@...r.kernel.org,
        William Kucharski <william.kucharski@...cle.com>
Subject: [willy-pagecache:for-next 6/49]
 drivers/net/ethernet/sfc/ef10.c:50:9: warning: shift count is negative

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 <lkp@...el.com>

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, &reg, 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 <bhutchings@...arflare.com>
:::::: CC: Ben Hutchings <bhutchings@...arflare.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ