OpenCloudOS-Kernel/drivers/cxl
Ben Widawsky 229e8828c2 cxl/pci: Implement Interface Ready Timeout
The original driver implementation used the doorbell timeout for the
Mailbox Interface Ready bit to piggy back off of, since the latter does
not have a defined timeout. This functionality, introduced in commit
8adaf747c9 ("cxl/mem: Find device capabilities"), needs improvement as
the recent "Add Mailbox Ready Time" ECN timeout indicates that the
mailbox ready time can be significantly longer that 2 seconds.

While the specification limits the maximum timeout to 256s, the cxl_pci
driver gives up on the mailbox after 60s. This value corresponds with
important timeout values already present in the kernel. A module
parameter is provided as an emergency override and represents the
default Linux policy for all devices.

Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
[djbw: add modparam, drop check_device_status()]
Co-developed-by: Dan Williams <dan.j.williams@intel.com>
Link: https://lore.kernel.org/r/164367306565.208548.1932299464604450843.stgit@dwillia2-desk3.amr.corp.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2022-02-08 22:57:27 -08:00
..
core cxl/core: Remove cxld_const_init in cxl_decoder_alloc() 2022-01-04 17:29:31 -08:00
Kconfig cxl: Rename CXL_MEM to CXL_PCI 2022-02-08 22:57:27 -08:00
Makefile cxl: Rename CXL_MEM to CXL_PCI 2022-02-08 22:57:27 -08:00
acpi.c ACPI: NUMA: Add a node and memblk for each CFMWS not in SRAT 2021-11-15 11:03:00 -08:00
cxl.h cxl/core: Remove cxld_const_init in cxl_decoder_alloc() 2022-01-04 17:29:31 -08:00
cxlmem.h cxl/memdev: Remove unused cxlmd field 2021-11-15 11:02:59 -08:00
pci.c cxl/pci: Implement Interface Ready Timeout 2022-02-08 22:57:27 -08:00
pci.h cxl/pci: Convert register block identifiers to an enum 2021-10-29 11:53:51 -07:00
pmem.c cxl/pmem: Fix module reload vs workqueue state 2021-11-15 11:03:00 -08:00