/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | reporter_rx.c | 203 struct devlink_fmsg *fmsg) in mlx5e_reporter_icosq_diagnose() argument 205 mlx5e_health_fmsg_named_obj_nest_start(fmsg, "ICOSQ"); in mlx5e_reporter_icosq_diagnose() 206 devlink_fmsg_u32_pair_put(fmsg, "sqn", icosq->sqn); in mlx5e_reporter_icosq_diagnose() 207 devlink_fmsg_u8_pair_put(fmsg, "HW state", hw_state); in mlx5e_reporter_icosq_diagnose() 208 devlink_fmsg_u32_pair_put(fmsg, "cc", icosq->cc); in mlx5e_reporter_icosq_diagnose() 209 devlink_fmsg_u32_pair_put(fmsg, "pc", icosq->pc); in mlx5e_reporter_icosq_diagnose() 210 devlink_fmsg_u32_pair_put(fmsg, "WQE size", mlx5_wq_cyc_get_size(&icosq->wq)); in mlx5e_reporter_icosq_diagnose() 212 mlx5e_health_fmsg_named_obj_nest_start(fmsg, "CQ"); in mlx5e_reporter_icosq_diagnose() 213 devlink_fmsg_u32_pair_put(fmsg, "cqn", icosq->cq.mcq.cqn); in mlx5e_reporter_icosq_diagnose() 214 devlink_fmsg_u32_pair_put(fmsg, "cc", icosq->cq.wq.cc); in mlx5e_reporter_icosq_diagnose() [all …]
|
H A D | reporter_tx.c | 53 static void mlx5e_health_sq_put_sw_state(struct devlink_fmsg *fmsg, struct mlx5e_txqsq *sq) in mlx5e_health_sq_put_sw_state() argument 59 mlx5e_health_fmsg_named_obj_nest_start(fmsg, "SW State"); in mlx5e_health_sq_put_sw_state() 62 devlink_fmsg_u32_pair_put(fmsg, sq_sw_state_type_name[i], in mlx5e_health_sq_put_sw_state() 65 mlx5e_health_fmsg_named_obj_nest_end(fmsg); in mlx5e_health_sq_put_sw_state() 227 mlx5e_tx_reporter_build_diagnose_output_sq_common(struct devlink_fmsg *fmsg, in mlx5e_tx_reporter_build_diagnose_output_sq_common() argument 234 devlink_fmsg_u32_pair_put(fmsg, "tc", tc); in mlx5e_tx_reporter_build_diagnose_output_sq_common() 235 devlink_fmsg_u32_pair_put(fmsg, "txq ix", sq->txq_ix); in mlx5e_tx_reporter_build_diagnose_output_sq_common() 236 devlink_fmsg_u32_pair_put(fmsg, "sqn", sq->sqn); in mlx5e_tx_reporter_build_diagnose_output_sq_common() 240 devlink_fmsg_u8_pair_put(fmsg, "HW state", state); in mlx5e_tx_reporter_build_diagnose_output_sq_common() 242 devlink_fmsg_bool_pair_put(fmsg, "stopped", stopped); in mlx5e_tx_reporter_build_diagnose_output_sq_common() [all …]
|
H A D | health.c | 8 void mlx5e_health_fmsg_named_obj_nest_start(struct devlink_fmsg *fmsg, char *name) in mlx5e_health_fmsg_named_obj_nest_start() argument 10 devlink_fmsg_pair_nest_start(fmsg, name); in mlx5e_health_fmsg_named_obj_nest_start() 11 devlink_fmsg_obj_nest_start(fmsg); in mlx5e_health_fmsg_named_obj_nest_start() 14 void mlx5e_health_fmsg_named_obj_nest_end(struct devlink_fmsg *fmsg) in mlx5e_health_fmsg_named_obj_nest_end() argument 16 devlink_fmsg_obj_nest_end(fmsg); in mlx5e_health_fmsg_named_obj_nest_end() 17 devlink_fmsg_pair_nest_end(fmsg); in mlx5e_health_fmsg_named_obj_nest_end() 20 void mlx5e_health_cq_diag_fmsg(struct mlx5e_cq *cq, struct devlink_fmsg *fmsg) in mlx5e_health_cq_diag_fmsg() argument 30 mlx5e_health_fmsg_named_obj_nest_start(fmsg, "CQ"); in mlx5e_health_cq_diag_fmsg() 31 devlink_fmsg_u32_pair_put(fmsg, "cqn", cq->mcq.cqn); in mlx5e_health_cq_diag_fmsg() 32 devlink_fmsg_u8_pair_put(fmsg, "HW status", hw_status); in mlx5e_health_cq_diag_fmsg() [all …]
|
H A D | health.h | 23 void mlx5e_health_cq_diag_fmsg(struct mlx5e_cq *cq, struct devlink_fmsg *fmsg); 24 void mlx5e_health_cq_common_diag_fmsg(struct mlx5e_cq *cq, struct devlink_fmsg *fmsg); 25 void mlx5e_health_eq_diag_fmsg(struct mlx5_eq_comp *eq, struct devlink_fmsg *fmsg); 26 void mlx5e_health_fmsg_named_obj_nest_start(struct devlink_fmsg *fmsg, char *name); 27 void mlx5e_health_fmsg_named_obj_nest_end(struct devlink_fmsg *fmsg); 41 int (*dump)(struct mlx5e_priv *priv, struct devlink_fmsg *fmsg, void *ctx); 56 struct devlink_fmsg *fmsg); 57 void mlx5e_health_queue_dump(struct mlx5e_priv *priv, struct devlink_fmsg *fmsg,
|
/linux/net/devlink/ |
H A D | health.c | 33 struct devlink_fmsg *fmsg; in devlink_fmsg_alloc() local 35 fmsg = kzalloc(sizeof(*fmsg), GFP_KERNEL); in devlink_fmsg_alloc() 36 if (!fmsg) in devlink_fmsg_alloc() 39 INIT_LIST_HEAD(&fmsg->item_list); in devlink_fmsg_alloc() 41 return fmsg; in devlink_fmsg_alloc() 44 static void devlink_fmsg_free(struct devlink_fmsg *fmsg) in devlink_fmsg_free() argument 48 list_for_each_entry_safe(item, tmp, &fmsg->item_list, list) { in devlink_fmsg_free() 52 kfree(fmsg); in devlink_fmsg_free() 677 static void devlink_fmsg_err_if_binary(struct devlink_fmsg *fmsg) in devlink_fmsg_err_if_binary() argument 679 if (!fmsg->err && fmsg->putting_binary) in devlink_fmsg_err_if_binary() [all …]
|
/linux/drivers/net/netdevsim/ |
H A D | health.c | 13 struct devlink_fmsg *fmsg, void *priv_ctx, in nsim_dev_empty_reporter_dump() argument 21 struct devlink_fmsg *fmsg, in nsim_dev_empty_reporter_diagnose() argument 63 static int nsim_dev_dummy_fmsg_put(struct devlink_fmsg *fmsg, u32 binary_len) in nsim_dev_dummy_fmsg_put() argument 68 devlink_fmsg_bool_pair_put(fmsg, "test_bool", true); in nsim_dev_dummy_fmsg_put() 69 devlink_fmsg_u8_pair_put(fmsg, "test_u8", 1); in nsim_dev_dummy_fmsg_put() 70 devlink_fmsg_u32_pair_put(fmsg, "test_u32", 3); in nsim_dev_dummy_fmsg_put() 71 devlink_fmsg_u64_pair_put(fmsg, "test_u64", 4); in nsim_dev_dummy_fmsg_put() 72 devlink_fmsg_string_pair_put(fmsg, "test_string", "somestring"); in nsim_dev_dummy_fmsg_put() 78 devlink_fmsg_binary_pair_put(fmsg, "test_binary", binary, binary_len); in nsim_dev_dummy_fmsg_put() 81 devlink_fmsg_pair_nest_start(fmsg, "test_nest"); in nsim_dev_dummy_fmsg_put() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/diag/ |
H A D | reporter_vnic.c | 17 struct devlink_fmsg *fmsg, in mlx5_reporter_vnic_diagnose_counters() argument 29 devlink_fmsg_pair_nest_start(fmsg, "vNIC env counters"); in mlx5_reporter_vnic_diagnose_counters() 30 devlink_fmsg_obj_nest_start(fmsg); in mlx5_reporter_vnic_diagnose_counters() 33 devlink_fmsg_u32_pair_put(fmsg, "total_error_queues", in mlx5_reporter_vnic_diagnose_counters() 35 devlink_fmsg_u32_pair_put(fmsg, "send_queue_priority_update_flow", in mlx5_reporter_vnic_diagnose_counters() 39 devlink_fmsg_u32_pair_put(fmsg, "comp_eq_overrun", in mlx5_reporter_vnic_diagnose_counters() 41 devlink_fmsg_u32_pair_put(fmsg, "async_eq_overrun", in mlx5_reporter_vnic_diagnose_counters() 45 devlink_fmsg_u32_pair_put(fmsg, "cq_overrun", in mlx5_reporter_vnic_diagnose_counters() 48 devlink_fmsg_u32_pair_put(fmsg, "invalid_command", in mlx5_reporter_vnic_diagnose_counters() 51 devlink_fmsg_u32_pair_put(fmsg, "quota_exceeded_command", in mlx5_reporter_vnic_diagnose_counters() [all …]
|
H A D | fw_tracer.c | 893 mlx5_devlink_fmsg_fill_trace(struct devlink_fmsg *fmsg, in mlx5_devlink_fmsg_fill_trace() argument 896 devlink_fmsg_obj_nest_start(fmsg); in mlx5_devlink_fmsg_fill_trace() 897 devlink_fmsg_u64_pair_put(fmsg, "timestamp", trace_data->timestamp); in mlx5_devlink_fmsg_fill_trace() 898 devlink_fmsg_bool_pair_put(fmsg, "lost", trace_data->lost); in mlx5_devlink_fmsg_fill_trace() 899 devlink_fmsg_u8_pair_put(fmsg, "event_id", trace_data->event_id); in mlx5_devlink_fmsg_fill_trace() 900 devlink_fmsg_string_pair_put(fmsg, "msg", trace_data->msg); in mlx5_devlink_fmsg_fill_trace() 901 devlink_fmsg_obj_nest_end(fmsg); in mlx5_devlink_fmsg_fill_trace() 905 struct devlink_fmsg *fmsg) in mlx5_fw_tracer_get_saved_traces_objects() argument 922 devlink_fmsg_arr_pair_nest_start(fmsg, "dump fw traces"); in mlx5_fw_tracer_get_saved_traces_objects() 925 mlx5_devlink_fmsg_fill_trace(fmsg, &straces[index]); in mlx5_fw_tracer_get_saved_traces_objects() [all …]
|
H A D | reporter_vnic.h | 13 struct devlink_fmsg *fmsg,
|
H A D | fw_tracer.h | 202 struct devlink_fmsg *fmsg);
|
/linux/drivers/net/ethernet/huawei/hinic/ |
H A D | hinic_devlink.c | 318 static void chip_fault_show(struct devlink_fmsg *fmsg, in chip_fault_show() argument 328 devlink_fmsg_u32_pair_put(fmsg, "Function level err func_id", in chip_fault_show() 330 devlink_fmsg_u8_pair_put(fmsg, "module_id", event->event.chip.node_id); in chip_fault_show() 331 devlink_fmsg_u32_pair_put(fmsg, "err_type", (u32)event->event.chip.err_type); in chip_fault_show() 332 devlink_fmsg_string_pair_put(fmsg, "err_level", level_str[fault_level]); in chip_fault_show() 333 devlink_fmsg_u32_pair_put(fmsg, "err_csr_addr", in chip_fault_show() 335 devlink_fmsg_u32_pair_put(fmsg, "err_csr_value", in chip_fault_show() 339 static void fault_report_show(struct devlink_fmsg *fmsg, in fault_report_show() argument 349 devlink_fmsg_string_pair_put(fmsg, "Fault type", type_str[fault_type]); in fault_report_show() 350 devlink_fmsg_binary_pair_put(fmsg, "Fault raw data", event->event.val, in fault_report_show() [all …]
|
/linux/drivers/net/ethernet/marvell/octeontx2/af/ |
H A D | rvu_devlink.c | 17 static void rvu_report_pair_start(struct devlink_fmsg *fmsg, const char *name) in rvu_report_pair_start() argument 19 devlink_fmsg_pair_nest_start(fmsg, name); in rvu_report_pair_start() 20 devlink_fmsg_obj_nest_start(fmsg); in rvu_report_pair_start() 23 static void rvu_report_pair_end(struct devlink_fmsg *fmsg) in rvu_report_pair_end() argument 25 devlink_fmsg_obj_nest_end(fmsg); in rvu_report_pair_end() 26 devlink_fmsg_pair_nest_end(fmsg); in rvu_report_pair_end() 272 static int rvu_nix_report_show(struct devlink_fmsg *fmsg, void *ctx, in rvu_nix_report_show() argument 282 rvu_report_pair_start(fmsg, "NIX_AF_RVU"); in rvu_nix_report_show() 283 devlink_fmsg_u64_pair_put(fmsg, "\tNIX RVU Interrupt Reg ", in rvu_nix_report_show() 286 devlink_fmsg_string_put(fmsg, "\n\tUnmap Slot Error"); in rvu_nix_report_show() [all …]
|
/linux/drivers/net/ethernet/amd/pds_core/ |
H A D | devlink.c | 157 struct devlink_fmsg *fmsg, in pdsc_fw_reporter_diagnose() argument 164 devlink_fmsg_string_pair_put(fmsg, "Status", "dead"); in pdsc_fw_reporter_diagnose() 166 devlink_fmsg_string_pair_put(fmsg, "Status", "unhealthy"); in pdsc_fw_reporter_diagnose() 168 devlink_fmsg_string_pair_put(fmsg, "Status", "healthy"); in pdsc_fw_reporter_diagnose() 171 devlink_fmsg_u32_pair_put(fmsg, "State", in pdsc_fw_reporter_diagnose() 173 devlink_fmsg_u32_pair_put(fmsg, "Generation", pdsc->fw_generation >> 4); in pdsc_fw_reporter_diagnose() 174 devlink_fmsg_u32_pair_put(fmsg, "Recoveries", pdsc->fw_recoveries); in pdsc_fw_reporter_diagnose()
|
H A D | core.h | 249 struct devlink_fmsg *fmsg,
|
/linux/drivers/net/ethernet/broadcom/bnxt/ |
H A D | bnxt_devlink.c | 101 struct devlink_fmsg *fmsg, in bnxt_fw_diagnose() argument 109 devlink_fmsg_string_pair_put(fmsg, "Status", "recovering"); in bnxt_fw_diagnose() 114 devlink_fmsg_string_pair_put(fmsg, "Status", "unknown"); in bnxt_fw_diagnose() 121 devlink_fmsg_string_pair_put(fmsg, "Status", "initializing"); in bnxt_fw_diagnose() 130 devlink_fmsg_string_pair_put(fmsg, "Status", "error"); in bnxt_fw_diagnose() 131 devlink_fmsg_u32_pair_put(fmsg, "Syndrome", fw_status); in bnxt_fw_diagnose() 133 devlink_fmsg_string_pair_put(fmsg, "Status", "healthy"); in bnxt_fw_diagnose() 136 devlink_fmsg_string_pair_put(fmsg, "Severity", in bnxt_fw_diagnose() 140 devlink_fmsg_string_pair_put(fmsg, "Remedy", in bnxt_fw_diagnose() 143 devlink_fmsg_string_pair_put(fmsg, "Impact", in bnxt_fw_diagnose() [all …]
|
/linux/drivers/net/ethernet/mellanox/mlxsw/ |
H A D | core.c | 1811 struct devlink_fmsg *fmsg) in mlxsw_core_health_fw_fatal_dump_fatal_cause() argument 1816 devlink_fmsg_u32_pair_put(fmsg, "cause_id", val); in mlxsw_core_health_fw_fatal_dump_fatal_cause() 1820 devlink_fmsg_u8_pair_put(fmsg, "tile_index", val); in mlxsw_core_health_fw_fatal_dump_fatal_cause() 1826 struct devlink_fmsg *fmsg) in mlxsw_core_health_fw_fatal_dump_fw_assert() argument 1831 devlink_fmsg_u32_pair_put(fmsg, "var0", val); in mlxsw_core_health_fw_fatal_dump_fw_assert() 1833 devlink_fmsg_u32_pair_put(fmsg, "var1", val); in mlxsw_core_health_fw_fatal_dump_fw_assert() 1835 devlink_fmsg_u32_pair_put(fmsg, "var2", val); in mlxsw_core_health_fw_fatal_dump_fw_assert() 1837 devlink_fmsg_u32_pair_put(fmsg, "var3", val); in mlxsw_core_health_fw_fatal_dump_fw_assert() 1839 devlink_fmsg_u32_pair_put(fmsg, "var4", val); in mlxsw_core_health_fw_fatal_dump_fw_assert() 1841 devlink_fmsg_u32_pair_put(fmsg, "existptr", val); in mlxsw_core_health_fw_fatal_dump_fw_assert() [all …]
|
/linux/include/net/ |
H A D | devlink.h | 739 struct devlink_fmsg *fmsg, void *priv_ctx, 742 struct devlink_fmsg *fmsg, 1874 void devlink_fmsg_obj_nest_start(struct devlink_fmsg *fmsg); 1875 void devlink_fmsg_obj_nest_end(struct devlink_fmsg *fmsg); 1877 void devlink_fmsg_pair_nest_start(struct devlink_fmsg *fmsg, const char *name); 1878 void devlink_fmsg_pair_nest_end(struct devlink_fmsg *fmsg); 1880 void devlink_fmsg_arr_pair_nest_start(struct devlink_fmsg *fmsg, 1882 void devlink_fmsg_arr_pair_nest_end(struct devlink_fmsg *fmsg); 1883 void devlink_fmsg_binary_pair_nest_start(struct devlink_fmsg *fmsg, 1885 void devlink_fmsg_binary_pair_nest_end(struct devlink_fmsg *fmsg); [all …]
|
/linux/Documentation/networking/devlink/ |
H A D | devlink-health.rst | 60 to fill the data in using the devlink fmsg API. 62 Devlink fmsg is a mechanism to pass descriptors between drivers and devlink, in 67 Driver should use this API to fill the fmsg context in a format which will be
|
/linux/drivers/net/ethernet/qlogic/qed/ |
H A D | qed_devlink.c | 38 struct devlink_fmsg *fmsg, void *priv_ctx, in qed_fw_fatal_reporter_dump() argument 69 devlink_fmsg_binary_pair_put(fmsg, "dump_data", p_dbg_data_buf, in qed_fw_fatal_reporter_dump()
|
/linux/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_rep.c | 1412 struct devlink_fmsg *fmsg, in mlx5e_rep_vnic_reporter_diagnose() argument 1418 mlx5_reporter_vnic_diagnose_counters(rep->esw->dev, fmsg, rep->vport, in mlx5e_rep_vnic_reporter_diagnose()
|