git: f373e6b866b9 - main - ciss: Add sysctl/tunable hw.ciss.verbose
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 14 Oct 2024 05:40:53 UTC
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=f373e6b866b9efafc66ccc5355e1ea0aeeedfb6a commit f373e6b866b9efafc66ccc5355e1ea0aeeedfb6a Author: Peter Eriksson <pen@lysator.liu.se> AuthorDate: 2024-10-14 04:01:33 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2024-10-14 05:23:17 +0000 ciss: Add sysctl/tunable hw.ciss.verbose Add tuneable to turn on/off verbosity for debugging purposes. This is approximately the same as bootverbose, but will print even more information when > 1. PR: 246279 Reviewed by: imp Tested by: Marek Zarychta Differential Revision: https://reviews.freebsd.org/D25155 --- sys/dev/ciss/ciss.c | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/sys/dev/ciss/ciss.c b/sys/dev/ciss/ciss.c index 06c7ed5f3318..168d1892e59d 100644 --- a/sys/dev/ciss/ciss.c +++ b/sys/dev/ciss/ciss.c @@ -252,6 +252,13 @@ SYSCTL_INT(_hw_ciss, OID_AUTO, base_transfer_speed, CTLFLAG_RDTUN, &ciss_base_transfer_speed, 0, "force a specific base transfer_speed"); +/* + * This tunable can be set to make the driver be more verbose + */ +static int ciss_verbose = 0; +SYSCTL_INT(_hw_ciss, OID_AUTO, verbose, CTLFLAG_RWTUN, &ciss_verbose, 0, + "enable verbose messages"); + /* * This tunable can be set at boot time and controls whether physical devices * that are marked hidden by the firmware should be exposed anyways. @@ -914,7 +921,7 @@ ciss_setup_msix(struct ciss_softc *sc) } sc->ciss_msi = val; - if (bootverbose) + if (bootverbose || ciss_verbose) ciss_printf(sc, "Using %d MSIX interrupt%s\n", val, (val != 1) ? "s" : ""); @@ -1132,7 +1139,7 @@ ciss_init_requests(struct ciss_softc *sc) debug_called(1); - if (bootverbose) + if (bootverbose || ciss_verbose) ciss_printf(sc, "using %d of %d available commands\n", sc->ciss_max_requests, sc->ciss_cfg->max_outstanding_commands); @@ -1264,13 +1271,22 @@ ciss_identify_adapter(struct ciss_softc *sc) if (sc->ciss_cfg->max_physical_supported == 0) sc->ciss_cfg->max_physical_supported = CISS_MAX_PHYSICAL; /* print information */ - if (bootverbose) { + if (bootverbose || ciss_verbose) { ciss_printf(sc, " %d logical drive%s configured\n", sc->ciss_id->configured_logical_drives, (sc->ciss_id->configured_logical_drives == 1) ? "" : "s"); ciss_printf(sc, " firmware %4.4s\n", sc->ciss_id->running_firmware_revision); ciss_printf(sc, " %d SCSI channels\n", sc->ciss_id->scsi_chip_count); + if (ciss_verbose > 1) { + ciss_printf(sc, " %d FC channels\n", sc->ciss_id->fibre_chip_count); + ciss_printf(sc, " %d enclosures\n", sc->ciss_id->bEnclosureCount); + ciss_printf(sc, " %d expanders\n", sc->ciss_id->bExpanderCount); + ciss_printf(sc, " maximum blocks: %d\n", sc->ciss_id->maximum_blocks); + ciss_printf(sc, " controller clock: %d\n", sc->ciss_id->controller_clock); + ciss_printf(sc, " %d MB controller memory\n", sc->ciss_id->total_controller_mem_mb); + } + ciss_printf(sc, " signature '%.4s'\n", sc->ciss_cfg->signature); ciss_printf(sc, " valence %d\n", sc->ciss_cfg->valence); ciss_printf(sc, " supported I/O methods 0x%b\n", @@ -1436,7 +1452,7 @@ ciss_init_logical(struct ciss_softc *sc) /* * Save logical drive information. */ - if (bootverbose) { + if (bootverbose || ciss_verbose) { ciss_printf(sc, "%d logical drive%s\n", ndrives, (ndrives > 1 || ndrives == 0) ? "s" : ""); } @@ -1511,7 +1527,7 @@ ciss_init_physical(struct ciss_softc *sc) nphys = (ntohl(cll->list_size) / sizeof(union ciss_device_address)); - if (bootverbose) { + if (bootverbose || ciss_verbose) { ciss_printf(sc, "%d physical device%s\n", nphys, (nphys > 1 || nphys == 0) ? "s" : ""); } @@ -1779,7 +1795,7 @@ ciss_identify_logical(struct ciss_softc *sc, struct ciss_ldrive *ld) /* * Print the drive's basic characteristics. */ - if (bootverbose) { + if (bootverbose || ciss_verbose) { ciss_printf(sc, "logical drive (b%dt%d): %s, %dMB ", CISS_LUN_TO_BUS(ld->cl_address.logical.lun), CISS_LUN_TO_TARGET(ld->cl_address.logical.lun),