linux/drivers/infiniband/hw/hfi1
Harish Chegondi 828bcbdc97 IB/hfi1: Unsuccessful PCIe caps tuning should not fail driver load
Failure to tune PCIe capabilities should not fail driver load. This can
cause the driver load to fail on systems with any of the following:
1. HFI's parent is not root. Example: HFI card is behind a PCIe bridge.
2. HFI's parent is not PCI Express capable.
In these situations, failure to tune PCIe capabilities should be logged
in the system message logs but not cause the driver load to fail.

This patch also ensures pcie capability word DevCtl is written only
after a successful read and the capability tuning process continues
even if read/write of the pcie capability word DevCtl fails.

Fixes: c53df62c7a ("IB/hfi1: Check return values from PCI config API calls")
Fixes: bf70a77577 ("staging/rdma/hfi1: Enable WFR PCIe extended tags from the driver")
Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Reviewed-by: Jakub Byczkowski <jakub.byczkowski@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-09-27 11:10:36 -04:00
..
Kconfig IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option 2017-08-22 14:22:38 -04:00
Makefile IB/hfi1: Create common expected receive verbs/PSM code 2017-06-27 16:58:13 -04:00
affinity.c IB/hfi1: Replace deprecated pci functions with new API 2017-06-27 16:58:11 -04:00
affinity.h IB/hfi1: Name function prototype parameters for affinity module 2017-06-27 16:56:33 -04:00
aspm.h IB/hf1: User context locking is inconsistent 2017-08-22 14:22:36 -04:00
chip.c IB/hfi1: Return correct value in general interrupt handler 2017-09-27 11:10:36 -04:00
chip.h IB/hfi1: Only reset QSFP after link up and turn off AOC TX 2017-09-27 11:10:36 -04:00
chip_registers.h RDMA/hfi1: Defer setting VL15 credits to link-up interrupt 2017-06-01 17:04:20 -04:00
common.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
debugfs.c IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
debugfs.h IB/hfi1: Add transmit fault injection feature 2017-04-05 14:45:09 -04:00
device.c infiniband: utilize the new cdev_set_parent function 2017-03-21 06:44:33 +01:00
device.h
driver.c IB/hfi1: Add kernel receive context info to debugfs 2017-08-22 14:22:38 -04:00
efivar.c IB/hfi1: Check upper-case EFI variables 2017-02-19 09:18:37 -05:00
efivar.h
eprom.c IB/hfi1: Check eeprom config partition validity 2017-09-27 11:10:36 -04:00
eprom.h IB/hfi1: Add ability to read platform config from the EPROM 2016-10-02 08:42:20 -04:00
exp_rcv.c IB/hfi1: Initialize TID lists to avoid crash on cleanup 2017-06-27 16:58:13 -04:00
exp_rcv.h IB/hfi1: Fix bar0 mapping to use write combining 2017-07-31 15:17:54 -04:00
file_ops.c IB/hfi1: On error, fix use after free during user context setup 2017-09-27 11:10:36 -04:00
firmware.c IB/hfi1: Load fallback platform configuration per HFI device 2017-08-22 14:22:37 -04:00
hfi.h IB/hfi1: Ratelimit prints from sdma_interrupt 2017-08-28 19:12:18 -04:00
init.c IB/hf1: User context locking is inconsistent 2017-08-22 14:22:36 -04:00
intr.c IB/hfi1: Verify port data VLs credits on transition to Armed 2017-07-31 15:18:37 -04:00
iowait.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
mad.c IB/hfi1: Fix whitespace alignment issue for MAD 2017-08-28 19:12:23 -04:00
mad.h IB/hfi1: Send MAD traps until repressed 2017-07-31 15:17:55 -04:00
mmu_rb.c lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
mmu_rb.h IB/hfi1: Don't remove RB entry when not needed. 2017-06-27 16:56:33 -04:00
opa_compat.h IB/hfi1: Document phys port state bits not used in IB 2017-08-22 14:22:37 -04:00
pcie.c IB/hfi1: Unsuccessful PCIe caps tuning should not fail driver load 2017-09-27 11:10:36 -04:00
pio.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
pio.h IB/hfi: Fix up comments in engine mapping 2017-04-25 15:24:51 -04:00
pio_copy.c IB/hfi1: Optimize pio_buf and send_context structs 2016-11-15 16:37:27 -05:00
platform.c IB/hfi1: Only reset QSFP after link up and turn off AOC TX 2017-09-27 11:10:36 -04:00
platform.h IB/hfi1: Define platform_config_table_limits once 2016-12-11 15:29:42 -05:00
qp.c IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
qp.h IB/hfi1: Convert qp_stats debugfs interface to use new iterator API 2017-08-28 19:12:30 -04:00
qsfp.c IB/hfi1: Extend i2c timeout 2016-10-02 08:42:13 -04:00
qsfp.h IB/hfi1: Fetch monitor values on-demand for CableInfo query 2016-08-22 14:31:41 -04:00
rc.c IB/{qib, hfi1}: Avoid flow control testing for RDMA write operation 2017-08-28 19:12:16 -04:00
ruc.c IB/hfi1: Add 16B RC/UC support 2017-08-22 14:22:37 -04:00
sdma.c IB/hfi1: Create workqueue for link events 2017-07-31 15:18:38 -04:00
sdma.h IB/hfi1: Serve the most starved iowait entry first 2017-07-31 15:17:54 -04:00
sdma_txreq.h
sysfs.c IB/hfi1: add const to bin_attribute structures 2017-08-18 14:06:09 -04:00
trace.c IB/hfi1: Add 16B trace support 2017-08-22 14:22:37 -04:00
trace.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace_ctxts.h IB/hfi1: Clean up context initialization 2017-05-04 19:31:46 -04:00
trace_dbg.h IB/hfi1: Separate tracepoints into specific headers 2016-08-02 12:00:54 -04:00
trace_ibhdrs.h IB/hfi1: Add 16B trace support 2017-08-22 14:22:37 -04:00
trace_misc.h IB/hfi1: Add traces for TID operations 2017-06-27 16:58:13 -04:00
trace_mmu.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
trace_rc.h IB/rdmavt, IB/hfi1: Fix timer migration regressions 2017-04-05 14:45:09 -04:00
trace_rx.h IB/hf1: User context locking is inconsistent 2017-08-22 14:22:36 -04:00
trace_tx.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
uc.c IB/hfi1: Add 16B RC/UC support 2017-08-22 14:22:37 -04:00
ud.c IB/hfi1: Add 16B UD support 2017-08-22 14:22:37 -04:00
user_exp_rcv.c IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h 2017-08-28 19:12:22 -04:00
user_exp_rcv.h IB/hfi1: Move structure definitions from user_exp_rcv.c to user_exp_rcv.h 2017-08-28 19:12:22 -04:00
user_pages.c IB/hfi1: Virtual Network Interface Controller (VNIC) HW support 2017-04-20 15:19:35 -04:00
user_sdma.c IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
user_sdma.h IB/hif1: Remove static tracing from SDMA hot path 2017-08-28 19:12:27 -04:00
verbs.c IB/hfi1: Enable RDMA_CAP_OPA_AH in hfi driver to support extended LIDs 2017-08-22 14:22:37 -04:00
verbs.h IB/hfi1: Remove HFI1_VERBS_31BIT_PSN option 2017-08-22 14:22:38 -04:00
verbs_txreq.c IB/hfi1: Improve local kmem_cache_alloc performance 2017-08-28 19:12:18 -04:00
verbs_txreq.h IB/hfi1: Remove dependence on qp->s_cur_size 2016-12-11 15:25:13 -05:00
vnic.h IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
vnic_main.c IB/hfi1: Add support to receive 16B bypass packets 2017-08-22 14:22:37 -04:00
vnic_sdma.c IB/hfi1: Improve local kmem_cache_alloc performance 2017-08-28 19:12:18 -04:00