OpenCloudOS-Kernel/drivers/infiniband/hw/ehca
Alexander Schmidt b9012e0a42 IB/ehca: Generate flush status CQ entries
When a QP goes into error state, it is required that CQ entries with a
flush error status are delivered to the application for any
outstanding work requests.  eHCA does not do this in hardware, so this
patch adds software flush CQE generation to the ehca driver.

Whenever a QP gets into error state, it is added to the QP error list
of its respective CQ.  If the error QP list of a CQ is not empty,
poll_cq() generates flush CQEs before polling the actual CQ.

Signed-off-by: Alexander Schmidt <alexs@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-09-20 20:05:21 -07:00
..
Kconfig IB: Use menuconfig for InfiniBand menu 2007-07-09 20:12:26 -07:00
Makefile IB/ehca: Add driver for IBM eHCA InfiniBand adapters 2006-09-22 15:22:22 -07:00
ehca_av.c IB/ehca: Remove tgid checking 2008-04-16 21:01:13 -07:00
ehca_classes.h IB/ehca: Generate flush status CQ entries 2008-09-20 20:05:21 -07:00
ehca_classes_pSeries.h IB/ehca: Fix warnings issued by checkpatch.pl 2007-07-17 18:37:40 -07:00
ehca_cq.c IB/ehca: Generate flush status CQ entries 2008-09-20 20:05:21 -07:00
ehca_eq.c IB/ehca: handle negative return value from ibmebus_request_irq() properly 2008-04-29 13:46:52 -07:00
ehca_hca.c IB/ehca: Use default value for Local CA ACK Delay if FW returns 0 2008-07-22 14:18:08 -07:00
ehca_irq.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2008-07-24 12:56:07 -07:00
ehca_irq.h IB/ehca: Refactor sync between completions and destroy_cq using atomic_t 2007-07-09 20:12:27 -07:00
ehca_iverbs.h IB/ehca: Generate flush status CQ entries 2008-09-20 20:05:21 -07:00
ehca_main.c IB/ehca: Make device table externally visible 2008-07-14 23:48:49 -07:00
ehca_mcast.c IB/ehca: Print return codes as signed decimal integers 2007-10-09 19:59:10 -07:00
ehca_mrmw.c IB: expand ib_umem_get() prototype 2008-04-29 08:06:12 -07:00
ehca_mrmw.h IB/ehca: Support large page MRs 2007-07-20 21:19:43 -07:00
ehca_pd.c IB/ehca: Remove tgid checking 2008-04-16 21:01:13 -07:00
ehca_qes.h IB/ehca: Discard double CQE for one WR 2008-08-12 11:34:59 -07:00
ehca_qp.c IB/ehca: Generate flush status CQ entries 2008-09-20 20:05:21 -07:00
ehca_reqs.c IB/ehca: Generate flush status CQ entries 2008-09-20 20:05:21 -07:00
ehca_sqp.c IB/ehca: Add PMA support 2008-02-04 20:20:42 -08:00
ehca_tools.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
ehca_uverbs.c IB/ehca: Move high-volume debug output to higher debug levels 2008-04-23 11:55:45 -07:00
hcp_if.c IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts 2008-07-14 23:48:47 -07:00
hcp_if.h IB/ehca: In case of lost interrupts, trigger EOI to reenable interrupts 2008-07-14 23:48:47 -07:00
hcp_phyp.c IB/ehca: Fix warnings issued by checkpatch.pl 2007-07-17 18:37:40 -07:00
hcp_phyp.h IB/ehca: Add driver for IBM eHCA InfiniBand adapters 2006-09-22 15:22:22 -07:00
hipz_fns.h IB/ehca: Add driver for IBM eHCA InfiniBand adapters 2006-09-22 15:22:22 -07:00
hipz_fns_core.h IB/ehca: Fix warnings issued by checkpatch.pl 2007-07-17 18:37:40 -07:00
hipz_hw.h IB/ehca: Serialize HCA-related hCalls if necessary 2007-12-12 14:09:43 -08:00
ipz_pt_fn.c IB/ehca: Release mutex in error path of alloc_small_queue_page() 2008-07-22 14:18:10 -07:00
ipz_pt_fn.h IB/ehca: Move extern declarations from .c files to .h files 2007-07-28 21:47:53 -07:00