[dpdk-dev] [PATCH v4 0/5] support fm10k switch management

Ferruh Yigit ferruh.yigit at intel.com
Fri Apr 17 16:18:46 CEST 2020


On 4/9/2020 7:26 AM, Xiaojun Liu wrote:
> V4:
> * Add I2C to control the inside LED and PHY.
> * Add SBUS to communicate with spico.
> * Add registers defination.
> * Add switch management log API.
> * Add switch management structures.
> * Add epl serdes include loading spico,
>   controlling pcsl, dma, dfe, ical.
> * Add spico code.
> * Add state machine for epl lane and port.
> * Add external port management.
> * Add ffu to support offload flow into HW.
>   It supports forward, mirror, push VLAN, pop VLAN.
> * Add config file to configure debug log, port speed,
>   epl port mapping dpdk port, flowset.
> * Add statistics includes epl port, ffu rule, dpdk port.
> * Add flow interface to support offload flow into HW.
> * Add switch management, includes initialization,
>   port mapping, epl port link, LED controller, interrupt handler.
> * Split dev_init to 2 parts in ethdev. First only register
>   the port in switch management; second init hook will be
>   called after all the pf are registered.
> * Add switch interrupt support.
> * Add fm10k_mirror_rule_set/fm10k_mirror_rule_reset.
> * Add fm10k_dev_filter_ctrl to support flow operation.
> * Add dpdk port and pf mapping.
> * Modify Makefile to add new files building
> 
> Xiaojun Liu (5):
>   net/fm10k: add basic functions for switch management
>   net/fm10k: add epl serdes and port control functions
>   net/fm10k: add ffu and statistics and config file functions
>   net/fm10k: add flow interface and switch management
>   net/fm10k: add switch management support
> 

With 'CONFIG_RTE_FM10K_SWITCH_MANAGEMENT=y' I am getting following build errors,
can you please check them?

1) T=ppc_64-power8-linuxapp-gcc

.../drivers/net/fm10k/switch/fm10k_stats.c:758:26: error: ‘ts.tv_sec’ is used
uninitialized in this function [-Werror=uninitialized]
  counters->timestamp = ts.tv_sec * 1000000 + ts.tv_usec;
                        ~~^~~~~~~
.../drivers/net/fm10k/switch/fm10k_stats.c:758:48: error: ‘ts.tv_usec’ is used
uninitialized in this function [-Werror=uninitialized]
  counters->timestamp = ts.tv_sec * 1000000 + ts.tv_usec;
                                              ~~^~~~~~~~


2) T=arm64-armv8a-linuxapp-gcc

.../drivers/net/fm10k/switch/../base/fm10k_osdep.h:49:20: error: conflicting
types for ‘u64’...
 #define __le64     u64...
                    ^~~...
.../drivers/net/fm10k/switch/../base/fm10k_osdep.h:44:20: note: previous
declaration of ‘u64’ was here...
 typedef uint64_t   u64;...
                    ^~~...



3) T=x86_64-native-linuxapp-clang

.../drivers/net/fm10k/switch/fm10k_ffu.c:821:6: error: variable 'tcam_slice' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
        if (sglort_vid_tcam) {
            ^~~~~~~~~~~~~~~
.../drivers/net/fm10k/switch/fm10k_ffu.c:838:32: note: uninitialized use occurs here
        fm10k_ffu_always_mismatch(sw, tcam_slice + 1, rule_id);
                                      ^~~~~~~~~~
.../drivers/net/fm10k/switch/fm10k_ffu.c:821:2: note: remove the 'if' if its
condition is always true
        if (sglort_vid_tcam) {
        ^~~~~~~~~~~~~~~~~~~~~
.../drivers/net/fm10k/switch/fm10k_ffu.c:775:35: note: initialize the variable
'tcam_slice' to silence this warning
        uint16_t sram_idx = 0, tcam_slice, sram_slice, i;
                                         ^
                                          = 0
.../drivers/net/fm10k/switch/fm10k_ffu.c:906:6: error: variable 'tcam_slice' is
used uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
        if (sglort_vid_tcam) {
            ^~~~~~~~~~~~~~~
.../drivers/net/fm10k/switch/fm10k_ffu.c:923:32: note: uninitialized use occurs here
        fm10k_ffu_always_mismatch(sw, tcam_slice + 1, rule_id);
                                      ^~~~~~~~~~
.../drivers/net/fm10k/switch/fm10k_ffu.c:906:2: note: remove the 'if' if its
condition is always true
        if (sglort_vid_tcam) {
        ^~~~~~~~~~~~~~~~~~~~~
.../drivers/net/fm10k/switch/fm10k_ffu.c:869:35: note: initialize the variable
'tcam_slice' to silence this warning
        uint16_t sram_idx = 0, tcam_slice, sram_slice, i;
                                         ^
                                          = 0

.../drivers/net/fm10k/switch/fm10k_serdes.c:1922:9: error: taking the absolute
value of unsigned type 'unsigned int' has no effect [-Werror,-Wabsolute-value]
        diff = abs(val2 - val1);
               ^
.../drivers/net/fm10k/switch/fm10k_serdes.c:1922:9: note: remove the call to
'abs' since unsigned values cannot be negative
        diff = abs(val2 - val1);
               ^~~



4) T=x86_64-native-linuxapp-gcc

.../drivers/net/fm10k/switch/fm10k_serdes.c: In function
‘fm10k_epl_serdes_get_ical_result’:
.../drivers/net/fm10k/switch/fm10k_serdes.c:1922:9: error: taking the absolute
value of unsigned type ‘uint32_t’ {aka ‘unsigned int’} has no effect
[-Werror=absolute-value]
 1922 |  diff = abs(val2 - val1);
      |         ^~~
cc1: all warnings being treated as errors
make[7]: *** [.../mk/internal/rte.compile-pre.mk:114: fm10k_serdes.o] Error 1
make[7]: *** Waiting for unfinished jobs....
.../drivers/net/fm10k/switch/fm10k_stats.c: In function ‘fm10k_get_port_counters’:
.../drivers/net/fm10k/switch/fm10k_stats.c:758:26: error: ‘ts.tv_sec’ is used
uninitialized in this function [-Werror=uninitialized]
  758 |  counters->timestamp = ts.tv_sec * 1000000 + ts.tv_usec;
      |                        ~~^~~~~~~
.../drivers/net/fm10k/switch/fm10k_stats.c:758:48: error: ‘ts.tv_usec’ is used
uninitialized in this function [-Werror=uninitialized]
  758 |  counters->timestamp = ts.tv_sec * 1000000 + ts.tv_usec;
      |                                              ~~^~~~~~~~
cc1: all warnings being treated as errors


More information about the dev mailing list