linux_dsm_epyc7002/drivers/net/ethernet/cavium/liquidio
Felix Manlunas c9aec05228 liquidio: improve soft command handling
1. Set LIO_SC_MAX_TMO_MS as the maximum timeout value for a soft command
   (sc).  All sc's use this value as a hard timeout value. Add expiry_time
   in struct octeon_soft_command to keep the hard timeout value. The field
   wait_time and timeout in struct octeon_soft_command will be obsoleted in
   the last patch of this patch series.
2. Add processing a synchronous sc in sc response thread
   lio_process_ordered_list. The memory allocated for a synchronous sc will
   be freed by lio_process_ordered_list() to the sc pool.
3. Add two response lists for lio_process_ordered_list to process the
   storage allocated for sc's:
   OCTEON_DONE_SC_LIST response list keeps all sc's which will be freed to
   the pool after their requestors have finished processing the responses.
   OCTEON_ZOMBIE_SC_LIST response list keeps all sc's which have got
   LIO_SC_MAX_TMO_MS timeout.
   When an sc gets a hard timeout, lio_process_order_list() will recheck
   its status 1 ms later. If the status has not updated by the firmware at
   that time, the sc will be removed from OCTEON_DONE_SC_LIST response list
   to OCTEON_ZOMBIE_SC_LIST response list. The sc's in the
   OCTEON_ZOMBIE_SC_LIST response list will be freed when the driver is
   unloaded.

Signed-off-by: Weilin Chang <weilin.chang@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-08-29 20:07:41 -07:00
..
cn23xx_pf_device.c liquidio: remove redundant function cn23xx_dump_iq_regs 2018-07-30 09:27:21 -07:00
cn23xx_pf_device.h liquidio: enhanced ethtool --set-channels feature 2018-04-30 09:26:29 -04:00
cn23xx_pf_regs.h
cn23xx_vf_device.c liquidio: remove redundant function cn23xx_dump_vf_iq_regs 2018-07-29 08:31:07 -07:00
cn23xx_vf_device.h
cn23xx_vf_regs.h
cn66xx_device.c
cn66xx_device.h
cn66xx_regs.h
cn68xx_device.c
cn68xx_device.h
cn68xx_regs.h
lio_core.c liquidio: support use of ethtool to set link speed of CN23XX-225 cards 2018-05-07 23:31:23 -04:00
lio_ethtool.c liquidio: remove set but not used variable 'is25G' 2018-08-13 09:21:05 -07:00
lio_main.c liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00
lio_vf_main.c liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00
lio_vf_rep.c liquidio: Swap VF representor Tx and Rx statistics 2018-04-24 16:20:32 -04:00
lio_vf_rep.h liquidio: synchronize VF representor names with NIC firmware 2017-11-02 17:04:06 +09:00
liquidio_common.h liquidio: copperhead LED identification 2018-08-10 14:43:46 -07:00
liquidio_image.h
Makefile net: liquidio: clean up Makefile for simpler composite object handling 2018-03-26 02:01:27 +09:00
octeon_config.h liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00
octeon_console.c liquidio: use ktime_get_real_ts64() instead of getnstimeofday64() 2018-07-12 14:55:39 -07:00
octeon_device.c liquidio: fix race condition in instruction completion processing 2018-08-29 19:47:52 -07:00
octeon_device.h liquidio: fix kernel panic when NIC firmware is older than 1.7.2 2018-07-07 11:10:35 +09:00
octeon_droq.c treewide: Use array_size() in vzalloc_node() 2018-06-12 16:19:22 -07:00
octeon_droq.h liquidio: Simplified napi poll 2018-03-16 15:03:26 -04:00
octeon_iq.h liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00
octeon_mailbox.c liquidio: Added ndo_get_vf_stats support 2018-04-20 10:53:46 -04:00
octeon_mailbox.h liquidio: Added ndo_get_vf_stats support 2018-04-20 10:53:46 -04:00
octeon_main.h liquidio: xmit_more support 2017-10-28 00:35:23 +09:00
octeon_mem_ops.c
octeon_mem_ops.h
octeon_network.h liquidio: monitor all of Octeon's cores in watchdog thread 2018-05-10 17:32:18 -04:00
octeon_nic.c liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00
octeon_nic.h liquidio: xmit_more support 2017-10-28 00:35:23 +09:00
request_manager.c liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00
response_manager.c liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00
response_manager.h liquidio: improve soft command handling 2018-08-29 20:07:41 -07:00