Message ID | 164740403796.3912056.13648238900454640514.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | cxl/pci: Add fundamental error handling | expand |
On Tue, 15 Mar 2022 21:13:58 -0700 Dan Williams <dan.j.williams@intel.com> wrote: > The component registers are currently unused by the cxl_pci driver. > Only the physical address base of the component registers is conveyed to > the cxl_mem driver. Just call cxl_map_device_registers() directly. > > Signed-off-by: Dan Williams <dan.j.williams@intel.com> Makes sense. Not sure how we ended up with the unused component register handling. I guess code evolution... Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > drivers/cxl/pci.c | 23 +---------------------- > 1 file changed, 1 insertion(+), 22 deletions(-) > > diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c > index 994c79bf6afd..0efbb356cce0 100644 > --- a/drivers/cxl/pci.c > +++ b/drivers/cxl/pci.c > @@ -346,27 +346,6 @@ static int cxl_probe_regs(struct pci_dev *pdev, struct cxl_register_map *map) > return 0; > } > > -static int cxl_map_regs(struct cxl_dev_state *cxlds, struct cxl_register_map *map) > -{ > - struct device *dev = cxlds->dev; > - struct pci_dev *pdev = to_pci_dev(dev); > - > - switch (map->reg_type) { > - case CXL_REGLOC_RBI_COMPONENT: > - cxl_map_component_regs(pdev, &cxlds->regs.component, map); > - dev_dbg(dev, "Mapping component registers...\n"); > - break; > - case CXL_REGLOC_RBI_MEMDEV: > - cxl_map_device_regs(pdev, &cxlds->regs.device_regs, map); > - dev_dbg(dev, "Probing device registers...\n"); > - break; > - default: > - break; > - } > - > - return 0; > -} > - > static int cxl_setup_regs(struct pci_dev *pdev, enum cxl_regloc_type type, > struct cxl_register_map *map) > { > @@ -599,7 +578,7 @@ static int cxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > if (rc) > return rc; > > - rc = cxl_map_regs(cxlds, &map); > + rc = cxl_map_device_regs(pdev, &cxlds->regs.device_regs, &map); > if (rc) > return rc; > > >
On Thu, Mar 17, 2022 at 3:10 AM Jonathan Cameron <Jonathan.Cameron@huawei.com> wrote: > > On Tue, 15 Mar 2022 21:13:58 -0700 > Dan Williams <dan.j.williams@intel.com> wrote: > > > The component registers are currently unused by the cxl_pci driver. > > Only the physical address base of the component registers is conveyed to > > the cxl_mem driver. Just call cxl_map_device_registers() directly. > > > > Signed-off-by: Dan Williams <dan.j.williams@intel.com> > Makes sense. Not sure how we ended up with the unused component register > handling. I guess code evolution... Yeah, this happened when the cxl_port and cxl_mem drivers split the responsibility of those blocks to downstream drivers. > > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > > --- > > drivers/cxl/pci.c | 23 +---------------------- > > 1 file changed, 1 insertion(+), 22 deletions(-) > > > > diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c > > index 994c79bf6afd..0efbb356cce0 100644 > > --- a/drivers/cxl/pci.c > > +++ b/drivers/cxl/pci.c > > @@ -346,27 +346,6 @@ static int cxl_probe_regs(struct pci_dev *pdev, struct cxl_register_map *map) > > return 0; > > } > > > > -static int cxl_map_regs(struct cxl_dev_state *cxlds, struct cxl_register_map *map) > > -{ > > - struct device *dev = cxlds->dev; > > - struct pci_dev *pdev = to_pci_dev(dev); > > - > > - switch (map->reg_type) { > > - case CXL_REGLOC_RBI_COMPONENT: > > - cxl_map_component_regs(pdev, &cxlds->regs.component, map); > > - dev_dbg(dev, "Mapping component registers...\n"); > > - break; > > - case CXL_REGLOC_RBI_MEMDEV: > > - cxl_map_device_regs(pdev, &cxlds->regs.device_regs, map); > > - dev_dbg(dev, "Probing device registers...\n"); > > - break; > > - default: > > - break; > > - } > > - > > - return 0; > > -} > > - > > static int cxl_setup_regs(struct pci_dev *pdev, enum cxl_regloc_type type, > > struct cxl_register_map *map) > > { > > @@ -599,7 +578,7 @@ static int cxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) > > if (rc) > > return rc; > > > > - rc = cxl_map_regs(cxlds, &map); > > + rc = cxl_map_device_regs(pdev, &cxlds->regs.device_regs, &map); > > if (rc) > > return rc; > > > > > > >
diff --git a/drivers/cxl/pci.c b/drivers/cxl/pci.c index 994c79bf6afd..0efbb356cce0 100644 --- a/drivers/cxl/pci.c +++ b/drivers/cxl/pci.c @@ -346,27 +346,6 @@ static int cxl_probe_regs(struct pci_dev *pdev, struct cxl_register_map *map) return 0; } -static int cxl_map_regs(struct cxl_dev_state *cxlds, struct cxl_register_map *map) -{ - struct device *dev = cxlds->dev; - struct pci_dev *pdev = to_pci_dev(dev); - - switch (map->reg_type) { - case CXL_REGLOC_RBI_COMPONENT: - cxl_map_component_regs(pdev, &cxlds->regs.component, map); - dev_dbg(dev, "Mapping component registers...\n"); - break; - case CXL_REGLOC_RBI_MEMDEV: - cxl_map_device_regs(pdev, &cxlds->regs.device_regs, map); - dev_dbg(dev, "Probing device registers...\n"); - break; - default: - break; - } - - return 0; -} - static int cxl_setup_regs(struct pci_dev *pdev, enum cxl_regloc_type type, struct cxl_register_map *map) { @@ -599,7 +578,7 @@ static int cxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) if (rc) return rc; - rc = cxl_map_regs(cxlds, &map); + rc = cxl_map_device_regs(pdev, &cxlds->regs.device_regs, &map); if (rc) return rc;
The component registers are currently unused by the cxl_pci driver. Only the physical address base of the component registers is conveyed to the cxl_mem driver. Just call cxl_map_device_registers() directly. Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- drivers/cxl/pci.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-)