git: 51f8ac224f3b - main - pci_host_generic: Include the bridge's device name in rman descriptions
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 14 Feb 2024 22:52:41 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=51f8ac224f3b87555ea17c7e7c4015a2a2b8b191 commit 51f8ac224f3b87555ea17c7e7c4015a2a2b8b191 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2024-02-14 22:07:32 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2024-02-14 22:07:32 +0000 pci_host_generic: Include the bridge's device name in rman descriptions The rman description strings now match those used in the PCI-PCI bridge driver. Using more specific names removes ambiguity in devinfo -u output on systems with multiple host to PCI bridges. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D43890 --- sys/dev/pci/pci_host_generic.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/sys/dev/pci/pci_host_generic.c b/sys/dev/pci/pci_host_generic.c index 43b6d26e9217..02ca010a14d7 100644 --- a/sys/dev/pci/pci_host_generic.c +++ b/sys/dev/pci/pci_host_generic.c @@ -83,6 +83,7 @@ pci_host_generic_core_attach(device_t dev) uint64_t phys_base; uint64_t pci_base; uint64_t size; + char buf[64]; int domain, error; int rid, tuple; @@ -135,13 +136,19 @@ pci_host_generic_core_attach(device_t dev) sc->has_pmem = false; sc->pmem_rman.rm_type = RMAN_ARRAY; - sc->pmem_rman.rm_descr = "PCIe Prefetch Memory"; + snprintf(buf, sizeof(buf), "%s prefetch window", + device_get_nameunit(dev)); + sc->pmem_rman.rm_descr = strdup(buf, M_DEVBUF); sc->mem_rman.rm_type = RMAN_ARRAY; - sc->mem_rman.rm_descr = "PCIe Memory"; + snprintf(buf, sizeof(buf), "%s memory window", + device_get_nameunit(dev)); + sc->mem_rman.rm_descr = strdup(buf, M_DEVBUF); sc->io_rman.rm_type = RMAN_ARRAY; - sc->io_rman.rm_descr = "PCIe IO window"; + snprintf(buf, sizeof(buf), "%s I/O port window", + device_get_nameunit(dev)); + sc->io_rman.rm_descr = strdup(buf, M_DEVBUF); /* Initialize rman and allocate memory regions */ error = rman_init(&sc->pmem_rman); @@ -201,6 +208,9 @@ err_io_rman: err_mem_rman: rman_fini(&sc->pmem_rman); err_pmem_rman: + free(__DECONST(char *, sc->io_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->mem_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->pmem_rman.rm_descr), M_DEVBUF); if (sc->res != NULL) bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); err_resource: @@ -223,6 +233,9 @@ pci_host_generic_core_detach(device_t dev) rman_fini(&sc->io_rman); rman_fini(&sc->mem_rman); rman_fini(&sc->pmem_rman); + free(__DECONST(char *, sc->io_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->mem_rman.rm_descr), M_DEVBUF); + free(__DECONST(char *, sc->pmem_rman.rm_descr), M_DEVBUF); if (sc->res != NULL) bus_release_resource(dev, SYS_RES_MEMORY, 0, sc->res); bus_dma_tag_destroy(sc->dmat);