2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00

cxl/pci: Drop the parameter is_port of cxl_gpf_get_dvsec()

The first parameter of cxl_gpf_get_dvsec() is a struct device, can be
used to distinguish if the device is a cxl dport or a cxl pci device by
checking the PCIe type of it, so the parameter is_port is unnecessary
to cxl_gpf_get_dvsec(), using parameter struct device is enough.

Signed-off-by: Li Ming <ming.li@zohomail.com>
Reviewed-by: Davidlohr Bueso <dave@stgolabs.net>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Tested-by: Davidlohr Bueso <dave@stgolabs.net>
Link: https://patch.msgid.link/20250323093110.233040-4-ming.li@zohomail.com
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
This commit is contained in:
Li Ming 2025-03-23 17:31:10 +08:00 committed by Dave Jiang
parent 6af941db6a
commit 36aace15d9
3 changed files with 11 additions and 5 deletions

View File

@ -1072,14 +1072,20 @@ int cxl_pci_get_bandwidth(struct pci_dev *pdev, struct access_coordinate *c)
#define GPF_TIMEOUT_BASE_MAX 2 #define GPF_TIMEOUT_BASE_MAX 2
#define GPF_TIMEOUT_SCALE_MAX 7 /* 10 seconds */ #define GPF_TIMEOUT_SCALE_MAX 7 /* 10 seconds */
u16 cxl_gpf_get_dvsec(struct device *dev, bool is_port) u16 cxl_gpf_get_dvsec(struct device *dev)
{ {
struct pci_dev *pdev;
bool is_port = true;
u16 dvsec; u16 dvsec;
if (!dev_is_pci(dev)) if (!dev_is_pci(dev))
return 0; return 0;
dvsec = pci_find_dvsec_capability(to_pci_dev(dev), PCI_VENDOR_ID_CXL, pdev = to_pci_dev(dev);
if (pci_pcie_type(pdev) == PCI_EXP_TYPE_ENDPOINT)
is_port = false;
dvsec = pci_find_dvsec_capability(pdev, PCI_VENDOR_ID_CXL,
is_port ? CXL_DVSEC_PORT_GPF : CXL_DVSEC_DEVICE_GPF); is_port ? CXL_DVSEC_PORT_GPF : CXL_DVSEC_DEVICE_GPF);
if (!dvsec) if (!dvsec)
dev_warn(dev, "%s GPF DVSEC not present\n", dev_warn(dev, "%s GPF DVSEC not present\n",
@ -1137,7 +1143,7 @@ int cxl_gpf_port_setup(struct cxl_dport *dport)
struct pci_dev *pdev; struct pci_dev *pdev;
int dvsec; int dvsec;
dvsec = cxl_gpf_get_dvsec(dport->dport_dev, true); dvsec = cxl_gpf_get_dvsec(dport->dport_dev);
if (!dvsec) if (!dvsec)
return -EINVAL; return -EINVAL;

View File

@ -910,6 +910,6 @@ bool cxl_endpoint_decoder_reset_detected(struct cxl_port *port);
#define __mock static #define __mock static
#endif #endif
u16 cxl_gpf_get_dvsec(struct device *dev, bool is_port); u16 cxl_gpf_get_dvsec(struct device *dev);
#endif /* __CXL_H__ */ #endif /* __CXL_H__ */

View File

@ -108,7 +108,7 @@ static void cxl_nvdimm_arm_dirty_shutdown_tracking(struct cxl_nvdimm *cxl_nvd)
return; return;
} }
if (!cxl_gpf_get_dvsec(cxlds->dev, false)) if (!cxl_gpf_get_dvsec(cxlds->dev))
return; return;
if (cxl_get_dirty_count(mds, &count)) { if (cxl_get_dirty_count(mds, &count)) {