[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