Loading drivers/rmnet/perf/rmnet_perf_config.c +12 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h> #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.h> #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h> #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_private.h> MODULE_LICENSE("GPL v2"); Loading Loading @@ -231,10 +232,17 @@ rmnet_perf_config_register_callbacks(struct net_device *dev, dl_ind = kzalloc(sizeof(struct rmnet_map_dl_ind), GFP_ATOMIC); if (dl_ind) { dl_ind->priority = RMNET_PERF; if (port->data_format & RMNET_INGRESS_FORMAT_DL_MARKER_V2) { dl_ind->dl_hdr_handler_v2 = &rmnet_perf_core_handle_map_control_start_v2; dl_ind->dl_trl_handler_v2 = &rmnet_perf_core_handle_map_control_end_v2; } else { dl_ind->dl_hdr_handler = &rmnet_perf_core_handle_map_control_start; dl_ind->dl_trl_handler = &rmnet_perf_core_handle_map_control_end; } perf->core_meta->dl_ind = dl_ind; if (rmnet_map_dl_ind_register(port, dl_ind)) { kfree(dl_ind); Loading drivers/rmnet/perf/rmnet_perf_core.c +15 −2 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ MODULE_PARM_DESC(rmnet_perf_core_num_skbs_max, "Num skbs max held from HW"); /* Toggle to flush all coalesced packets when physical device is out of * packets */ unsigned long int rmnet_perf_core_bm_flush_on = 1; unsigned long int rmnet_perf_core_bm_flush_on = 0; module_param(rmnet_perf_core_bm_flush_on, ulong, 0644); MODULE_PARM_DESC(rmnet_perf_core_bm_flush_on, "turn on bm flushing"); Loading Loading @@ -455,7 +455,14 @@ void rmnet_perf_core_ps_on(void *port) /* DL marker on, we can try to coalesce more packets */ void rmnet_perf_core_ps_off(void *port) { rmnet_perf_core_bm_flush_on = 1; rmnet_perf_core_bm_flush_on = 0; } void rmnet_perf_core_handle_map_control_start_v2(struct rmnet_map_dl_ind_hdr *dlhdr, struct rmnet_map_control_command_header *qcmd) { rmnet_perf_core_handle_map_control_start(dlhdr); } void Loading Loading @@ -484,6 +491,12 @@ rmnet_perf_core_handle_map_control_start(struct rmnet_map_dl_ind_hdr *dlhdr) NULL, NULL); } void rmnet_perf_core_handle_map_control_end_v2(struct rmnet_map_dl_ind_trl *dltrl, struct rmnet_map_control_command_header *qcmd) { rmnet_perf_core_handle_map_control_end(dltrl); } void rmnet_perf_core_handle_map_control_end(struct rmnet_map_dl_ind_trl *dltrl) { struct rmnet_perf *perf = rmnet_perf_config_get_perf(); Loading drivers/rmnet/perf/rmnet_perf_core.h +9 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,15 @@ void rmnet_perf_core_deaggregate(struct sk_buff *skb, void rmnet_perf_core_desc_entry(struct rmnet_frag_descriptor *frag_desc, struct rmnet_port *port); u32 rmnet_perf_core_compute_flow_hash(struct rmnet_perf_pkt_info *pkt_info); void rmnet_perf_core_handle_map_control_end(struct rmnet_map_dl_ind_trl *dltrl); void rmnet_perf_core_flush_single_gro_flow(u32 hash_key); void rmnet_perf_core_handle_map_control_end_v2(struct rmnet_map_dl_ind_trl *dltrl, struct rmnet_map_control_command_header *qcmd); void rmnet_perf_core_handle_map_control_start_v2(struct rmnet_map_dl_ind_hdr *dlhdr, struct rmnet_map_control_command_header *qcmd); void rmnet_perf_core_handle_map_control_end(struct rmnet_map_dl_ind_trl *dltrl); void rmnet_perf_core_handle_map_control_start(struct rmnet_map_dl_ind_hdr *dlhdr); Loading Loading
drivers/rmnet/perf/rmnet_perf_config.c +12 −4 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h> #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.h> #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h> #include <../drivers/net/ethernet/qualcomm/rmnet/rmnet_private.h> MODULE_LICENSE("GPL v2"); Loading Loading @@ -231,10 +232,17 @@ rmnet_perf_config_register_callbacks(struct net_device *dev, dl_ind = kzalloc(sizeof(struct rmnet_map_dl_ind), GFP_ATOMIC); if (dl_ind) { dl_ind->priority = RMNET_PERF; if (port->data_format & RMNET_INGRESS_FORMAT_DL_MARKER_V2) { dl_ind->dl_hdr_handler_v2 = &rmnet_perf_core_handle_map_control_start_v2; dl_ind->dl_trl_handler_v2 = &rmnet_perf_core_handle_map_control_end_v2; } else { dl_ind->dl_hdr_handler = &rmnet_perf_core_handle_map_control_start; dl_ind->dl_trl_handler = &rmnet_perf_core_handle_map_control_end; } perf->core_meta->dl_ind = dl_ind; if (rmnet_map_dl_ind_register(port, dl_ind)) { kfree(dl_ind); Loading
drivers/rmnet/perf/rmnet_perf_core.c +15 −2 Original line number Diff line number Diff line Loading @@ -52,7 +52,7 @@ MODULE_PARM_DESC(rmnet_perf_core_num_skbs_max, "Num skbs max held from HW"); /* Toggle to flush all coalesced packets when physical device is out of * packets */ unsigned long int rmnet_perf_core_bm_flush_on = 1; unsigned long int rmnet_perf_core_bm_flush_on = 0; module_param(rmnet_perf_core_bm_flush_on, ulong, 0644); MODULE_PARM_DESC(rmnet_perf_core_bm_flush_on, "turn on bm flushing"); Loading Loading @@ -455,7 +455,14 @@ void rmnet_perf_core_ps_on(void *port) /* DL marker on, we can try to coalesce more packets */ void rmnet_perf_core_ps_off(void *port) { rmnet_perf_core_bm_flush_on = 1; rmnet_perf_core_bm_flush_on = 0; } void rmnet_perf_core_handle_map_control_start_v2(struct rmnet_map_dl_ind_hdr *dlhdr, struct rmnet_map_control_command_header *qcmd) { rmnet_perf_core_handle_map_control_start(dlhdr); } void Loading Loading @@ -484,6 +491,12 @@ rmnet_perf_core_handle_map_control_start(struct rmnet_map_dl_ind_hdr *dlhdr) NULL, NULL); } void rmnet_perf_core_handle_map_control_end_v2(struct rmnet_map_dl_ind_trl *dltrl, struct rmnet_map_control_command_header *qcmd) { rmnet_perf_core_handle_map_control_end(dltrl); } void rmnet_perf_core_handle_map_control_end(struct rmnet_map_dl_ind_trl *dltrl) { struct rmnet_perf *perf = rmnet_perf_config_get_perf(); Loading
drivers/rmnet/perf/rmnet_perf_core.h +9 −1 Original line number Diff line number Diff line Loading @@ -148,7 +148,15 @@ void rmnet_perf_core_deaggregate(struct sk_buff *skb, void rmnet_perf_core_desc_entry(struct rmnet_frag_descriptor *frag_desc, struct rmnet_port *port); u32 rmnet_perf_core_compute_flow_hash(struct rmnet_perf_pkt_info *pkt_info); void rmnet_perf_core_handle_map_control_end(struct rmnet_map_dl_ind_trl *dltrl); void rmnet_perf_core_flush_single_gro_flow(u32 hash_key); void rmnet_perf_core_handle_map_control_end_v2(struct rmnet_map_dl_ind_trl *dltrl, struct rmnet_map_control_command_header *qcmd); void rmnet_perf_core_handle_map_control_start_v2(struct rmnet_map_dl_ind_hdr *dlhdr, struct rmnet_map_control_command_header *qcmd); void rmnet_perf_core_handle_map_control_end(struct rmnet_map_dl_ind_trl *dltrl); void rmnet_perf_core_handle_map_control_start(struct rmnet_map_dl_ind_hdr *dlhdr); Loading