On Tue, May 5, 2020 at 7:56 AM Kevin Traynor <ktray...@redhat.com> wrote:
> On 05/05/2020 05:03, Ajit Khaparde wrote: > > From: Randy Schacher <stuart.schac...@broadcom.com> > > > > Remove the defensive compile-time checker macro. > > > > Thanks Ajit/Randy. This removes the error for bnxt on my Fedora 32 system. > > Was chatting to David and he suggest if 'static __rte_used' could be > added to the macro as an alternative. > > Checked and it [1] is working also. It seems like a cleaner fix for the > specific issue to me. If you have an additional reason to remove the > compile checks, it could be a separate patch or a comment added to the > commit message. > Kevin, Thanks for confirming that the patch solves the issue. I wanted to do away with the check anyway. Thanks for suggesting the change though. > [1] > --- a/drivers/net/bnxt/tf_core/hwrm_tf.h > +++ b/drivers/net/bnxt/tf_core/hwrm_tf.h > @@ -40,5 +40,5 @@ typedef enum tf_subtype { > > #define __BUILD_BUG_ON(condition, line) \ > - char p##line[(condition) ? 1 : -1] > + static __rte_unused char p##line[(condition) ? 1 : -1] > > > Bugzilla ID: 468 > > Fixes: 8430a8b841c8 ("net/bnxt: add initial TruFlow core session open") > > Signed-off-by: Randy Schacher <stuart.schac...@broadcom.com> > > Reviewed-by: Peter Spreadborough <peter.spreadboro...@broadcom.com> > > Reviewed-by: Ajit Khaparde <ajit.khapa...@broadcom.com> > > --- > > drivers/net/bnxt/tf_core/hwrm_tf.h | 24 ------------------------ > > 1 file changed, 24 deletions(-) > > > > diff --git a/drivers/net/bnxt/tf_core/hwrm_tf.h > b/drivers/net/bnxt/tf_core/hwrm_tf.h > > index 6299d588a..341909573 100644 > > --- a/drivers/net/bnxt/tf_core/hwrm_tf.h > > +++ b/drivers/net/bnxt/tf_core/hwrm_tf.h > > @@ -38,11 +38,6 @@ typedef enum tf_subtype { > > /* u32_t tlv_resp_value[170]; */ > > #define TF_MAX_RESP_SIZE 680 > > > > -#define __BUILD_BUG_ON(condition, line) \ > > - char p##line[(condition) ? 1 : -1] > > -#define _BUILD_BUG_ON(condition, line) __BUILD_BUG_ON(condition, line) > > -#define BUILD_BUG_ON(condition) _BUILD_BUG_ON(condition, __LINE__) > > - > > /* Use this to allocate/free any kind of > > * indexes over HWRM and fill the parms pointer > > */ > > @@ -98,7 +93,6 @@ typedef struct tf_session_attach_input { > > /* Session Name */ > > char session_name[TF_SESSION_NAME_MAX]; > > } tf_session_attach_input_t, *ptf_session_attach_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_attach_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Input params for session resource HW qcaps */ > > typedef struct tf_session_hw_resc_qcaps_input { > > @@ -111,7 +105,6 @@ typedef struct tf_session_hw_resc_qcaps_input { > > /* When set to 1, indicates the query apply to TX */ > > #define TF_SESSION_HW_RESC_QCAPS_INPUT_FLAGS_DIR_TX (0x1) > > } tf_session_hw_resc_qcaps_input_t, *ptf_session_hw_resc_qcaps_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_qcaps_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource HW qcaps */ > > typedef struct tf_session_hw_resc_qcaps_output { > > @@ -216,7 +209,6 @@ typedef struct tf_session_hw_resc_qcaps_output { > > /* Maximum non-guaranteed number of LAG table entries */ > > uint16_t lag_tbl_entries_max; > > } tf_session_hw_resc_qcaps_output_t, > *ptf_session_hw_resc_qcaps_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_qcaps_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource HW alloc */ > > typedef struct tf_session_hw_resc_alloc_input { > > @@ -275,7 +267,6 @@ typedef struct tf_session_hw_resc_alloc_input { > > /* Number of LAG table entries to be allocated */ > > uint16_t num_lag_tbl_entries; > > } tf_session_hw_resc_alloc_input_t, *ptf_session_hw_resc_alloc_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_alloc_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource HW alloc */ > > typedef struct tf_session_hw_resc_alloc_output { > > @@ -368,7 +359,6 @@ typedef struct tf_session_hw_resc_alloc_output { > > /* Number of LAG table entries allocated */ > > uint16_t lag_tbl_entries_stride; > > } tf_session_hw_resc_alloc_output_t, > *ptf_session_hw_resc_alloc_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_alloc_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource HW free */ > > typedef struct tf_session_hw_resc_free_input { > > @@ -471,7 +461,6 @@ typedef struct tf_session_hw_resc_free_input { > > /* Number of LAG table entries allocated */ > > uint16_t lag_tbl_entries_stride; > > } tf_session_hw_resc_free_input_t, *ptf_session_hw_resc_free_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_free_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for session resource HW flush */ > > typedef struct tf_session_hw_resc_flush_input { > > @@ -574,7 +563,6 @@ typedef struct tf_session_hw_resc_flush_input { > > /* Number of LAG table entries allocated */ > > uint16_t lag_tbl_entries_stride; > > } tf_session_hw_resc_flush_input_t, *ptf_session_hw_resc_flush_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_hw_resc_flush_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for session resource SRAM qcaps */ > > typedef struct tf_session_sram_resc_qcaps_input { > > @@ -587,7 +575,6 @@ typedef struct tf_session_sram_resc_qcaps_input { > > /* When set to 1, indicates the query apply to TX */ > > #define TF_SESSION_SRAM_RESC_QCAPS_INPUT_FLAGS_DIR_TX (0x1) > > } tf_session_sram_resc_qcaps_input_t, > *ptf_session_sram_resc_qcaps_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_qcaps_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource SRAM qcaps */ > > typedef struct tf_session_sram_resc_qcaps_output { > > @@ -654,7 +641,6 @@ typedef struct tf_session_sram_resc_qcaps_output { > > /* Maximum non-guaranteed number of NAT D_IPV4 */ > > uint16_t nat_d_ipv4_max; > > } tf_session_sram_resc_qcaps_output_t, > *ptf_session_sram_resc_qcaps_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_qcaps_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource SRAM alloc */ > > typedef struct tf_session_sram_resc_alloc_input { > > @@ -695,7 +681,6 @@ typedef struct tf_session_sram_resc_alloc_input { > > /* Number of NAT destination IPV4 addresses to be allocated */ > > uint16_t num_nat_d_ipv4; > > } tf_session_sram_resc_alloc_input_t, > *ptf_session_sram_resc_alloc_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_alloc_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Output params for session resource SRAM alloc */ > > typedef struct tf_session_sram_resc_alloc_output { > > @@ -757,7 +742,6 @@ typedef struct tf_session_sram_resc_alloc_output { > > /* Number of NAT destination IPV4 addresses allocated */ > > uint16_t nat_d_ipv4_stride; > > } tf_session_sram_resc_alloc_output_t, > *ptf_session_sram_resc_alloc_output_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_alloc_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for session resource SRAM free */ > > typedef struct tf_session_sram_resc_free_input { > > @@ -825,7 +809,6 @@ typedef struct tf_session_sram_resc_free_input { > > /* Number of NAT destination IPV4 addresses allocated */ > > uint16_t nat_d_ipv4_stride; > > } tf_session_sram_resc_free_input_t, > *ptf_session_sram_resc_free_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_free_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for session resource SRAM flush */ > > typedef struct tf_session_sram_resc_flush_input { > > @@ -893,7 +876,6 @@ typedef struct tf_session_sram_resc_flush_input { > > /* Number of NAT destination IPV4 addresses allocated */ > > uint16_t nat_d_ipv4_stride; > > } tf_session_sram_resc_flush_input_t, > *ptf_session_sram_resc_flush_input_t; > > -BUILD_BUG_ON(sizeof(tf_session_sram_resc_flush_input_t) <= > TF_MAX_REQ_SIZE); > > > > /* Input params for table type set */ > > typedef struct tf_tbl_type_set_input { > > @@ -914,7 +896,6 @@ typedef struct tf_tbl_type_set_input { > > /* Index to set */ > > uint32_t index; > > } tf_tbl_type_set_input_t, *ptf_tbl_type_set_input_t; > > -BUILD_BUG_ON(sizeof(tf_tbl_type_set_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Input params for table type get */ > > typedef struct tf_tbl_type_get_input { > > @@ -931,7 +912,6 @@ typedef struct tf_tbl_type_get_input { > > /* Index to get */ > > uint32_t index; > > } tf_tbl_type_get_input_t, *ptf_tbl_type_get_input_t; > > -BUILD_BUG_ON(sizeof(tf_tbl_type_get_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Output params for table type get */ > > typedef struct tf_tbl_type_get_output { > > @@ -940,7 +920,6 @@ typedef struct tf_tbl_type_get_output { > > /* Data read */ > > uint8_t data[TF_BULK_RECV]; > > } tf_tbl_type_get_output_t, *ptf_tbl_type_get_output_t; > > -BUILD_BUG_ON(sizeof(tf_tbl_type_get_output_t) <= TF_MAX_RESP_SIZE); > > > > /* Input params for EM internal rule insert */ > > typedef struct tf_em_internal_insert_input { > > @@ -963,7 +942,6 @@ typedef struct tf_em_internal_insert_input { > > /* number of bits in em_key */ > > uint16_t em_key_bitlen; > > } tf_em_internal_insert_input_t, *ptf_em_internal_insert_input_t; > > -BUILD_BUG_ON(sizeof(tf_em_internal_insert_input_t) <= TF_MAX_REQ_SIZE); > > > > /* Output params for EM internal rule insert */ > > typedef struct tf_em_internal_insert_output { > > @@ -972,7 +950,6 @@ typedef struct tf_em_internal_insert_output { > > /* EM record offset 0~3 */ > > uint8_t rptr_entry; > > } tf_em_internal_insert_output_t, *ptf_em_internal_insert_output_t; > > -BUILD_BUG_ON(sizeof(tf_em_internal_insert_output_t) <= > TF_MAX_RESP_SIZE); > > > > /* Input params for EM INTERNAL rule delete */ > > typedef struct tf_em_internal_delete_input { > > @@ -991,6 +968,5 @@ typedef struct tf_em_internal_delete_input { > > /* number of bits in em_key */ > > uint16_t em_key_bitlen; > > } tf_em_internal_delete_input_t, *ptf_em_internal_delete_input_t; > > -BUILD_BUG_ON(sizeof(tf_em_internal_delete_input_t) <= TF_MAX_REQ_SIZE); > > > > #endif /* _HWRM_TF_H_ */ > > > >