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