diff options
author | Sherry Moore <Sherry.Moore@Sun.COM> | 2008-09-22 16:30:26 -0700 |
---|---|---|
committer | Sherry Moore <Sherry.Moore@Sun.COM> | 2008-09-22 16:30:26 -0700 |
commit | 193974072f41a843678abf5f61979c748687e66b (patch) | |
tree | e3ecefacab3ff99bf48c8bf91fbb4306a6dbcbf5 /usr/src | |
parent | 0679f7940009223c7b2cee3abbea957e8dbccd26 (diff) | |
download | illumos-joyent-193974072f41a843678abf5f61979c748687e66b.tar.gz |
PSARC 2008/382 Fast Reboot
6714038 Fast Reboot support for x86 platforms
Diffstat (limited to 'usr/src')
426 files changed, 16053 insertions, 11989 deletions
diff --git a/usr/src/cmd/boot/bootadm/bootadm.c b/usr/src/cmd/boot/bootadm/bootadm.c index e78f257cae..9f0ed6fd93 100644 --- a/usr/src/cmd/boot/bootadm/bootadm.c +++ b/usr/src/cmd/boot/bootadm/bootadm.c @@ -322,6 +322,8 @@ struct safefile { static struct safefile *safefiles = NULL; #define NEED_UPDATE_FILE "/etc/svc/volatile/boot_archive_needs_update" +static int sync_menu = 1; /* whether we need to sync the BE menus */ + static void usage(void) { @@ -616,6 +618,19 @@ check_subcmd_and_options( usage(); return (BAM_ERROR); } + } else if (strcmp(subcmd, "update_all") == 0) { + /* + * The only option we accept for the "update_all" + * subcmd is "fastboot". + */ + if (bam_argc > 1 || (bam_argc == 1 && + strcmp(bam_argv[0], "fastboot") != 0)) { + bam_error(TRAILING_ARGS); + usage(); + return (BAM_ERROR); + } + if (bam_argc == 1) + sync_menu = 0; } else if (bam_argc || bam_argv) { bam_error(TRAILING_ARGS); usage(); @@ -2456,7 +2471,7 @@ out: * If user has updated menu in current BE, propagate the * updates to all BEs. */ - if (synchronize_BE_menu() != BAM_SUCCESS) + if (sync_menu && synchronize_BE_menu() != BAM_SUCCESS) ret = BAM_ERROR; return (ret); diff --git a/usr/src/cmd/halt/Makefile b/usr/src/cmd/halt/Makefile index cc34b06401..135e8fee26 100644 --- a/usr/src/cmd/halt/Makefile +++ b/usr/src/cmd/halt/Makefile @@ -2,9 +2,8 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the -# Common Development and Distribution License, Version 1.0 only -# (the "License"). You may not use this file except in compliance -# with the License. +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,9 @@ # CDDL HEADER END # # -# Copyright 2004 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# PROG = halt ROOTLINKS = $(ROOTUSRSBIN)/poweroff $(ROOTUSRSBIN)/reboot @@ -41,7 +38,10 @@ GROUP = bin all: $(PROG) -LDLIBS += -lbsm -lscf +CPPFLAGS += -I../../lib/libzpool/common +CPPFLAGS += -I../../uts/common/fs/zfs + +LDLIBS += -lbsm -lscf -lzfs -lgen install: all $(ROOTUSRSBINPROG) $(ROOTLINKS) $(ROOTSYMLINKS) diff --git a/usr/src/cmd/halt/halt.c b/usr/src/cmd/halt/halt.c index d69809ae27..ee42e86356 100644 --- a/usr/src/cmd/halt/halt.c +++ b/usr/src/cmd/halt/halt.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -36,22 +36,29 @@ * contributors. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Common code for halt(1M), poweroff(1M), and reboot(1M). We use * argv[0] to determine which behavior to exhibit. */ +#include <stdio.h> #include <procfs.h> #include <sys/types.h> +#include <sys/elf.h> +#include <sys/systeminfo.h> +#include <sys/stat.h> #include <sys/uadmin.h> +#include <sys/mntent.h> +#include <sys/mnttab.h> +#include <sys/mount.h> #include <alloca.h> #include <assert.h> #include <errno.h> #include <fcntl.h> #include <libgen.h> #include <libscf.h> +#include <limits.h> #include <locale.h> #include <libintl.h> #include <syslog.h> @@ -65,10 +72,21 @@ #include <utmpx.h> #include <pwd.h> #include <zone.h> + +#include <libzfs.h> + #if !defined(TEXT_DOMAIN) #define TEXT_DOMAIN "SYS_TEST" #endif +#if defined(__sparc) +#define CUR_ELFDATA ELFDATA2MSB +#elif defined(__i386) +#define CUR_ELFDATA ELFDATA2LSB +#endif + +static libzfs_handle_t *g_zfs; + extern int audit_halt_setup(int, char **); extern int audit_halt_success(void); extern int audit_halt_fail(void); @@ -92,6 +110,16 @@ static ctid_t startdct = -1; #define ZONEADM_PROG "/usr/sbin/zoneadm" +/* + * The length of FASTBOOT_MOUNTPOINT must be less than MAXPATHLEN. + */ +#define FASTBOOT_MOUNTPOINT "/tmp/.fastboot.root" + +static char fastboot_mounted[MAXPATHLEN]; + +static int validate_ufs_disk(char *, char *); +static int validate_zfs_pool(char *, char *); + static pid_t get_initpid() { @@ -494,19 +522,566 @@ check_zones_haltedness() } while ((t < 30) && (t_prog < 5)); } + +/* + * Validate that this is a root disk or dataset + * Returns 0 if it is a root disk or dataset; + * returns 1 if it is a disk argument or dataset, but not valid or not root; + * returns -1 if it is not a valid argument or a disk argument. + */ +static int +validate_disk(char *arg, char *mountpoint) +{ + static char root_dev_path[] = "/dev/dsk"; + char kernpath[MAXPATHLEN]; + struct stat buf; + struct stat64 statbuf; + int rc = 0; + + if (strlen(arg) > MAXPATHLEN) { + (void) fprintf(stderr, + gettext("%s: argument is too long\n"), cmdname); + return (-1); + } + + bcopy(FASTBOOT_MOUNTPOINT, mountpoint, sizeof (FASTBOOT_MOUNTPOINT)); + + /* + * Do a force umount just in case some other filesystem has + * been mounted there. + */ + (void) umount2(mountpoint, MS_FORCE); + + /* Create the directory if it doesn't already exist */ + if (lstat(mountpoint, &buf) != 0) { + if (mkdirp(mountpoint, 0755) != 0) { + (void) fprintf(stderr, + gettext("failed to create mountpoint %s\n"), + mountpoint); + return (-1); + } + } + + if (strncmp(arg, root_dev_path, strlen(root_dev_path)) == 0) { + /* ufs root disk argument */ + rc = validate_ufs_disk(arg, mountpoint); + } else { + /* zfs root pool argument */ + rc = validate_zfs_pool(arg, mountpoint); + } + + if (rc != 0) + return (rc); + + (void) snprintf(kernpath, MAXPATHLEN, "%s/platform/i86pc/kernel/unix", + mountpoint); + + if (stat64(kernpath, &statbuf) != 0) { + (void) fprintf(stderr, + gettext("%s: %s is not a root disk or dataset\n"), + cmdname, arg); + return (1); + } + + return (0); +} + + +static int +validate_ufs_disk(char *arg, char *mountpoint) +{ + char mntopts[MNT_LINE_MAX] = { '\0' }; + + /* perform the mount */ + if (mount(arg, mountpoint, MS_DATA|MS_OPTIONSTR, + MNTTYPE_UFS, NULL, 0, mntopts, sizeof (mntopts)) != 0) { + perror(cmdname); + (void) fprintf(stderr, + gettext("%s: failed to mount %s\n"), cmdname, arg); + return (-1); + } + + return (0); +} + +static int +validate_zfs_pool(char *arg, char *mountpoint) +{ + zfs_handle_t *zhp = NULL; + char mntopts[MNT_LINE_MAX] = { '\0' }; + int rc = 0; + + if ((g_zfs = libzfs_init()) == NULL) { + (void) fprintf(stderr, gettext("internal error: failed to " + "initialize ZFS library\n")); + return (-1); + } + + /* Try to open the dataset */ + if ((zhp = zfs_open(g_zfs, arg, + ZFS_TYPE_FILESYSTEM | ZFS_TYPE_DATASET)) == NULL) + return (-1); + + /* perform the mount */ + if (mount(zfs_get_name(zhp), mountpoint, MS_DATA|MS_OPTIONSTR, + MNTTYPE_ZFS, NULL, 0, mntopts, sizeof (mntopts)) != 0) { + perror(cmdname); + (void) fprintf(stderr, + gettext("%s: failed to mount %s\n"), cmdname, arg); + rc = -1; + } + +validate_zfs_err_out: + if (zhp != NULL) + zfs_close(zhp); + + libzfs_fini(g_zfs); + return (rc); +} + +/* + * Return 0 if not zfs, or is zfs and have successfully constructed the + * boot argument; returns non-zero otherwise. + * At successful completion fpth contains pointer where mount point ends. + * NOTE: arg is supposed to be the resolved path + */ +static int +get_zfs_bootfs_arg(const char *arg, const char ** fpth, int *is_zfs, + char *bootfs_arg) +{ + zfs_handle_t *zhp = NULL; + zpool_handle_t *zpoolp = NULL; + FILE *mtabp = NULL; + struct mnttab mnt; + char *poolname = NULL; + char physpath[MAXNAMELEN]; + char mntsp[ZPOOL_MAXNAMELEN]; + char bootfs[ZPOOL_MAXNAMELEN]; + int rc = 0; + size_t mntlen = 0; + size_t msz; + + *fpth = arg; + *is_zfs = 0; + + bzero(physpath, sizeof (physpath)); + bzero(bootfs, sizeof (bootfs)); + + if ((mtabp = fopen(MNTTAB, "r")) == NULL) { + return (-1); + } + + while (getmntent(mtabp, &mnt) == 0) { + if (strstr(arg, mnt.mnt_mountp) == arg && + (msz = strlen(mnt.mnt_mountp)) > mntlen) { + mntlen = msz; + *is_zfs = strcmp(MNTTYPE_ZFS, mnt.mnt_fstype) == 0; + (void) strlcpy(mntsp, mnt.mnt_special, sizeof (mntsp)); + } + } + + (void) fclose(mtabp); + + if (mntlen > 1) + *fpth += mntlen; + + if (!*is_zfs) + return (0); + + if ((g_zfs = libzfs_init()) == NULL) + return (-1); + + /* Try to open the dataset */ + if ((zhp = zfs_open(g_zfs, mntsp, + ZFS_TYPE_FILESYSTEM | ZFS_TYPE_DATASET)) == NULL) { + (void) fprintf(stderr, gettext("cannot open %s\n"), mntsp); + rc = -1; + goto validate_zfs_err_out; + } + + (void) strlcpy(bootfs, mntsp, sizeof (bootfs)); + + if ((poolname = strtok(mntsp, "/")) == NULL) { + rc = -1; + goto validate_zfs_err_out; + } + + if ((zpoolp = zpool_open(g_zfs, poolname)) == NULL) { + (void) fprintf(stderr, gettext("cannot open %s\n"), poolname); + rc = -1; + goto validate_zfs_err_out; + } + + if (zpool_get_physpath(zpoolp, physpath) != 0) { + (void) fprintf(stderr, gettext("cannot find phys_path\n")); + rc = -1; + goto validate_zfs_err_out; + } + + if (zpool_set_prop(zpoolp, "bootfs", bootfs) != 0) { + (void) fprintf(stderr, gettext("cannot set bootfs to %s\n"), + bootfs); + rc = -1; + goto validate_zfs_err_out; + } + + (void) snprintf(bootfs_arg, BOOTARGS_MAX, + "-B zfs-bootfs=%s,bootpath=\"%s\"", bootfs, physpath); + +validate_zfs_err_out: + if (zhp != NULL) + zfs_close(zhp); + + if (zpoolp != NULL) + zpool_close(zpoolp); + + libzfs_fini(g_zfs); + return (rc); +} + +/* + * Validate that the file exists, and is an ELF file. + * Returns 0 on success, -1 on failure. + */ +static int +validate_unix(char *arg, int *mplen, int *is_zfs, char *bootfs_arg, + int *failsafe) +{ + const char *location; + int class, format; + unsigned char ident[EI_NIDENT]; + char physpath[MAXPATHLEN]; + int elffd = -1; + size_t sz; + + if ((sz = resolvepath(arg, physpath, sizeof (physpath) - 1)) == + (size_t)-1) { + (void) fprintf(stderr, + gettext("cannot resolve path for %s: %s\n"), + arg, strerror(errno)); + return (-1); + } + (void) strlcpy(arg, physpath, sz + 1); + + if (strlen(arg) > MAXPATHLEN) { + (void) fprintf(stderr, + gettext("%s: new kernel name is too long\n"), cmdname); + return (-1); + } + + if (strncmp(basename(arg), "unix", 4) != 0) { + (void) fprintf(stderr, + gettext("%s: %s: kernel name must be unix\n"), + cmdname, arg); + return (-1); + } + + if (get_zfs_bootfs_arg(arg, &location, is_zfs, bootfs_arg) != 0) + goto err_out; + + *mplen = location - arg; + + if ((strstr(location, "/boot/platform")) == location) + *failsafe = 1; + else if ((strstr(location, "/platform")) == location) + *failsafe = 0; + else { + (void) fprintf(stderr, + gettext("%s: %s: no /boot/platform or /platform in" + " file name\n"), cmdname, arg); + goto err_out; + } + + if ((elffd = open64(arg, O_RDONLY)) < 0 || + (pread64(elffd, ident, EI_NIDENT, 0) != EI_NIDENT)) { + (void) fprintf(stderr, "%s: %s: %s\n", + cmdname, arg, strerror(errno)); + goto err_out; + } + + class = ident[EI_CLASS]; + + if ((class != ELFCLASS32 && class != ELFCLASS64) || + ident[EI_MAG0] != ELFMAG0 || ident[EI_MAG1] != ELFMAG1 || + ident[EI_MAG2] != ELFMAG2 || ident[EI_MAG3] != ELFMAG3) { + (void) fprintf(stderr, + gettext("%s: %s: not a valid ELF file\n"), + cmdname, arg); + goto err_out; + } + + format = ident[EI_DATA]; + + if (format != CUR_ELFDATA) { + (void) fprintf(stderr, gettext("%s: %s: invalid data format\n"), + cmdname, arg); + goto err_out; + } + + return (0); + +err_out: + if (elffd >= 0) { + (void) close(elffd); + elffd = -1; + } + return (-1); +} + +#ifndef __i386 +/* ARGSUSED */ +#endif /* __i386 */ +static int +is_fastboot_default(uid_t uid) +{ +#if defined(__i386) + int ret; + struct stat st; + static const char fastboot_default[] = "/etc/fastreboot"; + + ret = (lstat(fastboot_default, &st) == 0 && + S_ISREG(st.st_mode) && + (st.st_mode & S_IRUSR) != 0 && + uid == st.st_uid); + + return (ret); +#else + return (0); +#endif /* __i386 */ +} + +static int +fastboot_bename(const char *bename, char *mountpoint, size_t mpsz) +{ + int rc; + char cmdbuf[MAXPATHLEN]; + + (void) snprintf(cmdbuf, sizeof (cmdbuf), + "/usr/sbin/luumount %s > /dev/null 2>&1", bename); + (void) system(cmdbuf); + + (void) snprintf(cmdbuf, sizeof (cmdbuf), + "/usr/sbin/lumount %s %s > /dev/null 2>&1", + bename, FASTBOOT_MOUNTPOINT); + if ((rc = system(cmdbuf)) != 0) + (void) fprintf(stderr, gettext("%s: cannot mount BE %s\n"), + cmdname, bename); + else + (void) strlcpy(mountpoint, FASTBOOT_MOUNTPOINT, mpsz); + + return (rc); +} + +/* + * Returns 0 on successful parsing of the arguments; + * retuens non-zero on failure. + */ +static int +parse_fastboot_args(char *bootargs_buf, int *is_dryrun, const char *bename, + int *failsafe) +{ + char mountpoint[MAXPATHLEN]; + char bootargs_saved[BOOTARGS_MAX]; + char bootargs_scratch[BOOTARGS_MAX]; + char bootfs_arg[BOOTARGS_MAX]; + char unixfile[BOOTARGS_MAX]; + char *head, *newarg; + int buflen; /* length of the bootargs_buf */ + int mplen; /* length of the mount point */ + int rootlen = 0; /* length of the root argument */ + int unixlen = 0; /* length of the unix argument */ + int off = 0; /* offset into the new boot argument */ + int is_zfs = 0; + int rc = 0; + + bzero(mountpoint, sizeof (mountpoint)); + + /* + * If argc is not 0, buflen is length of the argument being passed in; + * else it is 0 as bootargs_buf has been initialized to all 0's. + */ + buflen = strlen(bootargs_buf); + + /* Save a copy of the original argument */ + bcopy(bootargs_buf, bootargs_saved, buflen); + bzero(&bootargs_saved[buflen], sizeof (bootargs_saved) - buflen); + + /* Save another copy to be used by strtok */ + bcopy(bootargs_buf, bootargs_scratch, buflen); + bzero(&bootargs_scratch[buflen], sizeof (bootargs_scratch) - buflen); + head = &bootargs_scratch[0]; + + /* Zero out the boot argument buffer as we will reconstruct it */ + bzero(bootargs_buf, BOOTARGS_MAX); + bzero(bootfs_arg, BOOTARGS_MAX); + bzero(unixfile, sizeof (unixfile)); + + /* Get the first argument */ + newarg = strtok(bootargs_scratch, " "); + + /* + * If this is a dry run request, verify that the drivers can handle + * fast reboot. + */ + if (newarg && strncasecmp(newarg, "dryrun", strlen("dryrun")) == 0) { + *is_dryrun = 1; + (void) system("/usr/sbin/devfsadm"); + } + + /* + * Always perform a dry run to identify all the drivers that + * need to implement devo_reset(). + */ + if (uadmin(A_SHUTDOWN, AD_FASTREBOOT_DRYRUN, + (uintptr_t)bootargs_saved) != 0) { + (void) fprintf(stderr, gettext("%s: not all drivers " + "have implemented quiesce(9E)\n"), cmdname); + } else if (*is_dryrun) { + (void) fprintf(stderr, gettext("%s: all drivers have " + "implemented quiesce(9E)\n"), cmdname); + } + + /* + * Return if it is a true dry run. + */ + if (*is_dryrun) + return (rc); + + if (bename && (rc = fastboot_bename(bename, mountpoint, + sizeof (mountpoint))) != 0) + return (rc); + + /* + * If BE is not specified, look for disk argument to construct + * mountpoint; if BE has been specified, mountpoint has already been + * constructed. + */ + if (newarg && newarg[0] != '-' && !bename) { + int tmprc; + + if ((tmprc = validate_disk(newarg, mountpoint)) == 0) { + /* + * The first argument is a valid root argument. + * Get the next argument. + */ + newarg = strtok(NULL, " "); + rootlen = (newarg) ? (newarg - head) : buflen; + (void) strlcpy(fastboot_mounted, mountpoint, + sizeof (fastboot_mounted)); + + } else if (tmprc == -1) { + /* + * Not a disk argument. Use / as default root. + */ + bcopy("/", mountpoint, 1); + bzero(&mountpoint[1], sizeof (mountpoint) - 1); + } else { + /* + * Disk argument, but not valid or not root. + * Return failure. + */ + return (EINVAL); + } + } + + /* + * Make mountpoint the first part of unixfile. + * If there is not disk argument, and BE has not been specified, + * mountpoint could be empty. + */ + mplen = strlen(mountpoint); + bcopy(mountpoint, unixfile, mplen); + + /* + * Look for unix argument + */ + if (newarg && newarg[0] != '-') { + bcopy(newarg, &unixfile[mplen], strlen(newarg)); + newarg = strtok(NULL, " "); + rootlen = (newarg) ? (newarg - head) : buflen; + } else if (mplen != 0) { + /* + * No unix argument, but mountpoint is not empty, use + * /platform/i86pc/$ISADIR/kernel/unix as default. + */ + char isa[20]; + + if (sysinfo(SI_ARCHITECTURE_64, isa, sizeof (isa)) != -1) + (void) snprintf(&unixfile[mplen], + sizeof (unixfile) - mplen, + "/platform/i86pc/kernel/%s/unix", isa); + else if (sysinfo(SI_ARCHITECTURE_32, isa, sizeof (isa)) != -1) { + (void) snprintf(&unixfile[mplen], + sizeof (unixfile) - mplen, + "/platform/i86pc/kernel/unix"); + } else { + (void) fprintf(stderr, + gettext("%s: unknown architecture"), cmdname); + return (EINVAL); + } + } + + /* + * We now have the complete unix argument. Verify that it exists and + * is an ELF file. Split the argument up into mountpoint and unix + * portions again. This is necessary to handle cases where mountpoint + * is specified on the command line as part of the unix argument, + * such as this: + * # reboot -f /.alt/platform/i86pc/kernel/amd64/unix + */ + unixlen = strlen(unixfile); + if (unixlen > 0) { + if (validate_unix(unixfile, &mplen, &is_zfs, + bootfs_arg, failsafe) != 0) { + /* Not a valid unix file */ + return (EINVAL); + } else { + /* + * Construct boot argument. + */ + unixlen = strlen(unixfile); + bcopy(unixfile, bootargs_buf, mplen); + (void) strcat(bootargs_buf, " "); + bcopy(&unixfile[mplen], &bootargs_buf[mplen + 1], + unixlen - mplen); + (void) strcat(bootargs_buf, " "); + off += unixlen + 2; + } + } else { + /* Check to see if root is zfs */ + const char *dp; + (void) get_zfs_bootfs_arg("/", &dp, &is_zfs, bootfs_arg); + } + + if (is_zfs && (buflen != 0 || bename != NULL)) { + /* LINTED E_SEC_SPRINTF_UNBOUNDED_COPY */ + off += sprintf(bootargs_buf + off, "%s ", bootfs_arg); + } + + /* + * Copy the rest of the arguments + */ + bcopy(&bootargs_saved[rootlen], &bootargs_buf[off], buflen - rootlen); + + return (rc); +} + int main(int argc, char *argv[]) { char *ttyn = ttyname(STDERR_FILENO); + uid_t euid; int qflag = 0, needlog = 1, nosync = 0; + int fast_reboot = 0; uintptr_t mdep = NULL; int cmd, fcn, c, aval, r; const char *usage; zoneid_t zoneid = getzoneid(); int need_check_zones = 0; - char bootargs_buf[BOOTARGS_MAX]; + int failsafe = 0; + char *bename = NULL; const char * const resetting = "/etc/svc/volatile/resetting"; @@ -527,7 +1102,11 @@ main(int argc, char *argv[]) fcn = AD_POWEROFF; } else if (strcmp(cmdname, "reboot") == 0) { (void) audit_reboot_setup(); +#if defined(__i386) + usage = gettext("usage: %s [ -dlnqfe: ] [ boot args ]\n"); +#else usage = gettext("usage: %s [ -dlnq ] [ boot args ]\n"); +#endif cmd = A_SHUTDOWN; fcn = AD_BOOT; } else { @@ -536,7 +1115,7 @@ main(int argc, char *argv[]) return (1); } - while ((c = getopt(argc, argv, "dlnqy")) != EOF) { + while ((c = getopt(argc, argv, "dlnqyfe:")) != EOF) { switch (c) { case 'd': if (zoneid == GLOBAL_ZONEID) @@ -560,6 +1139,14 @@ main(int argc, char *argv[]) case 'y': ttyn = NULL; break; +#if defined(__i386) + case 'f': + fast_reboot = 1; + break; + case 'e': + bename = optarg; + break; +#endif default: /* * TRANSLATION_NOTE @@ -586,15 +1173,73 @@ main(int argc, char *argv[]) gettext("%s: Boot arguments too long.\n"), cmdname); return (1); } + mdep = (uintptr_t)bootargs_buf; + } else { + /* + * Initialize it to 0 in case of fastboot, the buffer + * will be used. + */ + bzero(bootargs_buf, sizeof (bootargs_buf)); } - if (geteuid() != 0) { + if ((euid = geteuid()) != 0) { (void) fprintf(stderr, gettext("%s: permission denied\n"), cmdname); goto fail; } + /* + * Check whether fast reboot is the default operating mode + */ + if (!fast_reboot) + fast_reboot = is_fastboot_default(euid); + + if (bename && !fast_reboot) { + (void) fprintf(stderr, gettext("%s: -e only valid with -f\n"), + cmdname); + return (EINVAL); + } + + + /* + * If fast reboot, do some sanity check on the argument + */ + if (fast_reboot) { + int rc; + int is_dryrun = 0; + + if (zoneid != GLOBAL_ZONEID) { + (void) fprintf(stderr, + gettext("%s: fast reboot only valid from global" + " zone\n"), cmdname); + return (EINVAL); + } + + rc = parse_fastboot_args(bootargs_buf, &is_dryrun, + bename, &failsafe); + + /* + * If dry run, or if arguments are invalid, return. + */ + if (is_dryrun) + return (rc); + else if (rc != 0) + goto fail; + + /* + * For all the other errors, we continue on in case user + * user want to force fast reboot. + */ + if (strlen(bootargs_buf) != 0) + mdep = (uintptr_t)bootargs_buf; + } + +#if 0 /* For debugging */ + if (mdep != NULL) + (void) fprintf(stderr, "mdep = %s\n", (char *)mdep); +#endif + if (fcn != AD_BOOT && ttyn != NULL && strncmp(ttyn, "/dev/term/", strlen("/dev/term/")) == 0) { /* @@ -656,7 +1301,10 @@ main(int argc, char *argv[]) /* sync boot archive in the global zone */ if (zoneid == GLOBAL_ZONEID && !nosync) { - (void) system("/sbin/bootadm -a update_all"); + if (fast_reboot) + (void) system("/sbin/bootadm -a update_all fastboot"); + else + (void) system("/sbin/bootadm -a update_all"); } /* @@ -734,6 +1382,15 @@ main(int argc, char *argv[]) if (cmd == A_DUMP && nosync != 0) (void) uadmin(A_DUMP, AD_NOSYNC, NULL); + if (fast_reboot) { + if (failsafe) + (void) fprintf(stderr, "Fast reboot - failsafe.\n"); + else + (void) fprintf(stderr, "Fast reboot.\n"); + + fcn = AD_FASTREBOOT; + } + if (uadmin(cmd, fcn, mdep) == -1) (void) fprintf(stderr, "%s: uadmin failed: %s\n", cmdname, strerror(errno)); @@ -770,5 +1427,18 @@ fail: else (void) audit_halt_fail(); + if (fast_reboot) { + if (bename) { + char cmdbuf[MAXPATHLEN]; + + (void) snprintf(cmdbuf, sizeof (cmdbuf), + "/usr/sbin/luumount %s > /dev/null 2>&1", bename); + (void) system(cmdbuf); + + } else if (strlen(fastboot_mounted) != 0) { + (void) umount(fastboot_mounted); + } + } + return (1); } diff --git a/usr/src/cmd/uadmin/uadmin.c b/usr/src/cmd/uadmin/uadmin.c index abe290e401..73d1014afb 100644 --- a/usr/src/cmd/uadmin/uadmin.c +++ b/usr/src/cmd/uadmin/uadmin.c @@ -27,7 +27,6 @@ /* All Rights Reserved */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <errno.h> #include <fcntl.h> @@ -145,6 +144,19 @@ main(int argc, char *argv[]) case AD_NOSYNC: fcn_id = ADT_UADMIN_FCN_AD_NOSYNC; break; + case AD_FASTREBOOT: +#ifdef __i386 + fcn_id = ADT_UADMIN_FCN_AD_FASTREBOOT; + mdep = NULL; /* Ignore all arguments */ +#else + fcn = AD_BOOT; + fcn_id = ADT_UADMIN_FCN_AD_BOOT; +#endif /* __i386 */ + break; + case AD_FASTREBOOT_DRYRUN: + fcn_id = ADT_UADMIN_FCN_AD_FASTREBOOT_DRYRUN; + mdep = NULL; /* Ignore all arguments */ + break; default: fcn_id = 0; } @@ -275,6 +287,14 @@ closeout_audit(int cmd, int fcn) } switch (cmd) { case A_SHUTDOWN: + switch (fcn) { + case AD_FASTREBOOT_DRYRUN: + /* No system discontinuity, don't turn off auditd */ + return (0); + default: + break; /* For all the other shutdown functions */ + } + /* FALLTHROUGH */ case A_REBOOT: case A_DUMP: /* system shutting down, turn off auditd */ diff --git a/usr/src/lib/libbsm/common/adt.xml b/usr/src/lib/libbsm/common/adt.xml index ada693bf8d..bd4a9a1e61 100644 --- a/usr/src/lib/libbsm/common/adt.xml +++ b/usr/src/lib/libbsm/common/adt.xml @@ -2054,6 +2054,8 @@ Use is subject to license terms. <msg id="AD_SBOOT">Single-user reboot</msg> <msg id="AD_SIBOOT">Single-user interactive reboot</msg> <msg id="AD_NOSYNC">Do not sync filesystems on next A_DUMP</msg> + <msg id="AD_FASTREBOOT">Reboot bypassing BIOS and boot loader</msg> + <msg id="AD_FASTREBOOT_DRYRUN">Check if system supports reboot bypassing BIOS and boot loader</msg> <msg id="AD_REUSEINIT">Prepare for AD_REUSABLE</msg> <msg id="AD_REUSABLE">Create reusable statefile</msg> <msg id="AD_REUSEFINI">Revert to normal CPR mode (not reusable)</msg> diff --git a/usr/src/lib/libc/amd64/sys/uadmin.c b/usr/src/lib/libc/amd64/sys/uadmin.c index bc15f4a9e3..a705ead079 100644 --- a/usr/src/lib/libc/amd64/sys/uadmin.c +++ b/usr/src/lib/libc/amd64/sys/uadmin.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Wrapper function to implement reboot w/ arguments on x86 @@ -42,7 +41,7 @@ #include <sys/stat.h> #include <sys/uadmin.h> #include <unistd.h> -#include <string.h> +#include <strings.h> #include <pthread.h> #include <zone.h> @@ -71,8 +70,11 @@ uadmin(int cmd, int fcn, uintptr_t mdep) char *altroot; bargs = (char *)mdep; + if (geteuid() == 0 && getzoneid() == GLOBAL_ZONEID && (cmd == A_SHUTDOWN || cmd == A_REBOOT)) { + int off = 0; + switch (fcn) { case AD_IBOOT: case AD_SBOOT: @@ -97,6 +99,7 @@ uadmin(int cmd, int fcn, uintptr_t mdep) } /*FALLTHROUGH*/ case AD_BOOT: + case AD_FASTREBOOT: if (bargs == 0) break; /* no args */ if (legal_arg(bargs) < 0) @@ -113,6 +116,36 @@ uadmin(int cmd, int fcn, uintptr_t mdep) altroot = ""; } + if (fcn == AD_FASTREBOOT) { + char *newarg, *head; + char bargs_scratch[BOOTARGS_MAX]; + + bzero(bargs_scratch, BOOTARGS_MAX); + + bcopy(bargs, bargs_scratch, strlen(bargs)); + head = bargs_scratch; + newarg = strtok(bargs_scratch, " "); + + if (newarg == NULL) + break; + + /* First argument is rootdir */ + if (newarg[0] != '-' && + strncmp(&newarg[strlen(newarg)-4], + "unix", 4) != 0) { + newarg = strtok(NULL, " "); + off = newarg - head; + } + + /* + * If we are using alternate root via + * mountpoint or a different BE, don't + * bother to update the temp menu entry. + */ + if (off > 0) + break; + } + /* are we rebooting to a GRUB menu entry? */ if (isdigit(bargs[0])) { int entry = strtol(bargs, NULL, 10); @@ -122,10 +155,12 @@ uadmin(int cmd, int fcn, uintptr_t mdep) } else { (void) snprintf(cmdbuf, sizeof (cmdbuf), "/sbin/bootadm -m update_temp %s" - "-o %s%s%s", altroot, quote, bargs, quote); + "-o %s%s%s", altroot, quote, + &bargs[off], quote); } (void) system(cmdbuf); } } + return (__uadmin(cmd, fcn, mdep)); } diff --git a/usr/src/lib/libc/i386/sys/uadmin.c b/usr/src/lib/libc/i386/sys/uadmin.c index bc15f4a9e3..a705ead079 100644 --- a/usr/src/lib/libc/i386/sys/uadmin.c +++ b/usr/src/lib/libc/i386/sys/uadmin.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Wrapper function to implement reboot w/ arguments on x86 @@ -42,7 +41,7 @@ #include <sys/stat.h> #include <sys/uadmin.h> #include <unistd.h> -#include <string.h> +#include <strings.h> #include <pthread.h> #include <zone.h> @@ -71,8 +70,11 @@ uadmin(int cmd, int fcn, uintptr_t mdep) char *altroot; bargs = (char *)mdep; + if (geteuid() == 0 && getzoneid() == GLOBAL_ZONEID && (cmd == A_SHUTDOWN || cmd == A_REBOOT)) { + int off = 0; + switch (fcn) { case AD_IBOOT: case AD_SBOOT: @@ -97,6 +99,7 @@ uadmin(int cmd, int fcn, uintptr_t mdep) } /*FALLTHROUGH*/ case AD_BOOT: + case AD_FASTREBOOT: if (bargs == 0) break; /* no args */ if (legal_arg(bargs) < 0) @@ -113,6 +116,36 @@ uadmin(int cmd, int fcn, uintptr_t mdep) altroot = ""; } + if (fcn == AD_FASTREBOOT) { + char *newarg, *head; + char bargs_scratch[BOOTARGS_MAX]; + + bzero(bargs_scratch, BOOTARGS_MAX); + + bcopy(bargs, bargs_scratch, strlen(bargs)); + head = bargs_scratch; + newarg = strtok(bargs_scratch, " "); + + if (newarg == NULL) + break; + + /* First argument is rootdir */ + if (newarg[0] != '-' && + strncmp(&newarg[strlen(newarg)-4], + "unix", 4) != 0) { + newarg = strtok(NULL, " "); + off = newarg - head; + } + + /* + * If we are using alternate root via + * mountpoint or a different BE, don't + * bother to update the temp menu entry. + */ + if (off > 0) + break; + } + /* are we rebooting to a GRUB menu entry? */ if (isdigit(bargs[0])) { int entry = strtol(bargs, NULL, 10); @@ -122,10 +155,12 @@ uadmin(int cmd, int fcn, uintptr_t mdep) } else { (void) snprintf(cmdbuf, sizeof (cmdbuf), "/sbin/bootadm -m update_temp %s" - "-o %s%s%s", altroot, quote, bargs, quote); + "-o %s%s%s", altroot, quote, + &bargs[off], quote); } (void) system(cmdbuf); } } + return (__uadmin(cmd, fcn, mdep)); } diff --git a/usr/src/lib/libzfs/common/libzfs.h b/usr/src/lib/libzfs/common/libzfs.h index aa4e94f1aa..c650865f30 100644 --- a/usr/src/lib/libzfs/common/libzfs.h +++ b/usr/src/lib/libzfs/common/libzfs.h @@ -320,6 +320,7 @@ extern int zpool_stage_history(libzfs_handle_t *, const char *); extern void zpool_obj_to_path(zpool_handle_t *, uint64_t, uint64_t, char *, size_t len); extern int zfs_ioctl(libzfs_handle_t *, int, struct zfs_cmd *); +extern int zpool_get_physpath(zpool_handle_t *, char *); /* * Basic handle manipulations. These functions do not create or destroy the * underlying datasets, only the references to them. diff --git a/usr/src/lib/libzfs/common/libzfs_pool.c b/usr/src/lib/libzfs/common/libzfs_pool.c index 801fad235b..6ce9d3b9c9 100644 --- a/usr/src/lib/libzfs/common/libzfs_pool.c +++ b/usr/src/lib/libzfs/common/libzfs_pool.c @@ -1416,6 +1416,96 @@ zpool_find_vdev(zpool_handle_t *zhp, const char *path, boolean_t *avail_spare, l2cache, log)); } +static int +vdev_online(nvlist_t *nv) +{ + uint64_t ival; + + if (nvlist_lookup_uint64(nv, ZPOOL_CONFIG_OFFLINE, &ival) == 0 || + nvlist_lookup_uint64(nv, ZPOOL_CONFIG_FAULTED, &ival) == 0 || + nvlist_lookup_uint64(nv, ZPOOL_CONFIG_REMOVED, &ival) == 0) + return (0); + + return (1); +} + +/* + * Get phys_path for a root pool + * Return 0 on success; non-zeron on failure. + */ +int +zpool_get_physpath(zpool_handle_t *zhp, char *physpath) +{ + char bootfs[ZPOOL_MAXNAMELEN]; + nvlist_t *vdev_root; + nvlist_t **child; + uint_t count; + int i; + + /* + * Make sure this is a root pool, as phys_path doesn't mean + * anything to a non-root pool. + */ + if (zpool_get_prop(zhp, ZPOOL_PROP_BOOTFS, bootfs, + sizeof (bootfs), NULL) != 0) + return (-1); + + verify(nvlist_lookup_nvlist(zhp->zpool_config, + ZPOOL_CONFIG_VDEV_TREE, &vdev_root) == 0); + + if (nvlist_lookup_nvlist_array(vdev_root, ZPOOL_CONFIG_CHILDREN, + &child, &count) != 0) + return (-2); + + for (i = 0; i < count; i++) { + nvlist_t **child2; + uint_t count2; + char *type; + char *tmppath; + int j; + + if (nvlist_lookup_string(child[i], ZPOOL_CONFIG_TYPE, &type) + != 0) + return (-3); + + if (strcmp(type, VDEV_TYPE_DISK) == 0) { + if (!vdev_online(child[i])) + return (-8); + verify(nvlist_lookup_string(child[i], + ZPOOL_CONFIG_PHYS_PATH, &tmppath) == 0); + (void) strncpy(physpath, tmppath, strlen(tmppath)); + } else if (strcmp(type, VDEV_TYPE_MIRROR) == 0) { + if (nvlist_lookup_nvlist_array(child[i], + ZPOOL_CONFIG_CHILDREN, &child2, &count2) != 0) + return (-4); + + for (j = 0; j < count2; j++) { + if (!vdev_online(child2[j])) + return (-8); + if (nvlist_lookup_string(child2[j], + ZPOOL_CONFIG_PHYS_PATH, &tmppath) != 0) + return (-5); + + if ((strlen(physpath) + strlen(tmppath)) > + MAXNAMELEN) + return (-6); + + if (strlen(physpath) == 0) { + (void) strncpy(physpath, tmppath, + strlen(tmppath)); + } else { + (void) strcat(physpath, " "); + (void) strcat(physpath, tmppath); + } + } + } else { + return (-7); + } + } + + return (0); +} + /* * Returns TRUE if the given guid corresponds to the given type. * This is used to check for hot spares (INUSE or not), and level 2 cache diff --git a/usr/src/lib/libzfs/common/mapfile-vers b/usr/src/lib/libzfs/common/mapfile-vers index 1ce9549d0a..6ddffbcf1a 100644 --- a/usr/src/lib/libzfs/common/mapfile-vers +++ b/usr/src/lib/libzfs/common/mapfile-vers @@ -132,6 +132,7 @@ SUNWprivate_1.1 { zpool_get_handle; zpool_get_history; zpool_get_name; + zpool_get_physpath; zpool_get_prop; zpool_get_prop_int; zpool_get_state; diff --git a/usr/src/pkgdefs/SUNWhea/prototype_i386 b/usr/src/pkgdefs/SUNWhea/prototype_i386 index 48252967a5..824c5d690c 100644 --- a/usr/src/pkgdefs/SUNWhea/prototype_i386 +++ b/usr/src/pkgdefs/SUNWhea/prototype_i386 @@ -131,6 +131,7 @@ f none usr/platform/i86pc/include/sys/clock.h 644 root bin f none usr/platform/i86pc/include/sys/cram.h 644 root bin f none usr/platform/i86pc/include/sys/debug_info.h 644 root bin f none usr/platform/i86pc/include/sys/ddi_subrdefs.h 644 root bin +f none usr/platform/i86pc/include/sys/fastboot.h 644 root bin f none usr/platform/i86pc/include/sys/mach_mmu.h 644 root bin f none usr/platform/i86pc/include/sys/machclock.h 644 root bin f none usr/platform/i86pc/include/sys/machcpuvar.h 644 root bin diff --git a/usr/src/uts/common/brand/lx/dtrace/lx_systrace.c b/usr/src/uts/common/brand/lx/dtrace/lx_systrace.c index ae049e2792..ab9828a589 100644 --- a/usr/src/uts/common/brand/lx/dtrace/lx_systrace.c +++ b/usr/src/uts/common/brand/lx/dtrace/lx_systrace.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/modctl.h> #include <sys/ddi.h> @@ -358,7 +357,8 @@ static struct dev_ops lx_systrace_ops = { nodev, /* reset */ &lx_systrace_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/common/brand/lx/io/lx_audio.c b/usr/src/uts/common/brand/lx/io/lx_audio.c index 471cd06ce0..b2c137655d 100644 --- a/usr/src/uts/common/brand/lx/io/lx_audio.c +++ b/usr/src/uts/common/brand/lx/io/lx_audio.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/audio.h> #include <sys/conf.h> @@ -1985,7 +1984,8 @@ static struct dev_ops lxa_ops = { nodev, &lxa_cb_ops, NULL, - NULL + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/common/brand/lx/io/lx_ptm.c b/usr/src/uts/common/brand/lx/io/lx_ptm.c index 30202ff2f1..6520ca5597 100644 --- a/usr/src/uts/common/brand/lx/io/lx_ptm.c +++ b/usr/src/uts/common/brand/lx/io/lx_ptm.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * This driver attempts to emulate some of the the behaviors of @@ -1122,7 +1121,8 @@ static struct dev_ops lx_ptm_ops = { nodev, &lx_ptm_cb_ops, NULL, - NULL + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/crypto/io/crypto.c b/usr/src/uts/common/crypto/io/crypto.c index d8888ad0b4..c33df2f914 100644 --- a/usr/src/uts/common/crypto/io/crypto.c +++ b/usr/src/uts/common/crypto/io/crypto.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The ioctl interface for cryptographic commands. @@ -284,6 +283,7 @@ static struct dev_ops devops = { &cbops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/crypto/io/cryptoadm.c b/usr/src/uts/common/crypto/io/cryptoadm.c index 6db70712e1..9f895a173c 100644 --- a/usr/src/uts/common/crypto/io/cryptoadm.c +++ b/usr/src/uts/common/crypto/io/cryptoadm.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The ioctl interface for administrative commands. @@ -98,6 +97,7 @@ static struct dev_ops devops = { &cbops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/crypto/io/dca.c b/usr/src/uts/common/crypto/io/dca.c index 3222e6ff41..1bfb80781a 100644 --- a/usr/src/uts/common/crypto/io/dca.c +++ b/usr/src/uts/common/crypto/io/dca.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Deimos - cryptographic acceleration based upon Broadcom 582x. @@ -119,10 +118,11 @@ static struct dev_ops devops = { nodev, /* devo_reset */ NULL, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - ddi_power /* devo_power */ + ddi_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; -#define IDENT "PCI Crypto Accelerator 2.0" +#define IDENT "PCI Crypto Accelerator" #define IDENT_SYM "Crypto Accel Sym 2.0" #define IDENT_ASYM "Crypto Accel Asym 2.0" diff --git a/usr/src/uts/common/crypto/io/dprov.c b/usr/src/uts/common/crypto/io/dprov.c index a2fe7469e6..e08a70dcaf 100644 --- a/usr/src/uts/common/crypto/io/dprov.c +++ b/usr/src/uts/common/crypto/io/dprov.c @@ -174,6 +174,7 @@ static struct dev_ops devops = { &cbops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/dtrace/dtrace.c b/usr/src/uts/common/dtrace/dtrace.c index 4704442be2..91e3230737 100644 --- a/usr/src/uts/common/dtrace/dtrace.c +++ b/usr/src/uts/common/dtrace/dtrace.c @@ -15480,7 +15480,8 @@ static struct dev_ops dtrace_ops = { nodev, /* reset */ &dtrace_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/dtrace/fasttrap.c b/usr/src/uts/common/dtrace/fasttrap.c index 45839cbb8f..fee6d60a57 100644 --- a/usr/src/uts/common/dtrace/fasttrap.c +++ b/usr/src/uts/common/dtrace/fasttrap.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/atomic.h> #include <sys/errno.h> @@ -2339,7 +2338,8 @@ static struct dev_ops fasttrap_ops = { nodev, /* reset */ &fasttrap_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/common/dtrace/lockstat.c b/usr/src/uts/common/dtrace/lockstat.c index 3eb76a061d..55b3fcf8ff 100644 --- a/usr/src/uts/common/dtrace/lockstat.c +++ b/usr/src/uts/common/dtrace/lockstat.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/param.h> @@ -310,11 +309,13 @@ static struct dev_ops lockstat_ops = { nulldev, /* reset */ &lockstat_cb_ops, /* cb_ops */ NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Lock Statistics %I%", /* name of module */ + "Lock Statistics", /* name of module */ &lockstat_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/dtrace/profile.c b/usr/src/uts/common/dtrace/profile.c index 8de919a851..da8f58a378 100644 --- a/usr/src/uts/common/dtrace/profile.c +++ b/usr/src/uts/common/dtrace/profile.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/errno.h> #include <sys/stat.h> @@ -539,7 +538,8 @@ static struct dev_ops profile_ops = { nodev, /* reset */ &profile_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/common/dtrace/systrace.c b/usr/src/uts/common/dtrace/systrace.c index be14660b04..fe7bee1ac8 100644 --- a/usr/src/uts/common/dtrace/systrace.c +++ b/usr/src/uts/common/dtrace/systrace.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/dtrace.h> #include <sys/systrace.h> @@ -336,7 +335,8 @@ static struct dev_ops systrace_ops = { nodev, /* reset */ &systrace_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/common/fs/smbclnt/netsmb/smb_dev.c b/usr/src/uts/common/fs/smbclnt/netsmb/smb_dev.c index 6362d43d83..6f2a1f16a3 100644 --- a/usr/src/uts/common/fs/smbclnt/netsmb/smb_dev.c +++ b/usr/src/uts/common/fs/smbclnt/netsmb/smb_dev.c @@ -155,7 +155,8 @@ static struct dev_ops nsmb_ops = { nodev, /* reset */ &nsmb_cbops, /* driver ops - devctl interfaces */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -164,7 +165,7 @@ static struct dev_ops nsmb_ops = { static struct modldrv nsmb_modldrv = { &mod_driverops, /* Driver module */ - "SMBFS network driver v" NSMB_VER_STR, + "SMBFS network driver", &nsmb_ops /* Driver ops */ }; diff --git a/usr/src/uts/common/fs/smbsrv/smb_init.c b/usr/src/uts/common/fs/smbsrv/smb_init.c index c57362868f..19986a2bcf 100644 --- a/usr/src/uts/common/fs/smbsrv/smb_init.c +++ b/usr/src/uts/common/fs/smbsrv/smb_init.c @@ -23,8 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "@(#)smb_init.c 1.4 08/07/08 SMI" - #include <sys/types.h> #include <sys/ddi.h> #include <sys/modctl.h> @@ -106,11 +104,12 @@ static struct dev_ops devops = { &cbops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* drv_modops */ - "CIFS Server Protocol 1.4", /* drv_linkinfo */ + "CIFS Server Protocol", /* drv_linkinfo */ &devops, }; diff --git a/usr/src/uts/common/fs/zfs/zfs_ioctl.c b/usr/src/uts/common/fs/zfs/zfs_ioctl.c index c587d96660..3793487fe2 100644 --- a/usr/src/uts/common/fs/zfs/zfs_ioctl.c +++ b/usr/src/uts/common/fs/zfs/zfs_ioctl.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/param.h> @@ -3086,12 +3085,15 @@ static struct dev_ops zfs_dev_ops = { zfs_detach, /* detach */ nodev, /* reset */ &zfs_cb_ops, /* driver operations */ - NULL /* no bus operations */ + NULL, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv zfs_modldrv = { - &mod_driverops, "ZFS storage pool version " SPA_VERSION_STRING, - &zfs_dev_ops + &mod_driverops, + "ZFS storage pool", + &zfs_dev_ops }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/fs/zfs/zfs_vfsops.c b/usr/src/uts/common/fs/zfs/zfs_vfsops.c index 3ee726bb29..eaf2c2f890 100644 --- a/usr/src/uts/common/fs/zfs/zfs_vfsops.c +++ b/usr/src/uts/common/fs/zfs/zfs_vfsops.c @@ -815,16 +815,19 @@ zfs_parse_bootfs(char *bpath, char *outpath) if (*bpath == 0 || *bpath == '/') return (EINVAL); + (void) strcpy(outpath, bpath); + slashp = strchr(bpath, '/'); /* if no '/', just return the pool name */ if (slashp == NULL) { - (void) strcpy(outpath, bpath); return (0); } - if (error = str_to_uint64(slashp+1, &objnum)) - return (error); + /* if not a number, just return the root dataset name */ + if (str_to_uint64(slashp+1, &objnum)) { + return (0); + } *slashp = '\0'; error = dsl_dsobj_to_dsname(bpath, objnum, outpath); diff --git a/usr/src/uts/common/inet/inetddi.c b/usr/src/uts/common/inet/inetddi.c index 69b1ba8c4f..48a9e3aa2e 100644 --- a/usr/src/uts/common/inet/inetddi.c +++ b/usr/src/uts/common/inet/inetddi.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/stat.h> @@ -168,7 +167,8 @@ inet_info(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, void **result) } DDI_DEFINE_STREAM_OPS(inet_devops, nulldev, nulldev, inet_attach, inet_detach, - nulldev, inet_info, INET_DEVMTFLAGS, &INET_DEVSTRTAB); + nulldev, inet_info, INET_DEVMTFLAGS, &INET_DEVSTRTAB, + ddi_quiesce_not_supported); static struct modldrv modldrv = { &mod_driverops, diff --git a/usr/src/uts/common/inet/ipf/solaris.c b/usr/src/uts/common/inet/ipf/solaris.c index aed5a475a4..965814812b 100644 --- a/usr/src/uts/common/inet/ipf/solaris.c +++ b/usr/src/uts/common/inet/ipf/solaris.c @@ -6,8 +6,6 @@ * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -/* #pragma ident "@(#)solaris.c 1.12 6/5/96 (C) 1995 Darren Reed"*/ -#pragma ident "@(#)$Id: solaris.c,v 2.73.2.6 2005/07/13 21:40:47 darrenr Exp $" #include <sys/systm.h> #include <sys/types.h> @@ -35,7 +33,7 @@ #include <sys/hook.h> #include <net/if.h> #if SOLARIS2 >= 6 -# include <net/if_types.h> +#include <net/if_types.h> #endif #include <net/af.h> #include <net/route.h> @@ -62,7 +60,7 @@ extern int iplwrite __P((dev_t, struct uio *, cred_t *)); static int ipf_getinfo __P((dev_info_t *, ddi_info_cmd_t, - void *, void **)); + void *, void **)); #if SOLARIS2 < 10 static int ipf_identify __P((dev_info_t *)); #endif @@ -113,7 +111,9 @@ static struct dev_ops ipf_ops = { ipf_detach, nodev, /* reset */ &ipf_cb_ops, - (struct bus_ops *)0 + (struct bus_ops *)0, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; @@ -246,7 +246,7 @@ ipf_kstat_init(ipf_stack_t *ifs) #ifdef IPFDEBUG cmn_err(CE_NOTE, "IP Filter: ipf_kstat_init(%p) installed %p, %p", - ifs, ifs->ifs_kstatp[0], ifs->ifs_kstatp[1]); + ifs, ifs->ifs_kstatp[0], ifs->ifs_kstatp[1]); #endif } @@ -310,7 +310,8 @@ ipf_kstat_update(kstat_t *ksp, int rwflag) return (0); } -int _init() +int +_init() { int ipfinst; @@ -319,11 +320,12 @@ int _init() cmn_err(CE_NOTE, "IP Filter: _init() = %d", ipfinst); #endif mutex_init(&ipf_stack_lock, NULL, MUTEX_DRIVER, NULL); - return ipfinst; + return (ipfinst); } -int _fini(void) +int +_fini(void) { int ipfinst; @@ -331,11 +333,12 @@ int _fini(void) #ifdef IPFDEBUG cmn_err(CE_NOTE, "IP Filter: _fini() = %d", ipfinst); #endif - return ipfinst; + return (ipfinst); } -int _info(modinfop) +int +_info(modinfop) struct modinfo *modinfop; { int ipfinst; @@ -344,7 +347,7 @@ struct modinfo *modinfop; #ifdef IPFDEBUG cmn_err(CE_NOTE, "IP Filter: _info(%p) = %d", modinfop, ipfinst); #endif - return ipfinst; + return (ipfinst); } @@ -352,9 +355,9 @@ struct modinfo *modinfop; static int ipf_identify(dip) dev_info_t *dip; { -# ifdef IPFDEBUG +#ifdef IPFDEBUG cmn_err(CE_NOTE, "IP Filter: ipf_identify(%p)", dip); -# endif +#endif if (strcmp(ddi_get_name(dip), "ipf") == 0) return (DDI_IDENTIFIED); return (DDI_NOT_IDENTIFIED); @@ -433,7 +436,8 @@ ipf_stack_create(const netid_t id) * as it will only be nuked when the instance is destroyed as part * of the final shutdown of a zone. */ -ipf_stack_t *ipf_find_stack(const zoneid_t zone) +ipf_stack_t * +ipf_find_stack(const zoneid_t zone) { ipf_stack_t *ifs; @@ -443,7 +447,7 @@ ipf_stack_t *ipf_find_stack(const zoneid_t zone) break; } mutex_exit(&ipf_stack_lock); - return ifs; + return (ifs); } @@ -458,7 +462,7 @@ static int ipf_detach_check_zone(ipf_stack_t *ifs) RWLOCK_EXIT(&ifs->ifs_ipf_global); return (-1); } - + /* * Make sure there is no active filter rule. */ @@ -561,7 +565,7 @@ ddi_attach_cmd_t cmd; instance = ddi_get_instance(dip); /* Only one instance of ipf (instance 0) can be attached. */ if (instance > 0) - return DDI_FAILURE; + return (DDI_FAILURE); #ifdef IPFDEBUG cmn_err(CE_CONT, "IP Filter: attach ipf instance %d", instance); @@ -575,7 +579,7 @@ ddi_attach_cmd_t cmd; continue; s++; if (ddi_create_minor_node(dip, s, S_IFCHR, i, - DDI_PSEUDO, 0) == + DDI_PSEUDO, 0) == DDI_FAILURE) { ddi_remove_minor_node(dip, NULL); goto attach_failed; @@ -595,7 +599,7 @@ ddi_attach_cmd_t cmd; cmn_err(CE_CONT, "IP Filter:stack_create callback_reg=%d", i); #endif - return DDI_SUCCESS; + return (DDI_SUCCESS); /* NOTREACHED */ default: break; @@ -603,7 +607,7 @@ ddi_attach_cmd_t cmd; attach_failed: ddi_prop_remove_all(dip); - return DDI_FAILURE; + return (DDI_FAILURE); } @@ -619,9 +623,10 @@ ddi_detach_cmd_t cmd; switch (cmd) { case DDI_DETACH: if (ipf_detach_check_all() != 0) - return DDI_FAILURE; + return (DDI_FAILURE); - /* Undo what we did in ipf_attach, freeing resources + /* + * Undo what we did in ipf_attach, freeing resources * and removing things we installed. The system * framework guarantees we are not active with this devinfo * node in any other entry points at this time. @@ -631,19 +636,19 @@ ddi_detach_cmd_t cmd; ddi_remove_minor_node(dip, NULL); if (i > 0) { cmn_err(CE_CONT, "IP Filter: still attached (%d)\n", i); - return DDI_FAILURE; + return (DDI_FAILURE); } (void) net_instance_unregister(ipfncb); net_instance_free(ipfncb); - return DDI_SUCCESS; + return (DDI_SUCCESS); /* NOTREACHED */ default: break; } cmn_err(CE_NOTE, "IP Filter: failed to detach\n"); - return DDI_FAILURE; + return (DDI_FAILURE); } @@ -686,31 +691,33 @@ dev_info_t *dip; if (ddi_prop_update_int(DDI_DEV_T_NONE, dip, DDI_NO_AUTODETACH, 1) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "!updating DDI_NO_AUTODETACH failed"); - return DDI_FAILURE; + return (DDI_FAILURE); } #else if (ddi_prop_update_int(DDI_DEV_T_NONE, dip, "ddi-no-autodetach", 1) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "!updating ddi-no-autodetach failed"); - return DDI_FAILURE; + return (DDI_FAILURE); } #endif - return DDI_SUCCESS; + return (DDI_SUCCESS); } -int ipf_property_update(dip, ifs) +int +ipf_property_update(dip, ifs) dev_info_t *dip; ipf_stack_t *ifs; { ipftuneable_t *ipft; int64_t *i64p; char *name; - u_int one; + uint_t one; int *i32p; int err; - for (ipft = ifs->ifs_ipf_tuneables; (name = ipft->ipft_name) != NULL; ipft++) { + for (ipft = ifs->ifs_ipf_tuneables; (name = ipft->ipft_name) != NULL; + ipft++) { one = 1; switch (ipft->ipft_sz) { @@ -725,7 +732,7 @@ ipf_stack_t *ifs; name, err); #endif if (err != DDI_PROP_SUCCESS) - return err; + return (err); if (*i32p >= ipft->ipft_min && *i32p <= ipft->ipft_max) *ipft->ipft_pint = *i32p; else @@ -737,15 +744,15 @@ ipf_stack_t *ifs; case 8 : i64p = NULL; err = ddi_prop_lookup_int64_array(DDI_DEV_T_ANY, dip, - 0, name, &i64p, &one); + 0, name, &i64p, &one); if (err == DDI_PROP_NOT_FOUND) continue; -# ifdef IPFDEBUG +#ifdef IPFDEBUG cmn_err(CE_CONT, "IP Filter: lookup_int64(%s) = %d\n", - name, err); -# endif + name, err); +#endif if (err != DDI_PROP_SUCCESS) - return err; + return (err); if (*i64p >= ipft->ipft_min && *i64p <= ipft->ipft_max) *ipft->ipft_pint = *i64p; else @@ -759,5 +766,5 @@ ipf_stack_t *ifs; if (err != DDI_SUCCESS) break; } - return err; + return (err); } diff --git a/usr/src/uts/common/inet/kssl/kssl.c b/usr/src/uts/common/inet/kssl/kssl.c index dca214128e..ac95cefc8f 100644 --- a/usr/src/uts/common/inet/kssl/kssl.c +++ b/usr/src/uts/common/inet/kssl/kssl.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The system call and DDI interface for the kernel SSL module @@ -104,11 +103,12 @@ static struct dev_ops devops = { &cbops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { - &mod_driverops, /* drv_modops */ - "Kernel SSL Interface v1.4", /* drv_linkinfo */ + &mod_driverops, /* drv_modops */ + "Kernel SSL Interface", /* drv_linkinfo */ &devops, }; diff --git a/usr/src/uts/common/inet/vni/vni.c b/usr/src/uts/common/inet/vni/vni.c index 584f4e8de7..a370a7b4be 100644 --- a/usr/src/uts/common/inet/vni/vni.c +++ b/usr/src/uts/common/inet/vni/vni.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include "vni_impl.h" #include <sys/conf.h> @@ -78,11 +77,11 @@ static struct streamtab vni_info = { }; DDI_DEFINE_STREAM_OPS(vni_ops, nulldev, nulldev, vniattach, \ - vnidetach, nodev, nodev, VNIFLAGS, &vni_info); + vnidetach, nodev, nodev, VNIFLAGS, &vni_info, ddi_quiesce_not_supported); static struct modldrv modldrv = { &mod_driverops, - "Virtual network interface %I%", + "Virtual network interface", &vni_ops, }; diff --git a/usr/src/uts/common/io/1394/adapters/hci1394.c b/usr/src/uts/common/io/1394/adapters/hci1394.c index 9254b78a9e..6a6e9678cf 100644 --- a/usr/src/uts/common/io/1394/adapters/hci1394.c +++ b/usr/src/uts/common/io/1394/adapters/hci1394.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * hci1394.c @@ -79,13 +77,14 @@ static struct dev_ops hci1394_ops = { nodev, /* reset */ &hci1394_cb_ops, /* cb_ops */ NULL, /* bus_ops */ - NULL /* power */ + NULL, /* power */ + hci1394_quiesce, /* devo_quiesce */ }; /* Module Driver Info */ static struct modldrv hci1394_modldrv = { &mod_driverops, - "1394 OpenHCI HBA driver v1.0", + "1394 OpenHCI HBA driver", &hci1394_ops }; diff --git a/usr/src/uts/common/io/1394/adapters/hci1394_detach.c b/usr/src/uts/common/io/1394/adapters/hci1394_detach.c index 5b99e5e425..2d6cfda0c8 100644 --- a/usr/src/uts/common/io/1394/adapters/hci1394_detach.c +++ b/usr/src/uts/common/io/1394/adapters/hci1394_detach.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * hci1394_detach.c @@ -166,6 +165,50 @@ hci1394_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) return (DDI_FAILURE); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +int +hci1394_quiesce(dev_info_t *dip) +{ + hci1394_state_t *soft_state; + + soft_state = ddi_get_soft_state(hci1394_statep, ddi_get_instance(dip)); + + if (soft_state == NULL) { + return (DDI_FAILURE); + } + + /* Don't allow the HW to generate any more interrupts */ + hci1394_ohci_intr_master_disable(soft_state->ohci); + hci1394_ohci_it_intr_disable(soft_state->ohci, 0xFFFFFFFF); + hci1394_ohci_ir_intr_disable(soft_state->ohci, 0xFFFFFFFF); + + /* Clear any pending interrupts - no longer valid */ + hci1394_ohci_intr_clear(soft_state->ohci, 0xFFFFFFFF); + hci1394_ohci_it_intr_clear(soft_state->ohci, 0xFFFFFFFF); + hci1394_ohci_ir_intr_clear(soft_state->ohci, 0xFFFFFFFF); + + /* Make sure we tell others on the bus we are dropping out */ + (void) hci1394_ohci_phy_clr(soft_state->ohci, 4, 0xc0); + ddi_put32(soft_state->ohci->ohci_reg_handle, + &soft_state->ohci->ohci_regs->link_ctrl_clr, 0xFFFFFFFF); + + /* Do a long reset on the bus so every one knows we are gone */ + (void) hci1394_ohci_bus_reset_nroot(soft_state->ohci); + + /* Reset the OHCI HW */ + (void) hci1394_ohci_soft_reset(soft_state->ohci); + + return (DDI_SUCCESS); +} void hci1394_detach_hardware(hci1394_state_t *soft_state) diff --git a/usr/src/uts/common/io/1394/targets/av1394/av1394.c b/usr/src/uts/common/io/1394/targets/av1394/av1394.c index 710ba9b488..9fd4c9896e 100644 --- a/usr/src/uts/common/io/1394/targets/av1394/av1394.c +++ b/usr/src/uts/common/io/1394/targets/av1394/av1394.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * av1394 driver @@ -104,12 +102,13 @@ static struct dev_ops av1394_ops = { nodev, /* reset */ &av1394_cb_ops, /* driver operations */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv av1394_modldrv = { &mod_driverops, - "IEEE 1394 AV driver %I%", + "IEEE 1394 AV driver", &av1394_ops }; @@ -227,7 +226,7 @@ av1394_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } mutex_init(&avp->av_mutex, NULL, MUTEX_DRIVER, - avp->av_attachinfo.iblock_cookie); + avp->av_attachinfo.iblock_cookie); #ifndef __lock_lint avp->av_dip = dip; @@ -485,7 +484,7 @@ av1394_t1394_attach(av1394_inst_t *avp, dev_info_t *dip) AV1394_TNF_ENTER(av1394_t1394_attach); ret = t1394_attach(dip, T1394_VERSION_V1, 0, &avp->av_attachinfo, - &avp->av_t1394_hdl); + &avp->av_t1394_hdl); if (ret != DDI_SUCCESS) { TNF_PROBE_1(av1394_t1394_attach_error, AV1394_TNF_INST_ERROR, diff --git a/usr/src/uts/common/io/1394/targets/dcam1394/dcam.c b/usr/src/uts/common/io/1394/targets/dcam1394/dcam.c index cb05730690..2db4bf174b 100644 --- a/usr/src/uts/common/io/1394/targets/dcam1394/dcam.c +++ b/usr/src/uts/common/io/1394/targets/dcam1394/dcam.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * dcam.c @@ -127,13 +125,14 @@ static struct dev_ops dcam_dev_ops = { &dcam_cb_ops, /* ptr to cb_ops struct */ NULL, /* ptr to bus_ops struct; none */ dcam_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "SUNW 1394-based Digital Camera driver 1.0", + "SUNW 1394-based Digital Camera driver", &dcam_dev_ops, }; @@ -742,7 +741,7 @@ dcam_read(dev_t dev, struct uio *uio_p, cred_t *cred_p) */ index = 0; buff_info_p = - &(ring_buff_p->buff_info_array_p[read_ptr_pos]); + &(ring_buff_p->buff_info_array_p[read_ptr_pos]); vid_mode = softc_p->cur_vid_mode; seq_num = buff_info_p->seq_num; @@ -1251,7 +1250,7 @@ dcam_reset(dcam_state_t *softc_p) * to "on" and value 4. */ dcam_reg_io.offs = DCAM1394_REG_OFFS_FEATURE_CSR_BASE + - DCAM1394_REG_OFFS_IRIS_CSR; + DCAM1394_REG_OFFS_IRIS_CSR; dcam_reg_io.val = 0x82000004; if (dcam_reg_write(softc_p, &dcam_reg_io)) { diff --git a/usr/src/uts/common/io/1394/targets/scsa1394/hba.c b/usr/src/uts/common/io/1394/targets/scsa1394/hba.c index 2dd580cdf5..4569fc1e18 100644 --- a/usr/src/uts/common/io/1394/targets/scsa1394/hba.c +++ b/usr/src/uts/common/io/1394/targets/scsa1394/hba.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * 1394 mass storage HBA driver @@ -181,7 +180,8 @@ static struct dev_ops scsa1394_ops = { nodev, /* reset */ &scsa1394_cb_ops, /* driver operations */ NULL, /* bus operations */ - scsa1394_power /* power */ + scsa1394_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv scsa1394_modldrv = { diff --git a/usr/src/uts/common/io/aac/aac.c b/usr/src/uts/common/io/aac/aac.c index 10ea80a60e..907262c462 100644 --- a/usr/src/uts/common/io/aac/aac.c +++ b/usr/src/uts/common/io/aac/aac.c @@ -239,6 +239,7 @@ static void aac_rkt_set_mailbox(struct aac_softstate *, uint32_t, uint32_t, static int aac_attach(dev_info_t *, ddi_attach_cmd_t); static int aac_detach(dev_info_t *, ddi_detach_cmd_t); static int aac_reset(dev_info_t *, ddi_reset_cmd_t); +static int aac_quiesce(dev_info_t *); /* * Interrupt handler functions @@ -438,7 +439,8 @@ static struct dev_ops aac_dev_ops = { aac_reset, &aac_cb_ops, NULL, - NULL + NULL, + aac_quiesce, }; static struct modldrv aac_modldrv = { @@ -1049,6 +1051,29 @@ aac_reset(dev_info_t *dip, ddi_reset_cmd_t cmd) } /* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +aac_quiesce(dev_info_t *dip) +{ + struct aac_softstate *softs = AAC_DIP2SOFTS(dip); + + if (softs == NULL) + return (DDI_FAILURE); + + AAC_DISABLE_INTR(softs); + + return (DDI_SUCCESS); +} + +/* * Bring the controller down to a dormant state and detach all child devices. * This function is called before detach or system shutdown. * Note: we can assume that the q_wait on the controller is empty, as we diff --git a/usr/src/uts/common/io/afe/afe.c b/usr/src/uts/common/io/afe/afe.c index f0e41f3d1b..9f0aa15774 100644 --- a/usr/src/uts/common/io/afe/afe.c +++ b/usr/src/uts/common/io/afe/afe.c @@ -33,7 +33,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/varargs.h> #include <sys/types.h> @@ -199,7 +198,7 @@ static mac_callbacks_t afe_m_callbacks = { * Stream information */ DDI_DEFINE_STREAM_OPS(afe_devops, nulldev, nulldev, afe_attach, afe_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); /* * Module linkage information. diff --git a/usr/src/uts/common/io/aggr/aggr_dev.c b/usr/src/uts/common/io/aggr/aggr_dev.c index 3caf7bdf2c..fc2c396c2b 100644 --- a/usr/src/uts/common/io/aggr/aggr_dev.c +++ b/usr/src/uts/common/io/aggr/aggr_dev.c @@ -71,7 +71,8 @@ static struct dev_ops aggr_dev_ops = { nodev, /* reset */ &aggr_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_supported, /* dev quiesce */ }; static struct modldrv aggr_modldrv = { diff --git a/usr/src/uts/common/io/asy.c b/usr/src/uts/common/io/asy.c index 543ab370e4..08ffb0abf2 100644 --- a/usr/src/uts/common/io/asy.c +++ b/usr/src/uts/common/io/asy.c @@ -28,7 +28,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Serial I/O driver for 8250/16450/16550A/16650/16750 chips. @@ -325,6 +324,7 @@ static int asyinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, static int asyprobe(dev_info_t *); static int asyattach(dev_info_t *, ddi_attach_cmd_t); static int asydetach(dev_info_t *, ddi_detach_cmd_t); +static int asyquiesce(dev_info_t *); static struct cb_ops cb_asy_ops = { nodev, /* cb_open */ @@ -354,11 +354,14 @@ struct dev_ops asy_ops = { asydetach, /* devo_detach */ nodev, /* devo_reset */ &cb_asy_ops, /* devo_cb_ops */ + NULL, /* devo_bus_ops */ + NULL, /* power */ + asyquiesce, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "ASY driver %I%", + "ASY driver", &asy_ops, /* driver ops */ }; @@ -4775,3 +4778,35 @@ async_flowcontrol_hw_output(struct asycom *asy, async_flowc_action onoff) break; } } + + +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +asyquiesce(dev_info_t *devi) +{ + int instance; + struct asycom *asy; + + instance = ddi_get_instance(devi); /* find out which unit */ + + asy = ddi_get_soft_state(asy_soft_state, instance); + if (asy == NULL) + return (DDI_FAILURE); + + /* disable all interrupts */ + ddi_put8(asy->asy_iohandle, asy->asy_ioaddr + ICR, 0); + + /* reset the FIFO */ + asy_reset_fifo(asy, FIFOTXFLSH | FIFORXFLSH); + + return (DDI_SUCCESS); +} diff --git a/usr/src/uts/common/io/ath/ath_main.c b/usr/src/uts/common/io/ath/ath_main.c index 6afea928d1..e9a26e3c1d 100644 --- a/usr/src/uts/common/io/ath/ath_main.c +++ b/usr/src/uts/common/io/ath/ath_main.c @@ -2344,11 +2344,11 @@ ath_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd) } DDI_DEFINE_STREAM_OPS(ath_dev_ops, nulldev, nulldev, ath_attach, ath_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv ath_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "ath driver 1.3.1/HAL 0.9.17.2", /* short description */ + "ath driver", /* short description */ &ath_dev_ops /* driver specific ops */ }; diff --git a/usr/src/uts/common/io/audio/sada/drv/audio810/audio810.c b/usr/src/uts/common/io/audio/sada/drv/audio810/audio810.c index 5001635a43..815d48c2e5 100644 --- a/usr/src/uts/common/io/audio/sada/drv/audio810/audio810.c +++ b/usr/src/uts/common/io/audio/sada/drv/audio810/audio810.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * audio810 Audio Driver @@ -277,13 +276,14 @@ static struct dev_ops audio810_dev_ops = { nodev, /* devo_reset */ &audio810_cb_ops, /* devi_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ static struct modldrv audio810_modldrv = { &mod_driverops, /* drv_modops */ - I810_MOD_NAME" %I%", /* drv_linkinfo */ + I810_MOD_NAME, /* drv_linkinfo */ &audio810_dev_ops, /* drv_dev_ops */ }; diff --git a/usr/src/uts/common/io/audio/sada/drv/audiohd/audiohd.c b/usr/src/uts/common/io/audio/sada/drv/audiohd/audiohd.c index 3f4c627f8a..c1608d0804 100644 --- a/usr/src/uts/common/io/audio/sada/drv/audiohd/audiohd.c +++ b/usr/src/uts/common/io/audio/sada/drv/audiohd/audiohd.c @@ -68,6 +68,7 @@ static int audiohd_getinfo(dev_info_t *, ddi_info_cmd_t, void *, void **); static int audiohd_attach(dev_info_t *, ddi_attach_cmd_t); static int audiohd_detach(dev_info_t *, ddi_detach_cmd_t); +static int audiohd_quiesce(dev_info_t *); static int audiohd_resume(audiohd_state_t *); static int audiohd_suspend(audiohd_state_t *); @@ -241,7 +242,8 @@ static struct dev_ops audiohd_dev_ops = { nodev, /* devo_reset */ &audiohd_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + audiohd_quiesce, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ @@ -596,6 +598,35 @@ audiohd_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) } /* audiohd_detach() */ + +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +audiohd_quiesce(dev_info_t *dip) +{ + audiohd_state_t *statep; + int instance; + + instance = ddi_get_instance(dip); + + if ((statep = ddi_get_soft_state(audiohd_statep, instance)) == NULL) { + return (DDI_SUCCESS); + } + + audiohd_stop_dma(statep); + audiohd_disable_intr(statep); + + return (DDI_SUCCESS); +} + /* * audiohd_change_widget_power_state(audiohd_state_t *statep, int off) * Description: diff --git a/usr/src/uts/common/io/audio/sada/drv/audioixp/audioixp.c b/usr/src/uts/common/io/audio/sada/drv/audioixp/audioixp.c index 2dbca76b43..743a9dec05 100644 --- a/usr/src/uts/common/io/audio/sada/drv/audioixp/audioixp.c +++ b/usr/src/uts/common/io/audio/sada/drv/audioixp/audioixp.c @@ -19,10 +19,9 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * audioixp Audio Driver @@ -236,13 +235,14 @@ static struct dev_ops audioixp_dev_ops = { nodev, /* devo_reset */ &audioixp_cb_ops, /* devi_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ static struct modldrv audioixp_modldrv = { &mod_driverops, /* drv_modops */ - IXP_MOD_NAME" %I%", /* drv_linkinfo */ + IXP_MOD_NAME, /* drv_linkinfo */ &audioixp_dev_ops, /* drv_dev_ops */ }; @@ -374,9 +374,9 @@ _init(void) ATRACE("in audioixp _init()", NULL); if ((error = ddi_soft_state_init(&audioixp_statep, - sizeof (audioixp_state_t), 1)) != 0) { + sizeof (audioixp_state_t), 1)) != 0) { ATRACE("audioixp ddi_soft_state_init() failed", - audioixp_statep); + audioixp_statep); return (error); } @@ -470,7 +470,7 @@ audioixp_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, case DDI_INFO_DEVT2DEVINFO: instance = audio_sup_devt_to_instance((dev_t)arg); if ((state = ddi_get_soft_state(audioixp_statep, - instance)) != NULL) { + instance)) != NULL) { *result = state->dip; error = DDI_SUCCESS; } else { @@ -480,7 +480,7 @@ audioixp_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, case DDI_INFO_DEVT2INSTANCE: *result = (void*)(uintptr_t) - audio_sup_devt_to_instance((dev_t)arg); + audio_sup_devt_to_instance((dev_t)arg); error = DDI_SUCCESS; break; @@ -524,7 +524,7 @@ audioixp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) instance = ddi_get_instance(dip); ATRACE("audioixp_attach() audioixp_statep", - audioixp_statep); + audioixp_statep); switch (cmd) { case DDI_ATTACH: @@ -536,40 +536,40 @@ audioixp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) case DDI_RESUME: ATRACE("audioixp_attach() DDI_RESUME", NULL); audio_sup_log(NULL, CE_WARN, - "%s%d: audioixp_attach() resume is not supported yet", - audioixp_name, instance); + "%s%d: audioixp_attach() resume is not supported yet", + audioixp_name, instance); return (DDI_FAILURE); default: audio_sup_log(NULL, CE_WARN, - "!%s%d: audioixp_attach() unknown command: 0x%x", - audioixp_name, instance, cmd); + "!%s%d: audioixp_attach() unknown command: 0x%x", + audioixp_name, instance, cmd); return (DDI_FAILURE); } /* we don't support high level interrupts in the driver */ if (ddi_intr_hilevel(dip, 0) != 0) { audio_sup_log(NULL, CE_WARN, - "!%s%d: audioixp_attach()" - " unsupported high level interrupt", - audioixp_name, instance); + "!%s%d: audioixp_attach()" + " unsupported high level interrupt", + audioixp_name, instance); return (DDI_FAILURE); } /* allocate the soft state structure */ if (ddi_soft_state_zalloc(audioixp_statep, instance) != - DDI_SUCCESS) { + DDI_SUCCESS) { audio_sup_log(NULL, CE_WARN, - "!%s%d: audioixp_attach() soft state allocate failed", - audioixp_name, instance); + "!%s%d: audioixp_attach() soft state allocate failed", + audioixp_name, instance); return (DDI_FAILURE); } if ((statep = ddi_get_soft_state(audioixp_statep, instance)) == - NULL) { + NULL) { audio_sup_log(NULL, CE_WARN, - "!%s%d: audioixp_attach() soft state failed", - audioixp_name, instance); + "!%s%d: audioixp_attach() soft state failed", + audioixp_name, instance); goto error_state; } @@ -577,8 +577,8 @@ audioixp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) data.asrd_key = NULL; if ((statep->audio_handle = audio_sup_register(dip, &data)) == NULL) { audio_sup_log(NULL, CE_WARN, - "!%s%d: audioixp_attach() audio_sup_register() failed", - audioixp_name, instance); + "!%s%d: audioixp_attach() audio_sup_register() failed", + audioixp_name, instance); goto error_state; } @@ -587,35 +587,35 @@ audioixp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if ((audioixp_init_state(statep, dip)) != AUDIO_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_attach() init state structure failed"); + "!audioixp_attach() init state structure failed"); goto error_audiosup; } /* map in the registers, allocate DMA buffers, etc. */ if (audioixp_map_regs(dip, statep) != AUDIO_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_attach() couldn't map registers"); + "!audioixp_attach() couldn't map registers"); goto error_destroy; } /* set PCI command register */ cmdeg = pci_config_get16(statep->pci_conf_handle, PCI_CONF_COMM); pci_config_put16(statep->pci_conf_handle, PCI_CONF_COMM, - cmdeg | PCI_COMM_IO | PCI_COMM_MAE); + cmdeg | PCI_COMM_IO | PCI_COMM_MAE); if (audioixp_alloc_sample_buf(statep, IXP_DMA_PCM_OUT, - statep->play_buf_size) == AUDIO_FAILURE) { + statep->play_buf_size) == AUDIO_FAILURE) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_attach() couldn't allocate play sample " - "buffers"); + "!audioixp_attach() couldn't allocate play sample " + "buffers"); goto error_unmap; } if (audioixp_alloc_sample_buf(statep, IXP_DMA_PCM_IN, - statep->record_buf_size) == AUDIO_FAILURE) { + statep->record_buf_size) == AUDIO_FAILURE) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_attach() couldn't allocate record sample " - "buffers"); + "!audioixp_attach() couldn't allocate record sample " + "buffers"); goto error_dealloc_play; } @@ -623,32 +623,32 @@ audioixp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* set up kernel statistics */ if ((statep->ixp_ksp = kstat_create(IXP_NAME, instance, - IXP_NAME, "controller", KSTAT_TYPE_INTR, 1, - KSTAT_FLAG_PERSISTENT)) != NULL) { + IXP_NAME, "controller", KSTAT_TYPE_INTR, 1, + KSTAT_FLAG_PERSISTENT)) != NULL) { kstat_install(statep->ixp_ksp); } /* set up the interrupt handler */ if (ddi_add_intr(dip, 0, &statep->intr_iblock, - (ddi_idevice_cookie_t *)NULL, audioixp_intr, (caddr_t)statep) != - DDI_SUCCESS) { + (ddi_idevice_cookie_t *)NULL, audioixp_intr, (caddr_t)statep) != + DDI_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_attach() bad interrupt specification "); + "!audioixp_attach() bad interrupt specification "); goto error_kstat; } if (audioixp_chip_init(statep, IXP_INIT_NO_RESTORE) != - AUDIO_SUCCESS) { + AUDIO_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_attach() failed to init chip"); + "!audioixp_attach() failed to init chip"); goto error_intr; } /* call the mixer attach() routine */ if (am_attach(statep->audio_handle, cmd, &statep->ad_info) != - AUDIO_SUCCESS) { + AUDIO_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_attach() am_attach() failed"); + "!audioixp_attach() am_attach() failed"); goto error_intr; } @@ -717,13 +717,13 @@ audioixp_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) ATRACE_32("audioixp_detach() instance", instance); ATRACE("audioixp_detach() audioixp_statep", - audioixp_statep); + audioixp_statep); if ((statep = ddi_get_soft_state(audioixp_statep, instance)) == - NULL) { + NULL) { audio_sup_log(NULL, CE_WARN, - "!%s%d: audioixp_detach() get soft state failed", - audioixp_name, instance); + "!%s%d: audioixp_detach() get soft state failed", + audioixp_name, instance); return (DDI_FAILURE); } @@ -737,13 +737,13 @@ audioixp_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) case DDI_SUSPEND: ATRACE("audioixp_detach() SUSPEND", statep); audio_sup_log(statep->audio_handle, CE_WARN, - "audioixp_detach() suspend is not supported yet"); + "audioixp_detach() suspend is not supported yet"); return (DDI_FAILURE); default: ATRACE("audioixp_detach() unknown command", cmd); audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_detach() unknown command: 0x%x", cmd); + "!audioixp_detach() unknown command: 0x%x", cmd); return (DDI_FAILURE); } @@ -856,21 +856,21 @@ audioixp_intr(caddr_t arg) intr_claimed = DDI_INTR_CLAIMED; IXP_AM_PUT32(IXP_AUDIO_INT, IXP_AUDIO_INT_CODEC0_NOT_READY); statep -> ixp_codec_not_ready_bits |= - IXP_AUDIO_INT_CODEC0_NOT_READY; + IXP_AUDIO_INT_CODEC0_NOT_READY; } if (sr & IXP_AUDIO_INT_CODEC1_NOT_READY) { intr_claimed = DDI_INTR_CLAIMED; IXP_AM_PUT32(IXP_AUDIO_INT, IXP_AUDIO_INT_CODEC1_NOT_READY); statep -> ixp_codec_not_ready_bits |= - IXP_AUDIO_INT_CODEC1_NOT_READY; + IXP_AUDIO_INT_CODEC1_NOT_READY; } if (sr & IXP_AUDIO_INT_CODEC2_NOT_READY) { intr_claimed = DDI_INTR_CLAIMED; IXP_AM_PUT32(IXP_AUDIO_INT, IXP_AUDIO_INT_CODEC2_NOT_READY); statep -> ixp_codec_not_ready_bits |= - IXP_AUDIO_INT_CODEC2_NOT_READY; + IXP_AUDIO_INT_CODEC2_NOT_READY; } if (sr & IXP_AUDIO_INT_NEW_FRAME) { @@ -992,22 +992,22 @@ audioixp_ad_set_config(audiohdl_t ahandle, int stream, int command, if (arg1) { /* mute */ if (statep->swap_out == B_FALSE) { (void) audioixp_or_ac97(statep, - AC97_MASTER_VOLUME_REGISTER, MVR_MUTE); + AC97_MASTER_VOLUME_REGISTER, MVR_MUTE); } else { (void) audioixp_or_ac97(statep, - AC97_EXTENDED_LRS_VOLUME_REGISTER, - AD1980_SURR_MUTE); + AC97_EXTENDED_LRS_VOLUME_REGISTER, + AD1980_SURR_MUTE); } (void) audioixp_or_ac97(statep, - AC97_HEADPHONE_VOLUME_REGISTER, HPVR_MUTE); + AC97_HEADPHONE_VOLUME_REGISTER, HPVR_MUTE); (void) audioixp_or_ac97(statep, - AC97_MONO_MASTER_VOLUME_REGSITER, MMVR_MUTE); + AC97_MONO_MASTER_VOLUME_REGSITER, MMVR_MUTE); } else { /* not muted */ /* by setting the port we unmute only active ports */ (void) audioixp_set_port(statep, - AUDIO_PLAY, statep->ixp_output_port); + AUDIO_PLAY, statep->ixp_output_port); } break; @@ -1021,14 +1021,14 @@ audioixp_ad_set_config(audiohdl_t ahandle, int stream, int command, */ if (arg1) { /* enable */ (void) audioixp_or_ac97(statep, - AC97_MIC_VOLUME_REGISTER, MICVR_20dB_BOOST); + AC97_MIC_VOLUME_REGISTER, MICVR_20dB_BOOST); statep->ad_info.ad_add_mode |= AM_ADD_MODE_MIC_BOOST; } else { /* disable */ (void) audioixp_and_ac97(statep, - AC97_MIC_VOLUME_REGISTER, - (uint16_t)~MICVR_20dB_BOOST); + AC97_MIC_VOLUME_REGISTER, + (uint16_t)~MICVR_20dB_BOOST); statep->ad_info.ad_add_mode &= - ~AM_ADD_MODE_MIC_BOOST; + ~AM_ADD_MODE_MIC_BOOST; } break; @@ -1046,7 +1046,7 @@ audioixp_ad_set_config(audiohdl_t ahandle, int stream, int command, */ rc = AUDIO_FAILURE; ATRACE_32("audioixp_ad_set_config() unsupported command", - command); + command); break; } mutex_exit(&statep->inst_lock); @@ -1108,8 +1108,8 @@ audioixp_ad_set_format(audiohdl_t ahandle, int stream, int dir, if (sample_rate != IXP_SAMPR48000) { audio_sup_log(statep->audio_handle, CE_NOTE, - "!audioixp_ad_set_format() bad sample" - " rate %d\n", sample_rate); + "!audioixp_ad_set_format() bad sample" + " rate %d\n", sample_rate); mutex_exit(&statep->inst_lock); return (AUDIO_FAILURE); } @@ -1125,7 +1125,7 @@ audioixp_ad_set_format(audiohdl_t ahandle, int stream, int dir, case IXP_SAMPR48000: break; default: ATRACE_32("audioixp_ad_set_format() bad SR", - sample_rate); + sample_rate); mutex_exit(&statep->inst_lock); return (AUDIO_FAILURE); } @@ -1134,7 +1134,7 @@ audioixp_ad_set_format(audiohdl_t ahandle, int stream, int dir, if (dir == AUDIO_PLAY) { (void) audioixp_write_ac97(statep, - AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, sample_rate); + AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, sample_rate); /* * Some codecs before ac97 2.2, such as YMF753 produced by @@ -1144,13 +1144,13 @@ audioixp_ad_set_format(audiohdl_t ahandle, int stream, int dir, */ if (statep->var_sr == B_TRUE) { (void) audioixp_read_ac97(statep, - AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, &val); + AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, &val); if (val != sample_rate) { ATRACE_32("audioixp_ad_set_format()" - " bad out SR", sample_rate); + " bad out SR", sample_rate); audio_sup_log(statep->audio_handle, CE_NOTE, - "!audioixp_ad_set_format() bad out" - " SR %d\n", sample_rate); + "!audioixp_ad_set_format() bad out" + " SR %d\n", sample_rate); mutex_exit(&statep->inst_lock); return (AUDIO_FAILURE); } @@ -1158,15 +1158,15 @@ audioixp_ad_set_format(audiohdl_t ahandle, int stream, int dir, slot = IXP_AM_GET32(IXP_AUDIO_OUT_DMA_SLOT_EN_THRESHOLD); slot |= IXP_AUDIO_OUT_DMA_SLOT_3 - | IXP_AUDIO_OUT_DMA_SLOT_4; + | IXP_AUDIO_OUT_DMA_SLOT_4; slot &= ~ (IXP_AUDIO_OUT_DMA_SLOT_5 - |IXP_AUDIO_OUT_DMA_SLOT_6 - |IXP_AUDIO_OUT_DMA_SLOT_7 - |IXP_AUDIO_OUT_DMA_SLOT_8 - |IXP_AUDIO_OUT_DMA_SLOT_9 - |IXP_AUDIO_OUT_DMA_SLOT_10 - |IXP_AUDIO_OUT_DMA_SLOT_11 - |IXP_AUDIO_OUT_DMA_SLOT_12); + |IXP_AUDIO_OUT_DMA_SLOT_6 + |IXP_AUDIO_OUT_DMA_SLOT_7 + |IXP_AUDIO_OUT_DMA_SLOT_8 + |IXP_AUDIO_OUT_DMA_SLOT_9 + |IXP_AUDIO_OUT_DMA_SLOT_10 + |IXP_AUDIO_OUT_DMA_SLOT_11 + |IXP_AUDIO_OUT_DMA_SLOT_12); IXP_AM_PUT32(IXP_AUDIO_OUT_DMA_SLOT_EN_THRESHOLD, slot); @@ -1179,7 +1179,7 @@ audioixp_ad_set_format(audiohdl_t ahandle, int stream, int dir, statep->ixp_pprecision = precision; } else { (void) audioixp_write_ac97(statep, - AC97_EXTENDED_LR_DAC_RATE_REGISTER, sample_rate); + AC97_EXTENDED_LR_DAC_RATE_REGISTER, sample_rate); /* * Some codecs before ac97 2.2, such as YMF753 produced by @@ -1189,13 +1189,13 @@ audioixp_ad_set_format(audiohdl_t ahandle, int stream, int dir, */ if (statep->var_sr == B_TRUE) { (void) audioixp_read_ac97(statep, - AC97_EXTENDED_LR_DAC_RATE_REGISTER, &val); + AC97_EXTENDED_LR_DAC_RATE_REGISTER, &val); if (val != sample_rate) { ATRACE_32("audioixp_ad_set_format() bad" - " in SR", sample_rate); + " in SR", sample_rate); audio_sup_log(statep->audio_handle, CE_NOTE, - "!audioixp_ad_set_format() bad in" - " SR %d\n", sample_rate); + "!audioixp_ad_set_format() bad in" + " SR %d\n", sample_rate); mutex_exit(&statep->inst_lock); return (AUDIO_FAILURE); } @@ -1252,9 +1252,9 @@ audioixp_ad_start_play(audiohdl_t ahandle, int stream) statep->flags &= ~IXP_DMA_PLAY_PAUSED; audioixp_start_dma(statep, AUDIO_PLAY); IXP_AM_UPDATE32( - IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_OUT, - IXP_AUDIO_CMD_EN_OUT); + IXP_AUDIO_CMD, + IXP_AUDIO_CMD_EN_OUT, + IXP_AUDIO_CMD_EN_OUT); goto done; } @@ -1347,7 +1347,7 @@ audioixp_ad_stop_play(audiohdl_t ahandle, int stream) buf = &statep->play_buf; buf->io_started = B_FALSE; statep->flags &= ~(IXP_DMA_PLAY_STARTED - | IXP_DMA_PLAY_PAUSED | IXP_DMA_PLAY_EMPTY); + | IXP_DMA_PLAY_PAUSED | IXP_DMA_PLAY_EMPTY); mutex_exit(&statep->inst_lock); @@ -1472,54 +1472,54 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) statep->vol_bits_mask = 5; cdrom = ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "cdrom", 0); + "cdrom", 0); /* get the mode from the .conf file */ if (ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "mixer-mode", 1)) { + "mixer-mode", 1)) { mode = AM_MIXER_MODE; } else { mode = AM_COMPAT_MODE; } pints = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "play-interrupts", IXP_INTS); + DDI_PROP_DONTPASS, "play-interrupts", IXP_INTS); if (pints > IXP_MAX_INTS) { ATRACE_32("audioixp_init_state() " - "play interrupt rate too high, resetting", pints); + "play interrupt rate too high, resetting", pints); audio_sup_log(statep->audio_handle, CE_NOTE, - "audioixp_init_state() " - "play interrupt rate set too high, %d, resetting to %d", - pints, IXP_INTS); + "audioixp_init_state() " + "play interrupt rate set too high, %d, resetting to %d", + pints, IXP_INTS); pints = IXP_INTS; } else if (pints < IXP_MIN_INTS) { ATRACE_32("audioixp_init_state() " - "play interrupt rate too low, resetting", pints); + "play interrupt rate too low, resetting", pints); audio_sup_log(statep->audio_handle, CE_NOTE, - "audioixp_init_state() " - "play interrupt rate set too low, %d, resetting to %d", - pints, IXP_INTS); + "audioixp_init_state() " + "play interrupt rate set too low, %d, resetting to %d", + pints, IXP_INTS); pints = IXP_INTS; } rints = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "record-interrupts", IXP_INTS); + DDI_PROP_DONTPASS, "record-interrupts", IXP_INTS); if (rints > IXP_MAX_INTS) { ATRACE_32("audioixp_init_state() " - "record interrupt rate too high, resetting", rints); + "record interrupt rate too high, resetting", rints); audio_sup_log(statep->audio_handle, CE_NOTE, - "audioixp_init_state() " - "record interrupt rate set too high, %d, resetting to " - "%d", - rints, IXP_INTS); + "audioixp_init_state() " + "record interrupt rate set too high, %d, resetting to " + "%d", + rints, IXP_INTS); rints = IXP_INTS; } else if (rints < IXP_MIN_INTS) { ATRACE_32("audioixp_init_state() " - "record interrupt rate too low, resetting", rints); + "record interrupt rate too low, resetting", rints); audio_sup_log(statep->audio_handle, CE_NOTE, - "audioixp_init_state() " - "record interrupt rate set too low, %d, resetting to " - "%d", - rints, IXP_INTS); + "audioixp_init_state() " + "record interrupt rate set too low, %d, resetting to " + "%d", + rints, IXP_INTS); rints = IXP_INTS; } @@ -1530,11 +1530,11 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) statep->ixp_defaults.play.encoding = IXP_DEFAULT_ENC; statep->ixp_defaults.play.gain = IXP_DEFAULT_PGAIN; statep->ixp_defaults.play.port = - AUDIO_SPEAKER | AUDIO_LINE_OUT; + AUDIO_SPEAKER | AUDIO_LINE_OUT; statep->ixp_defaults.play.avail_ports = - AUDIO_SPEAKER | AUDIO_LINE_OUT; + AUDIO_SPEAKER | AUDIO_LINE_OUT; statep->ixp_defaults.play.mod_ports = - AUDIO_SPEAKER | AUDIO_LINE_OUT; + AUDIO_SPEAKER | AUDIO_LINE_OUT; statep->ixp_defaults.play.buffer_size = IXP_BSIZE; statep->ixp_defaults.play.balance = IXP_DEFAULT_BAL; @@ -1545,9 +1545,9 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) statep->ixp_defaults.record.gain = IXP_DEFAULT_PGAIN; statep->ixp_defaults.record.port = AUDIO_MICROPHONE; statep->ixp_defaults.record.avail_ports = - AUDIO_MICROPHONE|AUDIO_LINE_IN|AUDIO_CODEC_LOOPB_IN; + AUDIO_MICROPHONE|AUDIO_LINE_IN|AUDIO_CODEC_LOOPB_IN; statep->ixp_defaults.record.mod_ports = - AUDIO_MICROPHONE|AUDIO_LINE_IN|AUDIO_CODEC_LOOPB_IN; + AUDIO_MICROPHONE|AUDIO_LINE_IN|AUDIO_CODEC_LOOPB_IN; statep->ixp_defaults.record.buffer_size = IXP_BSIZE; statep->ixp_defaults.record.balance = IXP_DEFAULT_BAL; @@ -1555,8 +1555,8 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) statep->ixp_defaults.output_muted = B_FALSE; statep->ixp_defaults.ref_cnt = B_FALSE; statep->ixp_defaults.hw_features = - AUDIO_HWFEATURE_DUPLEX | AUDIO_HWFEATURE_PLAY | - AUDIO_HWFEATURE_IN2OUT | AUDIO_HWFEATURE_RECORD; + AUDIO_HWFEATURE_DUPLEX | AUDIO_HWFEATURE_PLAY | + AUDIO_HWFEATURE_IN2OUT | AUDIO_HWFEATURE_RECORD; statep->ixp_defaults.sw_features = AUDIO_SWFEATURE_MIXER; if (cdrom) { @@ -1565,17 +1565,17 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) } statep->ixp_psample_rate = - statep->ixp_defaults.play.sample_rate; + statep->ixp_defaults.play.sample_rate; statep->ixp_pchannels = - statep->ixp_defaults.play.channels; + statep->ixp_defaults.play.channels; statep->ixp_pprecision = - statep->ixp_defaults.play.precision; + statep->ixp_defaults.play.precision; statep->ixp_csample_rate = - statep->ixp_defaults.record.sample_rate; + statep->ixp_defaults.record.sample_rate; statep->ixp_cchannels = - statep->ixp_defaults.record.channels; + statep->ixp_defaults.record.channels; statep->ixp_cprecision = - statep->ixp_defaults.record.precision; + statep->ixp_defaults.record.precision; /* * fill in the ad_info structure @@ -1591,16 +1591,16 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) statep->ad_info.ad_dev_info = &statep->ixp_dev_info; statep->ad_info.ad_diag_flags = AM_DIAG_INTERNAL_LOOP; statep->ad_info.ad_diff_flags = - AM_DIFF_SR | AM_DIFF_CH | AM_DIFF_PREC | AM_DIFF_ENC; + AM_DIFF_SR | AM_DIFF_CH | AM_DIFF_PREC | AM_DIFF_ENC; statep->ad_info.ad_assist_flags = AM_ASSIST_MIC; statep->ad_info.ad_misc_flags = AM_MISC_RP_EXCL | AM_MISC_MONO_DUP; statep->ad_info.ad_num_mics = 1; /* play capabilities */ statep->ad_info.ad_play.ad_mixer_srs = - audioixp_mixer_sample_rates; + audioixp_mixer_sample_rates; statep->ad_info.ad_play.ad_compat_srs = - audioixp_compat_sample_rates; + audioixp_compat_sample_rates; statep->ad_info.ad_play.ad_conv = &am_src2; statep->ad_info.ad_play.ad_sr_info = NULL; statep->ad_info.ad_play.ad_chs = audioixp_channels; @@ -1610,9 +1610,9 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) /* record capabilities */ statep->ad_info.ad_record.ad_mixer_srs = - audioixp_mixer_sample_rates; + audioixp_mixer_sample_rates; statep->ad_info.ad_record.ad_compat_srs = - audioixp_compat_sample_rates; + audioixp_compat_sample_rates; statep->ad_info.ad_record.ad_conv = &am_src2; statep->ad_info.ad_record.ad_sr_info = NULL; statep->ad_info.ad_record.ad_chs = audioixp_channels; @@ -1621,9 +1621,9 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) statep->ad_info.ad_record.ad_bsize = IXP_BSIZE; if (ddi_get_iblock_cookie(dip, (uint_t)0, &statep->intr_iblock) != - DDI_SUCCESS) { + DDI_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_init_state() cannot get iblock cookie"); + "!audioixp_init_state() cannot get iblock cookie"); return (AUDIO_FAILURE); } mutex_init(&statep->inst_lock, NULL, MUTEX_DRIVER, statep->intr_iblock); @@ -1634,11 +1634,11 @@ audioixp_init_state(audioixp_state_t *statep, dev_info_t *dip) (void) strcpy(statep->ixp_dev_info.version, IXP_DEV_VERSION); statep->play_buf_size = IXP_SAMPR48000 * AUDIO_CHANNELS_STEREO * - (AUDIO_PRECISION_16 >> AUDIO_PRECISION_SHIFT) / pints; + (AUDIO_PRECISION_16 >> AUDIO_PRECISION_SHIFT) / pints; statep->play_buf_size += IXP_MOD_SIZE - - (statep->play_buf_size % IXP_MOD_SIZE); + (statep->play_buf_size % IXP_MOD_SIZE); statep->record_buf_size = IXP_SAMPR48000 * AUDIO_CHANNELS_STEREO * - (AUDIO_PRECISION_16 >> AUDIO_PRECISION_SHIFT) / rints; + (AUDIO_PRECISION_16 >> AUDIO_PRECISION_SHIFT) / rints; statep->record_buf_size += IXP_MOD_SIZE - 1; statep->record_buf_size -= statep->record_buf_size % IXP_MOD_SIZE; @@ -1675,21 +1675,21 @@ audioixp_map_regs(dev_info_t *dip, audioixp_state_t *statep) /* map PCI config space */ if (pci_config_setup(statep->dip, &statep->pci_conf_handle) == - DDI_FAILURE) { + DDI_FAILURE) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_map_regs() configuration " - "memory mapping failed"); + "!audioixp_map_regs() configuration " + "memory mapping failed"); goto error; } statep->ixp_res_flags |= IXP_RS_PCI_REGS; /* map audio mixer register */ if ((ddi_regs_map_setup(dip, IXP_IO_AM_REGS, - (caddr_t *)&statep->am_regs_base, 0, 0, - &dev_attr, &statep->am_regs_handle)) != DDI_SUCCESS) { + (caddr_t *)&statep->am_regs_base, 0, 0, + &dev_attr, &statep->am_regs_handle)) != DDI_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_map_regs() audio mixer " - "memory mapping failed"); + "!audioixp_map_regs() audio mixer " + "memory mapping failed"); goto error; } statep->ixp_res_flags |= IXP_RS_AM_REGS; @@ -1699,31 +1699,31 @@ audioixp_map_regs(dev_info_t *dip, audioixp_state_t *statep) * we allocate adjacent DMA memory for all DMA engines. */ if (ddi_dma_alloc_handle(dip, &bdlist_dma_attr, DDI_DMA_SLEEP, - (caddr_t)0, &statep->bdl_dma_handle) != DDI_SUCCESS) { + (caddr_t)0, &statep->bdl_dma_handle) != DDI_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_map_regs() ddi_dma_alloc_handle(bdlist)" - " failed"); + "!audioixp_map_regs() ddi_dma_alloc_handle(bdlist)" + " failed"); goto error; } statep->ixp_res_flags |= IXP_RS_DMA_BDL_HANDLE; if (ddi_dma_mem_alloc(statep->bdl_dma_handle, - sizeof (audioixp_bd_list_t), &dev_attr, DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, NULL, (caddr_t *)&statep->bdl_virtual, - &statep->bdl_size, &statep->bdl_acc_handle) != DDI_SUCCESS) { + sizeof (audioixp_bd_list_t), &dev_attr, DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, NULL, (caddr_t *)&statep->bdl_virtual, + &statep->bdl_size, &statep->bdl_acc_handle) != DDI_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_map_regs() ddi_dma_mem_alloc(bdlist) " - "failed"); + "!audioixp_map_regs() ddi_dma_mem_alloc(bdlist) " + "failed"); goto error; } statep->ixp_res_flags |= IXP_RS_DMA_BDL_MEM; if (ddi_dma_addr_bind_handle(statep->bdl_dma_handle, NULL, - (caddr_t)statep->bdl_virtual, statep->bdl_size, - DDI_DMA_RDWR|DDI_DMA_CONSISTENT, DDI_DMA_SLEEP, NULL, &cookie, - &count) != DDI_DMA_MAPPED) { + (caddr_t)statep->bdl_virtual, statep->bdl_size, + DDI_DMA_RDWR|DDI_DMA_CONSISTENT, DDI_DMA_SLEEP, NULL, &cookie, + &count) != DDI_DMA_MAPPED) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_map_regs() addr_bind_handle failed"); + "!audioixp_map_regs() addr_bind_handle failed"); goto error; } @@ -1734,13 +1734,13 @@ audioixp_map_regs(dev_info_t *dip, audioixp_state_t *statep) if (count != 1) { (void) ddi_dma_unbind_handle(statep->bdl_dma_handle); audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_map_regs() addr_bind_handle failed," - " cookies > 1"); + "!audioixp_map_regs() addr_bind_handle failed," + " cookies > 1"); goto error; } statep->bdl_phys = - (audioixp_bd_list_t *)(long)(cookie.dmac_address); + (audioixp_bd_list_t *)(long)(cookie.dmac_address); statep->ixp_res_flags |= IXP_RS_DMA_BDL_BIND; return (AUDIO_SUCCESS); @@ -1838,23 +1838,23 @@ audioixp_alloc_sample_buf(audioixp_state_t *statep, int which, int len) chunk = &(buf->chunk[i]); if (ddi_dma_alloc_handle(statep->dip, &sample_buf_dma_attr, - DDI_DMA_SLEEP, NULL, &chunk->dma_handle) != - DDI_SUCCESS) { + DDI_DMA_SLEEP, NULL, &chunk->dma_handle) != + DDI_SUCCESS) { goto error; } if (ddi_dma_mem_alloc(chunk->dma_handle, len, &dev_attr, - DDI_DMA_STREAMING, DDI_DMA_SLEEP, NULL, - &chunk->data_buf, &chunk->real_len, - &chunk->acc_handle) != DDI_SUCCESS) { + DDI_DMA_STREAMING, DDI_DMA_SLEEP, NULL, + &chunk->data_buf, &chunk->real_len, + &chunk->acc_handle) != DDI_SUCCESS) { ddi_dma_free_handle(&chunk->dma_handle); goto error; } if (ddi_dma_addr_bind_handle(chunk->dma_handle, NULL, - chunk->data_buf, chunk->real_len, DDI_DMA_WRITE, - DDI_DMA_SLEEP, NULL, &cookie, &count) != - DDI_DMA_MAPPED) { + chunk->data_buf, chunk->real_len, DDI_DMA_WRITE, + DDI_DMA_SLEEP, NULL, &cookie, &count) != + DDI_DMA_MAPPED) { ddi_dma_mem_free(&chunk->acc_handle); ddi_dma_free_handle(&chunk->dma_handle); goto error; @@ -1942,25 +1942,25 @@ static void audioixp_setup_bdl(audioixp_state_t *statep) /* setup playback bdlist */ for (i = 0; i < IXP_BD_NUMS; i ++) { bd_p = &(((audioixp_bd_list_t *)(statep->bdl_virtual)) - ->pcm_out[i]); + ->pcm_out[i]); bd_p->buf_base = statep->play_buf.chunk[i&IXP_CHUNK_MASK] - .addr_phy; + .addr_phy; bd_p->status = 0; bd_p->buf_len = 0; bd_p->next = (uintptr_t)&(((audioixp_bd_list_t *) - (statep->bdl_phys))->pcm_out[(i+1)%IXP_BD_NUMS]); + (statep->bdl_phys))->pcm_out[(i+1)%IXP_BD_NUMS]); } /* setup record bdlist */ for (i = 0; i < IXP_BD_NUMS; i ++) { bd_p = &(((audioixp_bd_list_t *)(statep->bdl_virtual)) - ->pcm_in[i]); + ->pcm_in[i]); bd_p->buf_base = statep->record_buf.chunk[i&IXP_CHUNK_MASK] - .addr_phy; + .addr_phy; bd_p->status = 0; bd_p->buf_len = 0; bd_p->next = (uintptr_t)&(((audioixp_bd_list_t *) - (statep->bdl_phys))->pcm_in[(i+1)%IXP_BD_NUMS]); + (statep->bdl_phys))->pcm_in[(i+1)%IXP_BD_NUMS]); } } /* audioixp_setup_bdl() */ @@ -1985,13 +1985,13 @@ audioixp_start_dma(audioixp_state_t *statep, int dir) if (dir == AUDIO_PLAY) { IXP_AM_PUT32(IXP_AUDIO_FIFO_FLUSH, IXP_AUDIO_FIFO_FLUSH_OUT); IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_OUT_DMA, - IXP_AUDIO_CMD_EN_OUT_DMA); + IXP_AUDIO_CMD_EN_OUT_DMA, + IXP_AUDIO_CMD_EN_OUT_DMA); } else { IXP_AM_PUT32(IXP_AUDIO_FIFO_FLUSH, IXP_AUDIO_FIFO_FLUSH_IN); IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_IN_DMA, - IXP_AUDIO_CMD_EN_IN_DMA); + IXP_AUDIO_CMD_EN_IN_DMA, + IXP_AUDIO_CMD_EN_IN_DMA); } } /* audioixp_start_dma() */ @@ -2018,12 +2018,12 @@ audioixp_stop_dma(audioixp_state_t *statep, int dir) if (dir == AUDIO_PLAY) { IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_OUT_DMA, - 0); + IXP_AUDIO_CMD_EN_OUT_DMA, + 0); } else { IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_IN_DMA, - 0); + IXP_AUDIO_CMD_EN_IN_DMA, + 0); } } /* audioixp_stop_dma() */ @@ -2055,12 +2055,12 @@ audioixp_codec_ready(audioixp_state_t *statep) old_reg = IXP_AM_GET32(IXP_AUDIO_INT_EN); IXP_AM_UPDATE32(IXP_AUDIO_INT_EN, - IXP_AUDIO_INT_EN_CODEC0_NOT_READY - | IXP_AUDIO_INT_EN_CODEC1_NOT_READY - | IXP_AUDIO_INT_EN_CODEC2_NOT_READY, - IXP_AUDIO_INT_EN_CODEC0_NOT_READY - | IXP_AUDIO_INT_EN_CODEC1_NOT_READY - | IXP_AUDIO_INT_EN_CODEC2_NOT_READY); + IXP_AUDIO_INT_EN_CODEC0_NOT_READY + | IXP_AUDIO_INT_EN_CODEC1_NOT_READY + | IXP_AUDIO_INT_EN_CODEC2_NOT_READY, + IXP_AUDIO_INT_EN_CODEC0_NOT_READY + | IXP_AUDIO_INT_EN_CODEC1_NOT_READY + | IXP_AUDIO_INT_EN_CODEC2_NOT_READY); drv_usecwait(1000); IXP_AM_PUT32(IXP_AUDIO_INT_EN, old_reg); @@ -2135,10 +2135,10 @@ audioixp_read_ac97(audioixp_state_t *statep, int reg, uint16_t *data) } value = IXP_AUDIO_OUT_PHY_PRIMARY_CODEC - | IXP_AUDIO_OUT_PHY_READ - | IXP_AUDIO_OUT_PHY_EN - | ((reg << IXP_AUDIO_OUT_PHY_ADDR_SHIFT) - & IXP_AUDIO_OUT_PHY_ADDR_MASK); + | IXP_AUDIO_OUT_PHY_READ + | IXP_AUDIO_OUT_PHY_EN + | ((reg << IXP_AUDIO_OUT_PHY_ADDR_SHIFT) + & IXP_AUDIO_OUT_PHY_ADDR_MASK); IXP_AM_PUT32(IXP_AUDIO_OUT_PHY_ADDR_DATA, value); if (audioixp_codec_sync(statep) != AUDIO_SUCCESS) { @@ -2150,7 +2150,7 @@ audioixp_read_ac97(audioixp_state_t *statep, int reg, uint16_t *data) result = IXP_AM_GET32(IXP_AUDIO_IN_PHY_ADDR_DATA); if (result & IXP_AUDIO_IN_PHY_READY) { *data = (result & IXP_AUDIO_IN_PHY_DATA_MASK) - >> IXP_AUDIO_IN_PHY_DATA_SHIFT; + >> IXP_AUDIO_IN_PHY_DATA_SHIFT; statep->codec_shadow[IXP_CODEC_REG(reg)] = *data; return (AUDIO_SUCCESS); } @@ -2188,12 +2188,12 @@ audioixp_write_ac97(audioixp_state_t *statep, int reg, uint16_t data) } value = IXP_AUDIO_OUT_PHY_PRIMARY_CODEC - | IXP_AUDIO_OUT_PHY_WRITE - | IXP_AUDIO_OUT_PHY_EN - | ((reg << IXP_AUDIO_OUT_PHY_ADDR_SHIFT) - & IXP_AUDIO_OUT_PHY_ADDR_MASK) - | ((data << IXP_AUDIO_OUT_PHY_DATA_SHIFT) - & IXP_AUDIO_OUT_PHY_DATA_MASK); + | IXP_AUDIO_OUT_PHY_WRITE + | IXP_AUDIO_OUT_PHY_EN + | ((reg << IXP_AUDIO_OUT_PHY_ADDR_SHIFT) + & IXP_AUDIO_OUT_PHY_ADDR_MASK) + | ((data << IXP_AUDIO_OUT_PHY_DATA_SHIFT) + & IXP_AUDIO_OUT_PHY_DATA_MASK); IXP_AM_PUT32(IXP_AUDIO_OUT_PHY_ADDR_DATA, value); (void) audioixp_read_ac97(statep, reg, &tmp); @@ -2280,13 +2280,13 @@ audioixp_reset_ac97(audioixp_state_t *statep) /* register reset */ IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_AC_SOFT_RESET, - IXP_AUDIO_CMD_AC_SOFT_RESET); + IXP_AUDIO_CMD_AC_SOFT_RESET, + IXP_AUDIO_CMD_AC_SOFT_RESET); drv_usecwait(10); IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_AC_SOFT_RESET, - 0); + IXP_AUDIO_CMD_AC_SOFT_RESET, + 0); /* cold reset */ for (i = 0; i < 300; i++) { @@ -2361,7 +2361,7 @@ audioixp_chunk_processed(audioixp_state_t *statep, int dir) bd = &statep->bdl_virtual->pcm_in[i]; if (hw_pointer >= bd->buf_base && - hw_pointer < bd->buf_base + bd->buf_len*4) + hw_pointer < bd->buf_base + bd->buf_len*4) break; } @@ -2375,7 +2375,7 @@ audioixp_chunk_processed(audioixp_state_t *statep, int dir) */ if (retry_count == 100) { cmn_err(CE_WARN, "!bad hw_pointer, hw_pointer=0x%08x", - hw_pointer); + hw_pointer); for (i = 0; i < IXP_BD_NUMS; i ++) { if (dir == AUDIO_PLAY) bd = &statep->bdl_virtual->pcm_out[i]; @@ -2383,14 +2383,14 @@ audioixp_chunk_processed(audioixp_state_t *statep, int dir) bd = &statep->bdl_virtual->pcm_in[i]; cmn_err(CE_WARN, "!bd[%d], base=0x%08x, len=0x%x", - i, bd->buf_base, bd->buf_len); + i, bd->buf_base, bd->buf_len); } return (0); } if (buf->last_hw_pointer >= bd->buf_base && /* case 1 */ - hw_pointer > buf->last_hw_pointer && - hw_pointer < bd->buf_base + bd->buf_len * 4) + hw_pointer > buf->last_hw_pointer && + hw_pointer < bd->buf_base + bd->buf_len * 4) result = 0; else if (buf->last_hw_pointer == hw_pointer) /* case 2 */ result = 2; @@ -2434,9 +2434,9 @@ audioixp_fill_play_buf(audioixp_state_t *statep) * ready to start PCM out engine */ IXP_AM_PUT32( - IXP_AUDIO_OUT_DMA_LINK_P, - (uint32_t)(uintptr_t)statep->bdl_phys->pcm_out | - IXP_AUDIO_OUT_DMA_LINK_P_EN); + IXP_AUDIO_OUT_DMA_LINK_P, + (uint32_t)(uintptr_t)statep->bdl_phys->pcm_out | + IXP_AUDIO_OUT_DMA_LINK_P_EN); buf->next = 0; buf->avail = 2; /* have only two buffers for playback */ @@ -2448,7 +2448,7 @@ audioixp_fill_play_buf(audioixp_state_t *statep) } samples = statep->ixp_psample_rate * statep->ixp_pchannels / - statep->ad_info.ad_play.ad_int_rate; + statep->ad_info.ad_play.ad_int_rate; /* if not an even number of samples we panic! */ if ((samples & 1) != 0) { @@ -2459,12 +2459,12 @@ audioixp_fill_play_buf(audioixp_state_t *statep) chunk = &(buf->chunk[buf->next & 1]); mutex_exit(&statep->inst_lock); rs = am_get_audio(statep->audio_handle, - (char *)(chunk->data_buf), AUDIO_NO_CHANNEL, samples); + (char *)(chunk->data_buf), AUDIO_NO_CHANNEL, samples); mutex_enter(&statep->inst_lock); if (((statep->flags & IXP_DMA_PLAY_STARTED) == 0) && - (buf->io_started)) { + (buf->io_started)) { return (AUDIO_FAILURE); } @@ -2493,14 +2493,14 @@ audioixp_fill_play_buf(audioixp_state_t *statep) /* Finished playing, then stop it */ IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_OUT, - 0); + IXP_AUDIO_CMD_EN_OUT, + 0); buf->io_started = B_FALSE; /* clr the flags getting ready for next start */ statep->flags &= ~(IXP_DMA_PLAY_PAUSED | - IXP_DMA_PLAY_EMPTY); + IXP_DMA_PLAY_EMPTY); return (AUDIO_FAILURE); } else { @@ -2515,7 +2515,7 @@ audioixp_fill_play_buf(audioixp_state_t *statep) /* we got at least one sample */ statep->flags &= ~IXP_DMA_PLAY_EMPTY; (void) ddi_dma_sync(chunk->dma_handle, 0, rs<<1, - DDI_DMA_SYNC_FORDEV); + DDI_DMA_SYNC_FORDEV); } /* put the samples into buffer descriptor list entry */ @@ -2530,9 +2530,9 @@ audioixp_fill_play_buf(audioixp_state_t *statep) /* start PCM out engine */ if (!buf->io_started) { IXP_AM_UPDATE32( - IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_OUT, - IXP_AUDIO_CMD_EN_OUT); + IXP_AUDIO_CMD, + IXP_AUDIO_CMD_EN_OUT, + IXP_AUDIO_CMD_EN_OUT); buf->io_started = B_TRUE; } @@ -2598,8 +2598,8 @@ audioixp_prepare_record_buf(audioixp_state_t *statep) /* buffer base */ IXP_AM_PUT32(IXP_AUDIO_IN_DMA_LINK_P, - (uint32_t)(uintptr_t)statep->bdl_phys->pcm_in | - IXP_AUDIO_IN_DMA_LINK_P_EN); + (uint32_t)(uintptr_t)statep->bdl_phys->pcm_in | + IXP_AUDIO_IN_DMA_LINK_P_EN); buf->next = 0; buf->avail = 2; buf->last_hw_pointer = statep->bdl_virtual->pcm_in[0].buf_base; @@ -2610,7 +2610,7 @@ audioixp_prepare_record_buf(audioixp_state_t *statep) } samples = statep->ixp_csample_rate * statep->ixp_cchannels / - statep->ad_info.ad_record.ad_int_rate; + statep->ad_info.ad_record.ad_int_rate; /* if not an even number of samples we panic! */ if ((samples & 1) != 0) { @@ -2628,8 +2628,8 @@ audioixp_prepare_record_buf(audioixp_state_t *statep) if (!buf->io_started) { buf->io_started = B_TRUE; IXP_AM_UPDATE32(IXP_AUDIO_CMD, - IXP_AUDIO_CMD_EN_IN, - IXP_AUDIO_CMD_EN_IN); + IXP_AUDIO_CMD_EN_IN, + IXP_AUDIO_CMD_EN_IN); } return (AUDIO_SUCCESS); @@ -2665,10 +2665,10 @@ audioixp_reclaim_record_buf(audioixp_state_t *statep) while (buf->avail > 0) { chunk = &buf->chunk[buf->next & 1]; (void) ddi_dma_sync(chunk->dma_handle, 0, - samples<<1, DDI_DMA_SYNC_FORCPU); + samples<<1, DDI_DMA_SYNC_FORCPU); mutex_exit(&statep->inst_lock); am_send_audio(statep->audio_handle, chunk->data_buf, - AUDIO_NO_CHANNEL, samples); + AUDIO_NO_CHANNEL, samples); mutex_enter(&statep->inst_lock); buf->avail --; buf->next ++; @@ -2737,7 +2737,7 @@ audioixp_set_gain(audioixp_state_t *statep, int dir, int gain, ASSERT(dir == AUDIO_RECORD); (void) audioixp_read_ac97(statep, - AC97_RECORD_GAIN_REGISTER, &tmp); + AC97_RECORD_GAIN_REGISTER, &tmp); if (channel == 0) { /* left channel */ tmp &= ~RGR_LEFT_MASK; @@ -2749,7 +2749,7 @@ audioixp_set_gain(audioixp_state_t *statep, int dir, int gain, tmp |= gain & RGR_RIGHT_MASK; } (void) audioixp_write_ac97(statep, - AC97_RECORD_GAIN_REGISTER, tmp); + AC97_RECORD_GAIN_REGISTER, tmp); } return (AUDIO_SUCCESS); @@ -2793,44 +2793,44 @@ audioixp_set_port(audioixp_state_t *statep, int dir, int port) if (port & AUDIO_SPEAKER) { (void) audioixp_and_ac97(statep, - AC97_MONO_MASTER_VOLUME_REGSITER, - (uint16_t)~MVR_MUTE); + AC97_MONO_MASTER_VOLUME_REGSITER, + (uint16_t)~MVR_MUTE); tmp |= AUDIO_SPEAKER; } else { (void) audioixp_or_ac97(statep, - AC97_MONO_MASTER_VOLUME_REGSITER, MVR_MUTE); + AC97_MONO_MASTER_VOLUME_REGSITER, MVR_MUTE); } if (port & AUDIO_LINE_OUT) { if (statep->swap_out == B_FALSE) { (void) audioixp_and_ac97(statep, - AC97_MASTER_VOLUME_REGISTER, - (uint16_t)~MVR_MUTE); + AC97_MASTER_VOLUME_REGISTER, + (uint16_t)~MVR_MUTE); } else { (void) audioixp_and_ac97(statep, - AC97_EXTENDED_LRS_VOLUME_REGISTER, - (uint16_t)~AD1980_SURR_MUTE); + AC97_EXTENDED_LRS_VOLUME_REGISTER, + (uint16_t)~AD1980_SURR_MUTE); } tmp |= AUDIO_LINE_OUT; } else { if (statep->swap_out == B_FALSE) { (void) audioixp_or_ac97(statep, - AC97_MASTER_VOLUME_REGISTER, MVR_MUTE); + AC97_MASTER_VOLUME_REGISTER, MVR_MUTE); } else { (void) audioixp_or_ac97(statep, - AC97_EXTENDED_LRS_VOLUME_REGISTER, - AD1980_SURR_MUTE); + AC97_EXTENDED_LRS_VOLUME_REGISTER, + AD1980_SURR_MUTE); } } if (port & AUDIO_HEADPHONE) { (void) audioixp_and_ac97(statep, - AC97_HEADPHONE_VOLUME_REGISTER, - (uint16_t)~MVR_MUTE); + AC97_HEADPHONE_VOLUME_REGISTER, + (uint16_t)~MVR_MUTE); tmp |= AUDIO_HEADPHONE; } else { (void) audioixp_or_ac97(statep, - AC97_HEADPHONE_VOLUME_REGISTER, MVR_MUTE); + AC97_HEADPHONE_VOLUME_REGISTER, MVR_MUTE); } ATRACE_32("audioixp_set_port() out port", tmp); @@ -2850,24 +2850,24 @@ audioixp_set_port(audioixp_state_t *statep, int dir, int port) /* mute the master record input */ (void) audioixp_or_ac97(statep, - AC97_RECORD_GAIN_REGISTER, RGR_MUTE); + AC97_RECORD_GAIN_REGISTER, RGR_MUTE); if (statep->ixp_monitor_gain) { if (statep->ixp_input_port == - AUDIO_MICROPHONE) { + AUDIO_MICROPHONE) { (void) audioixp_or_ac97(statep, - AC97_MIC_VOLUME_REGISTER, - MICVR_MUTE); + AC97_MIC_VOLUME_REGISTER, + MICVR_MUTE); } else if (statep->ixp_input_port == - AUDIO_LINE_IN) { + AUDIO_LINE_IN) { (void) audioixp_or_ac97(statep, - AC97_LINE_IN_VOLUME_REGISTER, - LIVR_MUTE); + AC97_LINE_IN_VOLUME_REGISTER, + LIVR_MUTE); } else if (statep->ixp_input_port == - AUDIO_CD) { + AUDIO_CD) { (void) audioixp_or_ac97(statep, - AC97_CD_VOLUME_REGISTER, - CDVR_MUTE); + AC97_CD_VOLUME_REGISTER, + CDVR_MUTE); } } break; @@ -2878,19 +2878,19 @@ audioixp_set_port(audioixp_state_t *statep, int dir, int port) if (statep->ixp_monitor_gain) { if (statep->ixp_input_port == - AUDIO_LINE_IN) { + AUDIO_LINE_IN) { (void) audioixp_or_ac97(statep, - AC97_LINE_IN_VOLUME_REGISTER, - LIVR_MUTE); + AC97_LINE_IN_VOLUME_REGISTER, + LIVR_MUTE); } else if (statep->ixp_input_port == - AUDIO_CD) { + AUDIO_CD) { (void) audioixp_or_ac97(statep, - AC97_CD_VOLUME_REGISTER, - CDVR_MUTE); + AC97_CD_VOLUME_REGISTER, + CDVR_MUTE); } (void) audioixp_write_ac97(statep, - AC97_MIC_VOLUME_REGISTER, - statep->ixp_monitor_gain); + AC97_MIC_VOLUME_REGISTER, + statep->ixp_monitor_gain); } break; @@ -2901,19 +2901,19 @@ audioixp_set_port(audioixp_state_t *statep, int dir, int port) /* see if we need to update monitor loopback */ if (statep->ixp_monitor_gain) { if (statep->ixp_input_port == - AUDIO_MICROPHONE) { + AUDIO_MICROPHONE) { (void) audioixp_or_ac97(statep, - AC97_MIC_VOLUME_REGISTER, - MICVR_MUTE); + AC97_MIC_VOLUME_REGISTER, + MICVR_MUTE); } else if (statep->ixp_input_port == - AUDIO_CD) { + AUDIO_CD) { (void) audioixp_or_ac97(statep, - AC97_CD_VOLUME_REGISTER, - CDVR_MUTE); + AC97_CD_VOLUME_REGISTER, + CDVR_MUTE); } (void) audioixp_write_ac97(statep, - AC97_LINE_IN_VOLUME_REGISTER, - statep->ixp_monitor_gain); + AC97_LINE_IN_VOLUME_REGISTER, + statep->ixp_monitor_gain); } break; @@ -2924,19 +2924,19 @@ audioixp_set_port(audioixp_state_t *statep, int dir, int port) /* see if we need to update monitor loopback */ if (statep->ixp_monitor_gain) { if (statep->ixp_input_port == - AUDIO_MICROPHONE) { + AUDIO_MICROPHONE) { (void) audioixp_or_ac97(statep, - AC97_MIC_VOLUME_REGISTER, - MICVR_MUTE); + AC97_MIC_VOLUME_REGISTER, + MICVR_MUTE); } else if (statep->ixp_input_port == - AUDIO_LINE_IN) { + AUDIO_LINE_IN) { (void) audioixp_or_ac97(statep, - AC97_LINE_IN_VOLUME_REGISTER, - LIVR_MUTE); + AC97_LINE_IN_VOLUME_REGISTER, + LIVR_MUTE); } (void) audioixp_write_ac97(statep, - AC97_CD_VOLUME_REGISTER, - statep->ixp_monitor_gain); + AC97_CD_VOLUME_REGISTER, + statep->ixp_monitor_gain); } break; @@ -2946,20 +2946,20 @@ audioixp_set_port(audioixp_state_t *statep, int dir, int port) if (statep->ixp_monitor_gain) { if (statep->ixp_input_port == - AUDIO_LINE_IN) { + AUDIO_LINE_IN) { (void) audioixp_or_ac97(statep, - AC97_LINE_IN_VOLUME_REGISTER, - LIVR_MUTE); + AC97_LINE_IN_VOLUME_REGISTER, + LIVR_MUTE); } else if (statep->ixp_input_port == - AUDIO_MICROPHONE) { + AUDIO_MICROPHONE) { (void) audioixp_or_ac97(statep, - AC97_MIC_VOLUME_REGISTER, - MICVR_MUTE); + AC97_MIC_VOLUME_REGISTER, + MICVR_MUTE); } else if (statep->ixp_input_port == - AUDIO_CD) { + AUDIO_CD) { (void) audioixp_or_ac97(statep, - AC97_CD_VOLUME_REGISTER, - CDVR_MUTE); + AC97_CD_VOLUME_REGISTER, + CDVR_MUTE); } } break; @@ -2971,13 +2971,13 @@ audioixp_set_port(audioixp_state_t *statep, int dir, int port) /* select the input */ (void) audioixp_write_ac97(statep, - AC97_RECORD_SELECT_CTRL_REGISTER, tmp); + AC97_RECORD_SELECT_CTRL_REGISTER, tmp); if ((port != AUDIO_NONE) && - (statep->codec_shadow[IXP_CODEC_REG( - AC97_RECORD_GAIN_REGISTER)] & RGR_MUTE)) { + (statep->codec_shadow[IXP_CODEC_REG( + AC97_RECORD_GAIN_REGISTER)] & RGR_MUTE)) { (void) audioixp_and_ac97(statep, - AC97_RECORD_GAIN_REGISTER, - (uint16_t)~RGR_MUTE); + AC97_RECORD_GAIN_REGISTER, + (uint16_t)~RGR_MUTE); } statep->ixp_input_port = port; } @@ -3019,10 +3019,10 @@ audioixp_set_monitor_gain(audioixp_state_t *statep, int gain) } else { /* Adjust the value of gain to the requirement of AC'97 */ tmp_short = AUDIO_MAX_GAIN - gain; - tmp_short = ((tmp_short << statep->vol_bits_mask) - tmp_short) / - AUDIO_MAX_GAIN; + tmp_short = ((tmp_short << statep->vol_bits_mask) - tmp_short) + / AUDIO_MAX_GAIN; tmp_short |= (((tmp_short << statep->vol_bits_mask) - - tmp_short) / AUDIO_MAX_GAIN) << 8; + tmp_short) / AUDIO_MAX_GAIN) << 8; } switch (statep->ixp_input_port) { @@ -3039,20 +3039,20 @@ audioixp_set_monitor_gain(audioixp_state_t *statep, int gain) * MIC input has 20dB boost, we just preserve it */ tmp_short |= - statep->codec_shadow[IXP_CODEC_REG( - AC97_MIC_VOLUME_REGISTER)] & MICVR_20dB_BOOST; + statep->codec_shadow[IXP_CODEC_REG( + AC97_MIC_VOLUME_REGISTER)] & MICVR_20dB_BOOST; (void) audioixp_write_ac97(statep, - AC97_MIC_VOLUME_REGISTER, tmp_short); + AC97_MIC_VOLUME_REGISTER, tmp_short); break; case AUDIO_LINE_IN: (void) audioixp_write_ac97(statep, - AC97_LINE_IN_VOLUME_REGISTER, tmp_short); + AC97_LINE_IN_VOLUME_REGISTER, tmp_short); break; case AUDIO_CD: (void) audioixp_write_ac97(statep, - AC97_CD_VOLUME_REGISTER, tmp_short); + AC97_CD_VOLUME_REGISTER, tmp_short); break; case AUDIO_CODEC_LOOPB_IN: @@ -3063,7 +3063,7 @@ audioixp_set_monitor_gain(audioixp_state_t *statep, int gain) default: /* this should never happen! */ ATRACE("audioixp_ad_set_config() monitor gain bad device", - NULL); + NULL); rc = AUDIO_FAILURE; goto done; } @@ -3119,13 +3119,13 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) /* AC97 reset */ if (audioixp_reset_ac97(statep) != AUDIO_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_chip_init() AC97 codec reset failed"); + "!audioixp_chip_init() AC97 codec reset failed"); return (AUDIO_FAILURE); } if (audioixp_codec_ready(statep) != AUDIO_SUCCESS) { audio_sup_log(statep->audio_handle, CE_WARN, - "!audioixp_chip_init() AC97 codec not ready"); + "!audioixp_chip_init() AC97 codec not ready"); return (AUDIO_FAILURE); } @@ -3134,24 +3134,24 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) if (restore == IXP_INIT_NO_RESTORE) { for (i = 0; i <= IXP_LAST_AC_REG; i += 2) { (void) audioixp_read_ac97(statep, i, - &(shadow[IXP_CODEC_REG(i)])); + &(shadow[IXP_CODEC_REG(i)])); } /* 02h - set master line out volume, muted, 0dB */ shadow[IXP_CODEC_REG(AC97_MASTER_VOLUME_REGISTER)] = - MVR_MUTE; + MVR_MUTE; /* 04h - set alternate line out volume, muted, 0dB */ shadow[IXP_CODEC_REG(AC97_HEADPHONE_VOLUME_REGISTER)] = - HPVR_MUTE; + HPVR_MUTE; /* 06h - set master mono volume, muted, 0dB */ shadow[IXP_CODEC_REG(AC97_MONO_MASTER_VOLUME_REGSITER)] = - MMVR_MUTE; + MMVR_MUTE; /* 08h - set master tone control to no modification */ shadow[IXP_CODEC_REG(AC97_MASTER_TONE_CONTROL_REGISTER)] = - MTCR_BASS_BYPASS|MTCR_TREBLE_BYPASS; + MTCR_BASS_BYPASS|MTCR_TREBLE_BYPASS; /* * 0ah - turn pc beep mute off, 0dB @@ -3163,55 +3163,55 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) * is, enable the PC Beep support. */ shadow[IXP_CODEC_REG(AC97_PC_BEEP_REGISTER)] = - PCBR_0dB_ATTEN; + PCBR_0dB_ATTEN; /* 0ch - set phone input, mute, 0dB attenuation */ shadow[IXP_CODEC_REG(AC97_PHONE_VOLUME_REGISTER)] = - PVR_MUTE|PVR_0dB_GAIN; + PVR_MUTE|PVR_0dB_GAIN; /* 0eh - set mic input, mute, 0dB attenuation */ shadow[IXP_CODEC_REG(AC97_MIC_VOLUME_REGISTER)] = - MICVR_MUTE|MICVR_0dB_GAIN; + MICVR_MUTE|MICVR_0dB_GAIN; /* 10h - set line input, mute, 0dB attenuation */ shadow[IXP_CODEC_REG(AC97_LINE_IN_VOLUME_REGISTER)] = - LIVR_MUTE|LIVR_RIGHT_0dB_GAIN|LIVR_LEFT_0dB_GAIN; + LIVR_MUTE|LIVR_RIGHT_0dB_GAIN|LIVR_LEFT_0dB_GAIN; /* 12h - set cd input, mute, 0dB attenuation */ shadow[IXP_CODEC_REG(AC97_CD_VOLUME_REGISTER)] = - CDVR_MUTE|CDVR_RIGHT_0dB_GAIN|CDVR_LEFT_0dB_GAIN; + CDVR_MUTE|CDVR_RIGHT_0dB_GAIN|CDVR_LEFT_0dB_GAIN; /* 14h - set video input, mute, 0dB attenuation */ shadow[IXP_CODEC_REG(AC97_VIDEO_VOLUME_REGISTER)] = - VIDVR_MUTE|VIDVR_RIGHT_0dB_GAIN|VIDVR_LEFT_0dB_GAIN; + VIDVR_MUTE|VIDVR_RIGHT_0dB_GAIN|VIDVR_LEFT_0dB_GAIN; /* 16h - set aux input, mute, 0dB attenuation */ shadow[IXP_CODEC_REG(AC97_AUX_VOLUME_REGISTER)] = - AUXVR_MUTE|AUXVR_RIGHT_0dB_GAIN|AUXVR_LEFT_0dB_GAIN; + AUXVR_MUTE|AUXVR_RIGHT_0dB_GAIN|AUXVR_LEFT_0dB_GAIN; /* 18h - set PCM out input, NOT muted, 0dB gain */ shadow[IXP_CODEC_REG(AC97_PCM_OUT_VOLUME_REGISTER)] = - PCMOVR_RIGHT_0dB_GAIN|PCMOVR_LEFT_0dB_GAIN; + PCMOVR_RIGHT_0dB_GAIN|PCMOVR_LEFT_0dB_GAIN; /* 1ah - set input device as mic */ shadow[IXP_CODEC_REG(AC97_RECORD_SELECT_CTRL_REGISTER)] = - RSCR_R_MIC|RSCR_L_MIC; + RSCR_R_MIC|RSCR_L_MIC; /* 1ch - set record gain to 0dB and not muted */ shadow[IXP_CODEC_REG(AC97_RECORD_GAIN_REGISTER)] = - RGR_RIGHT_0db_GAIN|RGR_LEFT_0db_GAIN; + RGR_RIGHT_0db_GAIN|RGR_LEFT_0db_GAIN; /* 1eh - set record mic gain to 0dB and not muted */ shadow[IXP_CODEC_REG(AC97_RECORD_GAIN_MIC_REGISTER)] = - RGMR_0db_GAIN; + RGMR_0db_GAIN; /* 20h - set GP register, mic 1, everything else off */ shadow[IXP_CODEC_REG(AC97_GENERAL_PURPOSE_REGISTER)] = - GPR_MS_MIC1|GPR_MONO_MIX_IN; + GPR_MS_MIC1|GPR_MONO_MIX_IN; /* 22h - set 3D control to NULL */ shadow[IXP_CODEC_REG(AC97_THREE_D_CONTROL_REGISTER)] = - TDCR_NULL; + TDCR_NULL; /* * The rest we ignore, most are reserved. @@ -3222,19 +3222,19 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) if (restore == IXP_INIT_RESTORE) { /* Restore from saved values */ shadow[IXP_CODEC_REG(AC97_MASTER_VOLUME_REGISTER)] = - MVR_MUTE; + MVR_MUTE; shadow[IXP_CODEC_REG(AC97_HEADPHONE_VOLUME_REGISTER)] = - HPVR_MUTE; + HPVR_MUTE; shadow[IXP_CODEC_REG(AC97_MONO_MASTER_VOLUME_REGSITER)] = - MMVR_MUTE; + MMVR_MUTE; shadow[IXP_CODEC_REG(AC97_PCM_OUT_VOLUME_REGISTER)] = - PCMOVR_MUTE; + PCMOVR_MUTE; } /* Now we set the AC97 codec registers to the saved values */ for (i = 2; i <= IXP_LAST_AC_REG; i += 2) (void) audioixp_write_ac97(statep, i, - shadow[IXP_CODEC_REG(i)]); + shadow[IXP_CODEC_REG(i)]); (void) audioixp_read_ac97(statep, AC97_RESET_REGISTER, &tmp); if (tmp & RR_HEADPHONE_SUPPORT) { @@ -3257,15 +3257,15 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) (void) audioixp_read_ac97(statep, AC97_VENDOR_ID1_REGISTER, &vid1); (void) audioixp_read_ac97(statep, AC97_VENDOR_ID2_REGISTER, &vid2); if (vid1 == AD1980_VID1 && - (vid2 == AD1980_VID2 || vid2 == AD1985_VID2)) { + (vid2 == AD1980_VID2 || vid2 == AD1985_VID2)) { if (ddi_prop_get_int(DDI_DEV_T_ANY, statep->dip, - DDI_PROP_DONTPASS, "ad198x-swap-output", 1) == 1) { + DDI_PROP_DONTPASS, "ad198x-swap-output", 1) == 1) { statep->swap_out = B_TRUE; (void) audioixp_read_ac97(statep, CODEC_AD_REG_MISC, - &tmp); + &tmp); (void) audioixp_write_ac97(statep, - CODEC_AD_REG_MISC, - tmp | AD1980_MISC_LOSEL | AD1980_MISC_HPSEL); + CODEC_AD_REG_MISC, + tmp | AD1980_MISC_LOSEL | AD1980_MISC_HPSEL); } } @@ -3277,11 +3277,11 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) */ if (!(vid1 == ALC202_VID1 && vid2 == ALC202_VID2)) { (void) audioixp_write_ac97(statep, - AC97_MASTER_VOLUME_REGISTER, MVR_MUTE | - MVR_RIGHT_OPTIONAL_MASK | MVR_LEFT_OPTIONAL_MASK); + AC97_MASTER_VOLUME_REGISTER, MVR_MUTE | + MVR_RIGHT_OPTIONAL_MASK | MVR_LEFT_OPTIONAL_MASK); (void) audioixp_read_ac97(statep, - AC97_MASTER_VOLUME_REGISTER, &tmp); + AC97_MASTER_VOLUME_REGISTER, &tmp); if ((tmp & 0x7fff) != (MVR_RIGHT_MASK | MVR_LEFT_MASK)) { statep->vol_bits_mask = 6; @@ -3290,46 +3290,46 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) /* resume the master volume to the max */ (void) audioixp_write_ac97(statep, AC97_MASTER_VOLUME_REGISTER, - MVR_MUTE); + MVR_MUTE); /* * if the codec chip does not support variable sample rate, * we set the sample rate to 48K */ (void) audioixp_read_ac97(statep, AC97_EXTENDED_AUDIO_REGISTER, - &xid); + &xid); audio_sup_log(statep->audio_handle, CE_NOTE, - "!%s%d: xid=0x%04x, vid1=0x%04x, vid2=0x%04x", - audioixp_name, ddi_get_instance(statep->dip), xid, vid1, vid2); + "!%s%d: xid=0x%04x, vid1=0x%04x, vid2=0x%04x", + audioixp_name, ddi_get_instance(statep->dip), xid, vid1, vid2); if (!(xid & EAR_VRA)) { statep->var_sr = B_FALSE; statep->ad_info.ad_record.ad_compat_srs = - audioixp_min_compat_sample_rates; + audioixp_min_compat_sample_rates; statep->ad_info.ad_play.ad_compat_srs = - audioixp_min_compat_sample_rates; + audioixp_min_compat_sample_rates; statep->ixp_defaults.play.sample_rate = - IXP_SAMPR48000; + IXP_SAMPR48000; statep->ixp_defaults.record.sample_rate = - IXP_SAMPR48000; + IXP_SAMPR48000; } else { /* variable sample rate supported */ statep->var_sr = B_TRUE; /* set variable rate mode */ (void) audioixp_write_ac97(statep, - AC97_EXTENDED_AUDIO_STAT_CTRL_REGISTER, EASCR_VRA); + AC97_EXTENDED_AUDIO_STAT_CTRL_REGISTER, EASCR_VRA); /* check the sample rates supported */ for (i = 0, j = 0; audioixp_compat_srs[i] != 0; i++) { (void) audioixp_write_ac97(statep, - AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, - audioixp_compat_srs[i]); + AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, + audioixp_compat_srs[i]); (void) audioixp_read_ac97(statep, - AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, &sr); + AC97_EXTENDED_FRONT_DAC_RATE_REGISTER, &sr); if (sr == audioixp_compat_srs[i]) { if (i != j) { audioixp_compat_srs[j] = - audioixp_compat_srs[i]; + audioixp_compat_srs[i]; } j++; } @@ -3337,7 +3337,7 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) if (j < 1) { audio_sup_log(statep->audio_handle, CE_WARN, - "!No standard sample rate is supported"); + "!No standard sample rate is supported"); return (AUDIO_FAILURE); } audioixp_compat_srs[j] = 0; @@ -3353,19 +3353,19 @@ audioixp_chip_init(audioixp_state_t *statep, int restore) } if (audioixp_compat_srs[i] != IXP_SAMPR8000) { statep->ixp_defaults.play.sample_rate = - audioixp_compat_srs[0]; + audioixp_compat_srs[0]; statep->ixp_defaults.record.sample_rate = - audioixp_compat_srs[0]; + audioixp_compat_srs[0]; } } /* enable interrupts */ IXP_AM_PUT32(IXP_AUDIO_INT, 0xffffffff); IXP_AM_PUT32( - IXP_AUDIO_INT_EN, - IXP_AUDIO_INT_EN_IN_DMA_OVERFLOW | - IXP_AUDIO_INT_EN_STATUS | - IXP_AUDIO_INT_EN_OUT_DMA_UNDERFLOW); + IXP_AUDIO_INT_EN, + IXP_AUDIO_INT_EN_IN_DMA_OVERFLOW | + IXP_AUDIO_INT_EN_STATUS | + IXP_AUDIO_INT_EN_OUT_DMA_UNDERFLOW); return (AUDIO_SUCCESS); } /* audioixp_chip_init() */ diff --git a/usr/src/uts/common/io/audio/sada/drv/audiots/audiots.c b/usr/src/uts/common/io/audio/sada/drv/audiots/audiots.c index 3644f52b34..d1a69da820 100644 --- a/usr/src/uts/common/io/audio/sada/drv/audiots/audiots.c +++ b/usr/src/uts/common/io/audio/sada/drv/audiots/audiots.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * audiots Audio Driver @@ -320,13 +318,14 @@ static struct dev_ops audiots_dev_ops = { nodev, /* devo_reset */ &audiots_cb_ops, /* devi_cb_ops */ NULL, /* devo_bus_ops */ - audiots_power /* devo_power */ + audiots_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ static struct modldrv audiots_modldrv = { &mod_driverops, /* drv_modops */ - TS_MOD_NAME " %I%", /* drv_linkinfo */ + TS_MOD_NAME, /* drv_linkinfo */ &audiots_dev_ops /* drv_dev_ops */ }; @@ -1964,14 +1963,14 @@ audiots_chip_init(audiots_state_t *state, int restore) /* set outputs muted */ state->ts_shadow[TS_CODEC_REG(AC97_MASTER_VOLUME_REGISTER)] = - MVR_MUTE; + MVR_MUTE; state->ts_shadow[TS_CODEC_REG(AC97_HEADPHONE_VOLUME_REGISTER)] = - HPVR_MUTE; + HPVR_MUTE; state->ts_shadow - [TS_CODEC_REG(AC97_MONO_MASTER_VOLUME_REGSITER)] = - MMVR_MUTE; + [TS_CODEC_REG(AC97_MONO_MASTER_VOLUME_REGSITER)] = + MMVR_MUTE; state->ts_shadow[TS_CODEC_REG(AC97_PCM_OUT_VOLUME_REGISTER)] = - PCMOVR_MUTE; + PCMOVR_MUTE; } /* preload shadow registers if not restoring */ @@ -2535,57 +2534,61 @@ rec_intr: /* 1st half just filled */ if (state->ts_flags & TS_DMA_RECORD_START) { /* skip the first interrupt, it is NULL */ - state->ts_flags &= ~TS_DMA_RECORD_START; + state->ts_flags &= ~TS_DMA_RECORD_START; } else { - if (ddi_dma_sync(state->ts_ch, - (off_t)((state->ts_ccnt<<1) - TS_FIFO_SIZE), - TS_FIFO_SIZE, DDI_DMA_SYNC_FORCPU) == - DDI_FAILURE) { - audio_sup_log(state->ts_ahandle, CE_NOTE, - "!dma_sync(1) failed audio lost"); - mutex_exit(&state->ts_lock); - goto done; - } - samples = TS_FIFO_SIZE / - (state->ts_cprecision >> AUDIO_PRECISION_SHIFT); - - sptr = (uint16_t *) - &state->ts_cb[(state->ts_ccnt<<1) - - TS_FIFO_SIZE]; - for (i = 0; i < (TS_FIFO_SIZE/2); i++) { - state->ts_tcbuf[i] = sptr[i]; - } - ATRACE_32("ts_intr(c1) " + if (ddi_dma_sync(state->ts_ch, + (off_t)((state->ts_ccnt<<1) - TS_FIFO_SIZE), + TS_FIFO_SIZE, DDI_DMA_SYNC_FORCPU) == + DDI_FAILURE) { + audio_sup_log(state->ts_ahandle, + CE_NOTE, + "!dma_sync(1) failed audio lost"); + mutex_exit(&state->ts_lock); + goto done; + } + samples = TS_FIFO_SIZE / + (state->ts_cprecision >> + AUDIO_PRECISION_SHIFT); + + sptr = (uint16_t *) + &state->ts_cb[(state->ts_ccnt<<1) - + TS_FIFO_SIZE]; + for (i = 0; i < (TS_FIFO_SIZE/2); i++) { + state->ts_tcbuf[i] = sptr[i]; + } + ATRACE_32("ts_intr(c1) " "calling am_send_audio() samples", samples); - tcbuf = state->ts_tcbuf; - mutex_exit(&state->ts_lock); - am_send_audio(state->ts_ahandle, tcbuf, - AUDIO_NO_CHANNEL, samples); - mutex_enter(&state->ts_lock); - - if (ddi_dma_sync(state->ts_ch, (off_t)0, - state->ts_ccnt - TS_FIFO_SIZE, - DDI_DMA_SYNC_FORCPU) == DDI_FAILURE) { - audio_sup_log(state->ts_ahandle, CE_NOTE, - "!dma_sync(2) failed audio lost"); - mutex_exit(&state->ts_lock); - goto done; - } - samples = (state->ts_ccnt - TS_FIFO_SIZE) / - (state->ts_cprecision >> AUDIO_PRECISION_SHIFT); - - sptr = (uint16_t *)state->ts_cb; - count = (state->ts_ccnt - TS_FIFO_SIZE) >> 1; - for (i = 0; i < count; i++) { + tcbuf = state->ts_tcbuf; + mutex_exit(&state->ts_lock); + am_send_audio(state->ts_ahandle, tcbuf, + AUDIO_NO_CHANNEL, samples); + mutex_enter(&state->ts_lock); + + if (ddi_dma_sync(state->ts_ch, (off_t)0, + state->ts_ccnt - TS_FIFO_SIZE, + DDI_DMA_SYNC_FORCPU) == DDI_FAILURE) { + audio_sup_log(state->ts_ahandle, + CE_NOTE, + "!dma_sync(2) failed audio lost"); + mutex_exit(&state->ts_lock); + goto done; + } + samples = (state->ts_ccnt - TS_FIFO_SIZE) / + (state->ts_cprecision >> + AUDIO_PRECISION_SHIFT); + + sptr = (uint16_t *)state->ts_cb; + count = (state->ts_ccnt - TS_FIFO_SIZE) >> 1; + for (i = 0; i < count; i++) { state->ts_tcbuf[i] = sptr[i]; - } - ATRACE_32("ts_intr(c2) " + } + ATRACE_32("ts_intr(c2) " "calling am_send_audio() samples", samples); - tcbuf = state->ts_tcbuf; - mutex_exit(&state->ts_lock); - am_send_audio(state->ts_ahandle, tcbuf, - AUDIO_NO_CHANNEL, samples); - mutex_enter(&state->ts_lock); + tcbuf = state->ts_tcbuf; + mutex_exit(&state->ts_lock); + am_send_audio(state->ts_ahandle, tcbuf, + AUDIO_NO_CHANNEL, samples); + mutex_enter(&state->ts_lock); } } else { /* 2nd half just filled */ diff --git a/usr/src/uts/common/io/bge/bge_chip2.c b/usr/src/uts/common/io/bge/bge_chip2.c index 1fc417710b..70f9ca69e6 100644 --- a/usr/src/uts/common/io/bge/bge_chip2.c +++ b/usr/src/uts/common/io/bge/bge_chip2.c @@ -2862,6 +2862,42 @@ static bge_regno_t shutdown_engine_regs[] = { BGE_REGNO_NONE /* terminator */ }; +#ifndef __sparc +static bge_regno_t quiesce_regs[] = { + READ_DMA_MODE_REG, + DMA_COMPLETION_MODE_REG, + WRITE_DMA_MODE_REG, + BGE_REGNO_NONE +}; + +void bge_chip_stop_nonblocking(bge_t *bgep); +#pragma no_inline(bge_chip_stop_nonblocking) + +/* + * This function is called by bge_quiesce(). We + * turn off all the DMA engines here. + */ +void +bge_chip_stop_nonblocking(bge_t *bgep) +{ + bge_regno_t *rbp; + + /* + * Flag that no more activity may be initiated + */ + bgep->progress &= ~PROGRESS_READY; + + rbp = quiesce_regs; + while (*rbp != BGE_REGNO_NONE) { + (void) bge_chip_disable_engine(bgep, *rbp, 0); + ++rbp; + } + + bgep->bge_chip_state = BGE_CHIP_STOPPED; +} + +#endif + /* * bge_chip_stop() -- stop all chip processing * diff --git a/usr/src/uts/common/io/bge/bge_impl.h b/usr/src/uts/common/io/bge/bge_impl.h index 53cf329e12..e00446cd1c 100644 --- a/usr/src/uts/common/io/bge/bge_impl.h +++ b/usr/src/uts/common/io/bge/bge_impl.h @@ -27,7 +27,6 @@ #ifndef _BGE_IMPL_H #define _BGE_IMPL_H -#pragma ident "%Z%%M% %I% %E% SMI" #ifdef __cplusplus extern "C" { @@ -1135,6 +1134,9 @@ void bge_chip_cfg_init(bge_t *bgep, chip_id_t *cidp, boolean_t enable_dma); int bge_chip_id_init(bge_t *bgep); int bge_chip_start(bge_t *bgep, boolean_t reset_phy); void bge_chip_stop(bge_t *bgep, boolean_t fault); +#ifndef __sparc +void bge_chip_stop_nonblocking(bge_t *bgep); +#endif #ifdef BGE_IPMI_ASF void bge_nic_put32(bge_t *bgep, bge_regno_t addr, uint32_t data); #pragma inline(bge_nic_put32) diff --git a/usr/src/uts/common/io/bge/bge_main2.c b/usr/src/uts/common/io/bge/bge_main2.c index afcee86726..01bff956aa 100644 --- a/usr/src/uts/common/io/bge/bge_main2.c +++ b/usr/src/uts/common/io/bge/bge_main2.c @@ -32,7 +32,7 @@ * This is the string displayed by modinfo, etc. * Make sure you keep the version ID up to date! */ -static char bge_ident[] = "Broadcom Gb Ethernet v0.69"; +static char bge_ident[] = "Broadcom Gb Ethernet"; /* * Property names @@ -3407,6 +3407,8 @@ bge_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd) } #endif #endif + + ddi_report_dev(devinfo); return (DDI_SUCCESS); attach_fail: @@ -3453,6 +3455,41 @@ bge_suspend(bge_t *bgep) } /* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +#ifdef __sparc +#define bge_quiesce ddi_quiesce_not_supported +#else +static int +bge_quiesce(dev_info_t *devinfo) +{ + bge_t *bgep = ddi_get_driver_private(devinfo); + + if (bgep == NULL) + return (DDI_FAILURE); + + if (bgep->intr_type == DDI_INTR_TYPE_FIXED) { + bge_reg_set32(bgep, PCI_CONF_BGE_MHCR, + MHCR_MASK_PCI_INT_OUTPUT); + } else { + bge_reg_clr32(bgep, MSI_MODE_REG, MSI_MSI_ENABLE); + } + + /* Stop the chip */ + bge_chip_stop_nonblocking(bgep); + + return (DDI_SUCCESS); +} +#endif + +/* * detach(9E) -- Detach a device from the system */ static int @@ -3538,8 +3575,17 @@ bge_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd) #undef BGE_DBG #define BGE_DBG BGE_DBG_INIT /* debug flag for this code */ -DDI_DEFINE_STREAM_OPS(bge_dev_ops, nulldev, nulldev, bge_attach, bge_detach, - nodev, NULL, D_MP, NULL); +DDI_DEFINE_STREAM_OPS(bge_dev_ops, + nulldev, /* identify */ + nulldev, /* probe */ + bge_attach, /* attach */ + bge_detach, /* detach */ + nodev, /* reset */ + NULL, /* cb_ops */ + D_MP, /* bus_ops */ + NULL, /* power */ + bge_quiesce /* quiesce */ +); static struct modldrv bge_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ diff --git a/usr/src/uts/common/io/bl.c b/usr/src/uts/common/io/bl.c index b256b24956..f12faed6d9 100644 --- a/usr/src/uts/common/io/bl.c +++ b/usr/src/uts/common/io/bl.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Blacklist special file @@ -212,11 +210,12 @@ static struct dev_ops bl_ops = { nodev, /* devo_reset */ &bl_cb_ops, /* devo_cb_ops */ (struct bus_ops *)0, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { - &mod_driverops, "blacklist driver %I%", &bl_ops, + &mod_driverops, "blacklist driver", &bl_ops, }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/io/bofi.c b/usr/src/uts/common/io/bofi.c index 190541356c..64ce4efac9 100644 --- a/usr/src/uts/common/io/bofi.c +++ b/usr/src/uts/common/io/bofi.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/sysmacros.h> @@ -267,7 +266,8 @@ static struct dev_ops bofi_ops = { nulldev, /* reset */ &bofi_cb_ops, (struct bus_ops *)NULL, - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* module configuration stuff */ @@ -275,7 +275,7 @@ static void *statep; static struct modldrv modldrv = { &mod_driverops, - "bofi driver %I%", + "bofi driver", &bofi_ops }; diff --git a/usr/src/uts/common/io/bscbus.c b/usr/src/uts/common/io/bscbus.c index 2a69eae390..188770f08f 100644 --- a/usr/src/uts/common/io/bscbus.c +++ b/usr/src/uts/common/io/bscbus.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * The "bscbus" driver provides access to the LOMlite2 virtual registers, @@ -32,7 +32,6 @@ * registers signify - only the clients need this information. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/note.h> #include <sys/types.h> @@ -392,7 +391,7 @@ bscbus_trace(struct bscbus_channel_state *csp, char code, const char *caller, if (csp->ssp->debug & (1 << (code-'@'))) { p = buf; (void) snprintf(p, sizeof (buf) - (p - buf), - "%s/%s: ", MYNAME, caller); + "%s/%s: ", MYNAME, caller); p += strlen(p); va_start(va, fmt); @@ -482,7 +481,7 @@ static void bscbus_check_fault_status(struct bscbus_channel_state *csp) { csp->xio_fault = - ddi_check_acc_handle(csp->ch_handle) != DDI_SUCCESS; + ddi_check_acc_handle(csp->ch_handle) != DDI_SUCCESS; } static boolean_t @@ -630,7 +629,7 @@ bscbus_process_sending(struct bscbus_channel_state *csp, uint8_t status) csp->cmdstate = BSCBUS_CMDSTATE_WAITING; /* Extend deadline because time has moved on */ csp->deadline = ddi_get_lbolt() + - drv_usectohz(LOMBUS_CMD_TIMEOUT/1000); + drv_usectohz(LOMBUS_CMD_TIMEOUT/1000); } else { /* Wait for ack of this byte */ bscbus_cmd_log(csp, BSC_CMD_SENDING, @@ -1012,8 +1011,8 @@ bscbus_cmd(HANDLE_TYPE *hdlp, ptrdiff_t vreg, uint_t val, uint_t cmd) } csp->poll_hz = drv_usectohz( - (csp->interrupt_failed ? - BSCBUS_CMD_POLLNOINTS : BSCBUS_CMD_POLL) / 1000); + (csp->interrupt_failed ? + BSCBUS_CMD_POLLNOINTS : BSCBUS_CMD_POLL) / 1000); while ((csp->cmdstate != BSCBUS_CMDSTATE_READY) && (csp->cmdstate != BSCBUS_CMDSTATE_ERROR)) { @@ -1028,7 +1027,7 @@ bscbus_cmd(HANDLE_TYPE *hdlp, ptrdiff_t vreg, uint_t val, uint_t cmd) "interrupt_failed channel %d", csp->chno); csp->interrupt_failed = B_TRUE; csp->poll_hz = drv_usectohz( - BSCBUS_CMD_POLLNOINTS / 1000); + BSCBUS_CMD_POLLNOINTS / 1000); } bscbus_poll(csp); } @@ -1869,9 +1868,8 @@ bscbus_release_channel(struct bscbus_channel_state *csp) csp->chno, csp->map_count); if (csp->map_dog == 0) { - ASSERT(!ddi_intr_hilevel(csp->ssp->dip, csp->chno)); - ddi_remove_intr(csp->ssp->dip, csp->chno, - csp->lo_iblk); + ASSERT(!ddi_intr_hilevel(csp->ssp->dip, csp->chno)); + ddi_remove_intr(csp->ssp->dip, csp->chno, csp->lo_iblk); } cv_destroy(csp->lo_cv); mutex_destroy(csp->lo_mutex); @@ -1991,7 +1989,7 @@ bscbus_map_handle(struct bscbus_channel_state *csp, ddi_map_op_t op, case DDI_MO_MAP_LOCKED: if (bscbus_claim_channel(csp, - (space == LOMBUS_PAT_SPACE)) == 0) { + (space == LOMBUS_PAT_SPACE)) == 0) { return (DDI_ME_GENERIC); } @@ -2039,7 +2037,7 @@ bscbus_map_handle(struct bscbus_channel_state *csp, ddi_map_op_t op, case DDI_MO_MAP_LOCKED: if (bscbus_claim_channel(csp, - (space == LOMBUS_PAT_SPACE)) == 0) { + (space == LOMBUS_PAT_SPACE)) == 0) { return (DDI_ME_GENERIC); } @@ -2172,12 +2170,9 @@ bscbus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, return (DDI_ME_INVAL); return (bscbus_map_handle( - &ssp->channel[ - LOMBUS_SPACE_TO_CHANNEL(rsp->lombus_space)], - mp->map_op, - LOMBUS_SPACE_TO_REGSET(rsp->lombus_space), - VREG_TO_ADDR(rsp->lombus_base+off), len, - mp->map_handlep, addrp)); + &ssp->channel[LOMBUS_SPACE_TO_CHANNEL(rsp->lombus_space)], + mp->map_op, LOMBUS_SPACE_TO_REGSET(rsp->lombus_space), + VREG_TO_ADDR(rsp->lombus_base+off), len, mp->map_handlep, addrp)); } @@ -2219,7 +2214,7 @@ bscbus_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t op, */ cdip = arg; err = ddi_prop_lookup_int_array(DDI_DEV_T_ANY, cdip, - DDI_PROP_DONTPASS, "reg", ®s, &nregs); + DDI_PROP_DONTPASS, "reg", ®s, &nregs); if (err != DDI_PROP_SUCCESS) return (DDI_FAILURE); @@ -2274,7 +2269,7 @@ bscbus_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t op, ddi_set_parent_data(cdip, lcip); (void) snprintf(addr, sizeof (addr), - "%x,%x", rsp[0].lombus_space, rsp[0].lombus_base); + "%x,%x", rsp[0].lombus_space, rsp[0].lombus_base); ddi_set_name_addr(cdip, addr); return (DDI_SUCCESS); @@ -2293,8 +2288,8 @@ bscbus_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t op, return (DDI_FAILURE); cmn_err(CE_CONT, "?BSC device: %s@%s, %s#%d\n", - ddi_node_name(rdip), ddi_get_name_addr(rdip), - ddi_driver_name(dip), ddi_get_instance(dip)); + ddi_node_name(rdip), ddi_get_name_addr(rdip), + ddi_driver_name(dip), ddi_get_instance(dip)); return (DDI_SUCCESS); @@ -2404,7 +2399,7 @@ bscbus_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Set various options from .conf properties */ ssp->debug = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "debug", 0); + DDI_PROP_DONTPASS, "debug", 0); mutex_init(ssp->ch_mutex, NULL, MUTEX_DRIVER, NULL); @@ -2412,10 +2407,8 @@ bscbus_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) ssp->cmd_log_size = bscbus_cmd_log_size; if (ssp->cmd_log_size != 0) { ssp->cmd_log_idx = 0; - ssp->cmd_log = - kmem_zalloc(ssp->cmd_log_size * - sizeof (bsc_cmd_log_t), - KM_SLEEP); + ssp->cmd_log = kmem_zalloc(ssp->cmd_log_size * + sizeof (bsc_cmd_log_t), KM_SLEEP); } #endif /* BSCBUS_LOGSTATUS */ @@ -2554,13 +2547,15 @@ static struct dev_ops bscbus_dev_ops = bscbus_detach, /* detach */ bscbus_reset, /* reset */ &bscbus_cb_ops, /* driver operations */ - &bscbus_bus_ops /* bus operations */ + &bscbus_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "bscbus driver, v%I%", + "bscbus driver", &bscbus_dev_ops }; @@ -2584,7 +2579,7 @@ _init(void) int err; err = ddi_soft_state_init(&bscbus_statep, - sizeof (struct bscbus_state), 0); + sizeof (struct bscbus_state), 0); if (err == DDI_SUCCESS) if ((err = mod_install(&modlinkage)) != DDI_SUCCESS) { ddi_soft_state_fini(&bscbus_statep); diff --git a/usr/src/uts/common/io/bscv.c b/usr/src/uts/common/io/bscv.c index 396b0a7d5c..09f0333356 100644 --- a/usr/src/uts/common/io/bscv.c +++ b/usr/src/uts/common/io/bscv.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * bscv.c - multi-threaded lom driver for the Stiletto platform. @@ -84,6 +83,7 @@ static int bscv_getinfo(dev_info_t *, ddi_info_cmd_t, void *, void **); static int bscv_attach(dev_info_t *, ddi_attach_cmd_t); static int bscv_detach(dev_info_t *, ddi_detach_cmd_t); static int bscv_reset(dev_info_t *, ddi_reset_cmd_t); +static int bscv_quiesce(dev_info_t *); static int bscv_map_regs(bscv_soft_state_t *); static void bscv_unmap_regs(bscv_soft_state_t *); static void bscv_map_chan_logical_physical(bscv_soft_state_t *); @@ -372,7 +372,9 @@ static struct dev_ops bscv_dev_ops = { bscv_detach, /* devo_detach */ bscv_reset, /* devo_reset */ &bscv_cb_ops, /* devo_cb_ops */ - (struct bus_ops *)0 /* devo_bus_ops */ + (struct bus_ops *)0, /* devo_bus_ops */ + NULL, /* devo_power */ + bscv_quiesce, /* devo_quiesce */ }; /* @@ -380,9 +382,9 @@ static struct dev_ops bscv_dev_ops = { */ #ifdef DEBUG -#define BSCV_VERSION_STRING "bscv driver - Debug v%I%" +#define BSCV_VERSION_STRING "bscv driver - Debug" #else /* DEBUG */ -#define BSCV_VERSION_STRING "bscv driver v%I%" +#define BSCV_VERSION_STRING "bscv driver" #endif /* DEBUG */ static struct modldrv modldrv = { @@ -772,6 +774,32 @@ bscv_reset(dev_info_t *dip, ddi_reset_cmd_t cmd) } /* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +bscv_quiesce(dev_info_t *dip) +{ + bscv_soft_state_t *ssp; + int instance; + + + instance = ddi_get_instance(dip); + ssp = ddi_get_soft_state(bscv_statep, instance); + if (ssp == NULL) { + return (DDI_FAILURE); + } + bscv_full_stop(ssp); + return (DDI_SUCCESS); +} + +/* * cb_ops routines */ diff --git a/usr/src/uts/common/io/chxge/ch.c b/usr/src/uts/common/io/chxge/ch.c index c77c311767..9f1f7f87de 100644 --- a/usr/src/uts/common/io/chxge/ch.c +++ b/usr/src/uts/common/io/chxge/ch.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -34,8 +34,6 @@ * Solaris Multithreaded STREAMS DLPI Chelsio PCI Ethernet Driver */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* #define CH_DEBUG 1 */ #ifdef CH_DEBUG #define DEBUG_ENTER(a) debug_enter(a) @@ -73,6 +71,7 @@ #include "common.h" #include "oschtoe.h" #include "sge.h" +#include "regs.h" #include "ch.h" /* Chelsio Driver specific parameters */ #include "version.h" @@ -81,6 +80,7 @@ */ static int ch_attach(dev_info_t *, ddi_attach_cmd_t); static int ch_detach(dev_info_t *, ddi_detach_cmd_t); +static int ch_quiesce(dev_info_t *); static void ch_free_dma_handles(ch_t *chp); static void ch_set_name(ch_t *chp, int unit); static void ch_free_name(ch_t *chp); @@ -226,7 +226,8 @@ static struct dev_ops ch_ops = { nodev, /* funp: reset device (not supported) - dev_ops(9s) */ &cb_ch_ops, /* ptr to cb_ops structure */ NULL, /* ptr to nexus bus operations structure (leaf) */ - NULL /* funp: change device power level - power(9e) */ + NULL, /* funp: change device power level - power(9e) */ + ch_quiesce, /* devo_quiesce */ }; /* @@ -427,8 +428,8 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* map in T101 PCI configuration space */ rv = pci_config_setup( - dip, /* ptr to dev's dev_info struct */ - &chp->ch_hpci); /* ptr to data access handle */ + dip, /* ptr to dev's dev_info struct */ + &chp->ch_hpci); /* ptr to data access handle */ if (rv != DDI_SUCCESS) { PRINT(("PCI config setup failed\n")); @@ -437,7 +438,7 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) gchp[unit] = NULL; #endif cmn_err(CE_WARN, "%s: ddi_config_setup PCI error %d\n", - chp->ch_name, rv); + chp->ch_name, rv); ch_free_name(chp); kmem_free(chp, sizeof (ch_t)); @@ -470,7 +471,7 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) macinfo->gldm_saplen = -2; macinfo->gldm_ppa = unit; macinfo->gldm_broadcast_addr = - etherbroadcastaddr.ether_addr_octet; + etherbroadcastaddr.ether_addr_octet; /* @@ -496,13 +497,13 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #endif /* map in T101 register space (BAR0) */ rv = ddi_regs_map_setup( - dip, /* ptr to dev's dev_info struct */ - BAR0, /* register address space */ - &chp->ch_bar0, /* address of offset */ - 0, /* offset into register address space */ - 0, /* length mapped (everything) */ - &le_attr, /* ptr to device attr structure */ - &chp->ch_hbar0); /* ptr to data access handle */ + dip, /* ptr to dev's dev_info struct */ + BAR0, /* register address space */ + &chp->ch_bar0, /* address of offset */ + 0, /* offset into register address space */ + 0, /* length mapped (everything) */ + &le_attr, /* ptr to device attr structure */ + &chp->ch_hbar0); /* ptr to data access handle */ if (rv != DDI_SUCCESS) { PRINT(("map registers failed\n")); @@ -511,8 +512,8 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) gchp[unit] = NULL; #endif cmn_err(CE_WARN, - "%s: ddi_regs_map_setup BAR0 error %d\n", - chp->ch_name, rv); + "%s: ddi_regs_map_setup BAR0 error %d\n", + chp->ch_name, rv); pci_config_teardown(&chp->ch_hpci); ch_free_name(chp); @@ -524,7 +525,7 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef CH_DEBUG Version = ddi_get32(chp->ch_hbar0, - (uint32_t *)(chp->ch_bar0+0x6c)); + (uint32_t *)(chp->ch_bar0+0x6c)); #endif (void) ddi_dev_regsize(dip, 1, &chp->ch_bar0sz); @@ -537,9 +538,9 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Add interrupt to system. */ rv = ddi_get_iblock_cookie( - dip, /* ptr to dev's dev_info struct */ - 0, /* interrupt # (0) */ - &chp->ch_icookp); /* ptr to interrupt block cookie */ + dip, /* ptr to dev's dev_info struct */ + 0, /* interrupt # (0) */ + &chp->ch_icookp); /* ptr to interrupt block cookie */ if (rv != DDI_SUCCESS) { PRINT(("iblock cookie failed\n")); @@ -548,8 +549,8 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) gchp[unit] = NULL; #endif cmn_err(CE_WARN, - "%s: ddi_get_iblock_cookie error %d\n", - chp->ch_name, rv); + "%s: ddi_get_iblock_cookie error %d\n", + chp->ch_name, rv); ddi_regs_map_free(&chp->ch_hbar0); pci_config_teardown(&chp->ch_hpci); @@ -564,12 +565,12 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * add interrupt handler before card setup. */ rv = ddi_add_intr( - dip, /* ptr to dev's dev_info struct */ - 0, /* interrupt # (0) */ - 0, /* iblock cookie ptr (NULL) */ - 0, /* idevice cookie ptr (NULL) */ - gld_intr, /* function ptr to interrupt handler */ - (caddr_t)macinfo); /* handler argument */ + dip, /* ptr to dev's dev_info struct */ + 0, /* interrupt # (0) */ + 0, /* iblock cookie ptr (NULL) */ + 0, /* idevice cookie ptr (NULL) */ + gld_intr, /* function ptr to interrupt handler */ + (caddr_t)macinfo); /* handler argument */ if (rv != DDI_SUCCESS) { PRINT(("add_intr failed\n")); @@ -578,7 +579,7 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) gchp[unit] = NULL; #endif cmn_err(CE_WARN, "%s: ddi_add_intr error %d\n", - chp->ch_name, rv); + chp->ch_name, rv); ddi_regs_map_free(&chp->ch_hbar0); pci_config_teardown(&chp->ch_hpci); @@ -591,9 +592,9 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* initalize all the remaining per-card locks */ mutex_init(&chp->ch_lock, NULL, MUTEX_DRIVER, - (void *)chp->ch_icookp); + (void *)chp->ch_icookp); mutex_init(&chp->ch_intr, NULL, MUTEX_DRIVER, - (void *)chp->ch_icookp); + (void *)chp->ch_icookp); mutex_init(&chp->ch_mc_lck, NULL, MUTEX_DRIVER, NULL); mutex_init(&chp->ch_dh_lck, NULL, MUTEX_DRIVER, NULL); mutex_init(&chp->mac_lock, NULL, MUTEX_DRIVER, NULL); @@ -607,7 +608,7 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) gchp[unit] = NULL; #endif cmn_err(CE_WARN, "%s: pe_attach failed\n", - chp->ch_name); + chp->ch_name); mutex_destroy(&chp->ch_lock); mutex_destroy(&chp->ch_intr); @@ -642,9 +643,9 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) chp->ch_config.cksum_enabled = 0; rv = gld_register( - dip, /* ptr to dev's dev_info struct */ - (char *)ddi_driver_name(dip), /* driver name */ - macinfo); /* ptr to gld macinfo buffer */ + dip, /* ptr to dev's dev_info struct */ + (char *)ddi_driver_name(dip), /* driver name */ + macinfo); /* ptr to gld macinfo buffer */ /* * The Jumbo frames capability is not yet available @@ -656,9 +657,9 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) cmn_err(CE_NOTE, "Setting MTU to 1500. \n"); macinfo->gldm_maxpkt = chp->ch_mtu = 1500; rv = gld_register( - dip, /* ptr to dev's dev_info struct */ - (char *)ddi_driver_name(dip), /* driver name */ - macinfo); /* ptr to gld macinfo buffer */ + dip, /* ptr to dev's dev_info struct */ + (char *)ddi_driver_name(dip), /* driver name */ + macinfo); /* ptr to gld macinfo buffer */ } @@ -667,7 +668,7 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) DEBUG_ENTER("ch_attach"); cmn_err(CE_WARN, "%s: gld_register error %d\n", - chp->ch_name, rv); + chp->ch_name, rv); pe_detach(chp); @@ -715,6 +716,61 @@ ch_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +ch_quiesce(dev_info_t *dip) +{ + ch_t *chp; + gld_mac_info_t *macinfo = + (gld_mac_info_t *)ddi_get_driver_private(dip); + + chp = (ch_t *)macinfo->gldm_private; + chdebug = 0; + ch_abort_debug = 0; + +#ifdef CONFIG_CHELSIO_T1_OFFLOAD + gchp[chp->ch_unit] = NULL; +#endif + + /* Set driver state for this card to IDLE */ + chp->ch_state = PEIDLE; + + /* + * Do a power reset of card + * 1. set PwrState to D3hot (3) + * 2. clear PwrState flags + */ + pci_config_put32(chp->ch_hpci, 0x44, 3); + pci_config_put32(chp->ch_hpci, 0x44, 0); + + /* Wait 0.5 sec */ + drv_usecwait(500000); + + /* + * Now stop the chip + */ + chp->ch_refcnt = 0; + chp->ch_state = PESTOP; + + /* Disables all interrupts */ + t1_interrupts_disable(chp); + + /* Disables SGE queues */ + t1_write_reg_4(chp->sge->obj, A_SG_CONTROL, 0x0); + t1_write_reg_4(chp->sge->obj, A_SG_INT_CAUSE, 0x0); + + return (DDI_SUCCESS); +} + static int ch_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) { @@ -876,8 +932,8 @@ ch_alloc_dma_mem(ch_t *chp, int type, int flags, int size, uint64_t *paddr, if (rv != DDI_SUCCESS) { cmn_err(CE_WARN, - "%s: ch_alloc_dma_mem: ddi_dma_alloc_handle error %d\n", - chp->ch_name, rv); + "%s: ch_alloc_dma_mem: ddi_dma_alloc_handle error %d\n", + chp->ch_name, rv); return (0); } @@ -902,8 +958,8 @@ ch_alloc_dma_mem(ch_t *chp, int type, int flags, int size, uint64_t *paddr, ddi_dma_free_handle(&ch_dh); cmn_err(CE_WARN, - "%s: ch_alloc_dma_mem: ddi_dma_mem_alloc error %d\n", - chp->ch_name, rv); + "%s: ch_alloc_dma_mem: ddi_dma_mem_alloc error %d\n", + chp->ch_name, rv); return (0); } @@ -924,7 +980,7 @@ ch_alloc_dma_mem(ch_t *chp, int type, int flags, int size, uint64_t *paddr, cmn_err(CE_WARN, "%s: ch_alloc_dma_mem: ddi_dma_addr_bind_handle error %d\n", - chp->ch_name, rv); + chp->ch_name, rv); return (0); } @@ -932,7 +988,7 @@ ch_alloc_dma_mem(ch_t *chp, int type, int flags, int size, uint64_t *paddr, if (count != 1) { cmn_err(CE_WARN, "%s: ch_alloc_dma_mem: ch_alloc_dma_mem cookie count %d\n", - chp->ch_name, count); + chp->ch_name, count); PRINT(("ch_alloc_dma_mem cookie count %d\n", count)); ddi_dma_mem_free(&ch_ah); @@ -1006,7 +1062,7 @@ ch_get_dma_handle(ch_t *chp) cmn_err(CE_WARN, "%s: ch_get_dma_handle: ddi_dma_alloc_handle error %d\n", - chp->ch_name, rv); + chp->ch_name, rv); kmem_free(dhe, sizeof (*dhe)); @@ -1091,7 +1147,7 @@ ch_bind_dma_handle(ch_t *chp, int size, caddr_t vaddr, cmdQ_ce_t *cmp, cmn_err(CE_WARN, "%s: ch_bind_dma_handle: ddi_dma_addr_bind_handle err %d\n", - chp->ch_name, rv); + chp->ch_name, rv); return (0); } @@ -1146,7 +1202,7 @@ ch_unbind_dma_handle(ch_t *chp, free_dh_t *dhe) if (ddi_dma_unbind_handle(ch_dh)) cmn_err(CE_WARN, "%s: ddi_dma_unbind_handle failed", - chp->ch_name); + chp->ch_name); mutex_enter(&chp->ch_dh_lck); dhe->dhe_next = chp->ch_dh; @@ -1182,16 +1238,16 @@ ch_get_dvma_handle(ch_t *chp) ch_dvma_attr.dlim_dmaspeed = 0; rv = dvma_reserve( - chp->ch_dip, /* device dev_info */ - &ch_dvma_attr, /* DVMA attributes */ - 3, /* number of pages */ - &ch_dh); /* DVMA handle */ + chp->ch_dip, /* device dev_info */ + &ch_dvma_attr, /* DVMA attributes */ + 3, /* number of pages */ + &ch_dh); /* DVMA handle */ if (rv != DDI_SUCCESS) { cmn_err(CE_WARN, "%s: ch_get_dvma_handle: dvma_reserve() error %d\n", - chp->ch_name, rv); + chp->ch_name, rv); kmem_free(dhe, sizeof (*dhe)); @@ -1259,11 +1315,11 @@ ch_bind_dvma_handle(ch_t *chp, int size, caddr_t vaddr, cmdQ_ce_t *cmp, n = cnt; dvma_kaddr_load( - ch_dh, /* dvma handle */ - vaddr, /* virtual address */ - size, /* length of object */ - 0, /* start at index 0 */ - &cookie); + ch_dh, /* dvma handle */ + vaddr, /* virtual address */ + size, /* length of object */ + 0, /* start at index 0 */ + &cookie); dvma_sync(ch_dh, 0, DDI_DMA_SYNC_FORDEV); @@ -1322,7 +1378,7 @@ ch_send_up(ch_t *chp, mblk_t *mp, uint32_t cksum, int flg) */ if (flg) (void) hcksum_assoc(mp, NULL, NULL, 0, 0, 0, cksum, - HCK_FULLCKSUM, 0); + HCK_FULLCKSUM, 0); gld_recv(chp->ch_macp, mp); } else { freemsg(mp); @@ -1552,28 +1608,28 @@ ch_get_stats(gld_mac_info_t *mp, struct gld_stats *gs) } (void) pe_get_stats(chp, - &speed, - &intrcnt, - &norcvbuf, - &oerrors, - &ierrors, - &underrun, - &overrun, - &framing, - &crc, - &carrier, - &collisions, - &xcollisions, - &late, - &defer, - &xerrs, - &rerrs, - &toolong, - &runt, - &multixmt, - &multircv, - &brdcstxmt, - &brdcstrcv); + &speed, + &intrcnt, + &norcvbuf, + &oerrors, + &ierrors, + &underrun, + &overrun, + &framing, + &crc, + &carrier, + &collisions, + &xcollisions, + &late, + &defer, + &xerrs, + &rerrs, + &toolong, + &runt, + &multixmt, + &multircv, + &brdcstxmt, + &brdcstrcv); gs->glds_speed = speed; gs->glds_media = GLDM_UNKNOWN; @@ -1638,9 +1694,9 @@ ch_send(gld_mac_info_t *macinfo, mblk_t *mp) if (chp->ch_config.cksum_enabled) { if (is_T2(chp)) { hcksum_retrieve(mp, NULL, NULL, NULL, NULL, NULL, - NULL, &msg_flg); + NULL, &msg_flg); flg = (msg_flg & HCK_FULLCKSUM)? - CH_NO_CPL: CH_NO_HWCKSUM|CH_NO_CPL; + CH_NO_CPL: CH_NO_HWCKSUM|CH_NO_CPL; } else flg = CH_NO_CPL; } else @@ -1698,7 +1754,7 @@ ch_send(gld_mac_info_t *macinfo, mblk_t *mp) return (GLD_SUCCESS); } } else if ((msg_len > MAX_ALL_HDRLEN) && - (MBLKL(mp) < MAX_ALL_HDRLEN)) { + (MBLKL(mp) < MAX_ALL_HDRLEN)) { chp->sge->intr_cnt.tx_hdr_pullups++; if (pullupmsg(mp, MAX_ALL_HDRLEN) == 0) { freemsg(mp); @@ -1862,20 +1918,20 @@ ch_get_prop(ch_t *chp) uint32_t prop_len = NULL; val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "enable_dvma", -1); + "enable_dvma", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "enable-dvma", -1); + "enable-dvma", -1); if (val != -1) { if (val != 0) chp->ch_config.enable_dvma = 1; } val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "amd_bug_workaround", -1); + "amd_bug_workaround", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "amd-bug-workaround", -1); + "amd-bug-workaround", -1); if (val != -1) { if (val == 0) { @@ -2001,10 +2057,10 @@ fail_exit: */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "pci_burstsize", -1); + "pci_burstsize", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "pci-burstsize", -1); + "pci-burstsize", -1); if (val != -1) { @@ -2039,10 +2095,10 @@ fail_exit: * set transaction count */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "pci_split_transaction_cnt", -1); + "pci_split_transaction_cnt", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "pci-split-transaction-cnt", -1); + "pci-split-transaction-cnt", -1); if (val != -1) { switch (val) { @@ -2101,10 +2157,10 @@ fail_exit: * set relaxed ordering bit? */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "pci_relaxed_ordering_on", -1); + "pci_relaxed_ordering_on", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "pci-relaxed-ordering-on", -1); + "pci-relaxed-ordering-on", -1); /* * default is to use system default value. @@ -2117,10 +2173,10 @@ fail_exit: } val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "enable_latency_timer", -1); + "enable_latency_timer", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "enable-latency-timer", -1); + "enable-latency-timer", -1); if (val != -1) enable_latency_timer = (val == 0)? 0: 1; @@ -2129,10 +2185,10 @@ fail_exit: */ chp->ch_maximum_mtu = 9198; /* tunable via chxge.conf */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "maximum_mtu", -1); + "maximum_mtu", -1); if (val == -1) { val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "maximum-mtu", -1); + "maximum-mtu", -1); } if (val != -1) { if (val > 9582) { @@ -2157,10 +2213,10 @@ fail_exit: chp->ch_mtu = ETHERMTU; val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "accept_jumbo", -1); + "accept_jumbo", -1); if (val == -1) { val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "accept-jumbo", -1); + "accept-jumbo", -1); } if (val != -1) { if (val) @@ -2196,10 +2252,10 @@ fail_exit: chp->ch_config.cksum_enabled = 1; val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "enable_checksum_offload", -1); + "enable_checksum_offload", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "enable-checksum-offload", -1); + "enable-checksum-offload", -1); if (val != -1) { if (val == NULL) chp->ch_config.cksum_enabled = 0; @@ -2209,10 +2265,10 @@ fail_exit: * Provides a tuning capability for the command queue 0 size. */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge_cmdq0_cnt", -1); + "sge_cmdq0_cnt", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge-cmdq0-cnt", -1); + "sge-cmdq0-cnt", -1); if (val != -1) { if (val > 10) sge_cmdq0_cnt = val; @@ -2221,7 +2277,7 @@ fail_exit: if (sge_cmdq0_cnt > 65535) { cmn_err(CE_WARN, "%s: sge-cmdQ0-cnt > 65535 - resetting value to default", - chp->ch_name); + chp->ch_name); sge_cmdq0_cnt = sge_cmdq0_cnt_orig; } tval += sge_cmdq0_cnt; @@ -2230,10 +2286,10 @@ fail_exit: * Provides a tuning capability for the command queue 1 size. */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge_cmdq1_cnt", -1); + "sge_cmdq1_cnt", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge-cmdq1-cnt", -1); + "sge-cmdq1-cnt", -1); if (val != -1) { if (val > 10) sge_cmdq1_cnt = val; @@ -2242,7 +2298,7 @@ fail_exit: if (sge_cmdq1_cnt > 65535) { cmn_err(CE_WARN, "%s: sge-cmdQ0-cnt > 65535 - resetting value to default", - chp->ch_name); + chp->ch_name); sge_cmdq1_cnt = sge_cmdq1_cnt_orig; } @@ -2250,10 +2306,10 @@ fail_exit: * Provides a tuning capability for the free list 0 size. */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge_flq0_cnt", -1); + "sge_flq0_cnt", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge-flq0-cnt", -1); + "sge-flq0-cnt", -1); if (val != -1) { if (val > 512) sge_flq0_cnt = val; @@ -2262,7 +2318,7 @@ fail_exit: if (sge_flq0_cnt > 65535) { cmn_err(CE_WARN, "%s: sge-flq0-cnt > 65535 - resetting value to default", - chp->ch_name); + chp->ch_name); sge_flq0_cnt = sge_flq0_cnt_orig; } @@ -2272,10 +2328,10 @@ fail_exit: * Provides a tuning capability for the free list 1 size. */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge_flq1_cnt", -1); + "sge_flq1_cnt", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge-flq1-cnt", -1); + "sge-flq1-cnt", -1); if (val != -1) { if (val > 512) sge_flq1_cnt = val; @@ -2284,7 +2340,7 @@ fail_exit: if (sge_flq1_cnt > 65535) { cmn_err(CE_WARN, "%s: sge-flq1-cnt > 65535 - resetting value to default", - chp->ch_name); + chp->ch_name); sge_flq1_cnt = sge_flq1_cnt_orig; } @@ -2294,10 +2350,10 @@ fail_exit: * Provides a tuning capability for the responce queue size. */ val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge_respq_cnt", -1); + "sge_respq_cnt", -1); if (val == -1) val = ddi_getprop(DDI_DEV_T_ANY, chp->ch_dip, DDI_PROP_DONTPASS, - "sge-respq-cnt", -1); + "sge-respq-cnt", -1); if (val != -1) { if (val > 30) sge_respq_cnt = val; @@ -2306,7 +2362,7 @@ fail_exit: if (sge_respq_cnt > 65535) { cmn_err(CE_WARN, "%s: sge-respq-cnt > 65535 - resetting value to default", - chp->ch_name); + chp->ch_name); sge_respq_cnt = sge_respq_cnt_orig; } diff --git a/usr/src/uts/common/io/chxge/glue.c b/usr/src/uts/common/io/chxge/glue.c index 6f03509253..a5c425daac 100644 --- a/usr/src/uts/common/io/chxge/glue.c +++ b/usr/src/uts/common/io/chxge/glue.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -35,8 +35,6 @@ * Chelsio PCI Ethernet Driver. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> #include <sys/conf.h> #include <sys/stropts.h> @@ -403,7 +401,7 @@ t1_fatal_err(ch_t *adapter) t1_interrupts_disable(adapter); } CH_ALERT("%s: encountered fatal error, operation suspended\n", - adapter_name(adapter)); + adapter_name(adapter)); } void @@ -498,7 +496,7 @@ ch_cyclic(p_ch_cyclic_t cyclic) if (cyclic->timer != 0) { cyclic->func(cyclic->arg); cyclic->timer = timeout((void(*)(void *))ch_cyclic, - (void *)cyclic, cyclic->period); + (void *)cyclic, cyclic->period); } } @@ -511,7 +509,7 @@ ch_start_cyclic(p_ch_cyclic_t cyclic, unsigned long period) cyclic->period = drv_usectohz(period * 1000); if (cyclic->timer == 0) { cyclic->timer = timeout((void(*)(void *))ch_cyclic, - (void *)cyclic, cyclic->period); + (void *)cyclic, cyclic->period); } } @@ -529,6 +527,6 @@ ch_stop_cyclic(p_ch_cyclic_t cyclic) cyclic->timer = 0; value = untimeout(timer); if (value == 0) - delay(2 * cyclic->period); + drv_usecwait(drv_hztousec(2 * cyclic->period)); } while ((timer != 0) && (value == 0)); } diff --git a/usr/src/uts/common/io/chxge/version.h b/usr/src/uts/common/io/chxge/version.h index cdeeaf8dbc..9cf17357b4 100644 --- a/usr/src/uts/common/io/chxge/version.h +++ b/usr/src/uts/common/io/chxge/version.h @@ -20,7 +20,7 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -33,15 +33,12 @@ #ifndef CHELSIO_VERSION_H #define CHELSIO_VERSION_H -#pragma ident "%Z%%M% %I% %E% SMI" - /* * This version string is set at 31 characters, please * make sure when adjusting this you stay within that * limit, going above that limit will cause the message * to get truncated when displayed by 'modinfo'. */ -#define VERSION_NUMBER "2.1.2" -#define VERSION "Chelsio 10Gb Ethernet v" VERSION_NUMBER +#define VERSION "Chelsio 10Gb Ethernet v" #endif /* CHELSIO_VERSION_H */ diff --git a/usr/src/uts/common/io/clone.c b/usr/src/uts/common/io/clone.c index 5916ca35b5..f559841b55 100644 --- a/usr/src/uts/common/io/clone.c +++ b/usr/src/uts/common/io/clone.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -24,11 +23,10 @@ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* from S5R4 1.10 */ /* * Clone Driver. @@ -74,7 +72,7 @@ static dev_info_t *cln_dip; /* private copy of devinfo pointer */ #define CLONE_CONF_FLAG (D_NEW|D_MP) DDI_DEFINE_STREAM_OPS(clone_ops, nulldev, nulldev, cln_attach, nodev, nodev, \ - cln_info, CLONE_CONF_FLAG, &clninfo); + cln_info, CLONE_CONF_FLAG, &clninfo, ddi_quiesce_not_needed); /* * Module linkage information for the kernel. diff --git a/usr/src/uts/common/io/conf.c b/usr/src/uts/common/io/conf.c index 722f7ede3c..cf5d1d8c40 100644 --- a/usr/src/uts/common/io/conf.c +++ b/usr/src/uts/common/io/conf.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -19,11 +18,12 @@ * * CDDL HEADER END */ + /* - * Copyright (c) 1987-1990 by Sun Microsystems, Inc. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. */ -#ident "%Z%%M% %I% %E% SMI" /* from SunOS4.0 5.63 */ #include <sys/types.h> #include <sys/param.h> @@ -75,7 +75,9 @@ struct dev_ops nodev_ops = { nodev, /* detach */ nulldev, /* reset */ &no_cb_ops, /* character/block driver operations */ - (struct bus_ops *)0 /* bus operations for nexus drivers */ + (struct bus_ops *)0, /* bus operations for nexus drivers */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; struct dev_ops **devopsp; diff --git a/usr/src/uts/common/io/cons.c b/usr/src/uts/common/io/cons.c index ae55f2ab61..9174f48db9 100644 --- a/usr/src/uts/common/io/cons.c +++ b/usr/src/uts/common/io/cons.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Indirect console driver for Sun. @@ -113,7 +112,9 @@ static struct dev_ops cn_ops = { cn_detach, /* detach */ nodev, /* reset */ &cn_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; @@ -169,7 +170,7 @@ extern struct dev_ops cn_ops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "Console redirection driver %I%", + "Console redirection driver", &cn_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/conskbd.c b/usr/src/uts/common/io/conskbd.c index 28434c501c..3ee9a3ff3f 100644 --- a/usr/src/uts/common/io/conskbd.c +++ b/usr/src/uts/common/io/conskbd.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Console kbd multiplexor driver for Sun. @@ -201,7 +200,8 @@ static struct dev_ops conskbd_ops = { nodev, /* devo_reset */ &(cb_conskbd_ops), /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -209,7 +209,7 @@ static struct dev_ops conskbd_ops = { */ static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "conskbd multiplexer driver %I%", + "conskbd multiplexer driver", &conskbd_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/consms.c b/usr/src/uts/common/io/consms.c index cd218cdd89..3e573e0466 100644 --- a/usr/src/uts/common/io/consms.c +++ b/usr/src/uts/common/io/consms.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Console mouse driver for Sun. @@ -207,7 +206,8 @@ static struct dev_ops consms_ops = { nodev, /* devo_reset */ &(cb_consms_ops), /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; @@ -217,7 +217,7 @@ static struct dev_ops consms_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "Mouse Driver for Sun 'consms' %I%", + "Mouse Driver for Sun 'consms' 5.57", &consms_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/cpc.c b/usr/src/uts/common/io/cpc.c index 463e4450c9..fbc0b77f92 100644 --- a/usr/src/uts/common/io/cpc.c +++ b/usr/src/uts/common/io/cpc.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * CPU Performance Counter system calls and device driver. @@ -895,7 +894,9 @@ static struct dev_ops dev_ops = { nodev, /* detach */ nodev, /* reset */ &cb_ops, - (struct bus_ops *)0 + (struct bus_ops *)0, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/cpudrv.c b/usr/src/uts/common/io/cpudrv.c index 5a53f6c64e..e70439a874 100644 --- a/usr/src/uts/common/io/cpudrv.c +++ b/usr/src/uts/common/io/cpudrv.c @@ -91,7 +91,8 @@ struct dev_ops cpudrv_ops = { nodev, /* reset */ (struct cb_ops *)NULL, /* cb_ops */ (struct bus_ops *)NULL, /* bus_ops */ - cpudrv_power /* power */ + cpudrv_power, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/cpuid_drv.c b/usr/src/uts/common/io/cpuid_drv.c index f1a03c83b1..a00e40d8c5 100644 --- a/usr/src/uts/common/io/cpuid_drv.c +++ b/usr/src/uts/common/io/cpuid_drv.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/file.h> @@ -212,12 +210,14 @@ static struct dev_ops cpuid_dv_ops = { cpuid_detach, nodev, /* reset */ &cpuid_cb_ops, - (struct bus_ops *)0 + (struct bus_ops *)0, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "cpuid driver v%I%", + "cpuid driver", &cpuid_dv_ops }; diff --git a/usr/src/uts/common/io/devpoll.c b/usr/src/uts/common/io/devpoll.c index 3c31040c6a..09b21abf66 100644 --- a/usr/src/uts/common/io/devpoll.c +++ b/usr/src/uts/common/io/devpoll.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/devops.h> @@ -101,7 +100,8 @@ static struct dev_ops dp_ops = { nodev, /* reset */ &dp_cb_ops, /* driver operations */ (struct bus_ops *)NULL, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; diff --git a/usr/src/uts/common/io/devpool.c b/usr/src/uts/common/io/devpool.c index 246aef1bfc..b0a32058aa 100644 --- a/usr/src/uts/common/io/devpool.c +++ b/usr/src/uts/common/io/devpool.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/file.h> @@ -410,9 +408,9 @@ pool_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, xtransfer.px_o_src_id = xtransfer32.px_o_src_id; xtransfer.px_o_tgt_id = xtransfer32.px_o_tgt_id; xtransfer.px_o_complist_size = - xtransfer32.px_o_complist_size; + xtransfer32.px_o_complist_size; xtransfer.px_o_comp_list = - (id_t *)(uintptr_t)xtransfer32.px_o_comp_list; + (id_t *)(uintptr_t)xtransfer32.px_o_comp_list; break; #endif /* _MULTI_DATAMODEL */ default: @@ -579,7 +577,7 @@ pool_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, return (EFAULT); } if (nvlist_unpack(listbuf, propput.pp_o_bufsize, - &list, KM_SLEEP) != 0) { + &list, KM_SLEEP) != 0) { kmem_free(listbuf, propput.pp_o_bufsize); return (EFAULT); } @@ -684,7 +682,8 @@ static struct dev_ops pool_ops = { nodev, /* reset */ &pool_cb_ops, /* cb_ops */ (struct bus_ops *)NULL, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -692,7 +691,7 @@ static struct dev_ops pool_ops = { */ static struct modldrv modldrv = { &mod_driverops, /* this one is a pseudo driver */ - "pool driver %I%", + "pool driver", &pool_ops }; diff --git a/usr/src/uts/common/io/dld/dld_drv.c b/usr/src/uts/common/io/dld/dld_drv.c index dc32d6604e..0216436656 100644 --- a/usr/src/uts/common/io/dld/dld_drv.c +++ b/usr/src/uts/common/io/dld/dld_drv.c @@ -105,7 +105,8 @@ static struct dev_ops drv_ops = { nodev, /* reset */ &drv_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_supported, /* dev quiesce */ }; /* diff --git a/usr/src/uts/common/io/dmfe/dmfe_main.c b/usr/src/uts/common/io/dmfe/dmfe_main.c index 1e0c257ddc..152c14f1e8 100644 --- a/usr/src/uts/common/io/dmfe/dmfe_main.c +++ b/usr/src/uts/common/io/dmfe/dmfe_main.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/sunddi.h> @@ -3183,7 +3182,7 @@ dmfe_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd) */ DDI_DEFINE_STREAM_OPS(dmfe_dev_ops, nulldev, nulldev, dmfe_attach, dmfe_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv dmfe_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ diff --git a/usr/src/uts/common/io/dump.c b/usr/src/uts/common/io/dump.c index 0af0b8660b..18c3c1a3d1 100644 --- a/usr/src/uts/common/io/dump.c +++ b/usr/src/uts/common/io/dump.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Dump driver. Provides ioctls to get/set crash dump configuration. @@ -227,11 +226,13 @@ struct dev_ops dump_ops = { dump_detach, /* detach */ nodev, /* reset */ &dump_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { - &mod_driverops, "crash dump driver %I%", &dump_ops, + &mod_driverops, "crash dump driver", &dump_ops, }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/io/e1000g/e1000g_main.c b/usr/src/uts/common/io/e1000g/e1000g_main.c index a3622e115b..f6e0a12695 100644 --- a/usr/src/uts/common/io/e1000g/e1000g_main.c +++ b/usr/src/uts/common/io/e1000g/e1000g_main.c @@ -44,7 +44,7 @@ #include "e1000g_sw.h" #include "e1000g_debug.h" -static char ident[] = "Intel PRO/1000 Ethernet 5.2.13"; +static char ident[] = "Intel PRO/1000 Ethernet"; static char e1000g_string[] = "Intel(R) PRO/1000 Network Connection"; static char e1000g_version[] = "Driver Ver. 5.2.13"; @@ -53,6 +53,7 @@ static char e1000g_version[] = "Driver Ver. 5.2.13"; */ static int e1000g_attach(dev_info_t *, ddi_attach_cmd_t); static int e1000g_detach(dev_info_t *, ddi_detach_cmd_t); +static int e1000g_quiesce(dev_info_t *); /* * init and intr routines prototype @@ -102,6 +103,7 @@ static int e1000g_unicst_set(struct e1000g *, const uint8_t *, mac_addr_slot_t); /* * Local routines */ +static boolean_t e1000g_reset_adapter(struct e1000g *); static void e1000g_tx_clean(struct e1000g *); static void e1000g_rx_clean(struct e1000g *); static void e1000g_link_timer(void *); @@ -210,7 +212,8 @@ static struct dev_ops ws_ops = { nodev, /* devo_reset */ &cb_ws_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - ddi_power /* devo_power */ + ddi_power, /* devo_power */ + e1000g_quiesce /* devo_quiesce */ }; static struct modldrv modldrv = { @@ -1479,7 +1482,7 @@ e1000g_m_ioctl(void *arg, queue_t *q, mblk_t *mp) break; case E1000G_IOC_CHIP_RESET: e1000gp->reset_count++; - if (e1000g_reset(e1000gp)) + if (e1000g_reset_adapter(e1000gp)) status = IOC_ACK; else status = IOC_INVAL; @@ -1775,8 +1778,8 @@ e1000g_rx_drain(struct e1000g *Adapter) return (done); } -boolean_t -e1000g_reset(struct e1000g *Adapter) +static boolean_t +e1000g_reset_adapter(struct e1000g *Adapter) { e1000g_stop(Adapter, B_FALSE); @@ -3660,7 +3663,7 @@ e1000g_local_timer(void *ws) "Tx stall detected. Activate automatic recovery.\n"); e1000g_fm_ereport(Adapter, DDI_FM_DEVICE_STALL); Adapter->reset_count++; - if (e1000g_reset(Adapter)) + if (e1000g_reset_adapter(Adapter)) ddi_fm_service_impact(Adapter->dip, DDI_SERVICE_RESTORED); else @@ -3684,7 +3687,7 @@ e1000g_local_timer(void *ws) */ if (Adapter->esb2_workaround) { Adapter->esb2_workaround = B_FALSE; - (void) e1000g_reset(Adapter); + (void) e1000g_reset_adapter(Adapter); } /* @@ -4025,6 +4028,9 @@ e1000g_mask_interrupt(struct e1000g *Adapter) e1000g_mask_tx_interrupt(Adapter); } +/* + * This routine is called by e1000g_quiesce(), therefore must not block. + */ void e1000g_clear_all_interrupts(struct e1000g *Adapter) { @@ -4584,7 +4590,7 @@ e1000g_set_loopback_mode(struct e1000g *Adapter, uint32_t mode) if (mode == E1000G_LB_NONE) { /* Reset the chip */ hw->phy.autoneg_wait_to_complete = B_TRUE; - (void) e1000g_reset(Adapter); + (void) e1000g_reset_adapter(Adapter); hw->phy.autoneg_wait_to_complete = B_FALSE; return (B_TRUE); } @@ -4636,7 +4642,7 @@ again: /* Reset the link */ E1000G_DEBUGLOG_0(Adapter, E1000G_INFO_LEVEL, "Reset the link ..."); - (void) e1000g_reset(Adapter); + (void) e1000g_reset_adapter(Adapter); goto again; } } @@ -5520,6 +5526,41 @@ e1000g_fm_ereport(struct e1000g *Adapter, char *detail) } } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +e1000g_quiesce(dev_info_t *devinfo) +{ + struct e1000g *Adapter; + + Adapter = (struct e1000g *)ddi_get_driver_private(devinfo); + + if (Adapter == NULL) + return (DDI_FAILURE); + + e1000g_clear_all_interrupts(Adapter); + + (void) e1000_reset_hw(&Adapter->shared); + + /* Setup our HW Tx Head & Tail descriptor pointers */ + E1000_WRITE_REG(&Adapter->shared, E1000_TDH(0), 0); + E1000_WRITE_REG(&Adapter->shared, E1000_TDT(0), 0); + + /* Setup our HW Rx Head & Tail descriptor pointers */ + E1000_WRITE_REG(&Adapter->shared, E1000_RDH(0), 0); + E1000_WRITE_REG(&Adapter->shared, E1000_RDT(0), 0); + + return (DDI_SUCCESS); +} + static int e1000g_get_def_val(struct e1000g *Adapter, mac_prop_id_t pr_num, uint_t pr_valsize, void *pr_val) diff --git a/usr/src/uts/common/io/e1000g/e1000g_sw.h b/usr/src/uts/common/io/e1000g/e1000g_sw.h index a360ffb76c..418961c1f4 100644 --- a/usr/src/uts/common/io/e1000g/e1000g_sw.h +++ b/usr/src/uts/common/io/e1000g/e1000g_sw.h @@ -20,7 +20,7 @@ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms of the CDDLv1. + * Use is subject to license terms. */ #ifndef _E1000G_SW_H @@ -973,7 +973,6 @@ void e1000g_free_rx_sw_packet(p_rx_sw_packet_t packet); void e1000g_tx_setup(struct e1000g *Adapter); void e1000g_rx_setup(struct e1000g *Adapter); void e1000g_setup_multicast(struct e1000g *Adapter); -boolean_t e1000g_reset(struct e1000g *Adapter); int e1000g_recycle(e1000g_tx_ring_t *tx_ring); void e1000g_free_tx_swpkt(p_tx_sw_packet_t packet); diff --git a/usr/src/uts/common/io/ecpp.c b/usr/src/uts/common/io/ecpp.c index 2ef5b18f3a..d2aa9a05f1 100644 --- a/usr/src/uts/common/io/ecpp.c +++ b/usr/src/uts/common/io/ecpp.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * @@ -529,14 +527,15 @@ struct dev_ops ecpp_ops = { nodev, /* devo_reset */ &ecpp_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv ecppmodldrv = { &mod_driverops, /* type of module - driver */ - "parallel port driver %I%", + "parallel port driver", &ecpp_ops, }; @@ -672,7 +671,7 @@ ecpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } mutex_init(&pp->umutex, NULL, MUTEX_DRIVER, - (void *)pp->ecpp_trap_cookie); + (void *)pp->ecpp_trap_cookie); cv_init(&pp->pport_cv, NULL, CV_DRIVER, NULL); @@ -783,7 +782,7 @@ ecpp_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) pp->suspended = FALSE; mutex_exit(&pp->umutex); ecpp_error(pp->dip, - "ecpp_detach: suspend timeout\n"); + "ecpp_detach: suspend timeout\n"); return (DDI_FAILURE); } } @@ -856,9 +855,9 @@ ecpp_get_props(struct ecppunit *pp) * will be conducted by PIO for Centronics devices. */ if (ddi_prop_lookup_string(DDI_DEV_T_ANY, pp->dip, 0, - "fast-centronics", &prop) == DDI_PROP_SUCCESS) { + "fast-centronics", &prop) == DDI_PROP_SUCCESS) { pp->fast_centronics = - (strcmp(prop, "true") == 0) ? TRUE : FALSE; + (strcmp(prop, "true") == 0) ? TRUE : FALSE; ddi_prop_free(prop); } else { pp->fast_centronics = FALSE; @@ -875,7 +874,7 @@ ecpp_get_props(struct ecppunit *pp) */ if (ddi_prop_lookup_string(DDI_DEV_T_ANY, pp->dip, 0, - "fast-1284-compatible", &prop) == DDI_PROP_SUCCESS) { + "fast-1284-compatible", &prop) == DDI_PROP_SUCCESS) { pp->fast_compat = (strcmp(prop, "true") == 0) ? TRUE : FALSE; ddi_prop_free(prop); } else { @@ -890,7 +889,7 @@ ecpp_get_props(struct ecppunit *pp) * with ioctl(2) calls as well. The default is to set it to FALSE. */ if (ddi_prop_lookup_string(DDI_DEV_T_ANY, pp->dip, 0, - "centronics-init-seq", &prop) == DDI_PROP_SUCCESS) { + "centronics-init-seq", &prop) == DDI_PROP_SUCCESS) { pp->init_seq = (strcmp(prop, "true") == 0) ? TRUE : FALSE; ddi_prop_free(prop); } else { @@ -904,7 +903,7 @@ ecpp_get_props(struct ecppunit *pp) * found, wsrv_retry will be set to CENTRONICS_RETRY ms. */ pp->wsrv_retry = ddi_prop_get_int(DDI_DEV_T_ANY, pp->dip, 0, - "centronics-retry", CENTRONICS_RETRY); + "centronics-retry", CENTRONICS_RETRY); /* * In PIO mode, ecpp_isr() will loop for wait for the busy signal @@ -913,28 +912,28 @@ ecpp_get_props(struct ecppunit *pp) * ecpp_isr() will wait for a maximum of WAIT_FOR_BUSY us. */ pp->wait_for_busy = ddi_prop_get_int(DDI_DEV_T_ANY, pp->dip, 0, - "centronics-wait-for-busy", WAIT_FOR_BUSY); + "centronics-wait-for-busy", WAIT_FOR_BUSY); /* * In PIO mode, centronics transfers must hold the data signals * for a data_setup_time milliseconds before the strobe is asserted. */ pp->data_setup_time = ddi_prop_get_int(DDI_DEV_T_ANY, pp->dip, 0, - "centronics-data-setup-time", DATA_SETUP_TIME); + "centronics-data-setup-time", DATA_SETUP_TIME); /* * In PIO mode, centronics transfers asserts the strobe signal * for a period of strobe_pulse_width milliseconds. */ pp->strobe_pulse_width = ddi_prop_get_int(DDI_DEV_T_ANY, pp->dip, 0, - "centronics-strobe-pulse-width", STROBE_PULSE_WIDTH); + "centronics-strobe-pulse-width", STROBE_PULSE_WIDTH); /* * Upon a transfer the peripheral, ecpp waits write_timeout seconds * for the transmission to complete. */ default_xfer_parms.write_timeout = ddi_prop_get_int(DDI_DEV_T_ANY, - pp->dip, 0, "ecpp-transfer-timeout", ecpp_def_timeout); + pp->dip, 0, "ecpp-transfer-timeout", ecpp_def_timeout); pp->xfer_parms = default_xfer_parms; @@ -943,7 +942,7 @@ ecpp_get_props(struct ecppunit *pp) */ if (pp->hw == &m1553) { pp->uh.m1553.chn = ddi_prop_get_int(DDI_DEV_T_ANY, - pp->dip, 0, "dma-channel", 0x1); + pp->dip, 0, "dma-channel", 0x1); ecpp_error(pp->dip, "ecpp_get_prop:chn=%x\n", pp->uh.m1553.chn); } #if defined(__x86) @@ -965,20 +964,20 @@ ecpp_get_props(struct ecppunit *pp) * these properties are not yet public */ pp->ecp_rev_speed = ddi_prop_get_int(DDI_DEV_T_ANY, pp->dip, 0, - "ecp-rev-speed", ECP_REV_SPEED); + "ecp-rev-speed", ECP_REV_SPEED); pp->rev_watchdog = ddi_prop_get_int(DDI_DEV_T_ANY, pp->dip, 0, - "rev-watchdog", REV_WATCHDOG); + "rev-watchdog", REV_WATCHDOG); ecpp_error(pp->dip, - "ecpp_get_prop: fast_centronics=%x, fast-1284=%x\n" - "ecpp_get_prop: wsrv_retry=%d, wait_for_busy=%d\n" - "ecpp_get_prop: data_setup=%d, strobe_pulse=%d\n" - "ecpp_get_prop: transfer-timeout=%d\n", - pp->fast_centronics, pp->fast_compat, - pp->wsrv_retry, pp->wait_for_busy, - pp->data_setup_time, pp->strobe_pulse_width, - pp->xfer_parms.write_timeout); + "ecpp_get_prop: fast_centronics=%x, fast-1284=%x\n" + "ecpp_get_prop: wsrv_retry=%d, wait_for_busy=%d\n" + "ecpp_get_prop: data_setup=%d, strobe_pulse=%d\n" + "ecpp_get_prop: transfer-timeout=%d\n", + pp->fast_centronics, pp->fast_compat, + pp->wsrv_retry, pp->wait_for_busy, + pp->data_setup_time, pp->strobe_pulse_width, + pp->xfer_parms.write_timeout); } /*ARGSUSED*/ @@ -1119,9 +1118,9 @@ ecpp_open(queue_t *q, dev_t *dev, int flag, int sflag, cred_t *credp) (void) ecpp_idle_phase(pp); ecpp_error(pp->dip, - "ecpp_open: mode=%x, phase=%x ecr=%x, dsr=%x, dcr=%x\n", - pp->current_mode, pp->current_phase, - ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); + "ecpp_open: mode=%x, phase=%x ecr=%x, dsr=%x, dcr=%x\n", + pp->current_mode, pp->current_phase, + ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); mutex_exit(&pp->umutex); @@ -1168,8 +1167,8 @@ ecpp_close(queue_t *q, int flag, cred_t *cred_p) } ecpp_error(pp->dip, "ecpp_close: joblen=%d, ctx_cf=%d, " - "qsize(WR(q))=%d, qsize(RD(q))=%d\n", - pp->joblen, pp->ctx_cf, qsize(pp->writeq), qsize(q)); + "qsize(WR(q))=%d, qsize(RD(q))=%d\n", + pp->joblen, pp->ctx_cf, qsize(pp->writeq), qsize(q)); /* * Cancel all timeouts, disable interrupts @@ -1219,7 +1218,7 @@ ecpp_close(queue_t *q, int flag, cred_t *cred_p) pp->msg = NULL; ecpp_error(pp->dip, "ecpp_close: ecr=%x, dsr=%x, dcr=%x\n", - ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); + ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); mutex_exit(&pp->umutex); @@ -1243,7 +1242,7 @@ ecpp_wput(queue_t *q, mblk_t *mp) if ((mp->b_wptr - mp->b_rptr) <= 0) { ecpp_error(pp->dip, - "ecpp_wput:bogus packet recieved mp=%x\n", mp); + "ecpp_wput:bogus packet recieved mp=%x\n", mp); freemsg(mp); return (0); } @@ -1346,17 +1345,17 @@ ecpp_wput(queue_t *q, mblk_t *mp) case ECPPIOC_GETDEVID: ecpp_wput_iocdata_devid(q, mp, - offsetof(struct ecpp_device_id, rlen)); + offsetof(struct ecpp_device_id, rlen)); break; case PRNIOC_GET_1284_DEVID: ecpp_wput_iocdata_devid(q, mp, - offsetof(struct prn_1284_device_id, id_rlen)); + offsetof(struct prn_1284_device_id, id_rlen)); break; case PRNIOC_GET_IFINFO: ecpp_wput_iocdata_devid(q, mp, - offsetof(struct prn_interface_info, if_rlen)); + offsetof(struct prn_interface_info, if_rlen)); break; default: @@ -1448,11 +1447,11 @@ ecpp_wput_iocdata_devid(queue_t *q, mblk_t *mp, uintptr_t rlen_offset) } *(int *)datamp->b_rptr = - *(int *)((char *)&stp->un + rlen_offset); + *(int *)((char *)&stp->un + rlen_offset); stp->state = ECPP_STRUCTOUT; mcopyout(mp, csp->cp_private, sizeof (int), - (char *)stp->uaddr + rlen_offset, datamp); + (char *)stp->uaddr + rlen_offset, datamp); qreply(q, mp); break; @@ -1563,7 +1562,7 @@ ecpp_putioc(queue_t *q, mblk_t *mp) mutex_exit(&pp->umutex); ecpp_error(pp->dip, "ECPPIOC_GETREGS: dsr=%x,dcr=%x\n", - rg.dsr, rg.dcr); + rg.dsr, rg.dcr); /* these bits must be 1 */ rg.dsr |= ECPP_SETREGS_DSR_MASK; @@ -1653,7 +1652,7 @@ ecpp_putioc(queue_t *q, mblk_t *mp) mutex_enter(&pp->umutex); if (!((pp->current_mode == ECPP_CENTRONICS) || - (pp->current_mode == ECPP_COMPAT_MODE))) { + (pp->current_mode == ECPP_COMPAT_MODE))) { ecpp_nack_ioctl(q, mp, EINVAL); } else { pp->saved_dsr = DSR_READ(pp); @@ -1727,7 +1726,7 @@ ecpp_putioc(queue_t *q, mblk_t *mp) case PRNIOC_SET_TIMEOUTS: mcopyin(mp, NULL, sizeof (struct prn_timeouts), - *(caddr_t *)(void *)mp->b_cont->b_rptr); + *(caddr_t *)(void *)mp->b_cont->b_rptr); qreply(q, mp); break; @@ -1778,7 +1777,7 @@ ecpp_putioc(queue_t *q, mblk_t *mp) ecpp_error(pp->dip, "PRNIOC_GET_STATUS: %x\n", dsr); status = (dsr & (ECPP_SLCT | ECPP_PE | ECPP_nERR)) | - (~dsr & ECPP_nBUSY); + (~dsr & ECPP_nBUSY); ecpp_putioc_copyout(q, mp, &status, sizeof (status)); break; @@ -1786,22 +1785,22 @@ ecpp_putioc(queue_t *q, mblk_t *mp) case ECPPIOC_GETDEVID: ecpp_putioc_stateful_copyin(q, mp, - sizeof (struct ecpp_device_id)); + sizeof (struct ecpp_device_id)); break; case PRNIOC_GET_1284_DEVID: ecpp_putioc_stateful_copyin(q, mp, - sizeof (struct prn_1284_device_id)); + sizeof (struct prn_1284_device_id)); break; case PRNIOC_GET_IFINFO: ecpp_putioc_stateful_copyin(q, mp, - sizeof (struct prn_interface_info)); + sizeof (struct prn_interface_info)); break; default: ecpp_error(pp->dip, "putioc: unknown IOCTL: %x\n", - iocbp->ioc_cmd); + iocbp->ioc_cmd); ecpp_nack_ioctl(q, mp, EINVAL); break; } @@ -1920,11 +1919,11 @@ ecpp_wsrv(queue_t *q) if (pp->wsrv_timer_id == 0) { ecpp_error(pp->dip, "wsrv: start wrsv_timer\n"); pp->wsrv_timer_id = timeout(ecpp_wsrv_timer, - (caddr_t)pp, - drv_usectohz(pp->wsrv_retry * 1000)); + (caddr_t)pp, + drv_usectohz(pp->wsrv_retry * 1000)); } else { ecpp_error(pp->dip, - "ecpp_wsrv: wrsv_timer is active\n"); + "ecpp_wsrv: wrsv_timer is active\n"); } mutex_exit(&pp->umutex); @@ -2128,16 +2127,16 @@ ecpp_srvioc(queue_t *q, mblk_t *mp) xferp = (struct ecpp_transfer_parms *)mp->b_cont->b_rptr; if (xferp->write_timeout <= 0 || - xferp->write_timeout >= ECPP_MAX_TIMEOUT) { + xferp->write_timeout >= ECPP_MAX_TIMEOUT) { ecpp_nack_ioctl(q, mp, EINVAL); break; } if (!((xferp->mode == ECPP_CENTRONICS) || - (xferp->mode == ECPP_COMPAT_MODE) || - (xferp->mode == ECPP_NIBBLE_MODE) || - (xferp->mode == ECPP_ECP_MODE) || - (xferp->mode == ECPP_DIAG_MODE))) { + (xferp->mode == ECPP_COMPAT_MODE) || + (xferp->mode == ECPP_NIBBLE_MODE) || + (xferp->mode == ECPP_ECP_MODE) || + (xferp->mode == ECPP_DIAG_MODE))) { ecpp_nack_ioctl(q, mp, EINVAL); break; } @@ -2146,7 +2145,7 @@ ecpp_srvioc(queue_t *q, mblk_t *mp) pp->prn_timeouts.tmo_forward = pp->xfer_parms.write_timeout; ecpp_error(pp->dip, "srvioc: current_mode =%x new mode=%x\n", - pp->current_mode, pp->xfer_parms.mode); + pp->current_mode, pp->xfer_parms.mode); if (ecpp_mode_negotiation(pp, pp->xfer_parms.mode) == FAILURE) { ecpp_nack_ioctl(q, mp, EPROTONOSUPPORT); @@ -2193,7 +2192,7 @@ ecpp_srvioc(queue_t *q, mblk_t *mp) /* bits 4-7 must be 1 or return EINVAL */ if ((rg->dcr & ECPP_SETREGS_DCR_MASK) != - ECPP_SETREGS_DCR_MASK) { + ECPP_SETREGS_DCR_MASK) { ecpp_nack_ioctl(q, mp, EINVAL); break; } @@ -2202,7 +2201,7 @@ ecpp_srvioc(queue_t *q, mblk_t *mp) dcr = DCR_READ(pp) & ~ECPP_REV_DIR; /* get the new dcr */ dcr = (dcr & ECPP_SETREGS_DCR_MASK) | - (rg->dcr & ~ECPP_SETREGS_DCR_MASK); + (rg->dcr & ~ECPP_SETREGS_DCR_MASK); DCR_WRITE(pp, dcr); ecpp_error(pp->dip, "ECPPIOC_SETREGS:dcr=%x\n", dcr); ecpp_ack_ioctl(q, mp); @@ -2224,7 +2223,7 @@ ecpp_srvioc(queue_t *q, mblk_t *mp) case ECPP_PORT_PIO: /* put superio into PIO mode */ ECR_WRITE(pp, - ECR_mode_001 | ECPP_INTR_MASK | ECPP_INTR_SRV); + ECR_mode_001 | ECPP_INTR_MASK | ECPP_INTR_SRV); pp->port = *port; ecpp_ack_ioctl(q, mp); break; @@ -2234,7 +2233,7 @@ ecpp_srvioc(queue_t *q, mblk_t *mp) pp->tfifo_intr = 1; /* change to mode 110 */ ECR_WRITE(pp, - ECR_mode_110 | ECPP_INTR_MASK | ECPP_INTR_SRV); + ECR_mode_110 | ECPP_INTR_MASK | ECPP_INTR_SRV); pp->port = *port; ecpp_ack_ioctl(q, mp); break; @@ -2333,7 +2332,7 @@ ecpp_srvioc(queue_t *q, mblk_t *mp) #endif /* _MULTI_DATAMODEL */ ecpp_srvioc_devid(q, mp, &id, - (int *)&stp->un.prn_devid.id_rlen); + (int *)&stp->un.prn_devid.id_rlen); break; } @@ -2410,7 +2409,7 @@ ecpp_srvioc_devid(queue_t *q, mblk_t *mp, struct ecpp_device_id *id, int *rlen) /* check arguments */ if ((mode < ECPP_CENTRONICS) || (mode > ECPP_ECP_MODE)) { ecpp_error(pp->dip, "ecpp_srvioc_devid: mode=%x, len=%x\n", - mode, id->len); + mode, id->len); ecpp_nack_ioctl(q, mp, EINVAL); return; } @@ -2445,7 +2444,7 @@ ecpp_srvioc_devid(queue_t *q, mblk_t *mp, struct ecpp_device_id *id, int *rlen) /* just return rlen */ stp->state = ECPP_ADDROUT; ecpp_wput_iocdata_devid(q, mp, - (uintptr_t)rlen - (uintptr_t)&stp->un); + (uintptr_t)rlen - (uintptr_t)&stp->un); goto breakout; } @@ -2521,7 +2520,7 @@ ecpp_srvioc_prnif(queue_t *q, mblk_t *mp) if (info.if_len == 0) { /* just copyout rlen */ ecpp_wput_iocdata_devid(q, mp, - offsetof(struct prn_interface_info, if_rlen)); + offsetof(struct prn_interface_info, if_rlen)); return; } @@ -2594,7 +2593,7 @@ ecpp_flush(struct ecppunit *pp, int cmd) */ if (ECPP_DMA_STOP(pp, NULL) == FAILURE) { ecpp_error(pp->dip, - "ecpp_flush: dma_stop failed.\n"); + "ecpp_flush: dma_stop failed.\n"); } /* @@ -2604,9 +2603,9 @@ ecpp_flush(struct ecppunit *pp, int cmd) * case, we need to unbind the dma mappings. */ if (ddi_dma_unbind_handle( - pp->dma_handle) != DDI_SUCCESS) + pp->dma_handle) != DDI_SUCCESS) ecpp_error(pp->dip, - "ecpp_flush: unbind failed.\n"); + "ecpp_flush: unbind failed.\n"); if (pp->msg != NULL) { freemsg(pp->msg); @@ -2662,7 +2661,7 @@ ecpp_flush(struct ecppunit *pp, int cmd) default: ecpp_error(pp->dip, - "ecpp_flush: illegal state %x\n", pp->e_busy); + "ecpp_flush: illegal state %x\n", pp->e_busy); } /* in DIAG mode clear TFIFO if needed */ @@ -2670,7 +2669,7 @@ ecpp_flush(struct ecppunit *pp, int cmd) ecr = ECR_READ(pp); if (!(ecr & ECPP_FIFO_EMPTY)) { ECR_WRITE(pp, - ECPP_INTR_SRV | ECPP_INTR_MASK | ECR_mode_001); + ECPP_INTR_SRV | ECPP_INTR_MASK | ECR_mode_001); ECR_WRITE(pp, ecr); } } @@ -2715,8 +2714,8 @@ ecpp_start(struct ecppunit *pp, caddr_t addr, size_t len) ASSERT(pp->e_busy == ECPP_BUSY); ecpp_error(pp->dip, - "ecpp_start:current_mode=%x,current_phase=%x,ecr=%x,len=%d\n", - pp->current_mode, pp->current_phase, ECR_READ(pp), len); + "ecpp_start:current_mode=%x,current_phase=%x,ecr=%x,len=%d\n", + pp->current_mode, pp->current_phase, ECR_READ(pp), len); pp->dma_dir = DDI_DMA_WRITE; /* this is a forward transfer */ @@ -2755,11 +2754,11 @@ ecpp_start(struct ecppunit *pp, caddr_t addr, size_t len) drv_usecwait(1); if (!(ECR_READ(pp) & ECPP_FIFO_EMPTY)) { ecpp_error(pp->dip, - "ecpp_start: TFIFO not empty, clearing\n"); + "ecpp_start: TFIFO not empty, clearing\n"); ECR_WRITE(pp, - ECPP_INTR_SRV | ECPP_INTR_MASK | ECR_mode_001); + ECPP_INTR_SRV | ECPP_INTR_MASK | ECR_mode_001); ECR_WRITE(pp, - ECPP_INTR_SRV | ECPP_INTR_MASK | ECR_mode_110); + ECPP_INTR_SRV | ECPP_INTR_MASK | ECR_mode_110); } /* we can DMA at most 16 bytes into TFIFO */ @@ -2782,7 +2781,7 @@ ecpp_start(struct ecppunit *pp, caddr_t addr, size_t len) case ECPP_ECP_MODE: ASSERT(pp->current_phase == ECPP_PHASE_ECP_FWD_IDLE || - pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); + pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); /* if in Reverse Phase negotiate to Forward */ if (pp->current_phase == ECPP_PHASE_ECP_REV_IDLE) { @@ -2791,7 +2790,7 @@ ecpp_start(struct ecppunit *pp, caddr_t addr, size_t len) (void) putbq(pp->writeq, pp->msg); } else { ecpp_putback_untransfered(pp, - addr, len); + addr, len); } } } @@ -2805,7 +2804,7 @@ ecpp_start(struct ecppunit *pp, caddr_t addr, size_t len) /* schedule transfer timeout */ pp->timeout_id = timeout(ecpp_xfer_timeout, (caddr_t)pp, - pp->xfer_parms.write_timeout * drv_usectohz(1000000)); + pp->xfer_parms.write_timeout * drv_usectohz(1000000)); } /* @@ -2824,7 +2823,7 @@ ecpp_prep_pio_xfer(struct ecppunit *pp, caddr_t addr, size_t len) * put everything back on the queue. */ ecpp_error(pp->dip, - "ecpp_prep_pio_xfer:suspend PIO len=%d\n", len); + "ecpp_prep_pio_xfer:suspend PIO len=%d\n", len); if (pp->msg != NULL) { /* @@ -2833,16 +2832,16 @@ ecpp_prep_pio_xfer(struct ecppunit *pp, caddr_t addr, size_t len) * then free the orignal one. */ ecpp_putback_untransfered(pp, - (void *)pp->msg->b_rptr, len); + (void *)pp->msg->b_rptr, len); ecpp_error(pp->dip, - "ecpp_prep_pio_xfer: len1=%d\n", len); + "ecpp_prep_pio_xfer: len1=%d\n", len); freemsg(pp->msg); pp->msg = NULL; } else { ecpp_putback_untransfered(pp, pp->ioblock, len); ecpp_error(pp->dip, - "ecpp_prep_pio_xfer: len2=%d\n", len); + "ecpp_prep_pio_xfer: len2=%d\n", len); } qenable(pp->writeq); @@ -2853,12 +2852,12 @@ ecpp_prep_pio_xfer(struct ecppunit *pp, caddr_t addr, size_t len) /* pport must be in PIO mode */ if (ecr_write(pp, ECR_mode_001 | - ECPP_INTR_MASK | ECPP_INTR_SRV) != SUCCESS) { + ECPP_INTR_MASK | ECPP_INTR_SRV) != SUCCESS) { ecpp_error(pp->dip, "ecpp_prep_pio_xfer: failed w/ECR.\n"); } ecpp_error(pp->dip, "ecpp_prep_pio_xfer: dcr=%x ecr=%x\n", - DCR_READ(pp), ECR_READ(pp)); + DCR_READ(pp), ECR_READ(pp)); return (SUCCESS); } @@ -2879,7 +2878,7 @@ ecpp_init_dma_xfer(struct ecppunit *pp, caddr_t addr, size_t len) uint8_t ecr; ASSERT((pp->current_mode <= ECPP_DIAG_MODE) && - (ecr_mode[pp->current_mode] != 0)); + (ecr_mode[pp->current_mode] != 0)); if (ecpp_setup_dma_resources(pp, addr, len) == FAILURE) { qenable(pp->writeq); @@ -2892,8 +2891,8 @@ ecpp_init_dma_xfer(struct ecppunit *pp, caddr_t addr, size_t len) * rather put everything back on the queue. */ ecpp_error(pp->dip, - "ecpp_init_dma_xfer: suspending DMA len=%d\n", - pp->dma_cookie.dmac_size); + "ecpp_init_dma_xfer: suspending DMA len=%d\n", + pp->dma_cookie.dmac_size); if (pp->msg != NULL) { /* @@ -2902,21 +2901,21 @@ ecpp_init_dma_xfer(struct ecppunit *pp, caddr_t addr, size_t len) * then free the orignal one. */ ecpp_putback_untransfered(pp, - (void *)pp->msg->b_rptr, len); + (void *)pp->msg->b_rptr, len); ecpp_error(pp->dip, - "ecpp_init_dma_xfer:a:len=%d\n", len); + "ecpp_init_dma_xfer:a:len=%d\n", len); freemsg(pp->msg); pp->msg = NULL; } else { ecpp_putback_untransfered(pp, pp->ioblock, len); ecpp_error(pp->dip, - "ecpp_init_dma_xfer:b:len=%d\n", len); + "ecpp_init_dma_xfer:b:len=%d\n", len); } if (ddi_dma_unbind_handle(pp->dma_handle) != DDI_SUCCESS) { ecpp_error(pp->dip, - "ecpp_init_dma_xfer: unbind FAILURE.\n"); + "ecpp_init_dma_xfer: unbind FAILURE.\n"); } qenable(pp->writeq); return (FAILURE); @@ -2952,9 +2951,9 @@ ecpp_setup_dma_resources(struct ecppunit *pp, caddr_t addr, size_t len) ASSERT(pp->dma_dir == DDI_DMA_READ || pp->dma_dir == DDI_DMA_WRITE); err = ddi_dma_addr_bind_handle(pp->dma_handle, NULL, - addr, len, pp->dma_dir | DDI_DMA_PARTIAL, - DDI_DMA_DONTWAIT, NULL, - &pp->dma_cookie, &pp->dma_cookie_count); + addr, len, pp->dma_dir | DDI_DMA_PARTIAL, + DDI_DMA_DONTWAIT, NULL, + &pp->dma_cookie, &pp->dma_cookie_count); switch (err) { case DDI_DMA_MAPPED: @@ -2968,7 +2967,7 @@ ecpp_setup_dma_resources(struct ecppunit *pp, caddr_t addr, size_t len) ecpp_error(pp->dip, "ecpp_setup_dma: DMA_PARTIAL_MAP\n"); if (ddi_dma_numwin(pp->dma_handle, - &pp->dma_nwin) != DDI_SUCCESS) { + &pp->dma_nwin) != DDI_SUCCESS) { (void) ddi_dma_unbind_handle(pp->dma_handle); return (FAILURE); } @@ -2982,16 +2981,16 @@ ecpp_setup_dma_resources(struct ecppunit *pp, caddr_t addr, size_t len) if (ddi_dma_getwin(pp->dma_handle, 0, &woff, &wlen, &pp->dma_cookie, &pp->dma_cookie_count) != DDI_SUCCESS) { ecpp_error(pp->dip, - "ecpp_setup_dma: ddi_dma_getwin failed!"); + "ecpp_setup_dma: ddi_dma_getwin failed!"); (void) ddi_dma_unbind_handle(pp->dma_handle); return (FAILURE); } ecpp_error(pp->dip, - "ecpp_setup_dma: cookies=%d, windows=%d" - " addr=%lx len=%d\n", - pp->dma_cookie_count, pp->dma_nwin, - pp->dma_cookie.dmac_address, pp->dma_cookie.dmac_size); + "ecpp_setup_dma: cookies=%d, windows=%d" + " addr=%lx len=%d\n", + pp->dma_cookie_count, pp->dma_nwin, + pp->dma_cookie.dmac_address, pp->dma_cookie.dmac_size); break; } @@ -3219,15 +3218,15 @@ unexpected: ECR_WRITE(pp, ECR_READ(pp) | ECPP_INTR_MASK | ECPP_INTR_SRV); pp->nspur = 0; cmn_err(CE_NOTE, "%s%d: too many interrupt requests", - ddi_get_name(pp->dip), ddi_get_instance(pp->dip)); + ddi_get_name(pp->dip), ddi_get_instance(pp->dip)); } else { ECR_WRITE(pp, ECR_READ(pp) | ECPP_INTR_SRV | ECPP_INTR_MASK); } ecpp_error(pp->dip, - "isr:unknown: dcsr=%x ecr=%x dsr=%x dcr=%x\nmode=%x phase=%x\n", - dcsr, ECR_READ(pp), dsr, DCR_READ(pp), - pp->current_mode, pp->current_phase); + "isr:unknown: dcsr=%x ecr=%x dsr=%x dcr=%x\nmode=%x phase=%x\n", + dcsr, ECR_READ(pp), dsr, DCR_READ(pp), + pp->current_mode, pp->current_phase); mutex_exit(&pp->umutex); return (DDI_INTR_CLAIMED); @@ -3237,9 +3236,9 @@ unclaimed: pp->intr_spurious++; ecpp_error(pp->dip, - "isr:UNCL: dcsr=%x ecr=%x dsr=%x dcr=%x\nmode=%x phase=%x\n", - dcsr, ECR_READ(pp), DSR_READ(pp), DCR_READ(pp), - pp->current_mode, pp->current_phase); + "isr:UNCL: dcsr=%x ecr=%x dsr=%x dcr=%x\nmode=%x phase=%x\n", + dcsr, ECR_READ(pp), DSR_READ(pp), DCR_READ(pp), + pp->current_mode, pp->current_phase); mutex_exit(&pp->umutex); return (DDI_INTR_UNCLAIMED); @@ -3286,7 +3285,7 @@ ecpp_dma_ihdlr(struct ecppunit *pp) clock_t tm; ecpp_error(pp->dip, "ecpp_dma_ihdlr(%x): ecr=%x, dsr=%x, dcr=%x\n", - pp->current_mode, ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); + pp->current_mode, ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); /* we are expecting a data transfer interrupt */ ASSERT(pp->e_busy == ECPP_BUSY); @@ -3353,12 +3352,12 @@ ecpp_pio_ihdlr(struct ecppunit *pp) if (pp->next_byte >= pp->last_byte) { ecpp_xfer_cleanup(pp); ecpp_error(pp->dip, - "ecpp_pio_ihdlr: pp->joblen=%d,pp->ctx_cf=%d,\n", - pp->joblen, pp->ctx_cf); + "ecpp_pio_ihdlr: pp->joblen=%d,pp->ctx_cf=%d,\n", + pp->joblen, pp->ctx_cf); } else { if (pp->softintr_pending) { ecpp_error(pp->dip, - "ecpp_pio_ihdlr:E: next byte in progress\n"); + "ecpp_pio_ihdlr:E: next byte in progress\n"); } else { pp->softintr_flags = ECPP_SOFTINTR_PIONEXT; pp->softintr_pending = 1; @@ -3408,7 +3407,7 @@ static uint_t ecpp_nErr_ihdlr(struct ecppunit *pp) { ecpp_error(pp->dip, "ecpp_nErr_ihdlr: mode=%x, phase=%x\n", - pp->current_mode, pp->current_phase); + pp->current_mode, pp->current_phase); if (pp->oflag != TRUE) { ecpp_error(pp->dip, "ecpp_nErr_ihdlr: not open!\n"); @@ -3496,8 +3495,8 @@ ecpp_softintr(caddr_t arg) if (pp->e_busy == ECPP_ERR) { ++pp->ctx_cf; /* check status fail */ ecpp_error(pp->dip, "ecpp_softintr:check_status:F: " - "dsr=%x jl=%d cf_isr=%d\n", - DSR_READ(pp), pp->joblen, pp->ctx_cf); + "dsr=%x jl=%d cf_isr=%d\n", + DSR_READ(pp), pp->joblen, pp->ctx_cf); /* * if status signals are bad, @@ -3506,7 +3505,7 @@ ecpp_softintr(caddr_t arg) unx_len = pp->last_byte - pp->next_byte; if (pp->msg != NULL) { ecpp_putback_untransfered(pp, - (void *)pp->msg->b_rptr, unx_len); + (void *)pp->msg->b_rptr, unx_len); ecpp_error(pp->dip, "ecpp_softintr:e1:unx_len=%d\n", unx_len); @@ -3514,7 +3513,7 @@ ecpp_softintr(caddr_t arg) pp->msg = NULL; } else { ecpp_putback_untransfered(pp, - pp->next_byte, unx_len); + pp->next_byte, unx_len); ecpp_error(pp->dip, "ecpp_softintr:e2:unx_len=%d\n", unx_len); } @@ -3602,7 +3601,7 @@ ecpp_error(dev_info_t *dip, char *fmt, ...) va_start(ap, fmt); (void) vsprintf(msg_buffer, fmt, ap); cmn_err(CE_CONT, "%s%d: %s", ddi_get_name(dip), - ddi_get_instance(dip), msg_buffer); + ddi_get_instance(dip), msg_buffer); va_end(ap); } @@ -3662,14 +3661,14 @@ ecpp_xfer_timeout(void *arg) */ if (ECPP_DMA_STOP(pp, &unx_len) == FAILURE) { ecpp_error(pp->dip, - "ecpp_xfer_timeout: failed dma_stop\n"); + "ecpp_xfer_timeout: failed dma_stop\n"); } ecpp_error(pp->dip, "xfer_timeout: unx_len=%d\n", unx_len); if (ddi_dma_unbind_handle(pp->dma_handle) == DDI_FAILURE) { ecpp_error(pp->dip, - "ecpp_xfer_timeout: failed unbind\n"); + "ecpp_xfer_timeout: failed unbind\n"); } /* @@ -3694,7 +3693,7 @@ ecpp_xfer_timeout(void *arg) unx_addr = (caddr_t)pp->msg->b_wptr - unx_len; } else { unx_addr = pp->ioblock + - (pp->xfercnt - unx_len); + (pp->xfercnt - unx_len); } } } @@ -3737,7 +3736,7 @@ ecpp_putback_untransfered(struct ecppunit *pp, void *startp, uint_t len) new_mp = allocb(len, BPRI_MED); if (new_mp == NULL) { ecpp_error(pp->dip, - "ecpp_putback_untransfered: allocb FAILURE.\n"); + "ecpp_putback_untransfered: allocb FAILURE.\n"); return; } @@ -3782,8 +3781,8 @@ dcr_write(struct ecppunit *pp, uint8_t dcr_byte) return (SUCCESS); } ecpp_error(pp->dip, - "(%d)dcr_write: dcr written =%x, dcr readback =%x\n", - i, dcr_byte, current_dcr); + "(%d)dcr_write: dcr written =%x, dcr readback =%x\n", + i, dcr_byte, current_dcr); return (FAILURE); } @@ -3834,11 +3833,11 @@ ecpp_fifo_timer(void *arg) (pp->ecpp_drain_counter < 10))) { ecpp_error(pp->dip, - "ecpp_fifo_timer(%d):FIFO not empty:ecr=%x\n", - pp->ecpp_drain_counter, ecr); + "ecpp_fifo_timer(%d):FIFO not empty:ecr=%x\n", + pp->ecpp_drain_counter, ecr); pp->fifo_timer_id = timeout(ecpp_fifo_timer, - (caddr_t)pp, drv_usectohz(FIFO_DRAIN_PERIOD)); + (caddr_t)pp, drv_usectohz(FIFO_DRAIN_PERIOD)); ++pp->ecpp_drain_counter; mutex_exit(&pp->umutex); @@ -3852,12 +3851,12 @@ ecpp_fifo_timer(void *arg) */ if (pp->ecpp_drain_counter >= 10) { ecpp_error(pp->dip, "ecpp_fifo_timer(%d):" - " clearing FIFO,can't wait:ecr=%x\n", - pp->ecpp_drain_counter, ecr); + " clearing FIFO,can't wait:ecr=%x\n", + pp->ecpp_drain_counter, ecr); } else { ecpp_error(pp->dip, - "ecpp_fifo_timer(%d):FIFO empty:ecr=%x\n", - pp->ecpp_drain_counter, ecr); + "ecpp_fifo_timer(%d):FIFO empty:ecr=%x\n", + pp->ecpp_drain_counter, ecr); } pp->ecpp_drain_counter = 0; @@ -3889,10 +3888,10 @@ ecpp_fifo_timer(void *arg) pp->joblen += pp->dma_cookie.dmac_size; if (pp->dma_dir == DDI_DMA_WRITE) { pp->obytes[pp->current_mode] += - pp->dma_cookie.dmac_size; + pp->dma_cookie.dmac_size; } else { pp->ibytes[pp->current_mode] += - pp->dma_cookie.dmac_size; + pp->dma_cookie.dmac_size; } /* @@ -3901,7 +3900,7 @@ ecpp_fifo_timer(void *arg) if (--pp->dma_cookie_count > 0) { /* process the next cookie */ ddi_dma_nextcookie(pp->dma_handle, - &pp->dma_cookie); + &pp->dma_cookie); } else if (pp->dma_curwin < pp->dma_nwin) { /* process the next window */ if (ddi_dma_getwin(pp->dma_handle, @@ -3919,18 +3918,18 @@ ecpp_fifo_timer(void *arg) } ecpp_error(pp->dip, "ecpp_fifo_timer: next addr=%llx len=%d\n", - pp->dma_cookie.dmac_address, - pp->dma_cookie.dmac_size); + pp->dma_cookie.dmac_address, + pp->dma_cookie.dmac_size); /* kick off new transfer */ if (ECPP_DMA_START(pp) != SUCCESS) { ecpp_error(pp->dip, - "ecpp_fifo_timer: dma_start failed\n"); + "ecpp_fifo_timer: dma_start failed\n"); goto dma_done; } (void) ecr_write(pp, (ecr & 0xe0) | - ECPP_DMA_ENABLE | ECPP_INTR_MASK); + ECPP_DMA_ENABLE | ECPP_INTR_MASK); mutex_exit(&pp->umutex); @@ -4080,7 +4079,7 @@ ecpp_get_prn_ifcap(struct ecppunit *pp) pp->current_mode == ECPP_COMPAT_MODE) { ifcap |= PRN_1284_STATUS; } else if (pp->current_mode == ECPP_NIBBLE_MODE || - pp->current_mode == ECPP_ECP_MODE) { + pp->current_mode == ECPP_ECP_MODE) { ifcap |= PRN_BIDI; } @@ -4163,9 +4162,9 @@ ecp_negotiation(struct ecppunit *pp) /* Event 5: peripheral deasserts PError and Busy, asserts Select */ if ((dsr & (ECPP_PE | ECPP_nBUSY | ECPP_SLCT)) != - (ECPP_nBUSY | ECPP_SLCT)) { + (ECPP_nBUSY | ECPP_SLCT)) { ecpp_error(pp->dip, - "ecp_negotiation: failed event 5 %x\n", DSR_READ(pp)); + "ecp_negotiation: failed event 5 %x\n", DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4179,7 +4178,7 @@ ecp_negotiation(struct ecppunit *pp) /* Event 31: peripheral asserts PError */ if (wait_dsr(pp, ECPP_PE, ECPP_PE, 35000) < 0) { ecpp_error(pp->dip, - "ecp_negotiation: failed event 31 %x\n", DSR_READ(pp)); + "ecp_negotiation: failed event 31 %x\n", DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4223,7 +4222,7 @@ nibble_negotiation(struct ecppunit *pp) pp->backchannel = ECPP_NIBBLE_MODE; ecpp_error(pp->dip, "nibble_negotiation: ok (phase=%x)\n", - pp->current_phase); + pp->current_phase); return (SUCCESS); @@ -4285,10 +4284,10 @@ ecpp_1284_negotiation(struct ecppunit *pp, uint8_t xreq, uint8_t *rdsr) * asserts Select, asserts PError */ if (wait_dsr(pp, ECPP_nERR | ECPP_SLCT | ECPP_PE | ECPP_nACK, - ECPP_nERR | ECPP_SLCT | ECPP_PE, 35000) < 0) { + ECPP_nERR | ECPP_SLCT | ECPP_PE, 35000) < 0) { /* peripheral is not 1284-compliant */ ecpp_error(pp->dip, - "nego(%x): failed event 2 %x\n", xreq, DSR_READ(pp)); + "nego(%x): failed event 2 %x\n", xreq, DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4320,7 +4319,7 @@ ecpp_1284_negotiation(struct ecppunit *pp, uint8_t xreq, uint8_t *rdsr) if (wait_dsr(pp, ECPP_nACK, ECPP_nACK, 35000) < 0) { /* Something wrong with peripheral */ ecpp_error(pp->dip, - "nego(%x): failed event 6 %x\n", xreq, DSR_READ(pp)); + "nego(%x): failed event 6 %x\n", xreq, DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4328,7 +4327,7 @@ ecpp_1284_negotiation(struct ecppunit *pp, uint8_t xreq, uint8_t *rdsr) if ((DSR_READ(pp) & ECPP_SLCT) != xflag) { /* Extensibility value is not supported */ ecpp_error(pp->dip, - "nego(%x): failed event 5 %x\n", xreq, DSR_READ(pp)); + "nego(%x): failed event 5 %x\n", xreq, DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4398,9 +4397,9 @@ ecpp_1284_termination(struct ecppunit *pp) /* Event 23: peripheral deasserts nFault and nBusy */ /* Event 24: peripheral asserts nAck */ if (wait_dsr(pp, ECPP_nERR | ECPP_nBUSY | ECPP_nACK, - ECPP_nERR, 35000) < 0) { + ECPP_nERR, 35000) < 0) { ecpp_error(pp->dip, - "termination: failed events 23,24 %x\n", DSR_READ(pp)); + "termination: failed events 23,24 %x\n", DSR_READ(pp)); ecpp_1284_init_interface(pp); return (FAILURE); } @@ -4415,7 +4414,7 @@ ecpp_1284_termination(struct ecppunit *pp) /* Event 27: peripheral deasserts nAck */ if (wait_dsr(pp, ECPP_nACK, ECPP_nACK, 35000) < 0) { ecpp_error(pp->dip, - "termination: failed event 27 %x\n", DSR_READ(pp)); + "termination: failed event 27 %x\n", DSR_READ(pp)); ecpp_1284_init_interface(pp); return (FAILURE); } @@ -4432,7 +4431,7 @@ endterm: pp->current_phase = ECPP_PHASE_C_IDLE; ecpp_error(pp->dip, "termination: completed %x %x\n", - DSR_READ(pp), DCR_READ(pp)); + DSR_READ(pp), DCR_READ(pp)); return (SUCCESS); } @@ -4448,7 +4447,7 @@ ecp_peripheral2host(struct ecppunit *pp) uint32_t xfer_time; ASSERT(pp->current_mode == ECPP_ECP_MODE && - pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); + pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); /* * hardware generates cycles to receive data from the peripheral @@ -4474,7 +4473,7 @@ ecp_peripheral2host(struct ecppunit *pp) */ while ((mp = allocb(len, BPRI_MED)) == NULL) { ecpp_error(pp->dip, - "ecp_periph2host: failed allocb(%d)\n", len); + "ecp_periph2host: failed allocb(%d)\n", len); if (len > ECP_REV_BLKSZ) { len = ECP_REV_BLKSZ; } else { @@ -4532,19 +4531,20 @@ ecp_peripheral2host(struct ecppunit *pp) xfer_time = max((1000 * len) / pp->ecp_rev_speed, ECP_REV_MINTOUT); #if defined(__x86) pp->rev_timeout_cnt = (pp->hw == &x86) ? 1 : + max(xfer_time / pp->rev_watchdog, 1); #else pp->rev_timeout_cnt = (pp->hw == &m1553) ? 1 : + max(xfer_time / pp->rev_watchdog, 1); #endif - max(xfer_time / pp->rev_watchdog, 1); pp->last_dmacnt = len; /* nothing xferred yet */ pp->timeout_id = timeout(ecpp_ecp_read_timeout, (caddr_t)pp, - drv_usectohz(pp->rev_watchdog * 1000)); + drv_usectohz(pp->rev_watchdog * 1000)); ecpp_error(pp->dip, "ecp_periph2host: DMA started len=%d\n" - "xfer_time=%d wdog=%d cnt=%d\n", - len, xfer_time, pp->rev_watchdog, pp->rev_timeout_cnt); + "xfer_time=%d wdog=%d cnt=%d\n", + len, xfer_time, pp->rev_watchdog, pp->rev_timeout_cnt); return (SUCCESS); @@ -4607,8 +4607,8 @@ ecpp_ecp_read_timeout(void *arg) ecpp_error(pp->dip, "ecp_read_timeout: restarting\n"); pp->last_dmacnt = dmacnt; pp->timeout_id = timeout(ecpp_ecp_read_timeout, - (caddr_t)pp, - drv_usectohz(pp->rev_watchdog * 1000)); + (caddr_t)pp, + drv_usectohz(pp->rev_watchdog * 1000)); } } @@ -4627,7 +4627,7 @@ ecpp_ecp_read_completion(struct ecppunit *pp) ASSERT(mutex_owned(&pp->umutex)); ASSERT(pp->current_mode == ECPP_ECP_MODE && - pp->current_phase == ECPP_PHASE_ECP_REV_XFER); + pp->current_phase == ECPP_PHASE_ECP_REV_XFER); ASSERT(pp->msg != NULL); /* @@ -4646,7 +4646,7 @@ ecpp_ecp_read_completion(struct ecppunit *pp) } ecpp_error(pp->dip, "ecp_read_completion: xfered %d bytes of %d\n", - xfer_len, pp->resid); + xfer_len, pp->resid); /* clean up and update statistics */ pp->msg = NULL; @@ -4699,8 +4699,8 @@ nibble_peripheral2host(struct ecppunit *pp, uint8_t *byte) /* Event 9: peripheral asserts nAck, data available */ if (wait_dsr(pp, ECPP_nACK, 0, 35000) < 0) { ecpp_error(pp->dip, - "nibble_periph2host(%d): failed event 9 %x\n", - i + 1, DSR_READ(pp)); + "nibble_periph2host(%d): failed event 9 %x\n", + i + 1, DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4715,8 +4715,8 @@ nibble_peripheral2host(struct ecppunit *pp, uint8_t *byte) /* Event 11: peripheral deasserts nAck to finish handshake */ if (wait_dsr(pp, ECPP_nACK, ECPP_nACK, 35000) < 0) { ecpp_error(pp->dip, - "nibble_periph2host(%d): failed event 11 %x\n", - i + 1, DSR_READ(pp)); + "nibble_periph2host(%d): failed event 11 %x\n", + i + 1, DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4757,8 +4757,8 @@ ecpp_peripheral2host(struct ecppunit *pp) /* Event 21: Periph sets PError low to ack host */ if (wait_dsr(pp, ECPP_PE, 0, 35000) < 0) { ecpp_error(pp->dip, - "ecpp_periph2host: failed event 21 %x\n", - DSR_READ(pp)); + "ecpp_periph2host: failed event 21 %x\n", + DSR_READ(pp)); (void) ecpp_1284_termination(pp); return (FAILURE); } @@ -4788,7 +4788,7 @@ ecpp_peripheral2host(struct ecppunit *pp) /* allocate the FIFO size */ if ((mp = allocb(ECPP_FIFO_SZ, BPRI_MED)) == NULL) { ecpp_error(pp->dip, - "ecpp_periph2host: allocb FAILURE.\n"); + "ecpp_periph2host: allocb FAILURE.\n"); return (FAILURE); } @@ -4805,14 +4805,14 @@ ecpp_peripheral2host(struct ecppunit *pp) mutex_exit(&pp->umutex); mp->b_datap->db_type = M_DATA; ecpp_error(pp->dip, - "ecpp_periph2host: sending %d bytes\n", - mp->b_wptr - mp->b_rptr); + "ecpp_periph2host: sending %d bytes\n", + mp->b_wptr - mp->b_rptr); putnext(pp->readq, mp); mutex_enter(&pp->umutex); return (SUCCESS); } else { ecpp_error(pp->dip, - "ecpp_periph2host: !canputnext data lost\n"); + "ecpp_periph2host: !canputnext data lost\n"); freemsg(mp); return (FAILURE); } @@ -4833,7 +4833,7 @@ static int ecp_forward2reverse(struct ecppunit *pp) { ASSERT(pp->current_mode == ECPP_ECP_MODE && - pp->current_phase == ECPP_PHASE_ECP_FWD_IDLE); + pp->current_phase == ECPP_PHASE_ECP_FWD_IDLE); /* place port into PS2 mode */ ECR_WRITE(pp, ECR_mode_001 | ECPP_INTR_SRV | ECPP_INTR_MASK); @@ -4867,7 +4867,7 @@ static int ecp_reverse2forward(struct ecppunit *pp) { ASSERT(pp->current_mode == ECPP_ECP_MODE && - pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); + pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); /* Event 47: host deasserts nInit */ DCR_WRITE(pp, ECPP_REV_DIR | ECPP_nINIT); @@ -4916,7 +4916,7 @@ ecpp_default_negotiation(struct ecppunit *pp) } else { /* Centronics device */ pp->io_mode = - (pp->fast_centronics == TRUE) ? ECPP_DMA : ECPP_PIO; + (pp->fast_centronics == TRUE) ? ECPP_DMA : ECPP_PIO; } ECPP_CONFIG_MODE(pp); } @@ -4929,10 +4929,10 @@ ecpp_mode_negotiation(struct ecppunit *pp, uchar_t newmode) { /* any other mode is impossible */ ASSERT(pp->current_mode == ECPP_CENTRONICS || - pp->current_mode == ECPP_COMPAT_MODE || - pp->current_mode == ECPP_NIBBLE_MODE || - pp->current_mode == ECPP_ECP_MODE || - pp->current_mode == ECPP_DIAG_MODE); + pp->current_mode == ECPP_COMPAT_MODE || + pp->current_mode == ECPP_NIBBLE_MODE || + pp->current_mode == ECPP_ECP_MODE || + pp->current_mode == ECPP_DIAG_MODE); if (pp->current_mode == newmode) { return (SUCCESS); @@ -5008,7 +5008,7 @@ ecpp_mode_negotiation(struct ecppunit *pp, uchar_t newmode) DCR_WRITE(pp, ECPP_nINIT); if (ecr_write(pp, ECR_mode_011 | - ECPP_INTR_MASK | ECPP_INTR_SRV) == FAILURE) { + ECPP_INTR_MASK | ECPP_INTR_SRV) == FAILURE) { ecpp_error(pp->dip, "mode_nego:ECP: failed w/ecr\n"); return (FAILURE); } @@ -5110,7 +5110,7 @@ ecpp_idle_phase(struct ecppunit *pp) ecpp_error(pp->dip, "ecpp_idle_phase: ECP forward\n"); ASSERT(pp->current_phase == ECPP_PHASE_ECP_FWD_IDLE || - pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); + pp->current_phase == ECPP_PHASE_ECP_REV_IDLE); /* put interface into Forward Idle phase */ if ((pp->current_phase == ECPP_PHASE_ECP_REV_IDLE) && @@ -5126,7 +5126,7 @@ ecpp_idle_phase(struct ecppunit *pp) (void) ecpp_backchan_req(pp); } else { ECR_WRITE(pp, - ECR_READ(pp) & ~ECPP_INTR_MASK | ECPP_INTR_SRV); + ECR_READ(pp) & ~ECPP_INTR_MASK | ECPP_INTR_SRV); ECPP_UNMASK_INTR(pp); } @@ -5159,8 +5159,7 @@ read_nibble_backchan(struct ecppunit *pp) ASSERT(pp->current_mode == ECPP_NIBBLE_MODE); pp->current_phase = (DSR_READ(pp) & (ECPP_nERR | ECPP_PE)) - ? ECPP_PHASE_NIBT_NAVAIL - : ECPP_PHASE_NIBT_AVAIL; + ? ECPP_PHASE_NIBT_NAVAIL : ECPP_PHASE_NIBT_AVAIL; ecpp_error(pp->dip, "read_nibble_backchan: %x\n", DSR_READ(pp)); @@ -5172,13 +5171,13 @@ read_nibble_backchan(struct ecppunit *pp) /* see if there's space on the queue */ if (!canputnext(pp->readq)) { ecpp_error(pp->dip, - "read_nibble_backchan: canputnext failed\n"); + "read_nibble_backchan: canputnext failed\n"); return (SUCCESS); } if ((mp = allocb(NIBBLE_REV_BLKSZ, BPRI_MED)) == NULL) { ecpp_error(pp->dip, - "read_nibble_backchan: allocb failed\n"); + "read_nibble_backchan: allocb failed\n"); return (SUCCESS); } @@ -5193,13 +5192,13 @@ read_nibble_backchan(struct ecppunit *pp) } pp->current_phase = (DSR_READ(pp) & (ECPP_nERR | ECPP_PE)) - ? ECPP_PHASE_NIBT_NAVAIL - : ECPP_PHASE_NIBT_AVAIL; + ? ECPP_PHASE_NIBT_NAVAIL + : ECPP_PHASE_NIBT_AVAIL; if (mp->b_wptr - mp->b_rptr > 0) { ecpp_error(pp->dip, - "read_nibble_backchan: sending %d bytes\n", - mp->b_wptr - mp->b_rptr); + "read_nibble_backchan: sending %d bytes\n", + mp->b_wptr - mp->b_rptr); pp->nread = 0; mutex_exit(&pp->umutex); putnext(pp->readq, mp); @@ -5221,7 +5220,7 @@ devidnib_negotiation(struct ecppunit *pp) uint8_t dsr; if (ecpp_1284_negotiation(pp, - ECPP_XREQ_NIBBLE | ECPP_XREQ_ID, &dsr) == FAILURE) { + ECPP_XREQ_NIBBLE | ECPP_XREQ_ID, &dsr) == FAILURE) { return (FAILURE); } @@ -5236,7 +5235,7 @@ devidnib_negotiation(struct ecppunit *pp) } ecpp_error(pp->dip, "ecpp_devidnib_nego: current_phase=%x\n", - pp->current_phase); + pp->current_phase); /* successful negotiation into Nibble mode */ pp->current_mode = ECPP_NIBBLE_MODE; @@ -5304,7 +5303,7 @@ ecpp_getdevid(struct ecppunit *pp, uint8_t *id, int *lenp, int mode) *lenp = (lenhi << 8) | (lenlo); ecpp_error(pp->dip, - "ecpp_getdevid: id length = %d\n", *lenp); + "ecpp_getdevid: id length = %d\n", *lenp); if (*lenp < 2) { return (EIO); @@ -5322,7 +5321,7 @@ ecpp_getdevid(struct ecppunit *pp, uint8_t *id, int *lenp, int mode) dsr = DSR_READ(pp); } ecpp_error(pp->dip, - "ecpp_getdevid: read %d bytes\n", *lenp - i); + "ecpp_getdevid: read %d bytes\n", *lenp - i); /* * 1284: After receiving the sequence, the host is @@ -5470,7 +5469,7 @@ pc87332_config_chip(struct ecppunit *pp) pmc = pc87332_read_config_reg(pp, PMC); if (!(pmc & PC87332_PMC_ECP_DMA_CONFIG)) { pc87332_write_config_reg(pp, PMC, - pmc | PC87332_PMC_ECP_DMA_CONFIG); + pmc | PC87332_PMC_ECP_DMA_CONFIG); } /* @@ -5480,7 +5479,7 @@ pc87332_config_chip(struct ecppunit *pp) fcr = pc87332_read_config_reg(pp, FCR); if (fcr & PC87332_FCR_PPM_FLOAT_CTL) { pc87332_write_config_reg(pp, FCR, - fcr & ~PC87332_FCR_PPM_FLOAT_CTL); + fcr & ~PC87332_FCR_PPM_FLOAT_CTL); } /* @@ -5495,11 +5494,11 @@ pc87332_config_chip(struct ecppunit *pp) /* enable ECP mode, level intr (note that DCR bits 3-0 == 0x0) */ pc87332_write_config_reg(pp, PCR, - PC87332_PCR_INTR_LEVL | PC87332_PCR_ECP_EN); + PC87332_PCR_INTR_LEVL | PC87332_PCR_ECP_EN); /* put SuperIO in initial state */ if (ecr_write(pp, ECR_mode_001 | - ECPP_INTR_MASK | ECPP_INTR_SRV) == FAILURE) { + ECPP_INTR_MASK | ECPP_INTR_SRV) == FAILURE) { ecpp_error(pp->dip, "ecpp_config_87332: ECR\n"); } @@ -5539,8 +5538,8 @@ pc97317_map_regs(struct ecppunit *pp) } if (ddi_regs_map_setup(pp->dip, 0, (caddr_t *)&pp->uh.ebus.c2_reg, - 0x403, sizeof (struct config2_reg), &acc_attr, - &pp->uh.ebus.c2_handle) != DDI_SUCCESS) { + 0x403, sizeof (struct config2_reg), &acc_attr, + &pp->uh.ebus.c2_handle) != DDI_SUCCESS) { ecpp_error(pp->dip, "pc97317_map_regs: failed c2_reg\n"); pc87332_unmap_regs(pp); return (FAILURE); @@ -5575,7 +5574,7 @@ pc97317_config_chip(struct ecppunit *pp) /* SPP Compatibility */ PP_PUTB(pp->uh.ebus.c2_handle, - &pp->uh.ebus.c2_reg->eir, PC97317_CONFIG2_CONTROL2); + &pp->uh.ebus.c2_reg->eir, PC97317_CONFIG2_CONTROL2); PP_PUTB(pp->uh.ebus.c2_handle, &pp->uh.ebus.c2_reg->edr, 0x80); /* low interrupt polarity */ @@ -5589,7 +5588,7 @@ pc97317_config_chip(struct ecppunit *pp) } if (ecr_write(pp, ECR_mode_001 | - ECPP_INTR_MASK | ECPP_INTR_SRV) == FAILURE) { + ECPP_INTR_MASK | ECPP_INTR_SRV) == FAILURE) { ecpp_error(pp->dip, "pc97317_config_chip: failed w/ECR\n"); } @@ -5652,7 +5651,7 @@ cheerio_mask_intr(struct ecppunit *pp) { /* mask Cheerio interrupts */ AND_SET_LONG_R(pp->uh.ebus.d_handle, - &pp->uh.ebus.dmac->csr, ~DCSR_INT_EN); + &pp->uh.ebus.dmac->csr, ~DCSR_INT_EN); } static void @@ -5660,7 +5659,7 @@ cheerio_unmask_intr(struct ecppunit *pp) { /* unmask Cheerio interrupts */ OR_SET_LONG_R(pp->uh.ebus.d_handle, - &pp->uh.ebus.dmac->csr, DCSR_INT_EN | DCSR_TCI_DIS); + &pp->uh.ebus.dmac->csr, DCSR_INT_EN | DCSR_TCI_DIS); } static int @@ -5675,7 +5674,7 @@ cheerio_dma_start(struct ecppunit *pp) DCSR_CSR_DRAIN | DCSR_BURST_1 | DCSR_BURST_0 | DCSR_WRITE); } else { SET_DMAC_CSR(pp, DCSR_INT_EN | DCSR_EN_CNT | DCSR_EN_DMA | - DCSR_CSR_DRAIN | DCSR_BURST_1 | DCSR_BURST_0); + DCSR_CSR_DRAIN | DCSR_BURST_1 | DCSR_BURST_0); } return (SUCCESS); @@ -5691,11 +5690,11 @@ cheerio_dma_stop(struct ecppunit *pp, size_t *countp) /* disable DMA and byte counter */ AND_SET_LONG_R(pp->uh.ebus.d_handle, &pp->uh.ebus.dmac->csr, - ~(DCSR_EN_DMA | DCSR_EN_CNT| DCSR_INT_EN)); + ~(DCSR_EN_DMA | DCSR_EN_CNT| DCSR_INT_EN)); /* ACK and disable the TC interrupt */ OR_SET_LONG_R(pp->uh.ebus.d_handle, &pp->uh.ebus.dmac->csr, - DCSR_TC | DCSR_TCI_DIS); + DCSR_TC | DCSR_TCI_DIS); /* read DMA count if requested */ if (countp) { @@ -5761,22 +5760,22 @@ static int m1553_map_regs(struct ecppunit *pp) { if (ddi_regs_map_setup(pp->dip, 1, (caddr_t *)&pp->uh.m1553.isa_space, - 0, sizeof (struct isaspace), &acc_attr, - &pp->uh.m1553.d_handle) != DDI_SUCCESS) { + 0, sizeof (struct isaspace), &acc_attr, + &pp->uh.m1553.d_handle) != DDI_SUCCESS) { ecpp_error(pp->dip, "m1553_map_regs: failed isa space\n"); goto fail; } if (ddi_regs_map_setup(pp->dip, 0, (caddr_t *)&pp->i_reg, 0, - sizeof (struct info_reg), &acc_attr, &pp->i_handle) - != DDI_SUCCESS) { + sizeof (struct info_reg), &acc_attr, &pp->i_handle) + != DDI_SUCCESS) { ecpp_error(pp->dip, "m1553_map_regs: failed i_reg\n"); goto fail; } if (ddi_regs_map_setup(pp->dip, 0, (caddr_t *)&pp->f_reg, 0x400, - sizeof (struct fifo_reg), &acc_attr, &pp->f_handle) - != DDI_SUCCESS) { + sizeof (struct fifo_reg), &acc_attr, &pp->f_handle) + != DDI_SUCCESS) { ecpp_error(pp->dip, "m1553_map_regs: failed f_reg\n"); goto fail; } @@ -5907,7 +5906,7 @@ m1553_config_chip(struct ecppunit *pp) DCR_WRITE(pp, ECPP_SLCTIN | ECPP_nINIT); ecpp_error(pp->dip, "m1553_config_chip: ecr=%x, dsr=%x, dcr=%x\n", - ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); + ECR_READ(pp), DSR_READ(pp), DCR_READ(pp)); return (SUCCESS); } @@ -5943,8 +5942,8 @@ dma8237_dma_start(struct ecppunit *pp) chn = pp->uh.m1553.chn; ASSERT(chn <= DMAE_CH3 && - pp->dma_cookie.dmac_size != 0 && - pp->dma_cookie.dmac_address != NULL); + pp->dma_cookie.dmac_size != 0 && + pp->dma_cookie.dmac_address != NULL); /* At this point Southbridge has not yet asserted DREQ */ @@ -5952,10 +5951,10 @@ dma8237_dma_start(struct ecppunit *pp) dma8237_write(pp, DMAC2_MODE, DMAMODE_CASC); if (pp->dma_dir == DDI_DMA_READ) { dma8237_write(pp, DMAC1_MODE, DMAMODE_SINGLE | - DMAMODE_READ | chn); + DMAMODE_READ | chn); } else { dma8237_write(pp, DMAC1_MODE, DMAMODE_SINGLE | - DMAMODE_WRITE | chn); + DMAMODE_WRITE | chn); } dma8237_write_addr(pp, pp->dma_cookie.dmac_address); @@ -6216,7 +6215,7 @@ static void dma8237_write(struct ecppunit *pp, int reg_num, uint8_t val) { ddi_put8(pp->uh.m1553.d_handle, - &pp->uh.m1553.isa_space->isa_reg[reg_num], val); + &pp->uh.m1553.isa_space->isa_reg[reg_num], val); } static uint8_t @@ -6255,7 +6254,7 @@ ecpp_kstat_init(struct ecppunit *pp) */ (void) sprintf(buf, "ecppc%d", pp->instance); pp->intrstats = kstat_create("ecpp", pp->instance, buf, "controller", - KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); + KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); if (pp->intrstats == NULL) { ecpp_error(pp->dip, "ecpp_kstat_init:1: kstat_create failed"); } else { @@ -6268,9 +6267,9 @@ ecpp_kstat_init(struct ecppunit *pp) * Allocate, initialize and install misc stats kstat */ pp->ksp = kstat_create("ecpp", pp->instance, NULL, "misc", - KSTAT_TYPE_NAMED, - sizeof (struct ecppkstat) / sizeof (kstat_named_t), - KSTAT_FLAG_PERSISTENT); + KSTAT_TYPE_NAMED, + sizeof (struct ecppkstat) / sizeof (kstat_named_t), + KSTAT_FLAG_PERSISTENT); if (pp->ksp == NULL) { ecpp_error(pp->dip, "ecpp_kstat_init:2: kstat_create failed"); return; @@ -6329,7 +6328,7 @@ ecpp_kstat_update(kstat_t *ksp, int rw) mutex_enter(&pp->umutex); ekp->ek_ctx_obytes.value.ui32 = pp->obytes[ECPP_CENTRONICS] + - pp->obytes[ECPP_COMPAT_MODE]; + pp->obytes[ECPP_COMPAT_MODE]; ekp->ek_ctxpio_obytes.value.ui32 = pp->ctxpio_obytes; ekp->ek_nib_ibytes.value.ui32 = pp->ibytes[ECPP_NIBBLE_MODE]; ekp->ek_ecp_obytes.value.ui32 = pp->obytes[ECPP_ECP_MODE]; @@ -6338,7 +6337,7 @@ ecpp_kstat_update(kstat_t *ksp, int rw) ekp->ek_epp_ibytes.value.ui32 = pp->ibytes[ECPP_EPP_MODE]; ekp->ek_diag_obytes.value.ui32 = pp->obytes[ECPP_DIAG_MODE]; ekp->ek_to_ctx.value.ui32 = pp->to_mode[ECPP_CENTRONICS] + - pp->to_mode[ECPP_COMPAT_MODE]; + pp->to_mode[ECPP_COMPAT_MODE]; ekp->ek_to_nib.value.ui32 = pp->to_mode[ECPP_NIBBLE_MODE]; ekp->ek_to_ecp.value.ui32 = pp->to_mode[ECPP_ECP_MODE]; ekp->ek_to_epp.value.ui32 = pp->to_mode[ECPP_EPP_MODE]; diff --git a/usr/src/uts/common/io/emul64.c b/usr/src/uts/common/io/emul64.c index 96bebabab7..60c7564170 100644 --- a/usr/src/uts/common/io/emul64.c +++ b/usr/src/uts/common/io/emul64.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * SCSA HBA nexus driver that emulates an HBA connected to SCSI target @@ -201,7 +199,9 @@ static struct dev_ops emul64_ops = { emul64_detach, /* detach */ nodev, /* reset */ &emul64_cbops, /* char/block ops */ - NULL /* bus ops */ + NULL, /* bus ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; char _depends_on[] = "misc/scsi"; @@ -351,15 +351,15 @@ emul64_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ if (ddi_soft_state_zalloc(emul64_state, instance) != DDI_SUCCESS) { emul64_i_log(NULL, CE_WARN, - "emul64%d: Failed to alloc soft state", - instance); + "emul64%d: Failed to alloc soft state", + instance); return (DDI_FAILURE); } emul64 = (struct emul64 *)ddi_get_soft_state(emul64_state, instance); if (emul64 == (struct emul64 *)NULL) { emul64_i_log(NULL, CE_WARN, "emul64%d: Bad soft state", - instance); + instance); ddi_soft_state_free(emul64_state, instance); return (DDI_FAILURE); } @@ -412,8 +412,8 @@ emul64_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Look up the scsi-options property */ emul64->emul64_scsi_options = - ddi_prop_get_int(DDI_DEV_T_ANY, dip, 0, "scsi-options", - EMUL64_DEFAULT_SCSI_OPTIONS); + ddi_prop_get_int(DDI_DEV_T_ANY, dip, 0, "scsi-options", + EMUL64_DEFAULT_SCSI_OPTIONS); EMUL64_DEBUG(emul64, SCSI_DEBUG, "emul64 scsi-options=%x", emul64->emul64_scsi_options); @@ -438,7 +438,7 @@ emul64_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) ddi_report_dev(dip); emul64->emul64_taskq = taskq_create("emul64_comp", - emul64_task_nthreads, MINCLSYSPRI, 1, emul64_max_task, 0); + emul64_task_nthreads, MINCLSYSPRI, 1, emul64_max_task, 0); return (DDI_SUCCESS); @@ -553,7 +553,7 @@ emul64_tran_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, goto out; if (length < 2) { cmn_err(CE_WARN, "emul64: %s property does not have 2 " - "elements", prop_name); + "elements", prop_name); goto out; } @@ -569,7 +569,7 @@ emul64_tran_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, } if (length2 < 6) { cmn_err(CE_WARN, "emul64: property %s does not have 6 " - "elements", *geo_vidpid); + "elements", *geo_vidpid); goto out; } @@ -580,12 +580,12 @@ emul64_tran_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, /* create avl for data block storage */ avl_create(&tgt->emul64_tgt_data, emul64_bsd_blkcompare, - sizeof (blklist_t), offsetof(blklist_t, bl_node)); + sizeof (blklist_t), offsetof(blklist_t, bl_node)); /* save scsi_address and vidpid */ bcopy(sd, &tgt->emul64_tgt_saddr, sizeof (struct scsi_address)); (void) strncpy(tgt->emul64_tgt_inq, vidpid, - sizeof (emul64->emul64_tgt->emul64_tgt_inq)); + sizeof (emul64->emul64_tgt->emul64_tgt_inq)); /* * The high order 4 bytes of the sector count always come first in @@ -821,11 +821,11 @@ emul64_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, */ if (pkt == NULL) { pkt = scsi_hba_pkt_alloc(emul64->emul64_dip, ap, cmdlen, - statuslen, - tgtlen, sizeof (struct emul64_cmd), callback, arg); + statuslen, + tgtlen, sizeof (struct emul64_cmd), callback, arg); if (pkt == NULL) { cmn_err(CE_WARN, "emul64_scsi_init_pkt: " - "scsi_hba_pkt_alloc failed"); + "scsi_hba_pkt_alloc failed"); return (NULL); } @@ -964,12 +964,12 @@ void (*callback)(caddr_t), caddr_t arg) beforep->next = p->next; } kmem_free((caddr_t)p, - sizeof (struct emul64_reset_notify_entry)); + sizeof (struct emul64_reset_notify_entry)); rval = DDI_SUCCESS; } else if ((flag & SCSI_RESET_NOTIFY) && (p == NULL)) { p = kmem_zalloc(sizeof (struct emul64_reset_notify_entry), - KM_SLEEP); + KM_SLEEP); p->ap = ap; p->callback = callback; p->arg = arg; @@ -1042,8 +1042,7 @@ emul64_scsi_start(struct scsi_address *ap, struct scsi_pkt *pkt) * sleep mode below. */ dispatched = taskq_dispatch(emul64->emul64_taskq, - emul64_pkt_comp, - (void *)pkt, TQ_NOSLEEP); + emul64_pkt_comp, (void *)pkt, TQ_NOSLEEP); if (dispatched == NULL) { /* Queue was full. dispatch failed. */ mutex_enter(&emul64_stats_mutex); @@ -1053,7 +1052,7 @@ emul64_scsi_start(struct scsi_address *ap, struct scsi_pkt *pkt) } if (dispatched == NULL) { (void) taskq_dispatch(emul64->emul64_taskq, - emul64_pkt_comp, (void *)pkt, TQ_SLEEP); + emul64_pkt_comp, (void *)pkt, TQ_SLEEP); } } @@ -1068,7 +1067,7 @@ void emul64_check_cond(struct scsi_pkt *pkt, uchar_t key, uchar_t asc, uchar_t ascq) { struct scsi_arq_status *arq = - (struct scsi_arq_status *)pkt->pkt_scbp; + (struct scsi_arq_status *)pkt->pkt_scbp; /* got check, no data transferred and ARQ done */ arq->sts_status.sts_chk = 1; @@ -1093,12 +1092,12 @@ emul64_error_inject(struct scsi_pkt *pkt) struct emul64_cmd *sp = PKT2CMD(pkt); emul64_tgt_t *tgt; struct scsi_arq_status *arq = - (struct scsi_arq_status *)pkt->pkt_scbp; + (struct scsi_arq_status *)pkt->pkt_scbp; uint_t max_sense_len; EMUL64_MUTEX_ENTER(sp->cmd_emul64); tgt = find_tgt(sp->cmd_emul64, - pkt->pkt_address.a_target, pkt->pkt_address.a_lun); + pkt->pkt_address.a_target, pkt->pkt_address.a_lun); EMUL64_MUTEX_EXIT(sp->cmd_emul64); /* @@ -1123,7 +1122,7 @@ emul64_error_inject(struct scsi_pkt *pkt) */ max_sense_len = sp->cmd_scblen - (sizeof (struct scsi_arq_status) - - sizeof (struct scsi_extended_sense)); + sizeof (struct scsi_extended_sense)); if (max_sense_len > tgt->emul64_einj_sense_length) { max_sense_len = tgt->emul64_einj_sense_length; } @@ -1200,8 +1199,8 @@ emul64_error_inject_req(struct emul64 *emul64, intptr_t arg) kmem_alloc(error_inj_req.eccd_sns_dlen, KM_SLEEP); /* Copy sense data */ if (ddi_copyin((void *)(arg + sizeof (error_inj_req)), - tgt->emul64_einj_sense_data, - error_inj_req.eccd_sns_dlen, 0) != 0) { + tgt->emul64_einj_sense_data, + error_inj_req.eccd_sns_dlen, 0) != 0) { cmn_err(CE_WARN, "emul64: sense data copy in failed\n"); return (EFAULT); @@ -1294,7 +1293,7 @@ emul64_handle_cmd(struct scsi_pkt *pkt) (void) bsd_scsi_read_capacity_16(pkt); } else { cmn_err(CE_WARN, "emul64: unrecognized G4 service " - "action 0x%x", pkt->pkt_cdbp[1]); + "action 0x%x", pkt->pkt_cdbp[1]); } break; case SCMD_RESERVE: @@ -1338,7 +1337,7 @@ emul64_pkt_comp(void * arg) EMUL64_MUTEX_ENTER(sp->cmd_emul64); tgt = find_tgt(sp->cmd_emul64, - pkt->pkt_address.a_target, pkt->pkt_address.a_lun); + pkt->pkt_address.a_target, pkt->pkt_address.a_lun); EMUL64_MUTEX_EXIT(sp->cmd_emul64); if (!tgt) { pkt->pkt_reason = CMD_TIMEOUT; @@ -1384,8 +1383,8 @@ emul64_get_tgtrange(struct emul64 *emul64, EMUL64_MUTEX_EXIT(emul64); if (*tgtp == NULL) { cmn_err(CE_WARN, "emul64: ioctl - no target for %d,%d on %d", - tgtr->emul64_target, tgtr->emul64_lun, - ddi_get_instance(emul64->emul64_dip)); + tgtr->emul64_target, tgtr->emul64_lun, + ddi_get_instance(emul64->emul64_dip)); return (ENXIO); } return (0); @@ -1409,7 +1408,7 @@ emul64_ioctl(dev_t dev, emul64 = (struct emul64 *)ddi_get_soft_state(emul64_state, instance); if (emul64 == NULL) { cmn_err(CE_WARN, "emul64: ioctl - no softstate for %d\n", - getminor(dev)); + getminor(dev)); return (ENXIO); } @@ -1512,7 +1511,7 @@ emul64_write_on(struct emul64 *emul64, switch (overlap) { case O_NONE: cmn_err(CE_WARN, "emul64: EMUL64_WRITE_ON 0x%llx,0x%lx " - "range not found\n", sb, blkcnt); + "range not found\n", sb, blkcnt); rv = ENXIO; break; case O_SAME: @@ -1526,9 +1525,9 @@ emul64_write_on(struct emul64 *emul64, case O_OVERLAP: case O_SUBSET: cmn_err(CE_WARN, "emul64: EMUL64_WRITE_ON 0x%llx,0x%lx " - "overlaps 0x%llx,0x%" PRIx64 "\n", - sb, blkcnt, cur->emul64_blocked.emul64_sb, - cur->emul64_blocked.emul64_blkcnt); + "overlaps 0x%llx,0x%" PRIx64 "\n", + sb, blkcnt, cur->emul64_blocked.emul64_sb, + cur->emul64_blocked.emul64_blkcnt); rv = EINVAL; break; } @@ -1568,8 +1567,8 @@ emul64_nowrite_alloc(emul64_range_t *range) nw = kmem_zalloc(sizeof (*nw), KM_SLEEP); bcopy((void *) range, - (void *) &nw->emul64_blocked, - sizeof (nw->emul64_blocked)); + (void *) &nw->emul64_blocked, + sizeof (nw->emul64_blocked)); return (nw); } @@ -1632,8 +1631,8 @@ emul64_debug_dump_cdb(struct scsi_address *ap, struct scsi_pkt *pkt) int i; (void) snprintf(buf, sizeof (buf), "emul64%d: <%d,%d> ", - ddi_get_instance(emul64->emul64_dip), - ap->a_target, ap->a_lun); + ddi_get_instance(emul64->emul64_dip), + ap->a_target, ap->a_lun); p = buf + strlen(buf); diff --git a/usr/src/uts/common/io/fd.c b/usr/src/uts/common/io/fd.c index 739c841b8f..cfd46b9914 100644 --- a/usr/src/uts/common/io/fd.c +++ b/usr/src/uts/common/io/fd.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Floppy Disk driver @@ -118,7 +116,9 @@ static struct dev_ops fd_ops = { fd_detach, /* detach */ nodev, /* reset */ &fd_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -158,7 +158,7 @@ static struct driver_minor_data { static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Floppy Disk driver %I%", /* Name of the module. */ + "Floppy Disk driver", /* Name of the module. */ &fd_ops, /* driver ops */ }; @@ -566,7 +566,7 @@ fd_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) int rval = DDI_SUCCESS; FDERRPRINT(FDEP_L3, FDEM_ATTA, (CE_WARN, "fd_detach dip %p", - (void *)dip)); + (void *)dip)); drive_num = ddi_get_instance(dip); if (!(fdp = ddi_get_soft_state(fd_state_head, drive_num))) @@ -1600,8 +1600,8 @@ get_geom: default: FDERRPRINT(FDEP_L4, FDEM_IOCT, (CE_WARN, "fd_ioctl fd unit %d: FDIOSCHAR odd " - "xfer rate %dkbs", - unit, cpy.fdchar.fdc_transfer_rate)); + "xfer rate %dkbs", + unit, cpy.fdchar.fdc_transfer_rate)); rval = EINVAL; break; } @@ -1893,7 +1893,7 @@ fd_build_label_vtoc(struct fcu_obj *fjp, struct fdisk *fdp, struct vtoc *vtocp, */ nblks = (fjp->fj_chars->fdc_nhead * fjp->fj_chars->fdc_secptrack * - fjp->fj_chars->fdc_sec_size) / DEV_BSIZE; + fjp->fj_chars->fdc_sec_size) / DEV_BSIZE; if (nblks == 0 || fjp->fj_chars->fdc_ncyl == 0) return (EFAULT); vpart = vtocp->v_part; @@ -2270,7 +2270,7 @@ fd_check_media(dev_t dev, enum dkio_state state) /* turn on timer */ fdp->d_media_timeout_id = timeout(fd_media_watch, - (void *)dev, fdp->d_media_timeout); + (void *)dev, fdp->d_media_timeout); if (cv_wait_sig(&fdp->d_statecv, &fjp->fj_lock) == 0) { fdp->d_media_timeout = 0; @@ -2309,7 +2309,7 @@ fd_get_media_info(struct fcu_obj *fjp, caddr_t buf, int flag) media_info.dki_media_type = DK_FLOPPY; media_info.dki_lbsize = fjp->fj_chars->fdc_sec_size; media_info.dki_capacity = fjp->fj_chars->fdc_ncyl * - fjp->fj_chars->fdc_secptrack * fjp->fj_chars->fdc_nhead; + fjp->fj_chars->fdc_secptrack * fjp->fj_chars->fdc_nhead; if (ddi_copyout(&media_info, buf, sizeof (struct dk_minfo), flag)) err = EFAULT; diff --git a/usr/src/uts/common/io/fdc.c b/usr/src/uts/common/io/fdc.c index 0e111658e0..8e87ca856f 100644 --- a/usr/src/uts/common/io/fdc.c +++ b/usr/src/uts/common/io/fdc.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Floppy Disk Controller Driver @@ -230,6 +229,7 @@ static int fdc_getinfo(dev_info_t *, ddi_info_cmd_t, void *, void **); static int fdc_probe(dev_info_t *); static int fdc_attach(dev_info_t *, ddi_attach_cmd_t); static int fdc_detach(dev_info_t *, ddi_detach_cmd_t); +static int fdc_quiesce(dev_info_t *); static int fdc_enhance_probe(struct fdcntlr *fcp); struct dev_ops fdc_ops = { @@ -242,7 +242,9 @@ struct dev_ops fdc_ops = { fdc_detach, /* detach */ nodev, /* reset */ (struct cb_ops *)0, /* driver operations */ - &fdc_bus_ops /* bus operations */ + &fdc_bus_ops, /* bus operations */ + NULL, /* power */ + fdc_quiesce, /* quiesce */ }; /* @@ -254,7 +256,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Floppy Controller %I%", /* Name of the module. */ + "Floppy Controller", /* Name of the module. */ &fdc_ops, /* Driver ops vector */ }; @@ -1604,6 +1606,71 @@ decode(xlate_tbl_t *tablep, int kode, int *rvalue) return (-1); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +int +fdc_quiesce(dev_info_t *dip) +{ + struct fdcntlr *fcp; + int ctlr = ddi_get_instance(dip); + int unit; + + fcp = ddi_get_soft_state(fdc_state_head, ctlr); + + if (fcp == NULL) + return (DDI_FAILURE); + + /* + * If no FD units are attached, there is no need to quiesce. + */ + for (unit = 0; unit < NFDUN; unit++) { + struct fcu_obj *fjp = fcp->c_unit[unit]; + if (fjp->fj_flags & FUNIT_DRVATCH) { + break; + } + } + + if (unit == NFDUN) + return (DDI_SUCCESS); + + (void) ddi_dmae_disable(fcp->c_dip, fcp->c_dmachan); + + fcp->c_digout = (fcp->c_digout & (FD_DMTREN | FD_DRSEL)) | FD_ENABLE; + outb(fcp->c_regbase + FCR_DOR, fcp->c_digout); + drv_usecwait(20); + fcp->c_digout |= FD_RSETZ; + outb(fcp->c_regbase + FCR_DOR, fcp->c_digout); + + if (fcp->c_chip >= i82077) { + int count = 4; + uchar_t *oplistp = configurecmd; + do { + int ntries = FDC_RQM_RETRY; + do { + if ((inb(fcp->c_regbase + FCR_MSR) & + (MS_RQM|MS_DIO)) == MS_RQM) + break; + else + drv_usecwait(1); + } while (--ntries); + if (ntries == 0) { + break; + } + outb(fcp->c_regbase + FCR_DATA, *oplistp++); + drv_usecwait(16); /* See comment in fdc_result() */ + } while (--count); + } + + return (DDI_SUCCESS); +} void fdcquiesce(struct fdcntlr *fcp) @@ -1612,8 +1679,8 @@ fdcquiesce(struct fdcntlr *fcp) FCERRPRINT(FDEP_L2, FDEM_RESE, (CE_NOTE, "fdcquiesce fcp %p", (void*)fcp)); - ASSERT(MUTEX_HELD(&fcp->c_lock)); + ASSERT(MUTEX_HELD(&fcp->c_lock)); mutex_enter(&fcp->c_dorlock); if (ddi_dmae_stop(fcp->c_dip, fcp->c_dmachan) != DDI_SUCCESS) diff --git a/usr/src/uts/common/io/fssnap.c b/usr/src/uts/common/io/fssnap.c index 54d3470fda..e89d47225a 100644 --- a/usr/src/uts/common/io/fssnap.c +++ b/usr/src/uts/common/io/fssnap.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/debug.h> #include <sys/types.h> @@ -228,14 +227,15 @@ static struct dev_ops snap_ops = { nodev, /* no snap_reset */ &snap_cb_ops, (struct bus_ops *)NULL, - nulldev /* no snap_power() */ + nulldev, /* no snap_power() */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv md = { &mod_driverops, /* Type of module. This is a driver */ - "snapshot driver %I%", /* Name of the module */ + "snapshot driver", /* Name of the module */ &snap_ops, }; diff --git a/usr/src/uts/common/io/gen_drv.c b/usr/src/uts/common/io/gen_drv.c index 40d6914cde..403415a3e1 100644 --- a/usr/src/uts/common/io/gen_drv.c +++ b/usr/src/uts/common/io/gen_drv.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* @@ -134,7 +132,8 @@ static struct dev_ops gen_ops = { nodev, /* reset */ &gen_cb_ops, /* driver ops */ (struct bus_ops *)0, /* bus ops */ - gen_power /* power */ + gen_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -159,7 +158,7 @@ static char *mnodetypes[] = { static struct modldrv modldrv = { &mod_driverops, - "generic test driver %I%", + "generic test driver", &gen_ops }; @@ -919,11 +918,11 @@ gen_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, int *rvalp) switch (cmd) { case GENDRV_IOFAULT_SIMULATE: if (ddi_get_eventcookie(dstatep->dip, DDI_DEVI_FAULT_EVENT, - &(cookie)) != NDI_SUCCESS) + &(cookie)) != NDI_SUCCESS) return (DDI_FAILURE); return (ndi_post_event(dstatep->dip, dstatep->dip, cookie, - NULL)); + NULL)); case GENDRV_NDI_EVENT_TEST: if (ddi_get_eventcookie(dstatep->dip, "pshot_dev_offline", @@ -1154,7 +1153,7 @@ gen_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, int *rvalp) dstatep->flag &= ~LOWER_POWER_FLAG; mutex_exit(&dstatep->lock); GEN_DEBUG((CE_CONT, "%s%d: DEVCTL_PM_NO_LOWER_POWER", - nodename, instance)); + nodename, instance)); break; default: @@ -1437,7 +1436,7 @@ gen_create_mn_disk_wwn(dev_info_t *devi) int target, lun; if (address[0] >= '0' && address[0] <= '9' && - strchr(address, ',')) { + strchr(address, ',')) { target = atod(address); address = strchr(address, ','); lun = atod(++address); diff --git a/usr/src/uts/common/io/gentty.c b/usr/src/uts/common/io/gentty.c index 086624fc26..91fff60b36 100644 --- a/usr/src/uts/common/io/gentty.c +++ b/usr/src/uts/common/io/gentty.c @@ -18,9 +18,9 @@ * * CDDL HEADER END */ + /* - * Copyright 2007 Sun Microsystems, Inc. - * All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -28,7 +28,6 @@ /* All Rights Reserved */ -#pragma ident "%Z%%M% %I% %E% SMI" /* from S5R4 1.22 */ /* @@ -98,8 +97,9 @@ struct dev_ops sy_ops = { nodev, /* detach */ nodev, /* reset */ &sy_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ - + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; @@ -115,7 +115,7 @@ extern struct dev_ops sy_ops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "Indirect driver for tty 'sy' %I%", + "Indirect driver for tty 'sy'", &sy_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/hxge/hxge_main.c b/usr/src/uts/common/io/hxge/hxge_main.c index 978852b0c7..90bfc9ef19 100644 --- a/usr/src/uts/common/io/hxge/hxge_main.c +++ b/usr/src/uts/common/io/hxge/hxge_main.c @@ -3493,7 +3493,7 @@ hxge_get_priv_prop(p_hxge_t hxgep, const char *pr_name, uint_t pr_flags, * Module loading and removing entry points. */ DDI_DEFINE_STREAM_OPS(hxge_dev_ops, nulldev, nulldev, hxge_attach, hxge_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); extern struct mod_ops mod_driverops; diff --git a/usr/src/uts/common/io/i8042.c b/usr/src/uts/common/io/i8042.c index 9c9e568abc..30d795fb30 100644 --- a/usr/src/uts/common/io/i8042.c +++ b/usr/src/uts/common/io/i8042.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/ddi.h> @@ -317,7 +316,9 @@ static struct dev_ops i8042_ops = { i8042_detach, nodev, (struct cb_ops *)0, - &i8042_bus_ops + &i8042_bus_ops, + NULL, + ddi_quiesce_not_needed, }; @@ -329,7 +330,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "i8042 nexus driver %I%", /* Name of module. */ + "i8042 nexus driver", /* Name of module. */ &i8042_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/ib/clients/ibd/ibd.c b/usr/src/uts/common/io/ib/clients/ibd/ibd.c index bba7d5592f..099e2036c8 100644 --- a/usr/src/uts/common/io/ib/clients/ibd/ibd.c +++ b/usr/src/uts/common/io/ib/clients/ibd/ibd.c @@ -247,12 +247,12 @@ static void ibd_perf(ibd_state_t *); #endif DDI_DEFINE_STREAM_OPS(ibd_dev_ops, nulldev, nulldev, ibd_attach, ibd_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); /* Module Driver Info */ static struct modldrv ibd_modldrv = { &mod_driverops, /* This one is a driver */ - "InfiniBand GLDv3 Driver 1.3", /* short description */ + "InfiniBand GLDv3 Driver", /* short description */ &ibd_dev_ops /* driver specific ops */ }; diff --git a/usr/src/uts/common/io/ib/clients/rds/rdsddi.c b/usr/src/uts/common/io/ib/clients/rds/rdsddi.c index c7eaed8027..306a2a593e 100644 --- a/usr/src/uts/common/io/ib/clients/rds/rdsddi.c +++ b/usr/src/uts/common/io/ib/clients/rds/rdsddi.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -55,7 +54,7 @@ #define RDS_NAME "rds" #define RDS_STRTAB rdsinfo -#define RDS_DEVDESC "RDS STREAMS driver %I%" +#define RDS_DEVDESC "RDS STREAMS driver" #define RDS_DEVMINOR 0 #define RDS_DEVMTFLAGS D_MP | D_SYNCSTR #define RDS_DEFAULT_PRIV_MODE 0666 @@ -944,7 +943,7 @@ struct streamtab rdsinfo = { }; DDI_DEFINE_STREAM_OPS(rds_devops, nulldev, nulldev, rds_attach, rds_detach, - nulldev, rds_info, RDS_DEVMTFLAGS, &RDS_STRTAB); + nulldev, rds_info, RDS_DEVMTFLAGS, &RDS_STRTAB, ddi_quiesce_not_supported); /* * Module linkage information for the kernel. diff --git a/usr/src/uts/common/io/ib/clients/rds/rdsib.c b/usr/src/uts/common/io/ib/clients/rds/rdsib.c index e2905d75eb..9cd98c2425 100644 --- a/usr/src/uts/common/io/ib/clients/rds/rdsib.c +++ b/usr/src/uts/common/io/ib/clients/rds/rdsib.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/stat.h> @@ -128,13 +127,14 @@ static struct dev_ops rdsib_ops = { nodev, /* reset */ &rdsib_cb_ops, /* driver ops - devctl interfaces */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* * Module linkage information. */ -#define RDS_DEVDESC "RDS IB driver %I%" +#define RDS_DEVDESC "RDS IB driver" static struct modldrv rdsib_modldrv = { &mod_driverops, /* Driver module */ RDS_DEVDESC, /* Driver name and version */ diff --git a/usr/src/uts/common/io/ib/clients/sdp/sdpddi.c b/usr/src/uts/common/io/ib/clients/sdp/sdpddi.c index 43bcf2b0f5..0973888811 100755..100644 --- a/usr/src/uts/common/io/ib/clients/sdp/sdpddi.c +++ b/usr/src/uts/common/io/ib/clients/sdp/sdpddi.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -76,7 +75,7 @@ */ #define SDP_NAME "sdp" -#define SDP_DEVDESC "SDP STREAMS driver %I%" +#define SDP_DEVDESC "SDP STREAMS driver" #define SDP_DEVMINOR 0 static dev_info_t *sdp_dev_info; @@ -289,7 +288,7 @@ struct streamtab sdpinfo = { }; DDI_DEFINE_STREAM_OPS(sdp_devops, nulldev, nulldev, sdp_gen_attach, - sdp_gen_detach, nodev, NULL, D_MP, &sdpinfo); + sdp_gen_detach, nodev, NULL, D_MP, &sdpinfo, ddi_quiesce_not_needed); /* * Module linkage information for the kernel. diff --git a/usr/src/uts/common/io/ib/ibnex/ibnex.c b/usr/src/uts/common/io/ib/ibnex/ibnex.c index 04b8c734d6..5944d652c7 100644 --- a/usr/src/uts/common/io/ib/ibnex/ibnex.c +++ b/usr/src/uts/common/io/ib/ibnex/ibnex.c @@ -40,7 +40,6 @@ * device tree nodes. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/conf.h> @@ -300,13 +299,14 @@ static struct dev_ops ibnex_ops = { nodev, /* reset */ &ibnex_cbops, /* driver ops - devctl interfaces */ &ibnex_bus_ops, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* Module linkage information for the kernel. */ static struct modldrv modldrv = { &mod_driverops, /* Driver module */ - "IB nexus %I%", /* Driver name and version */ + "IB nexus", /* Driver name and version */ &ibnex_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/igb/igb_main.c b/usr/src/uts/common/io/igb/igb_main.c index 64456cf6a4..18a7050e7e 100644 --- a/usr/src/uts/common/io/igb/igb_main.c +++ b/usr/src/uts/common/io/igb/igb_main.c @@ -1,19 +1,17 @@ /* * CDDL HEADER START * - * Copyright(c) 2007-2008 Intel Corporation. All rights reserved. * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * - * You can obtain a copy of the license at: - * http://www.opensolaris.org/os/licensing. + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * - * When using or redistributing this file, you may do so under the - * License only. No other modification of this header is permitted. - * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] @@ -22,15 +20,18 @@ */ /* + * Copyright(c) 2007-2008 Intel Corporation. All rights reserved. + */ + +/* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms of the CDDL. + * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include "igb_sw.h" -static char ident[] = "Intel 1Gb Ethernet 1.1.3"; +static char ident[] = "Intel 1Gb Ethernet"; /* * Local function protoypes @@ -103,6 +104,7 @@ static int igb_attach(dev_info_t *, ddi_attach_cmd_t); static int igb_detach(dev_info_t *, ddi_detach_cmd_t); static int igb_resume(dev_info_t *); static int igb_suspend(dev_info_t *); +static int igb_quiesce(dev_info_t *); static void igb_unconfigure(dev_info_t *, igb_t *); static int igb_fm_error_cb(dev_info_t *, ddi_fm_error_t *, const void *); @@ -142,7 +144,8 @@ static struct dev_ops igb_dev_ops = { nodev, /* devo_reset */ &igb_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - ddi_power /* devo_power */ + ddi_power, /* devo_power */ + igb_quiesce, /* devo_quiesce */ }; static struct modldrv igb_modldrv = { @@ -518,6 +521,52 @@ igb_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd) return (DDI_SUCCESS); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +igb_quiesce(dev_info_t *devinfo) +{ + igb_t *igb; + struct e1000_hw *hw; + + igb = (igb_t *)ddi_get_driver_private(devinfo); + + if (igb == NULL) + return (DDI_FAILURE); + + hw = &igb->hw; + + /* + * Disable the adapter interrupts + */ + igb_disable_adapter_interrupts(igb); + + /* Tell firmware driver is no longer in control */ + igb_release_driver_control(hw); + + /* + * Reset the chipset + */ + (void) e1000_reset_hw(hw); + + /* + * Reset PHY if possible + */ + if (e1000_check_reset_block(hw) == E1000_SUCCESS) + (void) e1000_phy_hw_reset(hw); + + return (DDI_SUCCESS); +} + + static void igb_unconfigure(dev_info_t *devinfo, igb_t *igb) { diff --git a/usr/src/uts/common/io/ipw/ipw2100.c b/usr/src/uts/common/io/ipw/ipw2100.c index ad3fde641c..aafc7a77fd 100644 --- a/usr/src/uts/common/io/ipw/ipw2100.c +++ b/usr/src/uts/common/io/ipw/ipw2100.c @@ -65,7 +65,7 @@ #include <sys/crypto/api.h> static void *ipw2100_ssp = NULL; -static char ipw2100_ident[] = IPW2100_DRV_DESC " " IPW2100_DRV_REV; +static char ipw2100_ident[] = IPW2100_DRV_DESC; /* * PIO access attribute for register @@ -2634,7 +2634,7 @@ enable_interrupt: * Module Loading Data & Entry Points */ DDI_DEFINE_STREAM_OPS(ipw2100_devops, nulldev, nulldev, ipw2100_attach, - ipw2100_detach, ipw2100_reset, NULL, D_MP, NULL); + ipw2100_detach, ipw2100_reset, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv ipw2100_modldrv = { &mod_driverops, diff --git a/usr/src/uts/common/io/iwh/iwh.c b/usr/src/uts/common/io/iwh/iwh.c index 1807f26c33..fd7f80598e 100644 --- a/usr/src/uts/common/io/iwh/iwh.c +++ b/usr/src/uts/common/io/iwh/iwh.c @@ -348,7 +348,7 @@ extern pri_t minclsyspri; * Module Loading Data & Entry Points */ DDI_DEFINE_STREAM_OPS(iwh_devops, nulldev, nulldev, iwh_attach, - iwh_detach, nodev, NULL, D_MP, NULL); + iwh_detach, nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv iwh_modldrv = { &mod_driverops, diff --git a/usr/src/uts/common/io/iwi/ipw2200.c b/usr/src/uts/common/io/iwi/ipw2200.c index f4a78b389e..2dbad4d517 100644 --- a/usr/src/uts/common/io/iwi/ipw2200.c +++ b/usr/src/uts/common/io/iwi/ipw2200.c @@ -75,7 +75,7 @@ #define IPW2200_RXBUF_SIZE (4096) static void *ipw2200_ssp = NULL; -static char ipw2200_ident[] = IPW2200_DRV_DESC " " IPW2200_DRV_REV; +static char ipw2200_ident[] = IPW2200_DRV_DESC; /* * PIO access attributor for registers @@ -2945,7 +2945,7 @@ enable_interrupt: * Module Loading Data & Entry Points */ DDI_DEFINE_STREAM_OPS(ipw2200_devops, nulldev, nulldev, ipw2200_attach, - ipw2200_detach, ipw2200_reset, NULL, D_MP, NULL); + ipw2200_detach, ipw2200_reset, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv ipw2200_modldrv = { &mod_driverops, diff --git a/usr/src/uts/common/io/iwi/ipw2200.h b/usr/src/uts/common/io/iwi/ipw2200.h index b5b7ef3456..4f5abc670c 100755..100644 --- a/usr/src/uts/common/io/iwi/ipw2200.h +++ b/usr/src/uts/common/io/iwi/ipw2200.h @@ -33,8 +33,6 @@ #ifndef _SYS_IPW2200_H #define _SYS_IPW2200_H -#pragma ident "%Z%%M% %I% %E% SMI" - #ifdef __cplusplus extern "C" { #endif @@ -49,7 +47,6 @@ extern "C" { #define IPW2200_DRV_NAME "iwi" #define IPW2200_DRV_DESC "Intel Wireless 2200/2915" -#define IPW2200_DRV_REV "V1.02" /* * Debug functionalities diff --git a/usr/src/uts/common/io/iwk/iwk2.c b/usr/src/uts/common/io/iwk/iwk2.c index 1147fa87e5..0ccb805a4a 100644 --- a/usr/src/uts/common/io/iwk/iwk2.c +++ b/usr/src/uts/common/io/iwk/iwk2.c @@ -352,7 +352,7 @@ extern pri_t minclsyspri; * Module Loading Data & Entry Points */ DDI_DEFINE_STREAM_OPS(iwk_devops, nulldev, nulldev, iwk_attach, - iwk_detach, nodev, NULL, D_MP, NULL); + iwk_detach, nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv iwk_modldrv = { &mod_driverops, diff --git a/usr/src/uts/common/io/iwscons.c b/usr/src/uts/common/io/iwscons.c index 54e4bd7762..615cd61cd2 100644 --- a/usr/src/uts/common/io/iwscons.c +++ b/usr/src/uts/common/io/iwscons.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * workstation console redirecting driver @@ -673,7 +672,9 @@ struct dev_ops iwscn_ops = { nodev, /* detach */ nodev, /* reset */ &iwscn_cb_ops, /* driver operations */ - NULL /* bus operations */ + NULL, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -681,7 +682,7 @@ struct dev_ops iwscn_ops = { */ static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "Workstation Redirection driver %I%", + "Workstation Redirection driver", &iwscn_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/ixgbe/ixgbe_main.c b/usr/src/uts/common/io/ixgbe/ixgbe_main.c index 98c3e0ff58..f7bbcb1ff6 100644 --- a/usr/src/uts/common/io/ixgbe/ixgbe_main.c +++ b/usr/src/uts/common/io/ixgbe/ixgbe_main.c @@ -1,19 +1,17 @@ /* * CDDL HEADER START * - * Copyright(c) 2007-2008 Intel Corporation. All rights reserved. * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * - * You can obtain a copy of the license at: - * http://www.opensolaris.org/os/licensing. + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * - * When using or redistributing this file, you may do so under the - * License only. No other modification of this header is permitted. - * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] @@ -22,15 +20,18 @@ */ /* + * Copyright(c) 2007-2008 Intel Corporation. All rights reserved. + */ + +/* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. - * Use is subject to license terms of the CDDL. + * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include "ixgbe_sw.h" -static char ident[] = "Intel 10Gb Ethernet 1.0.2"; +static char ident[] = "Intel 10Gb Ethernet"; /* * Local function protoypes @@ -143,7 +144,8 @@ static struct dev_ops ixgbe_dev_ops = { nodev, /* devo_reset */ &ixgbe_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - ddi_power /* devo_power */ + ddi_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv ixgbe_modldrv = { diff --git a/usr/src/uts/common/io/kb8042/kb8042.c b/usr/src/uts/common/io/kb8042/kb8042.c index 0e8369b076..e815087945 100644 --- a/usr/src/uts/common/io/kb8042/kb8042.c +++ b/usr/src/uts/common/io/kb8042/kb8042.c @@ -23,11 +23,10 @@ /* All Rights Reserved */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/errno.h> @@ -236,7 +235,9 @@ struct dev_ops kb8042_ops = { kb8042_detach, /* devo_detach */ nodev, /* devo_reset */ &cb_kb8042_ops, /* devo_cb_ops */ - (struct bus_ops *)NULL /* devo_bus_ops */ + (struct bus_ops *)NULL, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; @@ -250,7 +251,7 @@ struct dev_ops kb8042_ops = { */ static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "PS/2 Keyboard %I%, %E%", + "PS/2 Keyboard", &kb8042_ops, /* driver ops */ }; @@ -543,8 +544,8 @@ kb8042_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) ddi_report_dev(devi); #ifdef KD_DEBUG - cmn_err(CE_CONT, "?%s #%d: version %s\n", - DRIVER_NAME(devi), ddi_get_instance(devi), "%I% (%E%)"); + cmn_err(CE_CONT, "?%s #%d\n", + DRIVER_NAME(devi), ddi_get_instance(devi)); #endif return (DDI_SUCCESS); @@ -585,7 +586,6 @@ kb8042_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) } } - /*ARGSUSED*/ static int kb8042_getinfo( diff --git a/usr/src/uts/common/io/kstat.c b/usr/src/uts/common/io/kstat.c index 0f00483f07..00d13f3ef3 100644 --- a/usr/src/uts/common/io/kstat.c +++ b/usr/src/uts/common/io/kstat.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * kernel statistics driver @@ -554,7 +552,7 @@ write_kstat_data(int *rvalp, void *user_ksp, int flag, cred_t *cred) if (model == DDI_MODEL_ILP32) KSTAT_NAMED_STR_PTR(knew) = (char *)(uintptr_t) - knew->value.str.addr.ptr32; + knew->value.str.addr.ptr32; #endif /* * Nothing special for NULL @@ -725,11 +723,13 @@ static struct dev_ops kstat_ops = { kstat_detach, /* detach */ nodev, /* reset */ &kstat_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* no bus operations */ + (struct bus_ops *)0, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { - &mod_driverops, "kernel statistics driver %I%", &kstat_ops, + &mod_driverops, "kernel statistics driver", &kstat_ops, }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/io/ksyms.c b/usr/src/uts/common/io/ksyms.c index 440b5dfd24..d43324ceae 100644 --- a/usr/src/uts/common/io/ksyms.c +++ b/usr/src/uts/common/io/ksyms.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * ksyms driver - exports a single symbol/string table for the kernel @@ -438,11 +437,13 @@ static struct dev_ops ksyms_ops = { ksyms_detach, /* detach */ nodev, /* reset */ &ksyms_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* no bus operations */ + (struct bus_ops *)0, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { - &mod_driverops, "kernel symbols driver %I%", &ksyms_ops, + &mod_driverops, "kernel symbols driver", &ksyms_ops, }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/io/llc1.c b/usr/src/uts/common/io/llc1.c index 4a04f28c95..f673d7c128 100644 --- a/usr/src/uts/common/io/llc1.c +++ b/usr/src/uts/common/io/llc1.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * llc1 - an LLC Class 1 MUX compatible with SunConnect LLC2 uses DLPI @@ -182,14 +180,15 @@ struct streamtab llc1_info = { /* define the "ops" structure for a STREAMS driver */ DDI_DEFINE_STREAM_OPS(llc1_ops, nulldev, nulldev, llc1_attach, - llc1_detach, nodev, llc1_getinfo, D_MP | D_MTPERMOD, &llc1_info); + llc1_detach, nodev, llc1_getinfo, D_MP | D_MTPERMOD, &llc1_info, + ddi_quiesce_not_supported); /* * Module linkage information for the kernel. */ static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "LLC Class 1 Driver %I%", + "LLC Class 1 Driver", &llc1_ops, /* driver ops */ }; @@ -253,13 +252,13 @@ llc1_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd) /* make sure minor device lists are initialized */ llc1_device_list.llc1_str_next = - llc1_device_list.llc1_str_prev = - (llc1_t *)&llc1_device_list.llc1_str_next; + llc1_device_list.llc1_str_prev = + (llc1_t *)&llc1_device_list.llc1_str_next; /* make sure device list is initialized */ llc1_device_list.llc1_mac_next = - llc1_device_list.llc1_mac_prev = - (llc_mac_info_t *)&llc1_device_list.llc1_mac_next; + llc1_device_list.llc1_mac_prev = + (llc_mac_info_t *)&llc1_device_list.llc1_mac_next; } /* @@ -278,7 +277,7 @@ llc1_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd) return (DDI_FAILURE); } llc1_device_list.llc1_multisize = ddi_getprop(DDI_DEV_T_NONE, - devinfo, 0, "multisize", 0); + devinfo, 0, "multisize", 0); if (llc1_device_list.llc1_multisize == 0) llc1_device_list.llc1_multisize = LLC1_MAX_MULTICAST; @@ -440,10 +439,10 @@ llc1_close(queue_t *q, int flag, cred_t *cred) */ if (llc1->llc_mac_info && llc1->llc_mac_info->llcp_flags & - LLC1_AVAILABLE) + LLC1_AVAILABLE) llc1_send_disable_multi( - llc1->llc_mac_info, - mcast); + llc1->llc_mac_info, + mcast); llc1->llc_mcast[i] = NULL; } } @@ -518,7 +517,7 @@ llc1_uwput(queue_t *q, mblk_t *mp) #ifdef LLC1_DEBUG if (llc1_debug & LLCERRS) printf("llc1: Unexpected packet type from queue: %d\n", - mp->b_datap->db_type); + mp->b_datap->db_type); #endif freemsg(mp); } @@ -574,11 +573,11 @@ llc1_lrsrv(queue_t *q) macinfo->llcp_flags &= ~LLC1_LINKED; macinfo->llcp_flags |= LLC1_AVAILABLE; macinfo->llcp_maxpkt = - prim->info_ack.dl_max_sdu; + prim->info_ack.dl_max_sdu; macinfo->llcp_minpkt = - prim->info_ack.dl_min_sdu; + prim->info_ack.dl_min_sdu; macinfo->llcp_type = - prim->info_ack.dl_mac_type; + prim->info_ack.dl_mac_type; if (macinfo->llcp_type == DL_ETHER) { macinfo->llcp_type = DL_CSMACD; /* @@ -596,12 +595,14 @@ llc1_lrsrv(queue_t *q) macinfo->llcp_macaddr, macinfo->llcp_addrlen); bcopy(mp->b_rptr + - prim->info_ack.dl_brdcst_addr_offset, - macinfo->llcp_broadcast, - prim->info_ack.dl_brdcst_addr_length); + prim->info_ack. + dl_brdcst_addr_offset, + macinfo->llcp_broadcast, + prim->info_ack. + dl_brdcst_addr_length); if (prim->info_ack.dl_current_state == - DL_UNBOUND) + DL_UNBOUND) llc1_send_bindreq(macinfo); freemsg(mp); /* @@ -627,8 +628,8 @@ llc1_lrsrv(queue_t *q) break; } } else { - if (prim->info_ack.dl_current_state == - DL_IDLE) + if (prim->info_ack.dl_current_state == + DL_IDLE) /* address was wrong before */ bcopy(mp->b_rptr + prim->info_ack.dl_addr_offset, @@ -652,7 +653,7 @@ llc1_lrsrv(queue_t *q) case DL_ERROR_ACK: /* binding is a special case */ if (prim->error_ack.dl_error_primitive == - DL_BIND_REQ) { + DL_BIND_REQ) { freemsg(mp); if (macinfo->llcp_flags & LLC1_BINDING) llc1_send_bindreq(macinfo); @@ -662,11 +663,11 @@ llc1_lrsrv(queue_t *q) break; case DL_PHYS_ADDR_ACK: llc1_find_waiting(macinfo, mp, - DL_PHYS_ADDR_REQ); + DL_PHYS_ADDR_REQ); break; case DL_OK_ACK: if (prim->ok_ack.dl_correct_primitive == - DL_BIND_REQ) + DL_BIND_REQ) macinfo->llcp_flags &= ~LLC1_BINDING; /* FALLTHROUGH */ default: @@ -739,15 +740,15 @@ llc1_uwsrv(queue_t *q) if (llc1_debug & LLCERRS) printf( "llc1_cmds: nonfatal err=%d\n", - err); + err); #endif (void) putbq(q, mp); return (0); } else { dlerrorack(q, mp, - prim->dl_primitive, - err, 0); + prim->dl_primitive, + err, 0); } } break; @@ -769,7 +770,7 @@ llc1_uwsrv(queue_t *q) #ifdef LLC1_DEBUG if (llc1_debug & LLCERRS) printf("llc1_wsrv: type(%x) not supported\n", - mp->b_datap->db_type); + mp->b_datap->db_type); #endif freemsg(mp); /* unknown types are discarded */ break; @@ -849,7 +850,7 @@ llc1_ioctl(queue_t *q, mblk_t *mp) rw_enter(&llc1_device_list.llc1_rwlock, RW_WRITER); llc1insque(macinfo, llc1_device_list.llc1_mac_prev); macinfo->llcp_queue->q_ptr = RD(macinfo->llcp_queue)->q_ptr = - (caddr_t)macinfo; + (caddr_t)macinfo; llc1_init_kstat(macinfo); rw_exit(&llc1_device_list.llc1_rwlock); @@ -866,42 +867,42 @@ llc1_ioctl(queue_t *q, mblk_t *mp) for (macinfo = llc1_device_list.llc1_mac_next; macinfo != NULL && macinfo != - (llc_mac_info_t *)&llc1_device_list.llc1_mac_next; + (llc_mac_info_t *)&llc1_device_list.llc1_mac_next; macinfo = macinfo->llcp_next) { if (macinfo->llcp_lindex == link->l_index && macinfo->llcp_queue == link->l_qbot) { /* found it */ - ASSERT(macinfo->llcp_next); + ASSERT(macinfo->llcp_next); /* remove from device list */ - llc1_device_list.llc1_ndevice--; - llc1remque(macinfo); + llc1_device_list.llc1_ndevice--; + llc1remque(macinfo); /* remove any mcast structs */ - if (macinfo->llcp_mcast != NULL) { + if (macinfo->llcp_mcast != NULL) { kmem_free(macinfo->llcp_mcast, sizeof (llc_mcast_t) * - llc1_device_list.llc1_multisize); + llc1_device_list.llc1_multisize); macinfo->llcp_mcast = NULL; - } + } /* remove any kstat counters */ - if (macinfo->llcp_kstatp != NULL) + if (macinfo->llcp_kstatp != NULL) llc1_uninit_kstat(macinfo); - if (macinfo->llcp_mb != NULL) + if (macinfo->llcp_mb != NULL) freeb(macinfo->llcp_mb); - lld->llc_mac_info = NULL; + lld->llc_mac_info = NULL; - miocack(q, mp, 0, 0); + miocack(q, mp, 0, 0); /* finish any necessary setup */ - if (llc1_device_list.llc1_ndevice == 0) + if (llc1_device_list.llc1_ndevice == 0) llc1_device_list.llc1_nextppa = 0; - rw_exit(&llc1_device_list.llc1_rwlock); - return; + rw_exit(&llc1_device_list.llc1_rwlock); + return; } } rw_exit(&llc1_device_list.llc1_rwlock); @@ -934,7 +935,7 @@ llc1_ioctl(queue_t *q, mblk_t *mp) return; } mp->b_cont->b_wptr = - mp->b_cont->b_rptr + sizeof (struct ll_snioc); + mp->b_cont->b_rptr + sizeof (struct ll_snioc); } else { error = miocpullup(mp, sizeof (struct ll_snioc)); if (error != 0) { @@ -967,8 +968,8 @@ llc1_setppa(struct ll_snioc *snioc) llc_mac_info_t *macinfo; for (macinfo = llc1_device_list.llc1_mac_next; - macinfo != (llc_mac_info_t *)&llc1_device_list.llc1_mac_next; - macinfo = macinfo->llcp_next) + macinfo != (llc_mac_info_t *)&llc1_device_list.llc1_mac_next; + macinfo = macinfo->llcp_next) if (macinfo->llcp_lindex == snioc->lli_index && (macinfo->llcp_flags & LLC1_DEF_PPA)) { macinfo->llcp_flags &= ~LLC1_DEF_PPA; @@ -1006,7 +1007,7 @@ llc1_cmds(queue_t *q, mblk_t *mp) #ifdef LLC1_DEBUG if (llc1_debug & LLCTRACE) printf("llc1_cmds(%x, %x):dlp=%x, dlp->dl_primitive=%d\n", - q, mp, dlp, dlp->dl_primitive); + q, mp, dlp, dlp->dl_primitive); #endif mutex_enter(&llc->llc_lock); rw_enter(&llc1_device_list.llc1_rwlock, RW_READER); @@ -1091,7 +1092,7 @@ llc1_cmds(queue_t *q, mblk_t *mp) #ifdef LLC1_DEBUG if (llc1_debug & LLCERRS) printf("llc1_cmds: Received unknown primitive: %d\n", - dlp->dl_primitive); + dlp->dl_primitive); #endif result = DL_BADPRIM; break; @@ -1134,7 +1135,7 @@ llc1_bind(queue_t *q, mblk_t *mp) #ifdef LLC1_DEBUG if (llc1_debug & LLCERRS) printf("llc1_bind: stream bound/not attached (%d)\n", - lld->llc_state); + lld->llc_state); #endif return (DL_OUTSTATE); } @@ -1215,7 +1216,7 @@ llc1_unbind(queue_t *q, mblk_t *mp) #ifdef LLC1_DEBUG if (llc1_debug & LLCERRS) printf("llc1_unbind: wrong state (%d)\n", - lld->llc_state); + lld->llc_state); #endif return (DL_OUTSTATE); } @@ -1247,7 +1248,7 @@ llc1_inforeq(queue_t *q, mblk_t *mp) bufsize = sizeof (dl_info_ack_t) + ETHERADDRL; else bufsize = sizeof (dl_info_ack_t) + - 2 * lld->llc_mac_info->llcp_addrlen + 2; + 2 * lld->llc_mac_info->llcp_addrlen + 2; nmp = mexchange(q, mp, bufsize, M_PCPROTO, DL_INFO_ACK); @@ -1263,7 +1264,7 @@ llc1_inforeq(queue_t *q, mblk_t *mp) dlp->dl_service_mode = DL_CLDLS; dlp->dl_current_state = lld->llc_state; dlp->dl_provider_style = - (lld->llc_style == 0) ? lld->llc_style : DL_STYLE2; + (lld->llc_style == 0) ? lld->llc_style : DL_STYLE2; /* now append physical address */ if (lld->llc_mac_info) { @@ -1271,19 +1272,19 @@ llc1_inforeq(queue_t *q, mblk_t *mp) dlp->dl_addr_offset = DL_INFO_ACK_SIZE; nmp->b_wptr += dlp->dl_addr_length + 1; bcopy(lld->llc_mac_info->llcp_macaddr, - ((caddr_t)dlp) + dlp->dl_addr_offset, - lld->llc_mac_info->llcp_addrlen); + ((caddr_t)dlp) + dlp->dl_addr_offset, + lld->llc_mac_info->llcp_addrlen); if (lld->llc_state == DL_IDLE) { dlp->dl_sap_length = -1; /* 1 byte on end */ *(((caddr_t)dlp) + dlp->dl_addr_offset + - dlp->dl_addr_length) = lld->llc_sap; + dlp->dl_addr_length) = lld->llc_sap; dlp->dl_addr_length += 1; } /* and the broadcast address */ dlp->dl_brdcst_addr_length = - lld->llc_mac_info->llcp_addrlen; + lld->llc_mac_info->llcp_addrlen; dlp->dl_brdcst_addr_offset = - dlp->dl_addr_offset + dlp->dl_addr_length; + dlp->dl_addr_offset + dlp->dl_addr_length; nmp->b_wptr += dlp->dl_brdcst_addr_length; bcopy(lld->llc_mac_info->llcp_broadcast, ((caddr_t)dlp) + dlp->dl_brdcst_addr_offset, @@ -1334,7 +1335,7 @@ llc1_unitdata(queue_t *q, mblk_t *mp) #ifdef LLC1_DEBUG if (llc1_debug & LLCERRS) printf("llc1_unitdata: wrong state (%d)\n", - lld->llc_state); + lld->llc_state); #endif return (DL_OUTSTATE); } @@ -1348,13 +1349,13 @@ llc1_unitdata(queue_t *q, mblk_t *mp) */ /* need a buffer big enough for the headers */ - nmp = allocb(macinfo->llcp_addrlen * 2 + 2 + 8, BPRI_MED); - hdr = (struct ether_header *)nmp->b_rptr; - msglen = msgdsize(mp); + nmp = allocb(macinfo->llcp_addrlen * 2 + 2 + 8, BPRI_MED); + hdr = (struct ether_header *)nmp->b_rptr; + msglen = msgdsize(mp); /* fill in type dependent fields */ - switch (lld->llc_type) { - case DL_CSMACD: /* 802.3 CSMA/CD */ + switch (lld->llc_type) { + case DL_CSMACD: /* 802.3 CSMA/CD */ nmp->b_wptr = nmp->b_rptr + LLC1_CSMACD_HDR_SIZE; llchdr = (struct llchdr *)nmp->b_wptr; bcopy(llcp->llca_addr, @@ -1367,7 +1368,7 @@ llc1_unitdata(queue_t *q, mblk_t *mp) if (lld->llc_sap != LLC_NOVELL_SAP) { /* set length with llc header size */ hdr->ether_type = ntohs(msglen + - sizeof (struct llchdr)); + sizeof (struct llchdr)); /* need an LLC header, otherwise is Novell */ /* bound sap is always source */ @@ -1403,42 +1404,42 @@ llc1_unitdata(queue_t *q, mblk_t *mp) break; - default: /* either RAW or unknown, send as is */ + default: /* either RAW or unknown, send as is */ break; - } - DB_TYPE(nmp) = M_DATA; /* ether/llc header is data */ - nmp->b_cont = mp->b_cont; /* use the data given */ - freeb(mp); - mp = nmp; + } + DB_TYPE(nmp) = M_DATA; /* ether/llc header is data */ + nmp->b_cont = mp->b_cont; /* use the data given */ + freeb(mp); + mp = nmp; } else { /* need to format a DL_UNITDATA_REQ with LLC1 header inserted */ - nmp = allocb(sizeof (struct llchdr)+sizeof (struct snaphdr), - BPRI_MED); - if (nmp == NULL) + nmp = allocb(sizeof (struct llchdr)+sizeof (struct snaphdr), + BPRI_MED); + if (nmp == NULL) return (DL_UNDELIVERABLE); - llchdr = (struct llchdr *)(nmp->b_rptr); - nmp->b_wptr += sizeof (struct llchdr); - llchdr->llc_dsap = llcp->llca_sap; - llchdr->llc_ssap = lld->llc_sap; - llchdr->llc_ctl = LLC_UI; + llchdr = (struct llchdr *)(nmp->b_rptr); + nmp->b_wptr += sizeof (struct llchdr); + llchdr->llc_dsap = llcp->llca_sap; + llchdr->llc_ssap = lld->llc_sap; + llchdr->llc_ctl = LLC_UI; /* * if we are using SNAP, insert the header here */ - if (lld->llc_flags & LLC_SNAP) { - bcopy(lld->llc_snap, nmp->b_wptr, 5); - nmp->b_wptr += 5; - } - nmp->b_cont = mp->b_cont; - mp->b_cont = nmp; - nmp = mp; - if (ismulticast(llcp->llca_addr)) { - if (bcmp(llcp->llca_addr, - macinfo->llcp_broadcast, ETHERADDRL) == 0) - xmt_type = 2; - else - xmt_type = 1; - } + if (lld->llc_flags & LLC_SNAP) { + bcopy(lld->llc_snap, nmp->b_wptr, 5); + nmp->b_wptr += 5; + } + nmp->b_cont = mp->b_cont; + mp->b_cont = nmp; + nmp = mp; + if (ismulticast(llcp->llca_addr)) { + if (bcmp(llcp->llca_addr, + macinfo->llcp_broadcast, ETHERADDRL) == 0) + xmt_type = 2; + else + xmt_type = 1; + } } if (canput(macinfo->llcp_queue)) { lld->llc_stats->llcs_bytexmt += msgdsize(mp); @@ -1491,7 +1492,7 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) nmp = mp; udata = (dl_unitdata_ind_t *)(nmp->b_rptr); addr = (struct ether_addr *)(nmp->b_rptr + - udata->dl_dest_addr_offset); + udata->dl_dest_addr_offset); llchdr = (struct llchdr *)(nmp->b_cont->b_rptr); if (macinfo->llcp_type == DL_CSMACD) { i = ((struct llcsaddr *)addr)->llca_ssap; @@ -1507,11 +1508,11 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) hdr = (struct ether_header *)mp->b_rptr; addr = &hdr->ether_dhost; llchdr = (struct llchdr *)(mp->b_rptr + - sizeof (struct ether_header)); + sizeof (struct ether_header)); i = (ushort_t)ntohs(hdr->ether_type); if (i < 60) { (void) adjmsg(mp, i + sizeof (struct ether_header) - - msgdsize(mp)); + msgdsize(mp)); } } udmp = NULL; @@ -1545,28 +1546,28 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) mp = llc1_test_reply(macinfo, mp, 0); } else for (lld = llc1_device_list.llc1_str_next; - lld != (llc1_t *)&llc1_device_list.llc1_str_next; - lld = lld->llc_next) { + lld != (llc1_t *)&llc1_device_list.llc1_str_next; + lld = lld->llc_next) { /* * is this a potentially usable SAP on the * right MAC layer? */ if (lld->llc_qptr == NULL || - lld->llc_state != DL_IDLE || - lld->llc_mac_info != macinfo) { + lld->llc_state != DL_IDLE || + lld->llc_mac_info != macinfo) { continue; } #ifdef LLC1_DEBUG if (llc1_debug & LLCRECV) printf( "llc1_recv: type=%d, sap=%x, pkt-dsap=%x\n", - lld->llc_type, lld->llc_sap, - msgsap); + lld->llc_type, lld->llc_sap, + msgsap); #endif if (!valid && ismulticast(addr->ether_addr_octet) && - lld->llc_multicnt > 0 && - llc1_multicast(addr, lld)) { + lld->llc_multicnt > 0 && + llc1_multicast(addr, lld)) { valid |= 4; } else if (lld->llc_flags & LLC_PROM) /* promiscuous mode */ @@ -1574,15 +1575,15 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) if ((lld->llc_flags & LLC_PROM) || /* promiscuous streams */ - (valid && - (lld->llc_sap == msgsap || - msgsap == LLC_GLOBAL_SAP))) { + (valid && + (lld->llc_sap == msgsap || + msgsap == LLC_GLOBAL_SAP))) { /* sap matches */ if (msgsap == LLC_SNAP_SAP && (lld->llc_flags & (LLC_SNAP|LLC_PROM)) == - LLC_SNAP) { + LLC_SNAP) { if (!llc1_snap_match(lld, - (struct snaphdr *)(llchdr+1))) + (struct snaphdr *)(llchdr+1))) continue; } if (!canputnext(RD(lld->llc_qptr))) { @@ -1626,7 +1627,7 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) */ if (lld->llc_flags & LLC1_AUTO_XID) { nmp = llc1_xid_reply(macinfo, - mp, lld->llc_sap); + mp, lld->llc_sap); } else { /* * hand to the user for @@ -1638,7 +1639,7 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) * DL_XID_CON. */ nmp = llc1_xid_ind_con(lld, - macinfo, mp); + macinfo, mp); } macinfo->llcp_stats.llcs_xidrcv++; break; @@ -1657,7 +1658,7 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) */ if (lld->llc_flags & LLC1_AUTO_TEST) { nmp = llc1_test_reply(macinfo, - mp, lld->llc_sap); + mp, lld->llc_sap); } else { /* * hand to the user for @@ -1671,7 +1672,7 @@ llc1_recv(llc_mac_info_t *macinfo, mblk_t *mp) * DL_TEST_CON. */ nmp = llc1_test_ind_con(lld, - macinfo, mp); + macinfo, mp); } macinfo->llcp_stats.llcs_testrcv++; break; @@ -1747,8 +1748,8 @@ llc1attach(queue_t *q, mblk_t *mp) } for (mac = llc1_device_list.llc1_mac_next; - mac != (llc_mac_info_t *)(&llc1_device_list.llc1_mac_next); - mac = mac->llcp_next) { + mac != (llc_mac_info_t *)(&llc1_device_list.llc1_mac_next); + mac = mac->llcp_next) { ASSERT(mac); if (mac->llcp_ppa == at->dl_ppa && mac->llcp_lqtop == q) { /* @@ -1815,7 +1816,7 @@ llc1unattach(queue_t *q, mblk_t *mp) if ((mcast = llc->llc_mcast[i]) != NULL) { /* disable from stream and possibly lower */ llc1_send_disable_multi(llc->llc_mac_info, - mcast); + mcast); llc->llc_mcast[i] = NULL; } } @@ -1880,15 +1881,15 @@ llc1_enable_multi(queue_t *q, mblk_t *mp) if (llc->llc_mcast == NULL) { /* no mcast addresses -- allocate table */ llc->llc_mcast = - GETSTRUCT(llc_mcast_t *, - llc1_device_list.llc1_multisize); + GETSTRUCT(llc_mcast_t *, + llc1_device_list.llc1_multisize); if (llc->llc_mcast == NULL) return (DL_SYSERR); llc->llc_multicnt = llc1_device_list.llc1_multisize; } else { for (i = 0; i < llc1_device_list.llc1_multisize; i++) { if (llc->llc_mcast[i] && - bcmp(llc->llc_mcast[i]->llcm_addr, + bcmp(llc->llc_mcast[i]->llcm_addr, maddr->ether_addr_octet, ETHERADDRL)) { /* this is a match -- just succeed */ dlokack(q, mp, DL_ENABMULTI_REQ); @@ -1901,16 +1902,16 @@ llc1_enable_multi(queue_t *q, mblk_t *mp) */ if (macinfo->llcp_mcast == NULL) { macinfo->llcp_mcast = - GETSTRUCT(llc_mcast_t, - llc1_device_list.llc1_multisize); + GETSTRUCT(llc_mcast_t, + llc1_device_list.llc1_multisize); if (macinfo->llcp_mcast == NULL) return (DL_SYSERR); } for (mcast = NULL, i = 0; - i < llc1_device_list.llc1_multisize; i++) { + i < llc1_device_list.llc1_multisize; i++) { if (macinfo->llcp_mcast[i].llcm_refcnt && bcmp(macinfo->llcp_mcast[i].llcm_addr, - maddr->ether_addr_octet, ETHERADDRL) == 0) { + maddr->ether_addr_octet, ETHERADDRL) == 0) { mcast = &macinfo->llcp_mcast[i]; break; } @@ -1926,7 +1927,7 @@ llc1_enable_multi(queue_t *q, mblk_t *mp) } /* find an empty slot to fill in */ for (mcast = macinfo->llcp_mcast, i = 0; - i < llc1_device_list.llc1_multisize; i++, mcast++) { + i < llc1_device_list.llc1_multisize; i++, mcast++) { if (mcast->llcm_refcnt == 0) { bcopy(maddr->ether_addr_octet, mcast->llcm_addr, ETHERADDRL); @@ -1989,7 +1990,7 @@ llc1_disable_multi(queue_t *q, mblk_t *mp) bcmp(mcast->llcm_addr, maddr->ether_addr_octet, ETHERADDRL) == 0) { llc1_send_disable_multi(macinfo, - mcast); + mcast); llc->llc_mcast[i] = NULL; dlokack(q, mp, DL_DISABMULTI_REQ); return (LLCE_OK); @@ -2024,7 +2025,7 @@ llc1_send_disable_multi(llc_mac_info_t *macinfo, llc_mcast_t *mcast) if (mp) { dis = (dl_disabmulti_req_t *)mp->b_rptr; mp->b_wptr = - mp->b_rptr + sizeof (dl_disabmulti_req_t) + ETHERADDRL; + mp->b_rptr + sizeof (dl_disabmulti_req_t) + ETHERADDRL; dis->dl_primitive = DL_DISABMULTI_REQ; dis->dl_addr_offset = sizeof (dl_disabmulti_req_t); dis->dl_addr_length = ETHERADDRL; @@ -2150,108 +2151,108 @@ llc1_form_udata(llc1_t *lld, llc_mac_info_t *macinfo, mblk_t *mp) struct snaphdr *snap; if (macinfo->llcp_flags & LLC1_USING_RAW) { - hdr = (struct ether_header *)mp->b_rptr; - llchdr = (struct llchdr *)(hdr + 1); + hdr = (struct ether_header *)mp->b_rptr; + llchdr = (struct llchdr *)(hdr + 1); /* allocate the DL_UNITDATA_IND M_PROTO header */ - udmp = allocb(sizeof (dl_unitdata_ind_t) + - 2 * (macinfo->llcp_addrlen + 5), BPRI_MED); - if (udmp == NULL) { + udmp = allocb(sizeof (dl_unitdata_ind_t) + + 2 * (macinfo->llcp_addrlen + 5), BPRI_MED); + if (udmp == NULL) { /* might as well discard since we can't go further */ freemsg(mp); return (NULL); - } - udata = (dl_unitdata_ind_t *)udmp->b_rptr; - udmp->b_wptr += sizeof (dl_unitdata_ind_t); + } + udata = (dl_unitdata_ind_t *)udmp->b_rptr; + udmp->b_wptr += sizeof (dl_unitdata_ind_t); - nmp = dupmsg(mp); /* make a copy for future streams */ - if (lld->llc_sap != LLC_NOVELL_SAP) - mp->b_rptr += sizeof (struct ether_header) + + nmp = dupmsg(mp); /* make a copy for future streams */ + if (lld->llc_sap != LLC_NOVELL_SAP) + mp->b_rptr += sizeof (struct ether_header) + sizeof (struct llchdr); - else - mp->b_rptr += sizeof (struct ether_header); + else + mp->b_rptr += sizeof (struct ether_header); - if (lld->llc_flags & LLC_SNAP) { - mp->b_rptr += sizeof (struct snaphdr); - snap = (struct snaphdr *)(llchdr + 1); - } + if (lld->llc_flags & LLC_SNAP) { + mp->b_rptr += sizeof (struct snaphdr); + snap = (struct snaphdr *)(llchdr + 1); + } /* * now setup the DL_UNITDATA_IND header */ - DB_TYPE(udmp) = M_PROTO; - udata->dl_primitive = DL_UNITDATA_IND; - udata->dl_dest_addr_offset = sizeof (dl_unitdata_ind_t); - bcopy(hdr->ether_dhost.ether_addr_octet, - LLCADDR(udata, udata->dl_dest_addr_offset)->llca_addr, - macinfo->llcp_addrlen); - - if (lld->llc_flags & LLC_SNAP) { - udata->dl_dest_addr_length = macinfo->llcp_addrlen + 2; - LLCSADDR(udata, udata->dl_dest_addr_offset)->llca_ssap = + DB_TYPE(udmp) = M_PROTO; + udata->dl_primitive = DL_UNITDATA_IND; + udata->dl_dest_addr_offset = sizeof (dl_unitdata_ind_t); + bcopy(hdr->ether_dhost.ether_addr_octet, + LLCADDR(udata, udata->dl_dest_addr_offset)->llca_addr, + macinfo->llcp_addrlen); + + if (lld->llc_flags & LLC_SNAP) { + udata->dl_dest_addr_length = macinfo->llcp_addrlen + 2; + LLCSADDR(udata, udata->dl_dest_addr_offset)->llca_ssap = ntohs(*(ushort_t *)snap->snap_type); - } else { - udata->dl_dest_addr_length = macinfo->llcp_addrlen + 1; - LLCADDR(udata, udata->dl_dest_addr_offset)->llca_sap = + } else { + udata->dl_dest_addr_length = macinfo->llcp_addrlen + 1; + LLCADDR(udata, udata->dl_dest_addr_offset)->llca_sap = llchdr->llc_dsap; - } - udmp->b_wptr += udata->dl_dest_addr_length; - udata->dl_src_addr_offset = udata->dl_dest_addr_length + - udata->dl_dest_addr_offset; - bcopy(hdr->ether_shost.ether_addr_octet, - LLCADDR(udata, udata->dl_src_addr_offset)->llca_addr, - macinfo->llcp_addrlen); - if (lld->llc_flags & LLC_SNAP) { - udata->dl_src_addr_length = macinfo->llcp_addrlen + 2; - LLCSADDR(udata, udata->dl_src_addr_offset)->llca_ssap = + } + udmp->b_wptr += udata->dl_dest_addr_length; + udata->dl_src_addr_offset = udata->dl_dest_addr_length + + udata->dl_dest_addr_offset; + bcopy(hdr->ether_shost.ether_addr_octet, + LLCADDR(udata, udata->dl_src_addr_offset)->llca_addr, + macinfo->llcp_addrlen); + if (lld->llc_flags & LLC_SNAP) { + udata->dl_src_addr_length = macinfo->llcp_addrlen + 2; + LLCSADDR(udata, udata->dl_src_addr_offset)->llca_ssap = ntohs(*(ushort_t *)snap->snap_type); - } else { - udata->dl_src_addr_length = macinfo->llcp_addrlen + 1; - LLCADDR(udata, udata->dl_src_addr_offset)->llca_sap = - llchdr->llc_ssap; - } - udata->dl_group_address = hdr->ether_dhost.ether_addr_octet[0] & - 0x1; - udmp->b_wptr += udata->dl_src_addr_length; - udmp->b_cont = mp; + } else { + udata->dl_src_addr_length = macinfo->llcp_addrlen + 1; + LLCADDR(udata, udata->dl_src_addr_offset)->llca_sap = + llchdr->llc_ssap; + } + udata->dl_group_address = hdr->ether_dhost.ether_addr_octet[0] & + 0x1; + udmp->b_wptr += udata->dl_src_addr_length; + udmp->b_cont = mp; } else { - dl_unitdata_ind_t *ud2; - if (mp->b_cont == NULL) { + dl_unitdata_ind_t *ud2; + if (mp->b_cont == NULL) { return (mp); /* we can't do anything */ - } + } /* if we end up here, we only want to patch the existing M_PROTO */ - nmp = dupmsg(mp); /* make a copy for future streams */ - udata = (dl_unitdata_ind_t *)(mp->b_rptr); - udmp = allocb(MBLKL(mp) + 4, BPRI_MED); - bcopy(mp->b_rptr, udmp->b_rptr, sizeof (dl_unitdata_ind_t)); - ud2 = (dl_unitdata_ind_t *)(udmp->b_rptr); - udmp->b_wptr += sizeof (dl_unitdata_ind_t); - bcopy((caddr_t)mp->b_rptr + udata->dl_dest_addr_offset, - udmp->b_wptr, macinfo->llcp_addrlen); - ud2->dl_dest_addr_offset = sizeof (dl_unitdata_ind_t); - ud2->dl_dest_addr_length = macinfo->llcp_addrlen + 1; - udmp->b_wptr += ud2->dl_dest_addr_length; - bcopy((caddr_t)udmp->b_rptr + udata->dl_src_addr_offset, - udmp->b_wptr, macinfo->llcp_addrlen); - ud2->dl_src_addr_length = ud2->dl_dest_addr_length; - udmp->b_wptr += ud2->dl_src_addr_length; - udmp->b_cont = mp->b_cont; - if (lld->llc_sap != LLC_NOVELL_SAP) - mp->b_cont->b_rptr += sizeof (struct llchdr); - freeb(mp); - - DB_TYPE(udmp) = M_PROTO; - udata = (dl_unitdata_ind_t *)(mp->b_rptr); - llchdr = (struct llchdr *)(mp->b_cont->b_rptr); - LLCADDR(udata, udata->dl_dest_addr_offset)->llca_sap = - llchdr->llc_dsap; - LLCADDR(udata, udata->dl_src_addr_offset)->llca_sap = - llchdr->llc_ssap; + nmp = dupmsg(mp); /* make a copy for future streams */ + udata = (dl_unitdata_ind_t *)(mp->b_rptr); + udmp = allocb(MBLKL(mp) + 4, BPRI_MED); + bcopy(mp->b_rptr, udmp->b_rptr, sizeof (dl_unitdata_ind_t)); + ud2 = (dl_unitdata_ind_t *)(udmp->b_rptr); + udmp->b_wptr += sizeof (dl_unitdata_ind_t); + bcopy((caddr_t)mp->b_rptr + udata->dl_dest_addr_offset, + udmp->b_wptr, macinfo->llcp_addrlen); + ud2->dl_dest_addr_offset = sizeof (dl_unitdata_ind_t); + ud2->dl_dest_addr_length = macinfo->llcp_addrlen + 1; + udmp->b_wptr += ud2->dl_dest_addr_length; + bcopy((caddr_t)udmp->b_rptr + udata->dl_src_addr_offset, + udmp->b_wptr, macinfo->llcp_addrlen); + ud2->dl_src_addr_length = ud2->dl_dest_addr_length; + udmp->b_wptr += ud2->dl_src_addr_length; + udmp->b_cont = mp->b_cont; + if (lld->llc_sap != LLC_NOVELL_SAP) + mp->b_cont->b_rptr += sizeof (struct llchdr); + freeb(mp); + + DB_TYPE(udmp) = M_PROTO; + udata = (dl_unitdata_ind_t *)(mp->b_rptr); + llchdr = (struct llchdr *)(mp->b_cont->b_rptr); + LLCADDR(udata, udata->dl_dest_addr_offset)->llca_sap = + llchdr->llc_dsap; + LLCADDR(udata, udata->dl_src_addr_offset)->llca_sap = + llchdr->llc_ssap; } #ifdef LLC1_DEBUG - if (llc1_debug & LLCRECV) + if (llc1_debug & LLCRECV) printf("llc1_recv: queued message to %x (%d)\n", - lld->llc_qptr, lld->llc_minor); + lld->llc_qptr, lld->llc_minor); #endif /* enqueue for the service routine to process */ putnext(RD(lld->llc_qptr), udmp); @@ -2302,7 +2303,7 @@ llc1_xid_reply(llc_mac_info_t *macinfo, mblk_t *mp, int sap) msgether->ether_shost.ether_addr_octet, macinfo->llcp_addrlen); msgether->ether_type = htons(sizeof (struct llchdr_xid) + - sizeof (struct llchdr)); + sizeof (struct llchdr)); rmp = nmp; } else { dl_unitdata_req_t *ud; @@ -2310,7 +2311,7 @@ llc1_xid_reply(llc_mac_info_t *macinfo, mblk_t *mp, int sap) rud = (dl_unitdata_ind_t *)mp->b_rptr; rmp = allocb(sizeof (dl_unitdata_req_t) + - macinfo->llcp_addrlen + 5, BPRI_MED); + macinfo->llcp_addrlen + 5, BPRI_MED); if (rmp == NULL) return (mp); @@ -2326,7 +2327,7 @@ llc1_xid_reply(llc_mac_info_t *macinfo, mblk_t *mp, int sap) LLCADDR(rmp->b_rptr, ud->dl_dest_addr_offset), macinfo->llcp_addrlen); LLCADDR(rmp->b_rptr, ud->dl_dest_addr_offset)->llca_sap = - LLCADDR(mp->b_rptr, rud->dl_src_addr_offset)->llca_sap; + LLCADDR(mp->b_rptr, rud->dl_src_addr_offset)->llca_sap; rmp->b_wptr += sizeof (struct llcaddr); rmp->b_cont = nmp; } @@ -2366,7 +2367,7 @@ llc1_xid_ind_con(llc1_t *lld, llc_mac_info_t *macinfo, mblk_t *mp) int raw; nmp = allocb(sizeof (dl_xid_ind_t) + 2 * (macinfo->llcp_addrlen + 1), - BPRI_MED); + BPRI_MED); if (nmp == NULL) return (mp); @@ -2397,10 +2398,10 @@ llc1_xid_ind_con(llc1_t *lld, llc_mac_info_t *macinfo, mblk_t *mp) } LLCADDR(xid, xid->dl_dest_addr_offset)->llca_sap = - llchdr->llc_dsap; + llchdr->llc_dsap; xid->dl_src_addr_offset = - xid->dl_dest_addr_offset + xid->dl_dest_addr_length; + xid->dl_dest_addr_offset + xid->dl_dest_addr_length; xid->dl_src_addr_length = xid->dl_dest_addr_length; if (raw) { @@ -2415,10 +2416,10 @@ llc1_xid_ind_con(llc1_t *lld, llc_mac_info_t *macinfo, mblk_t *mp) ind->dl_src_addr_length); } LLCADDR(nmp->b_rptr, xid->dl_src_addr_offset)->llca_sap = - llchdr->llc_ssap & ~LLC_RESPONSE; + llchdr->llc_ssap & ~LLC_RESPONSE; nmp->b_wptr = nmp->b_rptr + sizeof (dl_xid_ind_t) + - 2 * xid->dl_dest_addr_length; + 2 * xid->dl_dest_addr_length; if (!(llchdr->llc_ssap & LLC_RESPONSE)) { xid->dl_primitive = DL_XID_IND; @@ -2476,7 +2477,7 @@ llc1_xid_req_res(queue_t *q, mblk_t *mp, int req_or_res) } nmp = allocb(sizeof (struct ether_header) + sizeof (struct llchdr) + - sizeof (struct llchdr_xid), BPRI_MED); + sizeof (struct llchdr_xid), BPRI_MED); if (nmp == NULL) return (LLCE_NOBUFFER); @@ -2489,13 +2490,13 @@ llc1_xid_req_res(queue_t *q, mblk_t *mp, int req_or_res) hdr->ether_shost.ether_addr_octet, ETHERADDRL); hdr->ether_type = htons(sizeof (struct llchdr) + msgdsize(mp)); nmp->b_wptr = nmp->b_rptr + - sizeof (struct ether_header) + sizeof (struct llchdr); + sizeof (struct ether_header) + sizeof (struct llchdr); llchdr = (struct llchdr *)(hdr + 1); rmp = nmp; } else { dl_unitdata_req_t *ud; rmp = allocb(sizeof (dl_unitdata_req_t) + - (macinfo->llcp_addrlen + 2), BPRI_MED); + (macinfo->llcp_addrlen + 2), BPRI_MED); if (rmp == NULL) { freemsg(nmp); return (LLCE_NOBUFFER); @@ -2510,7 +2511,7 @@ llc1_xid_req_res(queue_t *q, mblk_t *mp, int req_or_res) LLCADDR(ud, ud->dl_dest_addr_offset), xid->dl_dest_addr_length); LLCSADDR(ud, ud->dl_dest_addr_offset)->llca_ssap = - msgdsize(mp); + msgdsize(mp); rmp->b_wptr += xid->dl_dest_addr_length; rmp->b_cont = nmp; llchdr = (struct llchdr *)nmp->b_rptr; @@ -2520,7 +2521,7 @@ llc1_xid_req_res(queue_t *q, mblk_t *mp, int req_or_res) llchdr->llc_dsap = LLCADDR(xid, xid->dl_dest_addr_offset)->llca_sap; llchdr->llc_ssap = llc->llc_sap | (req_or_res ? LLC_RESPONSE : 0); llchdr->llc_ctl = - LLC_XID | ((xid->dl_flag & DL_POLL_FINAL) ? LLC_P : 0); + LLC_XID | ((xid->dl_flag & DL_POLL_FINAL) ? LLC_P : 0); nmp->b_cont = mp->b_cont; mp->b_cont = NULL; @@ -2646,10 +2647,10 @@ llc1_test_ind_con(llc1_t *lld, llc_mac_info_t *macinfo, mblk_t *mp) } LLCADDR(test, test->dl_dest_addr_offset)->llca_sap = - llchdr->llc_dsap; + llchdr->llc_dsap; test->dl_src_addr_offset = test->dl_dest_addr_offset + - test->dl_dest_addr_length; + test->dl_dest_addr_length; test->dl_src_addr_length = test->dl_dest_addr_length; if (raw) { @@ -2664,10 +2665,10 @@ llc1_test_ind_con(llc1_t *lld, llc_mac_info_t *macinfo, mblk_t *mp) ind->dl_src_addr_length); } LLCADDR(nmp->b_rptr, test->dl_src_addr_offset)->llca_sap = - llchdr->llc_ssap & ~LLC_RESPONSE; + llchdr->llc_ssap & ~LLC_RESPONSE; nmp->b_wptr = nmp->b_rptr + sizeof (dl_test_ind_t) + - 2 * test->dl_dest_addr_length; + 2 * test->dl_dest_addr_length; if (!(llchdr->llc_ssap & LLC_RESPONSE)) { test->dl_primitive = DL_TEST_IND; @@ -2721,12 +2722,12 @@ llc1_test_req_res(queue_t *q, mblk_t *mp, int req_or_res) macinfo = llc->llc_mac_info; if (MBLKL(mp) < sizeof (dl_test_req_t) || !MBLKIN(mp, test->dl_dest_addr_offset, - test->dl_dest_addr_length)) { + test->dl_dest_addr_length)) { return (DL_BADPRIM); } nmp = allocb(sizeof (struct ether_header) + sizeof (struct llchdr), - BPRI_MED); + BPRI_MED); if (nmp == NULL) return (LLCE_NOBUFFER); @@ -2739,14 +2740,14 @@ llc1_test_req_res(queue_t *q, mblk_t *mp, int req_or_res) hdr->ether_shost.ether_addr_octet, ETHERADDRL); hdr->ether_type = htons(sizeof (struct llchdr) + msgdsize(mp)); nmp->b_wptr = nmp->b_rptr + - sizeof (struct ether_header) + sizeof (struct llchdr); + sizeof (struct ether_header) + sizeof (struct llchdr); llchdr = (struct llchdr *)(hdr + 1); rmp = nmp; } else { dl_unitdata_req_t *ud; rmp = allocb(sizeof (dl_unitdata_req_t) + - (macinfo->llcp_addrlen + 2), BPRI_MED); + (macinfo->llcp_addrlen + 2), BPRI_MED); if (rmp == NULL) { freemsg(nmp); return (LLCE_NOBUFFER); @@ -2762,7 +2763,7 @@ llc1_test_req_res(queue_t *q, mblk_t *mp, int req_or_res) LLCADDR(ud, ud->dl_dest_addr_offset), test->dl_dest_addr_length); LLCSADDR(ud, ud->dl_dest_addr_offset)->llca_ssap = - msgdsize(mp); + msgdsize(mp); rmp->b_wptr += test->dl_dest_addr_length; rmp->b_cont = nmp; llchdr = (struct llchdr *)nmp->b_rptr; @@ -2772,7 +2773,7 @@ llc1_test_req_res(queue_t *q, mblk_t *mp, int req_or_res) llchdr->llc_dsap = LLCADDR(test, test->dl_dest_addr_offset)->llca_sap; llchdr->llc_ssap = llc->llc_sap | (req_or_res ? LLC_RESPONSE : 0); llchdr->llc_ctl = - LLC_TEST | ((test->dl_flag & DL_POLL_FINAL) ? LLC_P : 0); + LLC_TEST | ((test->dl_flag & DL_POLL_FINAL) ? LLC_P : 0); nmp->b_cont = mp->b_cont; mp->b_cont = NULL; @@ -2792,8 +2793,8 @@ llc1_find_waiting(llc_mac_info_t *macinfo, mblk_t *mp, long prim) llc1_t *llc; for (llc = llc1_device_list.llc1_str_next; - llc != (llc1_t *)&llc1_device_list.llc1_str_next; - llc = llc->llc_next) + llc != (llc1_t *)&llc1_device_list.llc1_str_next; + llc = llc->llc_next) if (llc->llc_mac_info == macinfo && prim == llc->llc_waiting_for) { putnext(RD(llc->llc_qptr), mp); @@ -2896,8 +2897,8 @@ llc1_init_kstat(llc_mac_info_t *macinfo) * Note that the temporary macinfo->llcp_ppa number is negative. */ macinfo->llcp_kstatp = kstat_create("llc", (-macinfo->llcp_ppa - 1), - NULL, "net", KSTAT_TYPE_NAMED, - sizeof (struct llc_stats) / sizeof (long), 0); + NULL, "net", KSTAT_TYPE_NAMED, + sizeof (struct llc_stats) / sizeof (long), 0); if (macinfo->llcp_kstatp == NULL) return; @@ -2965,7 +2966,7 @@ llc1_subs_bind(queue_t *q, mblk_t *mp) if (lld == NULL || lld->llc_state != DL_IDLE) { result = DL_OUTSTATE; } else if (lld->llc_sap != LLC_SNAP_SAP || - subs->dl_subs_bind_class != DL_HIERARCHICAL_BIND) { + subs->dl_subs_bind_class != DL_HIERARCHICAL_BIND) { /* we only want to support this for SNAP at present */ result = DL_UNSUPPORTED; } else { @@ -3017,11 +3018,11 @@ llc1_subs_bind(queue_t *q, mblk_t *mp) MBLKL(mp) < (sizeof (dl_subs_bind_ack_t) + 5)) { freemsg(mp); nmp = allocb(sizeof (dl_subs_bind_ack_t) + 5, - BPRI_MED); + BPRI_MED); } ack = (dl_subs_bind_ack_t *)nmp->b_rptr; nmp->b_wptr = nmp->b_rptr + - sizeof (dl_subs_bind_ack_t) + 5; + sizeof (dl_subs_bind_ack_t) + 5; ack->dl_primitive = DL_SUBS_BIND_ACK; ack->dl_subs_sap_offset = sizeof (dl_subs_bind_ack_t); ack->dl_subs_sap_length = 5; @@ -3052,11 +3053,11 @@ snapdmp(uchar_t *bstr) static char buff[32]; (void) sprintf(buff, "%x.%x.%x.%x.%x", - bstr[0], - bstr[1], - bstr[2], - bstr[3], - bstr[4]); + bstr[0], + bstr[1], + bstr[2], + bstr[3], + bstr[4]); return (buff); } diff --git a/usr/src/uts/common/io/lofi.c b/usr/src/uts/common/io/lofi.c index 3b0b2d4ffe..b881f2c8c2 100644 --- a/usr/src/uts/common/io/lofi.c +++ b/usr/src/uts/common/io/lofi.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * lofi (loopback file) driver - allows you to attach a file to a device, @@ -1723,12 +1722,14 @@ static struct dev_ops lofi_ops = { lofi_detach, /* detach */ nodev, /* reset */ &lofi_cb_ops, /* driver operations */ - NULL /* no bus operations */ + NULL, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "loopback file driver (%I%)", + "loopback file driver", &lofi_ops, }; diff --git a/usr/src/uts/common/io/log.c b/usr/src/uts/common/io/log.c index 15e66f0e91..9acd4c62eb 100644 --- a/usr/src/uts/common/io/log.c +++ b/usr/src/uts/common/io/log.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Streams log driver. See log(7D). @@ -308,7 +306,8 @@ static struct qinit logwinit = static struct streamtab loginfo = { &logrinit, &logwinit, NULL, NULL }; DDI_DEFINE_STREAM_OPS(log_ops, nulldev, nulldev, log_attach, nodev, - nodev, log_info, D_NEW | D_MP | D_MTPERMOD, &loginfo); + nodev, log_info, D_NEW | D_MP | D_MTPERMOD, &loginfo, + ddi_quiesce_not_needed); static struct modldrv modldrv = { &mod_driverops, "streams log driver", &log_ops }; diff --git a/usr/src/uts/common/io/logindmux.c b/usr/src/uts/common/io/logindmux.c index fade83c4a2..2168364568 100644 --- a/usr/src/uts/common/io/logindmux.c +++ b/usr/src/uts/common/io/logindmux.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Description: logindmux.c @@ -167,11 +165,12 @@ static int logdmux_detach(dev_info_t *, ddi_detach_cmd_t); static dev_info_t *logdmux_dip; DDI_DEFINE_STREAM_OPS(logdmux_ops, nulldev, nulldev, logdmux_attach, - logdmux_detach, nulldev, logdmux_info, D_MP | D_MTPERQ, &logdmuxinfo); + logdmux_detach, nulldev, logdmux_info, D_MP | D_MTPERQ, &logdmuxinfo, + ddi_quiesce_not_needed); static struct modldrv modldrv = { &mod_driverops, - "logindmux driver %I%", + "logindmux driver", &logdmux_ops }; diff --git a/usr/src/uts/common/io/lvm/md/md.c b/usr/src/uts/common/io/lvm/md/md.c index e03eb67d85..f0255ef443 100644 --- a/usr/src/uts/common/io/lvm/md/md.c +++ b/usr/src/uts/common/io/lvm/md/md.c @@ -246,7 +246,8 @@ static struct dev_ops md_devops = { nodev, /* reset - not defined */ &md_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* power management */ + nodev, /* power management */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/common/io/mega_sas/megaraid_sas.c b/usr/src/uts/common/io/mega_sas/megaraid_sas.c index 3caabf63a2..6d9f722f47 100644 --- a/usr/src/uts/common/io/mega_sas/megaraid_sas.c +++ b/usr/src/uts/common/io/mega_sas/megaraid_sas.c @@ -137,7 +137,9 @@ static struct dev_ops megasas_ops = { megasas_detach, /* detach */ megasas_reset, /* reset */ &megasas_cb_ops, /* char/block ops */ - NULL /* bus ops */ + NULL, /* bus ops */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; char _depends_on[] = "misc/scsi"; diff --git a/usr/src/uts/common/io/mem.c b/usr/src/uts/common/io/mem.c index c463f69e48..1286b58270 100644 --- a/usr/src/uts/common/io/mem.c +++ b/usr/src/uts/common/io/mem.c @@ -918,7 +918,9 @@ static struct dev_ops mm_ops = { nodev, /* detach */ nodev, /* reset */ &mm_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/mouse8042.c b/usr/src/uts/common/io/mouse8042.c index 2af3e14886..e666caed53 100644 --- a/usr/src/uts/common/io/mouse8042.c +++ b/usr/src/uts/common/io/mouse8042.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -24,11 +23,10 @@ /* All Rights Reserved */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * PS/2 type Mouse Module - Streams @@ -188,7 +186,9 @@ static struct dev_ops mouse8042_ops = { mouse8042_detach, /* detach */ nodev, /* reset */ &mouse8042_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -204,7 +204,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "PS/2 Mouse %I%, %E%", + "PS/2 Mouse", &mouse8042_ops, /* driver ops */ }; @@ -318,12 +318,12 @@ mouse8042_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } if (ddi_create_internal_pathname(dip, "internal_mouse", S_IFCHR, - instance * 2 + 1) != DDI_SUCCESS) { + instance * 2 + 1) != DDI_SUCCESS) { goto fail_2; } rc = ddi_regs_map_setup(dip, 0, (caddr_t *)&state->ms_addr, - (offset_t)0, (offset_t)0, &attr, &state->ms_handle); + (offset_t)0, (offset_t)0, &attr, &state->ms_handle); if (rc != DDI_SUCCESS) { #if defined(MOUSE8042_DEBUG) cmn_err(CE_WARN, MODULE_NAME "_attach: can't map registers"); @@ -344,8 +344,8 @@ mouse8042_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) state->ms_iblock_cookie); rc = ddi_add_intr(dip, 0, - (ddi_iblock_cookie_t *)NULL, (ddi_idevice_cookie_t *)NULL, - mouse8042_intr, (caddr_t)state); + (ddi_iblock_cookie_t *)NULL, (ddi_idevice_cookie_t *)NULL, + mouse8042_intr, (caddr_t)state); if (rc != DDI_SUCCESS) { #if defined(MOUSE8042_DEBUG) cmn_err(CE_WARN, MODULE_NAME "_attach: cannot add interrupt"); @@ -358,8 +358,7 @@ mouse8042_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Now that we're attached, announce our presence to the world. */ ddi_report_dev(dip); #if defined(MOUSE8042_DEBUG) - cmn_err(CE_CONT, "?%s #%d: version %s\n", - DRIVER_NAME(dip), ddi_get_instance(dip), "%I% (%E%)"); + cmn_err(CE_CONT, "?%s #%d\n", DRIVER_NAME(dip), ddi_get_instance(dip)); #endif return (DDI_SUCCESS); @@ -657,8 +656,8 @@ mouse8042_wput(queue_t *q, mblk_t *mp) } #endif ddi_put8(state->ms_handle, - state->ms_addr + I8042_INT_OUTPUT_DATA, - *bp->b_rptr++); + state->ms_addr + I8042_INT_OUTPUT_DATA, + *bp->b_rptr++); } next = bp->b_cont; freeb(bp); @@ -694,12 +693,12 @@ mouse8042_intr(caddr_t arg) for (;;) { if (ddi_get8(state->ms_handle, - state->ms_addr + I8042_INT_INPUT_AVAIL) == 0) { + state->ms_addr + I8042_INT_INPUT_AVAIL) == 0) { break; } mdata = ddi_get8(state->ms_handle, - state->ms_addr + I8042_INT_INPUT_DATA); + state->ms_addr + I8042_INT_INPUT_DATA); #if defined(MOUSE8042_DEBUG) if (mouse8042_debug) diff --git a/usr/src/uts/common/io/mxfe/mxfe.c b/usr/src/uts/common/io/mxfe/mxfe.c index ec73825d66..1fc77f3a2b 100644 --- a/usr/src/uts/common/io/mxfe/mxfe.c +++ b/usr/src/uts/common/io/mxfe/mxfe.c @@ -33,7 +33,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/varargs.h> #include <sys/types.h> @@ -191,7 +190,7 @@ static mac_callbacks_t mxfe_m_callbacks = { * Stream information */ DDI_DEFINE_STREAM_OPS(mxfe_devops, nulldev, nulldev, mxfe_attach, mxfe_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); /* * Module linkage information. diff --git a/usr/src/uts/common/io/nge/nge_main.c b/usr/src/uts/common/io/nge/nge_main.c index 376dac5888..2be10bd626 100644 --- a/usr/src/uts/common/io/nge/nge_main.c +++ b/usr/src/uts/common/io/nge/nge_main.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include "nge.h" @@ -1055,7 +1054,7 @@ nge_get_props(nge_t *ngep) static int -nge_reset(nge_t *ngep) +nge_reset_dev(nge_t *ngep) { int err; nge_mul_addr1 maddr1; @@ -2140,7 +2139,7 @@ int nge_restart(nge_t *ngep) { int err = 0; - err = nge_reset(ngep); + err = nge_reset_dev(ngep); /* write back the promisc setting */ ngep->promisc = ngep->record_promisc; nge_chip_sync(ngep); @@ -2611,13 +2610,46 @@ nge_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd) return (DDI_SUCCESS); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +nge_quiesce(dev_info_t *devinfo) +{ + nge_t *ngep; + + ngep = ddi_get_driver_private(devinfo); + + if (ngep == NULL) + return (DDI_FAILURE); + + /* + * Turn off debug tracing + */ + nge_debug = 0; + ngep->debug = 0; + + nge_restore_mac_addr(ngep); + (void) nge_chip_stop(ngep, B_FALSE); + + return (DDI_SUCCESS); +} + + /* * ========== Module Loading Data & Entry Points ========== */ DDI_DEFINE_STREAM_OPS(nge_dev_ops, nulldev, nulldev, nge_attach, nge_detach, - nodev, NULL, D_MP, NULL); + NULL, NULL, D_MP, NULL, nge_quiesce); static struct modldrv nge_modldrv = { diff --git a/usr/src/uts/common/io/nxge/nxge_main.c b/usr/src/uts/common/io/nxge/nxge_main.c index cded642776..6130701c2c 100644 --- a/usr/src/uts/common/io/nxge/nxge_main.c +++ b/usr/src/uts/common/io/nxge/nxge_main.c @@ -199,6 +199,7 @@ static int nxge_hsvc_register(p_nxge_t); static int nxge_attach(dev_info_t *, ddi_attach_cmd_t); static int nxge_detach(dev_info_t *, ddi_detach_cmd_t); static void nxge_unattach(p_nxge_t); +static int nxge_quiesce(dev_info_t *); #if NXGE_PROPERTY static void nxge_remove_hard_properties(p_nxge_t); @@ -5581,7 +5582,7 @@ done: */ DDI_DEFINE_STREAM_OPS(nxge_dev_ops, nulldev, nulldev, nxge_attach, nxge_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, nxge_quiesce); #define NXGE_DESC_VER "Sun NIU 10Gb Ethernet" @@ -6930,3 +6931,59 @@ nxge_set_pci_replay_timeout(p_nxge_t nxgep) NXGE_DEBUG_MSG((nxgep, DDI_CTL, "<== nxge_set_pci_replay_timeout")); } + +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +nxge_quiesce(dev_info_t *dip) +{ + int instance = ddi_get_instance(dip); + p_nxge_t nxgep = (p_nxge_t)ddi_get_soft_state(nxge_list, instance); + + if (nxgep == NULL) + return (DDI_FAILURE); + + /* Turn off debugging */ + nxge_debug_level = NO_DEBUG; + nxgep->nxge_debug_level = NO_DEBUG; + npi_debug_level = NO_DEBUG; + + /* + * Stop link monitor only when linkchkmod is interrupt based + */ + if (nxgep->mac.linkchkmode == LINKCHK_INTR) { + (void) nxge_link_monitor(nxgep, LINK_MONITOR_STOP); + } + + (void) nxge_intr_hw_disable(nxgep); + + /* + * Reset the receive MAC side. + */ + (void) nxge_rx_mac_disable(nxgep); + + /* Disable and soft reset the IPP */ + if (!isLDOMguest(nxgep)) + (void) nxge_ipp_disable(nxgep); + + /* + * Reset the transmit/receive DMA side. + */ + (void) nxge_txdma_hw_mode(nxgep, NXGE_DMA_STOP); + (void) nxge_rxdma_hw_mode(nxgep, NXGE_DMA_STOP); + + /* + * Reset the transmit MAC side. + */ + (void) nxge_tx_mac_disable(nxgep); + + return (DDI_SUCCESS); +} diff --git a/usr/src/uts/common/io/openprom.c b/usr/src/uts/common/io/openprom.c index f1a08b39b4..c420e7668a 100644 --- a/usr/src/uts/common/io/openprom.c +++ b/usr/src/uts/common/io/openprom.c @@ -22,6 +22,7 @@ * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ + /* * Ported from 4.1.1_PSRA: "@(#)openprom.c 1.19 91/02/19 SMI"; * @@ -122,7 +123,9 @@ static struct dev_ops openeepr_ops = { opdetach, /* detach */ nodev, /* reset */ &openeepr_cb_ops, /* driver operations */ - NULL /* bus operations */ + NULL, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/common/io/options.c b/usr/src/uts/common/io/options.c index d0a19c85bf..ab4436c33a 100644 --- a/usr/src/uts/common/io/options.c +++ b/usr/src/uts/common/io/options.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -19,12 +18,12 @@ * * CDDL HEADER END */ + /* - * Copyright 1990, 2002 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4 5.0 */ #include <sys/types.h> #include <sys/errno.h> @@ -54,7 +53,8 @@ struct dev_ops options_ops = { nodev, /* reset */ (struct cb_ops *)0, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; diff --git a/usr/src/uts/common/io/pcan/pcan.c b/usr/src/uts/common/io/pcan/pcan.c index cba590fbc5..b5b0604831 100644 --- a/usr/src/uts/common/io/pcan/pcan.c +++ b/usr/src/uts/common/io/pcan/pcan.c @@ -111,8 +111,7 @@ mac_callbacks_t pcan_m_callbacks = { static char *pcan_name_str = "pcan"; DDI_DEFINE_STREAM_OPS(pcan_dev_ops, nulldev, pcan_probe, pcan_attach, - - pcan_detach, nodev, NULL, D_MP, NULL); + pcan_detach, nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); extern struct mod_ops mod_driverops; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/pci-ide/pci-ide.c b/usr/src/uts/common/io/pci-ide/pci-ide.c index 924aec38d7..9e11862782 100644 --- a/usr/src/uts/common/io/pci-ide/pci-ide.c +++ b/usr/src/uts/common/io/pci-ide/pci-ide.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * PCI-IDE bus nexus driver @@ -158,8 +157,9 @@ struct dev_ops pciide_ops = { pciide_detach, /* detach */ nodev, /* reset */ (struct cb_ops *)0, /* driver operations */ - &pciide_bus_ops /* bus operations */ - + &pciide_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -168,7 +168,7 @@ struct dev_ops pciide_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is PCI-IDE bus driver */ - "pciide nexus driver for 'PCI-IDE' %I%", + "pciide nexus driver for 'PCI-IDE' 1.26", &pciide_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/pcic.c b/usr/src/uts/common/io/pcic.c index 17dd68650d..fa2d108491 100644 --- a/usr/src/uts/common/io/pcic.c +++ b/usr/src/uts/common/io/pcic.c @@ -182,7 +182,8 @@ static struct dev_ops pcic_devops = { nulldev, &pcic_cbops, &pcmciabus_ops, - NULL + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; void *pcic_soft_state_p = NULL; @@ -471,7 +472,7 @@ pcic_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, void **result) minor_t minor; switch (cmd) { - case DDI_INFO_DEVT2DEVINFO: + case DDI_INFO_DEVT2DEVINFO: minor = getminor((dev_t)arg); minor &= 0x7f; if (!(anp = ddi_get_soft_state(pcic_soft_state_p, minor))) @@ -479,12 +480,12 @@ pcic_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, void **result) else *result = anp->an_dip; break; - case DDI_INFO_DEVT2INSTANCE: + case DDI_INFO_DEVT2INSTANCE: minor = getminor((dev_t)arg); minor &= 0x7f; *result = (void *)((long)minor); break; - default: + default: error = DDI_FAILURE; break; } @@ -500,7 +501,7 @@ pcic_probe(dev_info_t *dip) uchar_t *index, *data; if (ddi_dev_is_sid(dip) == DDI_SUCCESS) - return (DDI_PROBE_DONTCARE); + return (DDI_PROBE_DONTCARE); /* * find a PCIC device (any vendor) @@ -514,11 +515,11 @@ pcic_probe(dev_info_t *dip) attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; if (ddi_regs_map_setup(dip, PCIC_ISA_CONTROL_REG_NUM, - (caddr_t *)&index, - PCIC_ISA_CONTROL_REG_OFFSET, - PCIC_ISA_CONTROL_REG_LENGTH, - &attr, &handle) != DDI_SUCCESS) - return (DDI_PROBE_FAILURE); + (caddr_t *)&index, + PCIC_ISA_CONTROL_REG_OFFSET, + PCIC_ISA_CONTROL_REG_LENGTH, + &attr, &handle) != DDI_SUCCESS) + return (DDI_PROBE_FAILURE); data = index + 1; @@ -592,18 +593,18 @@ cardbus_enable_cd_intr(dev_info_t *dip) attr.devacc_attr_endian_flags = DDI_STRUCTURE_LE_ACC; attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; (void) ddi_regs_map_setup(dip, 1, - (caddr_t *)&ioaddr, - 0, - 4096, - &attr, &iohandle); + (caddr_t *)&ioaddr, + 0, + 4096, + &attr, &iohandle); /* CSC Interrupt: Card detect interrupt on */ ddi_put32(iohandle, (uint32_t *)(ioaddr+CB_STATUS_MASK), - ddi_get32(iohandle, - (uint32_t *)(ioaddr+CB_STATUS_MASK)) | CB_SE_CCDMASK); + ddi_get32(iohandle, + (uint32_t *)(ioaddr+CB_STATUS_MASK)) | CB_SE_CCDMASK); ddi_put32(iohandle, (uint32_t *)(ioaddr+CB_STATUS_EVENT), - ddi_get32(iohandle, (uint32_t *)(ioaddr+CB_STATUS_EVENT))); + ddi_get32(iohandle, (uint32_t *)(ioaddr+CB_STATUS_EVENT))); ddi_regs_map_free(&iohandle); return (1); @@ -675,9 +676,9 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Allocate soft state associated with this instance. */ if (ddi_soft_state_zalloc(pcic_soft_state_p, - ddi_get_instance(dip)) != DDI_SUCCESS) { + ddi_get_instance(dip)) != DDI_SUCCESS) { cmn_err(CE_CONT, "pcic%d: Unable to alloc state\n", - ddi_get_instance(dip)); + ddi_get_instance(dip)); return (DDI_FAILURE); } @@ -705,7 +706,7 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * set the default values here and override from intr spec */ pcic->pc_irq = ddi_getprop(DDI_DEV_T_ANY, dip, DDI_PROP_CANSLEEP, - "interrupt-priorities", -1); + "interrupt-priorities", -1); if (pcic->pc_irq == -1) { int actual; @@ -729,41 +730,41 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * bus we're on. */ if (ddi_prop_op(DDI_DEV_T_ANY, ddi_get_parent(dip), - PROP_LEN_AND_VAL_BUF, DDI_PROP_CANSLEEP, - "device_type", (caddr_t)&bus_type[0], &len) != - DDI_PROP_SUCCESS) { + PROP_LEN_AND_VAL_BUF, DDI_PROP_CANSLEEP, + "device_type", (caddr_t)&bus_type[0], &len) != + DDI_PROP_SUCCESS) { if (ddi_prop_op(DDI_DEV_T_ANY, ddi_get_parent(dip), - PROP_LEN_AND_VAL_BUF, DDI_PROP_CANSLEEP, - "bus-type", (caddr_t)&bus_type[0], &len) != - DDI_PROP_SUCCESS) { + PROP_LEN_AND_VAL_BUF, DDI_PROP_CANSLEEP, + "bus-type", (caddr_t)&bus_type[0], &len) != + DDI_PROP_SUCCESS) { cmn_err(CE_CONT, - "pcic%d: can't find parent bus type\n", - ddi_get_instance(dip)); + "pcic%d: can't find parent bus type\n", + ddi_get_instance(dip)); kmem_free(pcic, sizeof (pcicdev_t)); ddi_soft_state_free(pcic_soft_state_p, - ddi_get_instance(dip)); + ddi_get_instance(dip)); return (DDI_FAILURE); } } /* ddi_prop_op("device_type") */ if (strcmp(bus_type, DEVI_PCI_NEXNAME) == 0 || - strcmp(bus_type, DEVI_PCIEX_NEXNAME) == 0) { + strcmp(bus_type, DEVI_PCIEX_NEXNAME) == 0) { pcic->pc_flags = PCF_PCIBUS; } else { cmn_err(CE_WARN, "!pcic%d: non-pci mode (%s) not supported, " - "set BIOS to yenta mode if applicable\n", - ddi_get_instance(dip), bus_type); + "set BIOS to yenta mode if applicable\n", + ddi_get_instance(dip), bus_type); kmem_free(pcic, sizeof (pcicdev_t)); ddi_soft_state_free(pcic_soft_state_p, - ddi_get_instance(dip)); + ddi_get_instance(dip)); return (DDI_FAILURE); } if ((pcic->bus_speed = ddi_getprop(DDI_DEV_T_ANY, ddi_get_parent(dip), - DDI_PROP_CANSLEEP, - "clock-frequency", 0)) == 0) { + DDI_PROP_CANSLEEP, + "clock-frequency", 0)) == 0) { if (pcic->pc_flags & PCF_PCIBUS) pcic->bus_speed = PCIC_PCI_DEF_SYSCLK; else @@ -781,9 +782,9 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef PCIC_DEBUG if (pcic_debug) { cmn_err(CE_CONT, - "pcic%d: parent bus type = [%s], speed = %d MHz\n", - ddi_get_instance(dip), - bus_type, pcic->bus_speed); + "pcic%d: parent bus type = [%s], speed = %d MHz\n", + ddi_get_instance(dip), + bus_type, pcic->bus_speed); } #endif @@ -813,24 +814,24 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; if (ddi_regs_map_setup(dip, pci_cfrn, - (caddr_t *)&pcic->cfgaddr, - PCIC_PCI_CONFIG_REG_OFFSET, - PCIC_PCI_CONFIG_REG_LENGTH, - &attr, - &pcic->cfg_handle) != + (caddr_t *)&pcic->cfgaddr, + PCIC_PCI_CONFIG_REG_OFFSET, + PCIC_PCI_CONFIG_REG_LENGTH, + &attr, + &pcic->cfg_handle) != DDI_SUCCESS) { cmn_err(CE_CONT, - "pcic%d: unable to map config space" - "regs\n", - ddi_get_instance(dip)); + "pcic%d: unable to map config space" + "regs\n", + ddi_get_instance(dip)); kmem_free(pcic, sizeof (pcicdev_t)); return (DDI_FAILURE); } /* ddi_regs_map_setup */ class_code = ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_CANSLEEP|DDI_PROP_DONTPASS, - "class-code", -1); + DDI_PROP_CANSLEEP|DDI_PROP_DONTPASS, + "class-code", -1); #ifdef PCIC_DEBUG if (pcic_debug) { cmn_err(CE_CONT, "pcic_attach class_code=%x\n", @@ -869,14 +870,14 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; if (ddi_regs_map_setup(dip, pci_ctrn, - (caddr_t *)&pcic->ioaddr, - PCIC_PCI_CONTROL_REG_OFFSET, - PCIC_CB_CONTROL_REG_LENGTH, - &attr, &pcic->handle) != + (caddr_t *)&pcic->ioaddr, + PCIC_PCI_CONTROL_REG_OFFSET, + PCIC_CB_CONTROL_REG_LENGTH, + &attr, &pcic->handle) != DDI_SUCCESS) { cmn_err(CE_CONT, - "pcic%d: unable to map PCI regs\n", - ddi_get_instance(dip)); + "pcic%d: unable to map PCI regs\n", + ddi_get_instance(dip)); ddi_regs_map_free(&pcic->cfg_handle); kmem_free(pcic, sizeof (pcicdev_t)); return (DDI_FAILURE); @@ -896,8 +897,7 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) ddi_regs_map_free(&pcic->cfg_handle); kmem_free(pcic, sizeof (pcicdev_t)); cmn_err(CE_WARN, "pcic: %s: unsupported " - "bridge\n", - ddi_get_name_addr(dip)); + "bridge\n", ddi_get_name_addr(dip)); return (DDI_FAILURE); } break; @@ -921,14 +921,14 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * format. */ if (ddi_regs_map_setup(dip, pci_ctrn, - (caddr_t *)&pcic->ioaddr, - PCIC_PCI_CONTROL_REG_OFFSET, - PCIC_PCI_CONTROL_REG_LENGTH, - &attr, - &pcic->handle) != DDI_SUCCESS) { + (caddr_t *)&pcic->ioaddr, + PCIC_PCI_CONTROL_REG_OFFSET, + PCIC_PCI_CONTROL_REG_LENGTH, + &attr, + &pcic->handle) != DDI_SUCCESS) { cmn_err(CE_CONT, - "pcic%d: unable to map PCI regs\n", - ddi_get_instance(dip)); + "pcic%d: unable to map PCI regs\n", + ddi_get_instance(dip)); ddi_regs_map_free(&pcic->cfg_handle); kmem_free(pcic, sizeof (pcicdev_t)); return (DDI_FAILURE); @@ -948,8 +948,8 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) ddi_regs_map_free(&pcic->cfg_handle); kmem_free(pcic, sizeof (pcicdev_t)); cmn_err(CE_WARN, "pcic: %s: unsupported " - "bridge\n", - ddi_get_name_addr(dip)); + "bridge\n", + ddi_get_name_addr(dip)); return (DDI_FAILURE); } @@ -961,26 +961,26 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * encompass the Yenta registers. */ switch (pcic->pc_type) { - case PCIC_TI_PCI1031: + case PCIC_TI_PCI1031: ddi_regs_map_free(&pcic->handle); if (ddi_regs_map_setup(dip, - PCIC_PCI_CONTROL_REG_NUM, - (caddr_t *)&pcic->ioaddr, - PCIC_PCI_CONTROL_REG_OFFSET, - PCIC_CB_CONTROL_REG_LENGTH, - &attr, - &pcic->handle) != DDI_SUCCESS) { + PCIC_PCI_CONTROL_REG_NUM, + (caddr_t *)&pcic->ioaddr, + PCIC_PCI_CONTROL_REG_OFFSET, + PCIC_CB_CONTROL_REG_LENGTH, + &attr, + &pcic->handle) != DDI_SUCCESS) { cmn_err(CE_CONT, - "pcic%d: unable to map " - "PCI regs\n", - ddi_get_instance(dip)); + "pcic%d: unable to map " + "PCI regs\n", + ddi_get_instance(dip)); ddi_regs_map_free(&pcic->cfg_handle); kmem_free(pcic, sizeof (pcicdev_t)); return (DDI_FAILURE); } /* ddi_regs_map_setup */ break; - default: + default: break; } /* switch (pcic->pc_type) */ break; @@ -998,14 +998,14 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) pcic->io_reg_num = PCIC_ISA_IO_REG_NUM; if (ddi_regs_map_setup(dip, PCIC_ISA_CONTROL_REG_NUM, - (caddr_t *)&pcic->ioaddr, - PCIC_ISA_CONTROL_REG_OFFSET, - PCIC_ISA_CONTROL_REG_LENGTH, - &attr, - &pcic->handle) != DDI_SUCCESS) { + (caddr_t *)&pcic->ioaddr, + PCIC_ISA_CONTROL_REG_OFFSET, + PCIC_ISA_CONTROL_REG_LENGTH, + &attr, + &pcic->handle) != DDI_SUCCESS) { cmn_err(CE_CONT, - "pcic%d: unable to map ISA registers\n", - ddi_get_instance(dip)); + "pcic%d: unable to map ISA registers\n", + ddi_get_instance(dip)); kmem_free(pcic, sizeof (pcicdev_t)); return (DDI_FAILURE); @@ -1042,29 +1042,30 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) uint32_t cfg; case PCIC_INTEL_i82092: cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_82092_PCICON); + pcic->cfgaddr + PCIC_82092_PCICON); /* we can only support 4 Socket version */ if (cfg & PCIC_82092_4_SOCKETS) { - pcic->pc_numsockets = 4; - pcic->pc_type = PCIC_INTEL_i82092; - if (iline != 0xFF) - pcic->pc_intr_mode = PCIC_INTR_MODE_PCI_1; - else - pcic->pc_intr_mode = PCIC_INTR_MODE_ISA; + pcic->pc_numsockets = 4; + pcic->pc_type = PCIC_INTEL_i82092; + if (iline != 0xFF) + pcic->pc_intr_mode = + PCIC_INTR_MODE_PCI_1; + else + pcic->pc_intr_mode = PCIC_INTR_MODE_ISA; } else { - cmn_err(CE_CONT, + cmn_err(CE_CONT, "pcic%d: Intel 82092 adapter " "in unsupported configuration: 0x%x", ddi_get_instance(pcic->dip), cfg); - pcic->pc_numsockets = 0; + pcic->pc_numsockets = 0; } /* PCIC_82092_4_SOCKETS */ break; case PCIC_CL_PD6730: case PCIC_CL_PD6729: pcic->pc_intr_mode = PCIC_INTR_MODE_PCI_1; cfg = ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_CANSLEEP, - "interrupts", 0); + DDI_PROP_CANSLEEP, + "interrupts", 0); /* if not interrupt pin then must use ISA style IRQs */ if (cfg == 0 || iline == 0xFF) pcic->pc_intr_mode = PCIC_INTR_MODE_ISA; @@ -1099,10 +1100,10 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) pcic->pc_intr_mode = PCIC_INTR_MODE_PCI_1; cfg = ddi_get8(pcic->cfg_handle, - (pcic->cfgaddr + PCIC_BRIDGE_CTL_REG)); + (pcic->cfgaddr + PCIC_BRIDGE_CTL_REG)); cfg &= (~PCIC_FUN_INT_MOD_ISA); ddi_put8(pcic->cfg_handle, (pcic->cfgaddr + - PCIC_BRIDGE_CTL_REG), cfg); + PCIC_BRIDGE_CTL_REG), cfg); } else pcic->pc_intr_mode = PCIC_INTR_MODE_ISA; @@ -1165,9 +1166,9 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* further tests */ value = pcic_getb(pcic, i, PCIC_CHIP_REVISION) & - PCIC_REV_MASK; + PCIC_REV_MASK; if (!(value >= PCIC_REV_LEVEL_LOW && - value <= PCIC_REV_LEVEL_HI)) + value <= PCIC_REV_LEVEL_HI)) break; pcic_putb(pcic, i, PCIC_SYSMEM_0_STARTLOW, 0xaa); @@ -1194,13 +1195,13 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* put PC Card into RESET, just in case */ value = pcic_getb(pcic, i, PCIC_INTERRUPT); pcic_putb(pcic, i, PCIC_INTERRUPT, - value & ~PCIC_RESET); + value & ~PCIC_RESET); } #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, "num sockets = %d\n", - pcic->pc_numsockets); + pcic->pc_numsockets); #endif if (pcic->pc_numsockets == 0) { ddi_regs_map_free(&pcic->handle); @@ -1221,19 +1222,19 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < count; i++) { /* put pattern into socket 0 */ pcic_putb(pcic, i, - PCIC_SYSMEM_0_STARTLOW, 0x11); + PCIC_SYSMEM_0_STARTLOW, 0x11); /* put pattern into socket 2 */ pcic_putb(pcic, i + 2, - PCIC_SYSMEM_0_STARTLOW, 0x33); + PCIC_SYSMEM_0_STARTLOW, 0x33); /* read back socket 0 */ value = pcic_getb(pcic, i, - PCIC_SYSMEM_0_STARTLOW); + PCIC_SYSMEM_0_STARTLOW); /* read back chip 1 socket 0 */ j = pcic_getb(pcic, i + 2, - PCIC_SYSMEM_0_STARTLOW); + PCIC_SYSMEM_0_STARTLOW); if (j == value) { pcic->pc_numsockets -= 2; } @@ -1243,8 +1244,8 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) smi = 0xff; /* no more override */ if (ddi_getprop(DDI_DEV_T_NONE, dip, - DDI_PROP_DONTPASS, "need-mult-irq", - 0xffff) != 0xffff) + DDI_PROP_DONTPASS, "need-mult-irq", + 0xffff) != 0xffff) pcic->pc_flags |= PCF_MULT_IRQ; } /* !PCF_PCIBUS */ @@ -1270,8 +1271,8 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) nintrs = 0; cmn_err(CE_CONT, - "pcic%d: %d register sets, %d interrupts\n", - ddi_get_instance(dip), nregs, nintrs); + "pcic%d: %d register sets, %d interrupts\n", + ddi_get_instance(dip), nregs, nintrs); nintrs = 0; while (nregs--) { @@ -1280,23 +1281,23 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_dev_regsize(dip, nintrs, &size) == DDI_SUCCESS) { cmn_err(CE_CONT, - "\tregnum %d size %ld (0x%lx)" - "bytes", - nintrs, size, size); + "\tregnum %d size %ld (0x%lx)" + "bytes", + nintrs, size, size); if (nintrs == (pcic->pc_io_type == PCIC_IO_TYPE_82365SL ? PCIC_ISA_CONTROL_REG_NUM : PCIC_PCI_CONTROL_REG_NUM)) cmn_err(CE_CONT, - " mapped at: 0x%p\n", - (void *)pcic->ioaddr); + " mapped at: 0x%p\n", + (void *)pcic->ioaddr); else cmn_err(CE_CONT, "\n"); } else { cmn_err(CE_CONT, - "\tddi_dev_regsize(rnumber" - "= %d) returns DDI_FAILURE\n", - nintrs); + "\tddi_dev_regsize(rnumber" + "= %d) returns DDI_FAILURE\n", + nintrs); } nintrs++; } /* while */ @@ -1306,7 +1307,7 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) cv_init(&pcic->pm_cv, NULL, CV_DRIVER, NULL); if (!ddi_getprop(DDI_DEV_T_NONE, dip, DDI_PROP_DONTPASS, - "disable-audio", 0)) + "disable-audio", 0)) pcic->pc_flags |= PCF_AUDIO; if (ddi_getprop(DDI_DEV_T_ANY, dip, DDI_PROP_CANSLEEP, @@ -1320,9 +1321,9 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Init all socket SMI levels to 0 (no SMI) */ for (i = 0; i < PCIC_MAX_SOCKETS; i++) { - pcic->pc_sockets[i].pcs_smi = 0; - pcic->pc_sockets[i].pcs_debounce_id = 0; - pcic->pc_sockets[i].pcs_pcic = pcic; + pcic->pc_sockets[i].pcs_smi = 0; + pcic->pc_sockets[i].pcs_debounce_id = 0; + pcic->pc_sockets[i].pcs_pcic = pcic; } pcic->pc_lastreg = -1; /* just to make sure we are in sync */ @@ -1362,7 +1363,7 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) PCIC_AVAIL_IRQS) { smi = pcmcia_get_intr(dip, - xx); + xx); if (smi >= 0) break; } @@ -1517,7 +1518,7 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, "type = %s sockets = %d\n", typename, - pcic->pc_numsockets); + pcic->pc_numsockets); #endif pcic_nexus->an_iblock = &pcic->pc_pri; @@ -1569,7 +1570,7 @@ pcic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (j = 0; j < pcic->pc_numsockets; j++) { pcic->pc_sockets[j].pcs_debounce_id = pcic_add_debqueue(&pcic->pc_sockets[j], - drv_usectohz(pcic_debounce_time)); + drv_usectohz(pcic_debounce_time)); } return (i); @@ -1645,9 +1646,9 @@ pcic_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) mutex_destroy(&pcic->intr_lock); cv_destroy(&pcic->pm_cv); if (pcic->pc_flags & PCF_PCIBUS) - ddi_regs_map_free(&pcic->cfg_handle); + ddi_regs_map_free(&pcic->cfg_handle); if (pcic->handle) - ddi_regs_map_free(&pcic->handle); + ddi_regs_map_free(&pcic->handle); kmem_free(pcic, sizeof (pcicdev_t)); ddi_soft_state_free(pcic_soft_state_p, ddi_get_instance(dip)); return (DDI_SUCCESS); @@ -1668,7 +1669,7 @@ pcic_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) (PCS_CARD_PRESENT|PCS_CARD_ISCARDBUS)) { pcmcia_cb_suspended( - pcic->pc_sockets[i].pcs_socket); + pcic->pc_sockets[i].pcs_socket); } } @@ -1752,7 +1753,7 @@ pcic_setup_adapter(pcicdev_t *pcic) pcic->pc_sockets[i].pcs_flags = 0; /* find out the socket capabilities (I/O vs memory) */ value = pcic_getb(pcic, i, - PCIC_CHIP_REVISION) & PCIC_REV_ID_MASK; + PCIC_CHIP_REVISION) & PCIC_REV_ID_MASK; if (value == PCIC_REV_ID_IO || value == PCIC_REV_ID_BOTH) pcic->pc_sockets[i].pcs_flags |= PCS_SOCKET_IO; @@ -1765,16 +1766,16 @@ pcic_setup_adapter(pcicdev_t *pcic) uint8_t cfg; /* enable extended registers for Vadem */ - case PCIC_VADEM_VG469: - case PCIC_VADEM: + case PCIC_VADEM_VG469: + case PCIC_VADEM: /* enable card status change interrupt for socket */ break; - case PCIC_I82365SL: + case PCIC_I82365SL: break; - case PCIC_CL_PD6710: + case PCIC_CL_PD6710: pcic_putb(pcic, 0, PCIC_MISC_CTL_2, PCIC_LED_ENABLE); break; @@ -1783,17 +1784,17 @@ pcic_setup_adapter(pcicdev_t *pcic) * signalling mode (PCI mode) and set the SMI and * IRQ interrupt lines to PCI/level-mode. */ - case PCIC_CL_PD6730: + case PCIC_CL_PD6730: switch (pcic->pc_intr_mode) { case PCIC_INTR_MODE_PCI_1: clext_reg_write(pcic, i, PCIC_CLEXT_MISC_CTL_3, - ((clext_reg_read(pcic, i, - PCIC_CLEXT_MISC_CTL_3) & - ~PCIC_CLEXT_INT_PCI) | - PCIC_CLEXT_INT_PCI)); + ((clext_reg_read(pcic, i, + PCIC_CLEXT_MISC_CTL_3) & + ~PCIC_CLEXT_INT_PCI) | + PCIC_CLEXT_INT_PCI)); clext_reg_write(pcic, i, PCIC_CLEXT_EXT_CTL_1, - (PCIC_CLEXT_IRQ_LVL_MODE | - PCIC_CLEXT_SMI_LVL_MODE)); + (PCIC_CLEXT_IRQ_LVL_MODE | + PCIC_CLEXT_SMI_LVL_MODE)); cfg = PCIC_CL_LP_DYN_MODE; pcic_putb(pcic, i, PCIC_MISC_CTL_2, cfg); break; @@ -1806,12 +1807,12 @@ pcic_setup_adapter(pcicdev_t *pcic) * lines to PCI/level-mode. as well as program the * correct clock speed divider bit. */ - case PCIC_CL_PD6729: + case PCIC_CL_PD6729: switch (pcic->pc_intr_mode) { case PCIC_INTR_MODE_PCI_1: clext_reg_write(pcic, i, PCIC_CLEXT_EXT_CTL_1, - (PCIC_CLEXT_IRQ_LVL_MODE | - PCIC_CLEXT_SMI_LVL_MODE)); + (PCIC_CLEXT_IRQ_LVL_MODE | + PCIC_CLEXT_SMI_LVL_MODE)); break; case PCIC_INTR_MODE_ISA: @@ -1823,19 +1824,19 @@ pcic_setup_adapter(pcicdev_t *pcic) pcic_putb(pcic, i, PCIC_MISC_CTL_2, cfg); } break; - case PCIC_INTEL_i82092: + case PCIC_INTEL_i82092: cfg = PCIC_82092_EN_TIMING; if (pcic->bus_speed < PCIC_SYSCLK_33MHZ) - cfg |= PCIC_82092_PCICLK_25MHZ; + cfg |= PCIC_82092_PCICLK_25MHZ; ddi_put8(pcic->cfg_handle, pcic->cfgaddr + - PCIC_82092_PCICON, cfg); + PCIC_82092_PCICON, cfg); break; - case PCIC_TI_PCI1130: - case PCIC_TI_PCI1131: - case PCIC_TI_PCI1250: - case PCIC_TI_PCI1031: + case PCIC_TI_PCI1130: + case PCIC_TI_PCI1131: + case PCIC_TI_PCI1250: + case PCIC_TI_PCI1031: cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_DEVCTL_REG); + pcic->cfgaddr + PCIC_DEVCTL_REG); cfg &= ~PCIC_DEVCTL_INTR_MASK; switch (pcic->pc_intr_mode) { case PCIC_INTR_MODE_ISA: @@ -1850,18 +1851,18 @@ pcic_setup_adapter(pcicdev_t *pcic) } #endif ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_DEVCTL_REG, - cfg); + pcic->cfgaddr + PCIC_DEVCTL_REG, + cfg); cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_CRDCTL_REG); + pcic->cfgaddr + PCIC_CRDCTL_REG); cfg &= ~(PCIC_CRDCTL_PCIINTR|PCIC_CRDCTL_PCICSC| - PCIC_CRDCTL_PCIFUNC); + PCIC_CRDCTL_PCIFUNC); switch (pcic->pc_intr_mode) { case PCIC_INTR_MODE_PCI_1: cfg |= PCIC_CRDCTL_PCIINTR | - PCIC_CRDCTL_PCICSC | - PCIC_CRDCTL_PCIFUNC; + PCIC_CRDCTL_PCICSC | + PCIC_CRDCTL_PCIFUNC; pcic->pc_flags |= PCF_USE_SMI; break; } @@ -1873,11 +1874,11 @@ pcic_setup_adapter(pcicdev_t *pcic) } #endif ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_CRDCTL_REG, - cfg); + pcic->cfgaddr + PCIC_CRDCTL_REG, + cfg); break; - case PCIC_TI_PCI1221: - case PCIC_TI_PCI1225: + case PCIC_TI_PCI1221: + case PCIC_TI_PCI1225: cfg = ddi_get8(pcic->cfg_handle, pcic->cfgaddr + PCIC_DEVCTL_REG); cfg |= (PCIC_DEVCTL_INTR_DFLT | PCIC_DEVCTL_3VCAPABLE); @@ -1909,26 +1910,26 @@ pcic_setup_adapter(pcicdev_t *pcic) ddi_put8(pcic->cfg_handle, pcic->cfgaddr + PCIC_DIAG_REG, cfg); break; - case PCIC_TI_PCI1520: - case PCIC_TI_PCI1510: - case PCIC_TI_VENDOR: + case PCIC_TI_PCI1520: + case PCIC_TI_PCI1510: + case PCIC_TI_VENDOR: if (pcic->pc_intr_mode == PCIC_INTR_MODE_ISA) { /* functional intr routed by ExCA register */ cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); cfg |= PCIC_FUN_INT_MOD_ISA; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, - cfg); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, + cfg); /* IRQ serialized interrupts */ cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_DEVCTL_REG); + pcic->cfgaddr + PCIC_DEVCTL_REG); cfg &= ~PCIC_DEVCTL_INTR_MASK; cfg |= PCIC_DEVCTL_INTR_ISA; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_DEVCTL_REG, - cfg); + pcic->cfgaddr + PCIC_DEVCTL_REG, + cfg); break; } @@ -1952,8 +1953,9 @@ pcic_setup_adapter(pcicdev_t *pcic) if (ddi_getlongprop(DDI_DEV_T_ANY, pcic->dip, DDI_PROP_DONTPASS, "reg", (caddr_t)®, &length) != DDI_PROP_SUCCESS) { - cmn_err(CE_WARN, "pcic_setup_adapter(), failed to" - " read reg property\n"); + cmn_err(CE_WARN, + "pcic_setup_adapter(), failed to" + " read reg property\n"); break; } @@ -1967,7 +1969,7 @@ pcic_setup_adapter(pcicdev_t *pcic) } classcode = (*pci_getl_func)(bus, dev, 1, - PCI_CONF_REVID); + PCI_CONF_REVID); classcode >>= 8; if (classcode != 0x060700 && classcode != 0x060500) { @@ -1976,124 +1978,124 @@ pcic_setup_adapter(pcicdev_t *pcic) /* Parallel PCI interrupts only */ cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_DEVCTL_REG); + pcic->cfgaddr + PCIC_DEVCTL_REG); cfg &= ~PCIC_DEVCTL_INTR_MASK; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_DEVCTL_REG, - cfg); + pcic->cfgaddr + PCIC_DEVCTL_REG, + cfg); /* tie INTA and INTB together */ cfg = ddi_get8(pcic->cfg_handle, - (pcic->cfgaddr + PCIC_SYSCTL_REG + 3)); + (pcic->cfgaddr + PCIC_SYSCTL_REG + 3)); cfg |= PCIC_SYSCTL_INTRTIE; ddi_put8(pcic->cfg_handle, (pcic->cfgaddr + - PCIC_SYSCTL_REG + 3), cfg); + PCIC_SYSCTL_REG + 3), cfg); #endif break; - case PCIC_TI_PCI1410: + case PCIC_TI_PCI1410: cfg = ddi_get8(pcic->cfg_handle, pcic->cfgaddr + PCIC_DIAG_REG); cfg |= (PCIC_DIAG_CSC | PCIC_DIAG_ASYNC); ddi_put8(pcic->cfg_handle, pcic->cfgaddr + PCIC_DIAG_REG, cfg); break; - case PCIC_TOSHIBA_TOPIC100: - case PCIC_TOSHIBA_TOPIC95: - case PCIC_TOSHIBA_VENDOR: + case PCIC_TOSHIBA_TOPIC100: + case PCIC_TOSHIBA_TOPIC95: + case PCIC_TOSHIBA_VENDOR: cfg = ddi_get8(pcic->cfg_handle, pcic->cfgaddr + - PCIC_TOSHIBA_SLOT_CTL_REG); + PCIC_TOSHIBA_SLOT_CTL_REG); cfg |= (PCIC_TOSHIBA_SCR_SLOTON | - PCIC_TOSHIBA_SCR_SLOTEN); + PCIC_TOSHIBA_SCR_SLOTEN); cfg &= (~PCIC_TOSHIBA_SCR_PRT_MASK); cfg |= PCIC_TOSHIBA_SCR_PRT_3E2; ddi_put8(pcic->cfg_handle, pcic->cfgaddr + - PCIC_TOSHIBA_SLOT_CTL_REG, cfg); + PCIC_TOSHIBA_SLOT_CTL_REG, cfg); cfg = ddi_get8(pcic->cfg_handle, pcic->cfgaddr + - PCIC_TOSHIBA_INTR_CTL_REG); + PCIC_TOSHIBA_INTR_CTL_REG); switch (pcic->pc_intr_mode) { case PCIC_INTR_MODE_ISA: cfg &= ~PCIC_TOSHIBA_ICR_SRC; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + - PCIC_TOSHIBA_INTR_CTL_REG, cfg); + pcic->cfgaddr + + PCIC_TOSHIBA_INTR_CTL_REG, cfg); cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); cfg |= PCIC_FUN_INT_MOD_ISA; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, - cfg); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, + cfg); break; case PCIC_INTR_MODE_PCI_1: cfg |= PCIC_TOSHIBA_ICR_SRC; cfg &= (~PCIC_TOSHIBA_ICR_PIN_MASK); cfg |= PCIC_TOSHIBA_ICR_PIN_INTA; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + - PCIC_TOSHIBA_INTR_CTL_REG, cfg); + pcic->cfgaddr + + PCIC_TOSHIBA_INTR_CTL_REG, cfg); break; } break; - case PCIC_O2MICRO_VENDOR: + case PCIC_O2MICRO_VENDOR: cfg32 = ddi_get32(pcic->cfg_handle, - (uint32_t *)(pcic->cfgaddr + - PCIC_O2MICRO_MISC_CTL)); + (uint32_t *)(pcic->cfgaddr + + PCIC_O2MICRO_MISC_CTL)); switch (pcic->pc_intr_mode) { case PCIC_INTR_MODE_ISA: cfg32 |= (PCIC_O2MICRO_ISA_LEGACY | - PCIC_O2MICRO_INT_MOD_PCI); + PCIC_O2MICRO_INT_MOD_PCI); ddi_put32(pcic->cfg_handle, - (uint32_t *)(pcic->cfgaddr + - PCIC_O2MICRO_MISC_CTL), - cfg32); + (uint32_t *)(pcic->cfgaddr + + PCIC_O2MICRO_MISC_CTL), + cfg32); cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); cfg |= PCIC_FUN_INT_MOD_ISA; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, - cfg); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, + cfg); break; case PCIC_INTR_MODE_PCI_1: cfg32 &= ~PCIC_O2MICRO_ISA_LEGACY; cfg32 |= PCIC_O2MICRO_INT_MOD_PCI; ddi_put32(pcic->cfg_handle, - (uint32_t *)(pcic->cfgaddr + - PCIC_O2MICRO_MISC_CTL), - cfg32); + (uint32_t *)(pcic->cfgaddr + + PCIC_O2MICRO_MISC_CTL), + cfg32); break; } break; - case PCIC_RICOH_VENDOR: + case PCIC_RICOH_VENDOR: if (pcic->pc_intr_mode == PCIC_INTR_MODE_ISA) { cfg16 = ddi_get16(pcic->cfg_handle, - (uint16_t *)(pcic->cfgaddr + - PCIC_RICOH_MISC_CTL_2)); + (uint16_t *)(pcic->cfgaddr + + PCIC_RICOH_MISC_CTL_2)); cfg16 |= (PCIC_RICOH_CSC_INT_MOD | - PCIC_RICOH_FUN_INT_MOD); + PCIC_RICOH_FUN_INT_MOD); ddi_put16(pcic->cfg_handle, - (uint16_t *)(pcic->cfgaddr + - PCIC_RICOH_MISC_CTL_2), - cfg16); + (uint16_t *)(pcic->cfgaddr + + PCIC_RICOH_MISC_CTL_2), + cfg16); cfg16 = ddi_get16(pcic->cfg_handle, - (uint16_t *)(pcic->cfgaddr + - PCIC_RICOH_MISC_CTL)); + (uint16_t *)(pcic->cfgaddr + + PCIC_RICOH_MISC_CTL)); cfg16 |= PCIC_RICOH_SIRQ_EN; ddi_put16(pcic->cfg_handle, - (uint16_t *)(pcic->cfgaddr + - PCIC_RICOH_MISC_CTL), - cfg16); + (uint16_t *)(pcic->cfgaddr + + PCIC_RICOH_MISC_CTL), + cfg16); cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); cfg |= PCIC_FUN_INT_MOD_ISA; ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, - cfg); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, + cfg); } break; - default: + default: break; } /* switch */ @@ -2104,7 +2106,7 @@ pcic_setup_adapter(pcicdev_t *pcic) * INTB. This applies to all TI CardBus controllers. */ if ((pcic->pc_type >> 16) == PCIC_TI_VENDORID && - pcic->pc_intr_mode == PCIC_INTR_MODE_PCI_1) { + pcic->pc_intr_mode == PCIC_INTR_MODE_PCI_1) { value = ddi_get32(pcic->cfg_handle, (uint32_t *)(pcic->cfgaddr + PCIC_MFROUTE_REG)); value &= ~0xff; @@ -2124,14 +2126,14 @@ pcic_setup_adapter(pcicdev_t *pcic) break; default: if (pcic->pc_intr_mode == - PCIC_INTR_MODE_PCI_1) { + PCIC_INTR_MODE_PCI_1) { pcic_putb(pcic, i, PCIC_MANAGEMENT_INT, - PCIC_CHANGE_DEFAULT); + PCIC_CHANGE_DEFAULT); break; } else { pcic_putb(pcic, i, PCIC_MANAGEMENT_INT, - PCIC_CHANGE_DEFAULT | - (pcic->pc_sockets[i].pcs_smi << 4)); + PCIC_CHANGE_DEFAULT | + (pcic->pc_sockets[i].pcs_smi << 4)); break; } } @@ -2145,28 +2147,28 @@ pcic_setup_adapter(pcicdev_t *pcic) /* final chip specific initialization */ switch (pcic->pc_type) { - case PCIC_VADEM: + case PCIC_VADEM: pcic_putb(pcic, i, PCIC_VG_CONTROL, - PCIC_VC_DELAYENABLE); + PCIC_VC_DELAYENABLE); pcic->pc_flags |= PCF_DEBOUNCE; /* FALLTHROUGH */ - case PCIC_I82365SL: + case PCIC_I82365SL: pcic_putb(pcic, i, PCIC_GLOBAL_CONTROL, - PCIC_GC_CSC_WRITE); + PCIC_GC_CSC_WRITE); /* clear any pending interrupts */ value = pcic_getb(pcic, i, PCIC_CARD_STATUS_CHANGE); pcic_putb(pcic, i, PCIC_CARD_STATUS_CHANGE, value); break; /* The 82092 uses PCI config space to enable interrupts */ - case PCIC_INTEL_i82092: + case PCIC_INTEL_i82092: pcic_82092_smiirq_ctl(pcic, i, PCIC_82092_CTL_SMI, - PCIC_82092_INT_ENABLE); + PCIC_82092_INT_ENABLE); break; - case PCIC_CL_PD6729: + case PCIC_CL_PD6729: if (pcic->bus_speed >= PCIC_PCI_DEF_SYSCLK && i == 0) { value = pcic_getb(pcic, i, PCIC_MISC_CTL_2); pcic_putb(pcic, i, PCIC_MISC_CTL_2, - value | PCIC_CL_TIMER_CLK_DIV); + value | PCIC_CL_TIMER_CLK_DIV); } break; } /* switch */ @@ -2174,11 +2176,11 @@ pcic_setup_adapter(pcicdev_t *pcic) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, - "socket %d value=%x, flags = %x (%s)\n", - i, value, pcic->pc_sockets[i].pcs_flags, - (pcic->pc_sockets[i].pcs_flags & - PCS_CARD_PRESENT) ? - "card present" : "no card"); + "socket %d value=%x, flags = %x (%s)\n", + i, value, pcic->pc_sockets[i].pcs_flags, + (pcic->pc_sockets[i].pcs_flags & + PCS_CARD_PRESENT) ? + "card present" : "no card"); #endif } } @@ -2204,13 +2206,13 @@ pcic_intr(caddr_t arg1, caddr_t arg2) #if defined(PCIC_DEBUG) pcic_err(pcic->dip, 0xf, - "pcic_intr: enter pc_flags=0x%x PCF_ATTACHED=0x%x" - " pc_numsockets=%d \n", - pcic->pc_flags, PCF_ATTACHED, pcic->pc_numsockets); + "pcic_intr: enter pc_flags=0x%x PCF_ATTACHED=0x%x" + " pc_numsockets=%d \n", + pcic->pc_flags, PCF_ATTACHED, pcic->pc_numsockets); #endif if (!(pcic->pc_flags & PCF_ATTACHED)) - return (DDI_INTR_UNCLAIMED); + return (DDI_INTR_UNCLAIMED); mutex_enter(&pcic->intr_lock); @@ -2267,11 +2269,11 @@ pcic_intr(caddr_t arg1, caddr_t arg2) "card_type = %d, value_cb = 0x%x\n", card_type, value_cb ? value_cb : - pcic_getcb(pcic, CB_STATUS_EVENT)); + pcic_getcb(pcic, CB_STATUS_EVENT)); if (pcic_debug) cmn_err(CE_CONT, - "\tchange on socket %d (%x)\n", i, - value); + "\tchange on socket %d (%x)\n", i, + value); #endif /* find out what happened */ status = pcic_getb(pcic, i, PCIC_INTERFACE_STATUS); @@ -2296,13 +2298,13 @@ pcic_intr(caddr_t arg1, caddr_t arg2) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, - "\tcd_detect: status=%x," - " flags=%x\n", - status, sockp->pcs_flags); + "\tcd_detect: status=%x," + " flags=%x\n", + status, sockp->pcs_flags); #else #ifdef lint if (status == 0) - status++; + status++; #endif #endif /* @@ -2345,7 +2347,7 @@ pcic_intr(caddr_t arg1, caddr_t arg2) !(sockp->pcs_state & SBM_BVD2)) { sockp->pcs_state |= SBM_BVD2; PC_CALLBACK(pcic->dip, x, - PCE_CARD_BATTERY_WARN, i); + PCE_CARD_BATTERY_WARN, i); } /* Battery Dead Detect */ @@ -2355,19 +2357,19 @@ pcic_intr(caddr_t arg1, caddr_t arg2) * and card_type == IF_IO */ if (card_type == IF_MEMORY && - !(sockp->pcs_state & SBM_BVD1)) { + !(sockp->pcs_state & SBM_BVD1)) { sockp->pcs_state |= SBM_BVD1; PC_CALLBACK(pcic->dip, x, - PCE_CARD_BATTERY_DEAD, - i); + PCE_CARD_BATTERY_DEAD, + i); } else { /* * information in pin replacement * register if one is available */ PC_CALLBACK(pcic->dip, x, - PCE_CARD_STATUS_CHANGE, - i); + PCE_CARD_STATUS_CHANGE, + i); } /* IF_MEMORY */ } /* PCIC_BD_DETECT */ } /* if pcic_change */ @@ -2429,17 +2431,17 @@ pcic_do_io_intr(pcicdev_t *pcic, uint32_t sockets) #if defined(PCIC_DEBUG) pcic_err(pcic->dip, 0xf, - "pcic_do_io_intr: pcic=%p sockets=%d irq_top=%p\n", - (void *)pcic, (int)sockets, (void *)pcic->irq_top); + "pcic_do_io_intr: pcic=%p sockets=%d irq_top=%p\n", + (void *)pcic, (int)sockets, (void *)pcic->irq_top); #endif if (pcic->irq_top != NULL) { - tmp = pcic->irq_current; + tmp = pcic->irq_current; - do { + do { int cur = pcic->irq_current->socket; pcic_socket_t *sockp = - &pcic->pc_sockets[cur]; + &pcic->pc_sockets[cur]; #if defined(PCIC_DEBUG) pcic_err(pcic->dip, 0xf, @@ -2471,9 +2473,9 @@ pcic_do_io_intr(pcicdev_t *pcic, uint32_t sockets) if ((pcic->irq_current = pcic->irq_current->next) == NULL) pcic->irq_current = pcic->irq_top; - } while (pcic->irq_current != tmp); + } while (pcic->irq_current != tmp); - if ((pcic->irq_current = pcic->irq_current->next) == NULL) + if ((pcic->irq_current = pcic->irq_current->next) == NULL) pcic->irq_current = pcic->irq_top; } else { @@ -2482,8 +2484,8 @@ pcic_do_io_intr(pcicdev_t *pcic, uint32_t sockets) #if defined(PCIC_DEBUG) pcic_err(pcic->dip, 0xf, - "pcic_do_io_intr: exit ret=%d DDI_INTR_CLAIMED=%d\n", - ret, DDI_INTR_CLAIMED); + "pcic_do_io_intr: exit ret=%d DDI_INTR_CLAIMED=%d\n", + ret, DDI_INTR_CLAIMED); #endif return (ret); @@ -2521,7 +2523,7 @@ pcic_inquire_adapter(dev_info_t *dip, inquire_adapter_t *config) switch (pcic->pc_intr_mode) { case PCIC_INTR_MODE_PCI_1: config->ResourceFlags |= RES_OWN_IRQ | RES_IRQ_NEXUS | - RES_IRQ_SHAREABLE; + RES_IRQ_SHAREABLE; break; } return (SUCCESS); @@ -2570,10 +2572,10 @@ pcic_calc_speed(pcicdev_t *pcic, uint32_t speed) uint32_t bspeed = PCIC_ISA_DEF_SYSCLK; switch (pcic->pc_type) { - case PCIC_I82365SL: - case PCIC_VADEM: - case PCIC_VADEM_VG469: - default: + case PCIC_I82365SL: + case PCIC_VADEM: + case PCIC_VADEM_VG469: + default: /* Intel chip wants it in waitstates */ wspeed = mhztons(PCIC_ISA_DEF_SYSCLK) * 3; if (speed <= wspeed) @@ -2587,18 +2589,18 @@ pcic_calc_speed(pcicdev_t *pcic, uint32_t speed) wspeed <<= 6; /* put in right bit positions */ break; - case PCIC_INTEL_i82092: + case PCIC_INTEL_i82092: wspeed = SYSMEM_82092_80NS; if (speed > 80) - wspeed = SYSMEM_82092_100NS; + wspeed = SYSMEM_82092_100NS; if (speed > 100) - wspeed = SYSMEM_82092_150NS; + wspeed = SYSMEM_82092_150NS; if (speed > 150) - wspeed = SYSMEM_82092_200NS; + wspeed = SYSMEM_82092_200NS; if (speed > 200) - wspeed = SYSMEM_82092_250NS; + wspeed = SYSMEM_82092_250NS; if (speed > 250) - wspeed = SYSMEM_82092_600NS; + wspeed = SYSMEM_82092_600NS; wspeed <<= 5; /* put in right bit positions */ break; @@ -2654,7 +2656,8 @@ pcic_set_cdtimers(pcicdev_t *pcic, int socket, uint32_t speed, int tset) offset = 0; clk_pulse = mhztons(pcic->bus_speed); - for (ctp = pcic_card_times; speed < ctp->cycle; ctp++); + for (ctp = pcic_card_times; speed < ctp->cycle; ctp++) + ; /* * Add (clk_pulse/2) and an extra 1 to account for rounding errors. @@ -2708,12 +2711,12 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) if (pcic_debug) { cmn_err(CE_CONT, "pcic_set_window: entered\n"); cmn_err(CE_CONT, - "\twindow=%d, socket=%d, WindowSize=%d, speed=%d\n", - window->window, window->socket, window->WindowSize, - window->speed); + "\twindow=%d, socket=%d, WindowSize=%d, speed=%d\n", + window->window, window->socket, window->WindowSize, + window->speed); cmn_err(CE_CONT, - "\tbase=%x, state=%x\n", (unsigned)window->base, - (unsigned)window->state); + "\tbase=%x, state=%x\n", (unsigned)window->base, + (unsigned)window->state); } #endif @@ -2748,7 +2751,7 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) /* only windows 2-6 can do memory mapping */ if (tmp != window->socket || win < PCIC_IOWINDOWS) { cmn_err(CE_CONT, - "\tattempt to map to non-mem window\n"); + "\tattempt to map to non-mem window\n"); return (BAD_WINDOW); } @@ -2776,11 +2779,11 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "\tbase=%x, win=%d\n", (unsigned)base, - win); + "\tbase=%x, win=%d\n", (unsigned)base, + win); if (which) cmn_err(CE_CONT, - "\tneed to remap window\n"); + "\tneed to remap window\n"); } #endif @@ -2807,12 +2810,12 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) req.ra_boundbase = pcic->pc_base; req.ra_boundlen = pcic->pc_bound; req.ra_flags = (memp->pcw_base ? - NDI_RA_ALLOC_SPECIFIED : 0) | - NDI_RA_ALLOC_BOUNDED; + NDI_RA_ALLOC_SPECIFIED : 0) | + NDI_RA_ALLOC_BOUNDED; req.ra_align_mask = - (PAGESIZE - 1) | (PCIC_PAGE - 1); + (PAGESIZE - 1) | (PCIC_PAGE - 1); #if defined(PCIC_DEBUG) - pcic_err(dip, 8, + pcic_err(dip, 8, "\tlen 0x%"PRIx64 "addr 0x%"PRIx64"bbase 0x%"PRIx64 " blen 0x%"PRIx64" flags 0x%x" @@ -2824,7 +2827,7 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) #endif ret = pcmcia_alloc_mem(dip, &req, &res, - &memp->res_dip); + &memp->res_dip); if (ret == DDI_FAILURE) { mutex_exit(&pcic->pc_lock); cmn_err(CE_WARN, @@ -2837,41 +2840,42 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, - "\tsetwindow: new base=%x\n", - (unsigned)memp->pcw_base); + "\tsetwindow: new base=%x\n", + (unsigned)memp->pcw_base); #endif memp->pcw_len = window->WindowSize; which = pcmcia_map_reg(pcic->dip, - window->child, - &res, - (uint32_t)(window->state & - 0xffff) | - (window->socket << 16), - (caddr_t *)&memp->pcw_hostmem, - &memp->pcw_handle, - &window->attr, NULL); + window->child, + &res, + (uint32_t)(window->state & + 0xffff) | + (window->socket << 16), + (caddr_t *)&memp->pcw_hostmem, + &memp->pcw_handle, + &window->attr, NULL); if (which != DDI_SUCCESS) { cmn_err(CE_WARN, "\tpcmcia_map_reg() " - "failed\n"); + "failed\n"); - res.ra_addr_lo = memp->pcw_base; - res.ra_len = memp->pcw_len; - (void) pcmcia_free_mem(memp->res_dip, &res); + res.ra_addr_lo = memp->pcw_base; + res.ra_len = memp->pcw_len; + (void) pcmcia_free_mem(memp->res_dip, + &res); - mutex_exit(&pcic->pc_lock); + mutex_exit(&pcic->pc_lock); - return (BAD_WINDOW); + return (BAD_WINDOW); } memp->pcw_status |= PCW_MAPPED; #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, - "\tmap=%x, hostmem=%p\n", - which, - (void *)memp->pcw_hostmem); + "\tmap=%x, hostmem=%p\n", + which, + (void *)memp->pcw_hostmem); #endif } else { base = memp->pcw_base; @@ -2883,10 +2887,10 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "\twindow mapped to %x@%x len=%d\n", - (unsigned)window->base, - (unsigned)memp->pcw_base, - memp->pcw_len); + "\twindow mapped to %x@%x len=%d\n", + (unsigned)window->base, + (unsigned)memp->pcw_base, + memp->pcw_len); } #endif @@ -2910,17 +2914,17 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) /* map the physical page base address */ which = (window->state & WS_16BIT) ? SYSMEM_DATA_16 : 0; which |= (window->speed <= MEM_SPEED_MIN) ? - SYSMEM_ZERO_WAIT : 0; + SYSMEM_ZERO_WAIT : 0; /* need to select register set */ select = PCIC_MEM_1_OFFSET * win; pcic_putb(pcic, socket, - PCIC_SYSMEM_0_STARTLOW + select, - SYSMEM_LOW(base)); + PCIC_SYSMEM_0_STARTLOW + select, + SYSMEM_LOW(base)); pcic_putb(pcic, socket, - PCIC_SYSMEM_0_STARTHI + select, - SYSMEM_HIGH(base) | which); + PCIC_SYSMEM_0_STARTHI + select, + SYSMEM_HIGH(base) | which); /* * Some adapters can decode window addresses greater @@ -2929,14 +2933,14 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) switch (pcic->pc_type) { case PCIC_INTEL_i82092: pcic_putb(pcic, socket, - PCIC_82092_CPAGE, - SYSMEM_EXT(base)); + PCIC_82092_CPAGE, + SYSMEM_EXT(base)); break; case PCIC_CL_PD6729: case PCIC_CL_PD6730: clext_reg_write(pcic, socket, - PCIC_CLEXT_MMAP0_UA + win, - SYSMEM_EXT(base)); + PCIC_CLEXT_MMAP0_UA + win, + SYSMEM_EXT(base)); break; case PCIC_TI_PCI1130: /* @@ -2951,8 +2955,8 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) */ if (pcic->pc_bound == 0xffffffff) { pcic_putb(pcic, socket, - PCIC_TI_WINDOW_PAGE_PCI, - SYSMEM_EXT(base)); + PCIC_TI_WINDOW_PAGE_PCI, + SYSMEM_EXT(base)); pcic->pc_base = SYSMEM_EXT(base) << 24; pcic->pc_bound = 0x1000000; } @@ -2979,16 +2983,16 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) case PCIC_RICOH_VENDOR: case PCIC_O2MICRO_VENDOR: pcic_putb(pcic, socket, - PCIC_YENTA_MEM_PAGE + win, - SYSMEM_EXT(base)); + PCIC_YENTA_MEM_PAGE + win, + SYSMEM_EXT(base)); break; default: cmn_err(CE_NOTE, "pcic_set_window: unknown " - "cardbus vendor:0x%X\n", - pcic->pc_type); + "cardbus vendor:0x%X\n", + pcic->pc_type); pcic_putb(pcic, socket, - PCIC_YENTA_MEM_PAGE + win, - SYSMEM_EXT(base)); + PCIC_YENTA_MEM_PAGE + win, + SYSMEM_EXT(base)); break; } /* switch */ @@ -3010,8 +3014,8 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) case PCIC_CL_PD6722: wspeed = SYSMEM_CLTIMER_SET_0; pcic_set_cdtimers(pcic, socket, - window->speed, - wspeed); + window->speed, + wspeed); break; case PCIC_INTEL_i82092: @@ -3023,18 +3027,18 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, - "\twindow %d speed bits = %x for " - "%dns\n", - win, (unsigned)wspeed, window->speed); + "\twindow %d speed bits = %x for " + "%dns\n", + win, (unsigned)wspeed, window->speed); #endif pcic_putb(pcic, socket, PCIC_SYSMEM_0_STOPLOW + select, - SYSMEM_LOW(base + - (pages * PCIC_PAGE)-1)); + SYSMEM_LOW(base + + (pages * PCIC_PAGE)-1)); wspeed |= SYSMEM_HIGH(base + (pages * PCIC_PAGE)-1); pcic_putb(pcic, socket, PCIC_SYSMEM_0_STOPHI + select, - wspeed); + wspeed); /* * now map the card's memory pages - we start with page @@ -3043,20 +3047,20 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) */ base = memp->pcw_base; pcic_putb(pcic, socket, - PCIC_CARDMEM_0_LOW + select, - CARDMEM_LOW(0 - (uint32_t)base)); + PCIC_CARDMEM_0_LOW + select, + CARDMEM_LOW(0 - (uint32_t)base)); pcic_putb(pcic, socket, - PCIC_CARDMEM_0_HI + select, - CARDMEM_HIGH(0 - (uint32_t)base) | - CARDMEM_REG_ACTIVE); + PCIC_CARDMEM_0_HI + select, + CARDMEM_HIGH(0 - (uint32_t)base) | + CARDMEM_REG_ACTIVE); /* * enable the window even though redundant * and SetPage may do it again. */ select = pcic_getb(pcic, socket, - PCIC_MAPPING_ENABLE); + PCIC_MAPPING_ENABLE); select |= SYSMEM_WINDOW(win); pcic_putb(pcic, socket, PCIC_MAPPING_ENABLE, select); memp->pcw_offset = 0; @@ -3105,8 +3109,8 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) if (win >= PCIC_IOWINDOWS || tmp != window->socket) { cmn_err(CE_WARN, - "\twindow is out of range (%d)\n", - window->window); + "\twindow is out of range (%d)\n", + window->window); return (BAD_WINDOW); } @@ -3163,9 +3167,9 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) req.ra_len = window->WindowSize; req.ra_addr = (uint64_t) - ((pcic->pc_flags & PCF_IO_REMAP) ? 0 : base); + ((pcic->pc_flags & PCF_IO_REMAP) ? 0 : base); req.ra_flags = (req.ra_addr) ? - NDI_RA_ALLOC_SPECIFIED : 0; + NDI_RA_ALLOC_SPECIFIED : 0; req.ra_flags |= NDI_RA_ALIGN_SIZE; /* need to rethink this */ @@ -3174,15 +3178,15 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) req.ra_flags |= NDI_RA_ALLOC_BOUNDED; #if defined(PCIC_DEBUG) - pcic_err(dip, 8, - "\tlen 0x%"PRIx64" addr 0x%"PRIx64 - "bbase 0x%"PRIx64 - "blen 0x%"PRIx64" flags 0x%x algn 0x%" - PRIx64"\n", - req.ra_len, (uint64_t)req.ra_addr, - req.ra_boundbase, - req.ra_boundlen, req.ra_flags, - req.ra_align_mask); + pcic_err(dip, 8, + "\tlen 0x%"PRIx64" addr 0x%"PRIx64 + "bbase 0x%"PRIx64 + "blen 0x%"PRIx64" flags 0x%x algn 0x%" + PRIx64"\n", + req.ra_len, (uint64_t)req.ra_addr, + req.ra_boundbase, + req.ra_boundlen, req.ra_flags, + req.ra_align_mask); #endif /* @@ -3192,18 +3196,18 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) * specific base address or not. */ if (pcmcia_alloc_io(dip, &req, &res, - &winp->res_dip) == DDI_FAILURE) { + &winp->res_dip) == DDI_FAILURE) { winp->pcw_status &= ~PCW_ENABLED; mutex_exit(&pcic->pc_lock); cmn_err(CE_WARN, "Failed to alloc I/O:\n" - "\tlen 0x%" PRIx64 " addr 0x%" PRIx64 - "bbase 0x%" PRIx64 - "blen 0x%" PRIx64 "flags 0x%x" - "algn 0x%" PRIx64 "\n", - req.ra_len, req.ra_addr, - req.ra_boundbase, - req.ra_boundlen, req.ra_flags, - req.ra_align_mask); + "\tlen 0x%" PRIx64 " addr 0x%" PRIx64 + "bbase 0x%" PRIx64 + "blen 0x%" PRIx64 "flags 0x%x" + "algn 0x%" PRIx64 "\n", + req.ra_len, req.ra_addr, + req.ra_boundbase, + req.ra_boundlen, req.ra_flags, + req.ra_align_mask); return (base?BAD_BASE:BAD_SIZE); } /* pcmcia_alloc_io */ @@ -3216,31 +3220,32 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) winp->pcw_base = res.ra_addr_lo; #if defined(PCIC_DEBUG) - pcic_err(dip, 8, + pcic_err(dip, 8, "\tsetwindow: new base=%x orig base 0x%x\n", (unsigned)winp->pcw_base, base); #endif if ((which = pcmcia_map_reg(pcic->dip, - window->child, - &res, - (uint32_t)(window->state & - 0xffff) | - (window->socket << 16), - (caddr_t *)&winp->pcw_hostmem, - &winp->pcw_handle, - &window->attr, - base)) != DDI_SUCCESS) { - - cmn_err(CE_WARN, "pcmcia_map_reg()" - "failed\n"); - - res.ra_addr_lo = winp->pcw_base; - res.ra_len = winp->pcw_len; - (void) pcmcia_free_io(winp->res_dip, &res); - - mutex_exit(&pcic->pc_lock); - return (BAD_WINDOW); + window->child, + &res, + (uint32_t)(window->state & + 0xffff) | + (window->socket << 16), + (caddr_t *)&winp->pcw_hostmem, + &winp->pcw_handle, + &window->attr, + base)) != DDI_SUCCESS) { + + cmn_err(CE_WARN, "pcmcia_map_reg()" + "failed\n"); + + res.ra_addr_lo = winp->pcw_base; + res.ra_len = winp->pcw_len; + (void) pcmcia_free_io(winp->res_dip, + &res); + + mutex_exit(&pcic->pc_lock); + return (BAD_WINDOW); } window->handle = winp->pcw_handle; @@ -3252,11 +3257,11 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "\tenable: window=%d, select=%x, " - "base=%x, handle=%p\n", - win, select, - (unsigned)window->base, - (void *)window->handle); + "\tenable: window=%d, select=%x, " + "base=%x, handle=%p\n", + win, select, + (unsigned)window->base, + (void *)window->handle); } #endif /* @@ -3271,20 +3276,20 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) /* map the I/O base in */ pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STARTLOW + select, - LOW_BYTE((uint32_t)winp->pcw_base)); + PCIC_IO_ADDR_0_STARTLOW + select, + LOW_BYTE((uint32_t)winp->pcw_base)); pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STARTHI + select, - HIGH_BYTE((uint32_t)winp->pcw_base)); + PCIC_IO_ADDR_0_STARTHI + select, + HIGH_BYTE((uint32_t)winp->pcw_base)); pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STOPLOW + select, - LOW_BYTE((uint32_t)winp->pcw_base + - window->WindowSize - 1)); + PCIC_IO_ADDR_0_STOPLOW + select, + LOW_BYTE((uint32_t)winp->pcw_base + + window->WindowSize - 1)); pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STOPHI + select, - HIGH_BYTE((uint32_t)winp->pcw_base + - window->WindowSize - 1)); + PCIC_IO_ADDR_0_STOPHI + select, + HIGH_BYTE((uint32_t)winp->pcw_base + + window->WindowSize - 1)); /* * We've got the requested IO space, now see if we @@ -3306,13 +3311,13 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) winp->pcw_offset = (base - winp->pcw_base); pcic_putb(pcic, socket, - PCIC_IO_OFFSET_LOW + - (win * PCIC_IO_OFFSET_OFFSET), - winp->pcw_offset & 0x0ff); + PCIC_IO_OFFSET_LOW + + (win * PCIC_IO_OFFSET_OFFSET), + winp->pcw_offset & 0x0ff); pcic_putb(pcic, socket, - PCIC_IO_OFFSET_HI + - (win * PCIC_IO_OFFSET_OFFSET), - (winp->pcw_offset >> 8) & 0x0ff); + PCIC_IO_OFFSET_HI + + (win * PCIC_IO_OFFSET_OFFSET), + (winp->pcw_offset >> 8) & 0x0ff); } /* PCF_IO_REMAP */ @@ -3329,7 +3334,7 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) * of I/O windows. */ which = (window->state & WS_16BIT) ? - (IOMEM_16BIT | IOMEM_IOCS16) : 0; + (IOMEM_16BIT | IOMEM_IOCS16) : 0; switch (pcic->pc_type) { case PCIC_CL_PD6729: @@ -3346,32 +3351,32 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) */ which |= IOMEM_CLTIMER_SET_1; pcic_set_cdtimers(pcic, socket, - window->speed, - IOMEM_CLTIMER_SET_1); + window->speed, + IOMEM_CLTIMER_SET_1); which |= IOMEM_IOCS16; break; case PCIC_TI_PCI1031: if (window->state & WS_16BIT) - which |= IOMEM_WAIT16; + which |= IOMEM_WAIT16; break; case PCIC_TI_PCI1130: if (window->state & WS_16BIT) - which |= IOMEM_WAIT16; + which |= IOMEM_WAIT16; break; case PCIC_INTEL_i82092: break; default: if (window->speed > - mhztons(pcic->bus_speed) * 3) - which |= IOMEM_WAIT16; + mhztons(pcic->bus_speed) * 3) + which |= IOMEM_WAIT16; #ifdef notdef if (window->speed < - mhztons(pcic->bus_speed) * 6) - which |= IOMEM_ZERO_WAIT; + mhztons(pcic->bus_speed) * 6) + which |= IOMEM_ZERO_WAIT; #endif break; } /* switch (pc_type) */ @@ -3389,16 +3394,16 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) */ select = pcic_getb(pcic, socket, PCIC_MAPPING_ENABLE); pcic_putb(pcic, socket, PCIC_MAPPING_ENABLE, - select | IOMEM_WINDOW(win)); + select | IOMEM_WINDOW(win)); winp->pcw_status |= PCW_ENABLED; #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "\twhich = %x, select = %x (%x)\n", - which, select, - IOMEM_SETWIN(win, which)); + "\twhich = %x, select = %x (%x)\n", + which, select, + IOMEM_SETWIN(win, which)); xxdmp_all_regs(pcic, window->socket * 0x40, 24); } #endif @@ -3417,9 +3422,9 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) /* disable current mapping */ select = pcic_getb(pcic, socket, - PCIC_MAPPING_ENABLE); + PCIC_MAPPING_ENABLE); pcic_putb(pcic, socket, PCIC_MAPPING_ENABLE, - select &= ~IOMEM_WINDOW(win)); + select &= ~IOMEM_WINDOW(win)); winp->pcw_status &= ~PCW_ENABLED; winp->pcw_base = 0; @@ -3430,13 +3435,13 @@ pcic_set_window(dev_info_t *dip, set_window_t *window) /* find the register set offset */ select = win * PCIC_IO_OFFSET; pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STARTLOW + select, 0); + PCIC_IO_ADDR_0_STARTLOW + select, 0); pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STARTHI + select, 0); + PCIC_IO_ADDR_0_STARTHI + select, 0); pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STOPLOW + select, 0); + PCIC_IO_ADDR_0_STOPLOW + select, 0); pcic_putb(pcic, socket, - PCIC_IO_ADDR_0_STOPHI + select, 0); + PCIC_IO_ADDR_0_STOPHI + select, 0); } } mutex_exit(&pcic->pc_lock); @@ -3464,10 +3469,10 @@ pcic_card_state(pcicdev_t *pcic, pcic_socket_t *sockp) orig_value = value; if (pcic_debug >= 8) cmn_err(CE_CONT, "pcic_card_state(%p) if status = %b for %d\n", - (void *)sockp, - value, - "\020\1BVD1\2BVD2\3CD1\4CD2\5WP\6RDY\7PWR\10~GPI", - sockp->pcs_socket); + (void *)sockp, + value, + "\020\1BVD1\2BVD2\3CD1\4CD2\5WP\6RDY\7PWR\10~GPI", + sockp->pcs_socket); #endif /* * Lie to socket services if we are not ready. @@ -3530,8 +3535,8 @@ pcic_set_page(dev_info_t *dip, set_page_t *page) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "pcic_set_page: window=%d, socket=%d, page=%d\n", - window, socket, page->page); + "pcic_set_page: window=%d, socket=%d, page=%d\n", + window, socket, page->page); } #endif /* only windows 2-6 work on memory */ @@ -3550,8 +3555,8 @@ pcic_set_page(dev_info_t *dip, set_page_t *page) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, "\tpcw_base=%x, pcw_hostmem=%p, pcw_len=%x\n", - (uint32_t)memp->pcw_base, - (void *)memp->pcw_hostmem, memp->pcw_len); + (uint32_t)memp->pcw_base, + (void *)memp->pcw_hostmem, memp->pcw_len); #endif /* window must be enabled */ @@ -3589,13 +3594,13 @@ pcic_set_page(dev_info_t *dip, set_page_t *page) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, "\tmemory type = %s\n", - (which & CARDMEM_REG_ACTIVE) ? "attribute" : "common"); + (which & CARDMEM_REG_ACTIVE) ? "attribute" : "common"); if (which & CARDMEM_WRITE_PROTECT) cmn_err(CE_CONT, "\twrite protect\n"); cmn_err(CE_CONT, "\tpage offset=%x pcw_base=%x (%x)\n", - (unsigned)page->offset, - (unsigned)memp->pcw_base, - (int)page->offset - (int)memp->pcw_base & 0xffffff); + (unsigned)page->offset, + (unsigned)memp->pcw_base, + (int)page->offset - (int)memp->pcw_base & 0xffffff); } #endif /* address computation based on 64MB range and not larger */ @@ -3621,14 +3626,14 @@ pcic_set_page(dev_info_t *dip, set_page_t *page) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, "\tbase=%p, *base=%x\n", - (void *)memp->pcw_hostmem, - (uint32_t)*memp->pcw_hostmem); + (void *)memp->pcw_hostmem, + (uint32_t)*memp->pcw_hostmem); xxdmp_all_regs(pcic, socket, -1); cmn_err(CE_CONT, "\tbase=%p, *base=%x\n", - (void *)memp->pcw_hostmem, - (uint32_t)*memp->pcw_hostmem); + (void *)memp->pcw_hostmem, + (uint32_t)*memp->pcw_hostmem); } #endif @@ -3658,8 +3663,8 @@ pcic_set_vcc_level(pcicdev_t *pcic, set_socket_t *socket) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "pcic_set_vcc_level(pcic=%p, VccLevel=%d)\n", - (void *)pcic, socket->VccLevel); + "pcic_set_vcc_level(pcic=%p, VccLevel=%d)\n", + (void *)pcic, socket->VccLevel); } #endif @@ -3692,13 +3697,13 @@ pcic_set_vcc_level(pcicdev_t *pcic, set_socket_t *socket) * card type from the adapter socket present state register */ socket_present_state = - ddi_get32(pcic->handle, (uint32_t *)(pcic->ioaddr + - PCIC_PRESENT_STATE_REG)); + ddi_get32(pcic->handle, (uint32_t *)(pcic->ioaddr + + PCIC_PRESENT_STATE_REG)); #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "socket present state = 0x%x\n", - socket_present_state); + "socket present state = 0x%x\n", + socket_present_state); } #endif switch (socket_present_state & PCIC_VCC_MASK) { @@ -3721,7 +3726,7 @@ pcic_set_vcc_level(pcicdev_t *pcic, set_socket_t *socket) */ return ((unsigned)ddi_get8(pcic->handle, pcic->ioaddr + CB_R2_OFFSET + - PCIC_POWER_CONTROL)); + PCIC_POWER_CONTROL)); } default: @@ -3891,11 +3896,11 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) pcic_putb(pcic, socket->socket, PCIC_INTERRUPT, interrupt); switch (pcic->pc_type) { - case PCIC_INTEL_i82092: + case PCIC_INTEL_i82092: pcic_82092_smiirq_ctl(pcic, socket->socket, PCIC_82092_CTL_IRQ, - PCIC_82092_INT_DISABLE); + PCIC_82092_INT_DISABLE); break; - default: + default: break; } /* switch */ @@ -3905,8 +3910,8 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, - "\tSCIntMask=%x, interrupt=%x, mirq=%x\n", - socket->SCIntMask, interrupt, mirq); + "\tSCIntMask=%x, interrupt=%x, mirq=%x\n", + socket->SCIntMask, interrupt, mirq); #endif mirq &= ~(PCIC_BD_DETECT|PCIC_BW_DETECT|PCIC_RD_DETECT); pcic_putb(pcic, socket->socket, PCIC_MANAGEMENT_INT, @@ -3954,9 +3959,9 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) #endif switch (pcic->pc_type) { - case PCIC_I82365SL: - case PCIC_VADEM: - case PCIC_VADEM_VG469: + case PCIC_I82365SL: + case PCIC_VADEM: + case PCIC_VADEM_VG469: /* * The Intel version has different options. This is a * special case of GPI which might be used for eject @@ -3971,32 +3976,32 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) } pcic_putb(pcic, socket->socket, PCIC_CARD_DETECT, irq); break; - case PCIC_CL_PD6710: - case PCIC_CL_PD6722: + case PCIC_CL_PD6710: + case PCIC_CL_PD6722: if (socket->IFType == IF_IO) { pcic_putb(pcic, socket->socket, PCIC_MISC_CTL_2, 0x0); value = pcic_getb(pcic, socket->socket, - PCIC_MISC_CTL_1); + PCIC_MISC_CTL_1); if (pcic->pc_flags & PCF_AUDIO) value |= PCIC_MC_SPEAKER_ENB; pcic_putb(pcic, socket->socket, PCIC_MISC_CTL_1, - value); + value); } else { value = pcic_getb(pcic, socket->socket, - PCIC_MISC_CTL_1); + PCIC_MISC_CTL_1); value &= ~PCIC_MC_SPEAKER_ENB; pcic_putb(pcic, socket->socket, PCIC_MISC_CTL_1, - value); + value); } break; - case PCIC_CL_PD6729: - case PCIC_CL_PD6730: - case PCIC_CL_PD6832: + case PCIC_CL_PD6729: + case PCIC_CL_PD6730: + case PCIC_CL_PD6832: value = pcic_getb(pcic, socket->socket, PCIC_MISC_CTL_1); if ((socket->IFType == IF_IO) && (pcic->pc_flags & PCF_AUDIO)) { - value |= PCIC_MC_SPEAKER_ENB; + value |= PCIC_MC_SPEAKER_ENB; } else { - value &= ~PCIC_MC_SPEAKER_ENB; + value &= ~PCIC_MC_SPEAKER_ENB; } if (pcic_power[sockp->pcs_vcc].PowerLevel == 33) @@ -4007,7 +4012,7 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) pcic_putb(pcic, socket->socket, PCIC_MISC_CTL_1, value); break; - case PCIC_O2_OZ6912: + case PCIC_O2_OZ6912: value = pcic_getcb(pcic, CB_MISCCTRL); if ((socket->IFType == IF_IO) && (pcic->pc_flags & PCF_AUDIO)) value |= (1<<25); @@ -4018,15 +4023,15 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) powerlevel |= 0x08; break; - case PCIC_TI_PCI1250: - case PCIC_TI_PCI1221: - case PCIC_TI_PCI1225: - case PCIC_TI_PCI1410: - case PCIC_ENE_1410: - case PCIC_TI_PCI1510: - case PCIC_TI_PCI1520: - case PCIC_TI_PCI1420: - case PCIC_ENE_1420: + case PCIC_TI_PCI1250: + case PCIC_TI_PCI1221: + case PCIC_TI_PCI1225: + case PCIC_TI_PCI1410: + case PCIC_ENE_1410: + case PCIC_TI_PCI1510: + case PCIC_TI_PCI1520: + case PCIC_TI_PCI1420: + case PCIC_ENE_1420: value = ddi_get8(pcic->cfg_handle, pcic->cfgaddr + PCIC_CRDCTL_REG); if ((socket->IFType == IF_IO) && (pcic->pc_flags & PCF_AUDIO)) { @@ -4111,8 +4116,8 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) if (irq != sockp->pcs_irq) { if (sockp->pcs_irq != 0) cmn_err(CE_CONT, - "SetSocket: IRQ mismatch %x != %x!\n", - irq, sockp->pcs_irq); + "SetSocket: IRQ mismatch %x != %x!\n", + irq, sockp->pcs_irq); else sockp->pcs_irq = irq; } @@ -4129,9 +4134,9 @@ pcic_set_socket(dev_info_t *dip, set_socket_t *socket) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "\tsocket type is I/O and irq %x is %s\n", irq, - (socket->IREQRouting & IRQ_ENABLE) ? - "enabled" : "not enabled"); + "\tsocket type is I/O and irq %x is %s\n", irq, + (socket->IREQRouting & IRQ_ENABLE) ? + "enabled" : "not enabled"); xxdmp_all_regs(pcic, socket->socket, 20); } #endif @@ -4195,8 +4200,8 @@ pcic_inquire_window(dev_info_t *dip, inquire_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug >= 8) cmn_err(CE_CONT, - "pcic_inquire_window: window = %d/%d socket=%d\n", - window->window, type, socket); + "pcic_inquire_window: window = %d/%d socket=%d\n", + window->window, type, socket); #endif if (type < PCIC_IOWINDOWS) { window->WndCaps = WC_IO|WC_WAIT; @@ -4214,7 +4219,7 @@ pcic_inquire_window(dev_info_t *dip, inquire_window_t *window) iowin_char_t *io; io = &window->iowin_char; io->IOWndCaps = WC_BASE|WC_SIZE|WC_WENABLE|WC_8BIT| - WC_16BIT; + WC_16BIT; io->FirstByte = (baseaddr_t)IOMEM_FIRST; io->LastByte = (baseaddr_t)IOMEM_LAST; io->MinSize = IOMEM_MIN; @@ -4226,7 +4231,7 @@ pcic_inquire_window(dev_info_t *dip, inquire_window_t *window) mem_win_char_t *mem; mem = &window->mem_win_char; mem->MemWndCaps = WC_BASE|WC_SIZE|WC_WENABLE|WC_8BIT| - WC_16BIT|WC_WP; + WC_16BIT|WC_WP; mem->FirstByte = (baseaddr_t)MEM_FIRST; mem->LastByte = (baseaddr_t)MEM_LAST; @@ -4380,8 +4385,8 @@ pcic_get_status(dev_info_t *dip, get_ss_status_t *status) #if defined(PCIC_DEBUG) if (pcic_debug >= 8) cmn_err(CE_CONT, "pcic_get_status: socket=%d, CardState=%x," - "SocketState=%x\n", - socknum, status->CardState, status->SocketState); + "SocketState=%x\n", + socknum, status->CardState, status->SocketState); #endif switch (pcic->pc_type) { uint32_t present_state; @@ -4400,8 +4405,9 @@ pcic_get_status(dev_info_t *dip, get_ss_status_t *status) status->IFType = IF_CARDBUS; #if defined(PCIC_DEBUG) if (pcic_debug >= 8) - cmn_err(CE_CONT, "pcic_get_status: present_state=0x%x\n", - present_state); + cmn_err(CE_CONT, + "pcic_get_status: present_state=0x%x\n", + present_state); #endif break; default: @@ -4431,7 +4437,7 @@ pcic_get_window(dev_info_t *dip, get_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, "pcic_get_window(socket=%d, window=%d)\n", - socket, win); + socket, win); } #endif @@ -4460,8 +4466,8 @@ pcic_get_window(dev_info_t *dip, get_window_t *window) #if defined(PCIC_DEBUG) if (pcic_debug) cmn_err(CE_CONT, "\tsize=%d, speed=%d, base=%p, state=%x\n", - window->size, (unsigned)window->speed, - (void *)window->handle, window->state); + window->size, (unsigned)window->speed, + (void *)window->handle, window->state); #endif return (SUCCESS); @@ -4491,16 +4497,16 @@ pcic_ll_reset(pcicdev_t *pcic, int socket) /* save windows that were on */ windowbits = pcic_getb(pcic, socket, PCIC_MAPPING_ENABLE); if (pcic_reset_time == 0) - return (windowbits); + return (windowbits); /* turn all windows off */ pcic_putb(pcic, socket, PCIC_MAPPING_ENABLE, 0); #if defined(PCIC_DEBUG) pcic_err(pcic->dip, 6, - "pcic_ll_reset(socket %d) powerlevel=%x cbctl 0x%x cbps 0x%x\n", - socket, pcic_getb(pcic, socket, PCIC_POWER_CONTROL), - pcic_getcb(pcic, CB_CONTROL), - pcic_getcb(pcic, CB_PRESENT_STATE)); + "pcic_ll_reset(socket %d) powerlevel=%x cbctl 0x%x cbps 0x%x\n", + socket, pcic_getb(pcic, socket, PCIC_POWER_CONTROL), + pcic_getcb(pcic, CB_CONTROL), + pcic_getcb(pcic, CB_PRESENT_STATE)); #endif if (pcic_vpp_is_vcc_during_reset) { @@ -4509,16 +4515,16 @@ pcic_ll_reset(pcicdev_t *pcic, int socket) * Set VPP to VCC for the duration of the reset - for aironet * card. */ - if (pcic->pc_flags & PCF_CBPWRCTL) { + if (pcic->pc_flags & PCF_CBPWRCTL) { pwr = pcic_getcb(pcic, CB_CONTROL); pcic_putcb(pcic, CB_CONTROL, (pwr&~CB_C_VPPMASK)|CB_C_VPPVCC); (void) pcic_getcb(pcic, CB_CONTROL); - } else { + } else { pwr = pcic_getb(pcic, socket, PCIC_POWER_CONTROL); pcic_putb(pcic, socket, PCIC_POWER_CONTROL, pwr | 1); (void) pcic_getb(pcic, socket, PCIC_POWER_CONTROL); - } + } } if (pcic_prereset_time > 0) { @@ -4529,18 +4535,18 @@ pcic_ll_reset(pcicdev_t *pcic, int socket) /* turn interrupts off and start a reset */ pcic_err(pcic->dip, 8, - "pcic_ll_reset turn interrupts off and start a reset\n"); + "pcic_ll_reset turn interrupts off and start a reset\n"); iobits = pcic_getb(pcic, socket, PCIC_INTERRUPT); iobits &= ~(PCIC_INTR_MASK | PCIC_RESET); pcic_putb(pcic, socket, PCIC_INTERRUPT, iobits); (void) pcic_getb(pcic, socket, PCIC_INTERRUPT); switch (pcic->pc_type) { - case PCIC_INTEL_i82092: + case PCIC_INTEL_i82092: pcic_82092_smiirq_ctl(pcic, socket, PCIC_82092_CTL_IRQ, - PCIC_82092_INT_DISABLE); + PCIC_82092_INT_DISABLE); break; - default: + default: break; } /* switch */ @@ -4574,13 +4580,13 @@ pcic_ll_reset(pcicdev_t *pcic, int socket) /* * Return VPP power to whatever it was before. */ - if (pcic->pc_flags & PCF_CBPWRCTL) { + if (pcic->pc_flags & PCF_CBPWRCTL) { pcic_putcb(pcic, CB_CONTROL, pwr); (void) pcic_getcb(pcic, CB_CONTROL); - } else { + } else { pcic_putb(pcic, socket, PCIC_POWER_CONTROL, pwr); (void) pcic_getb(pcic, socket, PCIC_POWER_CONTROL); - } + } } pcic_err(pcic->dip, 7, "pcic_ll_reset returning 0x%x\n", windowbits); @@ -4608,7 +4614,7 @@ pcic_reset_socket(dev_info_t *dip, int socket, int mode) if (pcic_debug >= 8) cmn_err(CE_CONT, "pcic_reset_socket(%p, %d, %d/%s)\n", (void *)dip, socket, mode, - mode == RESET_MODE_FULL ? "full" : "partial"); + mode == RESET_MODE_FULL ? "full" : "partial"); #endif mutex_enter(&pcic->pc_lock); /* protect the registers */ @@ -4665,12 +4671,12 @@ pcic_set_interrupt(dev_info_t *dip, set_irq_handler_t *handler) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "pcic_set_interrupt: entered pc_intr_mode=0x%x\n", - pcic->pc_intr_mode); + "pcic_set_interrupt: entered pc_intr_mode=0x%x\n", + pcic->pc_intr_mode); cmn_err(CE_CONT, - "\t irq_top=%p handler=%p handler_id=%x\n", - (void *)pcic->irq_top, (void *)handler->handler, - handler->handler_id); + "\t irq_top=%p handler=%p handler_id=%x\n", + (void *)pcic->irq_top, (void *)handler->handler, + handler->handler_id); } #endif @@ -4695,13 +4701,13 @@ pcic_set_interrupt(dev_info_t *dip, set_irq_handler_t *handler) mutex_enter(&pcic->intr_lock); if (pcic->irq_top == NULL) { - pcic->irq_top = intr; - pcic->irq_current = pcic->irq_top; + pcic->irq_top = intr; + pcic->irq_current = pcic->irq_top; } else { - while (pcic->irq_current->next != NULL) + while (pcic->irq_current->next != NULL) + pcic->irq_current = pcic->irq_current->next; + pcic->irq_current->next = intr; pcic->irq_current = pcic->irq_current->next; - pcic->irq_current->next = intr; - pcic->irq_current = pcic->irq_current->next; } pcic->irq_current->intr = @@ -4750,8 +4756,8 @@ pcic_set_interrupt(dev_info_t *dip, set_irq_handler_t *handler) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "pcic_set_interrupt: exit irq_top=%p value=%d\n", - (void *)pcic->irq_top, value); + "pcic_set_interrupt: exit irq_top=%p value=%d\n", + (void *)pcic->irq_top, value); } #endif @@ -4797,12 +4803,12 @@ pcic_clear_interrupt(dev_info_t *dip, clear_irq_handler_t *handler) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "pcic_clear_interrupt: entered pc_intr_mode=0x%x\n", - pcic->pc_intr_mode); + "pcic_clear_interrupt: entered pc_intr_mode=0x%x\n", + pcic->pc_intr_mode); cmn_err(CE_CONT, - "\t irq_top=%p handler=%p handler_id=%x\n", - (void *)pcic->irq_top, (void *)handler->handler, - handler->handler_id); + "\t irq_top=%p handler=%p handler_id=%x\n", + (void *)pcic->irq_top, (void *)handler->handler, + handler->handler_id); } #endif @@ -4819,8 +4825,8 @@ pcic_clear_interrupt(dev_info_t *dip, clear_irq_handler_t *handler) pcic->irq_current = pcic->irq_top; while ((pcic->irq_current != NULL) && - (pcic->irq_current->handler_id != - handler->handler_id)) { + (pcic->irq_current->handler_id != + handler->handler_id)) { intr = pcic->irq_current; pcic->irq_current = pcic->irq_current->next; } @@ -4850,7 +4856,7 @@ pcic_clear_interrupt(dev_info_t *dip, clear_irq_handler_t *handler) prev = (inthandler_t *)&pcic_handlers; while (intr != NULL) { - if (intr->handler_id == handler->handler_id) { + if (intr->handler_id == handler->handler_id) { i = intr->irq & PCIC_INTR_MASK; if (--pcic_irq_map[i].count == 0) { /* multi-handler form */ @@ -4862,23 +4868,23 @@ pcic_clear_interrupt(dev_info_t *dip, clear_irq_handler_t *handler) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "removing interrupt %d at %s " - "priority\n", i, "high"); + "removing interrupt %d at %s " + "priority\n", i, "high"); cmn_err(CE_CONT, - "ddi_remove_intr(%p, %x, %p)\n", - (void *)dip, - 0, - (void *)intr->iblk_cookie); + "ddi_remove_intr(%p, %x, %p)\n", + (void *)dip, + 0, + (void *)intr->iblk_cookie); } #endif } prev->next = intr->next; kmem_free(intr, sizeof (inthandler_t)); intr = prev->next; - } else { + } else { prev = intr; intr = intr->next; - } /* if (handler_id) */ + } /* if (handler_id) */ } /* while */ mutex_exit(&pcic->pc_lock); @@ -4887,8 +4893,8 @@ pcic_clear_interrupt(dev_info_t *dip, clear_irq_handler_t *handler) #if defined(PCIC_DEBUG) if (pcic_debug) { cmn_err(CE_CONT, - "pcic_clear_interrupt: exit irq_top=%p\n", - (void *)pcic->irq_top); + "pcic_clear_interrupt: exit irq_top=%p\n", + (void *)pcic->irq_top); } #endif @@ -5007,7 +5013,7 @@ xxdmp_cl_regs(pcicdev_t *pcic, int socket, uint32_t len) else fmt = "%s\t%s\t%x\n"; cmn_err(CE_CONT, fmt, buff, - cregs[i].name, value, cregs[i].fmt); + cregs[i].name, value, cregs[i].fmt); buff[0] = '\0'; } else { if (cregs[i].fmt) @@ -5015,7 +5021,7 @@ xxdmp_cl_regs(pcicdev_t *pcic, int socket, uint32_t len) else fmt = "\t%s\t%x"; (void) sprintf(buff, fmt, - cregs[i].name, value, cregs[i].fmt); + cregs[i].name, value, cregs[i].fmt); for (j = strlen(buff); j < 40; j++) buff[j] = ' '; buff[40] = '\0'; @@ -5045,7 +5051,7 @@ xxdmp_cl_regs(pcicdev_t *pcic, int socket, uint32_t len) else fmt = "%s\t%s\t%x\n"; cmn_err(CE_CONT, fmt, buff, - cxregs[i].name, value, cxregs[i].fmt); + cxregs[i].name, value, cxregs[i].fmt); buff[0] = '\0'; } else { if (cxregs[i].fmt) @@ -5053,7 +5059,7 @@ xxdmp_cl_regs(pcicdev_t *pcic, int socket, uint32_t len) else fmt = "\t%s\t%x"; (void) sprintf(buff, fmt, - cxregs[i].name, value, cxregs[i].fmt); + cxregs[i].name, value, cxregs[i].fmt); for (j = strlen(buff); j < 40; j++) buff[j] = ' '; buff[40] = '\0'; @@ -5074,10 +5080,10 @@ xxdmp_all_regs(pcicdev_t *pcic, int socket, uint32_t len) return; #endif cmn_err(CE_CONT, - "----------- PCIC Registers for socket %d---------\n", - socket); + "----------- PCIC Registers for socket %d---------\n", + socket); cmn_err(CE_CONT, - "\tname value name value\n"); + "\tname value name value\n"); for (buff[0] = '\0', i = 0; iregs[i].name != NULL && len-- != 0; i++) { value = pcic_getb(pcic, socket, iregs[i].off); @@ -5087,7 +5093,7 @@ xxdmp_all_regs(pcicdev_t *pcic, int socket, uint32_t len) else fmt = "%s\t%s\t%x\n"; cmn_err(CE_CONT, fmt, buff, - iregs[i].name, value, iregs[i].fmt); + iregs[i].name, value, iregs[i].fmt); buff[0] = '\0'; } else { if (iregs[i].fmt) @@ -5095,7 +5101,7 @@ xxdmp_all_regs(pcicdev_t *pcic, int socket, uint32_t len) else fmt = "\t%s\t%x"; (void) sprintf(buff, fmt, - iregs[i].name, value, iregs[i].fmt); + iregs[i].name, value, iregs[i].fmt); for (j = strlen(buff); j < 40; j++) buff[j] = ' '; buff[40] = '\0'; @@ -5213,10 +5219,10 @@ pcic_iomem_pci_ctl(ddi_acc_handle_t handle, uchar_t *cfgaddr, unsigned flags) return; if (flags & PCIC_ENABLE_IO) - cmd |= PCI_COMM_IO; + cmd |= PCI_COMM_IO; if (flags & PCIC_ENABLE_MEM) - cmd |= PCI_COMM_MAE; + cmd |= PCI_COMM_MAE; ddi_put16(handle, (ushort_t *)(cfgaddr + 4), cmd); } /* if (PCIC_ENABLE_IO | PCIC_ENABLE_MEM) */ @@ -5231,11 +5237,11 @@ pcic_find_pci_type(pcicdev_t *pcic) uint32_t vend, device; vend = ddi_getprop(DDI_DEV_T_ANY, pcic->dip, - DDI_PROP_CANSLEEP|DDI_PROP_DONTPASS, - "vendor-id", -1); + DDI_PROP_CANSLEEP|DDI_PROP_DONTPASS, + "vendor-id", -1); device = ddi_getprop(DDI_DEV_T_ANY, pcic->dip, - DDI_PROP_CANSLEEP|DDI_PROP_DONTPASS, - "device-id", -1); + DDI_PROP_CANSLEEP|DDI_PROP_DONTPASS, + "device-id", -1); device = PCI_ID(vend, device); pcic->pc_type = device; @@ -5254,8 +5260,8 @@ pcic_find_pci_type(pcicdev_t *pcic) * to be a 6729 is really a 6730. */ if ((clext_reg_read(pcic, 0, PCIC_CLEXT_MISC_CTL_3) & - PCIC_CLEXT_MISC_CTL_3_REV_MASK) == - 0) { + PCIC_CLEXT_MISC_CTL_3_REV_MASK) == + 0) { pcic->pc_chipname = PCIC_TYPE_PD6730; pcic->pc_type = PCIC_CL_PD6730; } @@ -5352,24 +5358,24 @@ static void pcic_82092_smiirq_ctl(pcicdev_t *pcic, int socket, int intr, int state) { uchar_t ppirr = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_82092_PPIRR); + pcic->cfgaddr + PCIC_82092_PPIRR); uchar_t val; if (intr == PCIC_82092_CTL_SMI) { val = PCIC_82092_SMI_CTL(socket, - PCIC_82092_INT_DISABLE); + PCIC_82092_INT_DISABLE); ppirr &= ~val; val = PCIC_82092_SMI_CTL(socket, state); ppirr |= val; } else { val = PCIC_82092_IRQ_CTL(socket, - PCIC_82092_INT_DISABLE); + PCIC_82092_INT_DISABLE); ppirr &= ~val; val = PCIC_82092_IRQ_CTL(socket, state); ppirr |= val; } ddi_put8(pcic->cfg_handle, pcic->cfgaddr + PCIC_82092_PPIRR, - ppirr); + ppirr); } static uint_t @@ -5386,7 +5392,7 @@ pcic_cd_softint(caddr_t arg1, caddr_t arg2) sockp->pcs_cd_softint_flg = 0; rc = DDI_INTR_CLAIMED; status = pcic_getb(sockp->pcs_pcic, sockp->pcs_socket, - PCIC_INTERFACE_STATUS); + PCIC_INTERFACE_STATUS); pcic_handle_cd_change(sockp->pcs_pcic, sockp, status); } mutex_exit(&sockp->pcs_pcic->pc_lock); @@ -5434,15 +5440,15 @@ pcic_handle_cd_change(pcicdev_t *pcic, pcic_socket_t *sockp, uint8_t status) */ #ifdef PCIC_DEBUG - pcic_err(pcic->dip, 6, + pcic_err(pcic->dip, 6, "pcic%d handle_cd_change: socket %d card status 0x%x" " deb 0x%p\n", ddi_get_instance(pcic->dip), sockp->pcs_socket, status, debounce); #endif switch (status & PCIC_ISTAT_CD_MASK) { case PCIC_CD_PRESENT_OK: - sockp->pcs_flags &= ~(PCS_CARD_REMOVED|PCS_CARD_CBREM); - if (!(sockp->pcs_flags & PCS_CARD_PRESENT)) { + sockp->pcs_flags &= ~(PCS_CARD_REMOVED|PCS_CARD_CBREM); + if (!(sockp->pcs_flags & PCS_CARD_PRESENT)) { uint32_t cbps; #ifdef PCIC_DEBUG pcic_err(pcic->dip, 8, "New card (0x%x)\n", sockp->pcs_flags); @@ -5456,66 +5462,76 @@ pcic_handle_cd_change(pcicdev_t *pcic, pcic_socket_t *sockp, uint8_t status) */ if ((cbps & pcic_cbps_on) != pcic_cbps_on || cbps & pcic_cbps_off) { - cmn_err(CE_WARN, + cmn_err(CE_WARN, "%s%d: Odd Cardbus Present State 0x%x\n", ddi_get_name(pcic->dip), ddi_get_instance(pcic->dip), cbps); - pcic_putcb(pcic, CB_EVENT_FORCE, CB_EF_CVTEST); - debounce = 0; - debounce_time = drv_usectohz(1000000); + pcic_putcb(pcic, CB_EVENT_FORCE, CB_EF_CVTEST); + debounce = 0; + debounce_time = drv_usectohz(1000000); } if (debounce) { - sockp->pcs_flags |= PCS_CARD_PRESENT; - if (pcic_do_insertion) { - - cbps = pcic_getcb(pcic, CB_PRESENT_STATE); - - if (cbps & CB_PS_16BITCARD) { - pcic_err(pcic->dip, 8, "16 bit card inserted\n"); - sockp->pcs_flags |= PCS_CARD_IS16BIT; - /* calls pcm_adapter_callback() */ - if (pcic->pc_callback) { + sockp->pcs_flags |= PCS_CARD_PRESENT; + if (pcic_do_insertion) { + + cbps = pcic_getcb(pcic, CB_PRESENT_STATE); + + if (cbps & CB_PS_16BITCARD) { + pcic_err(pcic->dip, + 8, "16 bit card inserted\n"); + sockp->pcs_flags |= PCS_CARD_IS16BIT; + /* calls pcm_adapter_callback() */ + if (pcic->pc_callback) { + + (void) ddi_prop_update_string( + DDI_DEV_T_NONE, + pcic->dip, PCM_DEVICETYPE, + "pccard"); + PC_CALLBACK(pcic->dip, + pcic->pc_cb_arg, + PCE_CARD_INSERT, + sockp->pcs_socket); + } + } else if (cbps & CB_PS_CBCARD) { + pcic_err(pcic->dip, + 8, "32 bit card inserted\n"); - (void) ddi_prop_update_string(DDI_DEV_T_NONE, - pcic->dip, PCM_DEVICETYPE, - "pccard"); - PC_CALLBACK(pcic->dip, pcic->pc_cb_arg, - PCE_CARD_INSERT, - sockp->pcs_socket); - } - } else if (cbps & CB_PS_CBCARD) { - pcic_err(pcic->dip, 8, "32 bit card inserted\n"); - - if (pcic->pc_flags & PCF_CARDBUS) { - sockp->pcs_flags |= PCS_CARD_ISCARDBUS; + if (pcic->pc_flags & PCF_CARDBUS) { + sockp->pcs_flags |= + PCS_CARD_ISCARDBUS; #ifdef CARDBUS - if (!pcic_load_cardbus(pcic, sockp)) { - pcic_unload_cardbus(pcic, sockp); - } + if (!pcic_load_cardbus(pcic, + sockp)) { + pcic_unload_cardbus( + pcic, sockp); + } #else - cmn_err(CE_NOTE, - "32 bit Cardbus not supported in" - " this device driver\n"); + cmn_err(CE_NOTE, + "32 bit Cardbus not" + " supported in" + " this device driver\n"); #endif - } else { - /* - * Ignore the card - */ - cmn_err(CE_NOTE, - "32 bit Cardbus not supported on this" - " device\n"); - } - } else { - cmn_err(CE_NOTE, - "Unsupported PCMCIA card inserted\n"); + } else { + /* + * Ignore the card + */ + cmn_err(CE_NOTE, + "32 bit Cardbus not" + " supported on this" + " device\n"); + } + } else { + cmn_err(CE_NOTE, + "Unsupported PCMCIA card" + " inserted\n"); + } } - } } else { - do_debounce = B_TRUE; + do_debounce = B_TRUE; } - } else { + } else { /* * It is possible to come through here if the system * starts up with cards already inserted. Do nothing @@ -5523,21 +5539,21 @@ pcic_handle_cd_change(pcicdev_t *pcic, pcic_socket_t *sockp, uint8_t status) */ #ifdef PCIC_DEBUG pcic_err(pcic->dip, 5, - "pcic%d: Odd card insertion indication on socket %d\n", - ddi_get_instance(pcic->dip), - sockp->pcs_socket); + "pcic%d: Odd card insertion indication on socket %d\n", + ddi_get_instance(pcic->dip), + sockp->pcs_socket); #endif - } - break; + } + break; default: - if (!(sockp->pcs_flags & PCS_CARD_PRESENT)) { + if (!(sockp->pcs_flags & PCS_CARD_PRESENT)) { /* * Someone has started to insert a card so delay a while. */ do_debounce = B_TRUE; break; - } + } /* * Otherwise this is basically the same as not present * so fall through. @@ -5545,13 +5561,14 @@ pcic_handle_cd_change(pcicdev_t *pcic, pcic_socket_t *sockp, uint8_t status) /* FALLTHRU */ case 0: - if (sockp->pcs_flags & PCS_CARD_PRESENT) { - if (pcic->pc_flags & PCF_CBPWRCTL) { - pcic_putcb(pcic, CB_CONTROL, 0); - } else { - pcic_putb(pcic, sockp->pcs_socket, PCIC_POWER_CONTROL, 0); - (void) pcic_getb(pcic, sockp->pcs_socket, - PCIC_POWER_CONTROL); + if (sockp->pcs_flags & PCS_CARD_PRESENT) { + if (pcic->pc_flags & PCF_CBPWRCTL) { + pcic_putcb(pcic, CB_CONTROL, 0); + } else { + pcic_putb(pcic, sockp->pcs_socket, + PCIC_POWER_CONTROL, 0); + (void) pcic_getb(pcic, sockp->pcs_socket, + PCIC_POWER_CONTROL); } #ifdef PCIC_DEBUG pcic_err(pcic->dip, 8, "Card removed\n"); @@ -5559,22 +5576,22 @@ pcic_handle_cd_change(pcicdev_t *pcic, pcic_socket_t *sockp, uint8_t status) sockp->pcs_flags &= ~PCS_CARD_PRESENT; if (sockp->pcs_flags & PCS_CARD_IS16BIT) { - sockp->pcs_flags &= ~PCS_CARD_IS16BIT; - if (pcic_do_removal && pcic->pc_callback) { - PC_CALLBACK(pcic->dip, pcic->pc_cb_arg, + sockp->pcs_flags &= ~PCS_CARD_IS16BIT; + if (pcic_do_removal && pcic->pc_callback) { + PC_CALLBACK(pcic->dip, pcic->pc_cb_arg, PCE_CARD_REMOVAL, sockp->pcs_socket); - } + } } if (sockp->pcs_flags & PCS_CARD_ISCARDBUS) { - sockp->pcs_flags &= ~PCS_CARD_ISCARDBUS; - sockp->pcs_flags |= PCS_CARD_CBREM; + sockp->pcs_flags &= ~PCS_CARD_ISCARDBUS; + sockp->pcs_flags |= PCS_CARD_CBREM; } sockp->pcs_flags |= PCS_CARD_REMOVED; do_debounce = B_TRUE; - } - if (debounce && (sockp->pcs_flags & PCS_CARD_REMOVED)) { - if (sockp->pcs_flags & PCS_CARD_CBREM) { + } + if (debounce && (sockp->pcs_flags & PCS_CARD_REMOVED)) { + if (sockp->pcs_flags & PCS_CARD_CBREM) { /* * Ensure that we do the unloading in the * debounce handler, that way we're not doing @@ -5586,14 +5603,14 @@ pcic_handle_cd_change(pcicdev_t *pcic, pcic_socket_t *sockp, uint8_t status) * come in... */ #ifdef CARDBUS - pcic_unload_cardbus(pcic, sockp); - /* pcic_dump_all(pcic); */ + pcic_unload_cardbus(pcic, sockp); + /* pcic_dump_all(pcic); */ #endif - sockp->pcs_flags &= ~PCS_CARD_CBREM; + sockp->pcs_flags &= ~PCS_CARD_CBREM; + } + sockp->pcs_flags &= ~PCS_CARD_REMOVED; } - sockp->pcs_flags &= ~PCS_CARD_REMOVED; - } - break; + break; } /* switch */ if (do_debounce) { @@ -5606,18 +5623,19 @@ pcic_handle_cd_change(pcicdev_t *pcic, pcic_socket_t *sockp, uint8_t status) */ #ifdef PCIC_DEBUG pcic_err(pcic->dip, 8, "Queueing up debounce timeout for " - "socket %d.%d\n", - ddi_get_instance(pcic->dip), - sockp->pcs_socket); + "socket %d.%d\n", + ddi_get_instance(pcic->dip), + sockp->pcs_socket); #endif - sockp->pcs_debounce_id = pcic_add_debqueue(sockp, debounce_time); + sockp->pcs_debounce_id = + pcic_add_debqueue(sockp, debounce_time); /* * We bug out here without re-enabling interrupts. They will * be re-enabled when the debounce timeout swings through * here. */ - return; + return; } /* @@ -5650,10 +5668,10 @@ pcic_getb(pcicdev_t *pcic, int socket, int reg) #if defined(PCIC_DEBUG) if (pcic_debug == 0x7fff) { cmn_err(CE_CONT, "pcic_getb0: pcic=%p socket=%d reg=%d\n", - (void *)pcic, socket, reg); + (void *)pcic, socket, reg); cmn_err(CE_CONT, "pcic_getb1: type=%d handle=%p ioaddr=%p \n", - pcic->pc_io_type, (void *)pcic->handle, - (void *)pcic->ioaddr); + pcic->pc_io_type, (void *)pcic->handle, + (void *)pcic->ioaddr); } #endif @@ -5676,12 +5694,12 @@ pcic_putb(pcicdev_t *pcic, int socket, int reg, int8_t value) #if defined(PCIC_DEBUG) if (pcic_debug == 0x7fff) { cmn_err(CE_CONT, - "pcic_putb0: pcic=%p socket=%d reg=%d value=%x \n", - (void *)pcic, socket, reg, value); + "pcic_putb0: pcic=%p socket=%d reg=%d value=%x \n", + (void *)pcic, socket, reg, value); cmn_err(CE_CONT, - "pcic_putb1: type=%d handle=%p ioaddr=%p \n", - pcic->pc_io_type, (void *)pcic->handle, - (void *)pcic->ioaddr); + "pcic_putb1: type=%d handle=%p ioaddr=%p \n", + pcic->pc_io_type, (void *)pcic->handle, + (void *)pcic->ioaddr); } #endif @@ -5689,7 +5707,7 @@ pcic_putb(pcicdev_t *pcic, int socket, int reg, int8_t value) switch (pcic->pc_io_type) { case PCIC_IO_TYPE_YENTA: ddi_put8(pcic->handle, pcic->ioaddr + CB_R2_OFFSET + reg, - value); + value); break; default: work = (socket * PCIC_SOCKET_1) | reg; @@ -5768,7 +5786,7 @@ pcic_ci_vadem(pcicdev_t *pcic) int vadem, new; pcic_vadem_enable(pcic); vadem = pcic_getb(pcic, 0, PCIC_VG_DMA) & - ~(PCIC_V_UNLOCK | PCIC_V_VADEMREV); + ~(PCIC_V_UNLOCK | PCIC_V_VADEMREV); new = vadem | (PCIC_V_VADEMREV|PCIC_V_UNLOCK); pcic_putb(pcic, 0, PCIC_VG_DMA, new); value = pcic_getb(pcic, 0, PCIC_CHIP_REVISION); @@ -5842,11 +5860,11 @@ pcic_init_assigned(dev_info_t *dip) */ entries = len / sizeof (pcm_regs_t); pci_avail_p = kmem_alloc(sizeof (pci_regspec_t) * entries, - KM_SLEEP); + KM_SLEEP); if (pcic_apply_avail_ranges(dip, pcic_avail_p, pci_avail_p, entries) == DDI_SUCCESS) (void) pci_resource_setup_avail(dip, pci_avail_p, - entries); + entries); kmem_free(pcic_avail_p, len); kmem_free(pci_avail_p, entries * sizeof (pci_regspec_t)); return; @@ -5890,7 +5908,7 @@ pcic_init_assigned(dev_info_t *dip) "device_type", (caddr_t)&bus_type, &len) == DDI_SUCCESS) && (strcmp(bus_type, DEVI_PCI_NEXNAME) == 0 || - strcmp(bus_type, DEVI_PCIEX_NEXNAME) == 0)) + strcmp(bus_type, DEVI_PCIEX_NEXNAME) == 0)) break; } if (par != NULL && @@ -5972,9 +5990,9 @@ pcic_apply_avail_ranges(dev_info_t *dip, pcm_regs_t *pcic_p, pcic_ranges_t *pcic_range_p; if (ddi_getlongprop(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, "ranges", - (caddr_t)&pcic_range_p, &range_len) != DDI_PROP_SUCCESS) { + (caddr_t)&pcic_range_p, &range_len) != DDI_PROP_SUCCESS) { cmn_err(CE_CONT, "?pcic_apply_avail_ranges: " - "no ranges property for pcmcia\n"); + "no ranges property for pcmcia\n"); return (DDI_FAILURE); } @@ -5989,7 +6007,7 @@ pcic_apply_avail_ranges(dev_info_t *dip, pcm_regs_t *pcic_p, /* for each "ranges" entry to be searched */ for (j = 0; j < range_entries; j++, range_p++) { uint64_t range_end = range_p->pcic_range_caddrlo + - range_p->pcic_range_size; + range_p->pcic_range_size; uint64_t avail_end = pcic_p->phys_lo + pcic_p->phys_len; if ((range_p->pcic_range_caddrhi != pcic_p->phys_hi) || @@ -6391,16 +6409,17 @@ pcic_do_resume(pcicdev_t *pcic) * controllers. Need to clear the RESET bit explicitly. */ cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); if (cfg & (1<<6)) { cfg &= ~(1<<6); ddi_put8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, - cfg); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG, + cfg); cfg = ddi_get8(pcic->cfg_handle, - pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); + pcic->cfgaddr + PCIC_BRIDGE_CTL_REG); if (cfg & (1<<6)) { - pcic_err(pcic->dip, 1, "Failed to take pcic out of reset"); + pcic_err(pcic->dip, 1, + "Failed to take pcic out of reset"); } } @@ -6667,18 +6686,19 @@ pcic_cbus_powerctl(pcicdev_t *pcic, int socket) socket, sockp->pcs_vcc, sockp->pcs_vpp1, orig_cbctl, cbctl); #endif if (cbctl != orig_cbctl) { - if (pcic_cbdoreset_during_poweron && - (orig_cbctl & (CB_C_VCCMASK|CB_C_VPPMASK)) == 0) { - iobits = pcic_getb(pcic, socket, PCIC_INTERRUPT); - pcic_putb(pcic, socket, PCIC_INTERRUPT, iobits & ~PCIC_RESET); - } - pcic_putcb(pcic, CB_CONTROL, cbctl); - - if ((cbctl & CB_C_VCCMASK) == (orig_cbctl & CB_C_VCCMASK)) { + if (pcic_cbdoreset_during_poweron && + (orig_cbctl & (CB_C_VCCMASK|CB_C_VPPMASK)) == 0) { + iobits = pcic_getb(pcic, socket, PCIC_INTERRUPT); + pcic_putb(pcic, socket, PCIC_INTERRUPT, + iobits & ~PCIC_RESET); + } + pcic_putcb(pcic, CB_CONTROL, cbctl); + + if ((cbctl & CB_C_VCCMASK) == (orig_cbctl & CB_C_VCCMASK)) { pcic_mswait(pcic, socket, pcic_powerdelay); return (SUCCESS); - } - for (ind = 0; ind < 20; ind++) { + } + for (ind = 0; ind < 20; ind++) { cbstev = pcic_getcb(pcic, CB_STATUS_EVENT); if (cbstev & CB_SE_POWER_CYCLE) { @@ -6690,43 +6710,43 @@ pcic_cbus_powerctl(pcicdev_t *pcic, int socket) * Note: We should check the status AFTER the delay to give time * for things to stabilize. */ - pcic_mswait(pcic, socket, 400); + pcic_mswait(pcic, socket, 400); - cbps = pcic_getcb(pcic, CB_PRESENT_STATE); - if (cbctl && !(cbps & CB_PS_POWER_CYCLE)) { + cbps = pcic_getcb(pcic, CB_PRESENT_STATE); + if (cbctl && !(cbps & CB_PS_POWER_CYCLE)) { /* break; */ cmn_err(CE_WARN, "cbus_powerctl: power off??\n"); - } - if (cbctl & CB_PS_BADVCC) { + } + if (cbctl & CB_PS_BADVCC) { cmn_err(CE_WARN, "cbus_powerctl: bad power request\n"); break; - } + } #if defined(PCIC_DEBUG) - pcic_err(pcic->dip, 8, - "cbstev = 0x%x cbps = 0x%x cbctl 0x%x(0x%x)", - cbstev, pcic_getcb(pcic, CB_PRESENT_STATE), - cbctl, orig_cbctl); + pcic_err(pcic->dip, 8, + "cbstev = 0x%x cbps = 0x%x cbctl 0x%x(0x%x)", + cbstev, pcic_getcb(pcic, CB_PRESENT_STATE), + cbctl, orig_cbctl); #endif - if (pcic_cbdoreset_during_poweron && - (orig_cbctl & (CB_C_VCCMASK|CB_C_VPPMASK)) == 0) { - pcic_putb(pcic, socket, PCIC_INTERRUPT, iobits); - } - return (SUCCESS); + if (pcic_cbdoreset_during_poweron && + (orig_cbctl & (CB_C_VCCMASK|CB_C_VPPMASK)) == 0) { + pcic_putb(pcic, socket, PCIC_INTERRUPT, iobits); + } + return (SUCCESS); } pcic_mswait(pcic, socket, 40); - } - if (pcic_cbdoreset_during_poweron && - (orig_cbctl & (CB_C_VCCMASK|CB_C_VPPMASK)) == 0) { - pcic_putb(pcic, socket, PCIC_INTERRUPT, iobits); - } - cmn_err(CE_WARN, + } + if (pcic_cbdoreset_during_poweron && + (orig_cbctl & (CB_C_VCCMASK|CB_C_VPPMASK)) == 0) { + pcic_putb(pcic, socket, PCIC_INTERRUPT, iobits); + } + cmn_err(CE_WARN, "pcic socket %d: Power didn't get turned on/off!\n" "cbstev = 0x%x cbps = 0x%x cbctl 0x%x(0x%x) " "vcc %d vpp1 %d", socket, cbstev, pcic_getcb(pcic, CB_PRESENT_STATE), cbctl, orig_cbctl, sockp->pcs_vcc, sockp->pcs_vpp1); - return (BAD_VCC); + return (BAD_VCC); } return (SUCCESS); } diff --git a/usr/src/uts/common/io/pcmcia/pcide.c b/usr/src/uts/common/io/pcmcia/pcide.c index 850a4cb37f..521a0fb46e 100644 --- a/usr/src/uts/common/io/pcmcia/pcide.c +++ b/usr/src/uts/common/io/pcmcia/pcide.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* @@ -139,7 +137,9 @@ static struct dev_ops ata_ops = { pcata_detach, /* detach */ nulldev, /* reset */ &pcata_cb_ops, /* driver operations */ - 0 + NULL, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; @@ -153,7 +153,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "PCMCIA ATA disk controller %I%", + "PCMCIA ATA disk controller", &ata_ops, /* driver ops */ }; @@ -204,7 +204,7 @@ pcata_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* resume from a checkpoint */ if (cmd == DDI_RESUME) - return (DDI_SUCCESS); + return (DDI_SUCCESS); if (cmd != DDI_ATTACH) { #ifdef ATA_DEBUG @@ -278,7 +278,7 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) * create ata_mutex */ ret = ddi_get_soft_iblock_cookie(dip, DDI_SOFTINT_MED, - &softp->soft_blk_cookie); + &softp->soft_blk_cookie); if (ret != DDI_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_attach: unable to get iblock cookie\n"); @@ -292,7 +292,7 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) * Initialize the mutex that protects the ATA registers. */ mutex_init(&softp->ata_mutex, NULL, MUTEX_DRIVER, - (void *)(softp->soft_blk_cookie)); + (void *)(softp->soft_blk_cookie)); mutex_init(&softp->label_mutex, NULL, MUTEX_DRIVER, NULL); cv_init(&softp->readywait_cv, NULL, CV_DRIVER, NULL); @@ -305,7 +305,7 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) * link in soft interrupt */ ret = ddi_add_softintr(dip, DDI_SOFTINT_MED, &softp->softint_id, - NULL, NULL, pcata_intr, (caddr_t)softp); + NULL, NULL, pcata_intr, (caddr_t)softp); if (ret != DDI_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_attach: unable to get soft interrupt\n"); @@ -319,16 +319,16 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) * Register with Card Services */ client_reg.Attributes = - INFO_IO_CLIENT | INFO_CARD_SHARE | INFO_CARD_EXCL; + INFO_IO_CLIENT | INFO_CARD_SHARE | INFO_CARD_EXCL; client_reg.EventMask = - CS_EVENT_CARD_INSERTION | - CS_EVENT_CARD_REMOVAL | - CS_EVENT_CARD_REMOVAL_LOWP | - CS_EVENT_PM_RESUME | - CS_EVENT_CLIENT_INFO | - CS_EVENT_PM_SUSPEND | - CS_EVENT_REGISTRATION_COMPLETE; + CS_EVENT_CARD_INSERTION | + CS_EVENT_CARD_REMOVAL | + CS_EVENT_CARD_REMOVAL_LOWP | + CS_EVENT_PM_RESUME | + CS_EVENT_CLIENT_INFO | + CS_EVENT_PM_SUSPEND | + CS_EVENT_REGISTRATION_COMPLETE; client_reg.event_handler = (csfunction_t *)pcata_event; client_reg.event_callback_args.client_data = softp; @@ -340,13 +340,13 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) if (ret != CS_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_attach RegisterClient failed %s\n", - pcata_CS_etext(ret)); + pcata_CS_etext(ret)); #endif return (DDI_FAILURE); } mutex_init(&softp->event_hilock, NULL, MUTEX_DRIVER, - *(client_reg.iblk_cookie)); + *(client_reg.iblk_cookie)); softp->flags |= PCATA_REGCLIENT; @@ -358,7 +358,7 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) if (ret != CS_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_attach: MapLogSocket failed %s\n", - pcata_CS_etext(ret)); + pcata_CS_etext(ret)); #endif return (DDI_FAILURE); } @@ -375,7 +375,7 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) if ((ret = csx_CS_DDI_Info(&cs_ddi_info)) != CS_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_attach: socket %d CS_DDI_Info failed %s\n", - softp->sn, pcata_CS_etext(ret)); + softp->sn, pcata_CS_etext(ret)); #endif return (DDI_FAILURE); } @@ -388,7 +388,7 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) if (ret != CS_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_attach: RequestSocketMask failed %s\n", - pcata_CS_etext(ret)); + pcata_CS_etext(ret)); #endif return (DDI_FAILURE); } @@ -409,7 +409,7 @@ pcata_att1(dev_info_t *dip, ata_soft_t *softp) (void) pcata_readywait(softp); if ((softp->card_state & PCATA_CARD_INSERTED) == 0 || - (softp->flags & PCATA_READY) == 0) { + (softp->flags & PCATA_READY) == 0) { mutex_enter(&softp->ata_mutex); mutex_enter(&softp->event_hilock); @@ -442,7 +442,7 @@ pcata_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) int ret; if (cmd == DDI_SUSPEND) - return (DDI_SUCCESS); + return (DDI_SUCCESS); if (cmd != DDI_DETACH) return (DDI_FAILURE); @@ -472,8 +472,8 @@ pcata_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) if (ret != CS_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_detach " - "ReleaseSocketMask failed %s\n", - pcata_CS_etext(ret)); + "ReleaseSocketMask failed %s\n", + pcata_CS_etext(ret)); #endif } } @@ -488,8 +488,8 @@ pcata_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) if (ret != CS_SUCCESS) { #ifdef ATA_DEBUG cmn_err(CE_CONT, "_detach: " - "DeregisterClient failed %s\n", - pcata_CS_etext(ret)); + "DeregisterClient failed %s\n", + pcata_CS_etext(ret)); #endif return (DDI_FAILURE); @@ -555,9 +555,9 @@ pcata_start(ata_unit_t *unitp, buf_t *bp, int blkno) #ifdef ATA_DEBUG if (pcata_debug & DENT) { cmn_err(CE_CONT, "_start unitp=%p, bp=%p bp->b_private=%p\n", - (void *)unitp, - (void *)bp, - bp->b_private); + (void *)unitp, + (void *)bp, + bp->b_private); } #endif @@ -613,7 +613,7 @@ pcata_start(ata_unit_t *unitp, buf_t *bp, int blkno) #ifdef ATA_DEBUG if (pcata_debug & DIO) { cmn_err(CE_CONT, "passthru command seen: 0x%p\n", - pktp->cp_passthru); + pktp->cp_passthru); } #endif @@ -623,8 +623,8 @@ pcata_start(ata_unit_t *unitp, buf_t *bp, int blkno) #ifdef ATA_DEBUG if (pcata_debug & DIO) { cmn_err(CE_CONT, "_start: active: %c head: %c\n", - (softp->ab_active == NULL ? 'N' : 'Y'), - (softp->ab_head == NULL ? 'N' : 'Y')); + (softp->ab_active == NULL ? 'N' : 'Y'), + (softp->ab_head == NULL ? 'N' : 'Y')); } #endif @@ -702,9 +702,9 @@ pcata_go(ata_unit_t *unitp) #ifdef ATA_DEBUG if (pcata_debug & DENT) { cmn_err(CE_CONT, "_go (%p) altstatus %x error %x\n", - (void *)unitp, - csx_Get8(softp->handle, AT_ALTSTATUS), - csx_Get8(softp->handle, AT_ERROR)); + (void *)unitp, + csx_Get8(softp->handle, AT_ALTSTATUS), + csx_Get8(softp->handle, AT_ERROR)); cmn_err(CE_CONT, "_go handle=%p\n", softp->handle); } #endif @@ -729,12 +729,12 @@ pcata_go(ata_unit_t *unitp) #ifdef ATA_DEBUG if (pcata_debug & DIO) { cmn_err(CE_CONT, - "_go %s at lba=%d (%uc %uh %us) " - "%d sectors cmd=%x ctl=%x\n", - (pktp->ac_direction == AT_OUT) ? "WT" : "RD", - start_sec, cyl, head, ac_sec, - ac_count, - pktp->ac_cmd, ac_devctl); + "_go %s at lba=%d (%uc %uh %us) " + "%d sectors cmd=%x ctl=%x\n", + (pktp->ac_direction == AT_OUT) ? "WT" : "RD", + start_sec, cyl, head, ac_sec, + ac_count, + pktp->ac_cmd, ac_devctl); } #endif @@ -828,9 +828,9 @@ pcata_iocmpl(ata_soft_t *softp) #ifdef ATA_DEBUG if (pcata_debug & DIO) cmn_err(CE_CONT, - "_iocmpl I/O error status=%04x error=%04x\n", - status, - error); + "_iocmpl I/O error status=%04x error=%04x\n", + status, + error); #endif pktp->cp_reason = CPS_CHKERR; return; @@ -915,8 +915,8 @@ pcata_intr_hi(ata_soft_t *softp) ((status & ATS_BSY) == 0) && (softp->intr_pending > 0)) { cmn_err(CE_CONT, - "?_intr_hi sn=%d status=%x\n", - softp->sn, status); + "?_intr_hi sn=%d status=%x\n", + softp->sn, status); /* handle aborted commands */ error = csx_Get8(softp->handle, AT_ERROR); if ((error & ATE_ABORT) && @@ -952,10 +952,10 @@ pcata_intr_hi(ata_soft_t *softp) #ifdef ATA_DEBUG if (pcata_debug & DENT) cmn_err(CE_CONT, - "_intr_hi status=%x error=%x claimed=%d pending=%d\n", - status, error, - (rval == DDI_INTR_CLAIMED), - softp->intr_pending); + "_intr_hi status=%x error=%x claimed=%d pending=%d\n", + status, error, + (rval == DDI_INTR_CLAIMED), + softp->intr_pending); #endif if ((rval == DDI_INTR_CLAIMED) && @@ -1106,9 +1106,9 @@ pcata_intr(char *parm) #ifdef ATA_DEBUG if (pcata_debug & DIO) { cmn_err(CE_CONT, - "_start_next_cmd current:%p head:%p\n", - (void *)softp->ab_active, - (void *)softp->ab_head); + "_start_next_cmd current:%p head:%p\n", + (void *)softp->ab_active, + (void *)softp->ab_head); } #endif } @@ -1220,7 +1220,7 @@ pcata_wait(uint32_t port, ushort_t onbits, ushort_t offbits, ata_soft_t *softp) for (i = 400000; i && (CARD_PRESENT_VALID(softp)); i--) { maskval = csx_Get8(softp->handle, port); if (((maskval & onbits) == onbits) && - ((maskval & offbits) == 0)) + ((maskval & offbits) == 0)) return (0); drv_usecwait(10); } @@ -1247,7 +1247,7 @@ pcata_wait1(uint32_t port, ushort_t onbits, ushort_t offbits, int interval, for (i = interval; i && (CARD_PRESENT_VALID(softp)); i--) { maskval = csx_Get8(softp->handle, port); if (((maskval & onbits) == onbits) && - ((maskval & offbits) == 0)) + ((maskval & offbits) == 0)) return (0); drv_usecwait(10); } @@ -1279,7 +1279,7 @@ pcata_send_data(ata_unit_t *unitp, int count) #ifdef ATA_DEBUG if (pcata_debug & DENT) { cmn_err(CE_CONT, "_send_data (%p, %x)\n", - (void *)unitp, count); + (void *)unitp, count); } #endif if (pcata_wait(AT_ALTSTATUS, ATS_DRQ, 0, softp)) { @@ -1296,9 +1296,9 @@ pcata_send_data(ata_unit_t *unitp, int count) #ifdef ATA_DEBUG if (pcata_debug & DIO) { cmn_err(CE_CONT, "_send_data: port=%x addr=0x%p count=0x%x\n", - unitp->a_blkp->ab_data, - (void *)pktp->ac_v_addr, - count); + unitp->a_blkp->ab_data, + (void *)pktp->ac_v_addr, + count); } #endif @@ -1311,7 +1311,7 @@ pcata_send_data(ata_unit_t *unitp, int count) mutex_enter(&softp->hi_mutex); csx_RepPut16(softp->handle, (ushort_t *)pktp->ac_v_addr, AT_DATA, - (count >> 1), DDI_DEV_NO_AUTOINCR); + (count >> 1), DDI_DEV_NO_AUTOINCR); if (softp->write_in_progress > 0) softp->write_in_progress--; mutex_exit(&softp->hi_mutex); @@ -1352,7 +1352,7 @@ pcata_get_data(ata_unit_t *unitp, int count) return (DDI_FAILURE); csx_RepGet8(softp->handle, (uchar_t *)pktp->ac_v_addr, - AT_DATA, count, DDI_DEV_NO_AUTOINCR); + AT_DATA, count, DDI_DEV_NO_AUTOINCR); #ifdef ATA_DEBUG if (pcata_debug & DIO) @@ -1400,7 +1400,7 @@ pcata_getedt(ata_soft_t *softp, int dmax) for (dcount = drive = 0; drive < dmax; drive++) { if (!(rpbp = (struct atarpbuf *)kmem_zalloc( - (sizeof (struct atarpbuf) + + (sizeof (struct atarpbuf) + sizeof (struct scsi_inquiry)), KM_NOSLEEP))) { kmem_free(secbuf, NBPSCTR); return (DDI_FAILURE); @@ -1420,7 +1420,7 @@ pcata_getedt(ata_soft_t *softp, int dmax) if (softp->ab_dev_type[drive] == ATA_DEV_NONE) { kmem_free(rpbp, (sizeof (struct atarpbuf) + - sizeof (struct scsi_inquiry))); + sizeof (struct scsi_inquiry))); continue; } dcount++; @@ -1429,7 +1429,7 @@ pcata_getedt(ata_soft_t *softp, int dmax) mutex_enter(&softp->ata_mutex); if (!(softp->card_state & PCATA_CARD_INSERTED)) { kmem_free(rpbp, (sizeof (struct atarpbuf) + - sizeof (struct scsi_inquiry))); + sizeof (struct scsi_inquiry))); dcount--; mutex_exit(&softp->ata_mutex); break; @@ -1444,7 +1444,7 @@ pcata_getedt(ata_soft_t *softp, int dmax) pcata_byte_swap((char *)rpbp, sizeof (*rpbp)); #else pcata_byte_swap(rpbp->atarp_drvser, - sizeof (rpbp->atarp_drvser)); + sizeof (rpbp->atarp_drvser)); pcata_byte_swap(rpbp->atarp_fw, sizeof (rpbp->atarp_fw)); pcata_byte_swap(rpbp->atarp_model, sizeof (rpbp->atarp_model)); #endif @@ -1454,41 +1454,41 @@ pcata_getedt(ata_soft_t *softp, int dmax) #ifdef ATA_DEBUG if (pcata_debug & DINIT) { (void) strncpy(buf, - rpbp->atarp_model, sizeof (rpbp->atarp_model)); + rpbp->atarp_model, sizeof (rpbp->atarp_model)); buf[sizeof (rpbp->atarp_model)-1] = '\0'; /* truncate model */ for (i = sizeof (rpbp->atarp_model) - 2; i && buf[i] == ' '; - i--) { + i--) { buf[i] = '\0'; } cmn_err(CE_CONT, "_getedt model %s, targ %d, stat %x, err %x\n", - buf, - drive, - csx_Get8(softp->handle, AT_STATUS), - csx_Get8(softp->handle, AT_ERROR)); + buf, + drive, + csx_Get8(softp->handle, AT_STATUS), + csx_Get8(softp->handle, AT_ERROR)); cmn_err(CE_CONT, " cfg 0x%x, cyl %d, hd %d, sec/trk %d\n", - rpbp->atarp_config, - rpbp->atarp_fixcyls, - rpbp->atarp_heads, - rpbp->atarp_sectors); + rpbp->atarp_config, + rpbp->atarp_fixcyls, + rpbp->atarp_heads, + rpbp->atarp_sectors); cmn_err(CE_CONT, " mult1 0x%x, mult2 0x%x, dwcap 0x%x," - " cap 0x%x\n", - rpbp->atarp_mult1, - rpbp->atarp_mult2, - rpbp->atarp_dwcap, - rpbp->atarp_cap); + " cap 0x%x\n", + rpbp->atarp_mult1, + rpbp->atarp_mult2, + rpbp->atarp_dwcap, + rpbp->atarp_cap); cmn_err(CE_CONT, " piomode 0x%x, dmamode 0x%x," - " advpiomode 0x%x\n", - rpbp->atarp_piomode, - rpbp->atarp_dmamode, - rpbp->atarp_advpiomode); + " advpiomode 0x%x\n", + rpbp->atarp_piomode, + rpbp->atarp_dmamode, + rpbp->atarp_advpiomode); cmn_err(CE_CONT, " minpio %d, minpioflow %d", - rpbp->atarp_minpio, - rpbp->atarp_minpioflow); + rpbp->atarp_minpio, + rpbp->atarp_minpioflow); cmn_err(CE_CONT, " valid 0x%x, dwdma 0x%x\n", - rpbp->atarp_validinfo, - rpbp->atarp_dworddma); + rpbp->atarp_validinfo, + rpbp->atarp_dworddma); } #endif @@ -1510,7 +1510,7 @@ pcata_getedt(ata_soft_t *softp, int dmax) if (softp->ab_dev_type[drive] != ATA_DEV_DISK) { cmn_err(CE_CONT, "Unknown IDE attachment at 0x%x.\n", - softp->ab_cmd - AT_CMD); + softp->ab_cmd - AT_CMD); continue; } @@ -1519,16 +1519,16 @@ pcata_getedt(ata_soft_t *softp, int dmax) */ mutex_enter(&softp->ata_mutex); if (pcata_setpar(drive, rpbp->atarp_heads, - rpbp->atarp_sectors, softp) - == DDI_FAILURE) { + rpbp->atarp_sectors, softp) + == DDI_FAILURE) { /* * there should have been a drive here but it * didn't respond properly. It stayed BUSY. */ if (softp->ab_rpbp[drive]) { kmem_free(rpbp, - (sizeof (struct atarpbuf) + - sizeof (struct scsi_inquiry))); + (sizeof (struct atarpbuf) + + sizeof (struct scsi_inquiry))); } softp->ab_rpbp[drive] = NULL; softp->ab_dev_type[drive] = ATA_DEV_NONE; @@ -1542,8 +1542,8 @@ pcata_getedt(ata_soft_t *softp, int dmax) #ifdef ATA_DEBUG if (pcata_debug) cmn_err(CE_CONT, "**** probed %d device%s 0x%x\n", - dcount, dcount == 1 ? "." : "s.", - softp->ab_cmd - AT_CMD); + dcount, dcount == 1 ? "." : "s.", + softp->ab_cmd - AT_CMD); #endif return (dcount ? DDI_SUCCESS : DDI_FAILURE); @@ -1585,18 +1585,18 @@ pcata_drive_type(ata_soft_t *softp, ushort_t *buf) } csx_RepGet16(softp->handle, (ushort_t *)buf, AT_DATA, NBPSCTR >> 1, - DDI_DEV_NO_AUTOINCR); + DDI_DEV_NO_AUTOINCR); #ifdef ATA_DEBUG if (pcata_debug) { if ((csx_Get8(softp->handle, AT_STATUS) & ATS_ERR) == 0) { pcata_byte_swap(rpbp->atarp_model, - sizeof (rpbp->atarp_model)); + sizeof (rpbp->atarp_model)); rpbp->atarp_model[sizeof (rpbp->atarp_model)-1] = '\0'; cmn_err(CE_CONT, "succeeded: %s\n", - rpbp->atarp_model); + rpbp->atarp_model); pcata_byte_swap(rpbp->atarp_model, - sizeof (rpbp->atarp_model)); + sizeof (rpbp->atarp_model)); } else { cmn_err(CE_CONT, "failed drive drive read error.\n"); } @@ -1631,7 +1631,7 @@ pcata_setpar(int drive, int heads, int sectors, ata_soft_t *softp) #ifdef ATA_DEBUG if (pcata_debug & DINIT) cmn_err(CE_CONT, "_setpar status=0x%x drive=%d heads=%d\n", - csx_Get8(softp->handle, AT_STATUS), drive, heads); + csx_Get8(softp->handle, AT_STATUS), drive, heads); #endif if (!CARD_PRESENT_VALID(softp)) return (DDI_FAILURE); @@ -1642,7 +1642,7 @@ pcata_setpar(int drive, int heads, int sectors, ata_soft_t *softp) pcata_wait_complete(softp); PCIDE_OUTB(softp->handle, AT_DRVHD, (heads - 1) | - (drive == 0 ? ATDH_DRIVE0 : ATDH_DRIVE1)); + (drive == 0 ? ATDH_DRIVE0 : ATDH_DRIVE1)); PCIDE_OUTB(softp->handle, AT_COUNT, sectors); mutex_enter(&softp->hi_mutex); @@ -1681,7 +1681,7 @@ pcata_set_rw_multiple(ata_soft_t *softp, int drive) #ifdef ATA_DEBUG if (pcata_debug & DENT) { cmn_err(CE_CONT, "_set_rw_multiple (%p, %d)\n", - (void *)softp, drive); + (void *)softp, drive); } #endif @@ -1698,10 +1698,10 @@ pcata_set_rw_multiple(ata_soft_t *softp, int drive) * set drive number */ PCIDE_OUTB(softp->handle, AT_DRVHD, drive == 0 ? ATDH_DRIVE0 : - ATDH_DRIVE1); + ATDH_DRIVE1); for (size = 32; size > 0 && accepted_size == -1 && - CARD_PRESENT_VALID(softp); size >>= 1) { + CARD_PRESENT_VALID(softp); size >>= 1) { if (pcata_wait(AT_ALTSTATUS, ATS_DRDY, ATS_BSY, softp)) return (DDI_FAILURE); @@ -1729,9 +1729,9 @@ pcata_set_rw_multiple(ata_soft_t *softp, int drive) * Wait for DRDY or error status */ for (i = 0; i < ATA_LOOP_CNT && CARD_PRESENT_VALID(softp); - i++) { + i++) { if (((laststat = csx_Get8(softp->handle, AT_ALTSTATUS)) - & (ATS_DRDY | ATS_ERR)) != 0) + & (ATS_DRDY | ATS_ERR)) != 0) break; drv_usecwait(10); } @@ -1769,7 +1769,7 @@ pcata_set_rw_multiple(ata_soft_t *softp, int drive) #ifdef ATA_DEBUG if (pcata_debug & DENT) { cmn_err(CE_CONT, "Using STD R/W cmds and setting" - "block factor to 1\n"); + "block factor to 1\n"); } #endif softp->ab_rd_cmd[drive] = ATC_RDSEC; @@ -1896,7 +1896,7 @@ pcata_print(dev_t dev, char *str) if (pcata_getinfo(NULL, DDI_INFO_DEVT2INSTANCE, (void *)dev, &instance) != DDI_SUCCESS) { cmn_err(CE_CONT, "_print: pcata_getinfo" - "return ENODEV\n"); + "return ENODEV\n"); return (ENODEV); } @@ -1948,7 +1948,7 @@ pcata_min(buf_t *bp) softp = ddi_get_soft_state(pcata_soft, (int)(uintptr_t)instance); if ((ROUNDUP(bp->b_bcount, NBPSCTR) >> SCTRSHFT) > - softp->ab_max_transfer) + softp->ab_max_transfer) bp->b_bcount = softp->ab_max_transfer << SCTRSHFT; } @@ -1961,7 +1961,7 @@ pcata_iosetup(ata_unit_t *unitp, struct ata_cmpkt *pktp) #ifdef ATA_DEBUG if (pcata_debug & DENT) { cmn_err(CE_CONT, "_iosetup (%p, %p)\n", - (void *)unitp, (void *)pktp); + (void *)unitp, (void *)pktp); } #endif @@ -1987,8 +1987,8 @@ pcata_iosetup(ata_unit_t *unitp, struct ata_cmpkt *pktp) #ifdef ATA_DEBUG if (pcata_debug & DIO) { cmn_err(CE_CONT, - "_iosetup: asking for start 0x%lx count 0x%x\n", - pktp->cp_srtsec, pktp->cp_bytexfer >> SCTRSHFT); + "_iosetup: asking for start 0x%lx count 0x%x\n", + pktp->cp_srtsec, pktp->cp_bytexfer >> SCTRSHFT); } #endif /* @@ -2038,8 +2038,8 @@ pcata_iosetup(ata_unit_t *unitp, struct ata_cmpkt *pktp) break; default: cmn_err(CE_CONT, "_iosetup: " - "unrecognized cmd 0x%x\n", - pktp->ac_cdb); + "unrecognized cmd 0x%x\n", + pktp->ac_cdb); break; } } diff --git a/usr/src/uts/common/io/pcmcia/pcmem.c b/usr/src/uts/common/io/pcmcia/pcmem.c index 092f6da2b9..3777c3b675 100644 --- a/usr/src/uts/common/io/pcmcia/pcmem.c +++ b/usr/src/uts/common/io/pcmcia/pcmem.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * PCMCIA Memory Nexus Driver @@ -117,7 +115,9 @@ static struct dev_ops pcmem_ops = { pcmem_detach, /* detach */ nulldev, /* reset (currently not supported) */ (struct cb_ops *)NULL, /* cb_ops pointer for leaf driver */ - &pcmem__bus_ops /* bus_ops pointer for nexus driver */ + &pcmem__bus_ops, /* bus_ops pointer for nexus driver */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; @@ -129,7 +129,7 @@ extern struct mod_ops mod_driverops; static struct modldrv md = { &mod_driverops, /* Type of module */ - "PCMCIA Memory Nexus V2.0 %I%", /* Name of the module */ + "PCMCIA Memory Nexus", /* Name of the module */ &pcmem_ops, /* Device Operation Structure */ }; @@ -230,7 +230,7 @@ pcmem_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_get_name(rdip), ddi_get_instance(rdip), ddi_get_name(dip), ddi_getprop(DDI_DEV_T_NONE, rdip, - DDI_PROP_DONTPASS, "socket", -1))); + DDI_PROP_DONTPASS, "socket", -1))); return (DDI_SUCCESS); diff --git a/usr/src/uts/common/io/pcmcia/pcram.c b/usr/src/uts/common/io/pcmcia/pcram.c index 622c37ce52..1cee1a0b82 100644 --- a/usr/src/uts/common/io/pcmcia/pcram.c +++ b/usr/src/uts/common/io/pcmcia/pcram.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #if defined(DEBUG) #define PCRAM_DEBUG @@ -207,7 +205,9 @@ static struct dev_ops pcram_ops = { pcram_detach, /* detach */ nodev, /* reset (currently not supported) */ &pcram_cb_ops, /* cb_ops pointer for leaf driver */ - (struct bus_ops *)NULL /* bus_ops pointer for nexus driver */ + (struct bus_ops *)NULL, /* bus_ops pointer for nexus driver */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -216,7 +216,7 @@ extern struct mod_ops mod_driverops; static struct modldrv md = { &mod_driverops, /* Type of module. This is a driver */ - PCRAM_DRIVERID " %I%", /* Driver Identifier string */ + PCRAM_DRIVERID, /* Driver Identifier string */ &pcram_ops, /* Device Operation Structure */ }; @@ -275,8 +275,8 @@ _init(void) #endif error = ddi_soft_state_init(&pcram_soft_state_p, - sizeof (pcram_state_t), - 1 /* n_items */); + sizeof (pcram_state_t), + 1 /* n_items */); if (error) { return (error); } @@ -378,8 +378,8 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) cmn_err(CE_CONT, - "pcram_attach: instance %d cmd 0x%x\n", - instance, cmd); + "pcram_attach: instance %d cmd 0x%x\n", + instance, cmd); #endif /* resume from a checkpoint */ @@ -394,15 +394,15 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ if (cmd != DDI_ATTACH) { cmn_err(CE_NOTE, "pcram_attach[%d]: " - "cmd != DDI_ATTACH\n", instance); + "cmd != DDI_ATTACH\n", instance); return (DDI_FAILURE); /* NOTREACHED */ } if (ddi_soft_state_zalloc(pcram_soft_state_p, - instance) != DDI_SUCCESS) { + instance) != DDI_SUCCESS) { cmn_err(CE_NOTE, "pcram_attach: could not allocate " - "state structure for instance %d.", instance); + "state structure for instance %d.", instance); return (DDI_FAILURE); /* NOTREACHED */ } @@ -410,8 +410,8 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_attach: could not get " - "state structure for instance %d.", - instance); + "state structure for instance %d.", + instance); goto out; } @@ -477,8 +477,8 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) rs->blist = getrbuf(KM_SLEEP); if (rs->blist == NULL) { cmn_err(CE_NOTE, "pcram%d: attach card: " - "could not allocate transfer list header", - instance); + "could not allocate transfer list header", + instance); goto out; } @@ -487,11 +487,11 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Add Medium priority soft interrupt to the system */ if (ddi_add_softintr(dip, DDI_SOFTINT_MED, &rs->softint_id, - &rs->soft_blk_cookie, (ddi_idevice_cookie_t *)NULL, - pcram_softintr, (caddr_t)rs) != DDI_SUCCESS) { + &rs->soft_blk_cookie, (ddi_idevice_cookie_t *)NULL, + pcram_softintr, (caddr_t)rs) != DDI_SUCCESS) { cmn_err(CE_NOTE, "pcram%d attach: " - "could not add soft interrupt", - instance); + "could not add soft interrupt", + instance); goto out; } @@ -500,8 +500,8 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { cmn_err(CE_CONT, "pcram_attach: " - "calling RegisterClient for instance %d\n", - instance); + "calling RegisterClient for instance %d\n", + instance); } #endif @@ -511,28 +511,28 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * low priority CS_EVENT_CARD_REMOVAL events as well. */ client_reg.Attributes = (INFO_MEM_CLIENT | - INFO_CARD_SHARE | - INFO_CARD_EXCL); + INFO_CARD_SHARE | + INFO_CARD_EXCL); client_reg.EventMask = (CS_EVENT_CARD_INSERTION | - CS_EVENT_CARD_REMOVAL | - CS_EVENT_CARD_REMOVAL_LOWP | - CS_EVENT_CLIENT_INFO | - CS_EVENT_REGISTRATION_COMPLETE); + CS_EVENT_CARD_REMOVAL | + CS_EVENT_CARD_REMOVAL_LOWP | + CS_EVENT_CLIENT_INFO | + CS_EVENT_REGISTRATION_COMPLETE); client_reg.event_handler = (csfunction_t *)pcram_event; client_reg.event_callback_args.client_data = rs; client_reg.Version = _VERSION(2, 1); client_reg.dip = dip; (void) strcpy(client_reg.driver_name, pcram_name); if ((ret = csx_RegisterClient(&rs->client_handle, - &client_reg)) != CS_SUCCESS) { - error2text_t cft; + &client_reg)) != CS_SUCCESS) { + error2text_t cft; - cft.item = ret; - (void) csx_Error2Text(&cft); - cmn_err(CE_CONT, "pcram_attach: " - "RegisterClient failed %s (0x%x)\n", - cft.text, ret); - goto out; + cft.item = ret; + (void) csx_Error2Text(&cft); + cmn_err(CE_CONT, "pcram_attach: " + "RegisterClient failed %s (0x%x)\n", + cft.text, ret); + goto out; } rs->flags |= PCRAM_REGCLIENT; @@ -540,22 +540,22 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { cmn_err(CE_CONT, "pcram_attach: " - "RegisterClient client_handle 0x%x\n", - rs->client_handle); + "RegisterClient client_handle 0x%x\n", + rs->client_handle); } #endif /* Get logical socket number and store in pcram_state_t */ if ((ret = csx_MapLogSocket(rs->client_handle, - &map_log_socket)) != CS_SUCCESS) { + &map_log_socket)) != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_attach: " - "MapLogSocket failed %s (0x%x)\n", - cft.text, ret); + "MapLogSocket failed %s (0x%x)\n", + cft.text, ret); } rs->sn = map_log_socket.PhySocket; @@ -563,7 +563,7 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { cmn_err(CE_CONT, "pcram_attach: " - "MapLogSocket for socket %d\n", rs->sn); + "MapLogSocket for socket %d\n", rs->sn); } #endif @@ -597,17 +597,17 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * we can start receiving events */ sockmask.EventMask = (CS_EVENT_CARD_INSERTION | - CS_EVENT_CARD_REMOVAL); + CS_EVENT_CARD_REMOVAL); if ((ret = csx_RequestSocketMask(rs->client_handle, - &sockmask)) != CS_SUCCESS) { + &sockmask)) != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_attach: RequestSocketMask " - "failed %s (0x%x)\n", cft.text, ret); + "failed %s (0x%x)\n", cft.text, ret); goto out; } @@ -616,7 +616,7 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) cmn_err(CE_CONT, - "pcram_attach: RequestSocketMask OK\n"); + "pcram_attach: RequestSocketMask OK\n"); #endif /* @@ -633,7 +633,7 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* XXX function return value ignored */ (void) csx_GetStatus(rs->client_handle, &get_status); if (get_status.CardState & CS_EVENT_CARD_INSERTION) { - if (!PCRAM_CARD_PRESENT(rs)) { + if (!PCRAM_CARD_PRESENT(rs)) { mutex_enter(&rs->event_hilock); cv_wait(&rs->firstopenwait_cv, &rs->event_hilock); mutex_exit(&rs->event_hilock); @@ -645,7 +645,7 @@ pcram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } #endif - } + } } ddi_report_dev(dip); @@ -678,8 +678,8 @@ pcram_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) cmn_err(CE_CONT, - "pcram_detach: instance %d cmd 0x%x\n", - instance, cmd); + "pcram_detach: instance %d cmd 0x%x\n", + instance, cmd); #endif /* suspend */ @@ -696,8 +696,8 @@ pcram_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_detach: " - "could not get state structure " - "for instance %d.", instance); + "could not get state structure " + "for instance %d.", instance); return (DDI_FAILURE); /* NOTREACHED */ } @@ -721,18 +721,18 @@ pcram_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) * CS calls fail? */ if (rs->flags & PCRAM_REQSOCKMASK) { - release_socket_mask_t rsm; - if ((ret = csx_ReleaseSocketMask(rs->client_handle, &rsm)) - != CS_SUCCESS) { - error2text_t cft; + release_socket_mask_t rsm; + if ((ret = csx_ReleaseSocketMask(rs->client_handle, &rsm)) + != CS_SUCCESS) { + error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_detach: Socket %d " - "ReleaseSocketMask failed %s (0x%x)\n", - rs->sn, cft.text, ret); - } + "ReleaseSocketMask failed %s (0x%x)\n", + rs->sn, cft.text, ret); + } } /* @@ -740,17 +740,17 @@ pcram_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) * events at this point. */ if (rs->flags & PCRAM_REGCLIENT) { - if ((ret = csx_DeregisterClient(rs->client_handle)) - != CS_SUCCESS) { - error2text_t cft; + if ((ret = csx_DeregisterClient(rs->client_handle)) + != CS_SUCCESS) { + error2text_t cft; - cft.item = ret; - (void) csx_Error2Text(&cft); + cft.item = ret; + (void) csx_Error2Text(&cft); - cmn_err(CE_CONT, "pcram_detach: Socket %d " - "DeregisterClient failed %s (0x%x)\n", - rs->sn, cft.text, ret); - } + cmn_err(CE_CONT, "pcram_detach: Socket %d " + "DeregisterClient failed %s (0x%x)\n", + rs->sn, cft.text, ret); + } } if (rs->host_sp) { @@ -813,14 +813,14 @@ pcram_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, switch (cmd) { - case DDI_INFO_DEVT2DEVINFO: - case DDI_INFO_DEVT2INSTANCE: + case DDI_INFO_DEVT2DEVINFO: + case DDI_INFO_DEVT2INSTANCE: cs_ddi_info.Socket = PCRAM_SOCKET((dev_t)arg); #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) cmn_err(CE_CONT, "pcram_getinfo: socket %d\n", - cs_ddi_info.Socket); + cs_ddi_info.Socket); #endif cs_ddi_info.driver_name = pcram_name; @@ -830,22 +830,22 @@ pcram_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, } switch (cmd) { - case DDI_INFO_DEVT2DEVINFO: + case DDI_INFO_DEVT2DEVINFO: if (!(rs = ddi_get_soft_state( - pcram_soft_state_p, - cs_ddi_info.instance))) { + pcram_soft_state_p, + cs_ddi_info.instance))) { *result = NULL; } else { *result = rs->dip; } break; - case DDI_INFO_DEVT2INSTANCE: + case DDI_INFO_DEVT2INSTANCE: *result = (void *)(uintptr_t)cs_ddi_info.instance; break; } /* switch */ break; - default: + default: error = DDI_FAILURE; break; } /* switch */ @@ -868,8 +868,8 @@ pcram_getinstance(dev_t devp) cft.item = rval; (void) csx_Error2Text(&cft); cmn_err(CE_NOTE, - "pcram[%d]: csx_CS_DDI_Info failed - %s\n", - PCRAM_SOCKET(devp), cft.text); + "pcram[%d]: csx_CS_DDI_Info failed - %s\n", + PCRAM_SOCKET(devp), cft.text); return (-1); } @@ -907,22 +907,22 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) /* get instance number */ if ((instance = pcram_getinstance(*devp)) == -1) { cmn_err(CE_NOTE, - "pcram_open: pcram_getinfo failed\n"); + "pcram_open: pcram_getinfo failed\n"); return (ENXIO); } rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_open: " - "could not get state for instance %d\n", - instance); + "could not get state for instance %d\n", + instance); return (ENXIO); } #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) cmn_err(CE_CONT, "pcram_open: socket %d " - "flag 0x%x otyp 0x%x\n", rs->sn, flag, otyp); + "flag 0x%x otyp 0x%x\n", rs->sn, flag, otyp); #endif mutex_enter(&rs->mutex); @@ -937,7 +937,7 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) * Do a CS call to see if the card is present */ if ((err = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; mutex_exit(&rs->mutex); @@ -946,8 +946,8 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_open: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, err); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, err); return (ENXIO); /* NOTREACHED */ } @@ -955,8 +955,8 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, - "pcram_open: socket %d GetStatus returns:\n", - rs->sn); + "pcram_open: socket %d GetStatus returns:\n", + rs->sn); pcram_display_card_status(&get_status); } #endif @@ -971,7 +971,7 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, "pcram_open: socket %d " - "ERROR: Found no memory card\n", rs->sn); + "ERROR: Found no memory card\n", rs->sn); } #endif @@ -983,8 +983,8 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) if (get_status.CardState & CS_EVENT_BATTERY_DEAD) { if (!rs->batter_dead_posted) { cmn_err(CE_WARN, "pcram_open: socket %d " - "Battery & Data integrity " - "is not guaranteed\n", rs->sn); + "Battery & Data integrity " + "is not guaranteed\n", rs->sn); /* Display once on the system console */ rs->batter_dead_posted++; } @@ -998,8 +998,8 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) if (get_status.CardState & CS_EVENT_BATTERY_LOW) { if (!rs->batter_low_posted) { cmn_err(CE_WARN, "pcram_open: socket %d " - "Battery should be replaced; " - "Data is OK\n", rs->sn); + "Battery should be replaced; " + "Data is OK\n", rs->sn); /* Display once on the system console */ rs->batter_low_posted++; } @@ -1007,10 +1007,10 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) /* Next check for read only file system */ if ((flag & FWRITE) && - (get_status.CardState & CS_EVENT_WRITE_PROTECT)) { - mutex_exit(&rs->mutex); - return (EROFS); - /* NOTREACHED */ + (get_status.CardState & CS_EVENT_WRITE_PROTECT)) { + mutex_exit(&rs->mutex); + return (EROFS); + /* NOTREACHED */ } @@ -1020,7 +1020,7 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) * must fail. */ if ((flag & FEXCL) && (rs->blk_open || rs->chr_open || - rs->nlayered)) { + rs->nlayered)) { mutex_exit(&rs->mutex); return (EAGAIN); /* NOTREACHED */ @@ -1071,9 +1071,9 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) != UNRECOGNIZED_MEDIA) { rs->hdrv_chars->drv_ncyl = GET_NCYL(rs->card_size, - rs->hdrv_chars->drv_nhead, - rs->hdrv_chars->drv_sec_size, - rs->hdrv_chars->drv_secptrack); + rs->hdrv_chars->drv_nhead, + rs->hdrv_chars->drv_sec_size, + rs->hdrv_chars->drv_secptrack); /* * Actual card size is determined * so disable default_size_flag @@ -1089,7 +1089,7 @@ pcram_open(dev_t *devp, int flag, int otyp, cred_t *cred) cmn_err(CE_NOTE, "pcram: socket %d - " "Unregconized PCMCIA Static RAM media", rs->sn); - err = ENXIO; + err = ENXIO; } } mutex_exit(&rs->mutex); @@ -1107,15 +1107,15 @@ pcram_close(dev_t dev, int flag, int otyp, cred_t *cred) if ((instance = pcram_getinstance(dev)) == -1) { cmn_err(CE_NOTE, - "pcram_close: pcram_getinfo failed\n"); + "pcram_close: pcram_getinfo failed\n"); return (ENXIO); } rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_close: " - "could not get state for instance %d\n", - instance); + "could not get state for instance %d\n", + instance); return (ENXIO); /* NOTREACHED */ } @@ -1123,7 +1123,7 @@ pcram_close(dev_t dev, int flag, int otyp, cred_t *cred) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) cmn_err(CE_CONT, "pcram_close: socket %d " - "flag 0x%x otyp 0x%x\n", rs->sn, flag, otyp); + "flag 0x%x otyp 0x%x\n", rs->sn, flag, otyp); #endif mutex_enter(&rs->mutex); @@ -1164,7 +1164,7 @@ pcram_close(dev_t dev, int flag, int otyp, cred_t *cred) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { cmn_err(CE_CONT, "pcram_close: " - "Reset ejected_while_mounting flag\n"); + "Reset ejected_while_mounting flag\n"); } #endif rs->ejected_while_mounting = 0; @@ -1185,7 +1185,7 @@ pcram_print(dev_t dev, char *str) if ((instance = pcram_getinstance(dev)) == -1) { cmn_err(CE_NOTE, - "pcram_print: pcram_getinfo failed\n"); + "pcram_print: pcram_getinfo failed\n"); return (ENXIO); } @@ -1224,15 +1224,15 @@ pcram_read(dev_t dev, struct uio *uiop, cred_t *credp) if ((instance = pcram_getinstance(dev)) == -1) { cmn_err(CE_NOTE, - "pcram_read: pcram_getinfo failed\n"); + "pcram_read: pcram_getinfo failed\n"); return (ENXIO); } rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_read: " - "could not get state for instance %d.", - instance); + "could not get state for instance %d.", + instance); return (ENXIO); /* NOTREACHED */ } @@ -1248,7 +1248,7 @@ pcram_read(dev_t dev, struct uio *uiop, cred_t *credp) * Do a CS call to see if the card is present */ if ((err = csx_GetStatus(rs->client_handle, - &get_status)) != CS_SUCCESS) { + &get_status)) != CS_SUCCESS) { error2text_t cft; mutex_exit(&rs->mutex); @@ -1257,8 +1257,8 @@ pcram_read(dev_t dev, struct uio *uiop, cred_t *credp) (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_read: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, err); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, err); return (ENXIO); /* NOTREACHED */ } @@ -1266,7 +1266,7 @@ pcram_read(dev_t dev, struct uio *uiop, cred_t *credp) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, "pcram_read: socket %d " - "GetStatus returns:\n", rs->sn); + "GetStatus returns:\n", rs->sn); pcram_display_card_status(&get_status); } #endif @@ -1282,15 +1282,15 @@ pcram_read(dev_t dev, struct uio *uiop, cred_t *credp) * is called */ if (!(get_status.CardState & CS_EVENT_CARD_INSERTION) || - rs->ejected_while_mounting) { + rs->ejected_while_mounting) { if (!rs->card_eject_posted) { /* XXX WARNING - card is ejected */ rs->card_eject_posted++; rs->ejected_while_mounting = 1; cmn_err(CE_WARN, "pcram: socket%d " - "Card is ejected & " - "Data integrity is not guaranteed", - rs->sn); + "Card is ejected & " + "Data integrity is not guaranteed", + rs->sn); } mutex_exit(&rs->mutex); return (EIO); @@ -1337,11 +1337,11 @@ pcram_read(dev_t dev, struct uio *uiop, cred_t *credp) if (pcram_debug & PCRAM_DEBUG_SIZE) { if (nbytes > (rs->win_size-remainder_wsize)) cmn_err(CE_CONT, "pcram_read: socket %d - " - "READ: size not on window boundary\n" - "\toffset 0x%x, rs->win_size 0x%x\n" - "\tnbytes 0x%x, remainder_wsize 0x%x\n", - rs->sn, offset, (int)rs->win_size, - nbytes, remainder_wsize); + "READ: size not on window boundary\n" + "\toffset 0x%x, rs->win_size 0x%x\n" + "\tnbytes 0x%x, remainder_wsize 0x%x\n", + rs->sn, offset, (int)rs->win_size, + nbytes, remainder_wsize); } #endif @@ -1368,17 +1368,17 @@ pcram_read(dev_t dev, struct uio *uiop, cred_t *credp) pbuf = kmem_zalloc(copybytes, KM_SLEEP); csx_RepGet8( /* Card access handle */ - rs->access_handle, + rs->access_handle, /* base dest addr */ - (uchar_t *)pbuf, + (uchar_t *)pbuf, /* card window offset */ - (uint32_t)remainder_wsize, + (uint32_t)remainder_wsize, /* num_bytes xfer */ - copybytes, + copybytes, /* flag */ - DDI_DEV_AUTOINCR); + DDI_DEV_AUTOINCR); error = uiomove((caddr_t)pbuf, - copybytes, UIO_READ, uiop); + copybytes, UIO_READ, uiop); /* now free csbuf */ kmem_free(pbuf, copybytes); @@ -1432,15 +1432,15 @@ pcram_write(dev_t dev, struct uio *uiop, cred_t *credp) if ((instance = pcram_getinstance(dev)) == -1) { cmn_err(CE_NOTE, - "pcram_write: pcram_getinfo failed\n"); + "pcram_write: pcram_getinfo failed\n"); return (ENXIO); } rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_write: " - "could not get state for instance %d.", - instance); + "could not get state for instance %d.", + instance); return (ENXIO); /* NOTREACHED */ } @@ -1456,7 +1456,7 @@ pcram_write(dev_t dev, struct uio *uiop, cred_t *credp) * Do a CS call to see if the card is present */ if ((err = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; mutex_exit(&rs->mutex); @@ -1465,8 +1465,8 @@ pcram_write(dev_t dev, struct uio *uiop, cred_t *credp) (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_write: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, err); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, err); return (ENXIO); /* NOTREACHED */ } @@ -1483,15 +1483,15 @@ pcram_write(dev_t dev, struct uio *uiop, cred_t *credp) * is called */ if (!(get_status.CardState & CS_EVENT_CARD_INSERTION) || - rs->ejected_while_mounting) { + rs->ejected_while_mounting) { if (!rs->card_eject_posted) { /* XXX WARNING - card is ejected */ rs->card_eject_posted++; rs->ejected_while_mounting = 1; cmn_err(CE_WARN, "pcram: socket%d " - "Card is ejected & " - "Data integrity is not guaranteed", - rs->sn); + "Card is ejected & " + "Data integrity is not guaranteed", + rs->sn); } mutex_exit(&rs->mutex); return (EIO); @@ -1548,11 +1548,11 @@ pcram_write(dev_t dev, struct uio *uiop, cred_t *credp) if (pcram_debug & PCRAM_DEBUG_SIZE) { if (nbytes > (rs->win_size-remainder_wsize)) cmn_err(CE_CONT, "pcram_write: socket %d - " - "WRITE: size not on window boundary\n" - "\toffset 0x%x, rs->win_size 0x%x\n" - "\tnbytes 0x%x, remainder_wsize 0x%x\n", - rs->sn, offset, (int)rs->win_size, - nbytes, remainder_wsize); + "WRITE: size not on window boundary\n" + "\toffset 0x%x, rs->win_size 0x%x\n" + "\tnbytes 0x%x, remainder_wsize 0x%x\n", + rs->sn, offset, (int)rs->win_size, + nbytes, remainder_wsize); } #endif @@ -1562,7 +1562,7 @@ pcram_write(dev_t dev, struct uio *uiop, cred_t *credp) * the two windows */ error = uiomove(rs->host_sp, copybytes, - UIO_WRITE, uiop); + UIO_WRITE, uiop); if (error != 0) { rval = EFAULT; goto out; @@ -1625,15 +1625,15 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if ((instance = pcram_getinstance(dev)) == -1) { cmn_err(CE_NOTE, - "pcram_ioctl: pcram_getinfo failed\n"); + "pcram_ioctl: pcram_getinfo failed\n"); return (ENXIO); } rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_ioctl: " - "could not get state for instance %d.", - instance); + "could not get state for instance %d.", + instance); return (ENXIO); /* NOTREACHED */ } @@ -1641,8 +1641,8 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { cmn_err(CE_CONT, "pcram_ioctl: socket %d " - "cmd 0x%x arg 0x%lx mode 0x%x\n", - rs->sn, cmd, arg, mode); + "cmd 0x%x arg 0x%lx mode 0x%x\n", + rs->sn, cmd, arg, mode); } #endif @@ -1777,7 +1777,7 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, case DKIOCGAPART: nblks = rs->hdrv_chars->drv_nhead * - rs->hdrv_chars->drv_secptrack; + rs->hdrv_chars->drv_secptrack; #ifdef _MULTI_DATAMODEL switch (ddi_model_convert_from(mode & FMODELS)) { case DDI_MODEL_ILP32: { @@ -1927,7 +1927,7 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if (!rs->default_size_flag) { #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_ioctl: socket %d\n" + cmn_err(CE_CONT, "pcram_ioctl: socket %d\n" "\tPCRAM_PROBESIZE: card size " "is already\n\t\tdetermined from " "DOS_BPB, VTOC, or CIS\n", rs->sn); @@ -1957,15 +1957,15 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, * Do a CS call to see if the card is present */ if ((err = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; mutex_exit(&rs->mutex); cft.item = err; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_ioctl: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, err); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, err); return (ENXIO); /* NOTREACHED */ } @@ -1973,12 +1973,12 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if (get_status.CardState & CS_EVENT_WRITE_PROTECT) { err = EROFS; } else if ((rs->card_size = pcram_card_sizing(rs)) - != UNRECOGNIZED_MEDIA) { + != UNRECOGNIZED_MEDIA) { rs->hdrv_chars->drv_ncyl = GET_NCYL(rs->card_size, - rs->hdrv_chars->drv_nhead, - rs->hdrv_chars->drv_sec_size, - rs->hdrv_chars->drv_secptrack); + rs->hdrv_chars->drv_nhead, + rs->hdrv_chars->drv_sec_size, + rs->hdrv_chars->drv_secptrack); /* * Actual card size is determined * so disable default_size_flag @@ -1993,8 +1993,8 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, * specification) */ cmn_err(CE_NOTE, "pcram: socket %d - " - "Unregconized PCMCIA Static RAM media", - rs->sn); + "Unregconized PCMCIA Static RAM media", + rs->sn); err = ENXIO; } @@ -2048,7 +2048,7 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, /* GetStatus */ if ((err = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; mutex_exit(&rs->mutex); @@ -2068,7 +2068,7 @@ pcram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, /* Simulating - floppy is present */ fdchange &= ~FDGC_CURRENT; if (get_status.CardState & - CS_EVENT_WRITE_PROTECT) { + CS_EVENT_WRITE_PROTECT) { /* * Simulating * floppy is write protected @@ -2139,7 +2139,7 @@ pass: return (ddi_prop_op(dev, dip, prop_op, mod_flags, rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_prop_op: " - "no state for instance %d", instance); + "no state for instance %d", instance); goto pass; } @@ -2168,7 +2168,7 @@ pcram_strategy(struct buf *bp) if ((instance = pcram_getinstance(bp->b_edev)) == -1) { cmn_err(CE_NOTE, - "pcram_strategy: pcram_getinfo failed\n"); + "pcram_strategy: pcram_getinfo failed\n"); err = ENXIO; goto out; } @@ -2176,8 +2176,8 @@ pcram_strategy(struct buf *bp) rs = ddi_get_soft_state(pcram_soft_state_p, instance); if (rs == NULL) { cmn_err(CE_NOTE, "pcram_strategy: " - "could not get state for instance %d.", - instance); + "could not get state for instance %d.", + instance); err = ENXIO; goto out; } @@ -2191,15 +2191,15 @@ pcram_strategy(struct buf *bp) /* Do a CS call to see if the card is present */ if ((err = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; mutex_exit(&rs->mutex); cft.item = err; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_strategy: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, err); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, err); err = ENXIO; goto out; } @@ -2207,7 +2207,7 @@ pcram_strategy(struct buf *bp) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, "pcram_strategy: socket %d " - "GetStatus returns:\n", rs->sn); + "GetStatus returns:\n", rs->sn); pcram_display_card_status(&get_status); } #endif @@ -2223,21 +2223,21 @@ pcram_strategy(struct buf *bp) * is called */ if (!(get_status.CardState & CS_EVENT_CARD_INSERTION) || - rs->ejected_while_mounting) { + rs->ejected_while_mounting) { if (!rs->card_eject_posted) { /* XXX WARNING - card is ejected */ rs->card_eject_posted++; rs->ejected_while_mounting = 1; cmn_err(CE_WARN, "pcram: socket%d " "Card is ejected & Data integrity is not guaranteed", - rs->sn); + rs->sn); } mutex_exit(&rs->mutex); #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, "pcram_strategy: socket %d - ERROR: " - "Found no memory card\n", rs->sn); + "Found no memory card\n", rs->sn); } #endif @@ -2347,14 +2347,14 @@ pcram_start(pcram_state_t *rs) if (pcram_debug & PCRAM_DEBUG_SIZE) { if (nbytes > (rs->win_size-remainder_wsize)) { cmn_err(CE_CONT, "pcram_start: socket %d - " - "%s: size not on window boundary\n" - "\toffset 0x%x, rs->win_size 0x%x\n" - "\tnbytes 0x%x, remainder_wsize 0x%x\n", - rs->sn, - (bp->b_flags & B_READ) ? - "READ" : "WRITE", - offset, (int)rs->win_size, - nbytes, remainder_wsize); + "%s: size not on window boundary\n" + "\toffset 0x%x, rs->win_size 0x%x\n" + "\tnbytes 0x%x, remainder_wsize 0x%x\n", + rs->sn, + (bp->b_flags & B_READ) ? + "READ" : "WRITE", + offset, (int)rs->win_size, + nbytes, remainder_wsize); } } #endif @@ -2362,15 +2362,15 @@ pcram_start(pcram_state_t *rs) if (bp->b_flags & B_READ) { /* Read direct from PC Card memory */ csx_RepGet8(/* Card access handle */ - rs->access_handle, + rs->access_handle, /* base dest addr */ - (uchar_t *)buf_addr, + (uchar_t *)buf_addr, /* card window offset */ - (uint32_t)remainder_wsize, + (uint32_t)remainder_wsize, /* num_bytes xfer */ - copybytes, + copybytes, /* flag */ - DDI_DEV_AUTOINCR); + DDI_DEV_AUTOINCR); } else { /* WRITE operation */ /* @@ -2488,10 +2488,10 @@ card_byte_wr(pcram_state_t *rs, int xfer_size, int offset) if (PCRAM_CARD_PRESENT(rs)) { if (rs->card_event & PCRAM_WRITE_PROTECT) { if (!rs->wp_posted) { - rs->wp_posted++; - cmn_err(CE_WARN, "pcram: socket%d " - "Write-Protect is enabled", - rs->sn); + rs->wp_posted++; + cmn_err(CE_WARN, "pcram: socket%d " + "Write-Protect is enabled", + rs->sn); } /* * stop writing when @@ -2500,7 +2500,7 @@ card_byte_wr(pcram_state_t *rs, int xfer_size, int offset) break; } else { csx_Put8(rs->access_handle, - cardoffset, *hostmempt); + cardoffset, *hostmempt); hostmempt++; cardoffset++; } @@ -2534,15 +2534,15 @@ update_mapmempage(pcram_state_t *rs, int offset) * Do a CS call to see if the card is present */ if ((err = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = err; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "update_mapmempage: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, err); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, err); /* Let caller knows that there is some thing wrong */ return (-1); /* NOTREACHED */ @@ -2551,7 +2551,7 @@ update_mapmempage(pcram_state_t *rs, int offset) if (!(get_status.CardState & CS_EVENT_CARD_INSERTION)) { #ifdef PCRAM_DEBUG cmn_err(CE_CONT, "update_mapmempage: " - "\tFound no memory card in socket %d\n", rs->sn); + "\tFound no memory card in socket %d\n", rs->sn); #endif /* Let caller knows that there is no card */ return (-1); @@ -2569,8 +2569,8 @@ update_mapmempage(pcram_state_t *rs, int offset) if (rs->win_size == 0) { cmn_err(CE_CONT, "update_mapmempage: " - "Found zero rs->win_size %d\n", - (int)rs->win_size); + "Found zero rs->win_size %d\n", + (int)rs->win_size); /* To avoid zero divide problem */ return (-1); /* NOTREACHED */ @@ -2588,23 +2588,23 @@ update_mapmempage(pcram_state_t *rs, int offset) if ((ret = csx_MapMemPage(rs->window_handle, &map_mem_page)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "update_mapmempage: " - "MapMemPage failed %s (0x%x)\n", cft.text, ret); + "MapMemPage failed %s (0x%x)\n", cft.text, ret); if ((ret = csx_ReleaseWindow(rs->window_handle)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "update_mapmempage: " - "ReleaseWindow failed %s (0x%x)\n", - cft.text, ret); + "ReleaseWindow failed %s (0x%x)\n", + cft.text, ret); } /* Let caller knows that there is some thing wrong */ @@ -2674,8 +2674,8 @@ static int pcram_card_sizing(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_SIZE) { cmn_err(CE_CONT, "pcram_card_sizing: socket %d \n" - "\tBlock size sample [%d bytes]\n", - rs->sn, blocksize); + "\tBlock size sample [%d bytes]\n", + rs->sn, blocksize); } #endif @@ -2737,8 +2737,8 @@ static int pcram_card_sizing(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_SIZE) { cmn_err(CE_CONT, "pcram_card_sizing: socket %d \n" - "\tFound card_size [%d bytes]\n", - rs->sn, offset); + "\tFound card_size [%d bytes]\n", + rs->sn, offset); } #endif @@ -2786,7 +2786,7 @@ pcram_check_media(pcram_state_t *rs, enum dkio_state state) * Do a CS call to see if the card is present */ if ((err = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; mutex_exit(&rs->mutex); @@ -2794,8 +2794,8 @@ pcram_check_media(pcram_state_t *rs, enum dkio_state state) cft.item = err; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_check_media: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, err); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, err); return (ENXIO); /* NOTREACHED */ } @@ -2827,7 +2827,7 @@ pcram_check_media(pcram_state_t *rs, enum dkio_state state) */ if (state != DKIO_NONE) { if (rs->ejected_media_flag && - (rs->media_state == DKIO_EJECTED)) { + (rs->media_state == DKIO_EJECTED)) { rs->media_state = DKIO_NONE; rs->ejected_media_flag = 0; mutex_exit(&rs->mutex); @@ -2838,11 +2838,11 @@ pcram_check_media(pcram_state_t *rs, enum dkio_state state) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_VOLD) { - cmn_err(CE_CONT, "pcram_check_media: socket %d \n" - "\tWaiting state change: rs->media_state %d state %d\n" - "\tDKIO_NONE %d DKIO_EJECTED %d DKIO_INSERTED %d\n", - rs->sn, rs->media_state, state, - DKIO_NONE, DKIO_EJECTED, DKIO_INSERTED); + cmn_err(CE_CONT, "pcram_check_media: socket %d \n" + "\tWaiting state change: rs->media_state %d state %d\n" + "\tDKIO_NONE %d DKIO_EJECTED %d DKIO_INSERTED %d\n", + rs->sn, rs->media_state, state, + DKIO_NONE, DKIO_EJECTED, DKIO_INSERTED); } #endif @@ -2854,7 +2854,7 @@ pcram_check_media(pcram_state_t *rs, enum dkio_state state) while (rs->media_state == state) { rs->checkmedia_flag++; if (cv_wait_sig(&rs->condvar_mediastate, - &rs->mutex) == 0) { + &rs->mutex) == 0) { mutex_exit(&rs->mutex); return (EINTR); /* NOTREACHED */ @@ -2863,17 +2863,17 @@ pcram_check_media(pcram_state_t *rs, enum dkio_state state) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_VOLD) { - cmn_err(CE_CONT, "pcram_check_media: socket %d \n" - "\tAfter state change: rs->media_state %d state %d\n" - "\tDKIO_NONE %d DKIO_EJECTED %d DKIO_INSERTED %d\n", - rs->sn, rs->media_state, state, - DKIO_NONE, DKIO_EJECTED, DKIO_INSERTED); + cmn_err(CE_CONT, "pcram_check_media: socket %d \n" + "\tAfter state change: rs->media_state %d state %d\n" + "\tDKIO_NONE %d DKIO_EJECTED %d DKIO_INSERTED %d\n", + rs->sn, rs->media_state, state, + DKIO_NONE, DKIO_EJECTED, DKIO_INSERTED); } #endif if (state != DKIO_NONE) { if (!rs->ejected_media_flag && - (rs->media_state == DKIO_EJECTED)) { + (rs->media_state == DKIO_EJECTED)) { rs->ejected_media_flag++; } } @@ -2963,7 +2963,7 @@ pcram_build_label_vtoc(pcram_state_t *rs, struct vtoc *vtoc) bcopy(vtoc->v_asciilabel, rs->un_label.dkl_asciilabel, LEN_DKL_ASCII); nblks = rs->hdrv_chars->drv_nhead * - rs->hdrv_chars->drv_secptrack; + rs->hdrv_chars->drv_secptrack; lmap = rs->un_label.dkl_map; vpart = vtoc->v_part; @@ -2999,11 +2999,11 @@ pcram_build_label_vtoc(pcram_state_t *rs, struct vtoc *vtoc) #ifdef PCRAM_DEBUG if (pcram_debug > 1) { - cmn_err(CE_CONT, "pcram_build_label_vtoc: socket %d\n" - "\tncyl %d, nhd %d, nsec %d, pcyl %d\n", - rs->sn, - rs->un_label.dkl_ncyl, rs->un_label.dkl_nhead, - rs->un_label.dkl_nsect, rs->un_label.dkl_pcyl); + cmn_err(CE_CONT, "pcram_build_label_vtoc: socket %d\n" + "\tncyl %d, nhd %d, nsec %d, pcyl %d\n", + rs->sn, + rs->un_label.dkl_ncyl, rs->un_label.dkl_nhead, + rs->un_label.dkl_nsect, rs->un_label.dkl_pcyl); } #endif @@ -3062,34 +3062,34 @@ pcram_event(event_t event, int priority, event_callback_args_t *eca) (void) csx_Event2Text(&event2text); cmn_err(CE_CONT, "pcram_event: socket %d \n" - "\tevent %s (0x%x) priority 0x%x\n", - rs->sn, event2text.text, event, priority); + "\tevent %s (0x%x) priority 0x%x\n", + rs->sn, event2text.text, event, priority); } #endif /* * Find out which event we got and do the appropriate thing */ switch (event) { - case CS_EVENT_REGISTRATION_COMPLETE: + case CS_EVENT_REGISTRATION_COMPLETE: break; - case CS_EVENT_CARD_INSERTION: + case CS_EVENT_CARD_INSERTION: if (priority & CS_EVENT_PRI_LOW) { - retcode = pcram_card_insertion(rs); + retcode = pcram_card_insertion(rs); } break; - case CS_EVENT_BATTERY_LOW: + case CS_EVENT_BATTERY_LOW: break; - case CS_EVENT_BATTERY_DEAD: + case CS_EVENT_BATTERY_DEAD: break; - case CS_EVENT_WRITE_PROTECT: + case CS_EVENT_WRITE_PROTECT: if (priority & CS_EVENT_PRI_LOW) { mutex_enter(&rs->mutex); } if (eca->info) { - rs->card_event |= PCRAM_WRITE_PROTECT; + rs->card_event |= PCRAM_WRITE_PROTECT; } else { - rs->card_event &= ~PCRAM_WRITE_PROTECT; - rs->wp_posted = 0; + rs->card_event &= ~PCRAM_WRITE_PROTECT; + rs->wp_posted = 0; } if (priority & CS_EVENT_PRI_LOW) { mutex_exit(&rs->mutex); @@ -3103,7 +3103,7 @@ pcram_event(event_t event, int priority, event_callback_args_t *eca) * event masks. * (See the call to RegisterClient). */ - case CS_EVENT_CARD_REMOVAL: + case CS_EVENT_CARD_REMOVAL: if (priority & CS_EVENT_PRI_HIGH) { retcode = CS_SUCCESS; rs->card_event &= ~PCRAM_CARD_INSERTED; @@ -3114,16 +3114,16 @@ pcram_event(event_t event, int priority, event_callback_args_t *eca) mutex_exit(&rs->event_hilock); } break; - case CS_EVENT_CLIENT_INFO: + case CS_EVENT_CLIENT_INFO: if (GET_CLIENT_INFO_SUBSVC(ci->Attributes) == - CS_CLIENT_INFO_SUBSVC_CS) { + CS_CLIENT_INFO_SUBSVC_CS) { ci->Revision = PCRAM_REV_LEVEL; ci->CSLevel = CS_VERSION; ci->RevDate = PCRAM_REV_DATE; (void) strcpy(ci->ClientName, - PCRAM_CLIENT_DESCRIPTION); + PCRAM_CLIENT_DESCRIPTION); (void) strcpy(ci->VendorName, - PCRAM_VENDOR_DESCRIPTION); + PCRAM_VENDOR_DESCRIPTION); ci->Attributes |= CS_CLIENT_INFO_VALID; retcode = CS_SUCCESS; } /* CS_CLIENT_INFO_SUBSVC_CS */ @@ -3171,7 +3171,7 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_VOLD) { - cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" + cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" "\tdoing cv_broadcast - " "rs->media_state of DKIO_INSERTED\n", rs->sn); } @@ -3197,14 +3197,14 @@ pcram_card_insertion(pcram_state_t *rs) * Do a CS call to check the card state */ if ((ret = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_card_insertion: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, ret); mutex_enter(&rs->event_hilock); cv_broadcast(&rs->firstopenwait_cv); mutex_exit(&rs->event_hilock); @@ -3217,7 +3217,7 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, "pcram_card_insertion: socket %d " - "ERROR: Found no memory card\n", rs->sn); + "ERROR: Found no memory card\n", rs->sn); } #endif mutex_enter(&rs->event_hilock); @@ -3237,14 +3237,14 @@ pcram_card_insertion(pcram_state_t *rs) */ se.Attributes = CONF_EVENT_MASK_CLIENT; if ((ret = csx_GetEventMask(rs->client_handle, &se)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_card_insertion: socket %d " - "GetEventMask failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "GetEventMask failed %s (0x%x)\n", + rs->sn, cft.text, ret); mutex_enter(&rs->event_hilock); cv_broadcast(&rs->firstopenwait_cv); mutex_exit(&rs->event_hilock); @@ -3253,17 +3253,17 @@ pcram_card_insertion(pcram_state_t *rs) } se.EventMask |= (CS_EVENT_BATTERY_LOW | CS_EVENT_BATTERY_DEAD | - CS_EVENT_WRITE_PROTECT); + CS_EVENT_WRITE_PROTECT); if ((ret = csx_SetEventMask(rs->client_handle, &se)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_card_insertion: socket %d " - "SetEventMask failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "SetEventMask failed %s (0x%x)\n", + rs->sn, cft.text, ret); mutex_enter(&rs->event_hilock); cv_broadcast(&rs->firstopenwait_cv); mutex_exit(&rs->event_hilock); @@ -3282,15 +3282,15 @@ pcram_card_insertion(pcram_state_t *rs) mutex_exit(&rs->mutex); if ((ret = csx_ReleaseWindow(rs->window_handle)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, - "pcram_card_insertion: socket %d " - "ReleaseWindow failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "pcram_card_insertion: socket %d " + "ReleaseWindow failed %s (0x%x)\n", + rs->sn, cft.text, ret); } } @@ -3298,7 +3298,7 @@ pcram_card_insertion(pcram_state_t *rs) * Try to get a memory window to CM space */ win_req.Attributes = (WIN_MEMORY_TYPE_CM | WIN_DATA_WIDTH_16 | - WIN_ENABLE); + WIN_ENABLE); win_req.Base.base = 0; /* let CS find us a base address */ win_req.Size = 0; /* let CS return the smallest size */ /* window it finds */ @@ -3313,14 +3313,14 @@ pcram_card_insertion(pcram_state_t *rs) win_req.win_params.AccessSpeed = convert_speed.devspeed; if ((ret = csx_RequestWindow(rs->client_handle, - &rs->window_handle, &win_req)) != CS_SUCCESS) { + &rs->window_handle, &win_req)) != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_card_insertion: socket %d " - "RequestWindow failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "RequestWindow failed %s (0x%x)\n", + rs->sn, cft.text, ret); mutex_enter(&rs->event_hilock); cv_broadcast(&rs->firstopenwait_cv); mutex_exit(&rs->event_hilock); @@ -3334,15 +3334,15 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { - cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" - "\tRequestWindow successful handle 0x%x\n" - "\tAttributes 0x%x Base 0x%x \n" - "\tSize 0x%x AccessSpeed 0x%x\n", - rs->sn, rs->window_handle, - win_req.Attributes, - win_req.Base.base, - win_req.Size, - win_req.win_params.AccessSpeed); + cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" + "\tRequestWindow successful handle 0x%x\n" + "\tAttributes 0x%x Base 0x%x \n" + "\tSize 0x%x AccessSpeed 0x%x\n", + rs->sn, rs->window_handle, + win_req.Attributes, + win_req.Base.base, + win_req.Size, + win_req.win_params.AccessSpeed); } #endif @@ -3353,7 +3353,7 @@ pcram_card_insertion(pcram_state_t *rs) map_mem_page.Page = 0; if ((ret = csx_MapMemPage(rs->window_handle, - &map_mem_page)) != CS_SUCCESS) { + &map_mem_page)) != CS_SUCCESS) { error2text_t cft; cft.item = ret; @@ -3364,19 +3364,19 @@ pcram_card_insertion(pcram_state_t *rs) mutex_exit(&rs->mutex); cmn_err(CE_CONT, "pcram_card_insertion: socket %d " - "MapMemPage failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "MapMemPage failed %s (0x%x)\n", + rs->sn, cft.text, ret); if ((ret = csx_ReleaseWindow(rs->window_handle)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, - "pcram_card_insertion: socket %d " - "ReleaseWindow failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "pcram_card_insertion: socket %d " + "ReleaseWindow failed %s (0x%x)\n", + rs->sn, cft.text, ret); } mutex_enter(&rs->event_hilock); cv_broadcast(&rs->firstopenwait_cv); @@ -3393,12 +3393,12 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { - cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" - "\tBase 0x%x rs->access_handle 0x%p\n" - "\tSize 0x%x rs->win_size 0x%x\n", - rs->sn, - win_req.Base.base, (void *)rs->access_handle, - win_req.Size, (int)rs->win_size); + cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" + "\tBase 0x%x rs->access_handle 0x%p\n" + "\tSize 0x%x rs->win_size 0x%x\n", + rs->sn, + win_req.Base.base, (void *)rs->access_handle, + win_req.Size, (int)rs->win_size); } #endif @@ -3412,11 +3412,11 @@ pcram_card_insertion(pcram_state_t *rs) rval = CS_GENERAL_FAILURE; if (ret == 0) { cmn_err(CE_CONT, - "pcram_card_insertion: socket %d \n" - "\tERROR - pcram_build_region_lists - " - "AM[%d], CM[%d]\n", - rs->sn, rs->num_am_regions, - rs->num_cm_regions); + "pcram_card_insertion: socket %d \n" + "\tERROR - pcram_build_region_lists - " + "AM[%d], CM[%d]\n", + rs->sn, rs->num_am_regions, + rs->num_cm_regions); } else if (ret == -2) { /* * Found unsupported Device error @@ -3429,9 +3429,9 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" - "\tRegion number - AM[%d], CM[%d]\n", - rs->sn, rs->num_am_regions, rs->num_cm_regions); + cmn_err(CE_CONT, "pcram_card_insertion: socket %d \n" + "\tRegion number - AM[%d], CM[%d]\n", + rs->sn, rs->num_am_regions, rs->num_cm_regions); } #endif @@ -3453,9 +3453,9 @@ pcram_card_insertion(pcram_state_t *rs) /* Get BUILD_DOS_BPBFAT_LIST list */ first = 1; while (mrp = pcram_get_firstnext_region(mrp, - REGION_DOS_BPBFAT, - CISTPL_DEVICE_DTYPE_SRAM, - &first)) { + REGION_DOS_BPBFAT, + CISTPL_DEVICE_DTYPE_SRAM, + &first)) { /* XXX - For now assuming there is ONLY */ /* one DOS region */ @@ -3464,17 +3464,17 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, - "pcram_card_insertion: socket %d - " - "BUILD_DOS_BPBFAT_LIST\n\tdevice speed [%d]\n", - rs->sn, (int)mrp->nS_speed); + cmn_err(CE_CONT, + "pcram_card_insertion: socket %d - " + "BUILD_DOS_BPBFAT_LIST\n\tdevice speed [%d]\n", + rs->sn, (int)mrp->nS_speed); } #endif /* for VERBOSE mode */ cmn_err(CE_CONT, "?pcram: " - "(MSDOS) socket %d card size %d\n", - rs->sn, rs->card_size); + "(MSDOS) socket %d card size %d\n", + rs->sn, rs->card_size); } /* while */ @@ -3483,9 +3483,9 @@ pcram_card_insertion(pcram_state_t *rs) mrp = rs->cm_regions; first = 1; while (mrp = pcram_get_firstnext_region(mrp, - REGION_SOLARIS, - CISTPL_DEVICE_DTYPE_SRAM, - &first)) { + REGION_SOLARIS, + CISTPL_DEVICE_DTYPE_SRAM, + &first)) { /* XXX - For now assuming there is ONLY */ /* one Solaris region */ @@ -3494,16 +3494,16 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, - "pcram_card_insertion: socket %d - BUILD_SOLARIS_LIST\n" - "\tdevice speed [%d]\n", rs->sn, (int)mrp->nS_speed); + cmn_err(CE_CONT, + "pcram_card_insertion: socket %d - BUILD_SOLARIS_LIST\n" + "\tdevice speed [%d]\n", rs->sn, (int)mrp->nS_speed); } #endif /* for VERBOSE mode */ cmn_err(CE_CONT, "?pcram: " - "(SOLARIS) socket %d card size %d\n", - rs->sn, rs->card_size); + "(SOLARIS) socket %d card size %d\n", + rs->sn, rs->card_size); } /* while */ @@ -3512,9 +3512,9 @@ pcram_card_insertion(pcram_state_t *rs) mrp = rs->cm_regions; first = 1; while (mrp = pcram_get_firstnext_region(mrp, - REGION_DEFAULT, - CISTPL_DEVICE_DTYPE_SRAM, - &first)) { + REGION_DEFAULT, + CISTPL_DEVICE_DTYPE_SRAM, + &first)) { /* XXX - For now assuming there is ONLY */ /* one DEFAULT region */ @@ -3526,17 +3526,17 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, - "pcram_card_insertion: socket %d - BUILD_DEFAULT_LIST\n" - "\tdevice speed [%d]\n", rs->sn, (int)mrp->nS_speed); + cmn_err(CE_CONT, + "pcram_card_insertion: socket %d - BUILD_DEFAULT_LIST\n" + "\tdevice speed [%d]\n", rs->sn, (int)mrp->nS_speed); } #endif update_hdrv_chars(rs, mrp); /* for VERBOSE mode */ cmn_err(CE_CONT, "?pcram: " - "(DEFAULT) socket %d card size %d\n", - rs->sn, rs->card_size); + "(DEFAULT) socket %d card size %d\n", + rs->sn, rs->card_size); } /* while */ @@ -3545,9 +3545,9 @@ pcram_card_insertion(pcram_state_t *rs) mrp = rs->cm_regions; first = 1; while (mrp = pcram_get_firstnext_region(mrp, - REGION_VALID, - CISTPL_DEVICE_DTYPE_SRAM, - &first)) { + REGION_VALID, + CISTPL_DEVICE_DTYPE_SRAM, + &first)) { /* XXX - For now assuming there is ONLY */ /* one CM CIS region */ @@ -3560,8 +3560,8 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { cmn_err(CE_CONT, "pcram_card_insertion: socket %d - " - "BUILD_CM_LIST\n\tdevice speed [%d]\n", - rs->sn, (int)mrp->nS_speed); + "BUILD_CM_LIST\n\tdevice speed [%d]\n", + rs->sn, (int)mrp->nS_speed); } #endif @@ -3604,22 +3604,22 @@ pcram_card_insertion(pcram_state_t *rs) */ for (n = 0; n < (make_device_node.NumDevNodes); - n++) { + n++) { dnd = &make_device_node.devnode_desc[n]; dnd->name = dname; dnd->minor_num = - PCRAM_SETMINOR(rs->sn, (n+4)/2); + PCRAM_SETMINOR(rs->sn, (n+4)/2); if (n&1) { dnd->spec_type = S_IFCHR; (void) sprintf(dname, "%c,raw", - (((n+4)/2)+'a')); + (((n+4)/2)+'a')); } else { dnd->spec_type = S_IFBLK; (void) sprintf(dname, "%c", - (((n+4)/2)+'a')); + (((n+4)/2)+'a')); } dnd->node_type = DDI_NT_BLOCK_CHAN; @@ -3628,7 +3628,7 @@ pcram_card_insertion(pcram_state_t *rs) } /* for */ if ((ret = csx_MakeDeviceNode(rs->client_handle, - &make_device_node)) != CS_SUCCESS) { + &make_device_node)) != CS_SUCCESS) { error2text_t cft; @@ -3652,8 +3652,8 @@ pcram_card_insertion(pcram_state_t *rs) * in a global data area. */ kmem_free(make_device_node.devnode_desc, - sizeof (struct devnode_desc) * - make_device_node.NumDevNodes); + sizeof (struct devnode_desc) * + make_device_node.NumDevNodes); make_device_node.devnode_desc = NULL; @@ -3661,18 +3661,18 @@ pcram_card_insertion(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { - cmn_err(CE_CONT, "pcram_card_insertion: socket %d\n" - "\tRegion list - hard drive structure\n" - "\tcsize [%d] ncyl [%d] hd [%d] " - "spt [%d] ssize [%d]\n", rs->sn, - rs->card_size, - rs->hdrv_chars->drv_ncyl, - rs->hdrv_chars->drv_nhead, - rs->hdrv_chars->drv_secptrack, - rs->hdrv_chars->drv_sec_size); - - cmn_err(CE_CONT, "pcram: socket%d card size [%d bytes]\n", - rs->sn, rs->card_size); + cmn_err(CE_CONT, "pcram_card_insertion: socket %d\n" + "\tRegion list - hard drive structure\n" + "\tcsize [%d] ncyl [%d] hd [%d] " + "spt [%d] ssize [%d]\n", rs->sn, + rs->card_size, + rs->hdrv_chars->drv_ncyl, + rs->hdrv_chars->drv_nhead, + rs->hdrv_chars->drv_secptrack, + rs->hdrv_chars->drv_sec_size); + + cmn_err(CE_CONT, "pcram: socket%d card size [%d bytes]\n", + rs->sn, rs->card_size); } #endif @@ -3733,10 +3733,10 @@ pcram_card_removal(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_VOLD) { cmn_err(CE_CONT, - "pcram_card_removal: socket %d \n" - "\tdoing cv_broadcast - " - "rs->media_state of DKIO_EJECTED\n", - rs->sn); + "pcram_card_removal: socket %d \n" + "\tdoing cv_broadcast - " + "rs->media_state of DKIO_EJECTED\n", + rs->sn); } #endif } @@ -3759,7 +3759,7 @@ pcram_card_removal(pcram_state_t *rs) make_device_node.NumDevNodes = 0; if ((ret = csx_MakeDeviceNode(rs->client_handle, - &make_device_node)) != CS_SUCCESS) { + &make_device_node)) != CS_SUCCESS) { error2text_t cft; @@ -3767,9 +3767,9 @@ pcram_card_removal(pcram_state_t *rs) (void) csx_Error2Text(&cft); cmn_err(CE_CONT, - "pcram_card_removal: socket %d " - "MakeDeviceNode failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "pcram_card_removal: socket %d " + "MakeDeviceNode failed %s (0x%x)\n", + rs->sn, cft.text, ret); } } /* remove device nodes */ @@ -3779,14 +3779,14 @@ pcram_card_removal(pcram_state_t *rs) * Do a CS call to check the card state */ if ((ret = csx_GetStatus(rs->client_handle, &get_status)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_card_removal: socket %d " - "GetStatus failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "GetStatus failed %s (0x%x)\n", + rs->sn, cft.text, ret); return (ret); /* NOTREACHED */ } @@ -3794,7 +3794,7 @@ pcram_card_removal(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, "pcram_card_removal: socket %d " - "GetStatus returns:\n", rs->sn); + "GetStatus returns:\n", rs->sn); pcram_display_card_status(&get_status); } #endif @@ -3813,10 +3813,10 @@ pcram_card_removal(pcram_state_t *rs) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_TRACE) { - cmn_err(CE_CONT, "pcram_card_removal: socket %d " - "PCRAM_HAS_WINDOW [0x%x]\n" - "\trs->flags [0x%x]:\n", rs->sn, - PCRAM_HAS_WINDOW, (int)rs->flags); + cmn_err(CE_CONT, "pcram_card_removal: socket %d " + "PCRAM_HAS_WINDOW [0x%x]\n" + "\trs->flags [0x%x]:\n", rs->sn, + PCRAM_HAS_WINDOW, (int)rs->flags); } #endif @@ -3825,16 +3825,16 @@ pcram_card_removal(pcram_state_t *rs) mutex_exit(&rs->mutex); if ((ret = csx_ReleaseWindow(rs->window_handle)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, - "pcram_card_removal: socket %d " - "ReleaseWindow failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "pcram_card_removal: socket %d " + "ReleaseWindow failed %s (0x%x)\n", + rs->sn, cft.text, ret); return (ret); /* NOTREACHED */ } @@ -3850,33 +3850,33 @@ pcram_card_removal(pcram_state_t *rs) */ se.Attributes = CONF_EVENT_MASK_CLIENT; if ((ret = csx_GetEventMask(rs->client_handle, &se)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_card_removal: socket %d" - "GetEventMask failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "GetEventMask failed %s (0x%x)\n", + rs->sn, cft.text, ret); return (ret); /* NOTREACHED */ } se.EventMask &= ~(CS_EVENT_BATTERY_LOW | - CS_EVENT_BATTERY_DEAD | - CS_EVENT_WRITE_PROTECT); + CS_EVENT_BATTERY_DEAD | + CS_EVENT_WRITE_PROTECT); if ((ret = csx_SetEventMask(rs->client_handle, &se)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; (void) csx_Error2Text(&cft); cmn_err(CE_CONT, "pcram_card_removal: socket %d" - "SetEventMask failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "SetEventMask failed %s (0x%x)\n", + rs->sn, cft.text, ret); return (ret); /* NOTREACHED */ } @@ -3914,7 +3914,7 @@ pcram_display_card_status(get_status_t *gs) if (pcram_debug & PCRAM_DEBUG_CARD_STATUS) { cmn_err(CE_CONT, "\tSocketState [%s]\n", - event2text.text); + event2text.text); } } @@ -3964,7 +3964,7 @@ pcram_build_region_lists(pcram_state_t *rs) * is very easy. */ if ((ret = csx_ValidateCIS(rs->client_handle, &cisinfo)) - != CS_SUCCESS) { + != CS_SUCCESS) { error2text_t cft; cft.item = ret; @@ -3972,9 +3972,9 @@ pcram_build_region_lists(pcram_state_t *rs) if (ret != CS_NO_CIS) { cmn_err(CE_CONT, "pcram_build_region_lists: " - "socket %d" - "ValidateCIS failed %s (0x%x)\n", - rs->sn, cft.text, ret); + "socket %d" + "ValidateCIS failed %s (0x%x)\n", + rs->sn, cft.text, ret); return (0); /* NOTREACHED */ /* @@ -3983,42 +3983,42 @@ pcram_build_region_lists(pcram_state_t *rs) */ } else { - if ((rs->num_cm_regions = - pcram_build_region_list(rs, - &rs->cm_regions, - BUILD_DOS_BPBFAT_LIST)) <= 0) { - - /* - * Couldn't find a BPB-FAT filesystem, so first - * destroy the CM list that was just built and - * build the default CM region list. - */ - pcram_destroy_region_lists(rs); - if ((rs->num_cm_regions = - pcram_build_region_list( - rs, &rs->cm_regions, - BUILD_SOLARIS_LIST)) <= 0) { + pcram_build_region_list(rs, + &rs->cm_regions, + BUILD_DOS_BPBFAT_LIST)) <= 0) { + /* + * Couldn't find a BPB-FAT filesystem, so first + * destroy the CM list that was just built and + * build the default CM region list. + */ pcram_destroy_region_lists(rs); if ((rs->num_cm_regions = - pcram_build_region_list( + pcram_build_region_list( + rs, &rs->cm_regions, + BUILD_SOLARIS_LIST)) <= 0) { + + pcram_destroy_region_lists(rs); + + if ((rs->num_cm_regions = + pcram_build_region_list( rs, &rs->cm_regions, BUILD_DEFAULT_LIST)) <= 0) { - cmn_err(CE_CONT, - "pcram_build_region_lists: " - "socket %d \n" - "\terror building " - "default list\n", - rs->sn); - return (0); - /* NOTREACHED */ - } /* (BUILD_DEFAULT_LIST) */ + cmn_err(CE_CONT, + "pcram_build_region_lists: " + "socket %d \n" + "\terror building " + "default list\n", + rs->sn); + return (0); + /* NOTREACHED */ + } /* (BUILD_DEFAULT_LIST) */ - } /* (BUILD_SOLARIS_LIST) */ + } /* (BUILD_SOLARIS_LIST) */ - } /* (BUILD_DOS_BPBFAT_LIST) */ + } /* (BUILD_DOS_BPBFAT_LIST) */ } /* CS_NO_CIS */ /* @@ -4030,11 +4030,11 @@ pcram_build_region_lists(pcram_state_t *rs) * an empty AM space list. */ if ((rs->num_am_regions = pcram_build_region_list(rs, - &rs->am_regions, BUILD_AM_LIST)) < 0) { + &rs->am_regions, BUILD_AM_LIST)) < 0) { cmn_err(CE_CONT, "pcram_build_region_lists: " - "socket %d \n" - "\terror building AM region list\n", - rs->sn); + "socket %d \n" + "\terror building AM region list\n", + rs->sn); return (0); /* NOTREACHED */ } @@ -4044,7 +4044,7 @@ pcram_build_region_lists(pcram_state_t *rs) * for the driver to work at all. */ if ((rs->num_cm_regions = pcram_build_region_list(rs, - &rs->cm_regions, BUILD_CM_LIST)) < 0) { + &rs->cm_regions, BUILD_CM_LIST)) < 0) { if (rs->num_cm_regions == -2) { /* * Found unsupported Device @@ -4054,10 +4054,10 @@ pcram_build_region_lists(pcram_state_t *rs) /* NOTREACHED */ } else { cmn_err(CE_CONT, - "pcram_build_region_lists: " - "socket %d \n" - "\terror building CM " - "region list\n", rs->sn); + "pcram_build_region_lists: " + "socket %d \n" + "\terror building CM " + "region list\n", rs->sn); return (0); /* NOTREACHED */ } @@ -4071,16 +4071,16 @@ pcram_build_region_lists(pcram_state_t *rs) * we just return an error instead? */ rs->num_cm_regions = pcram_build_region_list(rs, - &rs->cm_regions, - (BUILD_CM_LIST | - BUILD_DEFAULT_LIST)); + &rs->cm_regions, + (BUILD_CM_LIST | + BUILD_DEFAULT_LIST)); } #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { cmn_err(CE_CONT, - "pcram_build_region_lists: socket %d \n" - "\t(BUILD_AM_LIST | BUILD_CM_LIST)\n", rs->sn); + "pcram_build_region_lists: socket %d \n" + "\t(BUILD_AM_LIST | BUILD_CM_LIST)\n", rs->sn); } #endif @@ -4133,8 +4133,8 @@ pcram_build_region_list(pcram_state_t *rs, if (*rlist) { #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_build_region_list: socket %d " - "ERROR *rlist = 0x%p\n", rs->sn, (void *)*rlist); + cmn_err(CE_CONT, "pcram_build_region_list: socket %d " + "ERROR *rlist = 0x%p\n", rs->sn, (void *)*rlist); } #endif return (-1); @@ -4145,20 +4145,20 @@ pcram_build_region_list(pcram_state_t *rs, * Do the common setup for a default or DOS partition. */ if (flags & (BUILD_DEFAULT_LIST | - BUILD_DOS_BPBFAT_LIST | BUILD_SOLARIS_LIST)) { - *rlist = kmem_zalloc(sizeof (mem_region_t), KM_SLEEP); - mr = *rlist; - mr->region_num = 0; - mr->flags = 0; + BUILD_DOS_BPBFAT_LIST | BUILD_SOLARIS_LIST)) { + *rlist = kmem_zalloc(sizeof (mem_region_t), KM_SLEEP); + mr = *rlist; + mr->region_num = 0; + mr->flags = 0; - mr->next = NULL; - mr->prev = NULL; + mr->next = NULL; + mr->prev = NULL; - mr->nS_speed = DEFAULT_CM_SPEED; - convert_speed.Attributes = CONVERT_NS_TO_DEVSPEED; - convert_speed.nS = mr->nS_speed; - (void) csx_ConvertSpeed(&convert_speed); - mr->speed = convert_speed.devspeed; + mr->nS_speed = DEFAULT_CM_SPEED; + convert_speed.Attributes = CONVERT_NS_TO_DEVSPEED; + convert_speed.nS = mr->nS_speed; + (void) csx_ConvertSpeed(&convert_speed); + mr->speed = convert_speed.devspeed; } /* if (BUILD_DEFAULT_LIST | BUILD_DOS_BPBFAT_LIST) */ @@ -4182,10 +4182,10 @@ pcram_build_region_list(pcram_state_t *rs, #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_build_region_list: socket %d " - "BUILD_DEFAULT_LIST\n" - "\tsize_in_bytes - [%d] size [0x%x]\n", - rs->sn, (int)mr->size_in_bytes, (int)mr->size); + cmn_err(CE_CONT, "pcram_build_region_list: socket %d " + "BUILD_DEFAULT_LIST\n" + "\tsize_in_bytes - [%d] size [0x%x]\n", + rs->sn, (int)mr->size_in_bytes, (int)mr->size); } #endif @@ -4228,10 +4228,10 @@ pcram_build_region_list(pcram_state_t *rs, #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_build_region_list: socket %d " - "BUILD_DOS_BPBFAT_LIST\n" - "\tsize_in_bytes - [%d] size [0x%x]\n", - rs->sn, (int)mr->size_in_bytes, (int)mr->size); + cmn_err(CE_CONT, "pcram_build_region_list: socket %d " + "BUILD_DOS_BPBFAT_LIST\n" + "\tsize_in_bytes - [%d] size [0x%x]\n", + rs->sn, (int)mr->size_in_bytes, (int)mr->size); } #endif @@ -4261,10 +4261,10 @@ pcram_build_region_list(pcram_state_t *rs, #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_build_region_list: socket %d " - "BUILD_SOLARIS_LIST\n" - "\tsize_in_bytes - [%d] size [0x%x]\n", - rs->sn, (int)mr->size_in_bytes, (int)mr->size); + cmn_err(CE_CONT, "pcram_build_region_list: socket %d " + "BUILD_SOLARIS_LIST\n" + "\tsize_in_bytes - [%d] size [0x%x]\n", + rs->sn, (int)mr->size_in_bytes, (int)mr->size); } #endif @@ -4277,17 +4277,17 @@ pcram_build_region_list(pcram_state_t *rs, * We've got a CIS so sort out the correct tuples to look for. */ switch (flags & (BUILD_AM_LIST | BUILD_CM_LIST)) { - case BUILD_AM_LIST: + case BUILD_AM_LIST: device_tuple = CISTPL_DEVICE_A; JEDEC_tuple = CISTPL_JEDEC_A; break; - case BUILD_CM_LIST: + case BUILD_CM_LIST: device_tuple = CISTPL_DEVICE; JEDEC_tuple = CISTPL_JEDEC_C; break; - default: + default: return (-1); - /* NOTREACHED */ + /* NOTREACHED */ } /* switch (flags) */ /* @@ -4297,16 +4297,16 @@ pcram_build_region_list(pcram_state_t *rs, tuple.Attributes = 0; tuple.DesiredTuple = device_tuple; if ((ret = csx_GetFirstTuple(rs->client_handle, &tuple)) - != CS_SUCCESS) { - if (ret != CS_NO_MORE_ITEMS) { - /* this is a real error */ - return (-1); - /* NOTREACHED */ - } else { - /* XXX - is 0 the right thing to return here? */ - return (0); - /* NOTREACHED */ - } + != CS_SUCCESS) { + if (ret != CS_NO_MORE_ITEMS) { + /* this is a real error */ + return (-1); + /* NOTREACHED */ + } else { + /* XXX - is 0 the right thing to return here? */ + return (0); + /* NOTREACHED */ + } } /* @@ -4326,7 +4326,7 @@ pcram_build_region_list(pcram_state_t *rs, */ bzero(&cistpl_device, sizeof (struct cistpl_device_t)); if (csx_Parse_CISTPL_DEVICE(rs->client_handle, - &tuple, &cistpl_device) != CS_SUCCESS) { + &tuple, &cistpl_device) != CS_SUCCESS) { return (-1); /* NOTREACHED */ } @@ -4375,13 +4375,13 @@ pcram_build_region_list(pcram_state_t *rs, mrr->nS_speed = cistpl_device_node->nS_speed; if ((mrr->type = cistpl_device_node->type) == - CISTPL_DEVICE_DTYPE_NULL) { + CISTPL_DEVICE_DTYPE_NULL) { mrr->rflags |= REGION_HOLE; } mrr->size = cistpl_device_node->size; mrr->size_in_bytes = - cistpl_device_node->size_in_bytes; + cistpl_device_node->size_in_bytes; /* @@ -4390,68 +4390,68 @@ pcram_build_region_list(pcram_state_t *rs, */ if (device_tuple == CISTPL_DEVICE) { - char *unsupported_fmt_string = - "pcram: WARNING - Found unsupported " - "%s device at socket %d\n"; - char *supported_fmt_string = - "?pcram: Found %s device at socket %d " - "card size %d\n"; + char *unsupported_fmt_string = + "pcram: WARNING - Found unsupported " + "%s device at socket %d\n"; + char *supported_fmt_string = + "?pcram: Found %s device at socket %d " + "card size %d\n"; - switch (cistpl_device_node->type) { + switch (cistpl_device_node->type) { - case CISTPL_DEVICE_DTYPE_SRAM: + case CISTPL_DEVICE_DTYPE_SRAM: /* Support this main device */ break; - case CISTPL_DEVICE_DTYPE_ROM: + case CISTPL_DEVICE_DTYPE_ROM: /* for VERBOSE mode */ cmn_err(CE_CONT, supported_fmt_string, - "Masked ROM", rs->sn, - (int)cistpl_device_node->size_in_bytes); + "Masked ROM", rs->sn, + (int)cistpl_device_node->size_in_bytes); /* Now consider as SRAM type */ mrr->type = CISTPL_DEVICE_DTYPE_SRAM; break; - case CISTPL_DEVICE_DTYPE_DRAM: + case CISTPL_DEVICE_DTYPE_DRAM: /* for VERBOSE mode */ cmn_err(CE_CONT, supported_fmt_string, - "Dynamic RAM", rs->sn, - (int)cistpl_device_node->size_in_bytes); + "Dynamic RAM", rs->sn, + (int)cistpl_device_node->size_in_bytes); /* Now consider as SRAM type */ mrr->type = CISTPL_DEVICE_DTYPE_SRAM; break; - case CISTPL_DEVICE_DTYPE_OTPROM: + case CISTPL_DEVICE_DTYPE_OTPROM: cmn_err(CE_CONT, unsupported_fmt_string, - "OTPROM", rs->sn); + "OTPROM", rs->sn); return (-2); /* NOTREACHED */ - case CISTPL_DEVICE_DTYPE_EPROM: + case CISTPL_DEVICE_DTYPE_EPROM: cmn_err(CE_CONT, unsupported_fmt_string, - "UV EPROM", rs->sn); + "UV EPROM", rs->sn); return (-2); /* NOTREACHED */ - case CISTPL_DEVICE_DTYPE_EEPROM: + case CISTPL_DEVICE_DTYPE_EEPROM: cmn_err(CE_CONT, unsupported_fmt_string, - "EEPROM", rs->sn); + "EEPROM", rs->sn); return (-2); /* NOTREACHED */ - case CISTPL_DEVICE_DTYPE_FLASH: + case CISTPL_DEVICE_DTYPE_FLASH: cmn_err(CE_CONT, unsupported_fmt_string, - "FLASH", rs->sn); + "FLASH", rs->sn); return (-2); /* NOTREACHED */ - default: + default: cmn_err(CE_CONT, unsupported_fmt_string, - "UNKNOWN", rs->sn); + "UNKNOWN", rs->sn); return (-2); /* NOTREACHED */ - } /* switch (cistpl_device_node->type) */ + } /* switch (cistpl_device_node->type) */ } /* if (device_tuple) */ @@ -4465,10 +4465,10 @@ pcram_build_region_list(pcram_state_t *rs, mrr->next = NULL; - } /* for (cistpl_device_node->num_devices) */ + } /* for (cistpl_device_node->num_devices) */ } while ((ret = csx_GetNextTuple(rs->client_handle, &tuple)) - == CS_SUCCESS); + == CS_SUCCESS); /* * If GetNextTuple gave us any error code other than @@ -4476,7 +4476,7 @@ pcram_build_region_list(pcram_state_t *rs, * an internal error in the CIS parser. */ if (ret != CS_NO_MORE_ITEMS) { - return (-1); /* this is a real error */ + return (-1); /* this is a real error */ /* NOTREACHED */ } @@ -4488,15 +4488,15 @@ pcram_build_region_list(pcram_state_t *rs, tuple.Attributes = 0; tuple.DesiredTuple = JEDEC_tuple; if ((ret = csx_GetFirstTuple(rs->client_handle, &tuple)) - != CS_SUCCESS) { - if (ret != CS_NO_MORE_ITEMS) { - /* this is a real error */ - return (-1); - /* NOTREACHED */ - } else { - return (region_num); - /* NOTREACHED */ - } + != CS_SUCCESS) { + if (ret != CS_NO_MORE_ITEMS) { + /* this is a real error */ + return (-1); + /* NOTREACHED */ + } else { + return (region_num); + /* NOTREACHED */ + } } /* @@ -4517,7 +4517,7 @@ pcram_build_region_list(pcram_state_t *rs, */ bzero(&cistpl_jedec, sizeof (struct cistpl_jedec_t)); if (csx_Parse_CISTPL_JEDEC_C(rs->client_handle, - &tuple, &cistpl_jedec) != CS_SUCCESS) { + &tuple, &cistpl_jedec) != CS_SUCCESS) { return (-1); /* NOTREACHED */ } @@ -4545,14 +4545,14 @@ pcram_build_region_list(pcram_state_t *rs, * be a serious error. */ if (!mr) { - cmn_err(CE_CONT, - "pcram_build_region_list: socket %d" - "too many JEDEC device entries" - "in %s memory list\n", - rs->sn, (flags & BUILD_AM_LIST)? - "ATTRIBUTE":"COMMON"); - return (region_num); - /* NOTREACHED */ + cmn_err(CE_CONT, + "pcram_build_region_list: socket %d" + "too many JEDEC device entries" + "in %s memory list\n", + rs->sn, (flags & BUILD_AM_LIST)? + "ATTRIBUTE":"COMMON"); + return (region_num); + /* NOTREACHED */ } mr->id = cistpl_jedec.jid[i].id; @@ -4566,7 +4566,7 @@ pcram_build_region_list(pcram_state_t *rs, } /* for (cistpl_jedec.nid) */ } while ((ret = csx_GetNextTuple(rs->client_handle, - &tuple)) == CS_SUCCESS); + &tuple)) == CS_SUCCESS); /* * If GetNextTuple gave us any error code other than @@ -4574,8 +4574,8 @@ pcram_build_region_list(pcram_state_t *rs, * an internal error in the CIS parser. */ if (ret != CS_NO_MORE_ITEMS) { - return (-1); /* this is a real error */ - /* NOTREACHED */ + return (-1); /* this is a real error */ + /* NOTREACHED */ } /* @@ -4649,54 +4649,53 @@ pcram_get_bpbfat_info(pcram_state_t *rs, mem_region_t *mr) mr->type = CISTPL_DEVICE_DTYPE_SRAM; csx_RepGet8(rs->access_handle, (uchar_t *)&bootblk, (uint32_t)0, - sizeof (struct bootblock), DDI_DEV_AUTOINCR); + sizeof (struct bootblock), DDI_DEV_AUTOINCR); if (bootblk.sig[0] == DOS_ID1 || - (bootblk.sig[0] == DOS_ID2a && - bootblk.sig[2] == DOS_ID2b)) { + (bootblk.sig[0] == DOS_ID2a && + bootblk.sig[2] == DOS_ID2b)) { rs->hdrv_chars->drv_sec_size = - GET_INFO(bootblk.bps[0], bootblk.bps[1]); + GET_INFO(bootblk.bps[0], bootblk.bps[1]); rs->hdrv_chars->drv_secptrack = - GET_INFO(bootblk.sectrack[0], - bootblk.sectrack[1]); + GET_INFO(bootblk.sectrack[0], + bootblk.sectrack[1]); rs->hdrv_chars->drv_nhead = - GET_INFO(bootblk.heads[0], bootblk.heads[1]); + GET_INFO(bootblk.heads[0], bootblk.heads[1]); tsecvol = GET_INFO(bootblk.tsec[0], bootblk.tsec[1]); rs->card_size = GET_CSIZ_DOS(tsecvol, - rs->hdrv_chars->drv_sec_size); + rs->hdrv_chars->drv_sec_size); /* Return error if found invalid DOS label */ /* Avoiding zero divide panic when compute drv_ncyl */ if ((rs->card_size == 0) || - (rs->hdrv_chars->drv_sec_size == 0) || - (rs->hdrv_chars->drv_secptrack == 0) || - (rs->hdrv_chars->drv_nhead == 0)) { + (rs->hdrv_chars->drv_sec_size == 0) || + (rs->hdrv_chars->drv_secptrack == 0) || + (rs->hdrv_chars->drv_nhead == 0)) { /* set to default default size of 64MB */ *rs->hdrv_chars = hdtypes; rs->card_size = MAX_CARD_SIZE; cmn_err(CE_WARN, "pcram: socket%d " - "Found invalid DOS label", rs->sn); + "Found invalid DOS label", rs->sn); return (0); /* NOTREACHED */ } - rs->hdrv_chars->drv_ncyl = - GET_NCYL(rs->card_size, - rs->hdrv_chars->drv_nhead, - rs->hdrv_chars->drv_sec_size, - rs->hdrv_chars->drv_secptrack); + rs->hdrv_chars->drv_ncyl = GET_NCYL(rs->card_size, + rs->hdrv_chars->drv_nhead, + rs->hdrv_chars->drv_sec_size, + rs->hdrv_chars->drv_secptrack); mr->size_in_bytes = rs->card_size; #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_get_bpbfat_info: socket %d \n" - "\trs->card_size [%d] mr->size_in_bytes [%d]\n", - rs->sn, rs->card_size, (int)mr->size_in_bytes); + cmn_err(CE_CONT, "pcram_get_bpbfat_info: socket %d \n" + "\trs->card_size [%d] mr->size_in_bytes [%d]\n", + rs->sn, rs->card_size, (int)mr->size_in_bytes); } #endif return (1); @@ -4736,7 +4735,7 @@ pcram_get_solaris_info(pcram_state_t *rs, mem_region_t *mr) mr->type = CISTPL_DEVICE_DTYPE_SRAM; csx_RepGet8(rs->access_handle, (uchar_t *)&label, (uint32_t)0, - sizeof (struct dk_label), DDI_DEV_AUTOINCR); + sizeof (struct dk_label), DDI_DEV_AUTOINCR); if ((label.dkl_magic == DKL_MAGIC) && (cksum(&label) == 0)) { /* @@ -4749,9 +4748,9 @@ pcram_get_solaris_info(pcram_state_t *rs, mem_region_t *mr) rs->hdrv_chars->drv_ncyl = label.dkl_pcyl; rs->card_size = GET_CSIZ(rs->hdrv_chars->drv_ncyl, - rs->hdrv_chars->drv_nhead, - rs->hdrv_chars->drv_sec_size, - rs->hdrv_chars->drv_secptrack); + rs->hdrv_chars->drv_nhead, + rs->hdrv_chars->drv_sec_size, + rs->hdrv_chars->drv_secptrack); /* Return error if found invalid SunOS label */ if (rs->card_size == 0) { @@ -4759,7 +4758,7 @@ pcram_get_solaris_info(pcram_state_t *rs, mem_region_t *mr) *rs->hdrv_chars = hdtypes; rs->card_size = MAX_CARD_SIZE; cmn_err(CE_WARN, "pcram: socket%d " - "Found invalid SunOS label", rs->sn); + "Found invalid SunOS label", rs->sn); return (0); /* NOTREACHED */ } @@ -4768,9 +4767,9 @@ pcram_get_solaris_info(pcram_state_t *rs, mem_region_t *mr) #ifdef PCRAM_DEBUG if (pcram_debug & PCRAM_DEBUG_CIS) { - cmn_err(CE_CONT, "pcram_get_solaris_info: socket %d \n" - "\trs->card_size [%d] mr->size_in_bytes [%d]\n", - rs->sn, rs->card_size, (int)mr->size_in_bytes); + cmn_err(CE_CONT, "pcram_get_solaris_info: socket %d \n" + "\trs->card_size [%d] mr->size_in_bytes [%d]\n", + rs->sn, rs->card_size, (int)mr->size_in_bytes); } #endif @@ -4797,10 +4796,10 @@ pcram_destroy_region_lists(pcram_state_t *rs) pcram_destroy_region_list(&rs->am_regions, - &rs->num_am_regions); + &rs->num_am_regions); pcram_destroy_region_list(&rs->cm_regions, - &rs->num_cm_regions); + &rs->num_cm_regions); } @@ -4852,7 +4851,7 @@ pcram_get_firstnext_region(mem_region_t *mrp, uint32_t flags, do { if (((mrp->rflags & flags) == flags) && - (mrp->type == type)) { + (mrp->type == type)) { return (mrp); /* NOTREACHED */ } @@ -4865,7 +4864,7 @@ pcram_get_firstnext_region(mem_region_t *mrp, uint32_t flags, /* LINTED */ while (mrp = mrp->next) { if (((mrp->rflags & flags) == flags) && - (mrp->type == type)) { + (mrp->type == type)) { return (mrp); /* NOTREACHED */ } @@ -4891,9 +4890,9 @@ update_hdrv_chars(pcram_state_t *rs, mem_region_t *mrp) * drv_sec_size to avoid zero divide panic */ rs->hdrv_chars->drv_ncyl = GET_NCYL(rs->card_size, - rs->hdrv_chars->drv_nhead, - rs->hdrv_chars->drv_sec_size, - rs->hdrv_chars->drv_secptrack); + rs->hdrv_chars->drv_nhead, + rs->hdrv_chars->drv_sec_size, + rs->hdrv_chars->drv_secptrack); mutex_exit(&rs->mutex); } diff --git a/usr/src/uts/common/io/pcwl/pcwl.c b/usr/src/uts/common/io/pcwl/pcwl.c index 69ad79e0ae..f8d0cd2c4b 100644 --- a/usr/src/uts/common/io/pcwl/pcwl.c +++ b/usr/src/uts/common/io/pcwl/pcwl.c @@ -96,7 +96,7 @@ mac_callbacks_t pcwl_m_callbacks = { static char *pcwl_name_str = "pcwl"; DDI_DEFINE_STREAM_OPS(pcwl_dev_ops, nulldev, pcwl_probe, pcwl_attach, - pcwl_detach, nodev, NULL, D_MP, NULL); + pcwl_detach, nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); extern struct mod_ops mod_driverops; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/physmem.c b/usr/src/uts/common/io/physmem.c index 8a9ca67db8..b6f8bf87f5 100644 --- a/usr/src/uts/common/io/physmem.c +++ b/usr/src/uts/common/io/physmem.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/modctl.h> @@ -949,12 +948,13 @@ static struct dev_ops physmem_ops = { nodev, &physmem_cb_ops, NULL, - NULL + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "physmem driver %I%", + "physmem driver", &physmem_ops }; diff --git a/usr/src/uts/common/io/pm.c b/usr/src/uts/common/io/pm.c index 42847eecf7..fba811e3c8 100644 --- a/usr/src/uts/common/io/pm.c +++ b/usr/src/uts/common/io/pm.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * pm This driver now only handles the ioctl interface. The scanning @@ -146,12 +145,13 @@ static struct dev_ops pm_ops = { nodev, /* reset */ &pm_cb_ops, /* driver operations */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "power management driver v%I%", + "power management driver", &pm_ops }; diff --git a/usr/src/uts/common/io/power.c b/usr/src/uts/common/io/power.c index cef95d8c44..1d99d78bfd 100644 --- a/usr/src/uts/common/io/power.c +++ b/usr/src/uts/common/io/power.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Power Button Driver @@ -222,7 +221,8 @@ static struct dev_ops power_ops = { nodev, /* reset */ &power_cb_ops, /* cb_ops */ (struct bus_ops *)NULL, /* bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/ppm/ppm.c b/usr/src/uts/common/io/ppm/ppm.c index d04f3a43ff..3bc65bd05d 100644 --- a/usr/src/uts/common/io/ppm/ppm.c +++ b/usr/src/uts/common/io/ppm/ppm.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Platform Power Management master pseudo driver - @@ -141,14 +140,15 @@ static struct dev_ops ppm_ops = { nodev, /* reset */ &ppm_cb_ops, /* cb_ops */ &ppm_bus_ops, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "platform pm driver v%I%", + "platform pm driver", &ppm_ops }; diff --git a/usr/src/uts/common/io/ppp/sppp/sppp.c b/usr/src/uts/common/io/ppp/sppp/sppp.c index c854e2f8ae..147cd04a20 100644 --- a/usr/src/uts/common/io/ppp/sppp/sppp.c +++ b/usr/src/uts/common/io/ppp/sppp/sppp.c @@ -78,7 +78,7 @@ /* MODINFO is limited to 32 characters. */ const char sppp_module_description[] = "PPP 4.0 mux"; #else /* INTERNAL_BUILD */ -const char sppp_module_description[] = "ANU PPP mux $Revision: 1.0$"; +const char sppp_module_description[] = "ANU PPP mux"; /* LINTED */ static const char buildtime[] = "Built " __DATE__ " at " __TIME__ diff --git a/usr/src/uts/common/io/ppp/sppp/sppp_mod.c b/usr/src/uts/common/io/ppp/sppp/sppp_mod.c index e8fb626920..e0c1ecc4f7 100644 --- a/usr/src/uts/common/io/ppp/sppp/sppp_mod.c +++ b/usr/src/uts/common/io/ppp/sppp/sppp_mod.c @@ -1,7 +1,7 @@ /* * sppp_mod.c - modload support for PPP pseudo-device driver. * - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * Permission to use, copy, modify, and distribute this software and its @@ -45,7 +45,6 @@ * for improved performance and scalability. */ -#pragma ident "%Z%%M% %I% %E% SMI" #define RCSID " $Id: sppp_mod.c,v 1.0 2000/05/08 10:53:28 masputra Exp $" #include <sys/types.h> @@ -166,7 +165,7 @@ DDI_DEFINE_STREAM_OPS(sppp_ops, \ nulldev, nulldev, \ _mi_driver_attach, _mi_driver_detach, nodev, _mi_driver_info, \ D_NEW | D_MP | D_MTQPAIR | D_MTOUTPERIM | D_MTOCEXCL | D_MTPUTSHARED, \ - &sppp_tab); + &sppp_tab, ddi_quiesce_not_supported); static struct modldrv modldrv = { &mod_driverops, /* drv_modops */ diff --git a/usr/src/uts/common/io/ppp/sppptun/sppptun.c b/usr/src/uts/common/io/ppp/sppptun/sppptun.c index 308589b573..70bf4cd780 100644 --- a/usr/src/uts/common/io/ppp/sppptun/sppptun.c +++ b/usr/src/uts/common/io/ppp/sppptun/sppptun.c @@ -1,10 +1,8 @@ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> #include <sys/debug.h> #include <sys/param.h> @@ -49,8 +47,8 @@ const char sppptun_driver_description[] = "PPP 4.0 tunnel driver"; const char sppptun_module_description[] = "PPP 4.0 tunnel module"; #else -const char sppptun_driver_description[] = "ANU PPP tundrv $Revision: $"; -const char sppptun_module_description[] = "ANU PPP tunmod $Revision: $"; +const char sppptun_driver_description[] = "ANU PPP tundrv"; +const char sppptun_module_description[] = "ANU PPP tunmod"; /* LINTED */ static const char buildtime[] = "Built " __DATE__ " at " __TIME__ diff --git a/usr/src/uts/common/io/ppp/sppptun/sppptun_mod.c b/usr/src/uts/common/io/ppp/sppptun/sppptun_mod.c index 153e6a0af1..3d34f7206c 100644 --- a/usr/src/uts/common/io/ppp/sppptun/sppptun_mod.c +++ b/usr/src/uts/common/io/ppp/sppptun/sppptun_mod.c @@ -1,11 +1,10 @@ /* * sppptun_mod.c - modload support for PPP multiplexing tunnel driver. * - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/param.h> @@ -66,7 +65,7 @@ DDI_DEFINE_STREAM_OPS(sppptun_ops, \ nulldev, nulldev, \ tun_attach, tun_detach, nodev, tun_info, \ D_NEW | D_MP | D_MTQPAIR | D_MTOUTPERIM | D_MTOCEXCL | D_MTPUTSHARED, \ - &sppptun_tab); + &sppptun_tab, ddi_quiesce_not_supported); /* * This is the loadable module wrapper. diff --git a/usr/src/uts/common/io/pseudonex.c b/usr/src/uts/common/io/pseudonex.c index 52ffd77c39..f83b0abf39 100644 --- a/usr/src/uts/common/io/pseudonex.c +++ b/usr/src/uts/common/io/pseudonex.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Pseudo devices are devices implemented entirely in software; pseudonex @@ -155,7 +153,8 @@ static struct dev_ops pseudo_ops = { nodev, /* reset */ &pseudonex_cb_ops, /* driver operations */ &pseudonex_bus_ops, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -163,7 +162,7 @@ static struct dev_ops pseudo_ops = { */ static struct modldrv modldrv = { &mod_driverops, - "nexus driver for 'pseudo' %I%", + "nexus driver for 'pseudo' 1.31", &pseudo_ops, }; diff --git a/usr/src/uts/common/io/pshot.c b/usr/src/uts/common/io/pshot.c index 15af33341c..68f7b278df 100644 --- a/usr/src/uts/common/io/pshot.c +++ b/usr/src/uts/common/io/pshot.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -27,7 +27,6 @@ * pseudo bus nexus driver * hotplug framework test facility */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The pshot driver can be used to exercise the i/o framework together @@ -363,7 +362,8 @@ static struct dev_ops pshot_ops = { nodev, /* reset */ &pshot_cb_ops, /* driver operations */ &pshot_bus_ops, /* bus operations */ - pshot_power /* power */ + pshot_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -373,7 +373,7 @@ static struct dev_ops pshot_ops = { */ static struct modldrv modldrv = { &mod_driverops, - "pshotnex %I%", + "pshotnex", &pshot_ops, }; @@ -521,9 +521,9 @@ pshot_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) case DDI_ATTACH: if (pshot_debug) cmn_err(CE_CONT, "attach: %s%d/pshot%d\n", - ddi_get_name(ddi_get_parent(devi)), - ddi_get_instance(ddi_get_parent(devi)), - instance); + ddi_get_name(ddi_get_parent(devi)), + ddi_get_instance(ddi_get_parent(devi)), + instance); /* * Hook for tests to force attach fail @@ -640,7 +640,7 @@ pshot_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if (ndi_event_bind_set(pshot->ndi_event_hdl, &pshot->ndi_events, NDI_SLEEP) != NDI_SUCCESS) { cmn_err(CE_CONT, "pshot%d bind set failed\n", - instance); + instance); } /* @@ -938,8 +938,8 @@ pshot_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) if (pshot->state & FAIL_SUSPEND_FLAG) { if (pshot_debug) { cmn_err(CE_CONT, "pshot%d:" - " FAIL_SUSPEND_FLAG set, fail suspend\n", - ddi_get_instance(devi)); + " FAIL_SUSPEND_FLAG set, fail suspend\n", + ddi_get_instance(devi)); } pshot->state &= ~FAIL_SUSPEND_FLAG; rval = DDI_FAILURE; @@ -1111,8 +1111,8 @@ pshot_ctl(dev_info_t *dip, dev_info_t *rdip, * by a pseudo driver. So we whine when we're called. */ cmn_err(CE_CONT, "%s%d: invalid op (%d) from %s%d\n", - ddi_get_name(dip), ddi_get_instance(dip), - ctlop, ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(dip), ddi_get_instance(dip), + ctlop, ddi_get_name(rdip), ddi_get_instance(rdip)); return (DDI_FAILURE); case DDI_CTLOPS_ATTACH: @@ -1729,15 +1729,15 @@ pshot_initchild(dev_info_t *dip, dev_info_t *child) if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s forced INITCHILD failure\n", - ddi_get_instance(dip), bus_addr); + ddi_get_instance(dip), bus_addr); ddi_prop_free(bus_addr); return (DDI_FAILURE); } if (pshot_log) { cmn_err(CE_CONT, "initchild %s%d/%s@%s\n", - ddi_get_name(dip), ddi_get_instance(dip), - ddi_node_name(child), bus_addr); + ddi_get_name(dip), ddi_get_instance(dip), + ddi_node_name(child), bus_addr); } ddi_set_name_addr(child, bus_addr); @@ -1967,7 +1967,7 @@ pshot_devctl(pshot_t *pshot, minor_t nodenum, int cmd, intptr_t arg, int mode, * but if there were.... */ rv = pshot_event(pshot, PSHOT_EVENT_TAG_BUS_RESET, - child, (void *)self); + child, (void *)self); ASSERT(rv == NDI_SUCCESS); break; @@ -2324,7 +2324,7 @@ pshot_testctl(pshot_t *pshot, minor_t nodenum, int cmd, intptr_t arg, int mode, * but if there were.... */ rv = pshot_event(pshot, PSHOT_EVENT_TAG_BUS_RESET, - child, (void *)self); + child, (void *)self); ASSERT(rv == NDI_SUCCESS); break; @@ -2346,16 +2346,16 @@ pshot_get_eventcookie(dev_info_t *dip, dev_info_t *rdip, pshot_t *pshot = ddi_get_soft_state(pshot_softstatep, instance); if (pshot_debug) - cmn_err(CE_CONT, "pshot%d: " - "pshot_get_eventcookie:\n\t" - "dip = 0x%p rdip = 0x%p (%s/%d) eventname = %s\n", - instance, (void *)dip, (void *)rdip, - ddi_node_name(rdip), ddi_get_instance(rdip), - eventname); + cmn_err(CE_CONT, "pshot%d: " + "pshot_get_eventcookie:\n\t" + "dip = 0x%p rdip = 0x%p (%s/%d) eventname = %s\n", + instance, (void *)dip, (void *)rdip, + ddi_node_name(rdip), ddi_get_instance(rdip), + eventname); return (ndi_event_retrieve_cookie(pshot->ndi_event_hdl, - rdip, eventname, event_cookiep, NDI_EVENT_NOPASS)); + rdip, eventname, event_cookiep, NDI_EVENT_NOPASS)); } static int @@ -2367,17 +2367,17 @@ pshot_add_eventcall(dev_info_t *dip, dev_info_t *rdip, pshot_t *pshot = ddi_get_soft_state(pshot_softstatep, instance); if (pshot_debug) - cmn_err(CE_CONT, "pshot%d: " - "pshot_add_eventcall:\n\t" - "dip = 0x%p rdip = 0x%p (%s%d)\n\tcookie = 0x%p (%s)\n\t" - "cb = 0x%p, arg = 0x%p\n", - instance, (void *)dip, (void *)rdip, - ddi_node_name(rdip), ddi_get_instance(rdip), (void *)cookie, - NDI_EVENT_NAME(cookie), (void *)callback, arg); + cmn_err(CE_CONT, "pshot%d: " + "pshot_add_eventcall:\n\t" + "dip = 0x%p rdip = 0x%p (%s%d)\n\tcookie = 0x%p (%s)\n\t" + "cb = 0x%p, arg = 0x%p\n", + instance, (void *)dip, (void *)rdip, + ddi_node_name(rdip), ddi_get_instance(rdip), (void *)cookie, + NDI_EVENT_NAME(cookie), (void *)callback, arg); /* add callback to our event handle */ return (ndi_event_add_callback(pshot->ndi_event_hdl, rdip, - cookie, callback, arg, NDI_SLEEP, cb_id)); + cookie, callback, arg, NDI_SLEEP, cb_id)); } static int @@ -2392,13 +2392,14 @@ pshot_remove_eventcall(dev_info_t *dip, ddi_callback_id_t cb_id) ASSERT(cb); if (pshot_debug) - cmn_err(CE_CONT, "pshot%d: " - "pshot_remove_eventcall:\n\t" - "dip = 0x%p rdip = 0x%p (%s%d)\n\tcookie = 0x%p (%s)\n", - instance, (void *)dip, (void *)cb->ndi_evtcb_dip, - ddi_node_name(cb->ndi_evtcb_dip), - ddi_get_instance(cb->ndi_evtcb_dip), (void *)cb->ndi_evtcb_cookie, - NDI_EVENT_NAME(cb->ndi_evtcb_cookie)); + cmn_err(CE_CONT, "pshot%d: " + "pshot_remove_eventcall:\n\t" + "dip = 0x%p rdip = 0x%p (%s%d)\n\tcookie = 0x%p (%s)\n", + instance, (void *)dip, (void *)cb->ndi_evtcb_dip, + ddi_node_name(cb->ndi_evtcb_dip), + ddi_get_instance(cb->ndi_evtcb_dip), + (void *)cb->ndi_evtcb_cookie, + NDI_EVENT_NAME(cb->ndi_evtcb_cookie)); return (ndi_event_remove_callback(pshot->ndi_event_hdl, cb_id)); } @@ -2411,21 +2412,22 @@ pshot_post_event(dev_info_t *dip, dev_info_t *rdip, pshot_t *pshot = ddi_get_soft_state(pshot_softstatep, instance); if (pshot_debug) { - if (rdip) { - cmn_err(CE_CONT, "pshot%d: " - "pshot_post_event:\n\t" - "dip = 0x%p rdip = 0x%p (%s%d\n\t" - "cookie = 0x%p (%s)\n\tbus_impl = 0x%p\n", - instance, (void *)dip, (void *)rdip, - ddi_node_name(rdip), ddi_get_instance(rdip), (void *)cookie, - NDI_EVENT_NAME(cookie), impl_data); - } else { - cmn_err(CE_CONT, "pshot%d: " - "pshot_post_event:\n\t" - "dip = 0x%p cookie = 0x%p (%s) bus_impl = 0x%p\n", - instance, (void *)dip, (void *)cookie, - NDI_EVENT_NAME(cookie), impl_data); - } + if (rdip) { + cmn_err(CE_CONT, "pshot%d: " + "pshot_post_event:\n\t" + "dip = 0x%p rdip = 0x%p (%s%d\n\t" + "cookie = 0x%p (%s)\n\tbus_impl = 0x%p\n", + instance, (void *)dip, (void *)rdip, + ddi_node_name(rdip), ddi_get_instance(rdip), + (void *)cookie, + NDI_EVENT_NAME(cookie), impl_data); + } else { + cmn_err(CE_CONT, "pshot%d: " + "pshot_post_event:\n\t" + "dip = 0x%p cookie = 0x%p (%s) bus_impl = 0x%p\n", + instance, (void *)dip, (void *)cookie, + NDI_EVENT_NAME(cookie), impl_data); + } } /* run callbacks for this event */ @@ -2442,33 +2444,35 @@ pshot_event(pshot_t *pshot, int event_tag, dev_info_t *child, void *bus_impldata) { ddi_eventcookie_t cookie = ndi_event_tag_to_cookie( - pshot->ndi_event_hdl, event_tag); + pshot->ndi_event_hdl, event_tag); if (pshot_debug) { if (child) { - cmn_err(CE_CONT, "pshot%d: " - "pshot_event: event_tag = 0x%x (%s)\n\t" - "child = 0x%p (%s%d) bus_impl = 0x%p (%s%d)\n", - pshot->instance, event_tag, - ndi_event_tag_to_name(pshot->ndi_event_hdl, event_tag), - (void *)child, ddi_node_name(child), - ddi_get_instance(child), bus_impldata, - ddi_node_name((dev_info_t *)bus_impldata), - ddi_get_instance((dev_info_t *)bus_impldata)); + cmn_err(CE_CONT, "pshot%d: " + "pshot_event: event_tag = 0x%x (%s)\n\t" + "child = 0x%p (%s%d) bus_impl = 0x%p (%s%d)\n", + pshot->instance, event_tag, + ndi_event_tag_to_name(pshot->ndi_event_hdl, + event_tag), + (void *)child, ddi_node_name(child), + ddi_get_instance(child), bus_impldata, + ddi_node_name((dev_info_t *)bus_impldata), + ddi_get_instance((dev_info_t *)bus_impldata)); } else { - cmn_err(CE_CONT, "pshot%d: " - "pshot_event: event_tag = 0x%x (%s)\n\t" - "child = NULL, bus_impl = 0x%p (%s%d)\n", - pshot->instance, event_tag, - ndi_event_tag_to_name(pshot->ndi_event_hdl, event_tag), - bus_impldata, - ddi_node_name((dev_info_t *)bus_impldata), - ddi_get_instance((dev_info_t *)bus_impldata)); + cmn_err(CE_CONT, "pshot%d: " + "pshot_event: event_tag = 0x%x (%s)\n\t" + "child = NULL, bus_impl = 0x%p (%s%d)\n", + pshot->instance, event_tag, + ndi_event_tag_to_name(pshot->ndi_event_hdl, + event_tag), + bus_impldata, + ddi_node_name((dev_info_t *)bus_impldata), + ddi_get_instance((dev_info_t *)bus_impldata)); } } return (ndi_event_run_callbacks(pshot->ndi_event_hdl, - child, cookie, bus_impldata)); + child, cookie, bus_impldata)); } @@ -2503,11 +2507,11 @@ pshot_event_cb(dev_info_t *dip, ddi_eventcookie_t cookie, case PSHOT_EVENT_TAG_BUS_UNQUIESCE: /* notify all subscribers of the this event */ (void) ndi_event_run_callbacks(pshot->ndi_event_hdl, - NULL, cookie, bus_impldata); + NULL, cookie, bus_impldata); if (pshot_debug) { cmn_err(CE_CONT, "pshot%d: event=%s\n\t" - "pshot_event_cb\n", pshot->instance, - NDI_EVENT_NAME(cookie)); + "pshot_event_cb\n", pshot->instance, + NDI_EVENT_NAME(cookie)); } /*FALLTHRU*/ case PSHOT_EVENT_TAG_TEST_POST: @@ -2580,7 +2584,7 @@ pshot_bus_config(dev_info_t *parent, uint_t flags, * Handle a few special cases for testing purposes */ rval = pshot_bus_config_test_specials(parent, - devname, cname, caddr); + devname, cname, caddr); if (rval == NDI_SUCCESS) { /* @@ -2791,7 +2795,7 @@ pshot_nexus_properties(dev_info_t *parent, dev_info_t *child, char *cname, " nexus_properties:\n\tunable to create" " the \"no-pm-components\"" " property for %s@%s", - ddi_get_instance(parent), cname, caddr); + ddi_get_instance(parent), cname, caddr); } } } @@ -3049,7 +3053,7 @@ pshot_bus_config_test_specials(dev_info_t *parent, char *devname, if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s forced failure\n", - ddi_get_instance(parent), devname); + ddi_get_instance(parent), devname); return (NDI_FAILURE); } @@ -3069,13 +3073,13 @@ pshot_bus_config_test_specials(dev_info_t *parent, char *devname, if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s delay %d second\n", - ddi_get_instance(parent), devname, n); + ddi_get_instance(parent), devname, n); delay(n * drv_usectohz(1000000)); } else if (strncmp(caddr, "delay", 5) == 0) { if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s delay 1 second\n", - ddi_get_instance(parent), devname); + ddi_get_instance(parent), devname); delay(drv_usectohz(1000000)); } else if (strncmp(caddr, "wait,", 5) == 0) { p = caddr+5; @@ -3085,7 +3089,7 @@ pshot_bus_config_test_specials(dev_info_t *parent, char *devname, if (pshot_debug) cmn_err(CE_CONT, "pshot%d: %s wait %d second\n", - ddi_get_instance(parent), devname, n); + ddi_get_instance(parent), devname, n); delay(n * drv_usectohz(1000000)); } else if (strncmp(caddr, "wait", 4) == 0) { if (pshot_debug) @@ -3511,11 +3515,12 @@ pshot_devnode(dev_info_t *dip, void *arg) DEVI(dip)->devi_node_name, DEVI(dip)->devi_addr); if (f_dip != dip) { cmn_err(CE_NOTE, "!pshot_devnode: failed lookup" - "node (%s/%s@%s)\n", - DEVI(DEVI(dip)->devi_parent)->devi_node_name, - (DEVI(dip)->devi_node_name ? - DEVI(dip)->devi_node_name : "NULL"), - (DEVI(dip)->devi_addr ? DEVI(dip)->devi_addr : "NULL")); + "node (%s/%s@%s)\n", + DEVI(DEVI(dip)->devi_parent)->devi_node_name, + (DEVI(dip)->devi_node_name ? + DEVI(dip)->devi_node_name : "NULL"), + (DEVI(dip)->devi_addr ? DEVI(dip)->devi_addr : + "NULL")); } } return (DDI_WALK_CONTINUE); @@ -3694,11 +3699,11 @@ pshot_event_test(void *arg) delay(drv_usectohz(1000000)); for (i = 0; i < 8; i++) { rval = ndi_event_add_callback(hdl, pshot->dip, - ndi_event_tag_to_cookie(hdl, - pshot_test_events[i].ndi_event_tag), - pshot_event_cb_test, - (void *)(uintptr_t)pshot_test_events[i].ndi_event_tag, - NDI_SLEEP, &pshot->test_callback_cache[i]); + ndi_event_tag_to_cookie(hdl, + pshot_test_events[i].ndi_event_tag), + pshot_event_cb_test, + (void *)(uintptr_t)pshot_test_events[i].ndi_event_tag, + NDI_SLEEP, &pshot->test_callback_cache[i]); ASSERT(rval == NDI_SUCCESS); } @@ -3711,7 +3716,7 @@ pshot_event_test(void *arg) (void *)hdl); cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n", - i, rval); + i, rval); delay(drv_usectohz(1000000)); } @@ -3721,10 +3726,10 @@ pshot_event_test(void *arg) ddi_eventcookie_t cookie = ndi_event_tag_to_cookie(hdl, i); rval = ndi_event_run_callbacks(hdl, - pshot->dip, cookie, (void *)hdl); + pshot->dip, cookie, (void *)hdl); cmn_err(CE_CONT, "pshot: callback, tag=%d rval=%d\n", - i, rval); + i, rval); delay(drv_usectohz(1000000)); } @@ -3755,7 +3760,7 @@ pshot_event_test_post_one(void *arg) ddi_eventcookie_t cookie; cmn_err(CE_CONT, "pshot%d: pshot_event_post_one event\n", - pshot->instance); + pshot->instance); if (ddi_get_eventcookie(pshot->dip, PSHOT_EVENT_NAME_BUS_TEST_POST, &cookie) != DDI_SUCCESS) { @@ -3766,10 +3771,10 @@ pshot_event_test_post_one(void *arg) rval = ndi_post_event(pshot->dip, pshot->dip, cookie, NULL); cmn_err(CE_CONT, "pshot%d: pshot_event_post_one rval=%d\n", - pshot->instance, rval); + pshot->instance, rval); (void) timeout(pshot_event_test_post_one, (void *)pshot, - pshot->instance * drv_usectohz(60000000)); + pshot->instance * drv_usectohz(60000000)); } #endif /* DEBUG */ diff --git a/usr/src/uts/common/io/ptm.c b/usr/src/uts/common/io/ptm.c index 83b6b162a7..a5bbbcef01 100644 --- a/usr/src/uts/common/io/ptm.c +++ b/usr/src/uts/common/io/ptm.c @@ -26,7 +26,6 @@ /* All Rights Reserved */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Pseudo Terminal Master Driver. @@ -202,7 +201,7 @@ static dev_info_t *ptm_dip; /* private devinfo pointer */ * this will define (struct cb_ops cb_ptm_ops) and (struct dev_ops ptm_ops) */ DDI_DEFINE_STREAM_OPS(ptm_ops, nulldev, nulldev, ptm_attach, ptm_detach, - nodev, ptm_devinfo, D_MP, &ptminfo); + nodev, ptm_devinfo, D_MP, &ptminfo, ddi_quiesce_not_supported); /* * Module linkage information for the kernel. @@ -210,7 +209,7 @@ DDI_DEFINE_STREAM_OPS(ptm_ops, nulldev, nulldev, ptm_attach, ptm_detach, static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "Master streams driver 'ptm' %I%", + "Master streams driver 'ptm'", &ptm_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/pts.c b/usr/src/uts/common/io/pts.c index fa7997c146..a53bbd9104 100644 --- a/usr/src/uts/common/io/pts.c +++ b/usr/src/uts/common/io/pts.c @@ -19,14 +19,13 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ -#pragma ident "%Z%%M% %I% %E% SMI" /* SVR4 1.13 */ /* * Pseudo Terminal Slave Driver. @@ -183,7 +182,7 @@ static int pts_detach(dev_info_t *, ddi_detach_cmd_t); */ DDI_DEFINE_STREAM_OPS(pts_ops, nulldev, nulldev, \ pts_attach, pts_detach, nodev, \ - pts_devinfo, PTS_CONF_FLAG, &ptsinfo); + pts_devinfo, PTS_CONF_FLAG, &ptsinfo, ddi_quiesce_not_supported); /* * Module linkage information for the kernel. @@ -535,14 +534,14 @@ ptswput(queue_t *qp, mblk_t *mp) } if (type >= QPCTL) { - switch (type) { + switch (type) { /* * if write queue request, flush slave's write * queue and send FLUSHR to ptm. If read queue * request, send FLUSHR to ptm. */ - case M_FLUSH: + case M_FLUSH: DBG(("pts got flush request\n")); if (*mp->b_rptr & FLUSHW) { @@ -596,18 +595,18 @@ ptswput(queue_t *qp, mblk_t *mp) } break; - case M_READ: + case M_READ: /* Caused by ldterm - can not pass to master */ freemsg(mp); break; - default: + default: if (ptsp->ptm_rdq) putnext(ptsp->ptm_rdq, mp); break; - } - PT_EXIT_READ(ptsp); - return; + } + PT_EXIT_READ(ptsp); + return; } switch (type) { diff --git a/usr/src/uts/common/io/ral/rt2560.c b/usr/src/uts/common/io/ral/rt2560.c index dbf448dc19..38b6d5a135 100644 --- a/usr/src/uts/common/io/ral/rt2560.c +++ b/usr/src/uts/common/io/ral/rt2560.c @@ -160,7 +160,7 @@ static int rt2560_reset(dev_info_t *, ddi_reset_cmd_t); * Module Loading Data & Entry Points */ DDI_DEFINE_STREAM_OPS(ral_dev_ops, nulldev, nulldev, rt2560_attach, - rt2560_detach, rt2560_reset, NULL, D_MP, NULL); + rt2560_detach, rt2560_reset, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv ral_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ diff --git a/usr/src/uts/common/io/ramdisk.c b/usr/src/uts/common/io/ramdisk.c index 36ad87c369..808c586db2 100644 --- a/usr/src/uts/common/io/ramdisk.c +++ b/usr/src/uts/common/io/ramdisk.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Ramdisk device driver. @@ -1345,7 +1344,9 @@ static struct dev_ops rd_ops = { rd_detach, nodev, /* reset */ &rd_cb_ops, - (struct bus_ops *)0 + (struct bus_ops *)0, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; diff --git a/usr/src/uts/common/io/random.c b/usr/src/uts/common/io/random.c index 1455625587..79a9dfd3b4 100644 --- a/usr/src/uts/common/io/random.c +++ b/usr/src/uts/common/io/random.c @@ -18,11 +18,10 @@ * * CDDL HEADER END * - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Random number generator pseudo-driver @@ -105,13 +104,14 @@ static struct dev_ops rnd_ops = { nodev, /* reset */ &rnd_cb_ops, /* driver operations */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* Modlinkage */ static struct modldrv modldrv = { &mod_driverops, - "random number device v%I%", + "random number device", &rnd_ops }; diff --git a/usr/src/uts/common/io/rge/rge_chip.c b/usr/src/uts/common/io/rge/rge_chip.c index 28da9e2286..31182838f3 100644 --- a/usr/src/uts/common/io/rge/rge_chip.c +++ b/usr/src/uts/common/io/rge/rge_chip.c @@ -1064,6 +1064,10 @@ rge_chip_start(rge_t *rgep) /* * rge_chip_stop() -- stop board receiving + * + * Since this function is also invoked by rge_quiesce(), it + * must not block; also, no tracing or logging takes place + * when invoked by rge_quiesce(). */ void rge_chip_stop(rge_t *rgep, boolean_t fault); #pragma no_inline(rge_chip_stop) diff --git a/usr/src/uts/common/io/rge/rge_main.c b/usr/src/uts/common/io/rge/rge_main.c index 0de719664e..53f74ed61f 100644 --- a/usr/src/uts/common/io/rge/rge_main.c +++ b/usr/src/uts/common/io/rge/rge_main.c @@ -29,7 +29,7 @@ * This is the string displayed by modinfo, etc. * Make sure you keep the version ID up to date! */ -static char rge_ident[] = "Realtek 1Gb Ethernet v1.11"; +static char rge_ident[] = "Realtek 1Gb Ethernet"; /* * Used for buffers allocated by ddi_dma_mem_alloc() @@ -1902,6 +1902,36 @@ rge_suspend(rge_t *rgep) } /* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +rge_quiesce(dev_info_t *devinfo) +{ + rge_t *rgep = ddi_get_driver_private(devinfo); + + if (rgep == NULL) + return (DDI_FAILURE); + + /* + * Turn off debugging + */ + rge_debug = 0; + rgep->debug = 0; + + /* Stop the chip */ + rge_chip_stop(rgep, B_FALSE); + + return (DDI_SUCCESS); +} + +/* * detach(9E) -- Detach a device from the system */ static int @@ -1956,7 +1986,7 @@ rge_detach(dev_info_t *devinfo, ddi_detach_cmd_t cmd) #undef RGE_DBG #define RGE_DBG RGE_DBG_INIT /* debug flag for this code */ DDI_DEFINE_STREAM_OPS(rge_dev_ops, nulldev, nulldev, rge_attach, rge_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, rge_quiesce); static struct modldrv rge_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ diff --git a/usr/src/uts/common/io/rsm/rsm.c b/usr/src/uts/common/io/rsm/rsm.c index d7e8df04a1..70840c0c60 100644 --- a/usr/src/uts/common/io/rsm/rsm.c +++ b/usr/src/uts/common/io/rsm/rsm.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Overview of the RSM Kernel Agent: @@ -400,7 +399,8 @@ static struct dev_ops rsm_ops = { nodev, /* reset */ &rsm_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - 0 + 0, + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -409,7 +409,7 @@ static struct dev_ops rsm_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "Remote Shared Memory Driver %I%", + "Remote Shared Memory Driver", &rsm_ops, /* driver ops */ }; @@ -742,8 +742,8 @@ rsm_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) } rsm_enable_dr = ddi_prop_get_int(DDI_DEV_T_ANY, devi, - DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, - "enable-dynamic-reconfiguration", 1); + DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, + "enable-dynamic-reconfiguration", 1); mutex_enter(&rsm_drv_data.drv_lock); rsm_drv_data.drv_state = RSM_DRV_REG_PROCESSING; @@ -778,8 +778,8 @@ rsm_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) */ rsm_hash_size = ddi_prop_get_int(DDI_DEV_T_ANY, devi, - DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, - "segment-hashtable-size", RSM_HASHSZ); + DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, + "segment-hashtable-size", RSM_HASHSZ); if (rsm_hash_size == 0) { DBG_PRINTF((category, RSM_DEBUG_VERBOSE, "rsm: segment-hashtable-size in rsm.conf " @@ -840,8 +840,7 @@ rsm_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) rsmhash_alloc(&rsm_import_segs, rsm_hash_size); importer_list.bucket = (importing_token_t **) - kmem_zalloc(rsm_hash_size * sizeof (importing_token_t *), - KM_SLEEP); + kmem_zalloc(rsm_hash_size * sizeof (importing_token_t *), KM_SLEEP); /* * Allocate a resource struct @@ -864,8 +863,8 @@ rsm_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* First get the max number of segments from the rsm.conf file */ max_segs = ddi_prop_get_int(DDI_DEV_T_ANY, devi, - DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, - "max-segments", 0); + DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, + "max-segments", 0); if (max_segs == 0) { /* Use default number of segments */ max_segs = RSM_MAX_NUM_SEG; @@ -877,13 +876,13 @@ rsm_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * a slot */ barrier_size = roundup((max_segs + 1) * sizeof (rsm_gnum_t), - PAGESIZE); + PAGESIZE); /* * allocation of the barrier failure page */ bar_va = (rsm_gnum_t *)ddi_umem_alloc(barrier_size, - DDI_UMEM_SLEEP, &bar_cookie); + DDI_UMEM_SLEEP, &bar_cookie); /* * Set the barrier_offset @@ -896,7 +895,7 @@ rsm_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * trash memory with a large size which is page aligned. */ (void) ddi_umem_alloc((size_t)TRASHSIZE, - DDI_UMEM_TRASH, &remap_cookie); + DDI_UMEM_TRASH, &remap_cookie); /* initialize user segment id allocation variable */ rsm_nextavail_segmentid = (rsm_memseg_id_t)RSM_USER_APP_ID_BASE; @@ -1149,8 +1148,7 @@ rsmresource_alloc(minor_t *rnum) "_alloc failed:" "not enough res" "%d\n", *rnum)); - return ( -RSMERR_INSUFFICIENT_RESOURCES); + return (RSMERR_INSUFFICIENT_RESOURCES); } else { /* use empty slot */ break; @@ -1184,7 +1182,7 @@ RSMERR_INSUFFICIENT_RESOURCES); */ rsmresource_blk_t **p; uint_t newsz = (uint_t)rsm_resource.rsmrc_sz + - RSMRC_BLKSZ; + RSMRC_BLKSZ; /* * Don't allocate more that max valid rnum */ @@ -2804,8 +2802,8 @@ rsmsegacl_validate(rsmipc_request_t *req, rsm_node_id_t rnode, ASSERT(seg->s_acl != NULL); for (i = 0; i < seg->s_acl_len; i++) { if (seg->s_acl[i].ae_node == rnode) { - perm &= seg->s_acl[i].ae_permission; - goto found; + perm &= seg->s_acl[i].ae_permission; + goto found; } } /* rnode is not found in the list */ @@ -3531,7 +3529,7 @@ rsm_send_importer_disconnects(rsm_memseg_id_t ex_segid, } DBG_PRINTF((RSM_KERNEL_AGENT | RSM_EXPORT, RSM_DEBUG_VERBOSE, - "rsm_send_importer_disconnects done\n")); + "rsm_send_importer_disconnects done\n")); } /* @@ -3923,7 +3921,7 @@ rsm_proc_sqready_ack(rsmipc_controlmsg_t *msg, rsm_addr_t src_hwaddr, } DBG_PRINTF((category, RSM_DEBUG, "rsm_proc_sqready_ack:path=%lx " - " src=%lx:%llx\n", path, msghdr->rsmipc_src, src_hwaddr)); + " src=%lx:%llx\n", path, msghdr->rsmipc_src, src_hwaddr)); /* * clear the WAIT_FOR_SQACK flag since we have recvd the ack @@ -3959,7 +3957,8 @@ rsm_add_credits(rsmipc_controlmsg_t *msg, rsm_addr_t src_hwaddr, srv_handler_arg_t *hdlr_argp = (srv_handler_arg_t *)arg; path_t *path; DBG_DEFINE(category, - RSM_KERNEL_AGENT | RSM_FUNC_ALL | RSM_INTR_CALLBACK | RSM_FLOWCONTROL); + RSM_KERNEL_AGENT | RSM_FUNC_ALL | + RSM_INTR_CALLBACK | RSM_FLOWCONTROL); DBG_PRINTF((category, RSM_DEBUG_VERBOSE, "rsm_add_credits enter\n")); @@ -4403,7 +4402,7 @@ rsmseg_suspend(rsmseg_t *seg, int *susp_flg) hdl = seg->s_ckl; for (; hdl != NULL; hdl = hdl->c_next) { (void) devmap_unload(hdl->c_dhp, - hdl->c_off, hdl->c_len); + hdl->c_off, hdl->c_len); } } seg->s_mapinfo = NULL; @@ -4546,7 +4545,7 @@ importer_resume(rsm_node_id_t src_node) request.rsmipc_segment_cookie = cookie; rsmseglock_release(seg); (void) rsmipc_send(seg->s_node, &request, - RSM_NO_REPLY); + RSM_NO_REPLY); } else { rsmseglock_release(seg); } @@ -4854,7 +4853,7 @@ rsmsegshare_resume(rsmseg_t *seg) sharedp->rsmsi_mapinfo = NULL; err = adapter->rsmpi_ops-> - rsm_disconnect(sharedp->rsmsi_handle); + rsm_disconnect(sharedp->rsmsi_handle); DBG_PRINTF((category, RSM_DEBUG, "rsmsegshare_resume:disconn seg=%x:err=%d\n", @@ -5316,7 +5315,7 @@ rsmipc_send(rsm_node_id_t dest, rsmipc_request_t *req, rsmipc_reply_t *reply) switch (req->rsmipc_hdr.rsmipc_type) { case RSMIPC_MSG_SEGCONNECT: reply->rsmipc_status = (short)rsmsegacl_validate( - req, dest, reply); + req, dest, reply); break; case RSMIPC_MSG_BELL: req->rsmipc_hdr.rsmipc_src = dest; @@ -5400,7 +5399,7 @@ again: if ((sendq_token == used_sendq_token) && ((e == RSMERR_CONN_ABORTED) || (e == RSMERR_TIMEOUT) || - (e == RSMERR_COMM_ERR_MAYBE_DELIVERED))) { + (e == RSMERR_COMM_ERR_MAYBE_DELIVERED))) { rele_sendq_token(sendq_token); DBG_PRINTF((category, RSM_DEBUG, "rsmipc_send done=%d\n", e)); return (RSMERR_CONN_ABORTED); @@ -5650,7 +5649,7 @@ again: (void) drv_getparm(LBOLT, &ticks); ticks += drv_usectohz(5000000); e = cv_timedwait_sig(&rslot->rsmipc_cv, &rslot->rsmipc_lock, - ticks); + ticks); if (e < 0) { /* timed out - retry */ e = RSMERR_TIMEOUT; @@ -5792,7 +5791,7 @@ rsm_send_suspend() if (tokp == NULL) { /* not in suspend list */ tokp = kmem_zalloc(sizeof (list_element_t), - KM_SLEEP); + KM_SLEEP); tokp->nodeid = token->importing_node; tokp->next = head; head = tokp; @@ -6360,8 +6359,8 @@ rsm_connect(rsmseg_t *seg, rsm_ioctlmsg_t *msg, cred_t *cred, * We need to verify that this process has access */ e = rsm_access(sharedp->rsmsi_uid, sharedp->rsmsi_gid, - access & sharedp->rsmsi_mode, - (int)(msg->perm & RSM_PERM_RDWR), cred); + access & sharedp->rsmsi_mode, + (int)(msg->perm & RSM_PERM_RDWR), cred); if (e) { rsmsharelock_release(seg); seg->s_state = RSM_STATE_NEW; @@ -6439,7 +6438,7 @@ rsm_connect(rsmseg_t *seg, rsm_ioctlmsg_t *msg, cred_t *cred, return ( RSMERR_SEG_NOT_PUBLISHED_TO_NODE); else if ((e == RSMERR_RSM_ADDR_UNREACHABLE) || - (e == RSMERR_UNKNOWN_RSM_ADDR)) + (e == RSMERR_UNKNOWN_RSM_ADDR)) return (RSMERR_REMOTE_NODE_UNREACHABLE); else return (e); @@ -6613,7 +6612,7 @@ rsm_closeconnection(rsmseg_t *seg, void **cookie) DBG_DEFINE(category, RSM_KERNEL_AGENT | RSM_IMPORT); DBG_PRINTF((category, RSM_DEBUG_VERBOSE, - "rsm_closeconnection enter\n")); + "rsm_closeconnection enter\n")); *cookie = (void *)NULL; @@ -7054,7 +7053,7 @@ importbell_ioctl(rsmseg_t *seg, int cmd /*ARGSUSED*/) request.rsmipc_segment_cookie = token->import_segment_cookie; (void) rsmipc_send(token->importing_node, - &request, RSM_NO_REPLY); + &request, RSM_NO_REPLY); } token = token->next; } @@ -7333,7 +7332,7 @@ iovec_copyin(caddr_t user_vec, rsmka_iovec_t *iovec, int count, int mode) iovec->io_type = (int)iovec32->io_type; if (iovec->io_type == RSM_HANDLE_TYPE) iovec->local.segid = (rsm_memseg_id_t) - iovec32->local; + iovec32->local; else iovec->local.vaddr = (caddr_t)(uintptr_t)iovec32->local; @@ -7628,7 +7627,7 @@ rsm_iovec_ioctl(dev_t dev, caddr_t arg, int cmd, int mode, cred_t *credp) } else { iovec->local_mem.ms_type = RSM_MEM_HANDLE; iovec->local_mem.ms_memory.handle = - ex_seg->s_handle.out; + ex_seg->s_handle.out; } ex_seg->s_rdmacnt++; /* refcnt the handle */ rsmseglock_release(ex_seg); @@ -7858,7 +7857,7 @@ rsmattr_ddi_copyout(adapter_t *adapter, caddr_t arg, int mode) { rsmka_int_controller_attr_t rsm_cattr; DBG_DEFINE(category, - RSM_KERNEL_AGENT | RSM_FUNC_ALL | RSM_IOCTL | RSM_DDI); + RSM_KERNEL_AGENT | RSM_FUNC_ALL | RSM_IOCTL | RSM_DDI); DBG_PRINTF((category, RSM_DEBUG_VERBOSE, "rsmattr_ddi_copyout enter\n")); @@ -8542,7 +8541,7 @@ rsm_devmap(dev_t dev, devmap_cookie_t dhc, offset_t off, size_t len, if (err != 0) { DBG_PRINTF((category, RSM_DEBUG, "rsm_devmap: devmap_umem_setup failed %d\n", - err)); + err)); return (RSMERR_MAP_FAILED); } DBG_PRINTF((category, RSM_DEBUG_VERBOSE, @@ -8830,7 +8829,7 @@ rsm_segmap(dev_t dev, off_t off, struct as *as, caddr_t *addrp, off_t len, /* unmap the shared RSMPI mapping */ ASSERT(sharedp->rsmsi_handle != NULL); (void) adapter->rsmpi_ops-> - rsm_unmap(sharedp->rsmsi_handle); + rsm_unmap(sharedp->rsmsi_handle); rsm_free_mapinfo(sharedp->rsmsi_mapinfo); sharedp->rsmsi_mapinfo = NULL; sharedp->rsmsi_state = RSMSI_STATE_CONNECTED; diff --git a/usr/src/uts/common/io/rtw/rtw.c b/usr/src/uts/common/io/rtw/rtw.c index 3cb8e25b6b..dd94064fba 100644 --- a/usr/src/uts/common/io/rtw/rtw.c +++ b/usr/src/uts/common/io/rtw/rtw.c @@ -177,7 +177,7 @@ static mac_callbacks_t rtw_m_callbacks = { }; DDI_DEFINE_STREAM_OPS(rtw_dev_ops, nulldev, nulldev, rtw_attach, rtw_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv rtw_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ diff --git a/usr/src/uts/common/io/sad.c b/usr/src/uts/common/io/sad.c index 96b79a9204..2affbbdc19 100644 --- a/usr/src/uts/common/io/sad.c +++ b/usr/src/uts/common/io/sad.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ @@ -87,7 +86,8 @@ struct streamtab sadinfo = { DDI_DEFINE_STREAM_OPS(sad_ops, nulldev, nulldev, sad_attach, nodev, nodev, sad_info, - D_MP | D_MTPERQ | D_MTOUTPERIM | D_MTOCEXCL, &sadinfo); + D_MP | D_MTPERQ | D_MTOUTPERIM | D_MTOCEXCL, &sadinfo, + ddi_quiesce_not_supported); /* * Module linkage information for the kernel. diff --git a/usr/src/uts/common/io/sata/adapters/ahci/ahci.c b/usr/src/uts/common/io/sata/adapters/ahci/ahci.c index 275b021ecd..8178b824f7 100644 --- a/usr/src/uts/common/io/sata/adapters/ahci/ahci.c +++ b/usr/src/uts/common/io/sata/adapters/ahci/ahci.c @@ -52,11 +52,18 @@ #include <sys/sata/adapters/ahci/ahcivar.h> /* + * This is the string displayed by modinfo, etc. + * Make sure you keep the version ID up to date! + */ +static char ahci_ident[] = "ahci driver"; + +/* * Function prototypes for driver entry points */ static int ahci_attach(dev_info_t *, ddi_attach_cmd_t); static int ahci_detach(dev_info_t *, ddi_detach_cmd_t); static int ahci_getinfo(dev_info_t *, ddi_info_cmd_t, void *, void **); +static int ahci_quiesce(dev_info_t *); /* * Function prototypes for SATA Framework interfaces @@ -265,7 +272,8 @@ static struct dev_ops ahcictl_dev_ops = { nodev, /* no reset */ (struct cb_ops *)0, /* driver operations */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ahci_quiesce, /* quiesce */ }; static sata_tran_hotplug_ops_t ahci_tran_hotplug_ops = { @@ -278,7 +286,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* driverops */ - "ahci driver", + ahci_ident, /* short description */ &ahcictl_dev_ops, /* driver ops */ }; @@ -5852,7 +5860,7 @@ ahci_put_port_into_notrunning_state(ahci_ctl_t *ahci_ctlp, } /* Wait for 10 millisec */ - delay(AHCI_10MS_TICKS); + drv_usecwait(10000); } while (port_cmd_status & AHCI_CMD_STATUS_CR); ahci_portp->ahciport_flags &= ~AHCI_PORT_FLAG_STARTED; @@ -7230,3 +7238,57 @@ ahci_log(ahci_ctl_t *ahci_ctlp, uint_t level, char *fmt, ...) mutex_exit(&ahci_log_mutex); } #endif + +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +ahci_quiesce(dev_info_t *dip) +{ + ahci_ctl_t *ahci_ctlp; + ahci_port_t *ahci_portp; + int instance, port; + + instance = ddi_get_instance(dip); + ahci_ctlp = ddi_get_soft_state(ahci_statep, instance); + + if (ahci_ctlp == NULL) + return (DDI_FAILURE); + +#if AHCI_DEBUG + ahci_debug_flags = 0; +#endif + + /* disable all the interrupts. */ + ahci_disable_all_intrs(ahci_ctlp); + + for (port = 0; port < ahci_ctlp->ahcictl_num_ports; port++) { + if (!AHCI_PORT_IMPLEMENTED(ahci_ctlp, port)) { + continue; + } + + ahci_portp = ahci_ctlp->ahcictl_ports[port]; + + /* + * Stop the port by clearing PxCMD.ST + * + * Here we must disable the port interrupt because + * ahci_disable_all_intrs only clear GHC.IE, and IS + * register will be still set if PxIE is enabled. + * When ahci shares one IRQ with other drivers, the + * intr handler may claim the intr mistakenly. + */ + ahci_disable_port_intrs(ahci_ctlp, port); + (void) ahci_put_port_into_notrunning_state(ahci_ctlp, + ahci_portp, port); + } + + return (DDI_SUCCESS); +} diff --git a/usr/src/uts/common/io/sata/adapters/nv_sata/nv_sata.c b/usr/src/uts/common/io/sata/adapters/nv_sata/nv_sata.c index b76bdcd590..dd0cf1a23f 100644 --- a/usr/src/uts/common/io/sata/adapters/nv_sata/nv_sata.c +++ b/usr/src/uts/common/io/sata/adapters/nv_sata/nv_sata.c @@ -83,6 +83,7 @@ */ static int nv_attach(dev_info_t *dip, ddi_attach_cmd_t cmd); static int nv_detach(dev_info_t *dip, ddi_detach_cmd_t cmd); +static int nv_quiesce(dev_info_t *dip); static int nv_getinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result); @@ -271,7 +272,8 @@ static struct dev_ops nv_dev_ops = { (struct cb_ops *)0, /* driver operations */ #endif NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + nv_quiesce /* quiesce */ }; @@ -5190,6 +5192,15 @@ mcp04_set_intr(nv_port_t *nvp, int flag) uint8_t clear_all_bits[] = { MCP04_INT_PDEV_ALL, MCP04_INT_SDEV_ALL }; uint8_t int_en, port = nvp->nvp_port_num, intr_status; + if (flag & NV_INTR_DISABLE_NON_BLOCKING) { + int_en = nv_get8(bar5_hdl, + (uint8_t *)(bar5 + MCP04_SATA_INT_EN)); + int_en &= ~intr_bits[port]; + nv_put8(bar5_hdl, (uint8_t *)(bar5 + MCP04_SATA_INT_EN), + int_en); + return; + } + ASSERT(mutex_owned(&nvp->nvp_mutex)); /* @@ -5253,6 +5264,13 @@ mcp55_set_intr(nv_port_t *nvp, int flag) MCP55_INT_ADD|MCP55_INT_REM|MCP55_INT_COMPLETE; uint16_t int_en; + if (flag & NV_INTR_DISABLE_NON_BLOCKING) { + int_en = nv_get16(bar5_hdl, nvp->nvp_mcp55_int_ctl); + int_en &= ~intr_bits; + nv_put16(bar5_hdl, nvp->nvp_mcp55_int_ctl, int_en); + return; + } + ASSERT(mutex_owned(&nvp->nvp_mutex)); NVLOG((NVDBG_HOT, nvc, nvp, "mcp055_set_intr: enter flag: %d", flag)); @@ -5538,7 +5556,6 @@ nv_report_add_remove(nv_port_t *nvp, int flags) } } - /* * Get request sense data and stuff it the command's sense buffer. * Start a request sense command in order to get sense data to insert @@ -5636,6 +5653,72 @@ nv_start_rqsense_pio(nv_port_t *nvp, nv_slot_t *nv_slotp) return (NV_SUCCESS); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +nv_quiesce(dev_info_t *dip) +{ + int port, instance = ddi_get_instance(dip); + nv_ctl_t *nvc; + + if ((nvc = (nv_ctl_t *)ddi_get_soft_state(nv_statep, instance)) == NULL) + return (DDI_FAILURE); + + for (port = 0; port < NV_MAX_PORTS(nvc); port++) { + nv_port_t *nvp = &(nvc->nvc_port[port]); + ddi_acc_handle_t cmdhdl = nvp->nvp_cmd_hdl; + ddi_acc_handle_t bar5_hdl = nvp->nvp_ctlp->nvc_bar_hdl[5]; + uint32_t sctrl; + + /* + * Stop the controllers from generating interrupts. + */ + (*(nvc->nvc_set_intr))(nvp, NV_INTR_DISABLE_NON_BLOCKING); + + /* + * clear signature registers + */ + nv_put8(cmdhdl, nvp->nvp_sect, 0); + nv_put8(cmdhdl, nvp->nvp_lcyl, 0); + nv_put8(cmdhdl, nvp->nvp_hcyl, 0); + nv_put8(cmdhdl, nvp->nvp_count, 0); + + nvp->nvp_signature = 0; + nvp->nvp_type = 0; + nvp->nvp_state |= NV_PORT_RESET; + nvp->nvp_reset_time = ddi_get_lbolt(); + nvp->nvp_link_lost_time = 0; + + /* + * assert reset in PHY by writing a 1 to bit 0 scontrol + */ + sctrl = nv_get32(bar5_hdl, nvp->nvp_sctrl); + + nv_put32(bar5_hdl, nvp->nvp_sctrl, + sctrl | SCONTROL_DET_COMRESET); + + /* + * wait 1ms + */ + drv_usecwait(1000); + + /* + * de-assert reset in PHY + */ + nv_put32(bar5_hdl, nvp->nvp_sctrl, sctrl); + } + + return (DDI_SUCCESS); +} + #ifdef SGPIO_SUPPORT /* diff --git a/usr/src/uts/common/io/sata/adapters/si3124/si3124.c b/usr/src/uts/common/io/sata/adapters/si3124/si3124.c index 24ebdadc83..4d9c9ecc24 100644 --- a/usr/src/uts/common/io/sata/adapters/si3124/si3124.c +++ b/usr/src/uts/common/io/sata/adapters/si3124/si3124.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" @@ -366,7 +365,8 @@ static struct dev_ops sictl_dev_ops = { nodev, /* no reset */ (struct cb_ops *)0, /* driver operations */ NULL, /* bus operations */ - si_power /* power */ + si_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static sata_tran_hotplug_ops_t si_tran_hotplug_ops = { @@ -383,7 +383,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* driverops */ - "si3124 driver v%I%", + "si3124 driver", &sictl_dev_ops, /* driver ops */ }; @@ -513,8 +513,8 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } si_ctlp->sictl_devid = - pci_config_get16(si_ctlp->sictl_pci_conf_handle, - PCI_CONF_DEVID); + pci_config_get16(si_ctlp->sictl_pci_conf_handle, + PCI_CONF_DEVID); if (si_ctlp->sictl_devid == SI3132_DEV_ID) { si_ctlp->sictl_num_ports = SI3132_MAX_PORTS; } else { @@ -525,12 +525,12 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Now map the bar0; the bar0 contains the global registers. */ status = ddi_regs_map_setup(dip, - PCI_BAR0, - (caddr_t *)&si_ctlp->sictl_global_addr, - 0, - 0, - &accattr, - &si_ctlp->sictl_global_acc_handle); + PCI_BAR0, + (caddr_t *)&si_ctlp->sictl_global_addr, + 0, + 0, + &accattr, + &si_ctlp->sictl_global_acc_handle); if (status != DDI_SUCCESS) { goto err_out; } @@ -539,12 +539,12 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Now map bar1; the bar1 contains the port registers. */ status = ddi_regs_map_setup(dip, - PCI_BAR1, - (caddr_t *)&si_ctlp->sictl_port_addr, - 0, - 0, - &accattr, - &si_ctlp->sictl_port_acc_handle); + PCI_BAR1, + (caddr_t *)&si_ctlp->sictl_port_addr, + 0, + 0, + &accattr, + &si_ctlp->sictl_port_acc_handle); if (status != DDI_SUCCESS) { goto err_out; } @@ -560,15 +560,15 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Get supported interrupt types. */ if (ddi_intr_get_supported_types(dip, &intr_types) - != DDI_SUCCESS) { + != DDI_SUCCESS) { SIDBG0(SIDBG_INIT, NULL, - "ddi_intr_get_supported_types failed"); + "ddi_intr_get_supported_types failed"); goto err_out; } SIDBG1(SIDBG_INIT, NULL, - "ddi_intr_get_supported_types() returned: 0x%x", - intr_types); + "ddi_intr_get_supported_types() returned: 0x%x", + intr_types); if (is_msi_supported && (intr_types & DDI_INTR_TYPE_MSI)) { SIDBG0(SIDBG_INIT, NULL, "Using MSI interrupt type"); @@ -581,16 +581,16 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) si_ctlp->sictl_intr_type = DDI_INTR_TYPE_MSI; attach_state |= ATTACH_PROGRESS_INTR_ADDED; SIDBG0(SIDBG_INIT, NULL, - "MSI interrupt setup done"); + "MSI interrupt setup done"); } else { SIDBG0(SIDBG_INIT, NULL, - "MSI registration failed " - "will try Legacy interrupts"); + "MSI registration failed " + "will try Legacy interrupts"); } } if (!(attach_state & ATTACH_PROGRESS_INTR_ADDED) && - (intr_types & DDI_INTR_TYPE_FIXED)) { + (intr_types & DDI_INTR_TYPE_FIXED)) { /* * Either the MSI interrupt setup has failed or only * fixed interrupts are available on the system. @@ -601,24 +601,24 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) si_ctlp->sictl_intr_type = DDI_INTR_TYPE_FIXED; attach_state |= ATTACH_PROGRESS_INTR_ADDED; SIDBG0(SIDBG_INIT, NULL, - "Legacy interrupt setup done"); + "Legacy interrupt setup done"); } else { SIDBG0(SIDBG_INIT, NULL, - "legacy interrupt setup failed"); + "legacy interrupt setup failed"); goto err_out; } } if (!(attach_state & ATTACH_PROGRESS_INTR_ADDED)) { SIDBG0(SIDBG_INIT, NULL, - "si3124: No interrupts registered"); + "si3124: No interrupts registered"); goto err_out; } /* Initialize the mutex. */ mutex_init(&si_ctlp->sictl_mutex, NULL, MUTEX_DRIVER, - (void *)(uintptr_t)si_ctlp->sictl_intr_pri); + (void *)(uintptr_t)si_ctlp->sictl_intr_pri); attach_state |= ATTACH_PROGRESS_MUTEX_INIT; @@ -636,13 +636,13 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (si_register_sata_hba_tran(si_ctlp)) { SIDBG0(SIDBG_INIT, NULL, - "si3124: setting sata hba tran failed"); + "si3124: setting sata hba tran failed"); goto err_out; } si_ctlp->sictl_timeout_id = timeout( - (void (*)(void *))si_watchdog_handler, - (caddr_t)si_ctlp, si_watchdog_tick); + (void (*)(void *))si_watchdog_handler, + (caddr_t)si_ctlp, si_watchdog_tick); si_ctlp->sictl_power_level = PM_LEVEL_D0; @@ -657,15 +657,15 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } si_ctlp->sictl_timeout_id = timeout( - (void (*)(void *))si_watchdog_handler, - (caddr_t)si_ctlp, si_watchdog_tick); + (void (*)(void *))si_watchdog_handler, + (caddr_t)si_ctlp, si_watchdog_tick); (void) pm_power_has_changed(dip, 0, PM_LEVEL_D0); /* Notify SATA framework about RESUME. */ if (sata_hba_attach(si_ctlp->sictl_devinfop, - si_ctlp->sictl_sata_hba_tran, - DDI_RESUME) != DDI_SUCCESS) { + si_ctlp->sictl_sata_hba_tran, + DDI_RESUME) != DDI_SUCCESS) { return (DDI_FAILURE); } @@ -675,9 +675,9 @@ si_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ bzero((void *)&sdevice, sizeof (sata_device_t)); sata_hba_event_notify(dip, &sdevice, - SATA_EVNT_PWR_LEVEL_CHANGED); + SATA_EVNT_PWR_LEVEL_CHANGED); SIDBG0(SIDBG_INIT|SIDBG_EVENT, si_ctlp, - "sending event up: SATA_EVNT_PWR_LEVEL_CHANGED"); + "sending event up: SATA_EVNT_PWR_LEVEL_CHANGED"); (void) pm_idle_component(si_ctlp->sictl_devinfop, 0); @@ -806,10 +806,10 @@ si_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) * */ if (pm_busy_component(si_ctlp->sictl_devinfop, 0) == - DDI_SUCCESS) { + DDI_SUCCESS) { mutex_exit(&si_ctlp->sictl_mutex); (void) pm_raise_power(si_ctlp->sictl_devinfop, 0, - PM_LEVEL_D0); + PM_LEVEL_D0); mutex_enter(&si_ctlp->sictl_mutex); } @@ -859,7 +859,7 @@ si_power(dev_info_t *dip, int component, int level) switch (level) { case PM_LEVEL_D0: /* fully on */ pci_config_put16(si_ctlp->sictl_pci_conf_handle, - PM_CSR(si_ctlp->sictl_devid), PCI_PMCSR_D0); + PM_CSR(si_ctlp->sictl_devid), PCI_PMCSR_D0); #ifndef __lock_lint delay(drv_usectohz(10000)); #endif /* __lock_lint */ @@ -867,8 +867,8 @@ si_power(dev_info_t *dip, int component, int level) (void) pci_restore_config_regs(si_ctlp->sictl_devinfop); SIDBG2(SIDBG_POWER, si_ctlp, - "si3124%d: turning power ON. old level %d", - instance, old_level); + "si3124%d: turning power ON. old level %d", + instance, old_level); /* * If called from attach, just raise device power, * restore config registers (if they were saved @@ -883,15 +883,15 @@ si_power(dev_info_t *dip, int component, int level) mutex_enter(&si_ctlp->sictl_mutex); si_ctlp->sictl_timeout_id = timeout( - (void (*)(void *))si_watchdog_handler, - (caddr_t)si_ctlp, si_watchdog_tick); + (void (*)(void *))si_watchdog_handler, + (caddr_t)si_ctlp, si_watchdog_tick); bzero((void *)&sdevice, sizeof (sata_device_t)); sata_hba_event_notify( - si_ctlp->sictl_sata_hba_tran->sata_tran_hba_dip, - &sdevice, SATA_EVNT_PWR_LEVEL_CHANGED); + si_ctlp->sictl_sata_hba_tran->sata_tran_hba_dip, + &sdevice, SATA_EVNT_PWR_LEVEL_CHANGED); SIDBG0(SIDBG_EVENT|SIDBG_POWER, si_ctlp, - "sending event up: PWR_LEVEL_CHANGED"); + "sending event up: PWR_LEVEL_CHANGED"); break; @@ -909,7 +909,7 @@ si_power(dev_info_t *dip, int component, int level) (void) pci_save_config_regs(si_ctlp->sictl_devinfop); pci_config_put16(si_ctlp->sictl_pci_conf_handle, - PM_CSR(si_ctlp->sictl_devid), PCI_PMCSR_D3HOT); + PM_CSR(si_ctlp->sictl_devid), PCI_PMCSR_D3HOT); SIDBG2(SIDBG_POWER, NULL, "si3124%d: turning power OFF. " "old level %d", instance, old_level); @@ -978,7 +978,7 @@ si_register_sata_hba_tran(si_ctl_state_t *si_ctlp) struct sata_hba_tran *sata_hba_tran; SIDBG0(SIDBG_INIT|SIDBG_ENTRY, si_ctlp, - "si_register_sata_hba_tran entry"); + "si_register_sata_hba_tran entry"); mutex_enter(&si_ctlp->sictl_mutex); @@ -1005,7 +1005,7 @@ si_register_sata_hba_tran(si_ctl_state_t *si_ctlp) /* Attach it to SATA framework */ if (sata_hba_attach(si_ctlp->sictl_devinfop, sata_hba_tran, DDI_ATTACH) - != DDI_SUCCESS) { + != DDI_SUCCESS) { kmem_free((void *)sata_hba_tran, sizeof (sata_hba_tran_t)); return (SI_FAILURE); } @@ -1027,13 +1027,13 @@ si_unregister_sata_hba_tran(si_ctl_state_t *si_ctlp) /* Detach from the SATA framework. */ if (sata_hba_detach(si_ctlp->sictl_devinfop, DDI_DETACH) != - DDI_SUCCESS) { + DDI_SUCCESS) { return (SI_FAILURE); } /* Deallocate sata_hba_tran. */ kmem_free((void *)si_ctlp->sictl_sata_hba_tran, - sizeof (sata_hba_tran_t)); + sizeof (sata_hba_tran_t)); si_ctlp->sictl_sata_hba_tran = NULL; @@ -1063,8 +1063,8 @@ si_tran_probe_port(dev_info_t *dip, sata_device_t *sd) si_ctlp = ddi_get_soft_state(si_statep, ddi_get_instance(dip)); SIDBG3(SIDBG_ENTRY, si_ctlp, - "si_tran_probe_port: cport: 0x%x, pmport: 0x%x, qual: 0x%x", - cport, pmport, qual); + "si_tran_probe_port: cport: 0x%x, pmport: 0x%x, qual: 0x%x", + cport, pmport, qual); if (cport >= SI_MAX_PORTS) { sd->satadev_type = SATA_DTYPE_NONE; @@ -1110,7 +1110,7 @@ si_tran_probe_port(dev_info_t *dip, sata_device_t *sd) case PORT_TYPE_MULTIPLIER: sd->satadev_type = SATA_DTYPE_PMULT; sd->satadev_add_info = - si_portp->siport_portmult_state.sipm_num_ports; + si_portp->siport_portmult_state.sipm_num_ports; break; case PORT_TYPE_UNKNOWN: @@ -1126,13 +1126,13 @@ si_tran_probe_port(dev_info_t *dip, sata_device_t *sd) if (qual == SATA_ADDR_PMPORT) { (void) si_read_portmult_reg(si_ctlp, si_portp, cport, - pmport, PSCR_REG0, &sd->satadev_scr.sstatus); + pmport, PSCR_REG0, &sd->satadev_scr.sstatus); (void) si_read_portmult_reg(si_ctlp, si_portp, cport, - pmport, PSCR_REG1, &sd->satadev_scr.serror); + pmport, PSCR_REG1, &sd->satadev_scr.serror); (void) si_read_portmult_reg(si_ctlp, si_portp, cport, - pmport, PSCR_REG2, &sd->satadev_scr.scontrol); + pmport, PSCR_REG2, &sd->satadev_scr.scontrol); (void) si_read_portmult_reg(si_ctlp, si_portp, cport, - pmport, PSCR_REG3, &sd->satadev_scr.sactive); + pmport, PSCR_REG3, &sd->satadev_scr.sactive); } else { fill_dev_sregisters(si_ctlp, cport, sd); if (!(si_portp->siport_active)) { @@ -1142,9 +1142,9 @@ si_tran_probe_port(dev_info_t *dip, sata_device_t *sd) * for sstatus when the device is in deactivated state. */ SSTATUS_SET_DET(sd->satadev_scr.sstatus, - SSTATUS_DET_PHYOFFLINE); + SSTATUS_DET_PHYOFFLINE); SSTATUS_SET_IPM(sd->satadev_scr.sstatus, - SSTATUS_IPM_NODEV_NOPHY); + SSTATUS_IPM_NODEV_NOPHY); sd->satadev_state = SATA_PSTATE_SHUTDOWN; } } @@ -1174,12 +1174,12 @@ si_tran_start(dev_info_t *dip, sata_pkt_t *spkt) mutex_exit(&si_ctlp->sictl_mutex); SIDBG1(SIDBG_ENTRY, si_ctlp, - "si_tran_start entry: port: 0x%x", cport); + "si_tran_start entry: port: 0x%x", cport); mutex_enter(&si_portp->siport_mutex); if ((si_portp->siport_port_type == PORT_TYPE_NODEV) || - !si_portp->siport_active) { + !si_portp->siport_active) { /* * si_intr_phy_ready_change() may have rendered it to * PORT_TYPE_NODEV. cfgadm operation may have rendered @@ -1194,18 +1194,18 @@ si_tran_start(dev_info_t *dip, sata_pkt_t *spkt) if (spkt->satapkt_cmd.satacmd_flags.sata_clear_dev_reset) { si_portp->siport_reset_in_progress = 0; SIDBG1(SIDBG_ENTRY, si_ctlp, - "si_tran_start clearing the " - "reset_in_progress for port: 0x%x", cport); + "si_tran_start clearing the " + "reset_in_progress for port: 0x%x", cport); } if (si_portp->siport_reset_in_progress && - ! spkt->satapkt_cmd.satacmd_flags.sata_ignore_dev_reset && - ! ddi_in_panic()) { + ! spkt->satapkt_cmd.satacmd_flags.sata_ignore_dev_reset && + ! ddi_in_panic()) { spkt->satapkt_reason = SATA_PKT_BUSY; SIDBG1(SIDBG_ERRS, si_ctlp, - "si_tran_start returning BUSY while " - "reset in progress: port: 0x%x", cport); + "si_tran_start returning BUSY while " + "reset in progress: port: 0x%x", cport); mutex_exit(&si_portp->siport_mutex); return (SATA_TRAN_BUSY); } @@ -1213,18 +1213,18 @@ si_tran_start(dev_info_t *dip, sata_pkt_t *spkt) if (si_portp->mopping_in_progress) { spkt->satapkt_reason = SATA_PKT_BUSY; SIDBG1(SIDBG_ERRS, si_ctlp, - "si_tran_start returning BUSY while " - "mopping in progress: port: 0x%x", cport); + "si_tran_start returning BUSY while " + "mopping in progress: port: 0x%x", cport); mutex_exit(&si_portp->siport_mutex); return (SATA_TRAN_BUSY); } if ((slot = si_deliver_satapkt(si_ctlp, si_portp, cport, spkt)) - == SI_FAILURE) { + == SI_FAILURE) { spkt->satapkt_reason = SATA_PKT_QUEUE_FULL; SIDBG1(SIDBG_ERRS, si_ctlp, - "si_tran_start returning QUEUE_FULL: port: 0x%x", - cport); + "si_tran_start returning QUEUE_FULL: port: 0x%x", + cport); mutex_exit(&si_portp->siport_mutex); return (SATA_TRAN_QUEUE_FULL); } @@ -1299,16 +1299,16 @@ si_mop_commands(si_ctl_state_t *si_ctlp, int i; SIDBG1(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si_mop_commands entered: slot_status: 0x%x", - slot_status); + "si_mop_commands entered: slot_status: 0x%x", + slot_status); SIDBG4(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si_mop_commands: failed_tags: 0x%x, timedout_tags: 0x%x" - "aborting_tags: 0x%x, reset_tags: 0x%x", - failed_tags, - timedout_tags, - aborting_tags, - reset_tags); + "si_mop_commands: failed_tags: 0x%x, timedout_tags: 0x%x" + "aborting_tags: 0x%x, reset_tags: 0x%x", + failed_tags, + timedout_tags, + aborting_tags, + reset_tags); /* * We could be here for four reasons: abort, reset, * timeout or error handling. Only one such mopping @@ -1323,13 +1323,13 @@ si_mop_commands(si_ctl_state_t *si_ctlp, si_portp->mopping_in_progress = 1; finished_tags = si_portp->siport_pending_tags & - ~slot_status & SI_SLOT_MASK; + ~slot_status & SI_SLOT_MASK; unfinished_tags = slot_status & SI_SLOT_MASK & - ~failed_tags & - ~aborting_tags & - ~reset_tags & - ~timedout_tags; + ~failed_tags & + ~aborting_tags & + ~reset_tags & + ~timedout_tags; /* Send up the finished_tags with SATA_PKT_COMPLETED. */ while (finished_tags) { @@ -1343,13 +1343,13 @@ si_mop_commands(si_ctl_state_t *si_ctlp, prb = &si_portp->siport_prbpool[tmpslot]; ASSERT(prb != NULL); satapkt->satapkt_cmd.satacmd_status_reg = - GET_FIS_COMMAND(prb->prb_fis); + GET_FIS_COMMAND(prb->prb_fis); if (satapkt->satapkt_cmd.satacmd_flags.sata_special_regs) si_copy_out_regs(&satapkt->satapkt_cmd, &prb->prb_fis); SIDBG1(SIDBG_ERRS, si_ctlp, - "si_mop_commands sending up completed satapkt: %x", - satapkt); + "si_mop_commands sending up completed satapkt: %x", + satapkt); SENDUP_PACKET(si_portp, satapkt, SATA_PKT_COMPLETED); CLEAR_BIT(si_portp->siport_pending_tags, tmpslot); @@ -1365,12 +1365,12 @@ si_mop_commands(si_ctl_state_t *si_ctlp, break; } SIDBG1(SIDBG_ERRS, si_ctlp, "si3124: si_mop_commands: " - "handling failed slot: 0x%x", tmpslot); + "handling failed slot: 0x%x", tmpslot); satapkt = si_portp->siport_slot_pkts[tmpslot]; ASSERT(satapkt != NULL); if (satapkt->satapkt_device.satadev_type == - SATA_DTYPE_ATAPICD) { + SATA_DTYPE_ATAPICD) { si_set_sense_data(satapkt, SATA_PKT_DEV_ERROR); } @@ -1382,35 +1382,35 @@ si_mop_commands(si_ctl_state_t *si_ctlp, prb_word_ptr = (uint32_t *)prb; for (i = 0; i < (sizeof (si_prb_t)/4); i++) { prb_word_ptr[i] = ddi_get32( - si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_LRAM(si_ctlp, port, - tmpslot)+i*4)); + si_ctlp->sictl_port_acc_handle, + (uint32_t *)(PORT_LRAM(si_ctlp, port, + tmpslot)+i*4)); } satapkt->satapkt_cmd.satacmd_status_reg = - GET_FIS_COMMAND(prb->prb_fis); + GET_FIS_COMMAND(prb->prb_fis); satapkt->satapkt_cmd.satacmd_error_reg = - GET_FIS_FEATURES(prb->prb_fis); + GET_FIS_FEATURES(prb->prb_fis); satapkt->satapkt_cmd.satacmd_sec_count_lsb = - GET_FIS_SECTOR_COUNT(prb->prb_fis); + GET_FIS_SECTOR_COUNT(prb->prb_fis); satapkt->satapkt_cmd.satacmd_lba_low_lsb = - GET_FIS_SECTOR(prb->prb_fis); + GET_FIS_SECTOR(prb->prb_fis); satapkt->satapkt_cmd.satacmd_lba_mid_lsb = - GET_FIS_CYL_LOW(prb->prb_fis); + GET_FIS_CYL_LOW(prb->prb_fis); satapkt->satapkt_cmd.satacmd_lba_high_lsb = - GET_FIS_CYL_HI(prb->prb_fis); + GET_FIS_CYL_HI(prb->prb_fis); satapkt->satapkt_cmd.satacmd_device_reg = - GET_FIS_DEV_HEAD(prb->prb_fis); + GET_FIS_DEV_HEAD(prb->prb_fis); if (satapkt->satapkt_cmd.satacmd_addr_type == ATA_ADDR_LBA48) { satapkt->satapkt_cmd.satacmd_sec_count_msb = - GET_FIS_SECTOR_COUNT_EXP(prb->prb_fis); + GET_FIS_SECTOR_COUNT_EXP(prb->prb_fis); satapkt->satapkt_cmd.satacmd_lba_low_msb = - GET_FIS_SECTOR_EXP(prb->prb_fis); + GET_FIS_SECTOR_EXP(prb->prb_fis); satapkt->satapkt_cmd.satacmd_lba_mid_msb = - GET_FIS_CYL_LOW_EXP(prb->prb_fis); + GET_FIS_CYL_LOW_EXP(prb->prb_fis); satapkt->satapkt_cmd.satacmd_lba_high_msb = - GET_FIS_CYL_HI_EXP(prb->prb_fis); + GET_FIS_CYL_HI_EXP(prb->prb_fis); } if (satapkt->satapkt_cmd.satacmd_flags.sata_special_regs) @@ -1423,7 +1423,7 @@ si_mop_commands(si_ctl_state_t *si_ctlp, */ if (si_portp->siport_err_tags_SDBERROR & (1 << tmpslot)) { satapkt->satapkt_cmd.satacmd_error_reg = - si_read_log_ext(si_ctlp, si_portp, port); + si_read_log_ext(si_ctlp, si_portp, port); } SENDUP_PACKET(si_portp, satapkt, SATA_PKT_DEV_ERROR); @@ -1444,9 +1444,9 @@ si_mop_commands(si_ctl_state_t *si_ctlp, satapkt = si_portp->siport_slot_pkts[tmpslot]; ASSERT(satapkt != NULL); SIDBG1(SIDBG_ERRS, si_ctlp, - "si_mop_commands sending " - "spkt up with PKT_TIMEOUT: %x", - satapkt); + "si_mop_commands sending " + "spkt up with PKT_TIMEOUT: %x", + satapkt); SENDUP_PACKET(si_portp, satapkt, SATA_PKT_TIMEOUT); @@ -1466,10 +1466,10 @@ si_mop_commands(si_ctl_state_t *si_ctlp, satapkt = si_portp->siport_slot_pkts[tmpslot]; ASSERT(satapkt != NULL); SIDBG1(SIDBG_ERRS, si_ctlp, - "si_mop_commands aborting spkt: %x", - satapkt); + "si_mop_commands aborting spkt: %x", + satapkt); if (satapkt->satapkt_device.satadev_type == - SATA_DTYPE_ATAPICD) { + SATA_DTYPE_ATAPICD) { si_set_sense_data(satapkt, SATA_PKT_ABORTED); } SENDUP_PACKET(si_portp, satapkt, SATA_PKT_ABORTED); @@ -1490,9 +1490,9 @@ si_mop_commands(si_ctl_state_t *si_ctlp, satapkt = si_portp->siport_slot_pkts[tmpslot]; ASSERT(satapkt != NULL); SIDBG1(SIDBG_ERRS, si_ctlp, - "si_mop_commands sending PKT_RESET for " - "reset spkt: %x", - satapkt); + "si_mop_commands sending PKT_RESET for " + "reset spkt: %x", + satapkt); SENDUP_PACKET(si_portp, satapkt, SATA_PKT_RESET); CLEAR_BIT(reset_tags, tmpslot); @@ -1510,9 +1510,9 @@ si_mop_commands(si_ctl_state_t *si_ctlp, satapkt = si_portp->siport_slot_pkts[tmpslot]; ASSERT(satapkt != NULL); SIDBG1(SIDBG_ERRS, si_ctlp, - "si_mop_commands sending PKT_BUSY for " - "retry spkt: %x", - satapkt); + "si_mop_commands sending PKT_BUSY for " + "retry spkt: %x", + satapkt); SENDUP_PACKET(si_portp, satapkt, SATA_PKT_BUSY); CLEAR_BIT(unfinished_tags, tmpslot); @@ -1555,7 +1555,7 @@ si_tran_abort(dev_info_t *dip, sata_pkt_t *spkt, int flag) mutex_enter(&si_portp->siport_mutex); if ((si_portp->siport_port_type == PORT_TYPE_NODEV) || - !si_portp->siport_active) { + !si_portp->siport_active) { /* * si_intr_phy_ready_change() may have rendered it to * PORT_TYPE_NODEV. cfgadm operation may have rendered @@ -1585,7 +1585,7 @@ si_tran_abort(dev_info_t *dip, sata_pkt_t *spkt, int flag) if (aborting_tags == 0xffffffff) { /* requested packet is not on pending list. */ fill_dev_sregisters(si_ctlp, port, - &spkt->satapkt_device); + &spkt->satapkt_device); mutex_exit(&si_portp->siport_mutex); return (SATA_FAILURE); } @@ -1593,9 +1593,9 @@ si_tran_abort(dev_info_t *dip, sata_pkt_t *spkt, int flag) slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); (void) si_reset_dport_wait_till_ready(si_ctlp, si_portp, - port, SI_DEVICE_RESET); + port, SI_DEVICE_RESET); /* * Compute which have finished and which need to be retried. @@ -1605,18 +1605,18 @@ si_tran_abort(dev_info_t *dip, sata_pkt_t *spkt, int flag) * can't possibly abort a tag which had finished already. */ finished_tags = si_portp->siport_pending_tags & - ~slot_status & SI_SLOT_MASK; + ~slot_status & SI_SLOT_MASK; aborting_tags &= ~finished_tags; mutex_exit(&si_portp->siport_mutex); si_mop_commands(si_ctlp, - si_portp, - port, - slot_status, - 0, /* failed_tags */ - 0, /* timedout_tags */ - aborting_tags, - 0); /* reset_tags */ + si_portp, + port, + slot_status, + 0, /* failed_tags */ + 0, /* timedout_tags */ + aborting_tags, + 0); /* reset_tags */ mutex_enter(&si_portp->siport_mutex); fill_dev_sregisters(si_ctlp, port, &spkt->satapkt_device); @@ -1644,24 +1644,24 @@ si_reject_all_reset_pkts( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ENTRY, si_ctlp, - "si_reject_all_reset_pkts on port: %x", - port); + "si_reject_all_reset_pkts on port: %x", + port); slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); /* Compute which tags need to be sent up. */ reset_tags = slot_status & SI_SLOT_MASK; mutex_exit(&si_portp->siport_mutex); si_mop_commands(si_ctlp, - si_portp, - port, - slot_status, - 0, /* failed_tags */ - 0, /* timedout_tags */ - 0, /* aborting_tags */ - reset_tags); + si_portp, + port, + slot_status, + 0, /* failed_tags */ + 0, /* timedout_tags */ + 0, /* aborting_tags */ + reset_tags); mutex_enter(&si_portp->siport_mutex); } @@ -1682,8 +1682,8 @@ si_tran_reset_dport(dev_info_t *dip, sata_device_t *sd) si_ctlp = ddi_get_soft_state(si_statep, ddi_get_instance(dip)); SIDBG1(SIDBG_ENTRY, si_ctlp, - "si_tran_reset_port entry: port: 0x%x", - port); + "si_tran_reset_port entry: port: 0x%x", + port); switch (sd->satadev_addr.qual) { case SATA_ADDR_CPORT: @@ -1693,7 +1693,7 @@ si_tran_reset_dport(dev_info_t *dip, sata_device_t *sd) mutex_enter(&si_portp->siport_mutex); retval = si_reset_dport_wait_till_ready(si_ctlp, si_portp, port, - SI_PORT_RESET); + SI_PORT_RESET); si_reject_all_reset_pkts(si_ctlp, si_portp, port); mutex_exit(&si_portp->siport_mutex); @@ -1707,14 +1707,14 @@ si_tran_reset_dport(dev_info_t *dip, sata_device_t *sd) mutex_enter(&si_portp->siport_mutex); if ((si_portp->siport_port_type == PORT_TYPE_NODEV) || - !si_portp->siport_active) { + !si_portp->siport_active) { mutex_exit(&si_portp->siport_mutex); retval = SI_FAILURE; break; } retval = si_reset_dport_wait_till_ready(si_ctlp, si_portp, port, - SI_DEVICE_RESET); + SI_DEVICE_RESET); si_reject_all_reset_pkts(si_ctlp, si_portp, port); mutex_exit(&si_portp->siport_mutex); @@ -1728,7 +1728,7 @@ si_tran_reset_dport(dev_info_t *dip, sata_device_t *sd) mutex_enter(&si_portp->siport_mutex); retval = si_reset_dport_wait_till_ready(si_ctlp, - si_portp, i, SI_PORT_RESET); + si_portp, i, SI_PORT_RESET); if (retval) { mutex_exit(&si_portp->siport_mutex); break; @@ -1741,7 +1741,7 @@ si_tran_reset_dport(dev_info_t *dip, sata_device_t *sd) case SATA_ADDR_PMPORT: case SATA_ADDR_DPMPORT: SIDBG0(SIDBG_VERBOSE, si_ctlp, - "port mult reset not implemented yet"); + "port mult reset not implemented yet"); /* FALLSTHROUGH */ default: @@ -1782,7 +1782,7 @@ si_tran_hotplug_port_activate(dev_info_t *dip, sata_device_t *satadev) * not need to know about it. */ (void) si_reset_dport_wait_till_ready(si_ctlp, si_portp, port, - SI_DEVICE_RESET|SI_RESET_NO_EVENTS_UP); + SI_DEVICE_RESET|SI_RESET_NO_EVENTS_UP); satadev->satadev_state = SATA_STATE_READY; @@ -1855,13 +1855,13 @@ si_alloc_port_state(si_ctl_state_t *si_ctlp, int port) si_port_state_t *si_portp; si_ctlp->sictl_ports[port] = (si_port_state_t *)kmem_zalloc( - sizeof (si_port_state_t), KM_SLEEP); + sizeof (si_port_state_t), KM_SLEEP); si_portp = si_ctlp->sictl_ports[port]; mutex_init(&si_portp->siport_mutex, NULL, MUTEX_DRIVER, - (void *)(uintptr_t)si_ctlp->sictl_intr_pri); + (void *)(uintptr_t)si_ctlp->sictl_intr_pri); mutex_init(&si_portp->siport_mop_mutex, NULL, MUTEX_DRIVER, - (void *)(uintptr_t)si_ctlp->sictl_intr_pri); + (void *)(uintptr_t)si_ctlp->sictl_intr_pri); mutex_enter(&si_portp->siport_mutex); /* allocate prb & sgt pkts for this port. */ @@ -1921,25 +1921,25 @@ si_alloc_sgbpool(si_ctl_state_t *si_ctlp, int port) /* allocate sgbpool dma handle. */ if (ddi_dma_alloc_handle(si_ctlp->sictl_devinfop, - &prb_sgt_dma_attr, - DDI_DMA_SLEEP, - NULL, - &si_portp->siport_sgbpool_dma_handle) != - DDI_SUCCESS) { + &prb_sgt_dma_attr, + DDI_DMA_SLEEP, + NULL, + &si_portp->siport_sgbpool_dma_handle) != + DDI_SUCCESS) { return (SI_FAILURE); } /* allocate the memory for sgbpool. */ if (ddi_dma_mem_alloc(si_portp->siport_sgbpool_dma_handle, - incore_sgbpool_size, - &accattr, - DDI_DMA_RDWR | DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, - NULL, - (caddr_t *)&si_portp->siport_sgbpool, - &ret_len, - &si_portp->siport_sgbpool_acc_handle) != NULL) { + incore_sgbpool_size, + &accattr, + DDI_DMA_RDWR | DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, + NULL, + (caddr_t *)&si_portp->siport_sgbpool, + &ret_len, + &si_portp->siport_sgbpool_acc_handle) != NULL) { /* error.. free the dma handle. */ ddi_dma_free_handle(&si_portp->siport_sgbpool_dma_handle); @@ -1948,14 +1948,14 @@ si_alloc_sgbpool(si_ctl_state_t *si_ctlp, int port) /* now bind it */ if (ddi_dma_addr_bind_handle(si_portp->siport_sgbpool_dma_handle, - NULL, - (caddr_t)si_portp->siport_sgbpool, - incore_sgbpool_size, - DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, - NULL, - &sgbpool_dma_cookie, - &cookie_count) != DDI_DMA_MAPPED) { + NULL, + (caddr_t)si_portp->siport_sgbpool, + incore_sgbpool_size, + DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, + NULL, + &sgbpool_dma_cookie, + &cookie_count) != DDI_DMA_MAPPED) { /* error.. free the dma handle & free the memory. */ ddi_dma_mem_free(&si_portp->siport_sgbpool_acc_handle); ddi_dma_free_handle(&si_portp->siport_sgbpool_dma_handle); @@ -2001,24 +2001,24 @@ si_alloc_prbpool(si_ctl_state_t *si_ctlp, int port) /* allocate prb pkts. */ if (ddi_dma_alloc_handle(si_ctlp->sictl_devinfop, - &prb_sgt_dma_attr, - DDI_DMA_SLEEP, - NULL, - &si_portp->siport_prbpool_dma_handle) != - DDI_SUCCESS) { + &prb_sgt_dma_attr, + DDI_DMA_SLEEP, + NULL, + &si_portp->siport_prbpool_dma_handle) != + DDI_SUCCESS) { return (SI_FAILURE); } if (ddi_dma_mem_alloc(si_portp->siport_prbpool_dma_handle, - incore_pkt_size, - &accattr, - DDI_DMA_RDWR | DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, - NULL, - (caddr_t *)&si_portp->siport_prbpool, - &ret_len, - &si_portp->siport_prbpool_acc_handle) != NULL) { + incore_pkt_size, + &accattr, + DDI_DMA_RDWR | DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, + NULL, + (caddr_t *)&si_portp->siport_prbpool, + &ret_len, + &si_portp->siport_prbpool_acc_handle) != NULL) { /* error.. free the dma handle. */ ddi_dma_free_handle(&si_portp->siport_prbpool_dma_handle); @@ -2026,14 +2026,14 @@ si_alloc_prbpool(si_ctl_state_t *si_ctlp, int port) } if (ddi_dma_addr_bind_handle(si_portp->siport_prbpool_dma_handle, - NULL, - (caddr_t)si_portp->siport_prbpool, - incore_pkt_size, - DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, - NULL, - &prbpool_dma_cookie, - &cookie_count) != DDI_DMA_MAPPED) { + NULL, + (caddr_t)si_portp->siport_prbpool, + incore_pkt_size, + DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, + NULL, + &prbpool_dma_cookie, + &cookie_count) != DDI_DMA_MAPPED) { /* error.. free the dma handle & free the memory. */ ddi_dma_mem_free(&si_portp->siport_prbpool_acc_handle); ddi_dma_free_handle(&si_portp->siport_prbpool_dma_handle); @@ -2041,7 +2041,7 @@ si_alloc_prbpool(si_ctl_state_t *si_ctlp, int port) } si_portp->siport_prbpool_physaddr = - prbpool_dma_cookie.dmac_laddress; + prbpool_dma_cookie.dmac_laddress; return (SI_SUCCESS); } @@ -2082,8 +2082,8 @@ si_find_dev_signature( int slot, loop_count; SIDBG2(SIDBG_ENTRY|SIDBG_INIT, si_ctlp, - "si_find_dev_signature enter: port: %x, pmp: %x", - port, pmp); + "si_find_dev_signature enter: port: %x, pmp: %x", + port, pmp); /* Build a Soft Reset PRB in host memory. */ mutex_enter(&si_portp->siport_mutex); @@ -2094,7 +2094,7 @@ si_find_dev_signature( if (pmp != PORTMULT_CONTROL_PORT) { /* We are behind port multiplier. */ si_portp->siport_portmult_state.sipm_port_type[pmp] = - PORT_TYPE_NODEV; + PORT_TYPE_NODEV; } else { si_portp->siport_port_type = PORT_TYPE_NODEV; } @@ -2132,7 +2132,7 @@ si_find_dev_signature( /* Loop till the soft reset is finished. */ do { slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); if (loop_count++ > SI_POLLRATE_SOFT_RESET) { /* We are effectively timing out after 10 sec. */ @@ -2147,26 +2147,26 @@ si_find_dev_signature( } while (slot_status & SI_SLOT_MASK & (0x1 << slot)); SIDBG2(SIDBG_POLL_LOOP, si_ctlp, - "si_find_dev_signature: loop count: %d, slot_status: 0x%x", - loop_count, slot_status); + "si_find_dev_signature: loop count: %d, slot_status: 0x%x", + loop_count, slot_status); CLEAR_BIT(si_portp->siport_pending_tags, slot); /* Read device signature from command slot. */ signature = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SIGNATURE_MSB(si_ctlp, port, slot))); + (uint32_t *)(PORT_SIGNATURE_MSB(si_ctlp, port, slot))); signature <<= 8; signature |= (0xff & ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SIGNATURE_LSB(si_ctlp, - port, slot)))); + (uint32_t *)(PORT_SIGNATURE_LSB(si_ctlp, + port, slot)))); SIDBG1(SIDBG_INIT, si_ctlp, "Device signature: 0x%x", signature); if (signature == SI_SIGNATURE_PORT_MULTIPLIER) { SIDBG2(SIDBG_INIT, si_ctlp, - "Found multiplier at cport: 0x%d, pmport: 0x%x", - port, pmp); + "Found multiplier at cport: 0x%d, pmport: 0x%x", + port, pmp); if (pmp != PORTMULT_CONTROL_PORT) { /* @@ -2174,12 +2174,12 @@ si_find_dev_signature( * another port multiplier. */ si_portp->siport_portmult_state.sipm_port_type[pmp] = - PORT_TYPE_NODEV; + PORT_TYPE_NODEV; } else { si_portp->siport_port_type = PORT_TYPE_MULTIPLIER; mutex_exit(&si_portp->siport_mutex); (void) si_enumerate_port_multiplier(si_ctlp, - si_portp, port); + si_portp, port); mutex_enter(&si_portp->siport_mutex); } si_init_port(si_ctlp, port); @@ -2188,40 +2188,40 @@ si_find_dev_signature( if (pmp != PORTMULT_CONTROL_PORT) { /* We are behind port multiplier. */ si_portp->siport_portmult_state.sipm_port_type[pmp] = - PORT_TYPE_ATAPI; + PORT_TYPE_ATAPI; } else { si_portp->siport_port_type = PORT_TYPE_ATAPI; si_init_port(si_ctlp, port); } SIDBG2(SIDBG_INIT, si_ctlp, - "Found atapi at : cport: %x, pmport: %x", - port, pmp); + "Found atapi at : cport: %x, pmport: %x", + port, pmp); } else if (signature == SI_SIGNATURE_DISK) { if (pmp != PORTMULT_CONTROL_PORT) { /* We are behind port multiplier. */ si_portp->siport_portmult_state.sipm_port_type[pmp] = - PORT_TYPE_DISK; + PORT_TYPE_DISK; } else { si_portp->siport_port_type = PORT_TYPE_DISK; si_init_port(si_ctlp, port); } SIDBG2(SIDBG_INIT, si_ctlp, - "found disk at : cport: %x, pmport: %x", - port, pmp); + "found disk at : cport: %x, pmport: %x", + port, pmp); } else { if (pmp != PORTMULT_CONTROL_PORT) { /* We are behind port multiplier. */ si_portp->siport_portmult_state.sipm_port_type[pmp] = - PORT_TYPE_UNKNOWN; + PORT_TYPE_UNKNOWN; } else { si_portp->siport_port_type = PORT_TYPE_UNKNOWN; } SIDBG3(SIDBG_INIT, si_ctlp, - "Found unknown signature 0x%x at: port: %x, pmp: %x", - signature, port, pmp); + "Found unknown signature 0x%x at: port: %x, pmp: %x", + signature, port, pmp); } mutex_exit(&si_portp->siport_mutex); @@ -2248,7 +2248,7 @@ si_poll_cmd( SIDBG1(SIDBG_ENTRY, si_ctlp, "si_poll_cmd entered: port: 0x%x", port); pkt_timeout_ticks = drv_usectohz((clock_t)satapkt->satapkt_time * - 1000000); + 1000000); mutex_enter(&si_portp->siport_mutex); @@ -2257,7 +2257,7 @@ si_poll_cmd( do { slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); if (slot_status & SI_SLOT_MASK & (0x1 << slot)) { if (in_panic) { @@ -2296,11 +2296,11 @@ si_poll_cmd( if (IS_ATTENTION_RAISED(slot_status)) { /* error seen on port */ port_intr_status = ddi_get32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)PORT_INTERRUPT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_INTERRUPT_STATUS(si_ctlp, port)); SIDBG2(SIDBG_VERBOSE, si_ctlp, - "si_poll_cmd: port_intr_status: 0x%x, port: %x", - port_intr_status, port); + "si_poll_cmd: port_intr_status: 0x%x, port: %x", + port_intr_status, port); if (port_intr_status & INTR_COMMAND_ERROR) { mutex_exit(&si_portp->siport_mutex); @@ -2335,9 +2335,9 @@ si_poll_cmd( } else { /* Ignore any non-error interrupts at this stage */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_INTERRUPT_STATUS(si_ctlp, - port)), - port_intr_status & INTR_MASK); + (uint32_t *)(PORT_INTERRUPT_STATUS(si_ctlp, + port)), + port_intr_status & INTR_MASK); } @@ -2346,9 +2346,9 @@ si_poll_cmd( } /* else: the command completed successfully */ if ((satapkt->satapkt_cmd.satacmd_cmd_reg == - SATAC_WRITE_FPDMA_QUEUED) || + SATAC_WRITE_FPDMA_QUEUED) || (satapkt->satapkt_cmd.satacmd_cmd_reg == - SATAC_READ_FPDMA_QUEUED)) { + SATAC_READ_FPDMA_QUEUED)) { si_portp->siport_pending_ncq_count--; } @@ -2389,20 +2389,20 @@ si_claim_free_slot(si_ctl_state_t *si_ctlp, si_port_state_t *si_portp, int port) _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ENTRY, si_ctlp, - "si_claim_free_slot entry: siport_pending_tags: %x", - si_portp->siport_pending_tags); + "si_claim_free_slot entry: siport_pending_tags: %x", + si_portp->siport_pending_tags); free_slots = (~si_portp->siport_pending_tags) & SI_SLOT_MASK; slot = ddi_ffs(free_slots) - 1; if (slot == -1) { SIDBG0(SIDBG_VERBOSE, si_ctlp, - "si_claim_free_slot: no empty slots"); + "si_claim_free_slot: no empty slots"); return (SI_FAILURE); } si_portp->siport_pending_tags |= (0x1 << slot); SIDBG1(SIDBG_VERBOSE, si_ctlp, "si_claim_free_slot: found slot: 0x%x", - slot); + slot); return (slot); } @@ -2446,7 +2446,7 @@ si_deliver_satapkt( } if ((si_portp->siport_port_type == PORT_TYPE_NODEV) || - !si_portp->siport_active) { + !si_portp->siport_active) { /* * si_intr_phy_ready_change() may have rendered it to * PORT_TYPE_NODEV. cfgadm operation may have rendered @@ -2465,9 +2465,9 @@ si_deliver_satapkt( cmd = &spkt->satapkt_cmd; SIDBG4(SIDBG_ENTRY, si_ctlp, - "si_deliver_satpkt entry: cmd_reg: 0x%x, slot: 0x%x, \ + "si_deliver_satpkt entry: cmd_reg: 0x%x, slot: 0x%x, \ port: %x, satapkt: %x", - cmd->satacmd_cmd_reg, slot, port, (uint32_t)(intptr_t)spkt); + cmd->satacmd_cmd_reg, slot, port, (uint32_t)(intptr_t)spkt); /* Now fill the prb. */ if (is_atapi) { @@ -2484,7 +2484,7 @@ si_deliver_satapkt( if ((spkt->satapkt_device.satadev_addr.qual == SATA_ADDR_PMPORT) || (spkt->satapkt_device.satadev_addr.qual == SATA_ADDR_DPMPORT)) { SET_FIS_PMP(prb->prb_fis, - spkt->satapkt_device.satadev_addr.pmport); + spkt->satapkt_device.satadev_addr.pmport); } SET_FIS_CDMDEVCTL(prb->prb_fis, 1); SET_FIS_COMMAND(prb->prb_fis, cmd->satacmd_cmd_reg); @@ -2535,9 +2535,9 @@ si_deliver_satapkt( /* Set the extended sector count and features */ SET_FIS_SECTOR_COUNT_EXP(prb->prb_fis, - cmd->satacmd_sec_count_msb); + cmd->satacmd_sec_count_msb); SET_FIS_FEATURES_EXP(prb->prb_fis, - cmd->satacmd_features_reg_ext); + cmd->satacmd_features_reg_ext); break; @@ -2565,8 +2565,8 @@ si_deliver_satapkt( /* Now fill sge1 with pointer to external SGT. */ if (spkt->satapkt_cmd.satacmd_num_dma_cookies) { prb->prb_sge1.sge_addr = - si_portp->siport_sgbpool_physaddr + - slot*sizeof (si_sgblock_t); + si_portp->siport_sgbpool_physaddr + + slot*sizeof (si_sgblock_t); SET_SGE_LNK(prb->prb_sge1); } else { SET_SGE_TRM(prb->prb_sge1); @@ -2575,8 +2575,8 @@ si_deliver_satapkt( /* Fill the sge0 */ if (spkt->satapkt_cmd.satacmd_num_dma_cookies) { prb->prb_sge0.sge_addr = - si_portp->siport_sgbpool_physaddr + - slot*sizeof (si_sgblock_t); + si_portp->siport_sgbpool_physaddr + + slot*sizeof (si_sgblock_t); SET_SGE_LNK(prb->prb_sge0); } else { @@ -2609,21 +2609,21 @@ si_deliver_satapkt( } for (i = 0, cookie_index = 0, sgbp = &si_portp->siport_sgbpool[slot]; - i < SI_MAX_SGT_TABLES_PER_PRB; i++) { + i < SI_MAX_SGT_TABLES_PER_PRB; i++) { sgtp = &sgbp->sgb_sgt[i]; /* Now fill the first 3 entries of SGT in the loop below. */ for (j = 0, sgep = &sgtp->sgt_sge[0]; - ((j < 3) && (cookie_index < ncookies-1)); - j++, cookie_index++, sgep++) { + ((j < 3) && (cookie_index < ncookies-1)); + j++, cookie_index++, sgep++) { ASSERT(cookie_index < ncookies); SIDBG2(SIDBG_COOKIES, si_ctlp, - "inner loop: cookie_index: %d, ncookies: %d", - cookie_index, - ncookies); + "inner loop: cookie_index: %d, ncookies: %d", + cookie_index, + ncookies); cookie = spkt->satapkt_cmd. - satacmd_dma_cookie_list[cookie_index]; + satacmd_dma_cookie_list[cookie_index]; sgep->sge_addr_low = cookie._dmu._dmac_la[0]; sgep->sge_addr_high = cookie._dmu._dmac_la[1]; @@ -2638,12 +2638,12 @@ si_deliver_satapkt( if (cookie_index == ncookies-1) { /* This is the last cookie. Terminate the chain. */ SIDBG2(SIDBG_COOKIES, si_ctlp, - "filling the last: cookie_index: %d, " - "ncookies: %d", - cookie_index, - ncookies); + "filling the last: cookie_index: %d, " + "ncookies: %d", + cookie_index, + ncookies); cookie = spkt->satapkt_cmd. - satacmd_dma_cookie_list[cookie_index]; + satacmd_dma_cookie_list[cookie_index]; sgep->sge_addr_low = cookie._dmu._dmac_la[0]; sgep->sge_addr_high = cookie._dmu._dmac_la[1]; @@ -2655,12 +2655,12 @@ si_deliver_satapkt( } else { /* This is not the last one. So link it. */ SIDBG2(SIDBG_COOKIES, si_ctlp, - "linking SGT: cookie_index: %d, ncookies: %d", - cookie_index, - ncookies); + "linking SGT: cookie_index: %d, ncookies: %d", + cookie_index, + ncookies); sgep->sge_addr = si_portp->siport_sgbpool_physaddr + - slot * sizeof (si_sgblock_t) + - (i+1) * sizeof (si_sgt_t); + slot * sizeof (si_sgblock_t) + + (i+1) * sizeof (si_sgt_t); SET_SGE_LNK((*sgep)); } @@ -2690,25 +2690,25 @@ sgl_fill_done: * in second phase of the project. */ ASSERT((cmd->satacmd_acdb_len == 12) || - (cmd->satacmd_acdb_len == 16)); + (cmd->satacmd_acdb_len == 16)); SIDBG1(SIDBG_VERBOSE, si_ctlp, "deliver: acdb_len: %d", - cmd->satacmd_acdb_len); + cmd->satacmd_acdb_len); if (cmd->satacmd_acdb_len == 16) { ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_PACKET_LEN); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_PACKET_LEN); } else { ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), - PORT_CONTROL_CLEAR_BITS_PACKET_LEN); + (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), + PORT_CONTROL_CLEAR_BITS_PACKET_LEN); } #else /* ATAPI_2nd_PHASE */ /* hard coding for now to 12 bytes */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), - PORT_CONTROL_CLEAR_BITS_PACKET_LEN); + (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), + PORT_CONTROL_CLEAR_BITS_PACKET_LEN); #endif /* ATAPI_2nd_PHASE */ } @@ -2731,18 +2731,18 @@ sgl_fill_done: } cmn_err(CE_WARN, - "si_deliver_satpkt sgt: low, high, count link"); + "si_deliver_satpkt sgt: low, high, count link"); for (j = 0, - tmpsgep = (si_sge_t *) - &si_portp->siport_sgbpool[slot]; - j < (sizeof (si_sgblock_t)/ sizeof (si_sge_t)); - j++, tmpsgep++) { + tmpsgep = (si_sge_t *) + &si_portp->siport_sgbpool[slot]; + j < (sizeof (si_sgblock_t)/ sizeof (si_sge_t)); + j++, tmpsgep++) { ptr = (int *)tmpsgep; cmn_err(CE_WARN, "%x %x %x %x", - ptr[0], - ptr[1], - ptr[2], - ptr[3]); + ptr[0], + ptr[1], + ptr[2], + ptr[3]); if (IS_SGE_TRM_SET((*tmpsgep))) { break; } @@ -2780,14 +2780,14 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) si_port_state_t *si_portp; SIDBG0(SIDBG_INIT|SIDBG_ENTRY, si_ctlp, - "si3124: si_initialize_controller entered"); + "si3124: si_initialize_controller entered"); mutex_enter(&si_ctlp->sictl_mutex); /* Remove the Global Reset. */ ddi_put32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp), - GLOBAL_CONTROL_REG_BITS_CLEAR); + (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp), + GLOBAL_CONTROL_REG_BITS_CLEAR); for (port = 0; port < si_ctlp->sictl_num_ports; port++) { @@ -2808,11 +2808,11 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) /* Clear Port Reset. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_PORT_RESET); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_PORT_RESET); ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), - PORT_CONTROL_CLEAR_BITS_PORT_RESET); + (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), + PORT_CONTROL_CLEAR_BITS_PORT_RESET); /* * Arm the interrupts for: Cmd completion, Cmd error, @@ -2820,16 +2820,16 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) * UnrecFIS, Devxchanged, SDBNotify. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_INTERRUPT_ENABLE_SET(si_ctlp, port), - (INTR_COMMAND_COMPLETE | - INTR_COMMAND_ERROR | - INTR_PORT_READY | - INTR_POWER_CHANGE | - INTR_PHYRDY_CHANGE | - INTR_COMWAKE_RECEIVED | - INTR_UNRECOG_FIS | - INTR_DEV_XCHANGED | - INTR_SETDEVBITS_NOTIFY)); + (uint32_t *)PORT_INTERRUPT_ENABLE_SET(si_ctlp, port), + (INTR_COMMAND_COMPLETE | + INTR_COMMAND_ERROR | + INTR_PORT_READY | + INTR_POWER_CHANGE | + INTR_PHYRDY_CHANGE | + INTR_COMWAKE_RECEIVED | + INTR_UNRECOG_FIS | + INTR_DEV_XCHANGED | + INTR_SETDEVBITS_NOTIFY)); /* Now enable the interrupts. */ si_enable_port_interrupts(si_ctlp, port); @@ -2849,11 +2849,11 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) * DET part with 1 */ SControl = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SCONTROL(si_ctlp, port)); + (uint32_t *)PORT_SCONTROL(si_ctlp, port)); SCONTROL_SET_DET(SControl, SCONTROL_DET_COMRESET); ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), - SControl); + (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), + SControl); #ifndef __lock_lint delay(SI_10MS_TICKS); /* give time for COMRESET to percolate */ #endif /* __lock_lint */ @@ -2863,11 +2863,11 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) * DET part with 0 */ SControl = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SCONTROL(si_ctlp, port)); + (uint32_t *)PORT_SCONTROL(si_ctlp, port)); SCONTROL_SET_DET(SControl, SCONTROL_DET_NOACTION); ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), - SControl); + (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), + SControl); /* * PHY may be initialized by now. Check the DET field of @@ -2880,17 +2880,17 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) loop_count = 0; do { SStatus = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SSTATUS(si_ctlp, port)); + (uint32_t *)PORT_SSTATUS(si_ctlp, port)); if (SSTATUS_GET_IPM(SStatus) != - SSTATUS_IPM_INTERFACE_ACTIVE) { + SSTATUS_IPM_INTERFACE_ACTIVE) { /* * If the interface is not active, the DET field * is considered not accurate. So we want to * continue looping. */ SSTATUS_SET_DET(SStatus, - SSTATUS_DET_NODEV_NOPHY); + SSTATUS_DET_NODEV_NOPHY); } if (loop_count++ > SI_POLLRATE_SSTATUS) { @@ -2906,24 +2906,24 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) #endif /* __lock_lint */ } while (SSTATUS_GET_DET(SStatus) != - SSTATUS_DET_DEVPRESENT_PHYONLINE); + SSTATUS_DET_DEVPRESENT_PHYONLINE); SIDBG2(SIDBG_POLL_LOOP|SIDBG_INIT, si_ctlp, - "si_initialize_controller: 1st loop count: %d, " - "SStatus: 0x%x", - loop_count, - SStatus); + "si_initialize_controller: 1st loop count: %d, " + "SStatus: 0x%x", + loop_count, + SStatus); if ((SSTATUS_GET_IPM(SStatus) != - SSTATUS_IPM_INTERFACE_ACTIVE) || - (SSTATUS_GET_DET(SStatus) != - SSTATUS_DET_DEVPRESENT_PHYONLINE)) { + SSTATUS_IPM_INTERFACE_ACTIVE) || + (SSTATUS_GET_DET(SStatus) != + SSTATUS_DET_DEVPRESENT_PHYONLINE)) { /* * Either the port is not active or there * is no device present. */ si_ctlp->sictl_ports[port]->siport_port_type = - PORT_TYPE_NODEV; + PORT_TYPE_NODEV; mutex_exit(&si_portp->siport_mutex); continue; } @@ -2932,7 +2932,7 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) loop_count = 0; do { port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); if (loop_count++ > SI_POLLRATE_PORTREADY) { /* @@ -2949,8 +2949,8 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) } while (!(port_status & PORT_STATUS_BITS_PORT_READY)); SIDBG1(SIDBG_POLL_LOOP|SIDBG_INIT, si_ctlp, - "si_initialize_controller: 2nd loop count: %d", - loop_count); + "si_initialize_controller: 2nd loop count: %d", + loop_count); if (si_ctlp->sictl_flags & SI_ATTACH) { /* @@ -2960,11 +2960,11 @@ si_initialize_controller(si_ctl_state_t *si_ctlp) if (port_status & PORT_STATUS_BITS_PORT_READY) { mutex_exit(&si_portp->siport_mutex); si_find_dev_signature(si_ctlp, si_portp, port, - PORTMULT_CONTROL_PORT); + PORTMULT_CONTROL_PORT); mutex_enter(&si_portp->siport_mutex); } else { si_ctlp->sictl_ports[port]->siport_port_type = - PORT_TYPE_NODEV; + PORT_TYPE_NODEV; } } @@ -2989,7 +2989,7 @@ si_deinititalize_controller(si_ctl_state_t *si_ctlp) _NOTE(ASSUMING_PROTECTED(si_ctlp)) SIDBG0(SIDBG_INIT|SIDBG_ENTRY, si_ctlp, - "si3124: si_deinititalize_controller entered"); + "si3124: si_deinititalize_controller entered"); /* disable all the interrupts. */ si_disable_all_interrupts(si_ctlp); @@ -3016,13 +3016,13 @@ si_init_port(si_ctl_state_t *si_ctlp, int port) { SIDBG1(SIDBG_ENTRY|SIDBG_INIT, si_ctlp, - "si_init_port entered: port: 0x%x", - port); + "si_init_port entered: port: 0x%x", + port); /* Initialize the port. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_PORT_INITIALIZE); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_PORT_INITIALIZE); /* * Clear the InterruptNCOR (Interupt No Clear on Read). @@ -3031,13 +3031,13 @@ si_init_port(si_ctl_state_t *si_ctlp, int port) * will be needed for successful completion of commands. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), - PORT_CONTROL_CLEAR_BITS_INTR_NCoR); + (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), + PORT_CONTROL_CLEAR_BITS_INTR_NCoR); /* clear any pending interrupts at this point */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_INTERRUPT_STATUS(si_ctlp, port)), - INTR_MASK); + (uint32_t *)(PORT_INTERRUPT_STATUS(si_ctlp, port)), + INTR_MASK); } @@ -3063,30 +3063,30 @@ si_enumerate_port_multiplier( int loop_count = 0; SIDBG1(SIDBG_ENTRY|SIDBG_INIT, si_ctlp, - "si_enumerate_port_multiplier entered: port: %d", - port); + "si_enumerate_port_multiplier entered: port: %d", + port); mutex_enter(&si_portp->siport_mutex); /* Enable Port Multiplier context switching. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_PM_ENABLE); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_PM_ENABLE); /* * Read the num dev ports connected. * GSCR[2] contains the number of device ports. */ if (si_read_portmult_reg(si_ctlp, si_portp, port, PORTMULT_CONTROL_PORT, - PSCR_REG2, &num_dev_ports)) { + PSCR_REG2, &num_dev_ports)) { mutex_exit(&si_portp->siport_mutex); return (SI_FAILURE); } si_portp->siport_portmult_state.sipm_num_ports = num_dev_ports; SIDBG1(SIDBG_INIT, si_ctlp, - "si_enumerate_port_multiplier: ports found: %d", - num_dev_ports); + "si_enumerate_port_multiplier: ports found: %d", + num_dev_ports); for (pmport = 0; pmport < num_dev_ports-1; pmport++) { /* @@ -3094,14 +3094,14 @@ si_enumerate_port_multiplier( * (i.e. PSCR[2]) DET field. */ if (si_read_portmult_reg(si_ctlp, si_portp, port, pmport, - PSCR_REG2, &SControl)) { + PSCR_REG2, &SControl)) { continue; } /* First write a 1 to DET field of SControl. */ SCONTROL_SET_DET(SControl, SCONTROL_DET_COMRESET); if (si_write_portmult_reg(si_ctlp, si_portp, port, pmport, - PSCR_REG2, SControl)) { + PSCR_REG2, SControl)) { continue; } #ifndef __lock_lint @@ -3111,7 +3111,7 @@ si_enumerate_port_multiplier( /* Then write a 0 to the DET field of SControl. */ SCONTROL_SET_DET(SControl, SCONTROL_DET_NOACTION); if (si_write_portmult_reg(si_ctlp, si_portp, port, pmport, - PSCR_REG2, SControl)) { + PSCR_REG2, SControl)) { continue; } @@ -3119,22 +3119,22 @@ si_enumerate_port_multiplier( loop_count = 0; do { if (si_read_portmult_reg(si_ctlp, si_portp, port, - pmport, PSCR_REG0, &SStatus)) { + pmport, PSCR_REG0, &SStatus)) { break; } SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "looping for PHYRDY: SStatus: %x", - SStatus); + "looping for PHYRDY: SStatus: %x", + SStatus); if (SSTATUS_GET_IPM(SStatus) != - SSTATUS_IPM_INTERFACE_ACTIVE) { + SSTATUS_IPM_INTERFACE_ACTIVE) { /* * If the interface is not active, the DET field * is considered not accurate. So we want to * continue looping. */ SSTATUS_SET_DET(SStatus, - SSTATUS_DET_NODEV_NOPHY); + SSTATUS_DET_NODEV_NOPHY); } if (loop_count++ > SI_POLLRATE_SSTATUS) { @@ -3150,34 +3150,34 @@ si_enumerate_port_multiplier( #endif /* __lock_lint */ } while (SSTATUS_GET_DET(SStatus) != - SSTATUS_DET_DEVPRESENT_PHYONLINE); + SSTATUS_DET_DEVPRESENT_PHYONLINE); SIDBG2(SIDBG_POLL_LOOP, si_ctlp, - "si_enumerate_port_multiplier: " - "loop count: %d, SStatus: 0x%x", - loop_count, - SStatus); + "si_enumerate_port_multiplier: " + "loop count: %d, SStatus: 0x%x", + loop_count, + SStatus); if ((SSTATUS_GET_IPM(SStatus) == - SSTATUS_IPM_INTERFACE_ACTIVE) && - (SSTATUS_GET_DET(SStatus) == - SSTATUS_DET_DEVPRESENT_PHYONLINE)) { + SSTATUS_IPM_INTERFACE_ACTIVE) && + (SSTATUS_GET_DET(SStatus) == + SSTATUS_DET_DEVPRESENT_PHYONLINE)) { /* The interface is active and the device is present */ SIDBG1(SIDBG_INIT, si_ctlp, - "Status: %x, device exists", - SStatus); + "Status: %x, device exists", + SStatus); /* * Clear error bits in SError register (i.e. PSCR[1] * by writing back error bits. */ if (si_read_portmult_reg(si_ctlp, si_portp, port, - pmport, PSCR_REG1, &SError)) { + pmport, PSCR_REG1, &SError)) { continue; } SIDBG1(SIDBG_INIT, si_ctlp, - "SError bits are: %x", SError); + "SError bits are: %x", SError); if (si_write_portmult_reg(si_ctlp, si_portp, port, - pmport, PSCR_REG1, SError)) { + pmport, PSCR_REG1, SError)) { continue; } @@ -3219,8 +3219,8 @@ si_read_portmult_reg( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG3(SIDBG_ENTRY, si_ctlp, "si_read_portmult_reg: port: %x," - "pmport: %x, regnum: %x", - port, pmport, regnum); + "pmport: %x, regnum: %x", + port, pmport, regnum); slot = si_claim_free_slot(si_ctlp, si_portp, port); if (slot == -1) { @@ -3262,11 +3262,11 @@ si_read_portmult_reg( /* Loop till the command is finished. */ do { slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "looping read_pm slot_status: 0x%x", - slot_status); + "looping read_pm slot_status: 0x%x", + slot_status); if (loop_count++ > SI_POLLRATE_SLOTSTATUS) { /* We are effectively timing out after 0.5 sec. */ @@ -3281,8 +3281,8 @@ si_read_portmult_reg( } while (slot_status & SI_SLOT_MASK & (0x1 << slot)); SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "read_portmult_reg: loop count: %d", - loop_count); + "read_portmult_reg: loop count: %d", + loop_count); CLEAR_BIT(si_portp->siport_pending_tags, slot); @@ -3290,7 +3290,7 @@ si_read_portmult_reg( prb_word_ptr = (uint32_t *)prb; for (i = 0; i < (sizeof (si_prb_t)/4); i++) { prb_word_ptr[i] = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_LRAM(si_ctlp, port, slot)+i*4)); + (uint32_t *)(PORT_LRAM(si_ctlp, port, slot)+i*4)); } if (((GET_FIS_COMMAND(prb->prb_fis) & 0x1) != 0) || @@ -3301,9 +3301,9 @@ si_read_portmult_reg( /* command succeeded. */ *regval = (GET_FIS_SECTOR_COUNT(prb->prb_fis) & 0xff) | - ((GET_FIS_SECTOR(prb->prb_fis) << 8) & 0xff00) | - ((GET_FIS_CYL_LOW(prb->prb_fis) << 16) & 0xff0000) | - ((GET_FIS_CYL_HI(prb->prb_fis) << 24) & 0xff000000); + ((GET_FIS_SECTOR(prb->prb_fis) << 8) & 0xff00) | + ((GET_FIS_CYL_LOW(prb->prb_fis) << 16) & 0xff0000) | + ((GET_FIS_CYL_HI(prb->prb_fis) << 24) & 0xff000000); return (SI_SUCCESS); } @@ -3333,9 +3333,9 @@ si_write_portmult_reg( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG4(SIDBG_ENTRY, si_ctlp, - "si_write_portmult_reg: port: %x, pmport: %x," - "regnum: %x, regval: %x", - port, pmport, regnum, regval); + "si_write_portmult_reg: port: %x, pmport: %x," + "regnum: %x, regval: %x", + port, pmport, regnum, regval); slot = si_claim_free_slot(si_ctlp, si_portp, port); if (slot == -1) { @@ -3382,11 +3382,11 @@ si_write_portmult_reg( /* Loop till the command is finished. */ do { slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "looping write_pmp slot_status: 0x%x", - slot_status); + "looping write_pmp slot_status: 0x%x", + slot_status); if (loop_count++ > SI_POLLRATE_SLOTSTATUS) { /* We are effectively timing out after 0.5 sec. */ @@ -3401,8 +3401,8 @@ si_write_portmult_reg( } while (slot_status & SI_SLOT_MASK & (0x1 << slot)); SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "write_portmult_reg: loop count: %d", - loop_count); + "write_portmult_reg: loop count: %d", + loop_count); CLEAR_BIT(si_portp->siport_pending_tags, slot); @@ -3410,7 +3410,7 @@ si_write_portmult_reg( prb_word_ptr = (uint32_t *)prb; for (i = 0; i < (sizeof (si_prb_t)/4); i++) { prb_word_ptr[i] = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_LRAM(si_ctlp, port, slot)+i*4)); + (uint32_t *)(PORT_LRAM(si_ctlp, port, slot)+i*4)); } if (((GET_FIS_COMMAND(prb->prb_fis) & 0x1) != 0) || @@ -3436,7 +3436,7 @@ si_set_sense_data(sata_pkt_t *satapkt, int reason) struct scsi_extended_sense *sense; sense = (struct scsi_extended_sense *) - satapkt->satapkt_cmd.satacmd_rqsense; + satapkt->satapkt_cmd.satacmd_rqsense; bzero(sense, sizeof (struct scsi_extended_sense)); sense->es_valid = 1; /* Valid sense */ sense->es_class = 7; /* Response code 0x70 - current err */ @@ -3478,11 +3478,11 @@ si_intr(caddr_t arg1, caddr_t arg2) int port; global_intr_status = ddi_get32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)GLOBAL_INTERRUPT_STATUS(si_ctlp)); + (uint32_t *)GLOBAL_INTERRUPT_STATUS(si_ctlp)); SIDBG1(SIDBG_INTR|SIDBG_ENTRY, si_ctlp, - "si_intr: global_int_status: 0x%x", - global_intr_status); + "si_intr: global_int_status: 0x%x", + global_intr_status); if (!(global_intr_status & SI31xx_INTR_PORT_MASK)) { /* Sorry, the interrupt is not ours. */ @@ -3502,16 +3502,16 @@ si_intr(caddr_t arg1, caddr_t arg2) mutex_exit(&si_ctlp->sictl_mutex); port_intr_status = ddi_get32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)PORT_INTERRUPT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_INTERRUPT_STATUS(si_ctlp, port)); SIDBG2(SIDBG_VERBOSE, si_ctlp, - "s_intr: port_intr_status: 0x%x, port: %x", - port_intr_status, - port); + "s_intr: port_intr_status: 0x%x, port: %x", + port_intr_status, + port); if (port_intr_status & INTR_COMMAND_COMPLETE) { (void) si_intr_command_complete(si_ctlp, si_portp, - port); + port); } else { /* Clear the interrupts */ ddi_put32(si_ctlp->sictl_port_acc_handle, @@ -3539,17 +3539,17 @@ si_intr(caddr_t arg1, caddr_t arg2) if (port_intr_status & INTR_PHYRDY_CHANGE) { (void) si_intr_phy_ready_change(si_ctlp, si_portp, - port); + port); } if (port_intr_status & INTR_COMWAKE_RECEIVED) { (void) si_intr_comwake_rcvd(si_ctlp, si_portp, - port); + port); } if (port_intr_status & INTR_UNRECOG_FIS) { (void) si_intr_unrecognised_fis(si_ctlp, si_portp, - port); + port); } if (port_intr_status & INTR_DEV_XCHANGED) { @@ -3558,22 +3558,22 @@ si_intr(caddr_t arg1, caddr_t arg2) if (port_intr_status & INTR_8B10B_DECODE_ERROR) { (void) si_intr_decode_err_threshold(si_ctlp, si_portp, - port); + port); } if (port_intr_status & INTR_CRC_ERROR) { (void) si_intr_crc_err_threshold(si_ctlp, si_portp, - port); + port); } if (port_intr_status & INTR_HANDSHAKE_ERROR) { (void) si_intr_handshake_err_threshold(si_ctlp, - si_portp, port); + si_portp, port); } if (port_intr_status & INTR_SETDEVBITS_NOTIFY) { (void) si_intr_set_devbits_notify(si_ctlp, si_portp, - port); + port); } } @@ -3601,12 +3601,12 @@ si_intr_command_complete( sata_pkt_t *satapkt; SIDBG0(SIDBG_ENTRY|SIDBG_INTR, si_ctlp, - "si_intr_command_complete enter"); + "si_intr_command_complete enter"); mutex_enter(&si_portp->siport_mutex); slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); if (!si_portp->siport_pending_tags) { /* @@ -3618,12 +3618,12 @@ si_intr_command_complete( } SIDBG2(SIDBG_VERBOSE, si_ctlp, "si3124: si_intr_command_complete: " - "pending_tags: %x, slot_status: %x", - si_portp->siport_pending_tags, - slot_status); + "pending_tags: %x, slot_status: %x", + si_portp->siport_pending_tags, + slot_status); finished_tags = si_portp->siport_pending_tags & - ~slot_status & SI_SLOT_MASK; + ~slot_status & SI_SLOT_MASK; while (finished_tags) { si_prb_t *prb; @@ -3635,7 +3635,7 @@ si_intr_command_complete( satapkt = si_portp->siport_slot_pkts[finished_slot]; satapkt->satapkt_cmd.satacmd_status_reg = - GET_FIS_COMMAND(prb->prb_fis); + GET_FIS_COMMAND(prb->prb_fis); if (satapkt->satapkt_cmd.satacmd_flags.sata_special_regs) si_copy_out_regs(&satapkt->satapkt_cmd, &prb->prb_fis); @@ -3647,9 +3647,9 @@ si_intr_command_complete( } SIDBG2(SIDBG_PKTCOMP, si_ctlp, - "command_complete done: pend_tags: 0x%x, slot_status: 0x%x", - si_portp->siport_pending_tags, - slot_status); + "command_complete done: pend_tags: 0x%x, slot_status: 0x%x", + si_portp->siport_pending_tags, + slot_status); /* * tidbit: no need to clear the interrupt since reading of @@ -3682,11 +3682,11 @@ si_intr_command_error( uint32_t failed_tags; command_error = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_COMMAND_ERROR(si_ctlp, port))); + (uint32_t *)(PORT_COMMAND_ERROR(si_ctlp, port))); SIDBG1(SIDBG_INTR|SIDBG_ENTRY, si_ctlp, - "si_intr_command_error: command_error: 0x%x", - command_error); + "si_intr_command_error: command_error: 0x%x", + command_error); mutex_enter(&si_portp->siport_mutex); @@ -3695,7 +3695,7 @@ si_intr_command_error( * can blow it away with reset operation. */ slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); si_log_error_message(si_ctlp, port, command_error); @@ -3730,31 +3730,31 @@ si_intr_command_error( * were filled in by the si_error_recovery_* routines. */ failed_tags = si_portp->siport_pending_tags & - (si_portp->siport_err_tags_SDBERROR | - si_portp->siport_err_tags_nonSDBERROR); + (si_portp->siport_err_tags_SDBERROR | + si_portp->siport_err_tags_nonSDBERROR); SIDBG3(SIDBG_ERRS|SIDBG_INTR, si_ctlp, "si_intr_command_error: " - "err_tags_SDBERROR: 0x%x, " - "err_tags_nonSDBERRROR: 0x%x, " - "failed_tags: 0x%x", - si_portp->siport_err_tags_SDBERROR, - si_portp->siport_err_tags_nonSDBERROR, - failed_tags); + "err_tags_SDBERROR: 0x%x, " + "err_tags_nonSDBERRROR: 0x%x, " + "failed_tags: 0x%x", + si_portp->siport_err_tags_SDBERROR, + si_portp->siport_err_tags_nonSDBERROR, + failed_tags); SIDBG2(SIDBG_ERRS|SIDBG_INTR, si_ctlp, "si3124: si_intr_command_error: " - "slot_status:0x%x, pending_tags: 0x%x", - slot_status, - si_portp->siport_pending_tags); + "slot_status:0x%x, pending_tags: 0x%x", + slot_status, + si_portp->siport_pending_tags); mutex_exit(&si_portp->siport_mutex); si_mop_commands(si_ctlp, - si_portp, - port, - slot_status, - failed_tags, - 0, /* timedout_tags */ - 0, /* aborting_tags */ - 0); /* reset_tags */ + si_portp, + port, + slot_status, + failed_tags, + 0, /* timedout_tags */ + 0, /* aborting_tags */ + 0); /* reset_tags */ mutex_enter(&si_portp->siport_mutex); ASSERT(si_portp->siport_pending_tags == 0); @@ -3792,20 +3792,20 @@ si_recover_portmult_errors( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si_recover_portmult_errors: port: 0x%x", - port); + "si_recover_portmult_errors: port: 0x%x", + port); /* Resume the port */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_RESUME); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_RESUME); port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); failed_slot = (port_status >> 16) & SI_NUM_SLOTS; command_error = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_COMMAND_ERROR(si_ctlp, port))); + (uint32_t *)(PORT_COMMAND_ERROR(si_ctlp, port))); if (command_error == CMD_ERR_SDBERROR) { si_portp->siport_err_tags_SDBERROR |= (0x1 << failed_slot); @@ -3816,7 +3816,7 @@ si_recover_portmult_errors( /* Now we drain the pending commands. */ do { slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); /* * Since we have not yet returned DDI_INTR_CLAIMED, @@ -3831,22 +3831,22 @@ si_recover_portmult_errors( if (IS_ATTENTION_RAISED(slot_status)) { /* Resume again */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_RESUME); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_RESUME); port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); failed_slot = (port_status >> 16) & SI_NUM_SLOTS; command_error = ddi_get32( - si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_COMMAND_ERROR(si_ctlp, - port))); + si_ctlp->sictl_port_acc_handle, + (uint32_t *)(PORT_COMMAND_ERROR(si_ctlp, + port))); if (command_error == CMD_ERR_SDBERROR) { si_portp->siport_err_tags_SDBERROR |= - (0x1 << failed_slot); + (0x1 << failed_slot); } else { si_portp->siport_err_tags_nonSDBERROR |= - (0x1 << failed_slot); + (0x1 << failed_slot); } } @@ -3871,8 +3871,8 @@ si_recover_portmult_errors( /* Clear the RESUME bit. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), - PORT_CONTROL_CLEAR_BITS_RESUME); + (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), + PORT_CONTROL_CLEAR_BITS_RESUME); } @@ -3896,14 +3896,14 @@ si_error_recovery_DEVICEERROR( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si_error_recovery_DEVICEERROR: port: 0x%x", - port); + "si_error_recovery_DEVICEERROR: port: 0x%x", + port); if (si_portp->siport_port_type == PORT_TYPE_MULTIPLIER) { si_recover_portmult_errors(si_ctlp, si_portp, port); } else { port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); failed_slot = (port_status >> 16) & SI_NUM_SLOTS; si_portp->siport_err_tags_nonSDBERROR |= (0x1 << failed_slot); } @@ -3932,14 +3932,14 @@ si_error_recovery_SDBERROR( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si3124: si_error_recovery_SDBERROR: port: 0x%x", - port); + "si3124: si_error_recovery_SDBERROR: port: 0x%x", + port); if (si_portp->siport_port_type == PORT_TYPE_MULTIPLIER) { si_recover_portmult_errors(si_ctlp, si_portp, port); } else { port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); failed_slot = (port_status >> 16) & SI_NUM_SLOTS; si_portp->siport_err_tags_SDBERROR |= (0x1 << failed_slot); } @@ -3967,17 +3967,17 @@ si_error_recovery_DATAFISERROR( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si3124: si_error_recovery_DATAFISERROR: port: 0x%x", - port); + "si3124: si_error_recovery_DATAFISERROR: port: 0x%x", + port); /* reset device if we were waiting for any ncq commands. */ if (si_portp->siport_pending_ncq_count) { port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); failed_slot = (port_status >> 16) & SI_NUM_SLOTS; si_portp->siport_err_tags_nonSDBERROR |= (0x1 << failed_slot); (void) si_reset_dport_wait_till_ready(si_ctlp, si_portp, port, - SI_DEVICE_RESET); + SI_DEVICE_RESET); return; } @@ -4007,18 +4007,18 @@ si_error_recovery_SENDFISERROR( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si3124: si_error_recovery_SENDFISERROR: port: 0x%x", - port); + "si3124: si_error_recovery_SENDFISERROR: port: 0x%x", + port); if (si_portp->siport_port_type == PORT_TYPE_MULTIPLIER) { si_recover_portmult_errors(si_ctlp, si_portp, port); } else { port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); failed_slot = (port_status >> 16) & SI_NUM_SLOTS; si_portp->siport_err_tags_nonSDBERROR |= (0x1 << failed_slot); (void) si_reset_dport_wait_till_ready(si_ctlp, si_portp, port, - SI_DEVICE_RESET); + SI_DEVICE_RESET); } } @@ -4040,16 +4040,16 @@ si_error_recovery_default( _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ERRS|SIDBG_ENTRY, si_ctlp, - "si3124: si_error_recovery_default: port: 0x%x", - port); + "si3124: si_error_recovery_default: port: 0x%x", + port); port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); failed_slot = (port_status >> 16) & SI_NUM_SLOTS; si_portp->siport_err_tags_nonSDBERROR |= (0x1 << failed_slot); (void) si_reset_dport_wait_till_ready(si_ctlp, si_portp, port, - SI_DEVICE_RESET); + SI_DEVICE_RESET); } /* @@ -4072,7 +4072,7 @@ si_read_log_ext(si_ctl_state_t *si_ctlp, si_port_state_t *si_portp, int port) _NOTE(ASSUMING_PROTECTED(si_portp)) SIDBG1(SIDBG_ENTRY|SIDBG_ERRS, si_ctlp, - "si_read_log_ext: port: %x", port); + "si_read_log_ext: port: %x", port); slot = si_claim_free_slot(si_ctlp, si_portp, port); if (slot == -1) { @@ -4112,11 +4112,11 @@ si_read_log_ext(si_ctl_state_t *si_ctlp, si_port_state_t *si_portp, int port) /* Loop till the command is finished. */ do { slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "looping read_log_ext slot_status: 0x%x", - slot_status); + "looping read_log_ext slot_status: 0x%x", + slot_status); if (loop_count++ > SI_POLLRATE_SLOTSTATUS) { /* We are effectively timing out after 0.5 sec. */ @@ -4142,8 +4142,8 @@ si_read_log_ext(si_ctl_state_t *si_ctlp, si_port_state_t *si_portp, int port) } SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "read_portmult_reg: loop count: %d", - loop_count); + "read_portmult_reg: loop count: %d", + loop_count); /* * The LRAM contains the the modified FIS. @@ -4152,7 +4152,7 @@ si_read_log_ext(si_ctl_state_t *si_ctlp, si_port_state_t *si_portp, int port) prb_word_ptr = (uint32_t *)prb; for (i = 0; i < (sizeof (si_prb_t)/4); i++) { prb_word_ptr[i] = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_LRAM(si_ctlp, port, slot)+i*4)); + (uint32_t *)(PORT_LRAM(si_ctlp, port, slot)+i*4)); } error = GET_FIS_FEATURES(prb->prb_fis); @@ -4174,12 +4174,12 @@ si_log_error_message(si_ctl_state_t *si_ctlp, int port, uint32_t command_error) case CMD_ERR_DEVICEERRROR: errstr = "Standard Error: Error bit set in register - device" - " to host FIS"; + " to host FIS"; break; case CMD_ERR_SDBERROR: errstr = "NCQ Error: Error bit set in register - device" - " to host FIS"; + " to host FIS"; break; case CMD_ERR_DATAFISERROR: @@ -4216,17 +4216,17 @@ si_log_error_message(si_ctl_state_t *si_ctlp, int port, uint32_t command_error) case CMD_ERR_PLDSGTERRORTARETABORT: errstr = "PCI(X) Target abort while fetching scatter/gather" - " table"; + " table"; break; case CMD_ERR_PLDSGTERRORMASTERABORT: errstr = "PCI(X) Master abort while fetching scatter/gather" - " table"; + " table"; break; case CMD_ERR_PLDSGTERRORPCIERR: errstr = "PCI(X) parity error while fetching scatter/gather" - " table"; + " table"; break; case CMD_ERR_PLDCMDERRORBOUNDARY: @@ -4259,7 +4259,7 @@ si_log_error_message(si_ctl_state_t *si_ctlp, int port, uint32_t command_error) case CMD_ERR_SENDSERVICEERROR: errstr = "FIS received while sending service FIS in" - " legacy queuing operation"; + " legacy queuing operation"; break; default: @@ -4269,9 +4269,9 @@ si_log_error_message(si_ctl_state_t *si_ctlp, int port, uint32_t command_error) } SIDBG2(SIDBG_ERRS, si_ctlp, - "command error: port: 0x%x, error: %s", - port, - errstr); + "command error: port: 0x%x, error: %s", + port, + errstr); } @@ -4340,9 +4340,9 @@ si_intr_phy_ready_change( /* SStatus tells the presence of device. */ SStatus = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SSTATUS(si_ctlp, port)); + (uint32_t *)PORT_SSTATUS(si_ctlp, port)); dev_exists_now = - (SSTATUS_GET_DET(SStatus) == SSTATUS_DET_DEVPRESENT_PHYONLINE); + (SSTATUS_GET_DET(SStatus) == SSTATUS_DET_DEVPRESENT_PHYONLINE); if (si_portp->siport_port_type != PORT_TYPE_NODEV) { dev_existed_previously = 1; @@ -4366,18 +4366,18 @@ si_intr_phy_ready_change( /* Things are fine now. The loss was temporary. */ SIDBG0(SIDBG_INTR, NULL, - "phyrdy: doing BOTH EVENTS TOGETHER"); + "phyrdy: doing BOTH EVENTS TOGETHER"); if (si_portp->siport_active) { SIDBG0(SIDBG_EVENT, si_ctlp, - "sending event: LINK_LOST & " - "LINK_ESTABLISHED"); + "sending event: LINK_LOST & " + "LINK_ESTABLISHED"); sata_hba_event_notify( - si_ctlp->sictl_sata_hba_tran->\ - sata_tran_hba_dip, - &sdevice, - SATA_EVNT_LINK_LOST| - SATA_EVNT_LINK_ESTABLISHED); + si_ctlp->sictl_sata_hba_tran->\ + sata_tran_hba_dip, + &sdevice, + SATA_EVNT_LINK_LOST| + SATA_EVNT_LINK_ESTABLISHED); } } else { @@ -4385,18 +4385,18 @@ si_intr_phy_ready_change( /* A new device has been detected. */ mutex_exit(&si_portp->siport_mutex); si_find_dev_signature(si_ctlp, si_portp, port, - PORTMULT_CONTROL_PORT); + PORTMULT_CONTROL_PORT); mutex_enter(&si_portp->siport_mutex); SIDBG0(SIDBG_INTR, NULL, "phyrdy: doing ATTACH event"); if (si_portp->siport_active) { SIDBG0(SIDBG_EVENT, si_ctlp, - "sending event up: LINK_ESTABLISHED"); + "sending event up: LINK_ESTABLISHED"); sata_hba_event_notify( - si_ctlp->sictl_sata_hba_tran->\ - sata_tran_hba_dip, - &sdevice, - SATA_EVNT_LINK_ESTABLISHED); + si_ctlp->sictl_sata_hba_tran->\ + sata_tran_hba_dip, + &sdevice, + SATA_EVNT_LINK_ESTABLISHED); } } @@ -4407,13 +4407,13 @@ si_intr_phy_ready_change( /* An existing device is lost. */ if (si_portp->siport_active) { SIDBG0(SIDBG_EVENT, si_ctlp, - "sending event up: LINK_LOST"); + "sending event up: LINK_LOST"); sata_hba_event_notify( - si_ctlp->sictl_sata_hba_tran-> - sata_tran_hba_dip, - &sdevice, - SATA_EVNT_LINK_LOST); + si_ctlp->sictl_sata_hba_tran-> + sata_tran_hba_dip, + &sdevice, + SATA_EVNT_LINK_LOST); } si_portp->siport_port_type = PORT_TYPE_NODEV; @@ -4421,7 +4421,7 @@ si_intr_phy_ready_change( /* spurious interrupt */ SIDBG0(SIDBG_INTR, NULL, - "spurious phy ready interrupt"); + "spurious phy ready interrupt"); } } @@ -4530,7 +4530,7 @@ si_intr_handshake_err_threshold( int port) { SIDBG0(SIDBG_INTR|SIDBG_ENTRY, si_ctlp, - "si_intr_handshake_err_threshold"); + "si_intr_handshake_err_threshold"); return (SI_SUCCESS); } @@ -4565,19 +4565,19 @@ si_enable_port_interrupts(si_ctl_state_t *si_ctlp, int port) /* get the current settings first. */ mask = ddi_get32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp)); + (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp)); SIDBG1(SIDBG_INIT|SIDBG_ENTRY, si_ctlp, - "si_enable_port_interrupts: current mask: 0x%x", - mask); + "si_enable_port_interrupts: current mask: 0x%x", + mask); /* enable the bit for current port. */ SET_BIT(mask, port); /* now use this mask to enable the interrupt. */ ddi_put32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp), - mask); + (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp), + mask); } /* @@ -4606,15 +4606,15 @@ si_disable_port_interrupts(si_ctl_state_t *si_ctlp, int port) /* get the current settings first. */ mask = ddi_get32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp)); + (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp)); /* clear the bit for current port. */ CLEAR_BIT(mask, port); /* now use this mask to disable the interrupt. */ ddi_put32(si_ctlp->sictl_global_acc_handle, - (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp), - mask); + (uint32_t *)GLOBAL_CONTROL_REG(si_ctlp), + mask); } @@ -4639,14 +4639,14 @@ static void fill_dev_sregisters(si_ctl_state_t *si_ctlp, int port, sata_device_t *satadev) { satadev->satadev_scr.sstatus = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SSTATUS(si_ctlp, port))); + (uint32_t *)(PORT_SSTATUS(si_ctlp, port))); satadev->satadev_scr.serror = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SERROR(si_ctlp, port))); + (uint32_t *)(PORT_SERROR(si_ctlp, port))); satadev->satadev_scr.sactive = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SACTIVE(si_ctlp, port))); + (uint32_t *)(PORT_SACTIVE(si_ctlp, port))); satadev->satadev_scr.scontrol = - ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SCONTROL(si_ctlp, port))); + ddi_get32(si_ctlp->sictl_port_acc_handle, + (uint32_t *)(PORT_SCONTROL(si_ctlp, port))); } @@ -4666,8 +4666,8 @@ si_add_legacy_intrs(si_ctl_state_t *si_ctlp) rc = ddi_intr_get_nintrs(devinfo, DDI_INTR_TYPE_FIXED, &count); if ((rc != DDI_SUCCESS) || (count == 0)) { SIDBG2(SIDBG_INTR|SIDBG_INIT, si_ctlp, - "ddi_intr_get_nintrs() failed, " - "rc %d count %d\n", rc, count); + "ddi_intr_get_nintrs() failed, " + "rc %d count %d\n", rc, count); return (DDI_FAILURE); } @@ -4677,18 +4677,18 @@ si_add_legacy_intrs(si_ctl_state_t *si_ctlp) /* call ddi_intr_alloc(). */ rc = ddi_intr_alloc(devinfo, si_ctlp->sictl_htable, DDI_INTR_TYPE_FIXED, - inum, count, &actual, DDI_INTR_ALLOC_STRICT); + inum, count, &actual, DDI_INTR_ALLOC_STRICT); if ((rc != DDI_SUCCESS) || (actual == 0)) { SIDBG1(SIDBG_INTR|SIDBG_INIT, si_ctlp, - "ddi_intr_alloc() failed, rc %d\n", rc); + "ddi_intr_alloc() failed, rc %d\n", rc); kmem_free(si_ctlp->sictl_htable, si_ctlp->sictl_intr_size); return (DDI_FAILURE); } if (actual < count) { SIDBG2(SIDBG_INTR|SIDBG_INIT, si_ctlp, - "Requested: %d, Received: %d", count, actual); + "Requested: %d, Received: %d", count, actual); for (x = 0; x < actual; x++) { (void) ddi_intr_free(si_ctlp->sictl_htable[x]); @@ -4702,9 +4702,9 @@ si_add_legacy_intrs(si_ctl_state_t *si_ctlp) /* Get intr priority. */ if (ddi_intr_get_pri(si_ctlp->sictl_htable[0], - &si_ctlp->sictl_intr_pri) != DDI_SUCCESS) { + &si_ctlp->sictl_intr_pri) != DDI_SUCCESS) { SIDBG0(SIDBG_INTR|SIDBG_INIT, si_ctlp, - "ddi_intr_get_pri() failed"); + "ddi_intr_get_pri() failed"); for (x = 0; x < actual; x++) { (void) ddi_intr_free(si_ctlp->sictl_htable[x]); @@ -4717,7 +4717,7 @@ si_add_legacy_intrs(si_ctl_state_t *si_ctlp) /* Test for high level mutex. */ if (si_ctlp->sictl_intr_pri >= ddi_intr_get_hilevel_pri()) { SIDBG0(SIDBG_INTR|SIDBG_INIT, si_ctlp, - "si_add_legacy_intrs: Hi level intr not supported"); + "si_add_legacy_intrs: Hi level intr not supported"); for (x = 0; x < actual; x++) { (void) ddi_intr_free(si_ctlp->sictl_htable[x]); @@ -4733,14 +4733,14 @@ si_add_legacy_intrs(si_ctl_state_t *si_ctlp) if (ddi_intr_add_handler(si_ctlp->sictl_htable[x], si_intr, (caddr_t)si_ctlp, NULL) != DDI_SUCCESS) { SIDBG0(SIDBG_INTR|SIDBG_INIT, si_ctlp, - "ddi_intr_add_handler() failed"); + "ddi_intr_add_handler() failed"); for (y = 0; y < actual; y++) { (void) ddi_intr_free(si_ctlp->sictl_htable[y]); } kmem_free(si_ctlp->sictl_htable, - si_ctlp->sictl_intr_size); + si_ctlp->sictl_intr_size); return (DDI_FAILURE); } } @@ -4769,8 +4769,8 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) rc = ddi_intr_get_nintrs(devinfo, DDI_INTR_TYPE_MSI, &count); if ((rc != DDI_SUCCESS) || (count == 0)) { SIDBG2(SIDBG_INIT, si_ctlp, - "ddi_intr_get_nintrs() failed, " - "rc %d count %d\n", rc, count); + "ddi_intr_get_nintrs() failed, " + "rc %d count %d\n", rc, count); return (DDI_FAILURE); } @@ -4778,15 +4778,15 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) rc = ddi_intr_get_navail(devinfo, DDI_INTR_TYPE_MSI, &avail); if ((rc != DDI_SUCCESS) || (avail == 0)) { SIDBG2(SIDBG_INIT, si_ctlp, - "ddi_intr_get_navail() failed, " - "rc %d avail %d\n", rc, avail); + "ddi_intr_get_navail() failed, " + "rc %d avail %d\n", rc, avail); return (DDI_FAILURE); } if (avail < count) { SIDBG2(SIDBG_INIT, si_ctlp, - "ddi_intr_get_nvail returned %d, navail() returned %d", - count, avail); + "ddi_intr_get_nvail returned %d, navail() returned %d", + count, avail); } /* Allocate an array of interrupt handles. */ @@ -4795,11 +4795,11 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) /* call ddi_intr_alloc(). */ rc = ddi_intr_alloc(devinfo, si_ctlp->sictl_htable, DDI_INTR_TYPE_MSI, - inum, count, &actual, DDI_INTR_ALLOC_NORMAL); + inum, count, &actual, DDI_INTR_ALLOC_NORMAL); if ((rc != DDI_SUCCESS) || (actual == 0)) { SIDBG1(SIDBG_INIT, si_ctlp, - "ddi_intr_alloc() failed, rc %d\n", rc); + "ddi_intr_alloc() failed, rc %d\n", rc); kmem_free(si_ctlp->sictl_htable, si_ctlp->sictl_intr_size); return (DDI_FAILURE); } @@ -4807,7 +4807,7 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) /* use interrupt count returned */ if (actual < count) { SIDBG2(SIDBG_INIT, si_ctlp, - "Requested: %d, Received: %d", count, actual); + "Requested: %d, Received: %d", count, actual); } si_ctlp->sictl_intr_cnt = actual; @@ -4816,7 +4816,7 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) * Get priority for first msi, assume remaining are all the same. */ if (ddi_intr_get_pri(si_ctlp->sictl_htable[0], - &si_ctlp->sictl_intr_pri) != DDI_SUCCESS) { + &si_ctlp->sictl_intr_pri) != DDI_SUCCESS) { SIDBG0(SIDBG_INIT, si_ctlp, "ddi_intr_get_pri() failed"); /* Free already allocated intr. */ @@ -4831,7 +4831,7 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) /* Test for high level mutex. */ if (si_ctlp->sictl_intr_pri >= ddi_intr_get_hilevel_pri()) { SIDBG0(SIDBG_INIT, si_ctlp, - "si_add_msi_intrs: Hi level intr not supported"); + "si_add_msi_intrs: Hi level intr not supported"); /* Free already allocated intr. */ for (y = 0; y < actual; y++) { @@ -4848,7 +4848,7 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) if (ddi_intr_add_handler(si_ctlp->sictl_htable[x], si_intr, (caddr_t)si_ctlp, NULL) != DDI_SUCCESS) { SIDBG0(SIDBG_INIT, si_ctlp, - "ddi_intr_add_handler() failed"); + "ddi_intr_add_handler() failed"); /* Free already allocated intr. */ for (y = 0; y < actual; y++) { @@ -4856,18 +4856,18 @@ si_add_msi_intrs(si_ctl_state_t *si_ctlp) } kmem_free(si_ctlp->sictl_htable, - si_ctlp->sictl_intr_size); + si_ctlp->sictl_intr_size); return (DDI_FAILURE); } } (void) ddi_intr_get_cap(si_ctlp->sictl_htable[0], - &si_ctlp->sictl_intr_cap); + &si_ctlp->sictl_intr_cap); if (si_ctlp->sictl_intr_cap & DDI_INTR_FLAG_BLOCK) { /* Call ddi_intr_block_enable() for MSI. */ (void) ddi_intr_block_enable(si_ctlp->sictl_htable, - si_ctlp->sictl_intr_cnt); + si_ctlp->sictl_intr_cnt); } else { /* Call ddi_intr_enable() for MSI non block enable. */ for (x = 0; x < si_ctlp->sictl_intr_cnt; x++) { @@ -4891,10 +4891,10 @@ si_rem_intrs(si_ctl_state_t *si_ctlp) /* Disable all interrupts. */ if ((si_ctlp->sictl_intr_type == DDI_INTR_TYPE_MSI) && - (si_ctlp->sictl_intr_cap & DDI_INTR_FLAG_BLOCK)) { + (si_ctlp->sictl_intr_cap & DDI_INTR_FLAG_BLOCK)) { /* Call ddi_intr_block_disable(). */ (void) ddi_intr_block_disable(si_ctlp->sictl_htable, - si_ctlp->sictl_intr_cnt); + si_ctlp->sictl_intr_cnt); } else { for (x = 0; x < si_ctlp->sictl_intr_cnt; x++) { (void) ddi_intr_disable(si_ctlp->sictl_htable[x]); @@ -4941,18 +4941,18 @@ si_reset_dport_wait_till_ready( if (flag == SI_PORT_RESET) { ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_PORT_RESET); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_PORT_RESET); /* Port reset is not self clearing. So clear it now. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), - PORT_CONTROL_CLEAR_BITS_PORT_RESET); + (uint32_t *)PORT_CONTROL_CLEAR(si_ctlp, port), + PORT_CONTROL_CLEAR_BITS_PORT_RESET); } else { /* Reset the device. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_DEV_RESET); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_DEV_RESET); /* * tidbit: this bit is self clearing; so there is no need @@ -4970,21 +4970,21 @@ si_reset_dport_wait_till_ready( * any reset condition. So restore them back now. */ SIDBG1(SIDBG_INIT, si_ctlp, - "current interrupt enable set: 0x%x", - ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_INTERRUPT_ENABLE_SET(si_ctlp, port))); + "current interrupt enable set: 0x%x", + ddi_get32(si_ctlp->sictl_port_acc_handle, + (uint32_t *)PORT_INTERRUPT_ENABLE_SET(si_ctlp, port))); ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_INTERRUPT_ENABLE_SET(si_ctlp, port), - (INTR_COMMAND_COMPLETE | - INTR_COMMAND_ERROR | - INTR_PORT_READY | - INTR_POWER_CHANGE | - INTR_PHYRDY_CHANGE | - INTR_COMWAKE_RECEIVED | - INTR_UNRECOG_FIS | - INTR_DEV_XCHANGED | - INTR_SETDEVBITS_NOTIFY)); + (uint32_t *)PORT_INTERRUPT_ENABLE_SET(si_ctlp, port), + (INTR_COMMAND_COMPLETE | + INTR_COMMAND_ERROR | + INTR_PORT_READY | + INTR_POWER_CHANGE | + INTR_PHYRDY_CHANGE | + INTR_COMWAKE_RECEIVED | + INTR_UNRECOG_FIS | + INTR_DEV_XCHANGED | + INTR_SETDEVBITS_NOTIFY)); si_enable_port_interrupts(si_ctlp, port); @@ -4997,22 +4997,22 @@ si_reset_dport_wait_till_ready( /* Fetch the current SControl before writing the DET part with 1. */ SControl = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SCONTROL(si_ctlp, port)); + (uint32_t *)PORT_SCONTROL(si_ctlp, port)); SCONTROL_SET_DET(SControl, SCONTROL_DET_COMRESET); ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), - SControl); + (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), + SControl); #ifndef __lock_lint delay(SI_10MS_TICKS); /* give time for COMRESET to percolate */ #endif /* __lock_lint */ /* Now fetch the SControl again and rewrite the DET part with 0 */ SControl = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SCONTROL(si_ctlp, port)); + (uint32_t *)PORT_SCONTROL(si_ctlp, port)); SCONTROL_SET_DET(SControl, SCONTROL_DET_NOACTION); ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), - SControl); + (uint32_t *)(PORT_SCONTROL(si_ctlp, port)), + SControl); /* * PHY may be initialized by now. Check the DET field of SStatus @@ -5025,10 +5025,10 @@ si_reset_dport_wait_till_ready( loop_count = 0; do { SStatus = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SSTATUS(si_ctlp, port)); + (uint32_t *)PORT_SSTATUS(si_ctlp, port)); if (SSTATUS_GET_IPM(SStatus) != - SSTATUS_IPM_INTERFACE_ACTIVE) { + SSTATUS_IPM_INTERFACE_ACTIVE) { /* * If the interface is not active, the DET field * is considered not accurate. So we want to @@ -5050,16 +5050,16 @@ si_reset_dport_wait_till_ready( } while (SSTATUS_GET_DET(SStatus) != SSTATUS_DET_DEVPRESENT_PHYONLINE); SIDBG2(SIDBG_POLL_LOOP, si_ctlp, - "si_reset_dport_wait_till_ready: loop count: %d, \ + "si_reset_dport_wait_till_ready: loop count: %d, \ SStatus: 0x%x", - loop_count, - SStatus); + loop_count, + SStatus); /* Now check for port readiness. */ loop_count = 0; do { port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); if (loop_count++ > SI_POLLRATE_PORTREADY) { /* We are effectively timing out after 0.5 sec. */ @@ -5074,11 +5074,11 @@ si_reset_dport_wait_till_ready( } while (!(port_status & PORT_STATUS_BITS_PORT_READY)); SIDBG3(SIDBG_POLL_LOOP, si_ctlp, - "si_reset_dport_wait_till_ready: loop count: %d, \ + "si_reset_dport_wait_till_ready: loop count: %d, \ port_status: 0x%x, SStatus: 0x%x", - loop_count, - port_status, - SStatus); + loop_count, + port_status, + SStatus); /* Indicate to the framework that a reset has happened. */ if (!(flag & SI_RESET_NO_EVENTS_UP)) { @@ -5093,32 +5093,32 @@ si_reset_dport_wait_till_ready( sdevice.satadev_addr.qual = SATA_ADDR_DCPORT; } sdevice.satadev_state = SATA_DSTATE_RESET | - SATA_DSTATE_PWR_ACTIVE; + SATA_DSTATE_PWR_ACTIVE; if (si_ctlp->sictl_sata_hba_tran) { sata_hba_event_notify( - si_ctlp->sictl_sata_hba_tran->sata_tran_hba_dip, - &sdevice, - SATA_EVNT_DEVICE_RESET); + si_ctlp->sictl_sata_hba_tran->sata_tran_hba_dip, + &sdevice, + SATA_EVNT_DEVICE_RESET); } SIDBG0(SIDBG_EVENT, si_ctlp, - "sending event up: SATA_EVNT_RESET"); + "sending event up: SATA_EVNT_RESET"); } if ((SSTATUS_GET_IPM(SStatus) == SSTATUS_IPM_INTERFACE_ACTIVE) && - (SSTATUS_GET_DET(SStatus) == - SSTATUS_DET_DEVPRESENT_PHYONLINE)) { + (SSTATUS_GET_DET(SStatus) == + SSTATUS_DET_DEVPRESENT_PHYONLINE)) { /* The interface is active and the device is present */ if (!(port_status & PORT_STATUS_BITS_PORT_READY)) { /* But the port is is not ready for some reason */ SIDBG0(SIDBG_POLL_LOOP, si_ctlp, - "si_reset_dport_wait_till_ready failed"); + "si_reset_dport_wait_till_ready failed"); return (SI_FAILURE); } } SIDBG0(SIDBG_POLL_LOOP, si_ctlp, - "si_reset_dport_wait_till_ready returning success"); + "si_reset_dport_wait_till_ready returning success"); return (SI_SUCCESS); } @@ -5144,20 +5144,20 @@ si_initialize_port_wait_till_ready(si_ctl_state_t *si_ctlp, int port) /* Initialize the port. */ ddi_put32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), - PORT_CONTROL_SET_BITS_PORT_INITIALIZE); + (uint32_t *)PORT_CONTROL_SET(si_ctlp, port), + PORT_CONTROL_SET_BITS_PORT_INITIALIZE); /* Wait until Port Ready */ loop_count = 0; do { port_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_STATUS(si_ctlp, port)); + (uint32_t *)PORT_STATUS(si_ctlp, port)); if (loop_count++ > SI_POLLRATE_PORTREADY) { SIDBG1(SIDBG_INTR, si_ctlp, - "si_initialize_port_wait is timing out: " - "port_status: %x", - port_status); + "si_initialize_port_wait is timing out: " + "port_status: %x", + port_status); /* We are effectively timing out after 0.5 sec. */ break; } @@ -5170,15 +5170,15 @@ si_initialize_port_wait_till_ready(si_ctl_state_t *si_ctlp, int port) } while (!(port_status & PORT_STATUS_BITS_PORT_READY)); SIDBG1(SIDBG_POLL_LOOP, si_ctlp, - "si_initialize_port_wait_till_ready: loop count: %d", - loop_count); + "si_initialize_port_wait_till_ready: loop count: %d", + loop_count); SStatus = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)PORT_SSTATUS(si_ctlp, port)); + (uint32_t *)PORT_SSTATUS(si_ctlp, port)); if ((SSTATUS_GET_IPM(SStatus) == SSTATUS_IPM_INTERFACE_ACTIVE) && - (SSTATUS_GET_DET(SStatus) == - SSTATUS_DET_DEVPRESENT_PHYONLINE)) { + (SSTATUS_GET_DET(SStatus) == + SSTATUS_DET_DEVPRESENT_PHYONLINE)) { /* The interface is active and the device is present */ if (!(port_status & PORT_STATUS_BITS_PORT_READY)) { /* But the port is is not ready for some reason */ @@ -5209,7 +5209,7 @@ si_timeout_pkts( mutex_enter(&si_portp->siport_mutex); slot_status = ddi_get32(si_ctlp->sictl_port_acc_handle, - (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); + (uint32_t *)(PORT_SLOT_STATUS(si_ctlp, port))); /* * Initialize the controller. The only way to timeout the commands @@ -5223,23 +5223,23 @@ si_timeout_pkts( * meanwhile. */ finished_tags = si_portp->siport_pending_tags & - ~slot_status & SI_SLOT_MASK; + ~slot_status & SI_SLOT_MASK; timedout_tags &= ~finished_tags; SIDBG2(SIDBG_TIMEOUT, si_ctlp, - "si_timeout_pkts: finished: %x, timeout: %x", - finished_tags, - timedout_tags); + "si_timeout_pkts: finished: %x, timeout: %x", + finished_tags, + timedout_tags); mutex_exit(&si_portp->siport_mutex); si_mop_commands(si_ctlp, - si_portp, - port, - slot_status, - 0, /* failed_tags */ - timedout_tags, - 0, /* aborting_tags */ - 0); /* reset_tags */ + si_portp, + port, + slot_status, + 0, /* failed_tags */ + timedout_tags, + 0, /* aborting_tags */ + 0); /* reset_tags */ } @@ -5267,7 +5267,7 @@ si_watchdog_handler(si_ctl_state_t *si_ctlp) mutex_enter(&si_ctlp->sictl_mutex); SIDBG0(SIDBG_TIMEOUT|SIDBG_ENTRY, si_ctlp, - "si_watchdog_handler entered"); + "si_watchdog_handler entered"); for (port = 0; port < si_ctlp->sictl_num_ports; port++) { @@ -5303,20 +5303,20 @@ si_watchdog_handler(si_ctl_state_t *si_ctlp) * out. */ watched_cycles = (int)(intptr_t) - satapkt->satapkt_hba_driver_private; + satapkt->satapkt_hba_driver_private; watched_cycles++; max_life_cycles = (satapkt->satapkt_time + - si_watchdog_timeout - 1) / - si_watchdog_timeout; + si_watchdog_timeout - 1) / + si_watchdog_timeout; if (watched_cycles > max_life_cycles) { timedout_tags |= (0x1 << tmpslot); SIDBG1(SIDBG_TIMEOUT|SIDBG_VERBOSE, - si_ctlp, - "watchdog: timedout_tags: 0x%x", - timedout_tags); + si_ctlp, + "watchdog: timedout_tags: 0x%x", + timedout_tags); } satapkt->satapkt_hba_driver_private = - (void *)(intptr_t)watched_cycles; + (void *)(intptr_t)watched_cycles; } CLEAR_BIT(pending_tags, tmpslot); @@ -5336,8 +5336,8 @@ si_watchdog_handler(si_ctl_state_t *si_ctlp) /* Reinstall the watchdog timeout handler. */ if (!(si_ctlp->sictl_flags & SI_NO_TIMEOUTS)) { si_ctlp->sictl_timeout_id = - timeout((void (*)(void *))si_watchdog_handler, - (caddr_t)si_ctlp, si_watchdog_tick); + timeout((void (*)(void *))si_watchdog_handler, + (caddr_t)si_ctlp, si_watchdog_tick); } mutex_exit(&si_ctlp->sictl_mutex); } @@ -5356,8 +5356,8 @@ si_log(si_ctl_state_t *si_ctlp, uint_t level, char *fmt, ...) va_start(ap, fmt); if (si_ctlp) { (void) sprintf(si_log_buf, "%s-[%d]:", - ddi_get_name(si_ctlp->sictl_devinfop), - ddi_get_instance(si_ctlp->sictl_devinfop)); + ddi_get_name(si_ctlp->sictl_devinfop), + ddi_get_instance(si_ctlp->sictl_devinfop)); } else { (void) sprintf(si_log_buf, "si3124:"); } diff --git a/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c b/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c index 583268a009..15f4b724c9 100644 --- a/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c +++ b/usr/src/uts/common/io/scsi/adapters/scsi_vhci/scsi_vhci.c @@ -68,7 +68,7 @@ int vhci_prout_not_ready_retry = 180; /* * Version Macros */ -#define VHCI_NAME_VERSION "SCSI VHCI Driver 1.79" +#define VHCI_NAME_VERSION "SCSI VHCI Driver" char vhci_version_name[] = VHCI_NAME_VERSION; int vhci_first_time = 0; @@ -276,6 +276,7 @@ static struct dev_ops vhci_ops = { &vhci_cb_ops, /* cb_ops */ NULL, /* bus_ops */ NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; diff --git a/usr/src/uts/common/io/scsi/targets/sd.c b/usr/src/uts/common/io/scsi/targets/sd.c index c097b3c8d2..66e276bf48 100644 --- a/usr/src/uts/common/io/scsi/targets/sd.c +++ b/usr/src/uts/common/io/scsi/targets/sd.c @@ -1685,7 +1685,8 @@ static struct dev_ops sd_ops = { nodev, /* reset */ &sd_cb_ops, /* driver operations */ NULL, /* bus operations */ - sdpower /* power */ + sdpower, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; diff --git a/usr/src/uts/common/io/scsi/targets/ses.c b/usr/src/uts/common/io/scsi/targets/ses.c index 0396dc35cc..b05041dff0 100644 --- a/usr/src/uts/common/io/scsi/targets/ses.c +++ b/usr/src/uts/common/io/scsi/targets/ses.c @@ -164,7 +164,8 @@ static struct dev_ops ses_dev_ops = { nodev, /* reset */ &ses_cb_ops, /* driver operations */ (struct bus_ops *)NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static void *estate = NULL; @@ -181,7 +182,9 @@ static const char *fail_msg = "%stransport failed: reason '%s': %s"; char _depends_on[] = "misc/scsi"; static struct modldrv modldrv = { - &mod_driverops, "SCSI Enclosure Services 1.51", &ses_dev_ops + &mod_driverops, + "SCSI Enclosure Services", + &ses_dev_ops }; static struct modlinkage modlinkage = { @@ -644,6 +647,7 @@ ses_info(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result) return (error); } + /* * Unix Entry Points */ diff --git a/usr/src/uts/common/io/scsi/targets/sgen.c b/usr/src/uts/common/io/scsi/targets/sgen.c index dc64e9d87d..866d9df112 100644 --- a/usr/src/uts/common/io/scsi/targets/sgen.c +++ b/usr/src/uts/common/io/scsi/targets/sgen.c @@ -29,7 +29,6 @@ * All rights reserved. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sgen - SCSI generic device driver @@ -191,13 +190,14 @@ static struct dev_ops sgen_dev_ops = { nodev, /* reset */ &sgen_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static void *sgen_soft_state = NULL; static struct modldrv modldrv = { - &mod_driverops, "SCSI generic driver %I%", &sgen_dev_ops + &mod_driverops, "SCSI generic driver", &sgen_dev_ops }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/io/scsi/targets/smp.c b/usr/src/uts/common/io/scsi/targets/smp.c index 6c790e3bc2..12ecfc3392 100644 --- a/usr/src/uts/common/io/scsi/targets/smp.c +++ b/usr/src/uts/common/io/scsi/targets/smp.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * SMP - Serial Management Protocol Device Driver @@ -97,13 +96,14 @@ static struct dev_ops smp_dev_ops = { nodev, /* reset */ &smp_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static void *smp_soft_state = NULL; static struct modldrv modldrv = { - &mod_driverops, "smp device driver %I%", &smp_dev_ops + &mod_driverops, "smp device driver", &smp_dev_ops }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/io/scsi/targets/st.c b/usr/src/uts/common/io/scsi/targets/st.c index 0980b5d845..267bba4378 100644 --- a/usr/src/uts/common/io/scsi/targets/st.c +++ b/usr/src/uts/common/io/scsi/targets/st.c @@ -476,7 +476,8 @@ static struct dev_ops st_ops = { nodev, /* reset */ &st_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* diff --git a/usr/src/uts/common/io/sdcard/adapters/sdhost/sdhost.c b/usr/src/uts/common/io/sdcard/adapters/sdhost/sdhost.c index 6587c22187..af20fa7d6f 100644 --- a/usr/src/uts/common/io/sdcard/adapters/sdhost/sdhost.c +++ b/usr/src/uts/common/io/sdcard/adapters/sdhost/sdhost.c @@ -112,7 +112,8 @@ static struct dev_ops sdhost_dev_ops = { nodev, /* devo_reset */ NULL, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv sdhost_modldrv = { diff --git a/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.c b/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.c index 9ad7ad2428..0fe9e7d402 100644 --- a/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.c +++ b/usr/src/uts/common/io/sdcard/adapters/wbsd/wbsd.c @@ -111,7 +111,8 @@ static struct dev_ops wbsd_dev_ops = { nodev, /* devo_reset */ NULL, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv wbsd_modldrv = { diff --git a/usr/src/uts/common/io/sfe/sfe.c b/usr/src/uts/common/io/sfe/sfe.c index 3c6a4364af..d364bb372b 100644 --- a/usr/src/uts/common/io/sfe/sfe.c +++ b/usr/src/uts/common/io/sfe/sfe.c @@ -31,7 +31,10 @@ * DAMAGE. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* sfe device driver */ +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ /* * System Header files. @@ -52,7 +55,7 @@ #include "sfe_util.h" #include "sfereg.h" -char ident[] = "sis900/dp83815 driver v" "2.6.1t27os"; +char ident[] = "sis900/dp83815 driver"; /* Debugging support */ #ifdef DEBUG_LEVEL @@ -2292,7 +2295,7 @@ sfedetach(dev_info_t *dip, ddi_detach_cmd_t cmd) */ /* ======================================================== */ DDI_DEFINE_STREAM_OPS(sfe_ops, nulldev, nulldev, sfeattach, sfedetach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ diff --git a/usr/src/uts/common/io/smbios.c b/usr/src/uts/common/io/smbios.c index e7e68f3532..bd7fdf3f3d 100644 --- a/usr/src/uts/common/io/smbios.c +++ b/usr/src/uts/common/io/smbios.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * smbios(7D) driver @@ -285,7 +284,9 @@ static struct dev_ops smb_ops = { smb_detach, /* detach */ nodev, /* reset */ &smb_cb_ops, /* cb ops */ - NULL /* bus ops */ + NULL, /* bus ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/softmac/softmac_dev.c b/usr/src/uts/common/io/softmac/softmac_dev.c index 501cec84da..3d2164e782 100644 --- a/usr/src/uts/common/io/softmac/softmac_dev.c +++ b/usr/src/uts/common/io/softmac/softmac_dev.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/dld.h> @@ -92,7 +91,8 @@ static struct streamtab softmac_tab = { }; DDI_DEFINE_STREAM_OPS(softmac_ops, nulldev, nulldev, softmac_attach, - softmac_detach, nodev, softmac_info, D_MP, &softmac_tab); + softmac_detach, nodev, softmac_info, D_MP, &softmac_tab, + ddi_quiesce_not_supported); static struct qinit softmac_dld_r_qinit = { NULL, NULL, dld_open, dld_close, NULL, &softmac_dld_modinfo diff --git a/usr/src/uts/common/io/srn.c b/usr/src/uts/common/io/srn.c index cb2888871d..2e42fbb288 100755..100644 --- a/usr/src/uts/common/io/srn.c +++ b/usr/src/uts/common/io/srn.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * srn Provide apm-like interfaces to Xorg @@ -128,12 +127,13 @@ static struct dev_ops srn_ops = { nodev, /* reset */ &srn_cb_ops, /* driver operations */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "srn driver v1.4", + "srn driver", &srn_ops }; diff --git a/usr/src/uts/common/io/sysevent.c b/usr/src/uts/common/io/sysevent.c index 686a8c28ab..f2cead970e 100644 --- a/usr/src/uts/common/io/sysevent.c +++ b/usr/src/uts/common/io/sysevent.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Sysevent Driver for GPEC @@ -644,11 +642,12 @@ static struct dev_ops sysevent_ops = { nodev, /* reset */ &sysevent_cb_ops, /* driver operations */ (struct bus_ops *)0, /* no bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { - &mod_driverops, "sysevent driver %I%", &sysevent_ops + &mod_driverops, "sysevent driver", &sysevent_ops }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/io/sysmsg.c b/usr/src/uts/common/io/sysmsg.c index 0e7061c42f..a82a0786fe 100644 --- a/usr/src/uts/common/io/sysmsg.c +++ b/usr/src/uts/common/io/sysmsg.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * System message redirection driver for Sun. @@ -114,7 +113,8 @@ static struct dev_ops sysm_ops = { nodev, /* reset */ &sysm_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; @@ -157,7 +157,7 @@ static boolean_t msglog_opened; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "System message redirection (fanout) driver %I%", + "System message redirection (fanout) driver", &sysm_ops, /* driver ops */ }; @@ -198,9 +198,9 @@ sysm_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) ASSERT(sysm_dip == NULL); if (ddi_create_minor_node(devi, "sysmsg", S_IFCHR, - SYS_SYSMIN, DDI_PSEUDO, NULL) == DDI_FAILURE || - ddi_create_minor_node(devi, "msglog", S_IFCHR, - SYS_MSGMIN, DDI_PSEUDO, NULL) == DDI_FAILURE) { + SYS_SYSMIN, DDI_PSEUDO, NULL) == DDI_FAILURE || + ddi_create_minor_node(devi, "msglog", S_IFCHR, + SYS_MSGMIN, DDI_PSEUDO, NULL) == DDI_FAILURE) { ddi_remove_minor_node(devi, NULL); return (DDI_FAILURE); } @@ -256,7 +256,7 @@ sysm_info(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result) switch (infocmd) { case DDI_INFO_DEVT2DEVINFO: if (sysm_dip != NULL && - (instance == SYS_SYSMIN || instance == SYS_MSGMIN)) { + (instance == SYS_SYSMIN || instance == SYS_MSGMIN)) { *result = sysm_dip; rval = DDI_SUCCESS; } @@ -312,8 +312,8 @@ parse_buffer(char *buf, ssize_t fsize) if (devname == NULL) break; (void) sysmioctl(NODEV, CIOCSETCONSOLE, - (intptr_t)devname, FNATIVE|FKIOCTL|FREAD|FWRITE, - kcred, NULL); + (intptr_t)devname, FNATIVE|FKIOCTL|FREAD|FWRITE, + kcred, NULL); devname = NULL; break; default: @@ -340,16 +340,16 @@ bind_consadm_conf(char *path) vattr.va_mask = AT_SIZE; if ((err = VOP_GETATTR(vp, &vattr, 0, kcred, NULL)) != 0) { cmn_err(CE_WARN, "sysmsg: getattr: '%s': error %d", - path, err); + path, err); goto closevp; } size = vattr.va_size > CNSADM_BYTES_MAX ? - CNSADM_BYTES_MAX : (ssize_t)vattr.va_size; + CNSADM_BYTES_MAX : (ssize_t)vattr.va_size; buf = kmem_alloc(size, KM_SLEEP); if ((err = vn_rdwr(UIO_READ, vp, buf, size, (offset_t)0, - UIO_SYSSPACE, 0, (rlim64_t)0, kcred, &resid)) != 0) + UIO_SYSSPACE, 0, (rlim64_t)0, kcred, &resid)) != 0) cmn_err(CE_WARN, "sysmsg: vn_rdwr: '%s': error %d", path, err); else @@ -377,7 +377,7 @@ sysmopen(dev_t *dev, int flag, int state, cred_t *cred) mutex_enter(&dcvp_mutex); if ((dcvp == NULL) && (vn_open("/dev/console", - UIO_SYSSPACE, FWRITE, 0, &dcvp, 0, 0) != 0)) { + UIO_SYSSPACE, FWRITE, 0, &dcvp, 0, 0) != 0)) { mutex_exit(&dcvp_mutex); return (ENXIO); } @@ -396,7 +396,7 @@ sysmopen(dev_t *dev, int flag, int state, cred_t *cred) for (i = 0; i < MAXDEVS; i++) { rw_enter(&sysmcache[i].dca_lock, RW_WRITER); if ((sysmcache[i].dca_flags & SYSM_ENABLED) && - sysmcache[i].dca_vp == NULL) { + sysmcache[i].dca_vp == NULL) { /* * 4196476 - FTRUNC was causing E10K to return EINVAL * on open @@ -411,7 +411,7 @@ sysmopen(dev_t *dev, int flag, int state, cred_t *cred) * Set NONBLOCK|NDELAY in case there's no carrier. */ if (vn_open(sysmcache[i].dca_name, UIO_SYSSPACE, - flag | FNONBLOCK | FNDELAY, 0, &vp, 0, 0) == 0) + flag | FNONBLOCK | FNDELAY, 0, &vp, 0, 0) == 0) sysmcache[i].dca_vp = vp; } rw_exit(&sysmcache[i].dca_lock); @@ -458,7 +458,7 @@ sysmclose(dev_t dev, int flag, int state, cred_t *cred) rw_enter(&sysmcache[i].dca_lock, RW_WRITER); if (sysmcache[i].dca_vp != NULL) { (void) VOP_CLOSE(sysmcache[i].dca_vp, flag, - 1, (offset_t)0, cred, NULL); + 1, (offset_t)0, cred, NULL); VN_RELE(sysmcache[i].dca_vp); sysmcache[i].dca_vp = NULL; } @@ -492,12 +492,12 @@ sysmwrite(dev_t dev, struct uio *uio, cred_t *cred) for (i = 0; i < MAXDEVS; i++) { rw_enter(&sysmcache[i].dca_lock, RW_READER); if (sysmcache[i].dca_vp != NULL && - (sysmcache[i].dca_flags & SYSM_ENABLED)) { + (sysmcache[i].dca_flags & SYSM_ENABLED)) { tuio = *uio; uio_iov = *(uio->uio_iov); tuio.uio_iov = &uio_iov; (void) VOP_WRITE(sysmcache[i].dca_vp, &tuio, 0, cred, - NULL); + NULL); } rw_exit(&sysmcache[i].dca_lock); } @@ -593,7 +593,7 @@ sysmioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred, int *rvalp) if (infop[0] != NULL) { if ((rval = lookupname(infop, UIO_SYSSPACE, FOLLOW, - NULLVPP, &vp)) == 0) { + NULLVPP, &vp)) == 0) { if (vp->v_type != VCHR) { VN_RELE(vp); rval = EINVAL; @@ -633,13 +633,13 @@ sysmioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred, int *rvalp) for (i = 0; i < MAXDEVS; i++) { rw_enter(&sysmcache[i].dca_lock, RW_WRITER); if (sysmcache[i].dca_devt == newdevt && - (sysmcache[i].dca_flags & SYSM_ENABLED)) { + (sysmcache[i].dca_flags & SYSM_ENABLED)) { (void) strcpy(sysmcache[i].dca_name, infop); rval = EEXIST; rw_exit(&sysmcache[i].dca_lock); break; } else if (sysmcache[i].dca_devt == newdevt && - sysmcache[i].dca_flags == SYSM_DISABLED) { + sysmcache[i].dca_flags == SYSM_DISABLED) { sysmcache[i].dca_flags |= SYSM_ENABLED; (void) strcpy(sysmcache[i].dca_name, infop); rw_exit(&sysmcache[i].dca_lock); @@ -647,7 +647,7 @@ sysmioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred, int *rvalp) break; } else if (sysmcache[i].dca_devt == 0) { ASSERT(sysmcache[i].dca_vp == NULL && - sysmcache[i].dca_flags == SYSM_DISABLED); + sysmcache[i].dca_flags == SYSM_DISABLED); (void) strcpy(sysmcache[i].dca_name, infop); sysmcache[i].dca_flags = SYSM_ENABLED; sysmcache[i].dca_devt = newdevt; diff --git a/usr/src/uts/common/io/tclient.c b/usr/src/uts/common/io/tclient.c index f0a529977c..0e33a3b925 100644 --- a/usr/src/uts/common/io/tclient.c +++ b/usr/src/uts/common/io/tclient.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * generic mpxio leaf driver @@ -98,12 +96,13 @@ static struct dev_ops tcli_ops = { nodev, /* reset */ &tcli_cb_ops, /* driver ops */ (struct bus_ops *)0, /* bus ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "vhci client test driver %I%", + "vhci client test driver", &tcli_ops }; diff --git a/usr/src/uts/common/io/tl.c b/usr/src/uts/common/io/tl.c index 6f9275719c..97da83a3dc 100644 --- a/usr/src/uts/common/io/tl.c +++ b/usr/src/uts/common/io/tl.c @@ -732,7 +732,7 @@ static struct streamtab tlinfo = { }; DDI_DEFINE_STREAM_OPS(tl_devops, nulldev, nulldev, tl_attach, tl_detach, - nulldev, tl_info, D_MP, &tlinfo); + nulldev, tl_info, D_MP, &tlinfo, ddi_quiesce_not_supported); static struct modldrv modldrv = { &mod_driverops, /* Type of module -- pseudo driver here */ @@ -4428,8 +4428,7 @@ tl_data(mblk_t *mp, tl_endpt_t *tep) } return; } else if (prim->type == T_OPTDATA_REQ && - (msz < sizeof (struct T_optdata_req) || - !IS_SOCKET(tep))) { + (msz < sizeof (struct T_optdata_req) || !IS_SOCKET(tep))) { (void) (STRLOG(TL_ID, tep->te_minor, 1, SL_TRACE|SL_ERROR, "tl_data:T_OPTDATA_REQ:invalid message")); diff --git a/usr/src/uts/common/io/tphci.c b/usr/src/uts/common/io/tphci.c index 1aa9c4ebf1..7b47814ab8 100644 --- a/usr/src/uts/common/io/tphci.c +++ b/usr/src/uts/common/io/tphci.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The tphci driver can be used to exercise the mpxio framework together @@ -131,14 +130,15 @@ static struct dev_ops tphci_ops = { nodev, /* reset */ &tphci_cb_ops, /* cb_ops */ &tphci_bus_ops, /* bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "test phci driver %I%", + "test phci driver", &tphci_ops }; @@ -419,8 +419,8 @@ tphci_ctl(dev_info_t *dip, dev_info_t *rdip, * by a pseudo driver. So we whine when we're called. */ cmn_err(CE_CONT, "%s%d: invalid op (%d) from %s%d\n", - ddi_get_name(dip), ddi_get_instance(dip), - ctlop, ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(dip), ddi_get_instance(dip), + ctlop, ddi_get_name(rdip), ddi_get_instance(rdip)); return (DDI_FAILURE); case DDI_CTLOPS_ATTACH: diff --git a/usr/src/uts/common/io/tty_pts.c b/usr/src/uts/common/io/tty_pts.c index a4d0b0d356..1f8b16efb6 100644 --- a/usr/src/uts/common/io/tty_pts.c +++ b/usr/src/uts/common/io/tty_pts.c @@ -1,5 +1,5 @@ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -14,7 +14,6 @@ * This is the "slave" side. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/param.h> #include <sys/systm.h> @@ -125,7 +124,8 @@ static int ptsl_attach(dev_info_t *, ddi_attach_cmd_t); static dev_info_t *ptsl_dip; /* for dev-to-dip conversions */ DDI_DEFINE_STREAM_OPS(ptsl_ops, nulldev, nulldev, - ptsl_attach, nodev, nodev, ptsl_info, D_MP, &ptysinfo); + ptsl_attach, nodev, nodev, ptsl_info, D_MP, &ptysinfo, + ddi_quiesce_not_supported); #include <sys/types.h> #include <sys/conf.h> @@ -142,7 +142,7 @@ char _depends_on[] = "drv/ptc"; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "tty pseudo driver slave 'ptsl' %I%", + "tty pseudo driver slave 'ptsl'", &ptsl_ops, /* driver ops */ }; @@ -185,7 +185,7 @@ ptsl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) for (tty_num = 0; tty_num < npty; tty_num++) { (void) sprintf(name, "tty%c%c", *tty_bank, *tty_digit); if (ddi_create_minor_node(devi, name, S_IFCHR, - tty_num, DDI_PSEUDO, NULL) == DDI_FAILURE) { + tty_num, DDI_PSEUDO, NULL) == DDI_FAILURE) { ddi_remove_minor_node(devi, NULL); return (-1); } @@ -488,7 +488,7 @@ ptslwput(queue_t *q, mblk_t *mp) */ (void) putctl1(RD(q), M_CTL, (pty->pt_flags & PF_REMOTE) ? - MC_NOCANON : MC_DOCANON); + MC_NOCANON : MC_DOCANON); } freemsg(mp); break; diff --git a/usr/src/uts/common/io/tty_pty.c b/usr/src/uts/common/io/tty_pty.c index f1c9b0e674..6c829dcd21 100644 --- a/usr/src/uts/common/io/tty_pty.c +++ b/usr/src/uts/common/io/tty_pty.c @@ -1,5 +1,5 @@ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -14,7 +14,6 @@ * it connects to a "slave" side. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/param.h> #include <sys/systm.h> @@ -95,7 +94,9 @@ struct dev_ops ptc_ops = { nodev, /* detach */ nodev, /* reset */ &ptc_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; #include <sys/types.h> @@ -115,7 +116,7 @@ extern struct dev_ops ptc_ops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "tty pseudo driver control 'ptc' %I%", + "tty pseudo driver control 'ptc'", &ptc_ops, /* driver ops */ }; @@ -167,7 +168,7 @@ ptc_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) for (pty_num = 0; pty_num < npty; pty_num++) { (void) sprintf(name, "pty%c%c", *pty_bank, *pty_digit); if (ddi_create_minor_node(devi, name, S_IFCHR, - pty_num, DDI_PSEUDO, NULL) == DDI_FAILURE) { + pty_num, DDI_PSEUDO, NULL) == DDI_FAILURE) { ddi_remove_minor_node(devi, NULL); return (-1); } @@ -652,7 +653,7 @@ again: goto out; cmn_err(CE_PANIC, "ptcwrite: non null return from" - " makemsg"); + " makemsg"); } /* diff --git a/usr/src/uts/common/io/tvhci.c b/usr/src/uts/common/io/tvhci.c index 8c7034399d..f2fdaae286 100644 --- a/usr/src/uts/common/io/tvhci.c +++ b/usr/src/uts/common/io/tvhci.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The tvhci driver can be used to exercise the mpxio framework together @@ -145,13 +144,14 @@ static struct dev_ops tvhci_ops = { &tvhci_cb_ops, /* cb_ops */ &tvhci_bus_ops, /* bus_ops */ NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "test vhci driver %I%", + "test vhci driver", &tvhci_ops }; @@ -477,8 +477,8 @@ tvhci_ctl(dev_info_t *dip, dev_info_t *rdip, * by a pseudo driver. So we whine when we're called. */ cmn_err(CE_CONT, "%s%d: invalid op (%d) from %s%d\n", - ddi_get_name(dip), ddi_get_instance(dip), - ctlop, ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(dip), ddi_get_instance(dip), + ctlop, ddi_get_name(rdip), ddi_get_instance(rdip)); return (DDI_FAILURE); case DDI_CTLOPS_ATTACH: diff --git a/usr/src/uts/common/io/ural/ural.c b/usr/src/uts/common/io/ural/ural.c index 6fc3188cf3..0fa6e54109 100644 --- a/usr/src/uts/common/io/ural/ural.c +++ b/usr/src/uts/common/io/ural/ural.c @@ -259,7 +259,7 @@ static int ural_detach(dev_info_t *, ddi_detach_cmd_t); * Module Loading Data & Entry Points */ DDI_DEFINE_STREAM_OPS(ural_dev_ops, nulldev, nulldev, ural_attach, - ural_detach, nodev, NULL, D_MP, NULL); + ural_detach, nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv ural_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ diff --git a/usr/src/uts/common/io/usb/clients/audio/usb_ac/usb_ac.c b/usr/src/uts/common/io/usb/clients/audio/usb_ac/usb_ac.c index 4ee9f0262f..345487b1f1 100644 --- a/usr/src/uts/common/io/usb/clients/audio/usb_ac/usb_ac.c +++ b/usr/src/uts/common/io/usb/clients/audio/usb_ac/usb_ac.c @@ -402,7 +402,8 @@ static struct dev_ops usb_ac_dev_ops = { nodev, /* devo_reset */ &usb_ac_cb_ops, /* devi_cb_ops */ NULL, /* devo_busb_ac_ops */ - usb_ac_power /* devo_power */ + usb_ac_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ diff --git a/usr/src/uts/common/io/usb/clients/audio/usb_as/usb_as.c b/usr/src/uts/common/io/usb/clients/audio/usb_as/usb_as.c index 648399ba55..c0c95ee623 100644 --- a/usr/src/uts/common/io/usb/clients/audio/usb_as/usb_as.c +++ b/usr/src/uts/common/io/usb/clients/audio/usb_as/usb_as.c @@ -245,7 +245,8 @@ static struct dev_ops usb_as_dev_ops = { nodev, /* devo_reset */ &usb_as_cb_ops, /* devi_cb_ops */ NULL, /* devo_busb_as_ops */ - usb_as_power /* devo_power */ + usb_as_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ diff --git a/usr/src/uts/common/io/usb/clients/hid/hid.c b/usr/src/uts/common/io/usb/clients/hid/hid.c index 7868c9e956..a3b88fd821 100644 --- a/usr/src/uts/common/io/usb/clients/hid/hid.c +++ b/usr/src/uts/common/io/usb/clients/hid/hid.c @@ -229,7 +229,8 @@ static struct dev_ops hid_ops = { nodev, /* reset */ &hid_cb_ops, /* driver operations */ NULL, /* bus operations */ - hid_power /* power */ + hid_power, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv hidmodldrv = { @@ -753,7 +754,6 @@ hid_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) return (rval); } - /* * hid_open : * Open entry point: Opens the interrupt pipe. Sets up queues. diff --git a/usr/src/uts/common/io/usb/clients/printer/usbprn.c b/usr/src/uts/common/io/usb/clients/printer/usbprn.c index 10d9cb782d..49e11ebc0c 100644 --- a/usr/src/uts/common/io/usb/clients/printer/usbprn.c +++ b/usr/src/uts/common/io/usb/clients/printer/usbprn.c @@ -170,7 +170,8 @@ static struct dev_ops usbprn_ops = { nodev, /* reset */ &usbprn_cb_ops, /* driver operations */ NULL, /* bus operations */ - usbprn_power /* power */ + usbprn_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv usbprnmodldrv = { diff --git a/usr/src/uts/common/io/usb/clients/ugen/ugen.c b/usr/src/uts/common/io/usb/clients/ugen/ugen.c index e407acfdb2..24c1bfbe70 100644 --- a/usr/src/uts/common/io/usb/clients/ugen/ugen.c +++ b/usr/src/uts/common/io/usb/clients/ugen/ugen.c @@ -106,7 +106,8 @@ static struct dev_ops ugen_skel_ops = { nodev, /* reset */ &ugen_skel_cb_ops, /* driver operations */ NULL, /* bus operations */ - ugen_skel_power /* power */ + ugen_skel_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/usb/clients/usbser/usbsacm/usbsacm.c b/usr/src/uts/common/io/usb/clients/usbser/usbsacm/usbsacm.c index d32239bdb2..64dc87b5cd 100644 --- a/usr/src/uts/common/io/usb/clients/usbser/usbsacm/usbsacm.c +++ b/usr/src/uts/common/io/usb/clients/usbser/usbsacm/usbsacm.c @@ -390,7 +390,8 @@ struct dev_ops usbsacm_ops = { nodev, /* devo_reset */ &usbsacm_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - usbser_power /* devo_power */ + usbser_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; diff --git a/usr/src/uts/common/io/usb/clients/usbser/usbser_keyspan/usbser_keyspan.c b/usr/src/uts/common/io/usb/clients/usbser/usbser_keyspan/usbser_keyspan.c index 9c91b821d8..0b390bd6af 100644 --- a/usr/src/uts/common/io/usb/clients/usbser/usbser_keyspan/usbser_keyspan.c +++ b/usr/src/uts/common/io/usb/clients/usbser/usbser_keyspan/usbser_keyspan.c @@ -222,7 +222,8 @@ struct dev_ops usbser_keyspan_ops = { nodev, /* devo_reset */ &usbser_keyspan_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - usbser_power /* devo_power */ + usbser_power, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; diff --git a/usr/src/uts/common/io/usb/clients/usbser/usbsprl/usbser_pl2303.c b/usr/src/uts/common/io/usb/clients/usbser/usbsprl/usbser_pl2303.c index 3cab463e69..beada0f6eb 100644 --- a/usr/src/uts/common/io/usb/clients/usbser/usbsprl/usbser_pl2303.c +++ b/usr/src/uts/common/io/usb/clients/usbser/usbsprl/usbser_pl2303.c @@ -135,7 +135,8 @@ struct dev_ops usbser_pl2303_ops = { nodev, /* devo_reset */ &usbser_pl2303_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - usbser_power /* devo_power */ + usbser_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -144,7 +145,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* type of module - driver */ - "USB Prolific PL2303 driver 1.1", + "USB Prolific PL2303 driver", &usbser_pl2303_ops, }; diff --git a/usr/src/uts/common/io/usb/clients/usbskel/usbskel.c b/usr/src/uts/common/io/usb/clients/usbskel/usbskel.c index 640ca79149..0f0dc45510 100644 --- a/usr/src/uts/common/io/usb/clients/usbskel/usbskel.c +++ b/usr/src/uts/common/io/usb/clients/usbskel/usbskel.c @@ -167,7 +167,8 @@ static struct dev_ops usbskel_ops = { nodev, /* reset */ &usbskel_cb_ops, /* driver operations */ NULL, /* bus operations */ - usbskel_power /* power */ + usbskel_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv usbskel_modldrv = { diff --git a/usr/src/uts/common/io/usb/clients/video/usbvc/usbvc.c b/usr/src/uts/common/io/usb/clients/video/usbvc/usbvc.c index 2be5950a5e..b5d9aa5bea 100644 --- a/usr/src/uts/common/io/usb/clients/video/usbvc/usbvc.c +++ b/usr/src/uts/common/io/usb/clients/video/usbvc/usbvc.c @@ -277,7 +277,8 @@ static struct dev_ops usbvc_ops = { nodev, /* reset */ &usbvc_cb_ops, /* driver operations */ NULL, /* bus operations */ - usbvc_power /* power */ + usbvc_power, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv usbvc_modldrv = { diff --git a/usr/src/uts/common/io/usb/hcd/ehci/ehci.c b/usr/src/uts/common/io/usb/hcd/ehci/ehci.c index 4e7ccb2b6b..b5a1bd60a6 100644 --- a/usr/src/uts/common/io/usb/hcd/ehci/ehci.c +++ b/usr/src/uts/common/io/usb/hcd/ehci/ehci.c @@ -96,6 +96,7 @@ static int ehci_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, int *rvalp); int usba_hubdi_root_hub_power(dev_info_t *dip, int comp, int level); +static int ehci_quiesce(dev_info_t *dip); static struct cb_ops ehci_cb_ops = { ehci_open, /* EHCI */ @@ -126,7 +127,8 @@ static struct dev_ops ehci_ops = { ehci_reset, /* Reset */ &ehci_cb_ops, /* Driver operations */ &usba_hubdi_busops, /* Bus operations */ - usba_hubdi_root_hub_power /* Power */ + usba_hubdi_root_hub_power, /* Power */ + ehci_quiesce /* Quiesce */ }; /* @@ -471,6 +473,56 @@ ehci_reset(dev_info_t *dip, ddi_reset_cmd_t cmd) } /* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +ehci_quiesce(dev_info_t *dip) +{ + ehci_state_t *ehcip = ehci_obtain_state(dip); + + if (ehcip == NULL) + return (DDI_FAILURE); + + /* + * To reset the host controller, the HCRESET bit should be set to one. + * Software should not set this bit to a one when the HCHalted bit in + * the USBSTS register is a zero. Attempting to reset an actively + * running host controller will result in undefined behavior. + * see EHCI SPEC. for more information. + */ + if (!(Get_OpReg(ehci_status) & EHCI_STS_HOST_CTRL_HALTED)) { + + /* Stop the EHCI host controller */ + Set_OpReg(ehci_command, + Get_OpReg(ehci_command) & ~EHCI_CMD_HOST_CTRL_RUN); + /* + * When this bit is set to 0, the Host Controller completes the + * current and any actively pipelined transactions on the USB + * and then halts. The Host Controller must halt within 16 + * micro-frames after software clears the Run bit. + * The HC Halted bit in the status register indicates when the + * Host Controller has finished its pending pipelined + * transactions and has entered the stopped state. + */ + drv_usecwait(EHCI_RESET_TIMEWAIT); + } + + /* Reset the EHCI host controller */ + Set_OpReg(ehci_command, + Get_OpReg(ehci_command) | EHCI_CMD_HOST_CTRL_RESET); + + return (DDI_SUCCESS); +} + + +/* * ehci_info: */ /* ARGSUSED */ diff --git a/usr/src/uts/common/io/usb/hcd/openhci/ohci.c b/usr/src/uts/common/io/usb/hcd/openhci/ohci.c index e1c2a98993..d3ea630860 100644 --- a/usr/src/uts/common/io/usb/hcd/openhci/ohci.c +++ b/usr/src/uts/common/io/usb/hcd/openhci/ohci.c @@ -507,6 +507,11 @@ static int ohci_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, static int ohci_attach(dev_info_t *dip, ddi_attach_cmd_t cmd); static int ohci_detach(dev_info_t *dip, ddi_detach_cmd_t cmd); + +#ifndef __sparc +static int ohci_quiesce(dev_info_t *dip); +#endif /* __sparc */ + static int ohci_info(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result); @@ -539,7 +544,12 @@ static struct dev_ops ohci_ops = { nodev, /* Reset */ &ohci_cb_ops, /* Driver operations */ &usba_hubdi_busops, /* Bus operations */ - usba_hubdi_root_hub_power /* Power */ + usba_hubdi_root_hub_power, /* Power */ +#ifdef __sparc + ddi_quiesce_not_supported, /* Quiesce */ +#else + ohci_quiesce, /* Quiesce */ +#endif /* __sparc */ }; /* @@ -11230,3 +11240,71 @@ ohci_print_td( USB_DPRINTF_L3(PRINT_MASK_LISTS, ohcip->ohci_log_hdl, "\tctrl_phase: 0x%x ", Get_TD(td->hctd_ctrl_phase)); } + +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +#ifndef __sparc +int +ohci_quiesce(dev_info_t *dip) +{ + ohci_state_t *ohcip = ohci_obtain_state(dip); + + if (ohcip == NULL) + return (DDI_FAILURE); + + if (ohcip->ohci_flags & OHCI_INTR) { + + /* Disable all HC ED list processing */ + Set_OpReg(hcr_control, + (Get_OpReg(hcr_control) & ~(HCR_CONTROL_CLE | + HCR_CONTROL_BLE | HCR_CONTROL_PLE | HCR_CONTROL_IE))); + + /* Disable all HC interrupts */ + Set_OpReg(hcr_intr_disable, + (HCR_INTR_SO | HCR_INTR_WDH | HCR_INTR_RD | HCR_INTR_UE)); + + /* Disable Master and SOF interrupts */ + Set_OpReg(hcr_intr_disable, (HCR_INTR_MIE | HCR_INTR_SOF)); + + /* Set the Host Controller Functional State to Reset */ + Set_OpReg(hcr_control, ((Get_OpReg(hcr_control) & + (~HCR_CONTROL_HCFS)) | HCR_CONTROL_RESET)); + + /* + * Workaround for ULI1575 chipset. Following OHCI Operational + * Memory Registers are not cleared to their default value + * on reset. Explicitly set the registers to default value. + */ + if (ohcip->ohci_vendor_id == PCI_ULI1575_VENID && + ohcip->ohci_device_id == PCI_ULI1575_DEVID) { + Set_OpReg(hcr_control, HCR_CONTROL_DEFAULT); + Set_OpReg(hcr_intr_enable, HCR_INT_ENABLE_DEFAULT); + Set_OpReg(hcr_HCCA, HCR_HCCA_DEFAULT); + Set_OpReg(hcr_ctrl_head, HCR_CONTROL_HEAD_ED_DEFAULT); + Set_OpReg(hcr_bulk_head, HCR_BULK_HEAD_ED_DEFAULT); + Set_OpReg(hcr_frame_interval, + HCR_FRAME_INTERVAL_DEFAULT); + Set_OpReg(hcr_periodic_strt, + HCR_PERIODIC_START_DEFAULT); + } + + ohcip->ohci_hc_soft_state = OHCI_CTLR_SUSPEND_STATE; + } + + /* Unmap the OHCI registers */ + if (ohcip->ohci_regs_handle) { + /* Reset the host controller */ + Set_OpReg(hcr_cmd_status, HCR_STATUS_RESET); + } + + return (DDI_SUCCESS); +} +#endif /* __sparc */ diff --git a/usr/src/uts/common/io/usb/hcd/uhci/uhci.c b/usr/src/uts/common/io/usb/hcd/uhci/uhci.c index 1823e7cde4..68f4f9ab61 100644 --- a/usr/src/uts/common/io/usb/hcd/uhci/uhci.c +++ b/usr/src/uts/common/io/usb/hcd/uhci/uhci.c @@ -49,6 +49,7 @@ static int uhci_close(dev_t dev, int flag, int otyp, cred_t *credp); static int uhci_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, int *rvalp); static int uhci_reset(dev_info_t *dip, ddi_reset_cmd_t cmd); +static int uhci_quiesce(dev_info_t *dip); static int uhci_info(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result); @@ -84,7 +85,8 @@ static struct dev_ops uhci_ops = { uhci_reset, /* Reset */ &uhci_cb_ops, /* Driver operations */ &usba_hubdi_busops, /* Bus operations */ - usba_hubdi_root_hub_power /* Power */ + usba_hubdi_root_hub_power, /* Power */ + uhci_quiesce /* quiesce */ }; static struct modldrv modldrv = { @@ -710,6 +712,45 @@ uhci_reset(dev_info_t *dip, ddi_reset_cmd_t cmd) return (DDI_SUCCESS); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +uhci_quiesce(dev_info_t *dip) +{ + uhci_state_t *uhcip = uhci_obtain_state(dip); + + if (uhcip == NULL) + return (DDI_FAILURE); + + /* Disable interrupts */ + Set_OpReg16(USBINTR, DISABLE_ALL_INTRS); + + /* Wait for SOF time to handle the scheduled interrupt */ + drv_usecwait(UHCI_TIMEWAIT); + + /* Stop the Host Controller */ + Set_OpReg16(USBCMD, 0); + + /* Wait for SOF time to handle the scheduled interrupt */ + drv_usecwait(UHCI_TIMEWAIT); + + /* Set Global Suspend bit */ + Set_OpReg16(USBCMD, USBCMD_REG_ENER_GBL_SUSPEND); + + /* Wait for SOF time to handle the scheduled interrupt */ + drv_usecwait(UHCI_TIMEWAIT); + + return (DDI_SUCCESS); +} + /* * uhci_info: diff --git a/usr/src/uts/common/io/usb/hubd/hubd.c b/usr/src/uts/common/io/usb/hubd/hubd.c index b8f31520be..2e04a6222b 100644 --- a/usr/src/uts/common/io/usb/hubd/hubd.c +++ b/usr/src/uts/common/io/usb/hubd/hubd.c @@ -76,7 +76,8 @@ static struct dev_ops hubd_ops = { nodev, /* reset */ &hubd_cb_ops, /* driver operations */ &usba_hubdi_busops, /* bus operations */ - usba_hubdi_power /* power */ + usba_hubdi_power, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c b/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c index b93b98b43b..3f6e2f6689 100644 --- a/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c +++ b/usr/src/uts/common/io/usb/scsa2usb/scsa2usb.c @@ -473,7 +473,8 @@ static struct dev_ops scsa2usb_ops = { nodev, /* reset */ &scsa2usb_cbops, /* driver operations */ NULL, /* bus operations */ - scsa2usb_power /* power */ + scsa2usb_power, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { @@ -1021,7 +1022,6 @@ scsa2usb_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) } } - /* * ugen support */ diff --git a/usr/src/uts/common/io/usb/usb_ia/usb_ia.c b/usr/src/uts/common/io/usb/usb_ia/usb_ia.c index 2beae91a4d..1e8d292a54 100644 --- a/usr/src/uts/common/io/usb/usb_ia/usb_ia.c +++ b/usr/src/uts/common/io/usb/usb_ia/usb_ia.c @@ -166,7 +166,8 @@ static struct dev_ops usb_ia_ops = { nodev, /* reset */ &usb_ia_cb_ops, /* driver operations */ &usb_ia_busops, /* bus operations */ - usb_ia_power /* power */ + usb_ia_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/usb/usb_mid/usb_mid.c b/usr/src/uts/common/io/usb/usb_mid/usb_mid.c index d11b266512..7c6b507b72 100644 --- a/usr/src/uts/common/io/usb/usb_mid/usb_mid.c +++ b/usr/src/uts/common/io/usb/usb_mid/usb_mid.c @@ -178,7 +178,8 @@ static struct dev_ops usb_mid_ops = { nodev, /* reset */ &usb_mid_cb_ops, /* driver operations */ &usb_mid_busops, /* bus operations */ - usb_mid_power /* power */ + usb_mid_power, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { @@ -742,7 +743,6 @@ usb_mid_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) /* NOTREACHED */ } - /* * usb_mid_cleanup: * cleanup usb_mid and deallocate. this function is called for diff --git a/usr/src/uts/common/io/vnic/vnic_ctl.c b/usr/src/uts/common/io/vnic/vnic_ctl.c index f280efbadc..a2873c9601 100644 --- a/usr/src/uts/common/io/vnic/vnic_ctl.c +++ b/usr/src/uts/common/io/vnic/vnic_ctl.c @@ -84,7 +84,8 @@ static struct dev_ops vnic_dev_ops = { nodev, /* reset */ &vnic_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_supported, /* dev quiesce */ }; static struct modldrv vnic_modldrv = { diff --git a/usr/src/uts/common/io/vscan/vscan_drv.c b/usr/src/uts/common/io/vscan/vscan_drv.c index 5d2cdb851d..989c835d83 100644 --- a/usr/src/uts/common/io/vscan/vscan_drv.c +++ b/usr/src/uts/common/io/vscan/vscan_drv.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/ddi.h> @@ -201,6 +200,7 @@ static struct dev_ops devops = { &cbops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/io/winlockio.c b/usr/src/uts/common/io/winlockio.c index 14ecc6f889..454bd0f60e 100644 --- a/usr/src/uts/common/io/winlockio.c +++ b/usr/src/uts/common/io/winlockio.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * This is the lock device driver. @@ -244,7 +242,8 @@ static struct dev_ops winlock_ops = { nodev, /* reset */ &winlock_cb_ops, /* driver ops */ NULL, /* bus ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static int winlockmap_map(devmap_cookie_t, dev_t, uint_t, offset_t, size_t, @@ -433,7 +432,7 @@ static int winlock_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) { DEBUGF(1, (CE_CONT, "winlock_attach, devi=%p, cmd=%d\n", - (void *)devi, (int)cmd)); + (void *)devi, (int)cmd)); if (cmd != DDI_ATTACH) return (DDI_FAILURE); if (ddi_create_minor_node(devi, "winlock", S_IFCHR, 0, DDI_PSEUDO, 0) @@ -450,7 +449,7 @@ static int winlock_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) { DEBUGF(1, (CE_CONT, "winlock_detach, devi=%p, cmd=%d\n", - (void *)devi, (int)cmd)); + (void *)devi, (int)cmd)); if (cmd != DDI_DETACH) return (DDI_FAILURE); @@ -516,7 +515,7 @@ winlock_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *cred, int *rval) { DEBUGF(1, (CE_CONT, "winlockioctl: cmd=%d, arg=0x%p\n", - cmd, (void *)arg)); + cmd, (void *)arg)); switch (cmd) { /* @@ -577,7 +576,7 @@ winlocksegmap( /* Use devmap_setup to setup the mapping */ return (devmap_setup(dev, (offset_t)off, as, addr, (size_t)len, prot, - maxprot, flags, cred)); + maxprot, flags, cred)); } /*ARGSUSED*/ @@ -589,7 +588,7 @@ winlock_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, int err; DEBUGF(1, (CE_CONT, "winlock devmap: off=%llx, len=%lx, dhp=%p\n", - off, len, (void *)dhp)); + off, len, (void *)dhp)); *maplen = 0; @@ -606,8 +605,8 @@ winlock_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, if (((off & PAGEOFFSET) != 0) && ((off ^ (uintptr_t)(lp->lockptr)) & (offset_t)PAGEOFFSET) != 0) { DEBUGF(2, (CE_CONT, - "mmap offset %llx mismatch with lockptr %p\n", - off, (void *)lp->lockptr)); + "mmap offset %llx mismatch with lockptr %p\n", + off, (void *)lp->lockptr)); mutex_exit(&lp->mutex); /* mutex held by seglock_findlock */ return (EINVAL); } @@ -722,7 +721,7 @@ winlockmap_dup(devmap_cookie_t dhp, void *oldpvt, devmap_cookie_t new_dhp, * getting at either the as or, better, a way to get the child's new pid */ ndp = seglock_alloc_specific(lp, - (void *)((devmap_handle_t *)new_dhp)->dh_seg->s_as); + (void *)((devmap_handle_t *)new_dhp)->dh_seg->s_as); ASSERT(ndp != sdp); if (sdp->lockseg == dhp) { @@ -879,7 +878,7 @@ seglock_createlock(enum winlock_style style) SegLock *lp; DEBUGF(3, (CE_CONT, "seglock_createlock: free_list=%p, next_lock %d\n", - (void *)lock_free_list, next_lock)); + (void *)lock_free_list, next_lock)); ASSERT(MUTEX_HELD(&winlock_mutex)); if (lock_free_list != NULL) { @@ -900,7 +899,7 @@ seglock_createlock(enum winlock_style style) if (style == OLDSTYLE_LOCK) { lp->lockptr = (int *)ddi_umem_alloc(PAGESIZE, - DDI_UMEM_SLEEP, &(lp->umem_cookie)); + DDI_UMEM_SLEEP, &(lp->umem_cookie)); } else { lp->lockptr = ((int *)lockpage) + ((lp->cookie/PAGESIZE) - 1); lp->umem_cookie = lockpage_cookie; @@ -932,7 +931,7 @@ seglock_destroylock(SegLock *lp) ASSERT(!MUTEX_HELD(&winlock_mutex)); DEBUGF(3, (CE_CONT, "destroying lock cookie %d key %d\n", - lp->cookie, lp->key)); + lp->cookie, lp->key)); ASSERT(lp->alloccount == 0); ASSERT(lp->clients == NULL); @@ -1025,7 +1024,7 @@ seglock_alloc_specific(SegLock *lp, void *tag) return (sdp); DEBUGF(3, (CE_CONT, "Allocating segproc structure for tag %p lock %d\n", - tag, lp->cookie)); + tag, lp->cookie)); /* Allocate a new SegProc */ sdp = kmem_zalloc(sizeof (SegProc), KM_SLEEP); @@ -1049,7 +1048,7 @@ seglock_deleteclient(SegLock *lp, SegProc *sdp) ASSERT(sdp->unlockseg == NULL); DEBUGF(3, (CE_CONT, "Deleting segproc structure for pid %d lock %d\n", - ddi_get_pid(), lp->cookie)); + ddi_get_pid(), lp->cookie)); if (lp->clients == sdp) { lp->clients = sdp->next; } else { @@ -1120,28 +1119,28 @@ seglock_graballoc(intptr_t arg, enum winlock_style style, int mode) /* IOCTL */ } DEBUGF(3, (CE_CONT, - "seglock_graballoc: key=%u, style=%d\n", key, style)); + "seglock_graballoc: key=%u, style=%d\n", key, style)); mutex_enter(&winlock_mutex); /* Allocate lockpage on first new style alloc */ if ((lockpage == NULL) && (style == NEWSTYLE_LOCK)) { lockpage = ddi_umem_alloc(PAGESIZE, DDI_UMEM_SLEEP, - &lockpage_cookie); + &lockpage_cookie); } /* Allocate trashpage on first alloc (any style) */ if (trashpage_cookie == NULL) { (void) ddi_umem_alloc(PAGESIZE, DDI_UMEM_TRASH | DDI_UMEM_SLEEP, - &trashpage_cookie); + &trashpage_cookie); } if ((lp = seglock_findkey(key)) != NULL) { DEBUGF(2, (CE_CONT, "alloc: found lock key %d cookie %d\n", - key, lp->cookie)); + key, lp->cookie)); ++lp->alloccount; } else if ((lp = seglock_createlock(style)) != NULL) { DEBUGF(2, (CE_CONT, "alloc: created lock key %d cookie %d\n", - key, lp->cookie)); + key, lp->cookie)); lp->key = key; } else { DEBUGF(2, (CE_CONT, "alloc: cannot create lock key %d\n", key)); @@ -1154,7 +1153,7 @@ seglock_graballoc(intptr_t arg, enum winlock_style style, int mode) /* IOCTL */ if (style == OLDSTYLE_LOCK) { err = ddi_copyout((caddr_t)&lp->cookie, (caddr_t)arg, - sizeof (lp->cookie), mode); + sizeof (lp->cookie), mode); } else { wla.sy_ident = lp->cookie + (uint_t)((uintptr_t)(lp->lockptr) & PAGEOFFSET); @@ -1192,7 +1191,7 @@ seglock_grabfree(intptr_t arg, int mode) /* IOCTL */ return (EINVAL); } DEBUGF(3, (CE_CONT, " lock key %d, cookie %d, alloccount %d\n", - lp->key, lp->cookie, lp->alloccount)); + lp->key, lp->cookie, lp->alloccount)); if (lp->alloccount > 0) lp->alloccount--; @@ -1298,8 +1297,8 @@ seglock_lockfault(devmap_cookie_t dhp, SegProc *sdp, SegLock *lp, uint_t rw) ASSERT(MUTEX_HELD(&lp->mutex)); DEBUGF(3, (CE_CONT, - "seglock_lockfault: hdl=%p, sdp=%p, lp=%p owner=%p\n", - (void *)dhp, (void *)sdp, (void *)lp, (void *)owner)); + "seglock_lockfault: hdl=%p, sdp=%p, lp=%p owner=%p\n", + (void *)dhp, (void *)sdp, (void *)lp, (void *)owner)); /* lockfault is always called with sdp in current process context */ ASSERT(ID(sdp) == CURPROC_ID); @@ -1316,10 +1315,10 @@ seglock_lockfault(devmap_cookie_t dhp, SegProc *sdp, SegLock *lp, uint_t rw) * Current owner is faulting on unlock page and has no waiters * Then can give the mapping to current owner */ - if ((sdp->lockseg == dhp) || (lp->sleepers == 0)) { + if ((sdp->lockseg == dhp) || (lp->sleepers == 0)) { DEBUGF(4, (CE_CONT, "lock owner faulting\n")); return (give_mapping(lp, sdp, rw)); - } else { + } else { /* * Owner must be writing to unlock page and there are waiters. * other cases have been checked earlier. @@ -1330,7 +1329,7 @@ seglock_lockfault(devmap_cookie_t dhp, SegProc *sdp, SegLock *lp, uint_t rw) ASSERT((dhp == sdp->unlockseg) && (lp->sleepers != 0)); DEBUGF(4, (CE_CONT, " owner fault on unlock seg w/ sleeper\n")); return (lock_giveup(lp, 1)); - } + } } ASSERT(owner != sdp); @@ -1345,7 +1344,7 @@ seglock_lockfault(devmap_cookie_t dhp, SegProc *sdp, SegLock *lp, uint_t rw) if ((sdp->unlockseg == dhp) && (sdp->flag & TRASHPAGE)) { DEBUGF(4, (CE_CONT, " old owner reloads trash mapping\n")); return (devmap_load(sdp->unlockseg, lp->cookie, PAGESIZE, - DEVMAP_ACCESS, rw)); + DEVMAP_ACCESS, rw)); } /* @@ -1369,8 +1368,8 @@ seglock_lockfault(devmap_cookie_t dhp, SegProc *sdp, SegLock *lp, uint_t rw) */ if (LOCK(lp) == 0) { DEBUGF(4, (CE_CONT, - "Free lock (%p): Giving mapping to new owner %d\n", - (void *)lp, ddi_get_pid())); + "Free lock (%p): Giving mapping to new owner %d\n", + (void *)lp, ddi_get_pid())); return (give_mapping(lp, sdp, rw)); } @@ -1417,7 +1416,7 @@ seglock_lockfault(devmap_cookie_t dhp, SegProc *sdp, SegLock *lp, uint_t rw) * If successful, will break out of loop */ cmn_err(CE_NOTE, "Process %d timed out on lock %d\n", - ddi_get_pid(), lp->cookie); + ddi_get_pid(), lp->cookie); (void) lock_giveup(lp, 1); } else if (rval == 0) { /* signal pending */ cmn_err(CE_NOTE, @@ -1493,7 +1492,7 @@ give_mapping(SegLock *lp, SegProc *sdp, uint_t rw) */ DEBUGF(4, (CE_CONT, " and unlock mapping\n")); err = devmap_load(sdp->unlockseg, lp->cookie, PAGESIZE, - DEVMAP_ACCESS, PROT_WRITE); + DEVMAP_ACCESS, PROT_WRITE); } return (err); } @@ -1555,8 +1554,8 @@ lock_giveup(SegLock *lp, int trash) * and be given a trash mapping at that time. */ if (ID(owner) == CURPROC_ID) { - (void) devmap_load(owner->unlockseg, lp->cookie, PAGESIZE, - DEVMAP_ACCESS, PROT_WRITE); + (void) devmap_load(owner->unlockseg, lp->cookie, + PAGESIZE, DEVMAP_ACCESS, PROT_WRITE); } } @@ -1670,7 +1669,7 @@ seglock_dump_all(void) static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Winlock Driver v%I%", /* Name of the module */ + "Winlock Driver", /* Name of the module */ &winlock_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/wpi/wpi.c b/usr/src/uts/common/io/wpi/wpi.c index ecd304d90a..3efaf7ccad 100644 --- a/usr/src/uts/common/io/wpi/wpi.c +++ b/usr/src/uts/common/io/wpi/wpi.c @@ -300,7 +300,7 @@ extern pri_t minclsyspri; * Module Loading Data & Entry Points */ DDI_DEFINE_STREAM_OPS(wpi_devops, nulldev, nulldev, wpi_attach, - wpi_detach, nodev, NULL, D_MP, NULL); + wpi_detach, nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv wpi_modldrv = { &mod_driverops, diff --git a/usr/src/uts/common/io/wscons.c b/usr/src/uts/common/io/wscons.c index 04496f004f..21b4b3fdd7 100644 --- a/usr/src/uts/common/io/wscons.c +++ b/usr/src/uts/common/io/wscons.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * "Workstation console" multiplexor driver for Sun. @@ -170,7 +169,7 @@ static int wc_attach(dev_info_t *, ddi_attach_cmd_t); static dev_info_t *wc_dip; DDI_DEFINE_STREAM_OPS(wc_ops, nulldev, nulldev, wc_attach, nodev, nodev, - wc_info, D_MTPERMOD | D_MP, &wcinfo); + wc_info, D_MTPERMOD | D_MP, &wcinfo, ddi_quiesce_not_supported); static void wcreioctl(void *); static void wcioctl(queue_t *, mblk_t *); @@ -236,7 +235,7 @@ uint_t wc_errlevel = PRINT_L2; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "Workstation multiplexer Driver 'wc' %I%", + "Workstation multiplexer Driver 'wc'", &wc_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/io/xge/drv/xge.c b/usr/src/uts/common/io/xge/drv/xge.c index 84caf3a552..c41f82d706 100644 --- a/usr/src/uts/common/io/xge/drv/xge.c +++ b/usr/src/uts/common/io/xge/drv/xge.c @@ -24,8 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * Copyright (c) 2002-2005 Neterion, Inc. * All right Reserved. @@ -40,9 +38,10 @@ static int xge_attach(dev_info_t *dev_info, ddi_attach_cmd_t cmd); static int xge_detach(dev_info_t *dev_info, ddi_detach_cmd_t cmd); +static int xge_quiesce(dev_info_t *dev_info); DDI_DEFINE_STREAM_OPS(xge_ops, nulldev, nulldev, xge_attach, xge_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, xge_quiesce); /* Standard Module linkage initialization for a Streams driver */ extern struct mod_ops mod_driverops; @@ -1269,6 +1268,29 @@ _exit0: } /* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +xge_quiesce(dev_info_t *dev_info) +{ + xge_hal_device_t *hldev = + (xge_hal_device_t *)ddi_get_driver_private(dev_info); + + xgelldev_t *lldev = xge_hal_device_private(hldev); + + xge_hal_device_quiesce(hldev, lldev->devh); + + return (DDI_SUCCESS); +} + +/* * xge_detach * @dev_info: pointer to dev_info_t structure * @cmd: attach command to process diff --git a/usr/src/uts/common/io/xge/drv/xgell.h b/usr/src/uts/common/io/xge/drv/xgell.h index 2d0aeb7746..aa8bcc43ff 100644 --- a/usr/src/uts/common/io/xge/drv/xgell.h +++ b/usr/src/uts/common/io/xge/drv/xgell.h @@ -37,8 +37,6 @@ #ifndef _SYS_XGELL_H #define _SYS_XGELL_H -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> #include <sys/errno.h> #include <sys/param.h> @@ -69,7 +67,7 @@ extern "C" { #endif -#define XGELL_DESC "Xframe I/II 10Gb Ethernet 1.11" +#define XGELL_DESC "Xframe I/II 10Gb Ethernet" #define XGELL_IFNAME "xge" #define XGELL_TX_LEVEL_LOW 8 #define XGELL_TX_LEVEL_HIGH 32 diff --git a/usr/src/uts/common/io/xge/hal/include/xgehal-device.h b/usr/src/uts/common/io/xge/hal/include/xgehal-device.h index 606a3d4ebc..8404f9c3dc 100644 --- a/usr/src/uts/common/io/xge/hal/include/xgehal-device.h +++ b/usr/src/uts/common/io/xge/hal/include/xgehal-device.h @@ -21,6 +21,11 @@ * Copyright (c) 2002-2006 Neterion, Inc. */ +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + #ifndef XGE_HAL_DEVICE_H #define XGE_HAL_DEVICE_H @@ -788,6 +793,8 @@ xge_hal_card_e xge_hal_device_check_id(xge_hal_device_h devh); int xge_hal_device_is_slot_freeze(xge_hal_device_h devh); +void xge_hal_device_quiesce(xge_hal_device_t *hldev, xge_hal_device_h devh); + xge_hal_status_e xge_hal_device_pci_info_get(xge_hal_device_h devh, xge_hal_pci_mode_e *pci_mode, xge_hal_pci_bus_frequency_e *bus_frequency, diff --git a/usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c b/usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c index 3beb19cda0..346f10b8bc 100644 --- a/usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c +++ b/usr/src/uts/common/io/xge/hal/xgehal/xgehal-device.c @@ -21,6 +21,11 @@ * Copyright (c) 2002-2006 Neterion, Inc. */ +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + #include "xgehal-device.h" #include "xgehal-channel.h" #include "xgehal-fifo.h" @@ -7259,3 +7264,24 @@ xge_hal_fix_rldram_ecc_error(xge_hal_device_t *hldev) return XGE_HAL_OK; } + +/* + * xge_hal_device_quiesce + * @hldev: HAL device object + * @devh : HAL device handle + * + * This is called by xge_quiesce to quiesce the device. + */ +void +xge_hal_device_quiesce(xge_hal_device_t *hldev, xge_hal_device_h devh) +{ + /* Turn off debugging */ + g_xge_hal_driver->debug_level = XGE_NONE; + g_level = &(g_xge_hal_driver->debug_level); + + /* Disable device */ + (void) xge_hal_device_disable(devh); + + /* Disable Xframe interrupts */ + xge_hal_device_intr_disable(devh); +} diff --git a/usr/src/uts/common/io/zcons.c b/usr/src/uts/common/io/zcons.c index 2e2d0438ee..e7f6d001ee 100644 --- a/usr/src/uts/common/io/zcons.c +++ b/usr/src/uts/common/io/zcons.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Zone Console Driver. @@ -142,7 +141,7 @@ static struct streamtab zc_tab_info = { * this will define (struct cb_ops cb_zc_ops) and (struct dev_ops zc_ops) */ DDI_DEFINE_STREAM_OPS(zc_ops, nulldev, nulldev, zc_attach, zc_detach, nodev, \ - zc_getinfo, ZC_CONF_FLAG, &zc_tab_info); + zc_getinfo, ZC_CONF_FLAG, &zc_tab_info, ddi_quiesce_not_needed); /* * Module linkage information for the kernel. diff --git a/usr/src/uts/common/ipp/ippctl.c b/usr/src/uts/common/ipp/ippctl.c index b105ed8d0a..240de00398 100644 --- a/usr/src/uts/common/ipp/ippctl.c +++ b/usr/src/uts/common/ipp/ippctl.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * IP Policy Framework config driver @@ -158,12 +156,14 @@ static struct dev_ops ippctl_dev_ops = { ippctl_detach, /* devo_detach */ nodev, /* devo_reset */ &ippctl_cb_ops, /* devo_cb_ops */ - (struct bus_ops *)0 /* devo_bus_ops */ + (struct bus_ops *)0, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "IP Policy Configuration Driver v%I%", + "IP Policy Configuration Driver", &ippctl_dev_ops, }; diff --git a/usr/src/uts/common/kmdb/kdrv.c b/usr/src/uts/common/kmdb/kdrv.c index 2b8e4857b4..1994dfc61d 100644 --- a/usr/src/uts/common/kmdb/kdrv.c +++ b/usr/src/uts/common/kmdb/kdrv.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The driver portion of kmdb, which manages /dev/kmdb and passes requests along @@ -227,11 +226,12 @@ static struct dev_ops kdrv_ops = { &kdrv_cb_ops, /* devo_cb_ops */ (struct bus_ops *)0, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "kmdb driver %I%", + "kmdb driver", &kdrv_ops }; diff --git a/usr/src/uts/common/krtld/bootrd.c b/usr/src/uts/common/krtld/bootrd.c index 4d48f71673..08e5d98c09 100644 --- a/usr/src/uts/common/krtld/bootrd.c +++ b/usr/src/uts/common/krtld/bootrd.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/param.h> #include <sys/sunddi.h> @@ -44,7 +43,7 @@ static uint64_t rd_start, rd_end; struct boot_fs_ops *bfs_ops; struct boot_fs_ops *bfs_tab[] = {&bufs_ops, &bhsfs_ops, NULL}; -static uintptr_t scratch_max; +static uintptr_t scratch_max = 0; #define _kmem_ready get_weakish_int(&kmem_ready) diff --git a/usr/src/uts/common/krtld/kobj_bootflags.c b/usr/src/uts/common/krtld/kobj_bootflags.c index 92ee199475..e0a8c4deb0 100644 --- a/usr/src/uts/common/krtld/kobj_bootflags.c +++ b/usr/src/uts/common/krtld/kobj_bootflags.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/reboot.h> @@ -56,6 +55,8 @@ bootflags(struct bootops *ops) return; } + (void) BOP_GETPROP(ops, "boot-file", kern_bootfile); + cp = kern_bootargs; #if defined(_OBP) diff --git a/usr/src/uts/common/os/clock.c b/usr/src/uts/common/os/clock.c index 3f5a63308a..96f07b3082 100644 --- a/usr/src/uts/common/os/clock.c +++ b/usr/src/uts/common/os/clock.c @@ -27,7 +27,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/param.h> #include <sys/t_lock.h> @@ -1594,8 +1593,9 @@ delay(clock_t ticks) clock_t deadline = lbolt + ticks; clock_t timeleft; timeout_id_t id; + extern hrtime_t volatile devinfo_freeze; - if (panicstr && ticks > 0) { + if ((panicstr || devinfo_freeze) && ticks > 0) { /* * Timeouts aren't running, so all we can do is spin. */ diff --git a/usr/src/uts/common/os/devcfg.c b/usr/src/uts/common/os/devcfg.c index fab3222d9b..e4571b8f0e 100644 --- a/usr/src/uts/common/os/devcfg.c +++ b/usr/src/uts/common/os/devcfg.c @@ -39,6 +39,7 @@ #include <sys/contract/device_impl.h> #include <sys/dacf.h> #include <sys/promif.h> +#include <sys/pci.h> #include <sys/cpuvar.h> #include <sys/pathname.h> #include <sys/taskq.h> @@ -50,6 +51,7 @@ #include <sys/fs/dv_node.h> #include <sys/reboot.h> #include <sys/sysmacros.h> +#include <sys/systm.h> #include <sys/sunldi.h> #include <sys/sunldi_impl.h> @@ -122,7 +124,7 @@ major_t clone_major; volatile ulong_t devtree_gen; /* generation number */ /* block all future dev_info state changes */ -static hrtime_t volatile devinfo_freeze = 0; +hrtime_t volatile devinfo_freeze = 0; /* number of dev_info attaches/detaches currently in progress */ static ulong_t devinfo_attach_detach = 0; @@ -158,6 +160,8 @@ int identify_9e = 0; int mtc_off; /* turn off mt config */ +int quiesce_debug = 0; + static kmem_cache_t *ddi_node_cache; /* devinfo node cache */ static devinfo_log_header_t *devinfo_audit_log; /* devinfo log */ static int devinfo_log_size; /* size in pages */ @@ -197,7 +201,7 @@ static int ndi_devi_unbind_driver(dev_info_t *dip); static void i_ddi_check_retire(dev_info_t *dip); - +static void quiesce_one_device(dev_info_t *, void *); /* * dev_info cache and node management @@ -3949,6 +3953,164 @@ i_ddi_prompath_to_devfspath(char *prompath, char *devfspath) } /* + * This function is intended to identify drivers that must quiesce for fast + * reboot to succeed. It does not claim to have more knowledge about the device + * than its driver. If a driver has implemented quiesce(), it will be invoked; + * if a so identified driver does not manage any device that needs to be + * quiesced, it must explicitly set its devo_quiesce dev_op to + * ddi_quiesce_not_needed. + */ +static int skip_pseudo = 1; /* Skip pseudo devices */ +static int skip_non_hw = 1; /* Skip devices with no hardware property */ +static int +should_implement_quiesce(dev_info_t *dip) +{ + struct dev_info *devi = DEVI(dip); + dev_info_t *pdip; + + /* + * If dip is pseudo and skip_pseudo is set, driver doesn't have to + * implement quiesce(). + */ + if (skip_pseudo && + strncmp(ddi_binding_name(dip), "pseudo", sizeof ("pseudo")) == 0) + return (0); + + /* + * If parent dip is pseudo and skip_pseudo is set, driver doesn't have + * to implement quiesce(). + */ + if (skip_pseudo && (pdip = ddi_get_parent(dip)) != NULL && + strncmp(ddi_binding_name(pdip), "pseudo", sizeof ("pseudo")) == 0) + return (0); + + /* + * If not attached, driver doesn't have to implement quiesce(). + */ + if (!i_ddi_devi_attached(dip)) + return (0); + + /* + * If dip has no hardware property and skip_non_hw is set, + * driver doesn't have to implement quiesce(). + */ + if (skip_non_hw && devi->devi_hw_prop_ptr == NULL) + return (0); + + return (1); +} + +static int +driver_has_quiesce(struct dev_ops *ops) +{ + if ((ops->devo_rev >= 4) && (ops->devo_quiesce != nodev) && + (ops->devo_quiesce != NULL) && (ops->devo_quiesce != nulldev) && + (ops->devo_quiesce != ddi_quiesce_not_supported)) + return (1); + else + return (0); +} + +/* + * Check to see if a driver has implemented the quiesce() DDI function. + */ +int +check_driver_quiesce(dev_info_t *dip, void *arg) +{ + struct dev_ops *ops; + + if (!should_implement_quiesce(dip)) + return (DDI_WALK_CONTINUE); + + if ((ops = ddi_get_driver(dip)) == NULL) + return (DDI_WALK_CONTINUE); + + if (driver_has_quiesce(ops)) { + if ((quiesce_debug & 0x2) == 0x2) { + if (ops->devo_quiesce == ddi_quiesce_not_needed) + cmn_err(CE_CONT, "%s does not need to be " + "quiesced", ddi_driver_name(dip)); + else + cmn_err(CE_CONT, "%s has quiesce routine", + ddi_driver_name(dip)); + } + } else { + if (arg != NULL) + *((int *)arg) = -1; + cmn_err(CE_WARN, "%s has no quiesce()", ddi_driver_name(dip)); + } + + return (DDI_WALK_CONTINUE); +} + +/* + * Quiesce device. + */ +static void +quiesce_one_device(dev_info_t *dip, void *arg) +{ + struct dev_ops *ops; + int should_quiesce = 0; + + /* + * If the device is not attached it doesn't need to be quiesced. + */ + if (!i_ddi_devi_attached(dip)) + return; + + if ((ops = ddi_get_driver(dip)) == NULL) + return; + + should_quiesce = should_implement_quiesce(dip); + + /* + * If there's an implementation of quiesce(), always call it even if + * some of the drivers don't have quiesce() or quiesce() have failed + * so we can do force fast reboot. The implementation of quiesce() + * should not negatively affect a regular reboot. + */ + if (driver_has_quiesce(ops)) { + int rc = DDI_SUCCESS; + + if (ops->devo_quiesce == ddi_quiesce_not_needed) + return; + + rc = devi_quiesce(dip); + + /* quiesce() should never fail */ + ASSERT(rc == DDI_SUCCESS); + + if (rc != DDI_SUCCESS && should_quiesce) { + + if (arg != NULL) + *((int *)arg) = -1; + } + } else if (should_quiesce && arg != NULL) { + *((int *)arg) = -1; + } +} + +/* + * Traverse the dev info tree in a breadth-first manner so that we quiesce + * children first. All subtrees under the parent of dip will be quiesced. + */ +void +quiesce_devices(dev_info_t *dip, void *arg) +{ + /* + * if we're reached here, the device tree better not be changing. + * so either devinfo_freeze better be set or we better be panicing. + */ + ASSERT(devinfo_freeze || panicstr); + + for (; dip != NULL; dip = ddi_get_next_sibling(dip)) { + quiesce_devices(ddi_get_child(dip), arg); + + quiesce_one_device(dip, arg); + } +} + +/* * Reset all the pure leaf drivers on the system at halt time */ static int @@ -4003,17 +4165,17 @@ reset_leaves(void) (void) walk_devs(top_devinfo, reset_leaf_device, NULL, 0); } + /* - * devtree_freeze() must be called before reset_leaves() during a - * normal system shutdown. It attempts to ensure that there are no - * outstanding attach or detach operations in progress when reset_leaves() - * is invoked. It must be called before the system becomes single-threaded - * because device attach and detach are multi-threaded operations. (note - * that during system shutdown the system doesn't actually become - * single-thread since other threads still exist, but the shutdown thread - * will disable preemption for itself, raise it's pil, and stop all the - * other cpus in the system there by effectively making the system - * single-threaded.) + * devtree_freeze() must be called before quiesce_devices() and reset_leaves() + * during a normal system shutdown. It attempts to ensure that there are no + * outstanding attach or detach operations in progress when quiesce_devices() or + * reset_leaves()is invoked. It must be called before the system becomes + * single-threaded because device attach and detach are multi-threaded + * operations. (note that during system shutdown the system doesn't actually + * become single-thread since other threads still exist, but the shutdown thread + * will disable preemption for itself, raise it's pil, and stop all the other + * cpus in the system there by effectively making the system single-threaded.) */ void devtree_freeze(void) @@ -7356,6 +7518,7 @@ void i_ddi_di_cache_free(struct di_cache *cache) { int error; + extern int sys_shutdown; ASSERT(mutex_owned(&cache->cache_lock)); diff --git a/usr/src/uts/common/os/driver.c b/usr/src/uts/common/os/driver.c index 3de2712c4c..4f21d90b06 100644 --- a/usr/src/uts/common/os/driver.c +++ b/usr/src/uts/common/os/driver.c @@ -19,10 +19,9 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/t_lock.h> @@ -258,6 +257,19 @@ devi_reset(dev_info_t *devi, ddi_reset_cmd_t cmd) return ((*fn)(devi, cmd)); } +int +devi_quiesce(dev_info_t *devi) +{ + struct dev_ops *ops; + int (*fn)(dev_info_t *); + + if (((ops = ddi_get_driver(devi)) == NULL) || + (ops->devo_rev < 4) || ((fn = ops->devo_quiesce) == NULL)) + return (DDI_FAILURE); + + return ((*fn)(devi)); +} + /* * Leaf driver entry points. The following [cb]dev_* functions are *not* part * of the DDI, please use functions defined in <sys/sunldi.h> and driver_lyr.c. diff --git a/usr/src/uts/common/os/mutex.c b/usr/src/uts/common/os/mutex.c index 625e3a6ca2..9a2559b09e 100644 --- a/usr/src/uts/common/os/mutex.c +++ b/usr/src/uts/common/os/mutex.c @@ -532,7 +532,12 @@ mutex_owned(const kmutex_t *mp) { const mutex_impl_t *lp = (const mutex_impl_t *)mp; +#ifdef __x86 + extern int quiesce_active; + if (panicstr || quiesce_active) +#else if (panicstr) +#endif /* __x86 */ return (1); if (MUTEX_TYPE_ADAPTIVE(lp)) diff --git a/usr/src/uts/common/os/sunddi.c b/usr/src/uts/common/os/sunddi.c index 8ca1a74a58..7f460b4380 100644 --- a/usr/src/uts/common/os/sunddi.c +++ b/usr/src/uts/common/os/sunddi.c @@ -8911,3 +8911,24 @@ ddi_parse( *nump = num; return (DDI_SUCCESS); } + +/* + * Default initialization function for drivers that don't need to quiesce. + */ +/* ARGSUSED */ +int +ddi_quiesce_not_needed(dev_info_t *dip) +{ + return (DDI_SUCCESS); +} + +/* + * Initialization function for drivers that should implement quiesce() + * but haven't yet. + */ +/* ARGSUSED */ +int +ddi_quiesce_not_supported(dev_info_t *dip) +{ + return (DDI_FAILURE); +} diff --git a/usr/src/uts/common/pcmcia/pcs/pcs.c b/usr/src/uts/common/pcmcia/pcs/pcs.c index 32b166212f..095ce93f03 100644 --- a/usr/src/uts/common/pcmcia/pcs/pcs.c +++ b/usr/src/uts/common/pcmcia/pcs/pcs.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/byteorder.h> @@ -46,7 +45,9 @@ static struct dev_ops pcs_devops = { pcs_detach, nulldev, NULL, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; /* * This is the loadable module wrapper. @@ -57,7 +58,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "PCMCIA Socket Driver %I%", /* Name of the module. */ + "PCMCIA Socket Driver", /* Name of the module. */ &pcs_devops, /* driver ops */ }; @@ -74,7 +75,7 @@ _init() { int ret; if ((ret = ddi_soft_state_init((void **)&pcs_instances, - sizeof (struct pcs_inst), 1)) != 0) + sizeof (struct pcs_inst), 1)) != 0) return (ret); if ((ret = mod_install(&modlinkage)) != 0) { ddi_soft_state_fini((void **)&pcs_instances); @@ -113,7 +114,7 @@ pcs_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, void **result) case DDI_INFO_DEVT2DEVINFO: inum = getminor((dev_t)arg); inst = (struct pcs_inst *)ddi_get_soft_state(pcs_instances, - inum); + inum); if (inst == NULL) error = DDI_FAILURE; else @@ -122,7 +123,7 @@ pcs_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, void **result) case DDI_INFO_DEVT2INSTANCE: inum = getminor((dev_t)arg); inst = (struct pcs_inst *)ddi_get_soft_state(pcs_instances, - inum); + inum); if (inst == NULL) error = DDI_FAILURE; else @@ -154,7 +155,7 @@ pcs_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_soft_state_zalloc(pcs_instances, inum) == DDI_SUCCESS) { inst = (struct pcs_inst *)ddi_get_soft_state(pcs_instances, - inum); + inum); if (inst == NULL) ret = DDI_FAILURE; else diff --git a/usr/src/uts/common/pcmcia/pem/pem.c b/usr/src/uts/common/pcmcia/pem/pem.c index 57e24b4ff8..5a6842ef61 100644 --- a/usr/src/uts/common/pcmcia/pem/pem.c +++ b/usr/src/uts/common/pcmcia/pem/pem.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * pem - PCMCIA Event Manager @@ -182,7 +181,8 @@ static struct streamtab pem_info = { }; DDI_DEFINE_STREAM_OPS(pem_ops, nulldev, nulldev, pem_attach, pem_detach, - nodev, pem_devinfo, D_NEW | D_MP, &pem_info); + nodev, pem_devinfo, D_NEW | D_MP, &pem_info, + ddi_quiesce_not_supported); /* * Module linkage information for the kernel. */ @@ -190,7 +190,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modlmisc = { &mod_driverops, /* Type of module - a utility provider */ - "PCMCIA Event Manager %I%", + "PCMCIA Event Manager", &pem_ops, /* driver ops */ }; @@ -206,7 +206,7 @@ _init(void) int e; if ((e = ddi_soft_state_init((void **)&pem_instances, - sizeof (struct pem_inst), 1)) != 0) + sizeof (struct pem_inst), 1)) != 0) return (e); mutex_init(&pem_global_lock, NULL, MUTEX_DRIVER, NULL); @@ -254,11 +254,11 @@ pem_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < EM_EVENT_SIZE; i++) events[i] = (uchar_t)~0; i = pcmcia_set_em_handler(pem_event_handler, - (caddr_t)events, - sizeof (events), - 0x1234, - (void **)&cardservices, - (void **)&Socket_Services); + (caddr_t)events, + sizeof (events), + 0x1234, + (void **)&cardservices, + (void **)&Socket_Services); if (i != 0) { #if defined(PEM_DEBUG) if (pem_debug) @@ -268,12 +268,12 @@ pem_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } (void) ddi_create_minor_node(dip, "pem", S_IFCHR, 0, - "pcmcia:event", 0); + "pcmcia:event", 0); (void) ddi_add_softintr(dip, DDI_SOFTINT_MED, &pem_intr_id, - &pem_iblock, - 0, - pem_soft_intr, (caddr_t)dip); + &pem_iblock, + 0, + pem_soft_intr, (caddr_t)dip); mutex_init(&pem_intr_lock, NULL, MUTEX_DRIVER, (void *)(uintptr_t)__ipltospl(SPL7)); @@ -393,7 +393,7 @@ pem_open(queue_t *q, dev_t *dev, int flag, int sflag, cred_t *cred) return (ENXIO); } inst = (struct pem_inst *)ddi_get_soft_state(pem_instances, - minordev - 1); + minordev - 1); if (inst == NULL) { mutex_exit(&pem_global_lock); @@ -476,7 +476,7 @@ pem_close(queue_t *q, int flag, cred_t *cred) if (pem != NULL && pem_instances != NULL) { inst = (struct pem_inst *)ddi_get_soft_state(pem_instances, - pem->pem_minor); + pem->pem_minor); if (inst != NULL) { minor = pem->pem_minor; @@ -729,17 +729,17 @@ pem_info_req(queue_t *q, mblk_t *mp, em_info_req_t *inforeq) infoack->em_event_mask_length = EM_EVENT_SIZE; infoack->em_event_mask_offset = sizeof (em_info_ack_t); bcopy((caddr_t)pem->pem_event_mask, - (caddr_t)mp->b_rptr + - infoack->em_event_mask_offset, EM_EVENT_SIZE); + (caddr_t)mp->b_rptr + + infoack->em_event_mask_offset, EM_EVENT_SIZE); } if (pem->pem_flags & PEMF_CLASSES) { infoack->em_event_class_length = EM_CLASS_SIZE; infoack->em_event_class_offset = - sizeof (em_info_ack_t) + - infoack->em_event_mask_length; + sizeof (em_info_ack_t) + + infoack->em_event_mask_length; bcopy((caddr_t)pem->pem_event_class, - (caddr_t)mp->b_rptr + - infoack->em_event_class_offset, EM_CLASS_SIZE); + (caddr_t)mp->b_rptr + + infoack->em_event_class_offset, EM_CLASS_SIZE); } qreply(q, mp); } @@ -774,20 +774,20 @@ pem_init_req(queue_t *q, mblk_t *mp, em_init_req_t *initreq) if (event != NULL && initreq->em_event_mask_length <= EM_EVENT_SIZE) { bcopy((caddr_t)event, (caddr_t)pem->pem_event_mask, - initreq->em_event_mask_length); + initreq->em_event_mask_length); pem->pem_flags |= PEMF_EVENTS; } if (class != NULL && initreq->em_event_mask_length <= EM_CLASS_SIZE) { bcopy((caddr_t)class, (caddr_t)pem->pem_event_class, - initreq->em_event_class_length); + initreq->em_event_class_length); pem->pem_flags |= PEMF_CLASSES; } #if defined(PEM_DEBUG) if (pem_debug) { cmn_err(CE_CONT, "pem_init_req:\n"); cmn_err(CE_CONT, "\tevent mask = %x (len=%d)\n", - (int)(*(uint32_t *)event), - (int)initreq->em_event_mask_length); + (int)(*(uint32_t *)event), + (int)initreq->em_event_mask_length); } #endif pem->pem_flags |= PEMF_INIT; @@ -821,7 +821,7 @@ pem_get_first_tuple(queue_t *q, mblk_t *mp, em_get_first_tuple_req_t *treq) if ((result = cardservices(GetFirstTuple, pem_cs_handle, &tuple)) != SUCCESS) { pem_error(q, mp, EM_GET_FIRST_TUPLE_REQ, PEME_NO_TUPLE, - result); + result); return (PEME_OK); } @@ -905,15 +905,15 @@ pem_event_ind(queue_t *q, uint32_t event, uint32_t socket, void *arg) ind->em_event_info_offset = sizeof (em_event_ind_t); ind->em_event_info_length = strlen((char *)arg) + 1; (void) strncpy((char *)mp->b_rptr + sizeof (em_event_ind_t), - (char *)arg, PEMMAXINFO - 1); + (char *)arg, PEMMAXINFO - 1); break; case PCE_INIT_DEV: ind->em_event_info_offset = sizeof (em_event_ind_t); ind->em_event_info_length = sizeof (struct pcm_make_dev); devp = (struct pcm_make_dev *)arg; bcopy((caddr_t)devp, - (caddr_t)(mp->b_rptr + sizeof (em_event_ind_t)), - PEMMAXINFO); + (caddr_t)(mp->b_rptr + sizeof (em_event_ind_t)), + PEMMAXINFO); break; } (void) putq(q, mp); @@ -936,8 +936,8 @@ pem_soft_intr(caddr_t arg) if (pe->pe_owner == PE_OWN_HANDLER) { /* have an event */ pem_event_dispatch(pe->pe_id, pe->pe_event, - pe->pe_socket, - pe->pe_info); + pe->pe_socket, + pe->pe_info); mutex_enter(&pem_intr_lock); pe->pe_owner = PE_OWN_FREE; serviced = 1; @@ -964,13 +964,13 @@ pem_event_dispatch(int id, int event, int socket, void *arg) #if defined(PEM_DEBUG) if (pem_debug) cmn_err(CE_CONT, "pem_event_dispatch(%x, %x, %x, %p)\n", - id, event, socket, (void *)arg); + id, event, socket, (void *)arg); #endif if (pem_instances == NULL) return; mutex_enter(&pem_global_lock); for (i = 0, minors = pem_minors; - minors != 0 && i < 4; minors >>= 1, i++) { + minors != 0 && i < 4; minors >>= 1, i++) { if (minors & 1) { inst = ddi_get_soft_state(pem_instances, i); if (inst == NULL) { @@ -982,10 +982,10 @@ pem_event_dispatch(int id, int event, int socket, void *arg) #if defined(PEM_DEBUG) if (pem_debug) cmn_err(CE_CONT, - "\tflags=%x, id=%x, wanted=%d\n", - (int)pem->pem_flags, - (int)pem->pem_id, - PR_GET(pem->pem_event_mask, event)); + "\tflags=%x, id=%x, wanted=%d\n", + (int)pem->pem_flags, + (int)pem->pem_id, + PR_GET(pem->pem_event_mask, event)); #endif if (pem->pem_flags & PEMF_EVENTS && pem->pem_id == id && @@ -1008,7 +1008,7 @@ pem_event_handler(int id, int event, int socket, void *arg) #if defined(PEM_DEBUG) if (pem_debug) cmn_err(CE_CONT, "pem_event_handler(%x, %x, %x, %p)\n", - id, event, socket, (void *)arg); + id, event, socket, (void *)arg); #endif for (i = 0, pe = pem_events; i < PEM_MAX_EVENTS; i++, pe++) { if (pem_claim(pe)) { @@ -1021,15 +1021,15 @@ pem_event_handler(int id, int event, int socket, void *arg) case PCE_DEV_IDENT: if (arg != NULL) (void) strncpy((char *)pe->pe_info, - (char *)arg, - MODMAXNAMELEN); + (char *)arg, + MODMAXNAMELEN); break; case PCE_INIT_DEV: devp = (struct pcm_make_dev *)arg; if (arg != NULL) bcopy((caddr_t)devp, - (caddr_t)pe->pe_info, - PEMMAXINFO); + (caddr_t)pe->pe_info, + PEMMAXINFO); } didevents = 1; break; @@ -1079,13 +1079,13 @@ pem_adapter_info(queue_t *q, mblk_t *mp) ack->em_num_power = adapt.NumPower; if (adapt.NumPower > 0) { ack->em_power_offset = - sizeof (em_adapter_info_ack_t); + sizeof (em_adapter_info_ack_t); ack->em_power_length = adapt.NumPower * - sizeof (struct power_entry); + sizeof (struct power_entry); bcopy((caddr_t)adapt.power_entry, - (caddr_t)mp->b_rptr + - ack->em_power_offset, - ack->em_power_length); + (caddr_t)mp->b_rptr + + ack->em_power_offset, + ack->em_power_length); } (void) putq(RD(q), mp); } @@ -1104,11 +1104,11 @@ pem_socket_info(queue_t *q, mblk_t *mp) socket.socket = req->em_socket; if (Socket_Services(SS_InquireSocket, &socket) == SUCCESS) { mp = mexchange(q, mp, sizeof (em_socket_info_ack_t), - M_PCPROTO, EM_SOCKET_INFO_ACK); + M_PCPROTO, EM_SOCKET_INFO_ACK); if (mp != NULL) { ack = (em_socket_info_ack_t *)(mp->b_rptr); mp->b_wptr = mp->b_rptr + - sizeof (em_socket_info_ack_t); + sizeof (em_socket_info_ack_t); bzero(mp->b_rptr, sizeof (em_socket_info_ack_t)); ack->em_status_int_caps = socket.SCIntCaps; ack->em_status_report_caps = socket.SCRptCaps; @@ -1132,7 +1132,7 @@ pem_get_socket(queue_t *q, mblk_t *mp) if (Socket_Services(SS_GetSocket, &socket) == SUCCESS) { mp = mexchange(q, mp, sizeof (em_get_socket_ack_t), - M_PCPROTO, EM_GET_SOCKET_ACK); + M_PCPROTO, EM_GET_SOCKET_ACK); mp->b_wptr = mp->b_rptr + sizeof (em_get_socket_ack_t); ack = (em_get_socket_ack_t *)(mp->b_rptr); ack->em_socket = socket.socket; @@ -1168,13 +1168,13 @@ pem_ident_socket(queue_t *q, mblk_t *mp) /* OK, have at least a name available */ pem_event_ind(RD(q), PCE_DEV_IDENT, ident->em_socket, - (void *)ddi_get_name(dip)); + (void *)ddi_get_name(dip)); num_minors = pcmcia_get_minors(dip, &minors); for (i = 0; i < num_minors; i++) { pem_event_ind(RD(q), PCE_INIT_DEV, ident->em_socket, - (void *)(minors + i)); + (void *)(minors + i)); } if (num_minors > 0) kmem_free(minors, num_minors * sizeof (struct pcm_make_dev)); diff --git a/usr/src/uts/common/rpc/rpcib.c b/usr/src/uts/common/rpc/rpcib.c index 448dfaf543..7c02d3eafd 100644 --- a/usr/src/uts/common/rpc/rpcib.c +++ b/usr/src/uts/common/rpc/rpcib.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ - /* * Copyright (c) 2007, The Ohio State University. All rights reserved. * @@ -165,7 +164,8 @@ static struct dev_ops rpcib_ops = { nodev, /* reset */ &rpcib_cbops, /* driver ops - devctl interfaces */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -173,9 +173,9 @@ static struct dev_ops rpcib_ops = { */ static struct modldrv rib_modldrv = { - &mod_driverops, /* Driver module */ - "RPCIB plugin driver, ver 1.30", /* Driver name and version */ - &rpcib_ops, /* Driver ops */ + &mod_driverops, /* Driver module */ + "RPCIB plugin driver", /* Driver name and version */ + &rpcib_ops, /* Driver ops */ }; static struct modlinkage rib_modlinkage = { diff --git a/usr/src/uts/common/sys/1394/adapters/hci1394.h b/usr/src/uts/common/sys/1394/adapters/hci1394.h index fedb908526..7598d203b3 100644 --- a/usr/src/uts/common/sys/1394/adapters/hci1394.h +++ b/usr/src/uts/common/sys/1394/adapters/hci1394.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,14 +19,13 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _SYS_1394_ADAPTERS_HCI1394_H #define _SYS_1394_ADAPTERS_HCI1394_H -#pragma ident "%Z%%M% %I% %E% SMI" /* * hci1394.h @@ -88,6 +86,7 @@ int hci1394_detach(dev_info_t *dip, ddi_detach_cmd_t cmd); void hci1394_detach_hardware(hci1394_state_t *soft_state); void hci1394_pci_fini(hci1394_state_t *soft_state); void hci1394_soft_state_fini(hci1394_state_t *soft_state); +int hci1394_quiesce(dev_info_t *dip); /* These functions can be found in hci1394_misc.c */ hci1394_statevar_t hci1394_state(hci1394_drvinfo_t *drvinfo); diff --git a/usr/src/uts/common/sys/autoconf.h b/usr/src/uts/common/sys/autoconf.h index dcf45a48e0..2748ae594b 100644 --- a/usr/src/uts/common/sys/autoconf.h +++ b/usr/src/uts/common/sys/autoconf.h @@ -26,7 +26,6 @@ #ifndef _SYS_AUTOCONF_H #define _SYS_AUTOCONF_H -#pragma ident "%Z%%M% %I% %E% SMI" /* Derived from autoconf.h, SunOS 4.1.1 1.15 */ @@ -241,6 +240,7 @@ extern void setcputype(void); #endif extern void devtree_freeze(void); extern void reset_leaves(void); +extern void quiesce_devices(dev_info_t *, void *); extern void setup_ddi(void); extern void setup_ddi_poststartup(void); @@ -281,6 +281,8 @@ extern int e_ddi_retire_finalize(dev_info_t *dip, void *arg); extern void e_ddi_degrade_finalize(dev_info_t *dip); extern void e_ddi_undegrade_finalize(dev_info_t *dip); +extern int check_driver_quiesce(dev_info_t *dip, void *arg); + #endif /* _KERNEL */ #ifdef __cplusplus diff --git a/usr/src/uts/common/sys/conf.h b/usr/src/uts/common/sys/conf.h index 435cffb35f..4962015890 100644 --- a/usr/src/uts/common/sys/conf.h +++ b/usr/src/uts/common/sys/conf.h @@ -29,7 +29,6 @@ #ifndef _SYS_CONF_H #define _SYS_CONF_H -#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 11.21 */ #include <sys/feature_tests.h> @@ -87,6 +86,7 @@ extern int devi_probe(dev_info_t *); extern int devi_attach(dev_info_t *, ddi_attach_cmd_t); extern int devi_detach(dev_info_t *, ddi_detach_cmd_t); extern int devi_reset(dev_info_t *, ddi_reset_cmd_t); +extern int devi_quiesce(dev_info_t *); /* * The following [cb]dev_* functions are not part of the DDI, use diff --git a/usr/src/uts/common/sys/devops.h b/usr/src/uts/common/sys/devops.h index 12dd5e057c..705a8dba02 100644 --- a/usr/src/uts/common/sys/devops.h +++ b/usr/src/uts/common/sys/devops.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,14 +19,13 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _SYS_DEVOPS_H #define _SYS_DEVOPS_H -#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 */ #include <sys/types.h> #include <sys/cred.h> @@ -326,9 +324,10 @@ struct bus_ops_rev1 { * devo_attach - Attach driver to dev_info * devo_detach - Detach/prepare driver to unload * devo_reset - Reset device + * devo_quiesce - Quiesce device */ -#define DEVO_REV 3 +#define DEVO_REV 4 #define CB_REV 1 /* @@ -368,7 +367,6 @@ typedef enum { DDI_RESET_FORCE = 0 } ddi_reset_cmd_t; - struct dev_ops { int devo_rev; /* Driver build version */ int devo_refcnt; /* device reference count */ @@ -385,6 +383,7 @@ struct dev_ops { struct bus_ops *devo_bus_ops; /* bus_ops pointer for nexus drivers */ int (*devo_power)(dev_info_t *dip, int component, int level); + int (*devo_quiesce)(dev_info_t *dip); }; /* @@ -405,6 +404,8 @@ struct dev_ops { * XXinfo is the name of the info routine * XXflag is driver flag (cb_flag) in cb_ops, * XXstream_tab is the obvious. + * XXquiesce is the name of the quiesce routine. It must be implemented + * for fast reboot to succeed. * cb_##XXname is the name of the internally defined cb_ops struct. * * uses cb_XXname as name of static cb_ops structure. @@ -416,7 +417,7 @@ struct dev_ops { * to reformat it to satisfy Cstyle because genassym.c won't compile. */ /* CSTYLED */ -#define DDI_DEFINE_STREAM_OPS(XXname, XXidentify, XXprobe, XXattach, XXdetach, XXreset, XXgetinfo, XXflag, XXstream_tab) \ +#define DDI_DEFINE_STREAM_OPS(XXname, XXidentify, XXprobe, XXattach, XXdetach, XXreset, XXgetinfo, XXflag, XXstream_tab, XXquiesce) \ static struct cb_ops cb_##XXname = { \ nulldev, /* cb_open */ \ nulldev, /* cb_close */ \ @@ -449,7 +450,8 @@ static struct dev_ops XXname = { \ (XXreset), /* devo_reset */ \ &(cb_##XXname), /* devo_cb_ops */ \ (struct bus_ops *)NULL, /* devo_bus_ops */ \ - NULL /* devo_power */ \ + NULL, /* devo_power */ \ + (XXquiesce) /* devo_quiesce */ \ } #endif /* _KERNEL */ diff --git a/usr/src/uts/common/sys/pcmcia/pcramvar.h b/usr/src/uts/common/sys/pcmcia/pcramvar.h index 7fc0b4de94..ce59e1d83c 100644 --- a/usr/src/uts/common/sys/pcmcia/pcramvar.h +++ b/usr/src/uts/common/sys/pcmcia/pcramvar.h @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,15 +19,13 @@ * CDDL HEADER END */ /* - * Copyright 1999,2002 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #ifndef _PCRAMVAR_H #define _PCRAMVAR_H -#pragma ident "%Z%%M% %I% %E% SMI" - #ifdef __cplusplus extern "C" { #endif @@ -115,7 +112,7 @@ struct pcmm_info { /* * driver ID string */ -#define PCRAM_DRIVERID "PCMCIA Memory Card Driver V2.0" +#define PCRAM_DRIVERID "PCMCIA Memory Card Driver" #define PCRAM_NAME "pcram" /* * SunVTS uses PCRAM_DKC_CNAME for diff --git a/usr/src/uts/common/sys/sata/adapters/nv_sata/nv_sata.h b/usr/src/uts/common/sys/sata/adapters/nv_sata/nv_sata.h index 930792ad6f..443ffc0b3d 100644 --- a/usr/src/uts/common/sys/sata/adapters/nv_sata/nv_sata.h +++ b/usr/src/uts/common/sys/sata/adapters/nv_sata/nv_sata.h @@ -623,6 +623,7 @@ typedef struct prde { #define NV_INTR_DISABLE 0x1 #define NV_INTR_ENABLE 0x2 #define NV_INTR_CLEAR_ALL 0x4 +#define NV_INTR_DISABLE_NON_BLOCKING 0x8 /* * sizes of strings to allocate diff --git a/usr/src/uts/common/sys/sunddi.h b/usr/src/uts/common/sys/sunddi.h index cfbf1656b9..6c2929b15b 100644 --- a/usr/src/uts/common/sys/sunddi.h +++ b/usr/src/uts/common/sys/sunddi.h @@ -2148,6 +2148,19 @@ int ddi_parse(const char *, char *, uint_t *); */ ddi_periodic_t ddi_periodic_add(void (*)(void *), void *, hrtime_t, int); void ddi_periodic_delete(ddi_periodic_t); + +/* + * Default quiesce(9E) implementation for drivers that don't need to do + * anything. + */ +int ddi_quiesce_not_needed(dev_info_t *); + +/* + * Default quiesce(9E) initialization function for drivers that should + * implement quiesce but haven't yet. + */ +int ddi_quiesce_not_supported(dev_info_t *); + #endif /* _KERNEL */ #ifdef __cplusplus diff --git a/usr/src/uts/common/sys/uadmin.h b/usr/src/uts/common/sys/uadmin.h index a23e251962..05fbcf6f33 100644 --- a/usr/src/uts/common/sys/uadmin.h +++ b/usr/src/uts/common/sys/uadmin.h @@ -30,7 +30,6 @@ #ifndef _SYS_UADMIN_H #define _SYS_UADMIN_H -#pragma ident "%Z%%M% %I% %E% SMI" #if !defined(_ASM) #include <sys/types.h> @@ -59,6 +58,8 @@ extern "C" { #define AD_SIBOOT 4 /* single-user reboot, ask for name of file */ #define AD_POWEROFF 6 /* software poweroff */ #define AD_NOSYNC 7 /* do not sync filesystems on next A_DUMP */ +#define AD_FASTREBOOT 8 /* bypass firmware and boot loader */ +#define AD_FASTREBOOT_DRYRUN 9 /* Fast reboot Dry run */ /* diff --git a/usr/src/uts/common/sys/usb/usba/hubdi.h b/usr/src/uts/common/sys/usb/usba/hubdi.h index cc41cb2626..93a7ad637f 100644 --- a/usr/src/uts/common/sys/usb/usba/hubdi.h +++ b/usr/src/uts/common/sys/usb/usba/hubdi.h @@ -55,6 +55,7 @@ int usba_hubdi_info(dev_info_t *, ddi_info_cmd_t, void *, void **); int usba_hubdi_attach(dev_info_t *, ddi_attach_cmd_t); int usba_hubdi_probe(dev_info_t *); int usba_hubdi_detach(dev_info_t *, ddi_detach_cmd_t); +int usba_hubdi_quiesce(dev_info_t *); int usba_hubdi_bind_root_hub(dev_info_t *, uchar_t *, size_t, usb_dev_descr_t *); diff --git a/usr/src/uts/common/syscall/uadmin.c b/usr/src/uts/common/syscall/uadmin.c index 9a2f01e850..a93ac589ad 100644 --- a/usr/src/uts/common/syscall/uadmin.c +++ b/usr/src/uts/common/syscall/uadmin.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/param.h> #include <sys/types.h> @@ -69,6 +68,7 @@ kcondvar_t uacond; kthread_t *ua_shutdown_thread = NULL; int sys_shutdown = 0; +volatile int fastreboot_dryrun = 0; /* * Kill all user processes in said zone. A special argument of ALL_ZONES is @@ -379,6 +379,16 @@ uadmin(int cmd, int fcn, uintptr_t mdep) size_t nbytes = 0; cred_t *credp = CRED(); char *bootargs = NULL; + int reset_status = 0; + + if (cmd == A_SHUTDOWN && fcn == AD_FASTREBOOT_DRYRUN) { + ddi_walk_devs(ddi_root_node(), check_driver_quiesce, + &reset_status); + if (reset_status != 0) + return (EIO); + else + return (0); + } /* * The swapctl system call doesn't have its own entry point: it uses diff --git a/usr/src/uts/common/tnf/tnf.c b/usr/src/uts/common/tnf/tnf.c index 3964751ae0..f814066723 100644 --- a/usr/src/uts/common/tnf/tnf.c +++ b/usr/src/uts/common/tnf/tnf.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * tnf driver - provides probe control and kernel trace buffer access @@ -165,14 +163,16 @@ struct dev_ops tnf_ops = { tnf_detach, /* detach */ nodev, /* reset */ &tnf_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* no bus operations */ + (struct bus_ops *)0, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "kernel probes driver %I%", + "kernel probes driver", &tnf_ops, }; @@ -246,7 +246,7 @@ tnf_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if ((ddi_create_minor_node(devi, "tnfctl", S_IFCHR, TNFCTL_MINOR, DDI_PSEUDO, NULL) == DDI_FAILURE) || (ddi_create_minor_node(devi, "tnfmap", S_IFCHR, TNFMAP_MINOR, - DDI_PSEUDO, NULL) == DDI_FAILURE)) { + DDI_PSEUDO, NULL) == DDI_FAILURE)) { ddi_remove_minor_node(devi, NULL); return (DDI_FAILURE); } @@ -384,7 +384,7 @@ tnf_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, int filterval = 1; if ((mode & FMODELS) != FNATIVE) - return (ENOTSUP); + return (ENOTSUP); if (getminor(dev) != TNFCTL_MINOR && cmd != TIFIOCGSTATE && @@ -474,8 +474,8 @@ tnf_getprobevals(caddr_t arg, int mode) mutex_enter(&mod_lock); for (i = 1, p = (tnf_probe_control_t *)__tnf_probe_list_head; - p != NULL && i != probebuf.probenum; - ++i, p = p->next) + p != NULL && i != probebuf.probenum; + ++i, p = p->next) ; if (p == NULL) retval = ENOENT; @@ -504,8 +504,8 @@ tnf_getprobestring(caddr_t arg, int mode) mutex_enter(&mod_lock); for (i = 1, p = (tnf_probe_control_t *)__tnf_probe_list_head; - p != NULL && i != probebuf.probenum; - ++i, p = p->next) + p != NULL && i != probebuf.probenum; + ++i, p = p->next) ; if (p == NULL) retval = ENOENT; @@ -528,8 +528,8 @@ tnf_setprobevals(caddr_t arg, int mode) mutex_enter(&mod_lock); for (i = 1, p = (tnf_probe_control_t *)__tnf_probe_list_head; - p != NULL && i != probebuf.probenum; - ++i, p = p->next) + p != NULL && i != probebuf.probenum; + ++i, p = p->next) ; if (p == NULL) retval = ENOENT; @@ -619,7 +619,7 @@ tnf_allocbuf(intptr_t arg) #else /* LINTED cast from 64-bit integer to 32-bit intege */ tnf_buf = segkp_get(segkp, (int)bufsz, - KPD_ZERO | KPD_LOCKED | KPD_NO_ANON); + KPD_ZERO | KPD_LOCKED | KPD_NO_ANON); #endif if (tnf_buf == NULL) return (ENOMEM); diff --git a/usr/src/uts/common/vm/vm_pagelist.c b/usr/src/uts/common/vm/vm_pagelist.c index 200216189f..bcb9ad0f9a 100644 --- a/usr/src/uts/common/vm/vm_pagelist.c +++ b/usr/src/uts/common/vm/vm_pagelist.c @@ -31,7 +31,6 @@ * under license from the Regents of the University of California. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * This file contains common functions to access and manage the page lists. @@ -137,7 +136,7 @@ int pg_contig_disable; int pg_lpgcreate_nocage = LPGCREATE; /* - * page_freelist_split pfn flag to signify no hi pfn requirement. + * page_freelist_split pfn flag to signify no lo or hi pfn requirement. */ #define PFNNULL 0 @@ -231,9 +230,9 @@ void page_ctr_sub_internal(int, int, page_t *, int); void page_freelist_lock(int); void page_freelist_unlock(int); page_t *page_promote(int, pfn_t, uchar_t, int, int); -page_t *page_demote(int, pfn_t, uchar_t, uchar_t, int, int); +page_t *page_demote(int, pfn_t, pfn_t, uchar_t, uchar_t, int, int); page_t *page_freelist_split(uchar_t, - uint_t, int, int, pfn_t, page_list_walker_t *); + uint_t, int, int, pfn_t, pfn_t, page_list_walker_t *); page_t *page_get_mnode_cachelist(uint_t, uint_t, int, int); static int page_trylock_cons(page_t *pp, se_t se); @@ -1580,7 +1579,7 @@ page_boot_demote(page_t *pp) ASSERT(PP_ISAGED(pp)); (void) page_demote(PP_2_MEM_NODE(pp), - PFN_BASE(pp->p_pagenum, pp->p_szc), pp->p_szc, 0, PC_NO_COLOR, + PFN_BASE(pp->p_pagenum, pp->p_szc), 0, pp->p_szc, 0, PC_NO_COLOR, PC_FREE); ASSERT(PP_ISFREE(pp)); @@ -1687,7 +1686,7 @@ try_again: * Large page is on freelist. */ (void) page_demote(mnode, PFN_BASE(pp->p_pagenum, pp->p_szc), - pp->p_szc, 0, PC_NO_COLOR, PC_FREE); + 0, pp->p_szc, 0, PC_NO_COLOR, PC_FREE); } ASSERT(PP_ISFREE(pp)); ASSERT(PP_ISAGED(pp)); @@ -1749,7 +1748,7 @@ try_again: if (pp->p_szc > szc) { VM_STAT_ADD(vmm_vmstats.plsubpages_szcbig); (void) page_demote(mnode, - PFN_BASE(pp->p_pagenum, pp->p_szc), + PFN_BASE(pp->p_pagenum, pp->p_szc), 0, pp->p_szc, szc, PC_NO_COLOR, PC_FREE); } bin = PP_2_BIN(pp); @@ -2093,10 +2092,11 @@ fail_promote: * If flags is not PC_ALLOC, the color argument is ignored, and thus * technically, any value may be passed in but PC_NO_COLOR is the standard * which should be followed for clarity's sake. + * Returns a page whose pfn is < pfnmax */ page_t * -page_demote(int mnode, pfn_t pfnum, uchar_t cur_szc, uchar_t new_szc, - int color, int flags) +page_demote(int mnode, pfn_t pfnum, pfn_t pfnmax, uchar_t cur_szc, + uchar_t new_szc, int color, int flags) { page_t *pp, *pplist, *npplist; pgcnt_t npgs, n; @@ -2142,7 +2142,8 @@ page_demote(int mnode, pfn_t pfnum, uchar_t cur_szc, uchar_t new_szc, pp->p_szc = new_szc; bin = PP_2_BIN(pp); if ((bin == color) && (flags == PC_ALLOC) && - (ret_pp == NULL) && + (ret_pp == NULL) && (pfnmax == 0 || + pp->p_pagenum < pfnmax) && page_trylock_cons(pp, SE_EXCL)) { ret_pp = pp; } else { @@ -2152,6 +2153,8 @@ page_demote(int mnode, pfn_t pfnum, uchar_t cur_szc, uchar_t new_szc, page_ctr_add(mnode, mtype, pp, PG_FREE_LIST); } } else { + page_t *try_to_return_this_page = NULL; + int count = 0; /* * Break down into smaller lists of pages. @@ -2162,18 +2165,33 @@ page_demote(int mnode, pfn_t pfnum, uchar_t cur_szc, uchar_t new_szc, n = npgs; while (n--) { ASSERT(pp->p_szc == cur_szc); + /* + * Check whether all the pages in this list + * fit the request criteria. + */ + if (pfnmax == 0 || pp->p_pagenum < pfnmax) { + count++; + } pp->p_szc = new_szc; pp = pp->p_next; } + if (count == npgs && + (pfnmax == 0 || pp->p_pagenum < pfnmax)) { + try_to_return_this_page = pp; + } + CHK_LPG(pplist, new_szc); bin = PP_2_BIN(pplist); - ASSERT(mnode == PP_2_MEM_NODE(pp)); + if (try_to_return_this_page) + ASSERT(mnode == + PP_2_MEM_NODE(try_to_return_this_page)); if ((bin == color) && (flags == PC_ALLOC) && - (ret_pp == NULL) && - page_trylock_cons(pp, SE_EXCL)) { - ret_pp = pp; + (ret_pp == NULL) && try_to_return_this_page && + page_trylock_cons(try_to_return_this_page, + SE_EXCL)) { + ret_pp = try_to_return_this_page; } else { mtype = PP_2_MTYPE(pp); page_vpadd(&PAGE_FREELISTS(mnode, new_szc, @@ -2516,7 +2534,7 @@ page_freelist_coalesce_all(int mnode) page_t * page_freelist_split(uchar_t szc, uint_t color, int mnode, int mtype, - pfn_t pfnhi, page_list_walker_t *plw) + pfn_t pfnlo, pfn_t pfnhi, page_list_walker_t *plw) { uchar_t nszc = szc + 1; uint_t bin, sbin, bin_prev; @@ -2552,14 +2570,24 @@ page_freelist_split(uchar_t szc, uint_t color, int mnode, int mtype, * If pfnhi is not PFNNULL, look for large page below * pfnhi. PFNNULL signifies no pfn requirement. */ - if (pfnhi != PFNNULL && pp->p_pagenum >= pfnhi) { + if ((pfnhi != PFNNULL && pp->p_pagenum >= pfnhi) || + (pfnlo != PFNNULL && pp->p_pagenum < pfnlo)) { do { pp = pp->p_vpnext; if (pp == firstpp) { pp = NULL; break; } - } while (pp->p_pagenum >= pfnhi); + } while ((pfnhi != PFNNULL && + pp->p_pagenum >= pfnhi) || + (pfnlo != PFNNULL && + pp->p_pagenum < pfnlo)); + + if (pfnhi != PFNNULL && pp != NULL) + ASSERT(pp->p_pagenum < pfnhi); + + if (pfnlo != PFNNULL && pp != NULL) + ASSERT(pp->p_pagenum >= pfnlo); } if (pp) { uint_t ccolor = page_correct_color(szc, nszc, @@ -2568,7 +2596,7 @@ page_freelist_split(uchar_t szc, uint_t color, int mnode, int mtype, ASSERT(pp->p_szc == nszc); VM_STAT_ADD(vmm_vmstats.pfs_demote[nszc]); ret_pp = page_demote(mnode, pp->p_pagenum, - pp->p_szc, szc, ccolor, PC_ALLOC); + pfnhi, pp->p_szc, szc, ccolor, PC_ALLOC); if (ret_pp) { page_freelist_unlock(mnode); #if defined(__sparc) @@ -2983,7 +3011,7 @@ bin_empty_1: */ if (plw.plw_do_split && (pp = page_freelist_split(szc, bin, mnode, - mtype, PFNNULL, &plw)) != NULL) + mtype, PFNNULL, PFNNULL, &plw)) != NULL) return (pp); if (szc > 0 && (pp = page_freelist_coalesce(mnode, szc, @@ -4328,7 +4356,7 @@ page_demote_free_pages(page_t *pp) page_freelist_lock(mnode); if (pp->p_szc != 0) { (void) page_demote(mnode, PFN_BASE(pp->p_pagenum, - pp->p_szc), pp->p_szc, 0, PC_NO_COLOR, PC_FREE); + pp->p_szc), 0, pp->p_szc, 0, PC_NO_COLOR, PC_FREE); } page_freelist_unlock(mnode); ASSERT(pp->p_szc == 0); diff --git a/usr/src/uts/common/xen/dtrace/xdt.c b/usr/src/uts/common/xen/dtrace/xdt.c index 3bde545a12..bac7f100e9 100644 --- a/usr/src/uts/common/xen/dtrace/xdt.c +++ b/usr/src/uts/common/xen/dtrace/xdt.c @@ -1034,7 +1034,8 @@ static struct dev_ops xdt_ops = { nulldev, /* devo_reset */ &xdt_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power(9E) */ + NULL, /* power(9E) */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; diff --git a/usr/src/uts/common/xen/io/evtchn_dev.c b/usr/src/uts/common/xen/io/evtchn_dev.c index 998fa569f0..e9153228bf 100644 --- a/usr/src/uts/common/xen/io/evtchn_dev.c +++ b/usr/src/uts/common/xen/io/evtchn_dev.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * evtchn.c @@ -683,12 +682,13 @@ static struct dev_ops evtchndrv_dev_ops = { nodev, /* devo_reset */ &evtchndrv_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Evtchn driver v1.0", /* Name of the module. */ + "Evtchn driver", /* Name of the module. */ &evtchndrv_dev_ops /* driver ops */ }; diff --git a/usr/src/uts/common/xen/io/xdb.c b/usr/src/uts/common/xen/io/xdb.c index bf4e64bc40..3131757107 100644 --- a/usr/src/uts/common/xen/io/xdb.c +++ b/usr/src/uts/common/xen/io/xdb.c @@ -1520,7 +1520,8 @@ static struct dev_ops xdb_dev_ops = { nodev, /* devo_reset */ NULL, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -1528,7 +1529,7 @@ static struct dev_ops xdb_dev_ops = { */ static struct modldrv modldrv = { &mod_driverops, /* Type of module. */ - "vbd backend driver 1.5", /* Name of the module */ + "vbd backend driver", /* Name of the module */ &xdb_dev_ops /* driver ops */ }; diff --git a/usr/src/uts/common/xen/io/xdf.c b/usr/src/uts/common/xen/io/xdf.c index d1ca51ffc0..e97f69c7fb 100644 --- a/usr/src/uts/common/xen/io/xdf.c +++ b/usr/src/uts/common/xen/io/xdf.c @@ -164,7 +164,9 @@ struct dev_ops xdf_devops = { xdf_detach, /* devo_detach */ xdf_reset, /* devo_reset */ &xdf_cbops, /* devo_cb_ops */ - (struct bus_ops *)NULL /* devo_bus_ops */ + (struct bus_ops *)NULL, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/xen/io/xenbus_dev.c b/usr/src/uts/common/xen/io/xenbus_dev.c index 6d40860151..56c1308e7a 100644 --- a/usr/src/uts/common/xen/io/xenbus_dev.c +++ b/usr/src/uts/common/xen/io/xenbus_dev.c @@ -55,7 +55,6 @@ * IN THE SOFTWARE. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/sysmacros.h> @@ -178,12 +177,13 @@ static struct dev_ops xenbusdrv_dev_ops = { nodev, /* devo_reset */ &xenbusdrv_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "virtual bus driver v%I%", /* Name of the module. */ + "virtual bus driver", /* Name of the module. */ &xenbusdrv_dev_ops /* driver ops */ }; diff --git a/usr/src/uts/common/xen/io/xencons.c b/usr/src/uts/common/xen/io/xencons.c index 891b2f18e5..aa80442bb4 100644 --- a/usr/src/uts/common/xen/io/xencons.c +++ b/usr/src/uts/common/xen/io/xencons.c @@ -24,11 +24,10 @@ /* All Rights Reserved */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * @@ -1603,12 +1602,15 @@ struct dev_ops xencons_ops = { xenconsattach, /* devo_attach */ xenconsdetach, /* devo_detach */ nodev, /* devo_reset */ - &cb_xencons_ops, /* devo_cb_ops */ + &cb_xencons_ops, /* devo_cb_ops */ + NULL, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "virtual console driver %I%", + "virtual console driver", &xencons_ops, /* driver ops */ }; diff --git a/usr/src/uts/common/xen/io/xnbe.c b/usr/src/uts/common/xen/io/xnbe.c index 39ff373398..e887a8087b 100644 --- a/usr/src/uts/common/xen/io/xnbe.c +++ b/usr/src/uts/common/xen/io/xnbe.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Xen network backend - ioemu version. @@ -133,11 +132,12 @@ static struct dev_ops ops = { nodev, /* devo_reset */ &cb_ops, /* devo_cb_ops */ (struct bus_ops *)0, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { - &mod_driverops, "xnbe driver %I%", &ops, + &mod_driverops, "xnbe driver", &ops, }; static struct modlinkage modlinkage = { diff --git a/usr/src/uts/common/xen/io/xnbo.c b/usr/src/uts/common/xen/io/xnbo.c index 97cc06c237..790e850289 100644 --- a/usr/src/uts/common/xen/io/xnbo.c +++ b/usr/src/uts/common/xen/io/xnbo.c @@ -532,7 +532,8 @@ static struct dev_ops ops = { nodev, /* devo_reset */ &cb_ops, /* devo_cb_ops */ (struct bus_ops *)0, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/common/xen/io/xnbu.c b/usr/src/uts/common/xen/io/xnbu.c index 33c8a49b2a..f5c0ba9809 100644 --- a/usr/src/uts/common/xen/io/xnbu.c +++ b/usr/src/uts/common/xen/io/xnbu.c @@ -503,7 +503,7 @@ xnbu_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) } DDI_DEFINE_STREAM_OPS(ops, nulldev, nulldev, xnbu_attach, xnbu_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv modldrv = { &mod_driverops, "xnbu driver", &ops diff --git a/usr/src/uts/common/xen/io/xnf.c b/usr/src/uts/common/xen/io/xnf.c index 032c08db36..02920291ac 100644 --- a/usr/src/uts/common/xen/io/xnf.c +++ b/usr/src/uts/common/xen/io/xnf.c @@ -261,7 +261,7 @@ unsigned char xnf_broadcastaddr[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; int xnf_diagnose = 0; /* Patchable global for diagnostic purposes */ DDI_DEFINE_STREAM_OPS(xnf_dev_ops, nulldev, nulldev, xnf_attach, xnf_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); static struct modldrv xnf_modldrv = { &mod_driverops, diff --git a/usr/src/uts/common/xen/io/xpvd.c b/usr/src/uts/common/xen/io/xpvd.c index 8b87801c0f..019ba34904 100644 --- a/usr/src/uts/common/xen/io/xpvd.c +++ b/usr/src/uts/common/xen/io/xpvd.c @@ -158,7 +158,9 @@ struct dev_ops xpvd_ops = { xpvd_detach, /* detach */ nulldev, /* reset */ (struct cb_ops *)0, /* driver operations */ - &xpvd_bus_ops /* bus operations */ + &xpvd_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; diff --git a/usr/src/uts/i86pc/Makefile.files b/usr/src/uts/i86pc/Makefile.files index 8643e2dcf9..8c91132364 100644 --- a/usr/src/uts/i86pc/Makefile.files +++ b/usr/src/uts/i86pc/Makefile.files @@ -49,6 +49,8 @@ CORE_OBJS += \ dvma.o \ fpu_subr.o \ fakebop.o \ + fastboot.o \ + fb_swtch.o \ graphics.o \ hardclk.o \ hat_i86.o \ diff --git a/usr/src/uts/i86pc/Makefile.rules b/usr/src/uts/i86pc/Makefile.rules index 06617a1d1b..cfb49cf2c3 100644 --- a/usr/src/uts/i86pc/Makefile.rules +++ b/usr/src/uts/i86pc/Makefile.rules @@ -210,6 +210,25 @@ $(OBJS_DIR)/bios_call.o: $(UTSBASE)/i86pc/ml/bios_call_src.s @echo " .long . - bios_image" >> $(OBJS_DIR)/bios_call.s $(COMPILE.s) -o $@ $(OBJS_DIR)/bios_call.s +# +# Stuff to build fb_swtch.o for the kernel. +# +MAPFILE_FBSWTCH = $(UTSBASE)/i86pc/conf/Mapfile.fb_swtch +$(OBJS_DIR)/fb_swtch.o: $(UTSBASE)/i86pc/ml/fb_swtch_src.s + $(COMPILE.s) -o $(OBJS_DIR)/fb_swtch_src.o \ + $(UTSBASE)/i86pc/ml/fb_swtch_src.s + $(LD) -dn -M $(MAPFILE_FBSWTCH) \ + -o $(OBJS_DIR)/fb_swtch_src $(OBJS_DIR)/fb_swtch_src.o + @echo " .data" > $(OBJS_DIR)/fb_swtch.s + @echo " .globl fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s + @echo "fb_swtch_image:" >> $(OBJS_DIR)/fb_swtch.s + $(ELFEXTRACT) $(OBJS_DIR)/fb_swtch_src >> $(OBJS_DIR)/fb_swtch.s + @echo " .align 4" >> $(OBJS_DIR)/fb_swtch.s + @echo " .globl fb_swtch_size" >> $(OBJS_DIR)/fb_swtch.s + @echo "fb_swtch_size:" >> $(OBJS_DIR)/fb_swtch.s + @echo " .long . - fb_swtch_image" >> $(OBJS_DIR)/fb_swtch.s + $(COMPILE.s) -o $@ $(OBJS_DIR)/fb_swtch.s + # ridiculous contortions --- ATOMIC_SUBDIR_32 = i386 ATOMIC_SUBDIR_64 = amd64 @@ -332,6 +351,13 @@ $(LINTS_DIR)/bios_call.ln: $(UTSBASE)/i86pc/ml/bios_call_src.s @mv $(LINTS_DIR)/bios_call_src.ln $(LINTS_DIR)/bios_call.ln # +# So does fb_swtch +# +$(LINTS_DIR)/fb_swtch.ln: $(UTSBASE)/i86pc/ml/fb_swtch_src.s + @($(LHEAD) $(LINT.s) $(UTSBASE)/i86pc/ml/fb_swtch_src.s $(LTAIL)) + @mv $(LINTS_DIR)/fb_swtch_src.ln $(LINTS_DIR)/fb_swtch.ln + +# # dboot always compiles in 32-bit mode, so force lint to be 32-bit mode too. # $(DBOOT_LINTS_DIR)/%.ln: $(UTSBASE)/i86pc/dboot/%.c diff --git a/usr/src/uts/i86pc/boot/boot_gdt.s b/usr/src/uts/i86pc/boot/boot_gdt.s index efc4cd418d..181fc05c99 100644 --- a/usr/src/uts/i86pc/boot/boot_gdt.s +++ b/usr/src/uts/i86pc/boot/boot_gdt.s @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #if defined(__lint) #pragma pack(1) @@ -45,7 +44,7 @@ struct { #else /* __lint */ .align 16 - + .data /* * This must remain in sync with the entries in intel/sys/gdt.h; in * particular kmdb uses B64CODE_SEL or B32CODE_SEL in perpetuity for @@ -106,15 +105,42 @@ global_descriptor_table: .long 0 .long 0 - /* - * GDT_BGSTMP -- an entry for kmdb to use during boot - */ - .long 0 - .long 0 + /* + * GDT_BGSTMP -- an entry for kmdb to use during boot + * the fast reboot code uses this entry for memory copies, too. + */ + .value 0x0001 /* segment limit 0..15 */ + + .globl fake_cpu_gdt_base_0_15 +fake_cpu_gdt_base_0_15: + + .value 0x0000 /* segment base 0..15 */ + + .globl fake_cpu_gdt_base_16_23 +fake_cpu_gdt_base_16_23: + .byte 0x0 /* segment base 16..23 */ + .byte 0x9E /* P=1, code, exec, readable */ + .byte 0xC0 /* G=1, D=1, Limit (16..19)=0000 */ + + .globl fake_cpu_gdt_base_24_31 +fake_cpu_gdt_base_24_31: + .byte 0x0 /* segment base 24..32 */ + +/ .long 0 +/ .long 0 gdt_info: .value gdt_info - global_descriptor_table - 1 .long global_descriptor_table .long 0 /* needed for 64 bit */ +fake_cpu: + .4byte 0 + .4byte 0 + .4byte 0 + .globl fake_cpu_ptr +fake_cpu_ptr: + .4byte 0 + .skip 0x6c0, 0 + #endif /* __lint */ diff --git a/usr/src/uts/i86pc/conf/Mapfile.fb_swtch b/usr/src/uts/i86pc/conf/Mapfile.fb_swtch new file mode 100644 index 0000000000..6d3958d204 --- /dev/null +++ b/usr/src/uts/i86pc/conf/Mapfile.fb_swtch @@ -0,0 +1,29 @@ +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. +# Use is subject to license terms. +# + + +fb_swtch = LOAD ?NRWX V0x5000 P0x5000 A0x2000; +fb_swtch : ?A; diff --git a/usr/src/uts/i86pc/dboot/dboot_elfload.c b/usr/src/uts/i86pc/dboot/dboot_elfload.c index 34764ce65d..eca11ad3b3 100644 --- a/usr/src/uts/i86pc/dboot/dboot_elfload.c +++ b/usr/src/uts/i86pc/dboot/dboot_elfload.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/inttypes.h> @@ -75,10 +74,12 @@ dboot_elfload64(uintptr_t file_image) { Elf64_Ehdr *eh; Elf64_Phdr *phdr; - caddr_t allphdrs; + Elf64_Shdr *shdr; + caddr_t allphdrs, sechdrs; int i; paddr_t src; paddr_t dst; + paddr_t next_addr; elf_file = (caddr_t)file_image; @@ -103,6 +104,14 @@ dboot_elfload64(uintptr_t file_image) eh->e_phnum); /* + * Get the section headers. + */ + sechdrs = PGETBYTES(eh->e_shoff); + if (sechdrs == NULL) + dboot_panic("Failed to get section headers e_shnum = %d", + eh->e_shnum); + + /* * Next look for interesting program headers. */ for (i = 0; i < eh->e_phnum; i++) { @@ -159,6 +168,23 @@ dboot_elfload64(uintptr_t file_image) (ulong_t)dst, (ulong_t)phdr->p_vaddr); (void) memcpy((void *)(uintptr_t)dst, (void *)(uintptr_t)src, (size_t)phdr->p_filesz); + + next_addr = dst + phdr->p_filesz; + } + + + /* + * Next look for bss + */ + for (i = 0; i < eh->e_shnum; i++) { + shdr = (Elf64_Shdr *)(sechdrs + eh->e_shentsize * i); + + /* zero out bss */ + if (shdr->sh_type == SHT_NOBITS) { + (void) memset((void *)(uintptr_t)next_addr, 0, + shdr->sh_size); + break; + } } /* diff --git a/usr/src/uts/i86pc/dboot/dboot_grub.s b/usr/src/uts/i86pc/dboot/dboot_grub.s index f05f836484..14d28ac943 100644 --- a/usr/src/uts/i86pc/dboot/dboot_grub.s +++ b/usr/src/uts/i86pc/dboot/dboot_grub.s @@ -1,3 +1,4 @@ + /* * CDDL HEADER START * @@ -20,12 +21,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #if defined(__lint) int silence_lint_warnings = 0; @@ -74,7 +73,7 @@ mb_header: * At entry we are in protected mode, 32 bit execution, paging and * interrupts are disabled. * - * EAX == 0x2BADB002 + * EAX == MB_BOOTLOADER_MAGIC * EBX points to multiboot information * segment registers all have segments with base 0, limit == 0xffffffff */ @@ -110,6 +109,7 @@ newgdt: */ call startup_kernel + /* * On amd64 we'll want the stack pointer to be 16 byte aligned. */ diff --git a/usr/src/uts/i86pc/dboot/dboot_startkern.c b/usr/src/uts/i86pc/dboot/dboot_startkern.c index ebcb642847..1302d54baa 100644 --- a/usr/src/uts/i86pc/dboot/dboot_startkern.c +++ b/usr/src/uts/i86pc/dboot/dboot_startkern.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/machparam.h> @@ -365,10 +364,93 @@ map_pte(paddr_t table, uint_t index) return ((x86pte_t *)(uintptr_t)(table + index * pte_size)); } +/* + * dump out the contents of page tables... + */ +static void +dump_tables(void) +{ + uint_t save_index[4]; /* for recursion */ + char *save_table[4]; /* for recursion */ + uint_t l; + uint64_t va; + uint64_t pgsize; + int index; + int i; + x86pte_t pteval; + char *table; + static char *tablist = "\t\t\t"; + char *tabs = tablist + 3 - top_level; + uint_t pa, pa1; #if !defined(__xpv) #define maddr_t paddr_t #endif /* !__xpv */ + dboot_printf("Finished pagetables:\n"); + table = (char *)(uintptr_t)top_page_table; + l = top_level; + va = 0; + for (index = 0; index < ptes_per_table; ++index) { + pgsize = 1ull << shift_amt[l]; + if (pae_support) + pteval = ((x86pte_t *)table)[index]; + else + pteval = ((x86pte32_t *)table)[index]; + if (pteval == 0) + goto next_entry; + + dboot_printf("%s %p[0x%x] = %" PRIx64 ", va=%" PRIx64, + tabs + l, table, index, (uint64_t)pteval, va); + pa = ma_to_pa(pteval & MMU_PAGEMASK); + dboot_printf(" physaddr=%x\n", pa); + + /* + * Don't try to walk hypervisor private pagetables + */ + if ((l > 1 || (l == 1 && (pteval & PT_PAGESIZE) == 0))) { + save_table[l] = table; + save_index[l] = index; + --l; + index = -1; + table = (char *)(uintptr_t) + ma_to_pa(pteval & MMU_PAGEMASK); + goto recursion; + } + + /* + * shorten dump for consecutive mappings + */ + for (i = 1; index + i < ptes_per_table; ++i) { + if (pae_support) + pteval = ((x86pte_t *)table)[index + i]; + else + pteval = ((x86pte32_t *)table)[index + i]; + if (pteval == 0) + break; + pa1 = ma_to_pa(pteval & MMU_PAGEMASK); + if (pa1 != pa + i * pgsize) + break; + } + if (i > 2) { + dboot_printf("%s...\n", tabs + l); + va += pgsize * (i - 2); + index += i - 2; + } +next_entry: + va += pgsize; + if (l == 3 && index == 256) /* VA hole */ + va = 0xffff800000000000ull; +recursion: + ; + } + if (l < top_level) { + ++l; + index = save_index[l]; + table = save_table[l]; + goto recursion; + } +} + /* * Add a mapping for the machine page at the given virtual address. */ @@ -884,7 +966,6 @@ build_page_tables(void) #if !defined(__xpv) uint32_t i; uint64_t end; - uint64_t next_mapping; #endif /* __xpv */ /* @@ -959,15 +1040,8 @@ build_page_tables(void) } #if !defined(__xpv) - /* - * Skip memory between 1M and _start, this acts as a reserve - * of memory usable for DMA. - */ - next_mapping = (uintptr_t)_start & MMU_PAGEMASK; for (i = 0; i < memlists_used; ++i) { start = memlists[i].addr; - if (start < next_mapping) - start = next_mapping; end = start + memlists[i].size; @@ -1318,5 +1392,8 @@ startup_kernel(void) bi->bi_kseg_size = FOUR_MEG; DBG(bi->bi_kseg_size); + if (prom_debug) + dump_tables(); + DBG_MSG("\n\n*** DBOOT DONE -- back to asm to jump to kernel\n\n"); } diff --git a/usr/src/uts/i86pc/i86hvm/io/pv_cmdk.c b/usr/src/uts/i86pc/i86hvm/io/pv_cmdk.c index 15e500ffcc..efa30c35e1 100644 --- a/usr/src/uts/i86pc/i86hvm/io/pv_cmdk.c +++ b/usr/src/uts/i86pc/i86hvm/io/pv_cmdk.c @@ -1463,7 +1463,9 @@ struct dev_ops pv_cmdk_ops = { pv_cmdkdetach, /* detach */ nodev, /* reset */ &pv_cmdk_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* diff --git a/usr/src/uts/i86pc/i86hvm/io/pv_rtls.c b/usr/src/uts/i86pc/i86hvm/io/pv_rtls.c index 1ee3184523..8f97b77e43 100644 --- a/usr/src/uts/i86pc/i86hvm/io/pv_rtls.c +++ b/usr/src/uts/i86pc/i86hvm/io/pv_rtls.c @@ -42,7 +42,9 @@ struct dev_ops pv_rtls_ops = { NULL, nodev, NULL, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/i86pc/i86hvm/io/xpv/xpv_support.c b/usr/src/uts/i86pc/i86hvm/io/xpv/xpv_support.c index bb1e4ee2b6..5ac81c4d6c 100644 --- a/usr/src/uts/i86pc/i86hvm/io/xpv/xpv_support.c +++ b/usr/src/uts/i86pc/i86hvm/io/xpv/xpv_support.c @@ -131,7 +131,8 @@ static struct dev_ops xpv_dv_ops = { nodev, /* reset */ &xpv_cb_ops, NULL, /* struct bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/i86pc/io/acpi_drv/acpi_drv.c b/usr/src/uts/i86pc/io/acpi_drv/acpi_drv.c index 8928cbe808..050b601287 100644 --- a/usr/src/uts/i86pc/io/acpi_drv/acpi_drv.c +++ b/usr/src/uts/i86pc/io/acpi_drv/acpi_drv.c @@ -413,7 +413,8 @@ static struct dev_ops acpi_drv_dev_ops = { nodev, /* reset */ &acpi_drv_cb_ops, NULL, /* no bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv1 = { diff --git a/usr/src/uts/i86pc/io/ioat/ioat.c b/usr/src/uts/i86pc/io/ioat/ioat.c index 403f805355..5c186a3db2 100644 --- a/usr/src/uts/i86pc/io/ioat/ioat.c +++ b/usr/src/uts/i86pc/io/ioat/ioat.c @@ -45,6 +45,7 @@ static int ioat_attach(dev_info_t *devi, ddi_attach_cmd_t cmd); static int ioat_detach(dev_info_t *devi, ddi_detach_cmd_t cmd); static int ioat_getinfo(dev_info_t *dip, ddi_info_cmd_t cmd, void *arg, void **result); +static int ioat_quiesce(dev_info_t *dip); static struct cb_ops ioat_cb_ops = { ioat_open, /* cb_open */ @@ -76,7 +77,8 @@ static struct dev_ops ioat_dev_ops = { nodev, /* devo_reset */ &ioat_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* devo_power */ + ioat_quiesce, /* devo_quiesce */ }; static struct modldrv ioat_modldrv = { @@ -671,3 +673,21 @@ ioat_isr(caddr_t parm) return (r); } + +static int +ioat_quiesce(dev_info_t *dip) +{ + ioat_state_t *state; + int instance; + + instance = ddi_get_instance(dip); + state = ddi_get_soft_state(ioat_statep, instance); + if (state == NULL) { + return (DDI_FAILURE); + } + + ioat_intr_disable(state); + ioat_channel_quiesce(state); + + return (DDI_SUCCESS); +} diff --git a/usr/src/uts/i86pc/io/ioat/ioat_chan.c b/usr/src/uts/i86pc/io/ioat/ioat_chan.c index 8615f9a7ad..619518e0ef 100644 --- a/usr/src/uts/i86pc/io/ioat/ioat_chan.c +++ b/usr/src/uts/i86pc/io/ioat/ioat_chan.c @@ -24,8 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/errno.h> #include <sys/types.h> #include <sys/conf.h> @@ -364,6 +362,40 @@ ioat_channel_resume(ioat_state_t *state) return (DDI_SUCCESS); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +void +ioat_channel_quiesce(ioat_state_t *state) +{ + int i; + + /* + * Walk through all channels and quiesce + */ + for (i = 0; i < state->is_num_channels; i++) { + + ioat_channel_t channel = state->is_channel + i; + + if (!channel->ic_inuse) + continue; + + /* disable the interrupts */ + ddi_put16(state->is_reg_handle, + (uint16_t *)&channel->ic_regs[IOAT_CHAN_CTL], + 0x0); + + ioat_channel_reset(channel); + } +} + /* * ioat_channel_free() diff --git a/usr/src/uts/i86pc/io/isa.c b/usr/src/uts/i86pc/io/isa.c index 1e0bd87e46..9cde5f48a8 100644 --- a/usr/src/uts/i86pc/io/isa.c +++ b/usr/src/uts/i86pc/io/isa.c @@ -158,8 +158,9 @@ struct dev_ops isa_ops = { nodev, /* detach */ nodev, /* reset */ (struct cb_ops *)0, /* driver operations */ - &isa_bus_ops /* bus operations */ - + &isa_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/i86pc/io/mp_platform_common.c b/usr/src/uts/i86pc/io/mp_platform_common.c index f4cc4a1ade..5c06a5ae95 100644 --- a/usr/src/uts/i86pc/io/mp_platform_common.c +++ b/usr/src/uts/i86pc/io/mp_platform_common.c @@ -1292,7 +1292,7 @@ ioapic_init_intr(int mask_apic) /* Bits 23-16 define the maximum redirection entries */ intin_max = (ioapic_read(ioapic_ix, APIC_VERS_CMD) >> 16) & 0xff; - for (i = 0; i < intin_max; i++) + for (i = 0; i <= intin_max; i++) ioapic_write(ioapic_ix, APIC_RDT_CMD + 2 * i, AV_MASK); } @@ -3429,7 +3429,7 @@ apic_intr_redistribute() max_busy = 0; min_busy_irq = max_busy_irq = NULL; i = apic_min_device_irq; - for (; i < apic_max_device_irq; i++) { + for (; i <= apic_max_device_irq; i++) { apic_irq_t *irq_ptr; /* Change to linked list per CPU ? */ if ((irq_ptr = apic_irq_table[i]) == NULL) @@ -3551,7 +3551,7 @@ apic_cleanup_busy() apic_cpus[i].aci_busy = 0; } - for (i = apic_min_device_irq; i < apic_max_device_irq; i++) { + for (i = apic_min_device_irq; i <= apic_max_device_irq; i++) { if ((irq_ptr = apic_irq_table[i]) != NULL) irq_ptr->airq_busy = 0; } @@ -3983,7 +3983,7 @@ ioapic_disable_redirection() intin_max = (ioapic_read(ioapic_ix, APIC_VERS_CMD) >> 16) & 0xff; - for (intin_ix = 0; intin_ix < intin_max; intin_ix++) { + for (intin_ix = 0; intin_ix <= intin_max; intin_ix++) { /* * The assumption here is that this is safe, even for * systems with IOAPICs that suffer from the hardware diff --git a/usr/src/uts/i86pc/io/pci/pci.c b/usr/src/uts/i86pc/io/pci/pci.c index cdb0daffa9..0cacdac6b4 100644 --- a/usr/src/uts/i86pc/io/pci/pci.c +++ b/usr/src/uts/i86pc/io/pci/pci.c @@ -139,7 +139,9 @@ struct dev_ops pci_ops = { pci_detach, /* detach */ nulldev, /* reset */ &pci_cb_ops, /* driver operations */ - &pci_bus_ops /* bus operations */ + &pci_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed /* quiesce */ }; /* diff --git a/usr/src/uts/i86pc/io/pciex/npe.c b/usr/src/uts/i86pc/io/pciex/npe.c index 6b300048b0..abd3d2d54c 100644 --- a/usr/src/uts/i86pc/io/pciex/npe.c +++ b/usr/src/uts/i86pc/io/pciex/npe.c @@ -151,7 +151,9 @@ struct dev_ops npe_ops = { npe_detach, /* detach */ nulldev, /* reset */ &npe_cb_ops, /* driver operations */ - &npe_bus_ops /* bus operations */ + &npe_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -329,7 +331,6 @@ npe_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) } } - static int npe_bus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, off_t offset, off_t len, caddr_t *vaddrp) diff --git a/usr/src/uts/i86pc/io/pcplusmp/apic.c b/usr/src/uts/i86pc/io/pcplusmp/apic.c index 15f6673f09..9930c33f2a 100644 --- a/usr/src/uts/i86pc/io/pcplusmp/apic.c +++ b/usr/src/uts/i86pc/io/pcplusmp/apic.c @@ -1604,10 +1604,16 @@ apic_shutdown(int cmd, int fcn) * Switch system back into Legacy-Mode if using ACPI and * not powering-off. Some BIOSes need to remain in ACPI-mode * for power-off to succeed (Dell Dimension 4600) + * Do not disable ACPI while doing fastreboot */ - if (apic_enable_acpi && (fcn != AD_POWEROFF)) + if (apic_enable_acpi && fcn != AD_POWEROFF && fcn != AD_FASTREBOOT) (void) AcpiDisable(); + if (fcn == AD_FASTREBOOT) { + apicadr[APIC_INT_CMD1] = AV_ASSERT | AV_RESET | + AV_SH_ALL_EXCSELF; + } + /* remainder of function is for shutdown+poweroff case only */ if (fcn != AD_POWEROFF) return; diff --git a/usr/src/uts/i86pc/io/ppm/acpippm.c b/usr/src/uts/i86pc/io/ppm/acpippm.c index 53ab7bcabc..788f5f247b 100644 --- a/usr/src/uts/i86pc/io/ppm/acpippm.c +++ b/usr/src/uts/i86pc/io/ppm/acpippm.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -98,14 +97,15 @@ static struct dev_ops appm_ops = { nodev, /* reset */ &appm_cbops, /* cb_ops */ NULL, /* bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "ACPI ppm driver v1.9", + "ACPI ppm driver", &appm_ops, }; diff --git a/usr/src/uts/i86pc/io/rootnex.c b/usr/src/uts/i86pc/io/rootnex.c index 6e523fd83f..e3a09c6631 100644 --- a/usr/src/uts/i86pc/io/rootnex.c +++ b/usr/src/uts/i86pc/io/rootnex.c @@ -282,7 +282,9 @@ static struct dev_ops rootnex_ops = { rootnex_detach, nulldev, &rootnex_cb_ops, - &rootnex_bus_ops + &rootnex_bus_ops, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv rootnex_modldrv = { diff --git a/usr/src/uts/i86pc/io/tzmon/tzmon.c b/usr/src/uts/i86pc/io/tzmon/tzmon.c index 97ec365c6b..cb72ea2133 100644 --- a/usr/src/uts/i86pc/io/tzmon/tzmon.c +++ b/usr/src/uts/i86pc/io/tzmon/tzmon.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -28,7 +28,6 @@ * Solaris x86 ACPI ThermalZone Monitor */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/errno.h> #include <sys/conf.h> @@ -122,6 +121,7 @@ static struct dev_ops tzmon_ops = { &tzmon_cb_ops, /* devo_cb_ops */ (struct bus_ops *)0, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; diff --git a/usr/src/uts/i86pc/io/xsvc/xsvc.c b/usr/src/uts/i86pc/io/xsvc/xsvc.c index a4ed595b8e..d21d48e646 100644 --- a/usr/src/uts/i86pc/io/xsvc/xsvc.c +++ b/usr/src/uts/i86pc/io/xsvc/xsvc.c @@ -93,7 +93,8 @@ static struct dev_ops xsvc_dev_ops = { nodev, /* devo_reset */ &xsvc_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv xsvc_modldrv = { diff --git a/usr/src/uts/i86pc/ml/amd64.il b/usr/src/uts/i86pc/ml/amd64.il index 2da065074f..03bdcf0b0d 100644 --- a/usr/src/uts/i86pc/ml/amd64.il +++ b/usr/src/uts/i86pc/ml/amd64.il @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" / / Inline functions specific to the i86pc kernel running on bare metal. @@ -46,6 +45,13 @@ .end / +/ set cr3 register with new value +/ + .inline setcr3,0 + movq %rdi, %cr3 + .end + +/ / return value of cr8 register / .inline getcr8,0 @@ -171,4 +177,3 @@ xorl %eax, %eax bsrw %di, %ax .end - diff --git a/usr/src/uts/i86pc/ml/fb_swtch_src.s b/usr/src/uts/i86pc/ml/fb_swtch_src.s new file mode 100644 index 0000000000..d50711e04a --- /dev/null +++ b/usr/src/uts/i86pc/ml/fb_swtch_src.s @@ -0,0 +1,359 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + + +#if defined(__lint) + +int fb_swtch_silence_lint = 0; + +#else + +#include <sys/asm_linkage.h> +#include <sys/segments.h> +#include <sys/controlregs.h> +#include <sys/machparam.h> +#include <sys/multiboot.h> +#include <sys/fastboot.h> +#include "assym.h" + +/* + * This code is to switch from 64-bit or 32-bit to protected mode. + */ + +/* + * For debugging with LEDs + */ +#define FB_OUTB_ASM(val) \ + movb val, %al; \ + outb $0x80; + + +#define DISABLE_PAGING \ + movl %cr0, %eax ;\ + btrl $31, %eax /* clear PG bit */ ;\ + movl %eax, %cr0 + + + .globl _start +_start: + + /* Disable interrupts */ + cli + +#if defined(__amd64) + /* Switch to a low memory stack */ + movq $_start, %rsp + addq $FASTBOOT_STACK_OFFSET, %rsp + + /* + * Copy from old stack to new stack + * If the content before fi_valid gets bigger than 0x200 bytes, + * the reserved stack size above will need to be changed. + */ + movq %rdi, %rsi /* source from old stack */ + movq %rsp, %rdi /* destination on the new stack */ + movq $FI_VALID, %rcx /* size to copy */ + rep + smovb + +#elif defined(__i386) + movl 0x4(%esp), %esi /* address of fastboot info struct */ + + /* Switch to a low memory stack */ + movl $_start, %esp + addl $FASTBOOT_STACK_OFFSET, %esp + + /* Copy struct to stack */ + movl %esp, %edi /* destination on the new stack */ + movl $FI_VALID, %ecx /* size to copy */ + rep + smovb + +#endif + +#if defined(__amd64) + + xorl %eax, %eax + xorl %edx, %edx + + movl $MSR_AMD_FSBASE, %ecx + wrmsr + + movl $MSR_AMD_GSBASE, %ecx + wrmsr + + movl $MSR_AMD_KGSBASE, %ecx + wrmsr + +#endif + /* + * zero out all the registers to make sure they're 16 bit clean + */ +#if defined(__amd64) + xorq %r8, %r8 + xorq %r9, %r9 + xorq %r10, %r10 + xorq %r11, %r11 + xorq %r12, %r12 + xorq %r13, %r13 + xorq %r14, %r14 + xorq %r15, %r15 +#endif + xorl %eax, %eax + xorl %ebx, %ebx + xorl %ecx, %ecx + xorl %edx, %edx + xorl %ebp, %ebp + +#if defined(__amd64) + /* + * Load our own GDT + */ + lgdt gdt_info +#endif + /* + * Load our own IDT + */ + lidt idt_info + +#if defined(__amd64) + /* + * Shut down 64 bit mode. First get into compatiblity mode. + */ + movq %rsp, %rax + pushq $B32DATA_SEL + pushq %rax + pushf + pushq $B32CODE_SEL + pushq $1f + iretq + + .code32 +1: + movl $B32DATA_SEL, %eax + movw %ax, %ss + movw %ax, %ds + movw %ax, %es + movw %ax, %fs + movw %ax, %gs + + /* + * Disable long mode by: + * - shutting down paging (bit 31 of cr0). This will flush the + * TLBs. + * - disabling LME (long made enable) in EFER (extended feature reg) + */ +#endif + DISABLE_PAGING /* clobbers %eax */ + +#if defined(__amd64) + ljmp $B32CODE_SEL, $1f +1: +#endif + + /* + * Clear PGE, PAE and PSE flags as dboot expects them to be + * cleared. + */ + movl %cr4, %eax + andl $_BITNOT(CR4_PGE | CR4_PAE | CR4_PSE), %eax + movl %eax, %cr4 + +#if defined(__amd64) + movl $MSR_AMD_EFER, %ecx /* Extended Feature Enable */ + rdmsr + btcl $8, %eax /* bit 8 Long Mode Enable bit */ + wrmsr +#endif + + /* + * If fi_has_pae is set, re-enable paging with PAE. + */ + leal FI_FILES(%esp), %ebx /* offset to the files */ + movl FI_HAS_PAE(%esp), %edi /* need to enable paging or not */ + cmpl $0, %edi + je paging_on /* no need to enable paging */ + + movl FI_LAST_TABLE_PA(%esp), %esi /* page table PA */ + + /* + * Turn on PAE + */ + movl %cr4, %eax + orl $CR4_PAE, %eax + movl %eax, %cr4 + + /* + * Load top pagetable base address into cr3 + */ + movl FI_PAGETABLE_PA(%esp), %eax + movl %eax, %cr3 + + movl %cr0, %eax + orl $_CONST(CR0_PG | CR0_WP | CR0_AM), %eax + andl $_BITNOT(CR0_NW | CR0_CD), %eax + movl %eax, %cr0 + jmp paging_on +paging_on: + + /* copy unix to final destination */ + leal _MUL(FASTBOOT_UNIX, FI_FILES_INCR)(%ebx), %edx + call map_copy + + /* copy boot archive to final destination */ + leal _MUL(FASTBOOT_BOOTARCHIVE, FI_FILES_INCR)(%ebx), %edx + call map_copy + + /* Disable paging one more time */ + DISABLE_PAGING + + /* Copy sections if there are any */ + leal _MUL(FASTBOOT_UNIX, FI_FILES_INCR)(%ebx), %edx + movl FB_SECTCNT(%edx), %eax + cmpl $0, %eax + je 1f + call copy_sections +1: + + /* Whatever flags we turn on we need to turn off */ + movl %cr4, %eax + andl $_BITNOT(CR4_PAE), %eax + movl %eax, %cr4 + +dboot_jump: + /* Jump to dboot */ + movl $DBOOT_ENTRY_ADDRESS, %edi + movl FI_NEW_MBI_PA(%esp), %ebx + movl $MB_BOOTLOADER_MAGIC, %eax + jmp *%edi + + ENTRY_NP(copy_sections) + /* + * On entry + * %edx points to the fboot_file_t + * %eax contains the number of sections + */ + pushl %ebp + pushl %ebx + pushl %esi + pushl %edi + + leal FB_SECTIONS(%edx), %ebx + movl %eax, %ebp + xorl %eax, %eax +1: + dec %ebp + movl FB_DEST_PA(%edx), %esi + addl FB_SEC_OFFSET(%ebx), %esi + movl FB_SEC_PADDR(%ebx), %edi + movl FB_SEC_SIZE(%ebx), %ecx + rep + movsb + /* Zero BSS */ + movl FB_SEC_BSS_SIZE(%ebx), %ecx + rep + stosb + + cmpl $0, %ebp + je 2f + addl $FB_SECTIONS_INCR, %ebx + jmp 1b +2: + popl %edi + popl %esi + popl %ebx + popl %ebp + ret + SET_SIZE(copy_sections) + + ENTRY_NP(map_copy) + /* + * On entry + * %edx points to the fboot_file_t + * %edi has FB_HAS_PAE(%esp) + * %esi has FI_LAST_TABLE_PA(%esp) + */ + pushl %eax + pushl %ebx + pushl %ecx + pushl %edx + pushl %ebp + pushl %esi + pushl %edi + movl %esi, %ebp /* Save page table PA in %ebp */ + + movl FB_PTE_LIST_PA(%edx), %eax /* PA list of the source */ + movl FB_DEST_PA(%edx), %ebx /* PA of the destination */ + +loop: + movl (%eax), %esi /* Are we done? */ + cmpl $FASTBOOT_TERMINATE, %esi + je done + + cmpl $1, (%esp) /* Is paging on? */ + jne no_paging /* Nope */ + + movl %ebp, %edi /* Page table PA */ + movl %esi, (%edi) /* Program low 32-bit */ + movl 4(%eax), %esi /* high bits of the table */ + movl %esi, 4(%edi) /* Program high 32-bit */ + movl %cr3, %esi /* Reload cr3 */ + movl %esi, %cr3 + movl FB_VA(%edx), %esi /* Load from VA */ + jmp do_copy +no_paging: + andl $_BITNOT(MMU_PAGEOFFSET), %esi /* clear lower 12-bit */ +do_copy: + movl %ebx, %edi + movl $PAGESIZE, %ecx + shrl $2, %ecx /* 4-byte at a time */ + rep + smovl + addl $8, %eax /* We built the PTEs as 8-byte entries */ + addl $PAGESIZE, %ebx + jmp loop +done: + popl %edi + popl %esi + popl %ebp + popl %edx + popl %ecx + popl %ebx + popl %eax + ret + SET_SIZE(map_copy) + + + +idt_info: + .value 0x3ff + .quad 0 + +/* + * We need to trampoline thru a gdt we have in low memory. + */ +#include "../boot/boot_gdt.s" +#endif /* __lint */ diff --git a/usr/src/uts/i86pc/ml/locore.s b/usr/src/uts/i86pc/ml/locore.s index 00023e048f..b738764448 100644 --- a/usr/src/uts/i86pc/ml/locore.s +++ b/usr/src/uts/i86pc/ml/locore.s @@ -31,7 +31,6 @@ /* Copyright (c) 1987, 1988 Microsoft Corporation */ /* All Rights Reserved */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/asm_linkage.h> #include <sys/asm_misc.h> @@ -1487,6 +1486,7 @@ _sys_rtt(void) ENTRY_NP(lwp_rtt_initial) movq %gs:CPU_THREAD, %r15 movq T_STACK(%r15), %rsp /* switch to the thread stack */ + movq %rsp, %rbp call __dtrace_probe___proc_start jmp _lwp_rtt @@ -1500,6 +1500,7 @@ _sys_rtt(void) movq %gs:CPU_THREAD, %r15 movq T_STACK(%r15), %rsp /* switch to the thread stack */ + movq %rsp, %rbp _lwp_rtt: call __dtrace_probe___proc_lwp__start movq %gs:CPU_LWP, %r14 @@ -1624,12 +1625,14 @@ _sys_rtt_end: ENTRY_NP(lwp_rtt_initial) movl %gs:CPU_THREAD, %eax movl T_STACK(%eax), %esp /* switch to the thread stack */ + movl %esp, %ebp call __dtrace_probe___proc_start jmp _lwp_rtt ENTRY_NP(lwp_rtt) movl %gs:CPU_THREAD, %eax movl T_STACK(%eax), %esp /* switch to the thread stack */ + movl %esp, %ebp _lwp_rtt: call __dtrace_probe___proc_lwp__start diff --git a/usr/src/uts/i86pc/ml/offsets.in b/usr/src/uts/i86pc/ml/offsets.in index eff25dbcc2..53419a46b9 100644 --- a/usr/src/uts/i86pc/ml/offsets.in +++ b/usr/src/uts/i86pc/ml/offsets.in @@ -1,5 +1,5 @@ \ -\ Copyright 2007 Sun Microsystems, Inc. All rights reserved. +\ Copyright 2008 Sun Microsystems, Inc. All rights reserved. \ Use is subject to license terms. \ \ CDDL HEADER START @@ -22,7 +22,6 @@ \ CDDL HEADER END \ -#pragma ident "%Z%%M% %I% %E% SMI" \ \ offsets.in: input file to produce assym.h using the ctfstabs program @@ -60,6 +59,7 @@ #include <sys/lgrp.h> #include <sys/dtrace.h> #include <sys/brand.h> +#include <sys/fastboot.h> #include <sys/cpr_wakecode.h> proc PROCSIZE @@ -386,6 +386,31 @@ copyops brand b_machops +fastboot_file_t + fb_va + fb_pte_list_va + fb_pte_list_pa + fb_dest_pa + fb_size + fb_next_pa + fb_sections + fb_sectcnt + +fastboot_section_t + fb_sec_offset + fb_sec_paddr + fb_sec_size + fb_sec_bss_size + +fastboot_info_t + fi_files + fi_has_pae + fi_pagetable_va + fi_pagetable_pa + fi_last_table_pa + fi_new_mbi_pa + fi_valid + zone zone_brand_data diff --git a/usr/src/uts/i86pc/os/cpuid.c b/usr/src/uts/i86pc/os/cpuid.c index 001fccdc7a..3c9ba0b76d 100644 --- a/usr/src/uts/i86pc/os/cpuid.c +++ b/usr/src/uts/i86pc/os/cpuid.c @@ -883,6 +883,14 @@ cpuid_pass1(cpu_t *cpu) if (cp->cp_edx & CPUID_AMD_EDX_NX) feature |= X86_NX; + /* + * Regardless whether or not we boot 64-bit, + * we should have a way to identify whether + * the CPU is capable of running 64-bit. + */ + if (cp->cp_edx & CPUID_AMD_EDX_LM) + feature |= X86_64; + #if defined(__amd64) /* 1 GB large page - enable only for 64 bit kernel */ if (cp->cp_edx & CPUID_AMD_EDX_1GPG) diff --git a/usr/src/uts/i86pc/os/fakebop.c b/usr/src/uts/i86pc/os/fakebop.c index bfe3c64238..62d0dca917 100644 --- a/usr/src/uts/i86pc/os/fakebop.c +++ b/usr/src/uts/i86pc/os/fakebop.c @@ -51,6 +51,7 @@ #include <sys/privregs.h> #include <sys/sysmacros.h> #include <sys/ctype.h> +#include <sys/fastboot.h> #ifdef __xpv #include <sys/hypervisor.h> #include <net/if.h> @@ -120,6 +121,27 @@ static void build_firmware_properties(void); static int early_allocation = 1; +#ifdef __xpv +int fastreboot_capable = 0; +int force_fastreboot = 0; +int post_fastreboot = 0; +#else +int fastreboot_capable = 1; +int force_fastreboot = 0; +int post_fastreboot = 0; +#endif + +/* + * Information saved from current boot for fast reboot. + * If the information size exceeds what we have allocated, fast reboot + * will not be supported. + */ +multiboot_info_t saved_mbi; +mb_memory_map_t saved_mmap[FASTBOOT_SAVED_MMAP_COUNT]; +struct sol_netinfo saved_drives[FASTBOOT_SAVED_DRIVES_COUNT]; +char saved_cmdline[FASTBOOT_SAVED_CMDLINE_LEN]; +int saved_cmdline_len = 0; + /* * Pointers to where System Resource Affinity Table (SRAT) and * System Locality Information Table (SLIT) are mapped into virtual memory @@ -780,6 +802,9 @@ do_bsys_doint(bootops_t *bop, int intnum, struct bop_regs *rp) br.es = rp->es; DBG_MSG("Doing BIOS call..."); + DBG(br.ax); + DBG(br.bx); + DBG(br.dx); rp->eflags = bios_func(intnum, &br); DBG_MSG("done\n"); @@ -1047,6 +1072,20 @@ build_boot_properties(void) boot_args[0] = 0; boot_arg_len = 0; +#ifndef __xpv + saved_cmdline_len = strlen(xbootp->bi_cmdline) + 1; + if (saved_cmdline_len > FASTBOOT_SAVED_CMDLINE_LEN) { + DBG(saved_cmdline_len); + DBG_MSG("Command line too long: clearing fastreboot_capable\n"); + fastreboot_capable = 0; + } else { + bcopy((void *)(xbootp->bi_cmdline), (void *)saved_cmdline, + saved_cmdline_len); + saved_cmdline[saved_cmdline_len - 1] = '\0'; + } +#endif + + #ifdef __xpv /* * Xen puts a lot of device information in front of the kernel name @@ -1235,6 +1274,26 @@ build_boot_properties(void) */ netboot = 0; mbi = xbootp->bi_mb_info; + bcopy(mbi, &saved_mbi, sizeof (multiboot_info_t)); + if (mbi->mmap_length > sizeof (saved_mmap)) { + DBG_MSG("mbi->mmap_length too big: clearing " + "fastreboot_capable\n"); + fastreboot_capable = 0; + } else { + bcopy((void *)(uintptr_t)mbi->mmap_addr, (void *)saved_mmap, + mbi->mmap_length); + } + + if (mbi->drives_length > sizeof (saved_drives)) { + DBG(mbi->drives_length); + DBG_MSG("mbi->drives_length too big: clearing " + "fastreboot_capable\n"); + fastreboot_capable = 0; + } else { + bcopy((void *)(uintptr_t)mbi->drives_addr, (void *)saved_drives, + mbi->drives_length); + } + if (mbi != NULL && mbi->flags & 0x2) { boot_device = mbi->boot_device >> 24; if (boot_device == 0x20) @@ -1542,6 +1601,12 @@ _start(struct xboot_info *xbp) bcons_init((void *)xbootp->bi_cmdline); have_console = 1; + if (*((uint32_t *)(FASTBOOT_SWTCH_PA + FASTBOOT_STACK_OFFSET)) == + FASTBOOT_MAGIC) { + post_fastreboot = 1; + *((uint32_t *)(FASTBOOT_SWTCH_PA + FASTBOOT_STACK_OFFSET)) = 0; + } + /* * enable debugging */ diff --git a/usr/src/uts/i86pc/os/fastboot.c b/usr/src/uts/i86pc/os/fastboot.c new file mode 100644 index 0000000000..17fffdbc8c --- /dev/null +++ b/usr/src/uts/i86pc/os/fastboot.c @@ -0,0 +1,798 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + + +#include <sys/types.h> +#include <sys/param.h> +#include <sys/segments.h> +#include <sys/sysmacros.h> +#include <sys/vm.h> + +#include <sys/proc.h> +#include <sys/buf.h> +#include <sys/kmem.h> + +#include <sys/reboot.h> +#include <sys/uadmin.h> + +#include <sys/cred.h> +#include <sys/vnode.h> +#include <sys/file.h> + +#include <sys/cmn_err.h> +#include <sys/dumphdr.h> +#include <sys/bootconf.h> +#include <sys/ddidmareq.h> +#include <sys/varargs.h> +#include <sys/promif.h> +#include <sys/modctl.h> + +#include <vm/hat.h> +#include <vm/as.h> +#include <vm/page.h> +#include <vm/seg.h> +#include <vm/hat_i86.h> +#include <sys/vm_machparam.h> +#include <sys/archsystm.h> +#include <sys/machsystm.h> +#include <sys/mman.h> +#include <sys/x86_archext.h> + +#include <sys/fastboot.h> +#include <sys/machelf.h> +#include <sys/kobj.h> +#include <sys/multiboot.h> + +fastboot_info_t newkernel = { 0 }; +static char fastboot_filename[2][OBP_MAXPATHLEN] = { { 0 }, { 0 }}; +static x86pte_t ptp_bits = PT_VALID | PT_REF | PT_USER | PT_WRITABLE; +static x86pte_t pte_bits = + PT_VALID | PT_REF | PT_MOD | PT_NOCONSIST | PT_WRITABLE; +static uint_t fastboot_shift_amt_pae[] = {12, 21, 30, 39}; + + +int fastboot_debug = 0; +int fastboot_contig = 0; + +/* + * Fake starting va for new kernel and boot archive. + */ +static uintptr_t fake_va = FASTBOOT_FAKE_VA; + +/* + * Below 1G for page tables as we are using 2G as the fake virtual address for + * the new kernel and boot archive. + */ +static ddi_dma_attr_t fastboot_below_1G_dma_attr = { + DMA_ATTR_V0, + 0x0000000008000000ULL, /* dma_attr_addr_lo: 128MB */ + 0x000000003FFFFFFFULL, /* dma_attr_addr_hi: 1G */ + 0x00000000FFFFFFFFULL, /* dma_attr_count_max */ + 0x0000000000001000ULL, /* dma_attr_align: 4KB */ + 1, /* dma_attr_burstsize */ + 1, /* dma_attr_minxfer */ + 0x00000000FFFFFFFFULL, /* dma_attr_maxxfer */ + 0x00000000FFFFFFFFULL, /* dma_attr_seg */ + 1, /* dma_attr_sgllen */ + 0x1000ULL, /* dma_attr_granular */ + 0, /* dma_attr_flags */ +}; + +static ddi_dma_attr_t fastboot_dma_attr = { + DMA_ATTR_V0, + 0x0000000008000000ULL, /* dma_attr_addr_lo: 128MB */ + 0x0000000FFFFFFFFFULL, /* dma_attr_addr_hi: 64GB */ + 0x00000000FFFFFFFFULL, /* dma_attr_count_max */ + 0x0000000000001000ULL, /* dma_attr_align: 4KB */ + 1, /* dma_attr_burstsize */ + 1, /* dma_attr_minxfer */ + 0x00000000FFFFFFFFULL, /* dma_attr_maxxfer */ + 0x00000000FFFFFFFFULL, /* dma_attr_seg */ + 1, /* dma_attr_sgllen */ + 0x1000ULL, /* dma_attr_granular */ + 0, /* dma_attr_flags */ +}; + +/* + * Various information saved from the previous boot to reconstruct + * multiboot_info. + */ +extern multiboot_info_t saved_mbi; +extern mb_memory_map_t saved_mmap[FASTBOOT_SAVED_MMAP_COUNT]; +extern struct sol_netinfo saved_drives[FASTBOOT_SAVED_DRIVES_COUNT]; +extern char saved_cmdline[FASTBOOT_SAVED_CMDLINE_LEN]; +extern int saved_cmdline_len; + +extern void* contig_alloc(size_t size, ddi_dma_attr_t *attr, + uintptr_t align, int cansleep); + +/* PRINTLIKE */ +extern void vprintf(const char *, va_list); + + +/* + * Need to be able to get boot_archives from other places + */ +#define BOOTARCHIVE64 "/platform/i86pc/amd64/boot_archive" +#define BOOTARCHIVE32 "/platform/i86pc/boot_archive" +#define BOOTARCHIVE_FAILSAFE "/boot/x86.miniroot-safe" +#define FAILSAFE_BOOTFILE "/boot/platform/i86pc/kernel/unix" + +static uint_t fastboot_vatoindex(fastboot_info_t *, uintptr_t, int); +static void fastboot_map_with_size(fastboot_info_t *, uintptr_t, + paddr_t, size_t, int); +static void fastboot_build_pagetables(fastboot_info_t *); +static int fastboot_build_mbi(char *, fastboot_info_t *); + +static const char fastboot_enomem_msg[] = "Fastboot: Couldn't allocate 0x%" + PRIx64" bytes below %s to do fast reboot"; + +static void +dprintf(char *fmt, ...) +{ + va_list adx; + + if (!fastboot_debug) + return; + + va_start(adx, fmt); + vprintf(fmt, adx); + va_end(adx); +} + + +/* + * Return the index corresponding to a virt address at a given page table level. + */ +static uint_t +fastboot_vatoindex(fastboot_info_t *nk, uintptr_t va, int level) +{ + return ((va >> nk->fi_shift_amt[level]) & (nk->fi_ptes_per_table - 1)); +} + + +/* + * Add mapping from vstart to pstart for the specified size. + * Only handles 2 level. Must use 2M pages. vstart, pstart + * and size should all have been aligned at 2M boundaries. + */ +static void +fastboot_map_with_size(fastboot_info_t *nk, uintptr_t vstart, paddr_t pstart, + size_t size, int level) +{ + x86pte_t pteval, *table; + uintptr_t vaddr; + paddr_t paddr; + int index, l; + + table = (x86pte_t *)(nk->fi_pagetable_va); + + for (l = nk->fi_top_level; l >= level; l--) { + + index = fastboot_vatoindex(nk, vstart, l); + + if (l == level) { + /* + * Last level. Program the page table entries. + */ + for (vaddr = vstart, paddr = pstart; + vaddr < vstart + size; + vaddr += (1ULL << nk->fi_shift_amt[l]), + paddr += (1ULL << nk->fi_shift_amt[l])) { + + uint_t index = fastboot_vatoindex(nk, vaddr, l); + + if (l > 0) + pteval = paddr | pte_bits | PT_PAGESIZE; + else + pteval = paddr | pte_bits; + + table[index] = pteval; + } + } else if (table[index] & PT_VALID) { + if (l == level) + break; + + table = (x86pte_t *) + ((uintptr_t)(((paddr_t)table[index] & MMU_PAGEMASK) + - nk->fi_pagetable_pa) + nk->fi_pagetable_va); + } else { + /* + * Intermediate levels. Program with either valid + * bit or PTP bits. + */ + if (l == nk->fi_top_level) { + table[index] = nk->fi_next_table_pa | PT_VALID; + } else { + table[index] = nk->fi_next_table_pa | ptp_bits; + } + table = (x86pte_t *)(nk->fi_next_table_va); + nk->fi_next_table_va += MMU_PAGESIZE; + nk->fi_next_table_pa += MMU_PAGESIZE; + } + } +} + +/* + * Build page tables for the lower 1G of physical memory using 2M + * pages, and prepare page tables for mapping new kernel and boot + * archive pages using 4K pages. + */ +static void +fastboot_build_pagetables(fastboot_info_t *nk) +{ + /* + * Map lower 1G physical memory. Use large pages. + */ + fastboot_map_with_size(nk, 0, 0, ONE_GIG, 1); + + /* + * Map one 4K page to get the middle page tables set up. + */ + fake_va = P2ALIGN_TYPED(fake_va, nk->fi_lpagesize, uintptr_t); + fastboot_map_with_size(nk, fake_va, + nk->fi_files[0].fb_pte_list_va[0] & MMU_PAGEMASK, PAGESIZE, 0); +} + + +/* + * Sanity check. Look for dboot offset. + */ +static int +fastboot_elf64_find_dboot_load_offset(void *img, off_t imgsz, uint32_t *offp) +{ + Elf64_Ehdr *ehdr = (Elf64_Ehdr *)img; + Elf64_Phdr *phdr; + uint8_t *phdrbase; + int i; + + if ((ehdr->e_phoff + ehdr->e_phnum * ehdr->e_phentsize) >= imgsz) + return (-1); + + phdrbase = (uint8_t *)img + ehdr->e_phoff; + + for (i = 0; i < ehdr->e_phnum; i++) { + phdr = (Elf64_Phdr *)(phdrbase + ehdr->e_phentsize * i); + + if (phdr->p_type == PT_LOAD) { + if (phdr->p_vaddr == phdr->p_paddr && + phdr->p_vaddr == DBOOT_ENTRY_ADDRESS) { + ASSERT(phdr->p_offset <= UINT32_MAX); + *offp = (uint32_t)phdr->p_offset; + return (0); + } + } + } + + return (-1); +} + + +/* + * Initialize text and data section information for 32-bit kernel. + */ +static int +fastboot_elf32_find_loadables(void *img, off_t imgsz, fastboot_section_t *sectp, + int *sectcntp, uint32_t *offp) +{ + Elf32_Ehdr *ehdr = (Elf32_Ehdr *)img; + Elf32_Phdr *phdr; + uint8_t *phdrbase; + int i; + int used_sections = 0; + + + if ((ehdr->e_phoff + ehdr->e_phnum * ehdr->e_phentsize) >= imgsz) + return (-1); + + phdrbase = (uint8_t *)img + ehdr->e_phoff; + + for (i = 0; i < ehdr->e_phnum; i++) { + phdr = (Elf32_Phdr *)(phdrbase + ehdr->e_phentsize * i); + + if (phdr->p_type == PT_INTERP) + return (-1); + + if (phdr->p_type != PT_LOAD) + continue; + + if (phdr->p_vaddr == phdr->p_paddr && + phdr->p_paddr == DBOOT_ENTRY_ADDRESS) { + *offp = (uint32_t)phdr->p_offset; + } else { + sectp[used_sections].fb_sec_offset = phdr->p_offset; + sectp[used_sections].fb_sec_paddr = phdr->p_paddr; + sectp[used_sections].fb_sec_size = phdr->p_filesz; + sectp[used_sections].fb_sec_bss_size = + (phdr->p_filesz < phdr->p_memsz) ? + (phdr->p_memsz - phdr->p_filesz) : 0; + + used_sections++; + } + + } + + *sectcntp = used_sections; + return (0); +} + +/* + * Create multiboot info structure + */ +static int +fastboot_build_mbi(char *mdep, fastboot_info_t *nk) +{ + mb_module_t *mbp; + uintptr_t next_addr; + uintptr_t new_mbi_pa; + size_t size; + void *buf = NULL; + size_t arglen; + char bootargs[OBP_MAXPATHLEN]; + + bzero(bootargs, OBP_MAXPATHLEN); + + if (mdep != NULL) { + arglen = strlen(mdep) + 1; + } else { + arglen = saved_cmdline_len; + } + + size = PAGESIZE + P2ROUNDUP(arglen, PAGESIZE); + buf = contig_alloc(size, &fastboot_below_1G_dma_attr, PAGESIZE, 0); + if (buf == NULL) { + cmn_err(CE_WARN, fastboot_enomem_msg, (uint64_t)size, "1G"); + return (-1); + } + + bzero(buf, size); + + new_mbi_pa = mmu_ptob((uint64_t)hat_getpfnum(kas.a_hat, (caddr_t)buf)); + + hat_devload(kas.a_hat, (caddr_t)new_mbi_pa, size, + mmu_btop(new_mbi_pa), PROT_READ | PROT_WRITE, HAT_LOAD_NOCONSIST); + + nk->fi_new_mbi_pa = (paddr_t)new_mbi_pa; + + bcopy(&saved_mbi, (void *)new_mbi_pa, sizeof (multiboot_info_t)); + + next_addr = new_mbi_pa + sizeof (multiboot_info_t); + ((multiboot_info_t *)new_mbi_pa)->mods_addr = next_addr; + mbp = (mb_module_t *)(uintptr_t)next_addr; + mbp->mod_start = newkernel.fi_files[FASTBOOT_BOOTARCHIVE].fb_dest_pa; + mbp->mod_end = newkernel.fi_files[FASTBOOT_BOOTARCHIVE].fb_next_pa; + + next_addr += sizeof (mb_module_t); + bcopy(fastboot_filename[FASTBOOT_NAME_BOOTARCHIVE], (void *)next_addr, + strlen(fastboot_filename[FASTBOOT_NAME_BOOTARCHIVE])); + + mbp->mod_name = next_addr; + mbp->reserved = 0; + next_addr += strlen(fastboot_filename[FASTBOOT_NAME_BOOTARCHIVE]); + *(char *)next_addr = '\0'; + next_addr++; + next_addr = P2ROUNDUP_TYPED(next_addr, 16, uintptr_t); + + ((multiboot_info_t *)new_mbi_pa)->mmap_addr = next_addr; + bcopy((void *)(uintptr_t)saved_mmap, (void *)next_addr, + saved_mbi.mmap_length); + next_addr += saved_mbi.mmap_length; + + ((multiboot_info_t *)new_mbi_pa)->drives_addr = next_addr; + bcopy((void *)(uintptr_t)saved_drives, (void *)next_addr, + saved_mbi.drives_length); + next_addr += saved_mbi.drives_length; + + ((multiboot_info_t *)new_mbi_pa)->cmdline = next_addr; + + if (mdep != NULL) { + bcopy(mdep, (void *)(uintptr_t) + (((multiboot_info_t *)new_mbi_pa)->cmdline), (arglen - 1)); + } else { + bcopy((void *)saved_cmdline, (void *)next_addr, (arglen - 1)); + } + /* Terminate the string */ + ((char *)(intptr_t)next_addr)[arglen - 1] = '\0'; + + return (0); +} + + +void +load_kernel(char *mdep) +{ + struct _buf *file; + void *buf = NULL; + uintptr_t va; + int i, j; + fastboot_file_t *fb; + uint32_t dboot_start_offset; + Ehdr *ehdr; + char kern_bootpath[OBP_MAXPATHLEN]; + char bootargs[OBP_MAXPATHLEN]; + extern uintptr_t postbootkernelbase; + extern char fb_swtch_image[]; + int bootpath_len = 0; + int is_failsafe = 0; + uintptr_t next_pa = 0; /* next available physical addr */ + + ASSERT(fastreboot_capable); + + postbootkernelbase = 0; + + if (x86_feature & X86_PAE) { + newkernel.fi_has_pae = 1; + newkernel.fi_shift_amt = fastboot_shift_amt_pae; + newkernel.fi_ptes_per_table = 512; + newkernel.fi_lpagesize = (2 << 20); /* 2M */ + newkernel.fi_top_level = 2; + } + + bzero(kern_bootpath, OBP_MAXPATHLEN); + bzero(bootargs, OBP_MAXPATHLEN); + + /* + * If mdep is not NULL, it comes in the format of + * mountpoint unix args + */ + if (mdep != NULL) { + if (mdep[0] != '-') { + /* First get the root argument */ + i = 0; + while (mdep[i] != '\0' && mdep[i] != ' ') { + i++; + } + + if (i < 4 || strncmp(&mdep[i-4], "unix", 4) != 0) { + /* mount point */ + bcopy(mdep, kern_bootpath, i); + kern_bootpath[i] = '\0'; + bootpath_len = i; + + /* + * Get the next argument. It should be unix as + * we have validated in in halt.c. + */ + if (strlen(mdep) > i) { + mdep += (i + 1); + i = 0; + while (mdep[i] != '\0' && + mdep[i] != ' ') { + i++; + } + } + + } + bcopy(mdep, kern_bootfile, i); + kern_bootfile[i] = '\0'; + } else { + int off = strlen(kern_bootfile); + bcopy(kern_bootfile, bootargs, off); + bcopy(" ", &bootargs[off++], 1); + bcopy(mdep, &bootargs[off], strlen(mdep)); + off += strlen(mdep); + bootargs[off] = '\0'; + mdep = bootargs; + } + } + + /* + * Make sure we get the null character + */ + bcopy(kern_bootpath, fastboot_filename[FASTBOOT_NAME_UNIX], + bootpath_len); + bcopy(kern_bootfile, + &fastboot_filename[FASTBOOT_NAME_UNIX][bootpath_len], + strlen(kern_bootfile) + 1); + + bcopy(kern_bootpath, fastboot_filename[FASTBOOT_NAME_BOOTARCHIVE], + bootpath_len); + + if (bcmp(kern_bootfile, FAILSAFE_BOOTFILE, + (sizeof (FAILSAFE_BOOTFILE) - 1)) == 0) { + is_failsafe = 1; + } + + /* + * Read in unix and boot_archive + */ + for (i = 0; i < FASTBOOT_MAX_FILES_MAP; i++) { + uint64_t fsize; + size_t fsize_roundup, pt_size; + int page_index; + uintptr_t offset; + int pt_entry_count; + ddi_dma_attr_t dma_attr = fastboot_dma_attr; + + dprintf("fastboot_filename[%d] = %s\n", + i, fastboot_filename[i]); + + if ((file = kobj_open_file(fastboot_filename[i])) == + (struct _buf *)-1) { + cmn_err(CE_WARN, "Fastboot: Couldn't open %s", + fastboot_filename[i]); + goto err_out; + } + + if (kobj_get_filesize(file, &fsize) != 0) { + cmn_err(CE_WARN, + "Fastboot: Couldn't get filesize for %s", + fastboot_filename[i]); + goto err_out; + } + + if (i == FASTBOOT_BOOTARCHIVE && is_failsafe) { + /* Adjust low memory for failsafe mode */ + fastboot_below_1G_dma_attr.dma_attr_addr_lo = + dma_attr.dma_attr_addr_lo = + P2ROUNDUP_TYPED(fsize, PAGESIZE, uint64_t) + + next_pa; + } + + if (!fastboot_contig) + dma_attr.dma_attr_sgllen = (fsize / PAGESIZE) + + (((fsize % PAGESIZE) == 0) ? 0 : 1); + + if ((buf = contig_alloc(fsize, &dma_attr, PAGESIZE, 0)) + == NULL) { + cmn_err(CE_WARN, fastboot_enomem_msg, fsize, + "64G"); + goto err_out; + } + + va = P2ROUNDUP_TYPED((uintptr_t)buf, PAGESIZE, uintptr_t); + + if (kobj_read_file(file, (char *)va, fsize, 0) < 0) { + cmn_err(CE_WARN, "Fastboot: Couldn't read %s", + fastboot_filename[i]); + goto err_out; + } + + fb = &newkernel.fi_files[i]; + fb->fb_va = va; + fb->fb_size = fsize; + fb->fb_sectcnt = 0; + + fsize_roundup = P2ROUNDUP_TYPED(fb->fb_size, PAGESIZE, size_t); + + /* + * Allocate one extra page table entry for terminating + * the list. + */ + pt_entry_count = (fsize_roundup >> PAGESHIFT) + 1; + pt_size = P2ROUNDUP(pt_entry_count * 8, PAGESIZE); + + if ((fb->fb_pte_list_va = + (x86pte_t *)contig_alloc(pt_size, + &fastboot_below_1G_dma_attr, PAGESIZE, 0)) == NULL) { + cmn_err(CE_WARN, fastboot_enomem_msg, + (uint64_t)pt_size, "1G"); + goto err_out; + } + + bzero((void *)(fb->fb_pte_list_va), pt_size); + + fb->fb_pte_list_pa = mmu_ptob((uint64_t)hat_getpfnum(kas.a_hat, + (caddr_t)fb->fb_pte_list_va)); + + for (page_index = 0, offset = 0; offset < fb->fb_size; + offset += PAGESIZE) { + uint64_t paddr; + + paddr = mmu_ptob((uint64_t)hat_getpfnum(kas.a_hat, + (caddr_t)fb->fb_va + offset)); + + ASSERT(paddr >= fastboot_dma_attr.dma_attr_addr_lo); + + /* + * Include the pte_bits so we don't have to make + * it in assembly. + */ + fb->fb_pte_list_va[page_index++] = (x86pte_t) + (paddr | pte_bits); + } + + fb->fb_pte_list_va[page_index] = FASTBOOT_TERMINATE; + + if (i == FASTBOOT_UNIX) { + ehdr = (Ehdr *)va; + + /* + * Sanity checks: + */ + for (j = 0; j < SELFMAG; j++) { + if (ehdr->e_ident[j] != ELFMAG[j]) { + cmn_err(CE_WARN, "Fastboot: Bad ELF " + "signature"); + goto err_out; + } + } + + if (ehdr->e_ident[EI_CLASS] == ELFCLASS32 && + ehdr->e_ident[EI_DATA] == ELFDATA2LSB && + ehdr->e_machine == EM_386) { + + if (fastboot_elf32_find_loadables((void *)va, + fsize, &fb->fb_sections[0], + &fb->fb_sectcnt, &dboot_start_offset) < 0) { + cmn_err(CE_WARN, "Fastboot: ELF32 " + "program section failure"); + goto err_out; + } + + if (fb->fb_sectcnt == 0) { + cmn_err(CE_WARN, "Fastboot: No ELF32 " + "program sections found"); + goto err_out; + } + + if (is_failsafe) { + /* Failsafe boot_archive */ + bcopy(BOOTARCHIVE_FAILSAFE, + &fastboot_filename + [FASTBOOT_NAME_BOOTARCHIVE] + [bootpath_len], + sizeof (BOOTARCHIVE_FAILSAFE)); + } else { + bcopy(BOOTARCHIVE32, + &fastboot_filename + [FASTBOOT_NAME_BOOTARCHIVE] + [bootpath_len], + sizeof (BOOTARCHIVE32)); + } + + } else if (ehdr->e_ident[EI_CLASS] == ELFCLASS64 && + ehdr->e_ident[EI_DATA] == ELFDATA2LSB && + ehdr->e_machine == EM_AMD64) { + + if (fastboot_elf64_find_dboot_load_offset( + (void *)va, fsize, &dboot_start_offset) + != 0) { + cmn_err(CE_WARN, "Fastboot: Couldn't " + "find ELF64 dboot entry offset"); + goto err_out; + } + + if ((x86_feature & X86_64) == 0 || + newkernel.fi_has_pae == 0) { + cmn_err(CE_WARN, "Fastboot: Cannot " + "reboot to %s: " + "not a 64-bit capable system", + kern_bootfile); + goto err_out; + } + + bcopy(BOOTARCHIVE64, + &fastboot_filename + [FASTBOOT_NAME_BOOTARCHIVE][bootpath_len], + sizeof (BOOTARCHIVE64)); + } else { + cmn_err(CE_WARN, "Fastboot: Unknown ELF type"); + goto err_out; + } + + fb->fb_dest_pa = DBOOT_ENTRY_ADDRESS - + dboot_start_offset; + + fb->fb_next_pa = DBOOT_ENTRY_ADDRESS + fsize_roundup; + } else { + fb->fb_dest_pa = newkernel.fi_files[i - 1].fb_next_pa; + fb->fb_next_pa = fb->fb_dest_pa + fsize_roundup; + } + + next_pa = fb->fb_next_pa; + + kobj_close_file(file); + + /* + * Set fb_va to fake_va + */ + fb->fb_va = fake_va; + } + + + /* + * Add the function that will switch us to 32-bit protected mode + */ + fb = &newkernel.fi_files[FASTBOOT_SWTCH]; + fb->fb_va = fb->fb_dest_pa = FASTBOOT_SWTCH_PA; + fb->fb_size = PAGESIZE; + + /* + * Map in FASTBOOT_SWTCH_PA + */ + hat_devload(kas.a_hat, (caddr_t)fb->fb_va, MMU_PAGESIZE, + mmu_btop(fb->fb_dest_pa), + PROT_READ | PROT_WRITE | PROT_EXEC, HAT_LOAD_NOCONSIST); + + bcopy((void *)fb_swtch_image, (void *)fb->fb_va, fb->fb_size); + + /* + * Build the new multiboot_info structure + */ + if (fastboot_build_mbi(mdep, &newkernel) != 0) { + goto err_out; + } + + /* + * Build page table for low 1G physical memory. Use big pages. + * Allocate 4 pages for the page tables. + * 1 page for Page-Directory-Pointer Table + * 2 page for Page Directory + * 1 page for Page Table. + * The page table entry will be rewritten to map the physical + * address as we do the copying. + */ + if (newkernel.fi_has_pae) { + size_t size = MMU_PAGESIZE * 4; + + if ((newkernel.fi_pagetable_va = (uintptr_t) + contig_alloc(size, &fastboot_below_1G_dma_attr, + PAGESIZE, 0)) == NULL) { + cmn_err(CE_WARN, fastboot_enomem_msg, + (uint64_t)size, "1G"); + goto err_out; + } + + bzero((void *)(newkernel.fi_pagetable_va), size); + + newkernel.fi_pagetable_pa = + mmu_ptob((uint64_t)hat_getpfnum(kas.a_hat, + (caddr_t)newkernel.fi_pagetable_va)); + + newkernel.fi_last_table_pa = newkernel.fi_pagetable_pa + + MMU_PAGESIZE * 3; + + newkernel.fi_next_table_va = newkernel.fi_pagetable_va + + MMU_PAGESIZE; + newkernel.fi_next_table_pa = newkernel.fi_pagetable_pa + + MMU_PAGESIZE; + + fastboot_build_pagetables(&newkernel); + } + + + /* Mark it as valid */ + newkernel.fi_valid = 1; + newkernel.fi_magic = FASTBOOT_MAGIC; + + return; + +err_out: + /* XXX Do we need to free up the memory we allocated? */ + + newkernel.fi_valid = 0; +} + + +void +fast_reboot() +{ + void (*fastboot_func)(fastboot_info_t *); + + fastboot_func = (void (*)())(newkernel.fi_files[FASTBOOT_SWTCH].fb_va); + (*fastboot_func)(&newkernel); +} diff --git a/usr/src/uts/i86pc/os/machdep.c b/usr/src/uts/i86pc/os/machdep.c index f38041c092..092ec53857 100644 --- a/usr/src/uts/i86pc/os/machdep.c +++ b/usr/src/uts/i86pc/os/machdep.c @@ -121,6 +121,11 @@ #include <sys/xpv_panic.h> #endif +#include <sys/fastboot.h> +#include <sys/machelf.h> +#include <sys/kobj.h> +#include <sys/multiboot.h> + #ifdef TRAPTRACE #include <sys/traptrace.h> #endif /* TRAPTRACE */ @@ -159,6 +164,10 @@ void debug_enter(char *); extern void pm_cfb_check_and_powerup(void); extern void pm_cfb_rele(void); +extern fastboot_info_t newkernel; + +int quiesce_active = 0; + /* * Machine dependent code to reboot. * "mdep" is interpreted as a character pointer; if non-null, it is a pointer @@ -173,9 +182,22 @@ extern void pm_cfb_rele(void); void mdboot(int cmd, int fcn, char *mdep, boolean_t invoke_cb) { + processorid_t bootcpuid = 0; + + if (fcn == AD_FASTREBOOT && !newkernel.fi_valid) + fcn = AD_BOOT; + if (!panicstr) { kpreempt_disable(); - affinity_set(CPU_CURRENT); + if (fcn == AD_FASTREBOOT) { + mutex_enter(&cpu_lock); + if (CPU_ACTIVE(cpu_get(bootcpuid))) { + affinity_set(bootcpuid); + } + mutex_exit(&cpu_lock); + } else { + affinity_set(CPU_CURRENT); + } } if (force_shutdown_method != AD_UNKNOWN) @@ -228,7 +250,6 @@ mdboot(int cmd, int fcn, char *mdep, boolean_t invoke_cb) if (panicstr && proc_init == NULL) (void) HYPERVISOR_shutdown(SHUTDOWN_poweroff); #endif - /* * stop other cpus and raise our priority. since there is only * one active cpu after this, and our priority will be too high @@ -243,16 +264,38 @@ mdboot(int cmd, int fcn, char *mdep, boolean_t invoke_cb) } /* - * try and reset leaf devices. reset_leaves() should only - * be called when there are no other threads that could be - * accessing devices + * Try to quiesce devices. + */ + if (!panicstr) { + int reset_status = 0; + + quiesce_active = 1; + + quiesce_devices(ddi_root_node(), &reset_status); + if (fcn == AD_FASTREBOOT && reset_status == -1 && + !force_fastreboot) { + prom_printf("Driver(s) not capable of fast reboot. " + "Fall back to regular reboot.\n"); + fastreboot_capable = 0; + } + + quiesce_active = 0; + } + + /* + * try to reset devices. reset_leaves() should only be called when + * there are no other threads that could be accessing devices */ - reset_leaves(); + if (!panicstr && !fastreboot_capable) { + reset_leaves(); + } (void) spl8(); (*psm_shutdownf)(cmd, fcn); - if (fcn == AD_HALT || fcn == AD_POWEROFF) + if (fcn == AD_FASTREBOOT && !panicstr && fastreboot_capable) + fast_reboot(); + else if (fcn == AD_HALT || fcn == AD_POWEROFF) halt((char *)NULL); else prom_reboot(""); @@ -264,6 +307,21 @@ mdboot(int cmd, int fcn, char *mdep, boolean_t invoke_cb) void mdpreboot(int cmd, int fcn, char *mdep) { + if (fcn == AD_FASTREBOOT && !fastreboot_capable) { + fcn = AD_BOOT; +#ifdef __xpv + cmn_err(CE_WARN, "Fast reboot not supported on xVM"); +#else + cmn_err(CE_WARN, "Fast reboot not supported on this platform"); +#endif + } + + if (fcn == AD_FASTREBOOT) { + load_kernel(mdep); + if (!newkernel.fi_valid) + fcn = AD_BOOT; + } + (*psm_preshutdownf)(cmd, fcn); } diff --git a/usr/src/uts/i86pc/os/mp_startup.c b/usr/src/uts/i86pc/os/mp_startup.c index 10492414be..d458fecfe9 100644 --- a/usr/src/uts/i86pc/os/mp_startup.c +++ b/usr/src/uts/i86pc/os/mp_startup.c @@ -134,13 +134,9 @@ init_cpu_info(struct cpu *cp) cp->cpu_idstr = kmem_alloc(strlen(buf) + 1, KM_SLEEP); (void) strcpy(cp->cpu_idstr, buf); - cmn_err(CE_CONT, "?cpu%d: %s\n", cp->cpu_id, cp->cpu_idstr); - (void) cpuid_getbrandstr(cp, buf, sizeof (buf)); cp->cpu_brandstr = kmem_alloc(strlen(buf) + 1, KM_SLEEP); (void) strcpy(cp->cpu_brandstr, buf); - - cmn_err(CE_CONT, "?cpu%d: %s\n", cp->cpu_id, cp->cpu_brandstr); } /* @@ -1341,6 +1337,9 @@ start_other_cpus(int cprboot) */ init_cpu_info(CPU); + cmn_err(CE_CONT, "?cpu%d: %s\n", CPU->cpu_id, CPU->cpu_idstr); + cmn_err(CE_CONT, "?cpu%d: %s\n", CPU->cpu_id, CPU->cpu_brandstr); + /* * Initialize our syscall handlers */ @@ -1553,6 +1552,9 @@ mp_startup(void) cp->cpu_flags |= CPU_RUNNING | CPU_READY | CPU_EXISTS; + cmn_err(CE_CONT, "?cpu%d: %s\n", cp->cpu_id, cp->cpu_idstr); + cmn_err(CE_CONT, "?cpu%d: %s\n", cp->cpu_id, cp->cpu_brandstr); + if (dtrace_cpu_init != NULL) { (*dtrace_cpu_init)(cp->cpu_id); } diff --git a/usr/src/uts/i86pc/os/startup.c b/usr/src/uts/i86pc/os/startup.c index b9c1c4b67e..980b9fe57e 100644 --- a/usr/src/uts/i86pc/os/startup.c +++ b/usr/src/uts/i86pc/os/startup.c @@ -114,6 +114,7 @@ #include <sys/debug_info.h> #include <sys/bootinfo.h> #include <sys/ddi_timer.h> +#include <sys/multiboot.h> #ifdef __xpv @@ -206,7 +207,7 @@ char *kobj_file_buf; int kobj_file_bufsize; /* set in /etc/system */ /* Global variables for MP support. Used in mp_startup */ -caddr_t rm_platter_va; +caddr_t rm_platter_va = 0; uint32_t rm_platter_pa; int auto_lpg_disable = 1; @@ -239,6 +240,7 @@ struct boot_syscalls *sysp; /* passed in from boot */ char bootblock_fstype[16]; char kern_bootargs[OBP_MAXPATHLEN]; +char kern_bootfile[OBP_MAXPATHLEN]; /* * ZFS zio segment. This allows us to exclude large portions of ZFS data that @@ -518,6 +520,12 @@ static page_t *bootpages; */ static page_t *rd_pages; +/* + * Lower 64K + */ +static page_t *lower_pages = NULL; +static int lower_pages_count = 0; + struct system_hardware system_hardware; /* @@ -650,6 +658,7 @@ startup(void) #if !defined(__xpv) extern void startup_bios_disk(void); extern void startup_pci_bios(void); + extern int post_fastreboot; #endif extern cpuset_t cpu_ready_set; @@ -678,14 +687,16 @@ startup(void) startup_kmem(); startup_vm(); #if !defined(__xpv) - startup_pci_bios(); + if (!post_fastreboot) + startup_pci_bios(); #endif #if defined(__xpv) startup_xen_mca(); #endif startup_modules(); #if !defined(__xpv) - startup_bios_disk(); + if (!post_fastreboot) + startup_bios_disk(); #endif startup_end(); progressbar_start(); @@ -2145,12 +2156,10 @@ post_startup(void) } static int -pp_in_ramdisk(page_t *pp) +pp_in_range(page_t *pp, uint64_t low_addr, uint64_t high_addr) { - extern uint64_t ramdisk_start, ramdisk_end; - - return ((pp->p_pagenum >= btop(ramdisk_start)) && - (pp->p_pagenum < btopr(ramdisk_end))); + return ((pp->p_pagenum >= btop(low_addr)) && + (pp->p_pagenum < btopr(high_addr))); } void @@ -2171,7 +2180,9 @@ release_bootstrap(void) * We're finished using the boot loader so free its pages. */ PRM_POINT("Unmapping lower boot pages"); + clear_boot_mappings(0, _userlimit); + postbootkernelbase = kernelbase; /* @@ -2189,9 +2200,22 @@ release_bootstrap(void) PRM_POINT("Releasing boot pages"); while (bootpages) { + extern uint64_t ramdisk_start, ramdisk_end; pp = bootpages; bootpages = pp->p_next; - if (root_is_ramdisk && pp_in_ramdisk(pp)) { + + + /* Keep pages for the lower 64K */ + if (pp_in_range(pp, 0, 0x40000)) { + pp->p_next = lower_pages; + lower_pages = pp; + lower_pages_count++; + continue; + } + + + if (root_is_ramdisk && pp_in_range(pp, ramdisk_start, + ramdisk_end)) { pp->p_next = rd_pages; rd_pages = pp; continue; @@ -2211,7 +2235,12 @@ release_bootstrap(void) * Make sure it has a kernel VA as well as a 1:1 mapping. * We should have just free'd one up. */ - for (pfn = 1; pfn < btop(1*1024*1024); pfn++) { + + /* + * 0x10 pages is 64K. Leave the bottom 64K alone + * for BIOS. + */ + for (pfn = 0x10; pfn < btop(1*1024*1024); pfn++) { if (page_numtopp_alloc(pfn) == NULL) continue; rm_platter_va = i86devmap(pfn, 1, diff --git a/usr/src/uts/i86pc/sys/Makefile b/usr/src/uts/i86pc/sys/Makefile index f46f01f716..156007ba15 100644 --- a/usr/src/uts/i86pc/sys/Makefile +++ b/usr/src/uts/i86pc/sys/Makefile @@ -19,9 +19,8 @@ # CDDL HEADER END # # -#pragma ident "%Z%%M% %I% %E% SMI" # -# Copyright 2007 Sun Microsystems, Inc. All rights reserved. +# Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # uts/i86pc/sys/Makefile @@ -46,6 +45,7 @@ HDRS= \ cram.h \ ddi_subrdefs.h \ debug_info.h \ + fastboot.h \ mach_mmu.h \ machclock.h \ machcpuvar.h \ diff --git a/usr/src/uts/i86pc/sys/fastboot.h b/usr/src/uts/i86pc/sys/fastboot.h new file mode 100644 index 0000000000..5eb2cf55c4 --- /dev/null +++ b/usr/src/uts/i86pc/sys/fastboot.h @@ -0,0 +1,146 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms of the + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. + * + * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing permissions + * and limitations under the License. + * + * When distributing Covered Code, include this CDDL HEADER in each + * file and include the License file at usr/src/OPENSOLARIS.LICENSE. + * If applicable, add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your own identifying + * information: Portions Copyright [yyyy] [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +#ifndef _SYS_FASTBOOT_H +#define _SYS_FASTBOOT_H + + +/* + * Platform dependent instruction sequences for fast reboot + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ASM +#include <sys/types.h> +#include <sys/mach_mmu.h> +#endif /* _ASM */ + +#define FASTBOOT_NAME_UNIX 0 +#define FASTBOOT_NAME_BOOTARCHIVE 1 + +#define FASTBOOT_MAX_FILES_MAP 2 /* max number of files that needs mapping */ +#define FASTBOOT_MAX_FILES_TOTAL 3 /* max number of files */ + +#define FASTBOOT_SWTCH_PA 0x5000 /* low memory */ +#define FASTBOOT_STACK_OFFSET 0xe00 /* where the stack starts */ +#define FASTBOOT_MAGIC ('F' << 24 | 'A' << 16 | 'S' << 8 | 'T') + +#define FASTBOOT_UNIX 0 +#define FASTBOOT_BOOTARCHIVE 1 +#define FASTBOOT_SWTCH 2 + +/* + * Default sizes for varies information we have to save across boot for + * fast reboot. If the actual size is bigger than what we saved, abort + * fast reboot. + */ +#define FASTBOOT_SAVED_MMAP_COUNT 32 +#define FASTBOOT_SAVED_DRIVES_COUNT 9 +#define FASTBOOT_SAVED_CMDLINE_LEN MMU_PAGESIZE + + +/* + * dboot entry address comes from + * usr/src/uts/i86pc/conf/Mapfile and Mapfile.64. + */ +#define DBOOT_ENTRY_ADDRESS 0xc00000 + +/* + * Fake starting virtual address for creating mapping for the new kernel + * and boot_archive. + */ +#define FASTBOOT_FAKE_VA (2ULL << 30) + +#define FASTBOOT_TERMINATE 0xdeadbee0 /* Terminating PTEs */ + +#ifndef _ASM + +#define MAX_ELF32_LOAD_SECTIONS 3 + +/* + * Data structure for specifying each section in a 32-bit ELF file. + */ +typedef struct fastboot_section +{ + uint32_t fb_sec_offset; /* offset */ + uint32_t fb_sec_paddr; /* physical address */ + uint32_t fb_sec_size; /* size */ + uint32_t fb_sec_bss_size; /* section bss size */ +} fastboot_section_t; + +/* + * Data structure for describing each file that needs to be relocated from high + * memory to low memory for fast reboot. Currently these files are unix, the + * boot_archive, and the relocation function itself. + */ +typedef struct _fastboot_file { + uintptr_t fb_va; /* virtual address */ + x86pte_t *fb_pte_list_va; /* VA for PTE list */ + paddr_t fb_pte_list_pa; /* PA for PTE list */ + uintptr_t fb_dest_pa; /* destination PA */ + size_t fb_size; /* file size */ + uintptr_t fb_next_pa; + fastboot_section_t fb_sections[MAX_ELF32_LOAD_SECTIONS]; + int fb_sectcnt; /* actual number of sections */ +} fastboot_file_t; + +/* + * Data structure containing all the information the switching routine needs + * for fast rebooting to the new kernel. + */ +typedef struct _fastboot_info { + uint32_t fi_magic; /* magic for fast reboot */ + fastboot_file_t fi_files[FASTBOOT_MAX_FILES_TOTAL]; + int fi_has_pae; + uintptr_t fi_pagetable_va; + paddr_t fi_pagetable_pa; + paddr_t fi_last_table_pa; + paddr_t fi_new_mbi_pa; /* new multiboot info PA */ + int fi_valid; /* is the new kernel valid */ + uintptr_t fi_next_table_va; + paddr_t fi_next_table_pa; + uint_t *fi_shift_amt; + uint_t fi_ptes_per_table; + uint_t fi_lpagesize; + int fi_top_level; /* top level of page tables */ +} fastboot_info_t; + +extern void fast_reboot(); +extern void load_kernel(char *); + +extern int fastreboot_capable; +extern int force_fastreboot; + +#endif /* _ASM */ + +#ifdef __cplusplus +} +#endif + +#endif /* _SYS_FASTBOOT_H */ diff --git a/usr/src/uts/i86pc/sys/ioat.h b/usr/src/uts/i86pc/sys/ioat.h index 1e32b54ebd..7d40d32a38 100644 --- a/usr/src/uts/i86pc/sys/ioat.h +++ b/usr/src/uts/i86pc/sys/ioat.h @@ -27,8 +27,6 @@ #ifndef _SYS_IOAT_H #define _SYS_IOAT_H -#pragma ident "%Z%%M% %I% %E% SMI" - #ifdef __cplusplus extern "C" { #endif @@ -338,6 +336,7 @@ int ioat_channel_init(ioat_state_t *state); void ioat_channel_fini(ioat_state_t *state); void ioat_channel_suspend(ioat_state_t *state); int ioat_channel_resume(ioat_state_t *state); +void ioat_channel_quiesce(ioat_state_t *); int ioat_channel_alloc(void *device_private, dcopy_handle_t handle, int flags, uint_t size, dcopy_query_channel_t *info, void *channel_private); diff --git a/usr/src/uts/i86pc/unix/Makefile b/usr/src/uts/i86pc/unix/Makefile index 1af9f29c35..94ca90ea8b 100644 --- a/usr/src/uts/i86pc/unix/Makefile +++ b/usr/src/uts/i86pc/unix/Makefile @@ -108,6 +108,11 @@ CLEANFILES += \ $(OBJS_DIR)/bios_call.s \ $(DBOOT_BIN) +CLEANFILES += \ + $(OBJS_DIR)/fb_swtch_src.o \ + $(OBJS_DIR)/fb_swtch_src \ + $(OBJS_DIR)/fb_swtch.s + CLOBBERFILES = $(CLEANFILES) $(UNIX_BIN) $(MULTIBOOT) CLEANLINTFILES += $(LINT_LIB) $(DBOOT_LINT_LIB) $(DBOOT_LINTS) diff --git a/usr/src/uts/i86pc/vm/vm_dep.h b/usr/src/uts/i86pc/vm/vm_dep.h index 622371e41c..ae2b6c12c1 100644 --- a/usr/src/uts/i86pc/vm/vm_dep.h +++ b/usr/src/uts/i86pc/vm/vm_dep.h @@ -30,7 +30,6 @@ #ifndef _VM_DEP_H #define _VM_DEP_H -#pragma ident "%Z%%M% %I% %E% SMI" #ifdef __cplusplus extern "C" { @@ -522,7 +521,7 @@ extern size_t page_ctrs_sz(void); extern caddr_t page_ctrs_alloc(caddr_t); extern void page_ctr_sub(int, int, page_t *, int); extern page_t *page_freelist_split(uchar_t, - uint_t, int, int, pfn_t, page_list_walker_t *); + uint_t, int, int, pfn_t, pfn_t, page_list_walker_t *); extern page_t *page_freelist_coalesce(int, uchar_t, uint_t, uint_t, int, pfn_t); extern uint_t page_get_pagecolors(uint_t); diff --git a/usr/src/uts/i86pc/vm/vm_machdep.c b/usr/src/uts/i86pc/vm/vm_machdep.c index 4b622610b8..02aadc9f2a 100644 --- a/usr/src/uts/i86pc/vm/vm_machdep.c +++ b/usr/src/uts/i86pc/vm/vm_machdep.c @@ -2934,10 +2934,13 @@ nextfreebin: if (plw.plw_do_split) { pp = page_freelist_split(szc, bin, mnode, mtype, + mmu_btop(dma_attr->dma_attr_addr_lo), mmu_btop(dma_attr->dma_attr_addr_hi + 1), &plw); - if (pp != NULL) + if (pp != NULL) { + check_dma(dma_attr, pp, 1); return (pp); + } } bin = page_list_walk_next_bin(szc, bin, &plw); diff --git a/usr/src/uts/i86xpv/Makefile.files b/usr/src/uts/i86xpv/Makefile.files index caa62cbed3..4f8aaa1573 100644 --- a/usr/src/uts/i86xpv/Makefile.files +++ b/usr/src/uts/i86xpv/Makefile.files @@ -50,6 +50,8 @@ CORE_OBJS += \ dvma.o \ fakebop.o \ fpu_subr.o \ + fastboot.o \ + fb_swtch.o \ graphics.o \ hardclk.o \ hat_i86.o \ diff --git a/usr/src/uts/i86xpv/io/balloon_drv.c b/usr/src/uts/i86xpv/io/balloon_drv.c index 7e4384a6e4..c0a0e0de01 100755..100644 --- a/usr/src/uts/i86xpv/io/balloon_drv.c +++ b/usr/src/uts/i86xpv/io/balloon_drv.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * A simple wrapper around the balloon kernel thread to allow userland @@ -154,19 +153,20 @@ static struct dev_ops balloon_dv_ops = { DEVO_REV, 0, balloon_getinfo, - nulldev, /* identify */ - nulldev, /* probe */ + nulldev, /* identify */ + nulldev, /* probe */ balloon_attach, balloon_detach, - nodev, /* reset */ + nodev, /* reset */ &balloon_cb_ops, - NULL, /* struct bus_ops */ - NULL /* power */ + NULL, /* struct bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "balloon driver 1.1", + "balloon driver", &balloon_dv_ops }; diff --git a/usr/src/uts/i86xpv/io/domcaps.c b/usr/src/uts/i86xpv/io/domcaps.c index a410741b09..7a015c60f2 100644 --- a/usr/src/uts/i86xpv/io/domcaps.c +++ b/usr/src/uts/i86xpv/io/domcaps.c @@ -143,14 +143,15 @@ static struct dev_ops domcaps_dv_ops = { DEVO_REV, 0, domcaps_getinfo, - nulldev, /* identify */ - nulldev, /* probe */ + nulldev, /* identify */ + nulldev, /* probe */ domcaps_attach, domcaps_detach, - nodev, /* reset */ + nodev, /* reset */ &domcaps_cb_ops, - NULL, /* struct bus_ops */ - NULL /* power */ + NULL, /* struct bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/i86xpv/io/privcmd.c b/usr/src/uts/i86xpv/io/privcmd.c index d33109d41e..838dbc87c0 100644 --- a/usr/src/uts/i86xpv/io/privcmd.c +++ b/usr/src/uts/i86xpv/io/privcmd.c @@ -368,13 +368,15 @@ static struct dev_ops privcmd_dv_ops = { DEVO_REV, 0, privcmd_getinfo, - nulldev, /* identify */ - nulldev, /* probe */ + nulldev, /* identify */ + nulldev, /* probe */ privcmd_attach, privcmd_detach, - nodev, /* reset */ + nodev, /* reset */ &privcmd_cb_ops, - 0 /* struct bus_ops */ + 0, /* struct bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/dtrace/fbt.c b/usr/src/uts/intel/dtrace/fbt.c index 78374511a2..a5a4292a61 100644 --- a/usr/src/uts/intel/dtrace/fbt.c +++ b/usr/src/uts/intel/dtrace/fbt.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/modctl.h> #include <sys/dtrace.h> @@ -810,7 +809,8 @@ static struct dev_ops fbt_ops = { nodev, /* reset */ &fbt_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/intel/dtrace/sdt.c b/usr/src/uts/intel/dtrace/sdt.c index e5ac9e8d3d..5217ea6ae3 100644 --- a/usr/src/uts/intel/dtrace/sdt.c +++ b/usr/src/uts/intel/dtrace/sdt.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/modctl.h> #include <sys/sunddi.h> @@ -520,7 +519,8 @@ static struct dev_ops sdt_ops = { nodev, /* reset */ &sdt_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/intel/io/agpgart/agpgart.c b/usr/src/uts/intel/io/agpgart/agpgart.c index 48a4897937..1eeb4c247c 100644 --- a/usr/src/uts/intel/io/agpgart/agpgart.c +++ b/usr/src/uts/intel/io/agpgart/agpgart.c @@ -6,7 +6,6 @@ * Portions Philip Brown phil@bolthole.com Dec 2001 */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * agpgart driver @@ -3226,11 +3225,12 @@ static struct dev_ops agpgart_ops = { &agpgart_cb_ops, /* devo_cb_ops */ (struct bus_ops *)0, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "AGP driver v1.9", + "AGP driver", &agpgart_ops, }; diff --git a/usr/src/uts/intel/io/agpgart/agptarget.c b/usr/src/uts/intel/io/agpgart/agptarget.c index 3f1f806f5e..c93adafaef 100644 --- a/usr/src/uts/intel/io/agpgart/agptarget.c +++ b/usr/src/uts/intel/io/agpgart/agptarget.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/systm.h> #include <sys/conf.h> @@ -860,6 +859,7 @@ static struct dev_ops agp_target_ops = { &agp_target_cb_ops, /* devo_cb_ops */ 0, /* devo_bus_ops */ 0, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/agpgart/amd64_gart.c b/usr/src/uts/intel/io/agpgart/amd64_gart.c index 0958b5d15a..b374c875b5 100644 --- a/usr/src/uts/intel/io/agpgart/amd64_gart.c +++ b/usr/src/uts/intel/io/agpgart/amd64_gart.c @@ -388,6 +388,7 @@ static struct dev_ops amd64_gart_ops = { &amd64_gart_cb_ops, /* devo_cb_ops */ 0, /* devo_bus_ops */ 0, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/amd8111s/amd8111s_main.c b/usr/src/uts/intel/io/amd8111s/amd8111s_main.c index eb588d8d3f..6587531959 100755..100644 --- a/usr/src/uts/intel/io/amd8111s/amd8111s_main.c +++ b/usr/src/uts/intel/io/amd8111s/amd8111s_main.c @@ -3,8 +3,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * Copyright (c) 2001-2006 Advanced Micro Devices, Inc. All rights reserved. * @@ -52,11 +50,6 @@ * nationals of countries subject to national security controls. */ - -#pragma ident "@(#)$RCSfile: solaris_odl.c,v $ $Revision: 1.3 $ " \ -" $Date: 2004/04/22 15:22:54 $ AMD" - - /* include files */ #include <sys/disp.h> #include <sys/atomic.h> @@ -69,7 +62,7 @@ #define AMD8111S_SPLIT 128 #define AMD8111S_SEND_MAX 64 -static char ident[] = "AMD8111 10/100M Ethernet 1.0"; +static char ident[] = "AMD8111 10/100M Ethernet"; /* * Driver Entry Points @@ -137,7 +130,8 @@ static struct dev_ops amd8111s_dev_ops = { nodev, /* devo_reset */ &amd8111s_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - nodev + nodev, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; struct modldrv amd8111s_modldrv = { diff --git a/usr/src/uts/intel/io/amr/amr.c b/usr/src/uts/intel/io/amr/amr.c index 345e5e9f2d..53d9529326 100644 --- a/usr/src/uts/intel/io/amr/amr.c +++ b/usr/src/uts/intel/io/amr/amr.c @@ -223,7 +223,8 @@ static struct dev_ops amr_ops = { nodev, /* reset */ NULL, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - 0 /* power */ + 0, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -256,7 +257,7 @@ _init(void) int error; error = ddi_soft_state_init((void *)&amr_softstatep, - sizeof (struct amr_softs), 0); + sizeof (struct amr_softs), 0); if (error != 0) goto error_out; @@ -335,16 +336,16 @@ amr_attach(dev_info_t *dev, ddi_attach_cmd_t cmd) softs->dev_info_p = dev; AMRDB_PRINT((CE_NOTE, "softs: %p; busy_slot addr: %p", - (void *)softs, (void *)&(softs->amr_busyslots))); + (void *)softs, (void *)&(softs->amr_busyslots))); if (pci_config_setup(dev, &(softs->pciconfig_handle)) - != DDI_SUCCESS) { + != DDI_SUCCESS) { goto error_out; } softs->state |= AMR_STATE_PCI_CONFIG_SETUP; error = ddi_regs_map_setup(dev, 1, &cfgaddr, 0, 0, - &accattr, &(softs->regsmap_handle)); + &accattr, &(softs->regsmap_handle)); if (error != DDI_SUCCESS) { goto error_out; } @@ -367,9 +368,9 @@ amr_attach(dev_info_t *dev, ddi_attach_cmd_t cmd) if (!(command & PCI_COMM_ME)) { command |= PCI_COMM_ME; pci_config_put16(softs->pciconfig_handle, - PCI_CONF_COMM, command); + PCI_CONF_COMM, command); command = pci_config_get16(softs->pciconfig_handle, - PCI_CONF_COMM); + PCI_CONF_COMM); if (!(command & PCI_COMM_ME)) goto error_out; } @@ -378,17 +379,18 @@ amr_attach(dev_info_t *dev, ddi_attach_cmd_t cmd) * Allocate and connect our interrupt. */ if (ddi_intr_hilevel(dev, 0) != 0) { - AMRDB_PRINT((CE_NOTE, "High level interrupt is not supported!")); - goto error_out; + AMRDB_PRINT((CE_NOTE, + "High level interrupt is not supported!")); + goto error_out; } if (ddi_get_iblock_cookie(dev, 0, &softs->iblock_cookiep) - != DDI_SUCCESS) { + != DDI_SUCCESS) { goto error_out; } mutex_init(&softs->cmd_mutex, NULL, MUTEX_DRIVER, - softs->iblock_cookiep); /* should be used in interrupt */ + softs->iblock_cookiep); /* should be used in interrupt */ mutex_init(&softs->queue_mutex, NULL, MUTEX_DRIVER, softs->iblock_cookiep); /* should be used in interrupt */ mutex_init(&softs->periodic_mutex, NULL, MUTEX_DRIVER, @@ -419,13 +421,13 @@ amr_attach(dev_info_t *dev, ddi_attach_cmd_t cmd) * configured for this instance. */ if ((softs->amr_taskq = ddi_taskq_create(dev, "amr_taskq", - MAX(softs->amr_nlogdrives, 1), TASKQ_DEFAULTPRI, 0)) == NULL) { + MAX(softs->amr_nlogdrives, 1), TASKQ_DEFAULTPRI, 0)) == NULL) { goto error_out; } softs->state |= AMR_STATE_TASKQ_SETUP; if (ddi_add_intr(dev, 0, &softs->iblock_cookiep, NULL, - amr_intr, (caddr_t)softs) != DDI_SUCCESS) { + amr_intr, (caddr_t)softs) != DDI_SUCCESS) { goto error_out; } softs->state |= AMR_STATE_INTR_SETUP; @@ -440,14 +442,14 @@ amr_attach(dev_info_t *dev, ddi_attach_cmd_t cmd) /* schedule a thread for periodic check */ mutex_enter(&softs->periodic_mutex); softs->timeout_t = timeout(amr_periodic, (void *)softs, - drv_usectohz(500000*AMR_PERIODIC_TIMEOUT)); + drv_usectohz(500000*AMR_PERIODIC_TIMEOUT)); softs->state |= AMR_STATE_TIMEOUT_ENABLED; mutex_exit(&softs->periodic_mutex); /* print firmware information in verbose mode */ cmn_err(CE_CONT, "?MegaRaid %s %s attached.", - softs->amr_product_info.pi_product_name, - softs->amr_product_info.pi_firmware_ver); + softs->amr_product_info.pi_product_name, + softs->amr_product_info.pi_firmware_ver); /* clear any interrupts */ AMR_QCLEAR_INTR(softs); @@ -463,11 +465,11 @@ error_out: if (softs->state & AMR_STATE_SG_TABLES_SETUP) { for (i = 0; i < softs->sg_max_count; i++) { (void) ddi_dma_unbind_handle( - softs->sg_items[i].sg_handle); + softs->sg_items[i].sg_handle); (void) ddi_dma_mem_free( - &((softs->sg_items[i]).sg_acc_handle)); + &((softs->sg_items[i]).sg_acc_handle)); (void) ddi_dma_free_handle( - &(softs->sg_items[i].sg_handle)); + &(softs->sg_items[i].sg_handle)); } } if (softs->state & AMR_STATE_MAILBOX_SETUP) { @@ -524,11 +526,11 @@ static int amr_detach(dev_info_t *dev, ddi_detach_cmd_t cmd) for (i = 0; i < softs->sg_max_count; i++) { (void) ddi_dma_unbind_handle( - softs->sg_items[i].sg_handle); + softs->sg_items[i].sg_handle); (void) ddi_dma_mem_free( - &((softs->sg_items[i]).sg_acc_handle)); + &((softs->sg_items[i]).sg_acc_handle)); (void) ddi_dma_free_handle( - &(softs->sg_items[i].sg_handle)); + &(softs->sg_items[i].sg_handle)); } (void) ddi_dma_unbind_handle(softs->mbox_dma_handle); @@ -558,8 +560,8 @@ static int amr_detach(dev_info_t *dev, ddi_detach_cmd_t cmd) /* print firmware information in verbose mode */ cmn_err(CE_NOTE, "?MegaRaid %s %s detached.", - softs->amr_product_info.pi_product_name, - softs->amr_product_info.pi_firmware_ver); + softs->amr_product_info.pi_product_name, + softs->amr_product_info.pi_firmware_ver); ddi_soft_state_free(amr_softstatep, instance); @@ -630,41 +632,41 @@ amr_setup_mbox(struct amr_softs *softs) size_t mbox_len; if (ddi_dma_alloc_handle( - softs->dev_info_p, - &addr_dma_attr, - DDI_DMA_SLEEP, - NULL, - &softs->mbox_dma_handle) != DDI_SUCCESS) { + softs->dev_info_p, + &addr_dma_attr, + DDI_DMA_SLEEP, + NULL, + &softs->mbox_dma_handle) != DDI_SUCCESS) { AMRDB_PRINT((CE_NOTE, "Cannot alloc dma handle for mailbox")); goto error_out; } if (ddi_dma_mem_alloc( - softs->mbox_dma_handle, - sizeof (struct amr_mailbox) + 16, - &accattr, - DDI_DMA_RDWR | DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, - NULL, - (caddr_t *)(&softs->mbox), - &mbox_len, - &softs->mbox_acc_handle) != - DDI_SUCCESS) { + softs->mbox_dma_handle, + sizeof (struct amr_mailbox) + 16, + &accattr, + DDI_DMA_RDWR | DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, + NULL, + (caddr_t *)(&softs->mbox), + &mbox_len, + &softs->mbox_acc_handle) != + DDI_SUCCESS) { AMRDB_PRINT((CE_WARN, "Cannot alloc dma memory for mailbox")); goto error_out; } if (ddi_dma_addr_bind_handle( - softs->mbox_dma_handle, - NULL, - (caddr_t)softs->mbox, - mbox_len, - DDI_DMA_RDWR | DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, - NULL, - &softs->mbox_dma_cookie, - &softs->mbox_dma_cookien) != DDI_DMA_MAPPED) { + softs->mbox_dma_handle, + NULL, + (caddr_t)softs->mbox, + mbox_len, + DDI_DMA_RDWR | DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, + NULL, + &softs->mbox_dma_cookie, + &softs->mbox_dma_cookien) != DDI_DMA_MAPPED) { AMRDB_PRINT((CE_NOTE, "Cannot bind dma memory for mailbox")); goto error_out; @@ -676,14 +678,14 @@ amr_setup_mbox(struct amr_softs *softs) /* The phy address of mailbox must be aligned on a 16-byte boundary */ move = 16 - (((uint32_t)softs->mbox_dma_cookie.dmac_address)&0xf); softs->mbox_phyaddr = - (softs->mbox_dma_cookie.dmac_address + move); + (softs->mbox_dma_cookie.dmac_address + move); softs->mailbox = - (struct amr_mailbox *)(((uintptr_t)softs->mbox) + move); + (struct amr_mailbox *)(((uintptr_t)softs->mbox) + move); AMRDB_PRINT((CE_NOTE, "phraddy=%x, mailbox=%p, softs->mbox=%p, move=%x", - softs->mbox_phyaddr, (void *)softs->mailbox, - softs->mbox, move)); + softs->mbox_phyaddr, (void *)softs->mailbox, + softs->mbox, move)); return (DDI_SUCCESS); @@ -727,17 +729,17 @@ amr_periodic(void *data) pkt = softs->busycmd[i]->pkt; if ((pkt->pkt_time != 0) && - (ddi_get_time() - - softs->busycmd[i]->ac_timestamp > - pkt->pkt_time)) { + (ddi_get_time() - + softs->busycmd[i]->ac_timestamp > + pkt->pkt_time)) { cmn_err(CE_WARN, - "!timed out packet detected,\ + "!timed out packet detected,\ sc = %p, pkt = %p, index = %d, ac = %p", - (void *)softs, - (void *)pkt, - i, - (void *)softs->busycmd[i]); + (void *)softs, + (void *)pkt, + i, + (void *)softs->busycmd[i]); ac = softs->busycmd[i]; ac->ac_next = NULL; @@ -756,7 +758,7 @@ amr_periodic(void *data) pkt->pkt_statistics |= STAT_TIMEOUT; pkt->pkt_reason = CMD_TIMEOUT; if (!(pkt->pkt_flags & - FLAG_NOINTR) && pkt->pkt_comp) { + FLAG_NOINTR) && pkt->pkt_comp) { /* call pkt callback */ (*pkt->pkt_comp)(pkt); } @@ -770,7 +772,7 @@ amr_periodic(void *data) mutex_enter(&softs->periodic_mutex); if (softs->state & AMR_STATE_TIMEOUT_ENABLED) softs->timeout_t = timeout(amr_periodic, (void *)softs, - drv_usectohz(500000*AMR_PERIODIC_TIMEOUT)); + drv_usectohz(500000*AMR_PERIODIC_TIMEOUT)); mutex_exit(&softs->periodic_mutex); } @@ -799,36 +801,38 @@ amr_query_controller(struct amr_softs *softs) * Try to issue an ENQUIRY3 command */ if ((aex = amr_enquiry(softs, AMR_ENQ_BUFFER_SIZE, AMR_CMD_CONFIG, - AMR_CONFIG_ENQ3, AMR_CONFIG_ENQ3_SOLICITED_FULL)) != NULL) { + AMR_CONFIG_ENQ3, AMR_CONFIG_ENQ3_SOLICITED_FULL)) != NULL) { AMRDB_PRINT((CE_NOTE, "First enquiry")); for (ldrv = 0; ldrv < aex->ae_numldrives; ldrv++) { - softs->logic_drive[ldrv].al_size = - aex->ae_drivesize[ldrv]; - softs->logic_drive[ldrv].al_state = - aex->ae_drivestate[ldrv]; - softs->logic_drive[ldrv].al_properties = - aex->ae_driveprop[ldrv]; - AMRDB_PRINT((CE_NOTE, - " drive %d: size: %d state %x properties %x\n", - ldrv, - softs->logic_drive[ldrv].al_size, - softs->logic_drive[ldrv].al_state, - softs->logic_drive[ldrv].al_properties)); - - if (softs->logic_drive[ldrv].al_state == AMR_LDRV_OFFLINE) - cmn_err(CE_NOTE, "!instance %d log-drive %d is offline", - instance, ldrv); - else - softs->amr_nlogdrives++; + softs->logic_drive[ldrv].al_size = + aex->ae_drivesize[ldrv]; + softs->logic_drive[ldrv].al_state = + aex->ae_drivestate[ldrv]; + softs->logic_drive[ldrv].al_properties = + aex->ae_driveprop[ldrv]; + AMRDB_PRINT((CE_NOTE, + " drive %d: size: %d state %x properties %x\n", + ldrv, + softs->logic_drive[ldrv].al_size, + softs->logic_drive[ldrv].al_state, + softs->logic_drive[ldrv].al_properties)); + + if (softs->logic_drive[ldrv].al_state == + AMR_LDRV_OFFLINE) + cmn_err(CE_NOTE, + "!instance %d log-drive %d is offline", + instance, ldrv); + else + softs->amr_nlogdrives++; } kmem_free(aex, AMR_ENQ_BUFFER_SIZE); if ((ap = amr_enquiry(softs, AMR_ENQ_BUFFER_SIZE, - AMR_CMD_CONFIG, AMR_CONFIG_PRODUCT_INFO, 0)) == NULL) { + AMR_CMD_CONFIG, AMR_CONFIG_PRODUCT_INFO, 0)) == NULL) { AMRDB_PRINT((CE_NOTE, - "Cannot obtain product data from controller")); + "Cannot obtain product data from controller")); return (EIO); } @@ -837,14 +841,14 @@ amr_query_controller(struct amr_softs *softs) softs->maxio = ap->ap_maxio; bcopy(ap->ap_firmware, softs->amr_product_info.pi_firmware_ver, - AMR_FIRMWARE_VER_SIZE); + AMR_FIRMWARE_VER_SIZE); softs->amr_product_info. - pi_firmware_ver[AMR_FIRMWARE_VER_SIZE] = 0; + pi_firmware_ver[AMR_FIRMWARE_VER_SIZE] = 0; bcopy(ap->ap_product, softs->amr_product_info.pi_product_name, - AMR_PRODUCT_INFO_SIZE); + AMR_PRODUCT_INFO_SIZE); softs->amr_product_info. - pi_product_name[AMR_PRODUCT_INFO_SIZE] = 0; + pi_product_name[AMR_PRODUCT_INFO_SIZE] = 0; kmem_free(ap, AMR_ENQ_BUFFER_SIZE); AMRDB_PRINT((CE_NOTE, "maxio=%d", softs->maxio)); @@ -855,14 +859,14 @@ amr_query_controller(struct amr_softs *softs) /* failed, try the 8LD ENQUIRY commands */ if ((ae = (struct amr_enquiry *)amr_enquiry(softs, - AMR_ENQ_BUFFER_SIZE, AMR_CMD_EXT_ENQUIRY2, 0, 0)) - == NULL) { + AMR_ENQ_BUFFER_SIZE, AMR_CMD_EXT_ENQUIRY2, 0, 0)) + == NULL) { if ((ae = (struct amr_enquiry *)amr_enquiry(softs, - AMR_ENQ_BUFFER_SIZE, AMR_CMD_ENQUIRY, 0, 0)) - == NULL) { + AMR_ENQ_BUFFER_SIZE, AMR_CMD_ENQUIRY, 0, 0)) + == NULL) { AMRDB_PRINT((CE_NOTE, - "Cannot obtain configuration data")); + "Cannot obtain configuration data")); return (EIO); } ae->ae_signature = 0; @@ -872,24 +876,26 @@ amr_query_controller(struct amr_softs *softs) * Fetch current state of logical drives. */ for (ldrv = 0; ldrv < ae->ae_ldrv.al_numdrives; ldrv++) { - softs->logic_drive[ldrv].al_size = - ae->ae_ldrv.al_size[ldrv]; - softs->logic_drive[ldrv].al_state = - ae->ae_ldrv.al_state[ldrv]; - softs->logic_drive[ldrv].al_properties = - ae->ae_ldrv.al_properties[ldrv]; - AMRDB_PRINT((CE_NOTE, - " ********* drive %d: %d state %x properties %x", - ldrv, - softs->logic_drive[ldrv].al_size, - softs->logic_drive[ldrv].al_state, - softs->logic_drive[ldrv].al_properties)); - - if (softs->logic_drive[ldrv].al_state == AMR_LDRV_OFFLINE) - cmn_err(CE_NOTE, "!instance %d log-drive %d is offline", - instance, ldrv); - else - softs->amr_nlogdrives++; + softs->logic_drive[ldrv].al_size = + ae->ae_ldrv.al_size[ldrv]; + softs->logic_drive[ldrv].al_state = + ae->ae_ldrv.al_state[ldrv]; + softs->logic_drive[ldrv].al_properties = + ae->ae_ldrv.al_properties[ldrv]; + AMRDB_PRINT((CE_NOTE, + " ********* drive %d: %d state %x properties %x", + ldrv, + softs->logic_drive[ldrv].al_size, + softs->logic_drive[ldrv].al_state, + softs->logic_drive[ldrv].al_properties)); + + if (softs->logic_drive[ldrv].al_state == + AMR_LDRV_OFFLINE) + cmn_err(CE_NOTE, + "!instance %d log-drive %d is offline", + instance, ldrv); + else + softs->amr_nlogdrives++; } softs->maxdrives = AMR_8LD_MAXDRIVES; @@ -992,9 +998,9 @@ amr_poll_command(struct amr_command *ac) volatile uint32_t done_flag; AMRDB_PRINT((CE_NOTE, "Amr_Poll bcopy(%p, %p, %d)", - (void *)&ac->mailbox, - (void *)softs->mailbox, - (uint32_t)AMR_MBOX_CMDSIZE)); + (void *)&ac->mailbox, + (void *)softs->mailbox, + (uint32_t)AMR_MBOX_CMDSIZE)); mutex_enter(&softs->cmd_mutex); @@ -1008,15 +1014,15 @@ amr_poll_command(struct amr_command *ac) if ((ac->mailbox.mb_command == AMR_CMD_LREAD) || (ac->mailbox.mb_command == AMR_CMD_LWRITE)) { bcopy(ac->sgtable, - softs->sg_items[softs->sg_max_count - 1].sg_table, - sizeof (struct amr_sgentry) * AMR_NSEG); + softs->sg_items[softs->sg_max_count - 1].sg_table, + sizeof (struct amr_sgentry) * AMR_NSEG); (void) ddi_dma_sync( - softs->sg_items[softs->sg_max_count - 1].sg_handle, - 0, 0, DDI_DMA_SYNC_FORDEV); + softs->sg_items[softs->sg_max_count - 1].sg_handle, + 0, 0, DDI_DMA_SYNC_FORDEV); ac->mailbox.mb_physaddr = - softs->sg_items[softs->sg_max_count - 1].sg_phyaddr; + softs->sg_items[softs->sg_max_count - 1].sg_phyaddr; } bcopy(&ac->mailbox, (void *)softs->mailbox, AMR_MBOX_CMDSIZE); @@ -1038,7 +1044,7 @@ amr_poll_command(struct amr_command *ac) (void) ddi_dma_sync(softs->mbox_dma_handle, 0, 0, DDI_DMA_SYNC_FORCPU); AMR_DELAY((softs->mailbox->mb_nstatus != AMR_POLL_DEFAULT_NSTATUS), - 1000, done_flag); + 1000, done_flag); if (!done_flag) { mutex_exit(&softs->cmd_mutex); return (1); @@ -1088,11 +1094,11 @@ amr_setup_sg(struct amr_softs *softs) (softs->sg_items[i]).sg_handle = NULL; if (ddi_dma_alloc_handle( - softs->dev_info_p, - &addr_dma_attr, - DDI_DMA_SLEEP, - NULL, - &((softs->sg_items[i]).sg_handle)) != DDI_SUCCESS) { + softs->dev_info_p, + &addr_dma_attr, + DDI_DMA_SLEEP, + NULL, + &((softs->sg_items[i]).sg_handle)) != DDI_SUCCESS) { AMRDB_PRINT((CE_WARN, "Cannot alloc dma handle for s/g table")); @@ -1100,14 +1106,14 @@ amr_setup_sg(struct amr_softs *softs) } if (ddi_dma_mem_alloc((softs->sg_items[i]).sg_handle, - sizeof (struct amr_sgentry) * AMR_NSEG, - &accattr, - DDI_DMA_RDWR | DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, NULL, - (caddr_t *)(&(softs->sg_items[i]).sg_table), - &len, - &(softs->sg_items[i]).sg_acc_handle) - != DDI_SUCCESS) { + sizeof (struct amr_sgentry) * AMR_NSEG, + &accattr, + DDI_DMA_RDWR | DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, NULL, + (caddr_t *)(&(softs->sg_items[i]).sg_table), + &len, + &(softs->sg_items[i]).sg_acc_handle) + != DDI_SUCCESS) { AMRDB_PRINT((CE_WARN, "Cannot allocate DMA memory")); @@ -1115,15 +1121,15 @@ amr_setup_sg(struct amr_softs *softs) } if (ddi_dma_addr_bind_handle( - (softs->sg_items[i]).sg_handle, - NULL, - (caddr_t)((softs->sg_items[i]).sg_table), - len, - DDI_DMA_RDWR | DDI_DMA_CONSISTENT, - DDI_DMA_SLEEP, - NULL, - &cookie, - &cookien) != DDI_DMA_MAPPED) { + (softs->sg_items[i]).sg_handle, + NULL, + (caddr_t)((softs->sg_items[i]).sg_table), + len, + DDI_DMA_RDWR | DDI_DMA_CONSISTENT, + DDI_DMA_SLEEP, + NULL, + &cookie, + &cookien) != DDI_DMA_MAPPED) { AMRDB_PRINT((CE_WARN, "Cannot bind communication area for s/g table")); @@ -1192,7 +1198,7 @@ amr_setup_dmamap(struct amr_command *ac, ddi_dma_cookie_t *buffer_dma_cookiep, */ if ((ac->current_cookie + i + 1) != ac->num_of_cookie) ddi_dma_nextcookie(ac->buffer_dma_handle, - buffer_dma_cookiep); + buffer_dma_cookiep); } ac->transfer_size = size; @@ -1211,7 +1217,7 @@ amr_enquiry_mapcmd(struct amr_command *ac, uint32_t data_size) uint_t dma_flags; AMRDB_PRINT((CE_NOTE, "Amr_enquiry_mapcmd called, ac=%p, flags=%x", - (void *)ac, ac->ac_flags)); + (void *)ac, ac->ac_flags)); if (ac->ac_flags & AMR_CMD_DATAOUT) { dma_flags = DDI_DMA_READ; @@ -1223,9 +1229,9 @@ amr_enquiry_mapcmd(struct amr_command *ac, uint32_t data_size) /* process the DMA by address bind mode */ if (ddi_dma_alloc_handle(softs->dev_info_p, - &addr_dma_attr, DDI_DMA_SLEEP, NULL, - &ac->buffer_dma_handle) != - DDI_SUCCESS) { + &addr_dma_attr, DDI_DMA_SLEEP, NULL, + &ac->buffer_dma_handle) != + DDI_SUCCESS) { AMRDB_PRINT((CE_WARN, "Cannot allocate addr DMA tag")); @@ -1233,15 +1239,15 @@ amr_enquiry_mapcmd(struct amr_command *ac, uint32_t data_size) } if (ddi_dma_mem_alloc(ac->buffer_dma_handle, - data_size, - &accattr, - dma_flags, - DDI_DMA_SLEEP, - NULL, - (caddr_t *)&ac->ac_data, - &len, - &ac->buffer_acc_handle) != - DDI_SUCCESS) { + data_size, + &accattr, + dma_flags, + DDI_DMA_SLEEP, + NULL, + (caddr_t *)&ac->ac_data, + &len, + &ac->buffer_acc_handle) != + DDI_SUCCESS) { AMRDB_PRINT((CE_WARN, "Cannot allocate DMA memory")); @@ -1249,13 +1255,13 @@ amr_enquiry_mapcmd(struct amr_command *ac, uint32_t data_size) } if ((ddi_dma_addr_bind_handle( - ac->buffer_dma_handle, - NULL, ac->ac_data, len, dma_flags, - DDI_DMA_SLEEP, NULL, &ac->buffer_dma_cookie, - &ac->num_of_cookie)) != DDI_DMA_MAPPED) { + ac->buffer_dma_handle, + NULL, ac->ac_data, len, dma_flags, + DDI_DMA_SLEEP, NULL, &ac->buffer_dma_cookie, + &ac->num_of_cookie)) != DDI_DMA_MAPPED) { AMRDB_PRINT((CE_WARN, - "Cannot bind addr for dma")); + "Cannot bind addr for dma")); goto error_out; } @@ -1291,20 +1297,20 @@ static void amr_enquiry_unmapcmd(struct amr_command *ac) { AMRDB_PRINT((CE_NOTE, "Amr_enquiry_unmapcmd called, ac=%p", - (void *)ac)); + (void *)ac)); /* if the command involved data at all and was mapped */ if ((ac->ac_flags & AMR_CMD_MAPPED) && ac->ac_data) { if (ac->buffer_dma_handle) (void) ddi_dma_unbind_handle( - ac->buffer_dma_handle); + ac->buffer_dma_handle); if (ac->buffer_acc_handle) { ddi_dma_mem_free(&ac->buffer_acc_handle); ac->buffer_acc_handle = NULL; } if (ac->buffer_dma_handle) { (void) ddi_dma_free_handle( - &ac->buffer_dma_handle); + &ac->buffer_dma_handle); ac->buffer_dma_handle = NULL; } } @@ -1325,7 +1331,7 @@ amr_mapcmd(struct amr_command *ac, int (*callback)(), caddr_t arg) int (*cb)(caddr_t); AMRDB_PRINT((CE_NOTE, "Amr_mapcmd called, ac=%p, flags=%x", - (void *)ac, ac->ac_flags)); + (void *)ac, ac->ac_flags)); if (ac->ac_flags & AMR_CMD_DATAOUT) { dma_flags = DDI_DMA_READ; @@ -1351,23 +1357,23 @@ amr_mapcmd(struct amr_command *ac, int (*callback)(), caddr_t arg) if (!(ac->ac_flags & AMR_CMD_MAPPED)) { /* process the DMA by buffer bind mode */ error = ddi_dma_buf_bind_handle(ac->buffer_dma_handle, - ac->ac_buf, - dma_flags, - cb, - arg, - &ac->buffer_dma_cookie, - &ac->num_of_cookie); + ac->ac_buf, + dma_flags, + cb, + arg, + &ac->buffer_dma_cookie, + &ac->num_of_cookie); switch (error) { case DDI_DMA_PARTIAL_MAP: if (ddi_dma_numwin(ac->buffer_dma_handle, - &ac->num_of_win) == DDI_FAILURE) { + &ac->num_of_win) == DDI_FAILURE) { AMRDB_PRINT((CE_WARN, - "Cannot get dma num win")); + "Cannot get dma num win")); (void) ddi_dma_unbind_handle( - ac->buffer_dma_handle); + ac->buffer_dma_handle); (void) ddi_dma_free_handle( - &ac->buffer_dma_handle); + &ac->buffer_dma_handle); ac->buffer_dma_handle = NULL; return (DDI_FAILURE); } @@ -1381,10 +1387,10 @@ amr_mapcmd(struct amr_command *ac, int (*callback)(), caddr_t arg) default: AMRDB_PRINT((CE_WARN, - "Cannot bind buf for dma")); + "Cannot bind buf for dma")); (void) ddi_dma_free_handle( - &ac->buffer_dma_handle); + &ac->buffer_dma_handle); ac->buffer_dma_handle = NULL; return (DDI_FAILURE); } @@ -1396,9 +1402,9 @@ amr_mapcmd(struct amr_command *ac, int (*callback)(), caddr_t arg) /* get the next window */ ac->current_win++; (void) ddi_dma_getwin(ac->buffer_dma_handle, - ac->current_win, &off, &len, - &ac->buffer_dma_cookie, - &ac->num_of_cookie); + ac->current_win, &off, &len, + &ac->buffer_dma_cookie, + &ac->num_of_cookie); ac->current_cookie = 0; } @@ -1407,7 +1413,7 @@ amr_mapcmd(struct amr_command *ac, int (*callback)(), caddr_t arg) ac->current_cookie += AMR_NSEG; } else { amr_setup_dmamap(ac, &ac->buffer_dma_cookie, - ac->num_of_cookie - ac->current_cookie); + ac->num_of_cookie - ac->current_cookie); ac->current_cookie = AMR_LAST_COOKIE_TAG; } @@ -1421,11 +1427,11 @@ static void amr_unmapcmd(struct amr_command *ac) { AMRDB_PRINT((CE_NOTE, "Amr_unmapcmd called, ac=%p", - (void *)ac)); + (void *)ac)); /* if the command involved data at all and was mapped */ if ((ac->ac_flags & AMR_CMD_MAPPED) && - ac->ac_buf && ac->buffer_dma_handle) + ac->ac_buf && ac->buffer_dma_handle) (void) ddi_dma_unbind_handle(ac->buffer_dma_handle); ac->ac_flags &= ~AMR_CMD_MAPPED; @@ -1457,7 +1463,7 @@ amr_setup_tran(dev_info_t *dip, struct amr_softs *softp) softp->hba_tran->tran_sd = NULL; if (scsi_hba_attach_setup(dip, &buffer_dma_attr, softp->hba_tran, - SCSI_HBA_TRAN_CLONE) != DDI_SUCCESS) { + SCSI_HBA_TRAN_CLONE) != DDI_SUCCESS) { scsi_hba_tran_free(softp->hba_tran); softp->hba_tran = NULL; return (DDI_FAILURE); @@ -1476,7 +1482,7 @@ amr_tran_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, uchar_t lun = sd->sd_address.a_lun; softs = (struct amr_softs *) - (sd->sd_address.a_hba_tran->tran_hba_private); + (sd->sd_address.a_hba_tran->tran_hba_private); if ((lun == 0) && (target < AMR_MAXLD)) if (softs->logic_drive[target].al_state != AMR_LDRV_OFFLINE) @@ -1496,12 +1502,12 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) struct amr_command *ac; AMRDB_PRINT((CE_NOTE, "amr_tran_start, cmd=%X,target=%d,lun=%d", - cdbp->scc_cmd, ap->a_target, ap->a_lun)); + cdbp->scc_cmd, ap->a_target, ap->a_lun)); softs = (struct amr_softs *)(ap->a_hba_tran->tran_hba_private); if ((ap->a_lun != 0) || (ap->a_target >= AMR_MAXLD) || - (softs->logic_drive[ap->a_target].al_state == - AMR_LDRV_OFFLINE)) { + (softs->logic_drive[ap->a_target].al_state == + AMR_LDRV_OFFLINE)) { cmn_err(CE_WARN, "target or lun is not correct!"); ret = TRAN_BADPKT; return (ret); @@ -1524,9 +1530,9 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) if (pkt->pkt_flags & FLAG_NOINTR) { (void) amr_poll_command(ac); pkt->pkt_state |= (STATE_GOT_BUS - | STATE_GOT_TARGET - | STATE_SENT_CMD - | STATE_XFERRED_DATA); + | STATE_GOT_TARGET + | STATE_SENT_CMD + | STATE_XFERRED_DATA); *pkt->pkt_scbp = 0; pkt->pkt_statistics |= STAT_SYNC; pkt->pkt_reason = CMD_CMPLT; @@ -1570,13 +1576,13 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) /* Enable Tag Queue */ inqp.inq_cmdque = 1; bcopy("MegaRaid", inqp.inq_vid, - sizeof (inqp.inq_vid)); + sizeof (inqp.inq_vid)); bcopy(softs->amr_product_info.pi_product_name, - inqp.inq_pid, - AMR_PRODUCT_INFO_SIZE); + inqp.inq_pid, + AMR_PRODUCT_INFO_SIZE); bcopy(softs->amr_product_info.pi_firmware_ver, - inqp.inq_revision, - AMR_FIRMWARE_VER_SIZE); + inqp.inq_revision, + AMR_FIRMWARE_VER_SIZE); } amr_unmapcmd(ac); @@ -1584,14 +1590,14 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) if (bp->b_flags & (B_PHYS | B_PAGEIO)) bp_mapin(bp); bcopy(&inqp, bp->b_un.b_addr, - sizeof (struct scsi_inquiry)); + sizeof (struct scsi_inquiry)); pkt->pkt_state |= STATE_XFERRED_DATA; } pkt->pkt_reason = CMD_CMPLT; pkt->pkt_state |= (STATE_GOT_BUS - | STATE_GOT_TARGET - | STATE_SENT_CMD); + | STATE_GOT_TARGET + | STATE_SENT_CMD); *pkt->pkt_scbp = 0; ret = TRAN_ACCEPT; if (!(pkt->pkt_flags & FLAG_NOINTR)) @@ -1614,9 +1620,9 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) } pkt->pkt_reason = CMD_CMPLT; pkt->pkt_state |= (STATE_GOT_BUS - | STATE_GOT_TARGET - | STATE_SENT_CMD - | STATE_XFERRED_DATA); + | STATE_GOT_TARGET + | STATE_SENT_CMD + | STATE_XFERRED_DATA); *pkt->pkt_scbp = 0; ret = TRAN_ACCEPT; if (!(pkt->pkt_flags & FLAG_NOINTR)) @@ -1632,9 +1638,9 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) pkt->pkt_reason = CMD_CMPLT; pkt->pkt_state |= (STATE_GOT_BUS - | STATE_GOT_TARGET - | STATE_SENT_CMD - | STATE_XFERRED_DATA); + | STATE_GOT_TARGET + | STATE_SENT_CMD + | STATE_XFERRED_DATA); *pkt->pkt_scbp = 0; ret = TRAN_ACCEPT; if (!(pkt->pkt_flags & FLAG_NOINTR)) @@ -1657,8 +1663,8 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) } pkt->pkt_reason = CMD_CMPLT; pkt->pkt_state |= (STATE_GOT_BUS - | STATE_GOT_TARGET - | STATE_SENT_CMD); + | STATE_GOT_TARGET + | STATE_SENT_CMD); ret = TRAN_ACCEPT; *pkt->pkt_scbp = 0; if (!(pkt->pkt_flags & FLAG_NOINTR)) @@ -1669,10 +1675,10 @@ amr_tran_start(struct scsi_address *ap, struct scsi_pkt *pkt) amr_unmapcmd(ac); pkt->pkt_reason = CMD_INCOMPLETE; pkt->pkt_state = (STATE_GOT_BUS - | STATE_GOT_TARGET - | STATE_SENT_CMD - | STATE_GOT_STATUS - | STATE_ARQ_DONE); + | STATE_GOT_TARGET + | STATE_SENT_CMD + | STATE_GOT_STATUS + | STATE_ARQ_DONE); ret = TRAN_ACCEPT; *pkt->pkt_scbp = 0; amr_set_arq_data(pkt, KEY_ILLEGAL_REQUEST); @@ -1714,14 +1720,14 @@ amr_tran_reset(struct scsi_address *ap, int level) /* Acknowledge the card if there are any significant commands */ while (softs->amr_busyslots > 0) { AMR_DELAY((softs->mailbox->mb_busy == 0), - AMR_RETRYCOUNT, done_flag); + AMR_RETRYCOUNT, done_flag); if (!done_flag) { /* * command not completed, indicate the * problem and continue get ac */ cmn_err(CE_WARN, - "AMR command is not completed"); + "AMR command is not completed"); return (0); } @@ -1729,7 +1735,7 @@ amr_tran_reset(struct scsi_address *ap, int level) /* wait for the acknowledge from hardware */ AMR_BUSYWAIT(!(AMR_QGET_IDB(softs) & AMR_QIDB_ACK), - AMR_RETRYCOUNT, done_flag); + AMR_RETRYCOUNT, done_flag); if (!done_flag) { /* * command is not completed, return from the @@ -1760,10 +1766,10 @@ amr_tran_reset(struct scsi_address *ap, int level) * cases, the core file will be fine. */ cmn_err(CE_WARN, "This system contains a SCSI HBA card/driver " - "that doesn't support software reset. This " - "means that memory being used by the HBA for " - "DMA based reads could have been updated after " - "we panic'd."); + "that doesn't support software reset. This " + "means that memory being used by the HBA for " + "DMA based reads could have been updated after " + "we panic'd."); return (1); } else { /* return failure to sd */ @@ -1813,8 +1819,8 @@ amr_tran_setcap(struct scsi_address *ap, char *cap, int value, */ if (cap == NULL || whom == 0) { AMRDB_PRINT((CE_NOTE, - "Set Cap not supported, string = %s, whom=%d", - cap, whom)); + "Set Cap not supported, string = %s, whom=%d", + cap, whom)); return (-1); } @@ -1845,8 +1851,8 @@ amr_tran_init_pkt(struct scsi_address *ap, softs = (struct amr_softs *)(ap->a_hba_tran->tran_hba_private); if ((ap->a_lun != 0)||(ap->a_target >= AMR_MAXLD)|| - (softs->logic_drive[ap->a_target].al_state == - AMR_LDRV_OFFLINE)) { + (softs->logic_drive[ap->a_target].al_state == + AMR_LDRV_OFFLINE)) { return (NULL); } @@ -1855,8 +1861,8 @@ amr_tran_init_pkt(struct scsi_address *ap, slen = MAX(statuslen, sizeof (struct scsi_arq_status)); pkt = scsi_hba_pkt_alloc(softs->dev_info_p, ap, cmdlen, - slen, tgtlen, sizeof (struct amr_command), - callback, arg); + slen, tgtlen, sizeof (struct amr_command), + callback, arg); if (pkt == NULL) { AMRDB_PRINT((CE_WARN, "scsi_hba_pkt_alloc failed")); return (NULL); @@ -1881,11 +1887,11 @@ amr_tran_init_pkt(struct scsi_address *ap, } if (ddi_dma_alloc_handle(softs->dev_info_p, &buffer_dma_attr, - DDI_DMA_SLEEP, NULL, - &ac->buffer_dma_handle) != DDI_SUCCESS) { + DDI_DMA_SLEEP, NULL, + &ac->buffer_dma_handle) != DDI_SUCCESS) { AMRDB_PRINT((CE_WARN, - "Cannot allocate buffer DMA tag")); + "Cannot allocate buffer DMA tag")); scsi_hba_pkt_free(ap, pkt); return (NULL); @@ -1922,9 +1928,9 @@ amr_tran_init_pkt(struct scsi_address *ap, pkt->pkt_resid = bp->b_bcount - ac->data_transfered; AMRDB_PRINT((CE_NOTE, - "init pkt, pkt_resid=%d, b_bcount=%d, data_transfered=%d", - (uint32_t)pkt->pkt_resid, (uint32_t)bp->b_bcount, - ac->data_transfered)); + "init pkt, pkt_resid=%d, b_bcount=%d, data_transfered=%d", + (uint32_t)pkt->pkt_resid, (uint32_t)bp->b_bcount, + ac->data_transfered)); ASSERT(pkt->pkt_resid >= 0); @@ -1955,8 +1961,8 @@ amr_tran_sync_pkt(struct scsi_address *ap, struct scsi_pkt *pkt) if (ac->buffer_dma_handle) { (void) ddi_dma_sync(ac->buffer_dma_handle, 0, 0, - (ac->ac_flags & AMR_CMD_DATAIN) ? - DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU); + (ac->ac_flags & AMR_CMD_DATAIN) ? + DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU); } } @@ -1991,9 +1997,9 @@ amr_rw_command(struct amr_softs *softs, struct scsi_pkt *pkt, int target) ac->mailbox.mb_command = cmd; ac->mailbox.mb_blkcount = - (ac->transfer_size + AMR_BLKSIZE - 1)/AMR_BLKSIZE; + (ac->transfer_size + AMR_BLKSIZE - 1)/AMR_BLKSIZE; ac->mailbox.mb_lba = (ac->cmdlen == 10) ? - GETG1ADDR(cdbp) : GETG0ADDR(cdbp); + GETG1ADDR(cdbp) : GETG0ADDR(cdbp); ac->mailbox.mb_drive = (uint8_t)target; } @@ -2019,7 +2025,7 @@ amr_mode_sense(union scsi_cdb *cdbp, struct buf *bp, unsigned int capacity) headerp->bdesc_length = MODE_BLK_DESC_LENGTH; page3p = (struct mode_format *)((caddr_t)headerp + - MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH); + MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH); page3p->mode_page.code = BE_8(SD_MODE_SENSE_PAGE3_CODE); page3p->mode_page.length = BE_8(sizeof (struct mode_format)); page3p->data_bytes_sect = BE_16(AMR_DEFAULT_SECTORS); @@ -2032,7 +2038,7 @@ amr_mode_sense(union scsi_cdb *cdbp, struct buf *bp, unsigned int capacity) headerp->bdesc_length = MODE_BLK_DESC_LENGTH; page4p = (struct mode_geometry *)((caddr_t)headerp + - MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH); + MODE_HEADER_LENGTH + MODE_BLK_DESC_LENGTH); page4p->mode_page.code = BE_8(SD_MODE_SENSE_PAGE4_CODE); page4p->mode_page.length = BE_8(sizeof (struct mode_geometry)); page4p->heads = BE_8(AMR_DEFAULT_HEADS); @@ -2060,7 +2066,7 @@ amr_set_arq_data(struct scsi_pkt *pkt, uchar_t key) arqstat->sts_rqpkt_reason = CMD_CMPLT; arqstat->sts_rqpkt_resid = 0; arqstat->sts_rqpkt_state = STATE_GOT_BUS | STATE_GOT_TARGET | - STATE_SENT_CMD | STATE_XFERRED_DATA; + STATE_SENT_CMD | STATE_XFERRED_DATA; arqstat->sts_rqpkt_statistics = 0; arqstat->sts_sensedata.es_valid = 1; arqstat->sts_sensedata.es_class = CLASS_EXTENDED_SENSE; @@ -2105,15 +2111,16 @@ amr_start_waiting_queue(void *softp) softs->amr_busyslots++; bcopy(ac->sgtable, - softs->sg_items[slot].sg_table, - sizeof (struct amr_sgentry) * AMR_NSEG); + softs->sg_items[slot].sg_table, + sizeof (struct amr_sgentry) * + AMR_NSEG); (void) ddi_dma_sync( - softs->sg_items[slot].sg_handle, - 0, 0, DDI_DMA_SYNC_FORDEV); + softs->sg_items[slot].sg_handle, + 0, 0, DDI_DMA_SYNC_FORDEV); ac->mailbox.mb_physaddr = - softs->sg_items[slot].sg_phyaddr; + softs->sg_items[slot].sg_phyaddr; } /* take the cmd from the queue */ @@ -2130,26 +2137,26 @@ amr_start_waiting_queue(void *softp) softs->mailbox->mb_ack = 0; AMR_DELAY((softs->mailbox->mb_busy == 0), - AMR_RETRYCOUNT, done_flag); + AMR_RETRYCOUNT, done_flag); if (!done_flag) { /* * command not completed, indicate the * problem and continue get ac */ cmn_err(CE_WARN, - "AMR command is not completed"); + "AMR command is not completed"); break; } bcopy(&ac->mailbox, (void *)softs->mailbox, - AMR_MBOX_CMDSIZE); + AMR_MBOX_CMDSIZE); ac->ac_flags |= AMR_CMD_BUSY; (void) ddi_dma_sync(softs->mbox_dma_handle, - 0, 0, DDI_DMA_SYNC_FORDEV); + 0, 0, DDI_DMA_SYNC_FORDEV); AMR_QPUT_IDB(softs, - softs->mbox_phyaddr | AMR_QIDB_SUBMIT); + softs->mbox_phyaddr | AMR_QIDB_SUBMIT); /* * current ac is submitted @@ -2189,11 +2196,11 @@ amr_done(struct amr_softs *softs) if (softs->mailbox->mb_nstatus != 0) { (void) ddi_dma_sync(softs->mbox_dma_handle, - 0, 0, DDI_DMA_SYNC_FORCPU); + 0, 0, DDI_DMA_SYNC_FORCPU); /* save mailbox, which contains a list of completed commands */ bcopy((void *)(uintptr_t)(volatile void *)softs->mailbox, - &mbsave, sizeof (mbsave)); + &mbsave, sizeof (mbsave)); mbox = &mbsave; @@ -2201,7 +2208,7 @@ amr_done(struct amr_softs *softs) /* wait for the acknowledge from hardware */ AMR_BUSYWAIT(!(AMR_QGET_IDB(softs) & AMR_QIDB_ACK), - AMR_RETRYCOUNT, done_flag); + AMR_RETRYCOUNT, done_flag); if (!done_flag) { /* * command is not completed, return from the current @@ -2240,7 +2247,7 @@ amr_done(struct amr_softs *softs) } } else { AMRDB_PRINT((CE_WARN, - "ac in mailbox is NULL!")); + "ac in mailbox is NULL!")); } } } else { @@ -2255,7 +2262,7 @@ amr_done(struct amr_softs *softs) /* dispatch a thread to process the pending I/O if there is any */ if ((ddi_taskq_dispatch(softs->amr_taskq, amr_start_waiting_queue, - (void *)softs, DDI_NOSLEEP)) != DDI_SUCCESS) { + (void *)softs, DDI_NOSLEEP)) != DDI_SUCCESS) { cmn_err(CE_WARN, "No memory available to dispatch taskq"); } } @@ -2278,19 +2285,19 @@ amr_call_pkt_comp(register struct amr_command *head) if (ac->ac_status == AMR_STATUS_SUCCESS) { pkt->pkt_state |= (STATE_GOT_BUS - | STATE_GOT_TARGET - | STATE_SENT_CMD - | STATE_XFERRED_DATA); + | STATE_GOT_TARGET + | STATE_SENT_CMD + | STATE_XFERRED_DATA); pkt->pkt_reason = CMD_CMPLT; } else { pkt->pkt_state |= STATE_GOT_BUS - | STATE_ARQ_DONE; + | STATE_ARQ_DONE; pkt->pkt_reason = CMD_INCOMPLETE; amr_set_arq_data(pkt, KEY_HARDWARE_ERROR); } if (!(pkt->pkt_flags & FLAG_NOINTR) && - pkt->pkt_comp) { + pkt->pkt_comp) { (*pkt->pkt_comp)(pkt); } } diff --git a/usr/src/uts/intel/io/cpunex.c b/usr/src/uts/intel/io/cpunex.c index 11c569151d..27b6ba6f31 100644 --- a/usr/src/uts/intel/io/cpunex.c +++ b/usr/src/uts/intel/io/cpunex.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * CPU nexus driver @@ -74,12 +73,13 @@ static struct dev_ops cpunex_ops = { nodev, NULL, &cpunex_bus_ops, - NULL + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "cpu nexus driver v1.0", + "cpu nexus driver", &cpunex_ops }; diff --git a/usr/src/uts/intel/io/dktp/controller/ata/ata_common.c b/usr/src/uts/intel/io/dktp/controller/ata/ata_common.c index 44f6fb57cf..0fed39e1da 100644 --- a/usr/src/uts/intel/io/dktp/controller/ata/ata_common.c +++ b/usr/src/uts/intel/io/dktp/controller/ata/ata_common.c @@ -286,6 +286,29 @@ ata_devo_reset( return (0); } +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +int +ata_quiesce(dev_info_t *dip) +{ +#ifdef ATA_DEBUG + /* + * Turn off debugging + */ + ata_debug = 0; +#endif + + return (ata_devo_reset(dip, DDI_RESET_FORCE)); +} + static struct cb_ops ata_cb_ops = { ata_open, /* open */ @@ -319,7 +342,8 @@ static struct dev_ops ata_ops = { ata_devo_reset, /* reset */ &ata_cb_ops, /* driver operations */ NULL, /* bus operations */ - ata_power /* power */ + ata_power, /* power */ + ata_quiesce /* quiesce */ }; /* driver loadable module wrapper */ diff --git a/usr/src/uts/intel/io/dktp/disk/cmdk.c b/usr/src/uts/intel/io/dktp/disk/cmdk.c index d2a484c8d4..16a3a82745 100644 --- a/usr/src/uts/intel/io/dktp/disk/cmdk.c +++ b/usr/src/uts/intel/io/dktp/disk/cmdk.c @@ -178,7 +178,8 @@ struct dev_ops cmdk_ops = { nodev, /* reset */ &cmdk_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - cmdkpower /* power */ + cmdkpower, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/intel/io/dnet.c b/usr/src/uts/intel/io/dnet.c index 932c207928..dd88f97a89 100644 --- a/usr/src/uts/intel/io/dnet.c +++ b/usr/src/uts/intel/io/dnet.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * dnet -- DEC 21x4x @@ -336,7 +335,9 @@ static struct dev_ops dnetops = { dnetdetach, /* devo_detach */ nodev, /* devo_reset */ &cb_dnetops, /* devo_cb_ops */ - (struct bus_ops *)NULL /* devo_bus_ops */ + (struct bus_ops *)NULL, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/drm/i915_drv.c b/usr/src/uts/intel/io/drm/i915_drv.c index 178e6685ff..e9fbe666c8 100644 --- a/usr/src/uts/intel/io/drm/i915_drv.c +++ b/usr/src/uts/intel/io/drm/i915_drv.c @@ -49,7 +49,6 @@ * I915 driver is a device dependent driver only, it depends on a misc module * named drm for generic DRM operations. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include "drmP.h" #include "i915_drm.h" @@ -116,9 +115,10 @@ static struct dev_ops i915_dev_ops = { i915_attach, /* devo_attach */ i915_detach, /* devo_detach */ nodev, /* devo_reset */ - &drm_cb_ops, /* devo_cb_ops */ + &drm_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/drm/radeon_drv.c b/usr/src/uts/intel/io/drm/radeon_drv.c index b5d72aba7f..8bc827c814 100644 --- a/usr/src/uts/intel/io/drm/radeon_drv.c +++ b/usr/src/uts/intel/io/drm/radeon_drv.c @@ -82,9 +82,10 @@ static struct dev_ops radeon_dev_ops = { radeon_attach, /* devo_attach */ radeon_detach, /* devo_detach */ nodev, /* devo_reset */ - &drm_cb_ops, /* devo_cb_ops */ + &drm_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/intel_nb5000/intel_nbdrv.c b/usr/src/uts/intel/io/intel_nb5000/intel_nbdrv.c index 67d0a10301..d91bbb7888 100644 --- a/usr/src/uts/intel/io/intel_nb5000/intel_nbdrv.c +++ b/usr/src/uts/intel/io/intel_nb5000/intel_nbdrv.c @@ -497,7 +497,8 @@ static struct dev_ops inb_mc_ops = { nodev, /* devo_reset */ &inb_mc_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/logi.c b/usr/src/uts/intel/io/logi.c index 46b15a88f1..b5c09bbf6c 100644 --- a/usr/src/uts/intel/io/logi.c +++ b/usr/src/uts/intel/io/logi.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -147,8 +146,9 @@ struct dev_ops logi_ops = { logidetach, /* detach */ nodev, /* reset */ &logi_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ - + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; #ifndef BUILD_STATIC @@ -396,7 +396,7 @@ logiinit(dev_info_t *dip) PRF("logiinit: call BASE_IOA = %x\n", BASE_IOA); #endif old_probe = ddi_getprop(DDI_DEV_T_ANY, dip, 0, - "ignore-hardware-nodes", 0); + "ignore-hardware-nodes", 0); if (old_probe) { len = sizeof (int); @@ -478,7 +478,7 @@ logiopen(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *cred_p) printf("logiopen:entered\n"); #endif if (((unit = LOGIUNIT(*devp)) >= LOGI_MAXUNIT) || - (dip = logiunits[unit]) == NULL) + (dip = logiunits[unit]) == NULL) return (ENODEV); if (!mse_config.present) @@ -616,12 +616,12 @@ logiintr(caddr_t arg) { int stat = 0; char x_hi, - x_lo, - y_hi, - y_lo, - buttons, - x, - y; + x_lo, + y_hi, + y_lo, + buttons, + x, + y; struct strmseinfo *qp = (struct strmseinfo *)arg; mblk_t *bp; diff --git a/usr/src/uts/intel/io/mc-amd/mcamd_drv.c b/usr/src/uts/intel/io/mc-amd/mcamd_drv.c index 42f4933672..17db79af11 100644 --- a/usr/src/uts/intel/io/mc-amd/mcamd_drv.c +++ b/usr/src/uts/intel/io/mc-amd/mcamd_drv.c @@ -1689,6 +1689,7 @@ mc_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) return (DDI_FAILURE); } + static struct dev_ops mc_ops = { DEVO_REV, /* devo_rev */ 0, /* devo_refcnt */ @@ -1700,7 +1701,8 @@ static struct dev_ops mc_ops = { nodev, /* devo_reset */ &mc_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/mscsi.c b/usr/src/uts/intel/io/mscsi.c index 9622ad28ed..b727af8bb2 100644 --- a/usr/src/uts/intel/io/mscsi.c +++ b/usr/src/uts/intel/io/mscsi.c @@ -80,6 +80,7 @@ static int mscsi_detach(dev_info_t *devi, ddi_detach_cmd_t cmd); static int mscsi_reset(dev_info_t *devi, ddi_reset_cmd_t cmd); static int mscsi_info(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result); +static int mscsi_quiesce(dev_info_t *devi); struct dev_ops mscsi_ops = { DEVO_REV, /* devo_rev */ @@ -92,7 +93,8 @@ struct dev_ops mscsi_ops = { mscsi_reset, /* reset */ (struct cb_ops *)0, /* driver operations */ NULL, /* bus operations */ - NULL /* power operations */ + NULL, /* power operations */ + mscsi_quiesce, /* quiesce */ }; /* @@ -193,7 +195,7 @@ mscsi_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) return ((DEVI(pdevi)->devi_ops->devo_attach)(devi, cmd)); (void) ddi_prop_update_string(DDI_DEV_T_NONE, devi, - "mbus_type", MSCSI_NAME); + "mbus_type", MSCSI_NAME); ddi_report_dev(devi); return (DDI_SUCCESS); } @@ -221,3 +223,24 @@ mscsi_reset(dev_info_t *devi, ddi_reset_cmd_t cmd) return (DDI_SUCCESS); } + +/* + * quiesce(9E) entry point. + * + * This function is called when the system is single-threaded at high + * PIL with preemption disabled. Therefore, this function must not be + * blocked. + * + * This function returns DDI_SUCCESS on success, or DDI_FAILURE on failure. + * DDI_FAILURE indicates an error condition and should almost never happen. + */ +static int +mscsi_quiesce(dev_info_t *devi) +{ + dev_info_t *pdevi = ddi_get_parent(devi); + + if (mscsi_callback(pdevi) == DDI_SUCCESS) + return ((DEVI(pdevi)->devi_ops->devo_quiesce)(devi)); + + return (DDI_SUCCESS); +} diff --git a/usr/src/uts/intel/io/msm.c b/usr/src/uts/intel/io/msm.c index 8e0ab62179..d7f2d2b5c9 100644 --- a/usr/src/uts/intel/io/msm.c +++ b/usr/src/uts/intel/io/msm.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -148,8 +147,9 @@ struct dev_ops msm_ops = { msmdetach, /* detach */ nodev, /* reset */ &msm_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ - + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -259,7 +259,8 @@ msmattach(dev_info_t *dip, ddi_attach_cmd_t cmd) ddi_prop_remove_all(dip); #ifdef MSM_DEBUG if (msm_debug) - PRF("msmattach: ddi_create_minor_node failed\n"); + PRF("msmattach:" + " ddi_create_minor_node failed\n"); #endif return (DDI_FAILURE); } @@ -377,7 +378,7 @@ static int msminit(dev_info_t *dip) { unsigned char id1, - id2; + id2; int ioaddr; int old_probe; @@ -387,7 +388,7 @@ msminit(dev_info_t *dip) PRF("msminit: call mouse_base = %x\n", mouse_base); #endif old_probe = ddi_getprop(DDI_DEV_T_ANY, dip, 0, - "ignore-hardware-nodes", 0); + "ignore-hardware-nodes", 0); if (old_probe) { int len = sizeof (int); @@ -458,7 +459,7 @@ msmopen(queue_t *q, dev_t *devp, int flag, int sflag, printf("msmopen:entered\n"); #endif if (((unit = MSMUNIT(*devp)) >= MSM_MAXUNIT) || - (dip = msmunits[unit]) == NULL) + (dip = msmunits[unit]) == NULL) return (DDI_FAILURE); if (mousepresent == 0) { @@ -604,8 +605,8 @@ static uint_t msmintr(caddr_t arg) { char status, - x, - y; + x, + y; struct strmseinfo *qp = (struct strmseinfo *)arg; mblk_t *bp; diff --git a/usr/src/uts/intel/io/pci/pci_pci.c b/usr/src/uts/intel/io/pci/pci_pci.c index c64bd14440..f28aa8f454 100644 --- a/usr/src/uts/intel/io/pci/pci_pci.c +++ b/usr/src/uts/intel/io/pci/pci_pci.c @@ -172,7 +172,9 @@ struct dev_ops ppb_ops = { ppb_detach, /* detach */ nulldev, /* reset */ &ppb_cb_ops, /* driver operations */ - &ppb_bus_ops /* bus operations */ + &ppb_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/intel/io/pciex/pcie_pci.c b/usr/src/uts/intel/io/pciex/pcie_pci.c index d5fa9a7895..91ff644f5f 100644 --- a/usr/src/uts/intel/io/pciex/pcie_pci.c +++ b/usr/src/uts/intel/io/pciex/pcie_pci.c @@ -147,7 +147,9 @@ struct dev_ops pepb_ops = { pepb_detach, /* detach */ nulldev, /* reset */ &pepb_cb_ops, /* driver operations */ - &pepb_bus_ops /* bus operations */ + &pepb_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/intel/io/pit_beep.c b/usr/src/uts/intel/io/pit_beep.c index c95f903f87..7b95b48861 100644 --- a/usr/src/uts/intel/io/pit_beep.c +++ b/usr/src/uts/intel/io/pit_beep.c @@ -89,7 +89,8 @@ static struct dev_ops pit_beep_ops = { nodev, /* Reset */ &pit_beep_cb_ops, /* Driver operations */ 0, /* Bus operations */ - NULL /* Power */ + NULL, /* Power */ + ddi_quiesce_not_needed, /* quiesce */ }; diff --git a/usr/src/uts/intel/io/smcp/smcp.c b/usr/src/uts/intel/io/smcp/smcp.c index d303d0e7a2..a504c132ae 100644 --- a/usr/src/uts/intel/io/smcp/smcp.c +++ b/usr/src/uts/intel/io/smcp/smcp.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -190,7 +189,9 @@ static struct dev_ops smcg_ops = { SMCG_detach, /* devo_detach */ nodev, /* devo_reset */ &cb_smcg_ops, /* devo_cb_ops */ - (struct bus_ops *)NULL /* devo_bus_ops */ + (struct bus_ops *)NULL, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { @@ -374,7 +375,7 @@ SMCG_attach(dev_info_t *devinfo, ddi_attach_cmd_t cmd) } if (ddi_get_iblock_cookie(devinfo, 0, &macinfo->gldm_cookie) - != DDI_SUCCESS) + != DDI_SUCCESS) goto attach_fail_cleanup; /* @@ -813,7 +814,7 @@ SMCG_get_stats(gld_mac_info_t *macinfo, struct gld_stats *g_stats) else smcg->media = GLDM_UNKNOWN; smcg->duplex = (pAd->line_speed & LINE_SPEED_FULL_DUPLEX) ? - GLD_DUPLEX_FULL: GLD_DUPLEX_HALF; + GLD_DUPLEX_FULL: GLD_DUPLEX_HALF; if (pAd->line_speed & LINE_SPEED_100) smcg->speed = 100000000; else if (pAd->line_speed & LINE_SPEED_10) smcg->speed = 10000000; @@ -839,16 +840,16 @@ SMCG_get_stats(gld_mac_info_t *macinfo, struct gld_stats *g_stats) /* Stats which are calculated from other stats */ g_stats->glds_errxmt = - smcg->tx_CD_heartbeat + smcg->tx_max_collisions + - smcg->tx_carrier_lost + smcg->tx_underruns + - smcg->tx_ow_collision; + smcg->tx_CD_heartbeat + smcg->tx_max_collisions + + smcg->tx_carrier_lost + smcg->tx_underruns + + smcg->tx_ow_collision; g_stats->glds_errrcv = - smcg->rx_CRC_errors + smcg->rx_too_big + - smcg->rx_align_errors + smcg->rx_overruns + - smcg->short_count; + smcg->rx_CRC_errors + smcg->rx_too_big + + smcg->rx_align_errors + smcg->rx_overruns + + smcg->short_count; g_stats->glds_dot3_mac_xmt_error = smcg->tx_underruns; g_stats->glds_dot3_mac_rcv_error = - smcg->rx_overruns + smcg->short_count; + smcg->rx_overruns + smcg->short_count; return (GLD_SUCCESS); } @@ -921,7 +922,7 @@ SMCG_send(gld_mac_info_t *macinfo, mblk_t *mp) #ifdef DEBUG if (SMCG_debug & SMCGTRACE) cmn_err(CE_WARN, SMCG_NAME - "Send bind handle failure = 0x%x", rc); + "Send bind handle failure = 0x%x", rc); #endif mutex_exit(&smcg->txbuf_lock); return (GLD_FAILURE); diff --git a/usr/src/uts/intel/io/ucode_drv.c b/usr/src/uts/intel/io/ucode_drv.c index 6a63bba8a9..d92787a675 100644 --- a/usr/src/uts/intel/io/ucode_drv.c +++ b/usr/src/uts/intel/io/ucode_drv.c @@ -280,13 +280,15 @@ static struct dev_ops ucode_dv_ops = { DEVO_REV, 0, ucode_getinfo, - nulldev, /* identify */ - nulldev, /* probe */ + nulldev, /* identify */ + nulldev, /* probe */ ucode_attach, ucode_detach, - nodev, /* reset */ + nodev, /* reset */ &ucode_cb_ops, - (struct bus_ops *)0 + (struct bus_ops *)0, + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/intel/io/vgatext/vgatext.c b/usr/src/uts/intel/io/vgatext/vgatext.c index 395be8a5d4..af9f01402d 100644 --- a/usr/src/uts/intel/io/vgatext/vgatext.c +++ b/usr/src/uts/intel/io/vgatext/vgatext.c @@ -135,7 +135,8 @@ static struct dev_ops vgatext_ops = { nodev, /* devo_reset */ &cb_vgatext_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; struct vgatext_softc { diff --git a/usr/src/uts/intel/sys/bootconf.h b/usr/src/uts/intel/sys/bootconf.h index 1ccea1a714..75fc47a9f2 100644 --- a/usr/src/uts/intel/sys/bootconf.h +++ b/usr/src/uts/intel/sys/bootconf.h @@ -27,7 +27,6 @@ #ifndef _SYS_BOOTCONF_H #define _SYS_BOOTCONF_H -#pragma ident "%Z%%M% %I% %E% SMI" /* * Boot time configuration information objects @@ -225,6 +224,7 @@ extern int netboot; extern int swaploaded; extern int modrootloaded; extern char kern_bootargs[]; +extern char kern_bootfile[]; extern char *kobj_module_path; extern char *default_path; extern char *dhcack; diff --git a/usr/src/uts/intel/sys/x86_archext.h b/usr/src/uts/intel/sys/x86_archext.h index 89f07ce6cc..926611c487 100644 --- a/usr/src/uts/intel/sys/x86_archext.h +++ b/usr/src/uts/intel/sys/x86_archext.h @@ -338,6 +338,7 @@ extern "C" { #define X86_SSE4_2 0x08000000 #define X86_1GPG 0x10000000 #define X86_CLFSH 0x20000000 +#define X86_64 0x40000000 /* * flags to patch tsc_read routine. diff --git a/usr/src/uts/sparc/dtrace/fbt.c b/usr/src/uts/sparc/dtrace/fbt.c index f4224a6fdb..a2eba46965 100644 --- a/usr/src/uts/sparc/dtrace/fbt.c +++ b/usr/src/uts/sparc/dtrace/fbt.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/errno.h> #include <sys/stat.h> @@ -1817,7 +1816,8 @@ static struct dev_ops fbt_ops = { nodev, /* reset */ &fbt_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/sparc/dtrace/sdt.c b/usr/src/uts/sparc/dtrace/sdt.c index e03eedc21d..ce6656e8ee 100644 --- a/usr/src/uts/sparc/dtrace/sdt.c +++ b/usr/src/uts/sparc/dtrace/sdt.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/modctl.h> #include <sys/sunddi.h> @@ -468,7 +467,8 @@ static struct dev_ops sdt_ops = { nodev, /* reset */ &sdt_cb_ops, /* driver operations */ NULL, /* bus operations */ - nodev /* dev power */ + nodev, /* dev power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/sun/io/audio/sada/drv/audio1575/audio1575.c b/usr/src/uts/sun/io/audio/sada/drv/audio1575/audio1575.c index 391177f565..8a9c92de1c 100644 --- a/usr/src/uts/sun/io/audio/sada/drv/audio1575/audio1575.c +++ b/usr/src/uts/sun/io/audio/sada/drv/audio1575/audio1575.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * audio1575 Audio Driver @@ -265,12 +264,13 @@ static struct dev_ops audio1575_dev_ops = { &audio1575_cb_ops, /* devi_cb_ops */ NULL, /* devo_bus_ops */ NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ static struct modldrv audio1575_modldrv = { &mod_driverops, /* drv_modops */ - M1575_MOD_NAME " %I%", /* drv_linkinfo */ + M1575_MOD_NAME, /* drv_linkinfo */ &audio1575_dev_ops, /* drv_dev_ops */ }; @@ -1678,7 +1678,7 @@ audio1575_ad_stop_record(audiohdl_t ahandle, int stream) /* reset the DMA input registers */ if ((audio1575_dma_reset(statep, M1575_DMA_PCM_IN)) == AUDIO_FAILURE) { - ATRACE("audio1575_ad_stop_record() failure", NULL); + ATRACE("audio1575_ad_stop_record() failure", NULL); goto done; } diff --git a/usr/src/uts/sun/io/audio/sada/drv/audiocs/audio_4231.c b/usr/src/uts/sun/io/audio/sada/drv/audiocs/audio_4231.c index 51939117da..af340d964d 100644 --- a/usr/src/uts/sun/io/audio/sada/drv/audiocs/audio_4231.c +++ b/usr/src/uts/sun/io/audio/sada/drv/audiocs/audio_4231.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * audiocs Audio Driver @@ -333,13 +331,14 @@ static struct dev_ops cs4231_dev_ops = { nodev, /* devo_reset */ &cs4231_cb_ops, /* devi_cb_ops */ NULL, /* devo_bus_ops */ - cs4231_power /* devo_power */ + cs4231_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Linkage structure for loadable drivers */ static struct modldrv cs4231_modldrv = { &mod_driverops, /* drv_modops */ - CS4231_MOD_NAME " %I%", /* drv_linkinfo */ + CS4231_MOD_NAME, /* drv_linkinfo */ &cs4231_dev_ops /* drv_dev_ops */ }; @@ -475,7 +474,7 @@ cs4231_getinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, break; case DDI_INFO_DEVT2INSTANCE: *result = (void *)(uintptr_t) - audio_sup_devt_to_instance((dev_t)arg); + audio_sup_devt_to_instance((dev_t)arg); error = DDI_SUCCESS; break; default: @@ -2279,7 +2278,7 @@ cs4231_get_ports(CS_state_t *state, dev_info_t *dip) default: ATRACE("cs_attach() OLD - unknown", state); (void) strcpy(&state->cs_dev_info.version[0], - "?"); + "?"); audio_sup_log(ahandle, CE_NOTE, "!attach() unknown audio module: %s, some " "parts of audio may not work correctly", @@ -2291,15 +2290,15 @@ cs4231_get_ports(CS_state_t *state, dev_info_t *dip) if (ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, "internal-loopback", B_FALSE)) { if (state->cs_dma_engine == EB2_DMA) { - ATRACE("cs_attach() OLD - C", state); - (void) strcpy( - &state->cs_dev_info.version[0], - CS_DEV_VERSION_C); + ATRACE("cs_attach() OLD - C", state); + (void) strcpy( + &state->cs_dev_info.version[0], + CS_DEV_VERSION_C); } else { - ATRACE("cs_attach() OLD - B", state); - (void) strcpy( - &state->cs_dev_info.version[0], - CS_DEV_VERSION_B); + ATRACE("cs_attach() OLD - B", state); + (void) strcpy( + &state->cs_dev_info.version[0], + CS_DEV_VERSION_B); } state->cs_defaults.record.avail_ports |= AUDIO_SUNVTS; diff --git a/usr/src/uts/sun/io/bpp.c b/usr/src/uts/sun/io/bpp.c index 25dc5a4d0f..37c7b1287d 100644 --- a/usr/src/uts/sun/io/bpp.c +++ b/usr/src/uts/sun/io/bpp.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Source code for the bidirectional parallel port @@ -204,6 +203,8 @@ static struct dev_ops bpp_ops = nodev, /* device reset routine */ &bpp_cb_ops, /* device operations struct */ (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -214,7 +215,7 @@ static struct dev_ops bpp_ops = */ static struct modldrv modldrv = { &mod_driverops, /* type of module - driver */ - "pport driver: bpp %I% %E%", /* name of module */ + "pport driver: bpp", /* name of module */ &bpp_ops /* *Drv_dev_ops */ }; @@ -275,8 +276,8 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Make sure we're not in a slave-only slot */ if (ddi_slaveonly(dip) == DDI_SUCCESS) { cmn_err(CE_NOTE, - "bpp unit %d: NOT used - SBus slot is slave only.", - unit_no); + "bpp unit %d: NOT used - SBus slot is slave only.", + unit_no); return (DDI_FAILURE); } @@ -287,7 +288,7 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Store away its address for future use. */ BPP_PRINT(5, (CE_CONT, "Allocating unit struct for unit %d.\n", - unit_no)); + unit_no)); if (ddi_soft_state_zalloc(bpp_state_head, unit_no) != 0) return (DDI_FAILURE); /* assign a pointer to this unit's state struct */ @@ -306,10 +307,10 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * This must be done before expecting to receive any interrupts. */ if (ddi_add_intr(dip, 0, &bpp_p->bpp_block_cookie, - (ddi_idevice_cookie_t *)0, bpp_intr, - (caddr_t)(uintptr_t)unit_no) != DDI_SUCCESS) { + (ddi_idevice_cookie_t *)0, bpp_intr, + (caddr_t)(uintptr_t)unit_no) != DDI_SUCCESS) { cmn_err(CE_NOTE, - "bpp_attach unit %d: cannot add interrupt!", unit_no); + "bpp_attach unit %d: cannot add interrupt!", unit_no); ddi_soft_state_free(bpp_state_head, unit_no); return (DDI_FAILURE); } @@ -360,9 +361,9 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ sbus_frequency = ddi_getprop(DDI_DEV_T_ANY, dip, 0, - "clock-frequency", 1000000); + "clock-frequency", 1000000); BPP_PRINT(5, (CE_CONT, - "clock-frequency prop is: %d\n", sbus_frequency)); + "clock-frequency prop is: %d\n", sbus_frequency)); sbus_clock = sbus_frequency/1000000; if (sbus_clock >= 10 && sbus_clock <= 25) { BPP_PRINT(5, (CE_CONT, "SBus clock is %d MHz.\n", sbus_clock)); @@ -376,7 +377,7 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) return (DDI_FAILURE); } BPP_PRINT(5, (CE_CONT, "SBus Clock period is %d nsec.\n", - bpp_p->sbus_clock_cycle)); + bpp_p->sbus_clock_cycle)); /* @@ -390,7 +391,7 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) 0, sizeof (struct bpp_regs), &bpp_acc_attr, &bpp_p->bpp_acc_handle) != DDI_SUCCESS) { cmn_err(CE_NOTE, - "bpp_attach unit %d: regs_map_setup failed!", unit_no); + "bpp_attach unit %d: regs_map_setup failed!", unit_no); cv_destroy(&bpp_p->wr_cv); mutex_destroy(&bpp_p->bpp_mutex); ddi_remove_intr(bpp_p->dip, 0, bpp_p->bpp_block_cookie); @@ -401,7 +402,7 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (check_bpp_registers(unit_no)) { /* registers don't seem right */ cmn_err(CE_NOTE, - "bpp_attach unit %d: register check failed!", unit_no); + "bpp_attach unit %d: register check failed!", unit_no); ddi_regs_map_free(&bpp_p->bpp_acc_handle); cv_destroy(&bpp_p->wr_cv); mutex_destroy(&bpp_p->bpp_mutex); @@ -413,8 +414,8 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_dma_alloc_handle(dip, &bpp_dma_attr, DDI_DMA_DONTWAIT, NULL, &bpp_p->bpp_dma_handle) != DDI_SUCCESS) { cmn_err(CE_NOTE, - "bpp_attach unit %d: dma_alloc_handle failed!", - unit_no); + "bpp_attach unit %d: dma_alloc_handle failed!", + unit_no); ddi_regs_map_free(&bpp_p->bpp_acc_handle); cv_destroy(&bpp_p->wr_cv); mutex_destroy(&bpp_p->bpp_mutex); @@ -430,7 +431,7 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) unit_no, DDI_NT_PRINTER, NULL) == DDI_FAILURE) { ddi_remove_minor_node(dip, NULL); cmn_err(CE_NOTE, "ddi_create_minor_node failed for unit %d", - unit_no); + unit_no); ddi_dma_free_handle(&bpp_p->bpp_dma_handle); ddi_regs_map_free(&bpp_p->bpp_acc_handle); cv_destroy(&bpp_p->wr_cv); @@ -444,7 +445,7 @@ bpp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) (void) sprintf(name, "bppc%d", unit_no); bpp_p->intrstats = kstat_create("bpp", unit_no, name, "controller", - KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); + KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); if (bpp_p->intrstats) { kstat_install(bpp_p->intrstats); } @@ -460,7 +461,7 @@ initialise: */ burst_sizes = ddi_getprop(DDI_DEV_T_ANY, dip, 0, "burst-sizes", -1); BPP_PRINT(5, (CE_CONT, - "^burst-sizes prop is: 0x%x\n", burst_sizes)); + "^burst-sizes prop is: 0x%x\n", burst_sizes)); /* * Starting with the DMA2P, the bpp lives with a DMA controller @@ -478,35 +479,35 @@ initialise: * programmable register. */ BPP_PRINT(5, (CE_CONT, - "bpp_attach: devid field indicates HIOD bpp DMA\n")); + "bpp_attach: devid field indicates HIOD bpp DMA\n")); /* no register, so do nothing here */ } else #endif /* BPP_DEBUG */ if ((bpp_regs_p->dma_csr & BPP_DEVICE_ID_MASK) == BPP_DMA2P_DEVID) { BPP_PRINT(5, (CE_CONT, - "bpp_attach: devid field indicates DMA2P bpp DMA\n")); + "bpp_attach: devid field indicates DMA2P bpp DMA\n")); if ((burst_sizes == 0xff) || - (!((burst_sizes & BURST16) || - (burst_sizes & BURST32)))) { + (!((burst_sizes & BURST16) || + (burst_sizes & BURST32)))) { BPP_PRINT(5, (CE_CONT, - "bad burst-sizes 0x%x, setting to %x\n", - burst_sizes, BPP_BURST_DEFAULT)); + "bad burst-sizes 0x%x, setting to %x\n", + burst_sizes, BPP_BURST_DEFAULT)); bpp_regs_p->dma_csr |= BPP_BURST_DEFAULT; } else if (burst_sizes & BURST32) { /* largest possible */ BPP_PRINT(5, (CE_CONT, - "Setting P_BURST_SIZE for 8-word bursts\n")); + "Setting P_BURST_SIZE for 8-word bursts\n")); bpp_regs_p->dma_csr |= BPP_BURST_8WORD; } else if (burst_sizes & BURST16) { BPP_PRINT(5, (CE_CONT, - "Setting P_BURST_SIZE for 4-word bursts\n")); + "Setting P_BURST_SIZE for 4-word bursts\n")); bpp_regs_p->dma_csr |= BPP_BURST_4WORD; } } else if ((bpp_regs_p->dma_csr & BPP_DEVICE_ID_MASK) != BPP_HIOD_DEVID) { BPP_PRINT(5, (CE_CONT, - "bpp_attach: undefined bpp DMA")); + "bpp_attach: undefined bpp DMA")); BPP_PRINT(5, (CE_CONT, - "using 0x%x for bursts.\n", BPP_BURST_DEFAULT)); + "using 0x%x for bursts.\n", BPP_BURST_DEFAULT)); bpp_regs_p->dma_csr |= BPP_BURST_DEFAULT; } @@ -526,7 +527,7 @@ initialise: * This setup corresponds to the default handshakes. */ BPP_PRINT(5, (CE_CONT, "Before setting polarities, int_cntl = 0x%x\n", - bpp_regs_p->int_cntl)); + bpp_regs_p->int_cntl)); bpp_regs_p->int_cntl |= BPP_ERR_IRP; /* ERR rising edge */ bpp_regs_p->int_cntl |= BPP_SLCT_IRP; /* SLCT rising edge */ /* SLCT+ means off-line */ @@ -535,7 +536,7 @@ initialise: /* clear any stray interrupts */ bpp_regs_p->int_cntl |= BPP_ALL_IRQS; BPP_PRINT(5, (CE_CONT, "After setting polarities, int_cntl = 0x%x\n", - bpp_regs_p->int_cntl)); + bpp_regs_p->int_cntl)); /* Turn on interrupts */ bpp_p->bpp_regs_p->dma_csr |= BPP_INT_EN; @@ -669,12 +670,13 @@ bpp_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) bpp_p->flags |= BPP_SUSPENDED; mutex_exit(&bpp_p->bpp_mutex); /* XXX - Need to Wait for pending ops to finish */ - while (bpp_p->timeouts); /* Yuck! */ + while (bpp_p->timeouts) { + } /* Yuck! */ return (DDI_SUCCESS); default: BPP_PRINT(3, (CE_CONT, - "Invalid detach cmd 0x%x in bpp_detach\n", cmd)); + "Invalid detach cmd 0x%x in bpp_detach\n", cmd)); goto detach_failed; } @@ -686,7 +688,7 @@ bpp_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) /* was transferring */ cmn_err(CE_NOTE, "ERROR: bpp unload of unit %d while DMA active!", - unit_no); + unit_no); /* turn off DMA and byte count */ bpp_regs_p->dma_csr &= ~BPP_ENABLE_DMA; bpp_regs_p->dma_csr &= ~BPP_ENABLE_BCNT; @@ -771,14 +773,14 @@ bpp_open(dev_t *dev, int openflags, int otyp, cred_t *credp) unit_no = BPP_UNIT(dev); bpp_p = getsoftc(unit_no); BPP_PRINT(2, (CE_CONT, - "bpp%d: Entering bpp_open, flags %d.\n", unit_no, openflags)); + "bpp%d: Entering bpp_open, flags %d.\n", unit_no, openflags)); /* * Assure that the device is being opened as a character device. */ if (otyp != OTYP_CHR) { cmn_err(CE_NOTE, - "bpp%d attempted open as non-character device!", - unit_no); + "bpp%d attempted open as non-character device!", + unit_no); retval = EINVAL; goto out; } @@ -789,7 +791,7 @@ bpp_open(dev_t *dev, int openflags, int otyp, cred_t *credp) */ if (bpp_p == NULL) { cmn_err(CE_NOTE, - "bpp%d unit pointer is NULL!", unit_no); + "bpp%d unit pointer is NULL!", unit_no); retval = ENXIO; /* attach failed ?? */ goto out; } @@ -824,7 +826,7 @@ bpp_open(dev_t *dev, int openflags, int otyp, cred_t *credp) out: BPP_PRINT(2, (CE_CONT, "Leaving bpp_open, unit %d: errno %d.\n", - unit_no, retval)); + unit_no, retval)); return (retval); } @@ -844,10 +846,10 @@ bpp_close(dev_t dev, int openflags, int otyp, cred_t *credp) unit_no = BPP_UNIT(&dev); bpp_p = getsoftc(unit_no); BPP_PRINT(2, (CE_CONT, - "Entering bpp_close, unit number %d.\n", unit_no)); + "Entering bpp_close, unit number %d.\n", unit_no)); BPP_PRINT(5, (CE_CONT, "In bpp_close, Timeout block is 0x%x.\n", - bpp_p->timeouts)); + bpp_p->timeouts)); mutex_enter(&bpp_p->bpp_mutex); if (bpp_p->timeouts) { /* any timeouts pending? */ BPP_PRINT(5, (CE_CONT, "Some timeouts still pending.\n")); @@ -863,7 +865,7 @@ bpp_close(dev_t dev, int openflags, int otyp, cred_t *credp) bpp_p->timeouts = NO_TIMEOUTS; BPP_PRINT(5, (CE_CONT, "At end of bpp_close, Timeout block is 0x%x.\n", - bpp_p->timeouts)); + bpp_p->timeouts)); /* * Mark unit closed. @@ -898,7 +900,7 @@ bpp_read(dev_t dev, struct uio *uiop, cred_t *credp) unit_no = BPP_UNIT(&dev); bpp_p = getsoftc(unit_no); BPP_PRINT(2, (CE_CONT, "Entering bpp_read, unit number %d.\n", - unit_no)); + unit_no)); mutex_enter(&bpp_p->bpp_mutex); @@ -943,7 +945,7 @@ bpp_read(dev_t dev, struct uio *uiop, cred_t *credp) bpp_regs_p->op_config &= ~BPP_BUSY_OP; bpp_regs_p->op_config |= BPP_ACK_OP; bpp_regs_p->op_config |= - (BPP_DS_BIDIR | BPP_ACK_BIDIR | BPP_BUSY_BIDIR); + (BPP_DS_BIDIR | BPP_ACK_BIDIR | BPP_BUSY_BIDIR); break; case BPP_BUSY_HS: case BPP_HSCAN_HS: @@ -956,7 +958,7 @@ bpp_read(dev_t dev, struct uio *uiop, cred_t *credp) BPP_PRINT(5, (CE_CONT, "BPP_ACK_BUSY_HS case\n")); bpp_regs_p->op_config |= (BPP_BUSY_OP | BPP_ACK_OP); bpp_regs_p->op_config |= - (BPP_DS_BIDIR | BPP_ACK_BIDIR | BPP_BUSY_BIDIR); + (BPP_DS_BIDIR | BPP_ACK_BIDIR | BPP_BUSY_BIDIR); break; case BPP_XSCAN_HS: /* @@ -967,7 +969,7 @@ bpp_read(dev_t dev, struct uio *uiop, cred_t *credp) bpp_regs_p->op_config &= ~BPP_BUSY_OP; bpp_regs_p->op_config |= BPP_ACK_OP; bpp_regs_p->op_config &= - ~(BPP_DS_BIDIR | BPP_BUSY_BIDIR | BPP_ACK_BIDIR); + ~(BPP_DS_BIDIR | BPP_BUSY_BIDIR | BPP_ACK_BIDIR); break; case BPP_CLEAR_MEM: BPP_PRINT(5, (CE_CONT, "BPP_CLEAR_MEM case\n")); @@ -1006,7 +1008,7 @@ bpp_read(dev_t dev, struct uio *uiop, cred_t *credp) mutex_exit(&bpp_p->bpp_mutex); BPP_PRINT(5, (CE_CONT, "bpp_read, calling physio\n")); retval = physio(bpp_strategy, (struct buf *)0, dev, - B_READ, bpp_minphys, uiop); + B_READ, bpp_minphys, uiop); mutex_enter(&bpp_p->bpp_mutex); bpp_p->flags &= ~BPP_BUSY; @@ -1014,8 +1016,8 @@ bpp_read(dev_t dev, struct uio *uiop, cred_t *credp) mutex_exit(&bpp_p->bpp_mutex); BPP_PRINT(2, (CE_CONT, - "Leaving bpp_read, unit %d: errno %d.\n", - unit_no, retval)); + "Leaving bpp_read, unit %d: errno %d.\n", + unit_no, retval)); return (retval); } @@ -1037,7 +1039,7 @@ bpp_write(dev_t dev, struct uio *uiop, cred_t *credp) unit_no = BPP_UNIT(&dev); BPP_PRINT(2, (CE_CONT, - "Entering bpp_write, unit number %d.\n", unit_no)); + "Entering bpp_write, unit number %d.\n", unit_no)); bpp_p = getsoftc(unit_no); @@ -1066,7 +1068,7 @@ bpp_write(dev_t dev, struct uio *uiop, cred_t *credp) * This setup corresponds to the default handshakes. */ BPP_PRINT(5, (CE_CONT, "Before setting polarities, int_cntl = 0x%x\n", - bpp_regs_p->int_cntl)); + bpp_regs_p->int_cntl)); bpp_regs_p->int_cntl |= BPP_ERR_IRP; /* ERR rising edge */ bpp_regs_p->int_cntl |= BPP_SLCT_IRP; /* SLCT rising edge */ /* SLCT+ is off-line */ @@ -1075,7 +1077,7 @@ bpp_write(dev_t dev, struct uio *uiop, cred_t *credp) bpp_regs_p->int_cntl |= (BPP_ERR_IRQ | BPP_SLCT_IRQ | BPP_PE_IRQ); BPP_PRINT(5, (CE_CONT, "After setting polarities, int_cntl = 0x%x\n", - bpp_regs_p->int_cntl)); + bpp_regs_p->int_cntl)); check_for_active_pins(unit_no); @@ -1099,7 +1101,7 @@ bpp_write(dev_t dev, struct uio *uiop, cred_t *credp) (BPP_ERR_ERR | BPP_SLCT_ERR | BPP_PE_ERR))) { /* printer error - no transfer allowed */ BPP_PRINT(5, (CE_CONT, - "In bpp_write, pending error pin condition\n")); + "In bpp_write, pending error pin condition\n")); retval = ENXIO; mutex_exit(&bpp_p->bpp_mutex); goto out; @@ -1141,7 +1143,7 @@ bpp_write(dev_t dev, struct uio *uiop, cred_t *credp) BPP_PRINT(5, (CE_CONT, "bpp_write, calling physio\n")); retval = physio(bpp_strategy, (struct buf *)0, dev, - B_WRITE, bpp_minphys, uiop); + B_WRITE, bpp_minphys, uiop); out: mutex_enter(&bpp_p->bpp_mutex); @@ -1150,7 +1152,7 @@ out: mutex_exit(&bpp_p->bpp_mutex); BPP_PRINT(2, (CE_CONT, - "Leaving bpp_write, unit %d: errno %d.\n", unit_no, retval)); + "Leaving bpp_write, unit %d: errno %d.\n", unit_no, retval)); return (retval); } @@ -1183,45 +1185,45 @@ check_for_active_pins(int unit_no) bpp_errorstat_p = &bpp_p->error_stat; BPP_PRINT(2, (CE_CONT, - "Entering check_for_active_pins, unit number %d.\n", unit_no)); + "Entering check_for_active_pins, unit number %d.\n", unit_no)); ASSERT(MUTEX_HELD(&bpp_p->bpp_mutex)); /* * Check that there are no pending ERR, SLCT or PE error * conditions. If there are, do not attempt the transfer. */ BPP_PRINT(5, (CE_CONT, "check_active_pins: in_pins = 0x%x\n", - bpp_regs_p->in_pins)); + bpp_regs_p->in_pins)); BPP_PRINT(5, (CE_CONT, "check_active_pins: int_cntl = 0x%x\n", - bpp_regs_p->int_cntl)); + bpp_regs_p->int_cntl)); if (((bpp_regs_p->in_pins & BPP_ERR_PIN) && - (bpp_regs_p->int_cntl & BPP_ERR_IRP)) || - ((~bpp_regs_p->in_pins & BPP_ERR_PIN)&& - (~bpp_regs_p->int_cntl & BPP_ERR_IRP))) { /* ERR active */ + (bpp_regs_p->int_cntl & BPP_ERR_IRP)) || + ((~bpp_regs_p->in_pins & BPP_ERR_PIN)&& + (~bpp_regs_p->int_cntl & BPP_ERR_IRP))) { /* ERR active */ BPP_PRINT(5, (CE_CONT, - "In ck_active_pins, pending ERR condition\n")); + "In ck_active_pins, pending ERR condition\n")); bpp_errorstat_p->pin_status |= BPP_ERR_ERR; } if (((bpp_regs_p->in_pins & BPP_SLCT_PIN) && - (bpp_regs_p->int_cntl & BPP_SLCT_IRP)) || - ((~bpp_regs_p->in_pins & BPP_SLCT_PIN)&& - (~bpp_regs_p->int_cntl & BPP_SLCT_IRP))) { /* SLCT active */ + (bpp_regs_p->int_cntl & BPP_SLCT_IRP)) || + ((~bpp_regs_p->in_pins & BPP_SLCT_PIN)&& + (~bpp_regs_p->int_cntl & BPP_SLCT_IRP))) { /* SLCT active */ BPP_PRINT(5, (CE_CONT, - "In ck_active_pins, pending SLCT condition\n")); + "In ck_active_pins, pending SLCT condition\n")); bpp_errorstat_p->pin_status |= BPP_SLCT_ERR; } if (((bpp_regs_p->in_pins & BPP_PE_PIN) && - (bpp_regs_p->int_cntl & BPP_PE_IRP)) || - ((~bpp_regs_p->in_pins & BPP_PE_PIN)&& - (~bpp_regs_p->int_cntl & BPP_PE_IRP))) { /* PE active */ + (bpp_regs_p->int_cntl & BPP_PE_IRP)) || + ((~bpp_regs_p->in_pins & BPP_PE_PIN)&& + (~bpp_regs_p->int_cntl & BPP_PE_IRP))) { /* PE active */ BPP_PRINT(5, (CE_CONT, "In check_active_pins, pending PE condition\n")); bpp_errorstat_p->pin_status |= BPP_PE_ERR; } BPP_PRINT(2, (CE_CONT, - "Leaving check_for_active_pins, unit number %d.\n", unit_no)); + "Leaving check_for_active_pins, unit number %d.\n", unit_no)); } /* @@ -1246,8 +1248,8 @@ bpp_strategy(register struct buf *bp) unit_no = BPP_UNIT(&(bp->b_edev)); BPP_PRINT(2, (CE_CONT, - "bpp%d:Entering bpp_strategy: length 0x%x.\n", - unit_no, bp->b_bcount)); + "bpp%d:Entering bpp_strategy: length 0x%x.\n", + unit_no, bp->b_bcount)); /* * Use the unit number to locate our data structures. @@ -1274,8 +1276,8 @@ bpp_strategy(register struct buf *bp) flags = DDI_DMA_WRITE; BPP_PRINT(5, (CE_CONT, - "Before dma_buf_bind, b_addr = 0x%p, b_bcount = 0x%x\n", - (void *)bp->b_un.b_addr, bp->b_bcount)); + "Before dma_buf_bind, b_addr = 0x%p, b_bcount = 0x%x\n", + (void *)bp->b_un.b_addr, bp->b_bcount)); /* * Get dvma bus resource, sleeping if necessary. */ @@ -1283,8 +1285,8 @@ bpp_strategy(register struct buf *bp) flags | DDI_DMA_CONSISTENT, DDI_DMA_SLEEP, 0, &dma_cookie, &dma_cookie_cnt) != DDI_DMA_MAPPED) { cmn_err(CE_NOTE, - "ERROR: bpp%d: dma_buf_bind failed mapping", - unit_no); + "ERROR: bpp%d: dma_buf_bind failed mapping", + unit_no); bioerror(bp, ENOMEM); bp->b_resid = bp->b_bcount; biodone(bp); @@ -1293,12 +1295,12 @@ bpp_strategy(register struct buf *bp) ASSERT(dma_cookie_cnt == 1); BPP_PRINT(5, (CE_CONT, - "After dma_buf_bind, b_addr = 0x%p, b_bcount = 0x%x\n", - (void *)bp->b_un.b_addr, bp->b_bcount)); + "After dma_buf_bind, b_addr = 0x%p, b_bcount = 0x%x\n", + (void *)bp->b_un.b_addr, bp->b_bcount)); start_address = dma_cookie.dmac_address; BPP_PRINT(5, (CE_CONT, - "start_address = 0x%x\n", start_address)); + "start_address = 0x%x\n", start_address)); size = bp->b_bcount; @@ -1307,17 +1309,17 @@ bpp_strategy(register struct buf *bp) * Write the transfer byte count to the hardware. */ BPP_PRINT(5, (CE_CONT, "writing start_address 0x%x, size %d to regs\n", - start_address, size)); + start_address, size)); bpp_regs_p->dma_addr = start_address; bpp_regs_p->dma_bcnt = (uint_t)size; BPP_PRINT(5, (CE_CONT, - "bpp_strategy: Transfer %d bytes starting at 0x%x.\n", - bpp_regs_p->dma_bcnt, bpp_regs_p->dma_addr)); + "bpp_strategy: Transfer %d bytes starting at 0x%x.\n", + bpp_regs_p->dma_bcnt, bpp_regs_p->dma_addr)); BPP_PRINT(5, (CE_CONT, - "before enabling interrupts, dma csr=0x%x, int_cntl=0x%x.\n", - bpp_regs_p->dma_csr, bpp_regs_p->int_cntl)); + "before enabling interrupts, dma csr=0x%x, int_cntl=0x%x.\n", + bpp_regs_p->dma_csr, bpp_regs_p->int_cntl)); /* * Enable byte-counter during DVMA. @@ -1336,34 +1338,34 @@ bpp_strategy(register struct buf *bp) if (bp->b_flags & B_READ) { BPP_PRINT(5, (CE_CONT, - "bp->b_flags indicates READ mode\n")); + "bp->b_flags indicates READ mode\n")); timeout_value = bpp_transfer_parms_p->read_timeout; } else { BPP_PRINT(5, (CE_CONT, - "bp->b_flags indicates WRITE mode\n")); + "bp->b_flags indicates WRITE mode\n")); if (!(bpp_p->openflags & FREAD && bpp_p->openflags & FWRITE)) { bpp_regs_p->int_cntl |= (BPP_ERR_IRQ_EN | - BPP_SLCT_IRQ_EN | BPP_PE_IRQ_EN); + BPP_SLCT_IRQ_EN | BPP_PE_IRQ_EN); } BPP_PRINT(5, (CE_CONT, - "after enable error int. int cntl contains 0x%x.\n", - bpp_regs_p->int_cntl)); + "after enable error int. int cntl contains 0x%x.\n", + bpp_regs_p->int_cntl)); timeout_value = bpp_transfer_parms_p->write_timeout; } BPP_PRINT(5, (CE_CONT, "after enabling interrupts, dma csr = 0x%x, int_cntl = 0x%x.\n", - bpp_regs_p->dma_csr, bpp_regs_p->int_cntl)); + bpp_regs_p->dma_csr, bpp_regs_p->int_cntl)); BPP_PRINT(5, (CE_CONT, - "Setting timeout to call bpp_transfer_timeout in %d sec\n", - timeout_value)); + "Setting timeout to call bpp_transfer_timeout in %d sec\n", + timeout_value)); bpp_p->bpp_transfer_timeout_ident = timeout(bpp_transfer_timeout, (void *)(uintptr_t)unit_no, - drv_usectohz(timeout_value * 1000000)); + drv_usectohz(timeout_value * 1000000)); bpp_p->timeouts |= TRANSFER_TIMEOUT; BPP_PRINT(5, (CE_CONT, "In bpp_strategy, Timeout block is 0x%x.\n", - bpp_p->timeouts)); + bpp_p->timeouts)); mutex_exit(&bpp_p->bpp_mutex); BPP_PRINT(2, (CE_CONT, "Leaving bpp_strategy.\n")); @@ -1405,7 +1407,7 @@ bpp_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, read_handshake = bpp_transfer_parms_p->read_handshake; BPP_PRINT(2, (CE_CONT, - "Entering bpp_ioctl, unit number %d.\n", unit_no)); + "Entering bpp_ioctl, unit number %d.\n", unit_no)); mutex_enter(&bpp_p->bpp_mutex); if (bpp_p->flags & BPP_SUSPENDED) { mutex_exit(&bpp_p->bpp_mutex); @@ -1541,7 +1543,7 @@ bpp_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, mutex_exit(&bpp_p->bpp_mutex); BPP_PRINT(2, (CE_CONT, "Leaving bpp_ioctl, unit %d: errno %d.\n", - unit_no, retval)); + unit_no, retval)); return (retval); } @@ -1575,7 +1577,7 @@ bpp_intr(caddr_t unit_no) if ((bpp_regs_p->dma_csr & BPP_INT_PEND) || (bpp_regs_p->dma_csr & BPP_ERR_PEND)) { BPP_PRINT(5, (CE_CONT, "Interrupt found, unit #%d.\n", - bpp_unit_no)); + bpp_unit_no)); /* * Mark that we found an interrupting device. * Call the interrupt service routine. @@ -1605,7 +1607,8 @@ bpp_intr(caddr_t unit_no) #if BPP_DEBUG BPP_PRINT(5, (CE_CONT, "Error interrupt detected\n")); if (bpp_regs_p->dma_csr & BPP_SLAVE_ERR) { - BPP_PRINT(5, (CE_CONT, "Slave error detected\n")); + BPP_PRINT(5, + (CE_CONT, "Slave error detected\n")); } #endif /* BPP_DEBUG */ if (bpp_regs_p->dma_csr & BPP_ENABLE_DMA) { @@ -1645,15 +1648,15 @@ bpp_intr(caddr_t unit_no) if (bpp_regs_p->dma_csr & BPP_INT_PEND) { BPP_PRINT(5, (CE_CONT, "Interrupt pending found.\n")); BPP_PRINT(5, (CE_CONT, "dma csr contains 0x%x.\n", - bpp_regs_p->dma_csr)); + bpp_regs_p->dma_csr)); BPP_PRINT(5, (CE_CONT, "int cntl contains 0x%x.\n", - bpp_regs_p->int_cntl)); + bpp_regs_p->int_cntl)); /* TC case - terminal count */ if (bpp_regs_p->dma_csr & BPP_TERMINAL_CNT && ((bpp_regs_p->dma_csr & BPP_TC_INTR_DISABLE) == 0)) { BPP_PRINT(5, (CE_CONT, - "Terminal count interrupt found.\n")); + "Terminal count interrupt found.\n")); /* mask this interrupt */ bpp_regs_p->dma_csr |= BPP_TC_INTR_DISABLE; bpp_regs_p->dma_csr &= ~BPP_ENABLE_BCNT; @@ -1663,12 +1666,12 @@ bpp_intr(caddr_t unit_no) bp->b_resid = bpp_p->transfer_remainder; /* Mask the error interrupt conditions */ bpp_regs_p->int_cntl &= - ~(BPP_ERR_IRQ_EN | BPP_SLCT_IRQ_EN | - BPP_PE_IRQ_EN); + ~(BPP_ERR_IRQ_EN | BPP_SLCT_IRQ_EN | + BPP_PE_IRQ_EN); BPP_PRINT(5, (CE_CONT, "dma csr 0x%x.\n", - bpp_regs_p->dma_csr)); + bpp_regs_p->dma_csr)); BPP_PRINT(5, (CE_CONT, "int cntl 0x%x.\n", - bpp_regs_p->int_cntl)); + bpp_regs_p->int_cntl)); } /* ERR_IRQ case - error pin interrupt */ if ((bpp_regs_p->int_cntl & BPP_ERR_IRQ) && @@ -1744,18 +1747,18 @@ bpp_intr(caddr_t unit_no) } /* end of INT_PEND check */ BPP_PRINT(5, (CE_CONT, - "dma csr 0x%x.\n", bpp_regs_p->dma_csr)); + "dma csr 0x%x.\n", bpp_regs_p->dma_csr)); BPP_PRINT(5, (CE_CONT, - "int cntl 0x%x.\n", bpp_regs_p->int_cntl)); + "int cntl 0x%x.\n", bpp_regs_p->int_cntl)); /* Clear the transfer timeout */ BPP_PRINT(5, (CE_CONT, - "In bpp_intr, Clearing transfer timeout.\n")); + "In bpp_intr, Clearing transfer timeout.\n")); tid = bpp_p->bpp_transfer_timeout_ident; bpp_p->bpp_transfer_timeout_ident = 0; bpp_p->timeouts &= ~TRANSFER_TIMEOUT; BPP_PRINT(5, (CE_CONT, "In bpp_intr, Timeout block is 0x%x.\n", - bpp_p->timeouts)); + bpp_p->timeouts)); /* * Release the dvma bus resource. */ @@ -1763,7 +1766,7 @@ bpp_intr(caddr_t unit_no) (void) ddi_dma_unbind_handle(bpp_p->bpp_dma_handle); BPP_PRINT(5, (CE_CONT, - "bpp_intr, unit %d, Calling biodone.\n", unit_no)); + "bpp_intr, unit %d, Calling biodone.\n", unit_no)); /* * Mark the io on the buf as finished, with the side effect * of waking up others who want to use the buf. @@ -1779,7 +1782,7 @@ bpp_intr(caddr_t unit_no) mutex_exit(&bpp_p->bpp_mutex); } BPP_PRINT(2, (CE_CONT, "Leaving bpp_intr, int_serviced = 0x%x.\n", - int_serviced)); + int_serviced)); return (int_serviced); } @@ -1822,7 +1825,7 @@ bpp_transfer_failed(int unit_no) BPP_PRINT(1, (CE_CONT, "Warning: DMA is not IDLE!\n")); bpp_regs_p->dma_csr &= ~BPP_ENABLE_BCNT; BPP_PRINT(1, (CE_CONT, - "In bpp_strategy, resetting PP state machine\n")); + "In bpp_strategy, resetting PP state machine\n")); bpp_regs_p->op_config |= BPP_SRST; bpp_regs_p->op_config &= ~BPP_SRST; @@ -1832,17 +1835,17 @@ bpp_transfer_failed(int unit_no) * decremented for it. */ bp->b_resid = ((bpp_regs_p->dma_bcnt - 1) + - bpp_p->transfer_remainder); + bpp_p->transfer_remainder); } else { bpp_regs_p->dma_csr &= ~BPP_ENABLE_BCNT; bp->b_resid = (bpp_regs_p->dma_bcnt + - bpp_p->transfer_remainder); + bpp_p->transfer_remainder); } /* flush the local cache */ bpp_regs_p->dma_csr |= BPP_FLUSH; BPP_PRINT(5, (CE_CONT, - "In bpp_transfer_failed, Residual is %d.\n", bp->b_resid)); + "In bpp_transfer_failed, Residual is %d.\n", bp->b_resid)); /* make sure the DMA doesn't start again. */ bpp_regs_p->dma_bcnt = 0; @@ -1852,7 +1855,7 @@ bpp_transfer_failed(int unit_no) */ bpp_regs_p->dma_csr |= BPP_TC_INTR_DISABLE; bpp_regs_p->int_cntl &= - ~(BPP_ERR_IRQ_EN | BPP_SLCT_IRQ_EN | BPP_PE_IRQ_EN); + ~(BPP_ERR_IRQ_EN | BPP_SLCT_IRQ_EN | BPP_PE_IRQ_EN); /* Check for any of the input pins active */ check_for_active_pins(unit_no); @@ -1880,8 +1883,8 @@ bpp_transfer_timeout(void *unit_no_arg) bpp_p = getsoftc(unit_no); BPP_PRINT(5, (CE_CONT, - "In bpp_transfer_timeout, Timeout block is 0x%x.\n", - bpp_p->timeouts)); + "In bpp_transfer_timeout, Timeout block is 0x%x.\n", + bpp_p->timeouts)); mutex_enter(&bpp_p->bpp_mutex); if (bpp_p->bpp_transfer_timeout_ident == 0) { mutex_exit(&bpp_p->bpp_mutex); @@ -1904,12 +1907,12 @@ bpp_transfer_timeout(void *unit_no_arg) */ BPP_PRINT(5, (CE_CONT, "byte count is %d.\n", bpp_regs_p->dma_bcnt)); BPP_PRINT(5, (CE_CONT, "write_timeout is %d.\n", - bpp_p->transfer_parms.write_timeout)); + bpp_p->transfer_parms.write_timeout)); if (bpp_regs_p->trans_cntl & BPP_DIRECTION) { /* read mode - partial reads will time out */ BPP_PRINT(5, (CE_CONT, "read timeout, clearing registers.\n")); bp->b_resid = (bpp_regs_p->dma_bcnt + - bpp_p->transfer_remainder); + bpp_p->transfer_remainder); /* make sure the DMA doesn't start again. */ bpp_regs_p->dma_bcnt = 0; /* @@ -1920,7 +1923,7 @@ bpp_transfer_timeout(void *unit_no_arg) bpp_regs_p->dma_csr &= ~BPP_ENABLE_BCNT; bpp_regs_p->dma_csr &= ~BPP_ENABLE_DMA; bpp_regs_p->int_cntl &= ~(BPP_ERR_IRQ_EN | BPP_SLCT_IRQ_EN - | BPP_PE_IRQ_EN); + | BPP_PE_IRQ_EN); } else if ((bpp_regs_p->trans_cntl & BPP_DIRECTION) == 0) { /* other write cases (read can time out w/no error) */ bpp_transfer_failed(unit_no); @@ -1943,8 +1946,8 @@ bpp_transfer_timeout(void *unit_no_arg) /* mark the error status structure */ bpp_p->error_stat.timeout_occurred = 1; BPP_PRINT(5, (CE_CONT, - "In bpp_transfer_timeout, Timeout blk is 0x%x.\n", - bpp_p->timeouts)); + "In bpp_transfer_timeout, Timeout blk is 0x%x.\n", + bpp_p->timeouts)); /* * Release the dvma bus resource. @@ -1952,11 +1955,11 @@ bpp_transfer_timeout(void *unit_no_arg) (void) ddi_dma_unbind_handle(bpp_p->bpp_dma_handle); BPP_PRINT(5, (CE_CONT, - "bpp_transfer_timeout, unit %d, Calling biodone.\n", unit_no)); + "bpp_transfer_timeout, unit %d, Calling biodone.\n", unit_no)); mutex_exit(&bpp_p->bpp_mutex); (void) biodone(bp); BPP_PRINT(2, (CE_CONT, "Leaving bpp_transfer_timeout, unit #%d.\n", - unit_no)); + unit_no)); } @@ -1980,8 +1983,8 @@ set_dss_dsw(int unit_no, int read_mode) register struct bpp_transfer_parms *bpp_transfer_parms_p; BPP_PRINT(2, (CE_CONT, - "Entering set_dss_dsw, unit:%d, read_mode = %x.\n", - unit_no, read_mode)); + "Entering set_dss_dsw, unit:%d, read_mode = %x.\n", + unit_no, read_mode)); bpp_p = getsoftc(unit_no); ASSERT(MUTEX_HELD(&bpp_p->bpp_mutex)); @@ -1990,36 +1993,36 @@ set_dss_dsw(int unit_no, int read_mode) if (read_mode) { dss_temp = bpp_transfer_parms_p->read_setup_time / - bpp_p->sbus_clock_cycle; + bpp_p->sbus_clock_cycle; if (bpp_transfer_parms_p->read_setup_time % - bpp_p->sbus_clock_cycle) + bpp_p->sbus_clock_cycle) dss_temp ++; /* round up */ dsw_temp = bpp_transfer_parms_p->read_strobe_width / - bpp_p->sbus_clock_cycle; + bpp_p->sbus_clock_cycle; if (bpp_transfer_parms_p->read_strobe_width % - bpp_p->sbus_clock_cycle) + bpp_p->sbus_clock_cycle) dsw_temp ++; /* round up */ } else { dss_temp = bpp_transfer_parms_p->write_setup_time / - bpp_p->sbus_clock_cycle; + bpp_p->sbus_clock_cycle; if (bpp_transfer_parms_p->write_setup_time % - bpp_p->sbus_clock_cycle) + bpp_p->sbus_clock_cycle) dss_temp ++; /* round up */ dsw_temp = bpp_transfer_parms_p->write_strobe_width / - bpp_p->sbus_clock_cycle; + bpp_p->sbus_clock_cycle; if (bpp_transfer_parms_p->write_strobe_width % - bpp_p->sbus_clock_cycle) + bpp_p->sbus_clock_cycle) dsw_temp ++; /* round up */ } BPP_PRINT(5, (CE_CONT, "dss = 0x%x, dsw = 0x%x\n", dss_temp, dsw_temp)); bpp_p->bpp_regs_p->hw_config = - ((((uchar_t)dsw_temp) << 8) | ((uchar_t)dss_temp)); + ((((uchar_t)dsw_temp) << 8) | ((uchar_t)dss_temp)); BPP_PRINT(2, (CE_CONT, - "Leaving set_dss_dsw, unit:%d.\n", unit_no)); + "Leaving set_dss_dsw, unit:%d.\n", unit_no)); } /* * Check the values of the write parameters in the passed bpp_transfer_parms @@ -2040,11 +2043,11 @@ check_write_params(struct bpp_transfer_parms *parms_p, int unit, int flags) ASSERT(MUTEX_HELD(&bpp_p->bpp_mutex)); retval = 0; BPP_PRINT(2, (CE_CONT, - "Entering check_write_params, parms_p = %x.\n", parms_p)); + "Entering check_write_params, parms_p = %x.\n", parms_p)); BPP_PRINT(5, (CE_CONT, "write_hs %d, write_time %d, \n", - parms_p->write_handshake, parms_p->write_setup_time)); + parms_p->write_handshake, parms_p->write_setup_time)); BPP_PRINT(5, (CE_CONT, "write_width %d, timeout %d.\n", - parms_p->write_strobe_width, parms_p->write_timeout)); + parms_p->write_strobe_width, parms_p->write_timeout)); #ifndef lint /* better rangechecking will be added later */ /* check for legal range */ @@ -2058,7 +2061,7 @@ check_write_params(struct bpp_transfer_parms *parms_p, int unit, int flags) if ((parms_p->write_handshake > BPP_BUSY_HS) && (parms_p->write_handshake < BPP_VPRINT_HS)) { BPP_PRINT(1, (CE_CONT, - "Handshake out of legal write range!\n")); + "Handshake out of legal write range!\n")); retval = EINVAL; goto out; } @@ -2078,7 +2081,7 @@ check_write_params(struct bpp_transfer_parms *parms_p, int unit, int flags) /* versatec handshakes not implemented in current code */ if ((parms_p->write_handshake > BPP_BUSY_HS)) { BPP_PRINT(1, (CE_CONT, - "No versatec handshakes allowed yet!\n")); + "No versatec handshakes allowed yet!\n")); retval = EINVAL; goto out; } @@ -2090,14 +2093,14 @@ check_write_params(struct bpp_transfer_parms *parms_p, int unit, int flags) if ((parms_p->write_setup_time < 0) || (parms_p->write_setup_time > max_setup)) { BPP_PRINT(1, (CE_CONT, - "Write setup time out of legal range!\n")); + "Write setup time out of legal range!\n")); retval = EINVAL; goto out; } if ((parms_p->write_strobe_width < 0) || (parms_p->write_strobe_width > max_width)) { BPP_PRINT(1, (CE_CONT, - "Write strobe width out of legal range!\n")); + "Write strobe width out of legal range!\n")); retval = EINVAL; goto out; } @@ -2106,14 +2109,14 @@ check_write_params(struct bpp_transfer_parms *parms_p, int unit, int flags) if ((parms_p->write_timeout < 0) || (parms_p->write_timeout > MAX_TIMEOUT)) { BPP_PRINT(1, (CE_CONT, - "Write timeout out of legal range!\n")); + "Write timeout out of legal range!\n")); retval = EINVAL; goto out; } out: BPP_PRINT(2, (CE_CONT, - "Leaving check_write_params, retval = %d.\n", retval)); + "Leaving check_write_params, retval = %d.\n", retval)); return (retval); } @@ -2136,11 +2139,11 @@ check_read_params(struct bpp_transfer_parms *parms_p, uint_t unit, int flags) ASSERT(MUTEX_HELD(&bpp_p->bpp_mutex)); retval = 0; BPP_PRINT(2, (CE_CONT, - "Entering check_read_params, parms_p = %x.\n", parms_p)); + "Entering check_read_params, parms_p = %x.\n", parms_p)); BPP_PRINT(5, (CE_CONT, - "read_hs %d, read_time %d, read_width %d, timeout %d.\n", - parms_p->read_handshake, parms_p->read_setup_time, - parms_p->read_strobe_width, parms_p->read_timeout)); + "read_hs %d, read_time %d, read_width %d, timeout %d.\n", + parms_p->read_handshake, parms_p->read_setup_time, + parms_p->read_strobe_width, parms_p->read_timeout)); #ifndef lint /* check for legal range */ if ((parms_p->read_handshake < BPP_NO_HS) || @@ -2157,14 +2160,14 @@ check_read_params(struct bpp_transfer_parms *parms_p, uint_t unit, int flags) if ((parms_p->read_setup_time < 0) || (parms_p->read_setup_time > max_setup)) { BPP_PRINT(1, (CE_CONT, - "Read setup time out of legal range!\n")); + "Read setup time out of legal range!\n")); retval = EINVAL; goto out; } if ((parms_p->read_strobe_width < 0) || (parms_p->read_strobe_width > max_width)) { BPP_PRINT(1, (CE_CONT, - "Read strobe width out of legal range!\n")); + "Read strobe width out of legal range!\n")); retval = EINVAL; goto out; } @@ -2173,14 +2176,14 @@ check_read_params(struct bpp_transfer_parms *parms_p, uint_t unit, int flags) if ((parms_p->read_timeout < 0) || (parms_p->read_timeout > MAX_TIMEOUT)) { BPP_PRINT(1, (CE_CONT, - "Read timeout out of legal range!\n")); + "Read timeout out of legal range!\n")); retval = EINVAL; goto out; } out: BPP_PRINT(2, (CE_CONT, - "Leaving check_read_params, retval = %d.\n", retval)); + "Leaving check_read_params, retval = %d.\n", retval)); return (retval); } @@ -2196,21 +2199,21 @@ check_read_pins(struct bpp_pins *pins_p, int flags, uint_t unit, bpp_p = getsoftc(unit); ASSERT(MUTEX_HELD(&bpp_p->bpp_mutex)); BPP_PRINT(2, (CE_CONT, - "Entering check_read_pins, pins_p = 0x%x \n", pins_p)); + "Entering check_read_pins, pins_p = 0x%x \n", pins_p)); BPP_PRINT(5, (CE_CONT, - "outpins = 0x%x, inpins = 0x%x.\n", pins_p->output_reg_pins, - pins_p->input_reg_pins)); + "outpins = 0x%x, inpins = 0x%x.\n", pins_p->output_reg_pins, + pins_p->input_reg_pins)); /* check for bogus bits turned on */ if ((pins_p->output_reg_pins & ~BPP_ALL_OUT_PINS) || (pins_p->input_reg_pins & ~BPP_ALL_IN_PINS)) { BPP_PRINT(1, (CE_CONT, - "Check pins : Bogus bit in bpp pins structure!\n")); + "Check pins : Bogus bit in bpp pins structure!\n")); retval = EINVAL; goto out; } out: BPP_PRINT(2, (CE_CONT, - "Leaving check_read_pins, retval = %d.\n", retval)); + "Leaving check_read_pins, retval = %d.\n", retval)); return (retval); } @@ -2226,14 +2229,14 @@ check_write_pins(struct bpp_pins *pins_p, int flags, uint_t unit, bpp_p = getsoftc(unit); ASSERT(MUTEX_HELD(&bpp_p->bpp_mutex)); BPP_PRINT(2, (CE_CONT, - "Entering check_write_pins, pins_p = 0x%x, \n", pins_p)); + "Entering check_write_pins, pins_p = 0x%x, \n", pins_p)); BPP_PRINT(5, (CE_CONT, "outpins = 0x%x, inpins = 0x%x.\n", - pins_p->output_reg_pins, pins_p->input_reg_pins)); + pins_p->output_reg_pins, pins_p->input_reg_pins)); /* check for bogus bits turned on */ if ((pins_p->output_reg_pins & ~BPP_ALL_OUT_PINS) || (pins_p->input_reg_pins & ~BPP_ALL_IN_PINS)) { BPP_PRINT(1, (CE_CONT, - "Check pins : Bogus bit in bpp pins structure!\n")); + "Check pins : Bogus bit in bpp pins structure!\n")); retval = EINVAL; goto out; } @@ -2248,7 +2251,7 @@ check_write_pins(struct bpp_pins *pins_p, int flags, uint_t unit, /* versatec handshakes not implemented in current code */ if ((handshake > BPP_BUSY_HS)) { BPP_PRINT(1, (CE_CONT, - "No versatec handshakes allowed yet!\n")); + "No versatec handshakes allowed yet!\n")); /* * really, need to check for one bit only of remote * pins set. @@ -2259,7 +2262,7 @@ check_write_pins(struct bpp_pins *pins_p, int flags, uint_t unit, #endif /* lint */ out: BPP_PRINT(2, (CE_CONT, - "Leaving check_write_pins, retval = %d.\n", retval)); + "Leaving check_write_pins, retval = %d.\n", retval)); return (retval); } @@ -2271,8 +2274,8 @@ read_outpins(int unit_no, int flags, register enum handshake_t handshake) /* unit's state struct */ uchar_t temppins; BPP_PRINT(2, (CE_CONT, - "Entering read_outpins, unit = %d, flags = 0x%x, \n", - unit_no, flags)); + "Entering read_outpins, unit = %d, flags = 0x%x, \n", + unit_no, flags)); bpp_p = getsoftc(unit_no); ASSERT(MUTEX_HELD(&bpp_p->bpp_mutex)); @@ -2282,12 +2285,12 @@ read_outpins(int unit_no, int flags, register enum handshake_t handshake) #if BPP_DEBUG > 0 if (handshake > BPP_BUSY_HS) { BPP_PRINT(1, (CE_CONT, - "No versatec handshakes allowed yet!\n")); + "No versatec handshakes allowed yet!\n")); } #endif /* BPP_DEBUG */ temppins = bpp_p->bpp_regs_p->out_pins & - (BPP_SLCTIN_PIN | BPP_AFX_PIN | BPP_INIT_PIN); + (BPP_SLCTIN_PIN | BPP_AFX_PIN | BPP_INIT_PIN); bpp_p->pins.output_reg_pins |= temppins; } @@ -2312,16 +2315,16 @@ check_bpp_registers(int unit_no) /* unit's state struct */ BPP_PRINT(2, (CE_CONT, "Entering check_bpp_registers, unit %d.\n", - unit_no)); + unit_no)); bpp_p = getsoftc(unit_no); -/* check the 32-bit dma registers */ + /* check the 32-bit dma registers */ /* dma csr */ l_reg_addr = &(bpp_p->bpp_regs_p->dma_csr); if (ddi_peek32(bpp_p->dip, (int32_t *)l_reg_addr, (int32_t *)&l_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed dma csr, address %x\n", - l_reg_addr)); + "ck_bpp_registers: peek failed dma csr, address %x\n", + l_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "dma_csr contains %x\n", l_reg_contents)); @@ -2331,8 +2334,8 @@ check_bpp_registers(int unit_no) if (ddi_peek32(bpp_p->dip, (int32_t *)l_reg_addr, (int32_t *)&l_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed dma addr, address %x\n", - l_reg_addr)); + "ck_bpp_registers: peek failed dma addr, address %x\n", + l_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "dma_addr contains %x\n", l_reg_contents)); @@ -2342,8 +2345,8 @@ check_bpp_registers(int unit_no) if (ddi_peek32(bpp_p->dip, (int32_t *)l_reg_addr, (int32_t *)&l_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed dma bcnt, address %x\n", - l_reg_addr)); + "ck_bpp_registers: peek failed dma bcnt, address %x\n", + l_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "dma_bcnt contains %x\n", l_reg_contents)); @@ -2354,15 +2357,15 @@ check_bpp_registers(int unit_no) if (ddi_peek16(bpp_p->dip, (int16_t *)s_reg_addr, (int16_t *)&s_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed hw_config, address %x\n", - s_reg_addr)); + "ck_bpp_registers: peek failed hw_config, address %x\n", + s_reg_addr)); return (1); } if (ddi_poke16(bpp_p->dip, (short *)s_reg_addr, s_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: poke failed hw_config, address %x\n", - s_reg_addr)); + "ck_bpp_registers: poke failed hw_config, address %x\n", + s_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "hw_config contains %x\n", s_reg_contents)); @@ -2372,8 +2375,8 @@ check_bpp_registers(int unit_no) if (ddi_peek16(bpp_p->dip, (short *)s_reg_addr, (short *)&s_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed op_config, address %x\n", - s_reg_addr)); + "ck_bpp_registers: peek failed op_config, address %x\n", + s_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "op_config contains %x\n", s_reg_contents)); @@ -2383,8 +2386,8 @@ check_bpp_registers(int unit_no) if (ddi_peek16(bpp_p->dip, (short *)s_reg_addr, (short *)&s_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed int_cntl, address %x\n", - s_reg_addr)); + "ck_bpp_registers: peek failed int_cntl, address %x\n", + s_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "int_cntl contains %x\n", s_reg_contents)); @@ -2395,8 +2398,8 @@ check_bpp_registers(int unit_no) if (ddi_peek8(bpp_p->dip, (char *)c_reg_addr, (char *)&c_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed data, address %x\n", - c_reg_addr)); + "ck_bpp_registers: peek failed data, address %x\n", + c_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "data contains %x\n", c_reg_contents)); @@ -2406,8 +2409,8 @@ check_bpp_registers(int unit_no) if (ddi_peek8(bpp_p->dip, (char *)c_reg_addr, (char *)&c_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers:peek failed trans_cntl, address %x\n", - c_reg_addr)); + "ck_bpp_registers:peek failed trans_cntl, address %x\n", + c_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "trans_cntl contains %x\n", c_reg_contents)); @@ -2417,8 +2420,8 @@ check_bpp_registers(int unit_no) if (ddi_peek8(bpp_p->dip, (char *)c_reg_addr, (char *)&c_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed out_pins, address %x\n", - c_reg_addr)); + "ck_bpp_registers: peek failed out_pins, address %x\n", + c_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "out_pins contains %x\n", c_reg_contents)); @@ -2428,12 +2431,12 @@ check_bpp_registers(int unit_no) if (ddi_peek8(bpp_p->dip, (char *)c_reg_addr, (char *)&c_reg_contents) != DDI_SUCCESS) { BPP_PRINT(1, (CE_CONT, - "ck_bpp_registers: peek failed in_pins, address %x\n", - c_reg_addr)); + "ck_bpp_registers: peek failed in_pins, address %x\n", + c_reg_addr)); return (1); } BPP_PRINT(5, (CE_CONT, "in_pins contains %x\n", c_reg_contents)); BPP_PRINT(5, (CE_CONT, - "Leaving check_bpp_registers, unit %d.\n", unit_no)); + "Leaving check_bpp_registers, unit %d.\n", unit_no)); return (0); } diff --git a/usr/src/uts/sun/io/cgsix.c b/usr/src/uts/sun/io/cgsix.c index 9fd87597ac..0d856fd298 100644 --- a/usr/src/uts/sun/io/cgsix.c +++ b/usr/src/uts/sun/io/cgsix.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #pragma weak setintrenable /* @@ -230,7 +228,8 @@ struct dev_ops cgsix_ops = { nodev, /* reset */ &cg6_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - cg6_power + cg6_power, + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -494,7 +493,7 @@ static pid_t getpid(void); static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "cgsix driver v%I%", /* Name of the module. */ + "cgsix driver", /* Name of the module. */ &cgsix_ops, /* driver ops */ }; @@ -516,8 +515,8 @@ _init(void) e = mod_install(&modlinkage); if (e) { - ddi_soft_state_fini(&cg6_softc_head); - DEBUGF(1, (CE_CONT, "done\n")); + ddi_soft_state_fini(&cg6_softc_head); + DEBUGF(1, (CE_CONT, "done\n")); } DEBUGF(1, (CE_CONT, "cgsix: _init done rtn=%d\n", e)); return (e); @@ -531,7 +530,7 @@ _fini(void) DEBUGF(1, (CE_CONT, "cgsix: _fini, mem used=%d\n", total_memory)); if ((e = mod_remove(&modlinkage)) != 0) - return (e); + return (e); ddi_soft_state_fini(&cg6_softc_head); @@ -560,46 +559,47 @@ cg6_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) switch (cmd) { case DDI_ATTACH: - break; + break; case DDI_RESUME: - if ((softc = ddi_get_driver_private(devi)) == NULL) - return (DDI_FAILURE); - if (!softc->cg6_suspended) - return (DDI_SUCCESS); - mutex_enter(&softc->mutex); - cg6_reset(softc); - if (softc->curctx) { + if ((softc = ddi_get_driver_private(devi)) == NULL) + return (DDI_FAILURE); + if (!softc->cg6_suspended) + return (DDI_SUCCESS); + mutex_enter(&softc->mutex); + cg6_reset(softc); + if (softc->curctx) { /* Restore the video state */ - cg6_set_video(softc, softc->vidon); + cg6_set_video(softc, softc->vidon); /* Restore non display RAM */ - if (ddi_map_regs(devi, 0, (caddr_t *)&fb_ndvram, - CG6_ADDR_COLOR + softc->_w * softc->_h, - softc->ndvramsz) == -1) { - mutex_exit(&softc->mutex); - return (DDI_FAILURE); - } - bcopy(softc->ndvram, fb_ndvram, softc->ndvramsz); - ddi_unmap_regs(devi, 0, (caddr_t *)&fb_ndvram, - CG6_ADDR_COLOR + softc->_w * softc->_h, - softc->ndvramsz); - kmem_free(softc->ndvram, softc->ndvramsz); + if (ddi_map_regs(devi, 0, (caddr_t *)&fb_ndvram, + CG6_ADDR_COLOR + softc->_w * softc->_h, + softc->ndvramsz) == -1) { + mutex_exit(&softc->mutex); + return (DDI_FAILURE); + } + bcopy(softc->ndvram, fb_ndvram, softc->ndvramsz); + ddi_unmap_regs(devi, 0, (caddr_t *)&fb_ndvram, + CG6_ADDR_COLOR + softc->_w * softc->_h, + softc->ndvramsz); + kmem_free(softc->ndvram, softc->ndvramsz); /* Restore other frame buffer state */ - (void) cg6_cntxrestore(S_FBC(softc), S_TEC(softc), - softc->curctx); - cg6_setcurpos(softc); - cg6_setcurshape(softc); - cg6_update_cmap(softc, (uint_t)_ZERO_, CG6_CMAP_ENTRIES); - cg6_int_enable(softc); /* Schedule the update */ - } - softc->cg6_suspended = 0; - mutex_exit(&softc->mutex); - return (DDI_SUCCESS); + (void) cg6_cntxrestore(S_FBC(softc), S_TEC(softc), + softc->curctx); + cg6_setcurpos(softc); + cg6_setcurshape(softc); + cg6_update_cmap(softc, (uint_t)_ZERO_, + CG6_CMAP_ENTRIES); + cg6_int_enable(softc); /* Schedule the update */ + } + softc->cg6_suspended = 0; + mutex_exit(&softc->mutex); + return (DDI_SUCCESS); default: - return (DDI_FAILURE); + return (DDI_FAILURE); } DEBUGF(1, (CE_CONT, "cg6_attach unit=%d\n", unit)); @@ -621,19 +621,19 @@ cg6_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* Grab properties from PROM */ /* TODO don't really want default w, h */ if (ddi_prop_op(DDI_DEV_T_ANY, devi, PROP_LEN_AND_VAL_ALLOC, - DDI_PROP_DONTPASS, "emulation", (caddr_t)&tmp, &proplen) == - DDI_PROP_SUCCESS) { - if (strcmp(tmp, "cgthree+") == 0) + DDI_PROP_DONTPASS, "emulation", (caddr_t)&tmp, &proplen) == + DDI_PROP_SUCCESS) { + if (strcmp(tmp, "cgthree+") == 0) softc->emulation = FBTYPE_SUN3COLOR; - else if (strcmp(tmp, "cgfour+") == 0) + else if (strcmp(tmp, "cgfour+") == 0) softc->emulation = FBTYPE_SUN4COLOR; - else if (strcmp(tmp, "bwtwo+") == 0) + else if (strcmp(tmp, "bwtwo+") == 0) softc->emulation = FBTYPE_SUN2BW; - else + else softc->emulation = FBTYPE_SUNFAST_COLOR; - kmem_free(tmp, proplen); + kmem_free(tmp, proplen); } else - softc->emulation = FBTYPE_SUNFAST_COLOR; + softc->emulation = FBTYPE_SUNFAST_COLOR; softc->_w = w = getprop(devi, "width", 1152); softc->_h = h = getprop(devi, "height", 900); @@ -647,11 +647,11 @@ cg6_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) softc->cg6info.vmsize = getprop(devi, "vmsize", 1); if (softc->cg6info.vmsize > 1) { - softc->size = (size_t)ddi_ptob(devi, - ddi_btopr(devi, 8 * 1024 * 1024)); - softc->fbmappable = 8 * 1024 * 1024; + softc->size = (size_t)ddi_ptob(devi, + ddi_btopr(devi, 8 * 1024 * 1024)); + softc->fbmappable = 8 * 1024 * 1024; } else - softc->fbmappable = 1024 * 1024; + softc->fbmappable = 1024 * 1024; /* Compute size of dummy overlay/enable planes */ softc->dummysize = btob(mpr_linebytes(w, 1) * h) * 2; @@ -662,18 +662,19 @@ cg6_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * don't need a new mapping */ if (reg = (caddr_t)(uintptr_t)getprop(devi, "address", 0)) { - softc->_fb = (MPR_T *) reg; - softc->mapped_by_prom = 1; - if (ddi_ptob(devi, ddi_btopr(devi, w * h)) <= - getprop(devi, "fbmapped", w * h)) - bytes = 0; - DEBUGF(2, (CE_CONT, "cg6 mapped by PROM\n")); + softc->_fb = (MPR_T *) reg; + softc->mapped_by_prom = 1; + if (ddi_ptob(devi, ddi_btopr(devi, w * h)) <= + getprop(devi, "fbmapped", w * h)) + bytes = 0; + DEBUGF(2, (CE_CONT, "cg6 mapped by PROM\n")); } softc->cg6info.line_bytes = softc->_linebytes; softc->cg6info.accessible_width = getprop(devi, "awidth", 1152); softc->cg6info.accessible_height = (uint_t) - (softc->cg6info.vmsize * 1024 * 1024) / softc->cg6info.accessible_width; + (softc->cg6info.vmsize * 1024 * 1024) / + softc->cg6info.accessible_width; softc->cg6info.hdb_capable = getprop(devi, "dblbuf", 0); softc->cg6info.boardrev = getprop(devi, "boardrev", 0); softc->vrtpage = NULL; @@ -704,19 +705,19 @@ cg6_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) softc->addr_rom = CG6_ADDR_ROM_SBUS; if (ddi_map_regs(devi, 0, &softc->fbctec, CG6_ADDR_FBC, - (off_t)CG6_FBCTEC_SZ) != 0) { - (void) cg6_detach(devi, DDI_DETACH); - return (DDI_FAILURE); + (off_t)CG6_FBCTEC_SZ) != 0) { + (void) cg6_detach(devi, DDI_DETACH); + return (DDI_FAILURE); } if (ddi_map_regs(devi, 0, &softc->cmap, CG6_ADDR_CMAP, - (off_t)CG6_CMAP_SZ) != 0) { - (void) cg6_detach(devi, DDI_DETACH); - return (DDI_FAILURE); + (off_t)CG6_CMAP_SZ) != 0) { + (void) cg6_detach(devi, DDI_DETACH); + return (DDI_FAILURE); } if (ddi_map_regs(devi, 0, &softc->fhcthc, CG6_ADDR_FHC, - (off_t)CG6_FHCTHC_SZ) != 0) { - (void) cg6_detach(devi, DDI_DETACH); - return (DDI_FAILURE); + (off_t)CG6_FHCTHC_SZ) != 0) { + (void) cg6_detach(devi, DDI_DETACH); + return (DDI_FAILURE); } softc->chiprev = @@ -737,11 +738,11 @@ cg6_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) cv_init(&softc->vrtsleep, NULL, CV_DRIVER, NULL); if (ddi_add_intr(devi, 0, &softc->iblock_cookie, 0, - cg6_intr, (caddr_t)softc) != DDI_SUCCESS) { - DEBUGF(2, (CE_CONT, + cg6_intr, (caddr_t)softc) != DDI_SUCCESS) { + DEBUGF(2, (CE_CONT, "cg6_attach%d add_intr failed\n", unit)); - (void) cg6_detach(devi, DDI_DETACH); - return (DDI_FAILURE); + (void) cg6_detach(devi, DDI_DETACH); + return (DDI_FAILURE); } /* @@ -808,17 +809,17 @@ cg6_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) switch (cmd) { case DDI_DETACH: - break; + break; case DDI_SUSPEND: - if (softc == NULL) - return (DDI_FAILURE); - if (softc->cg6_suspended) - return (DDI_FAILURE); + if (softc == NULL) + return (DDI_FAILURE); + if (softc->cg6_suspended) + return (DDI_FAILURE); - mutex_enter(&softc->mutex); + mutex_enter(&softc->mutex); - if (softc->curctx) { + if (softc->curctx) { struct fbc *fbc0 = S_FBC(softc); /* Save the video state */ @@ -826,9 +827,9 @@ cg6_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) /* Save non display RAM */ softc->ndvramsz = (softc->cg6info.vmsize * 1024 * 1024) - - (softc->_w * softc->_h); + - (softc->_w * softc->_h); if ((softc->ndvram = kmem_alloc(softc->ndvramsz, - KM_NOSLEEP)) == NULL) { + KM_NOSLEEP)) == NULL) { mutex_exit(&softc->mutex); return (DDI_FAILURE); } @@ -837,47 +838,47 @@ cg6_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) * If FBC is busy, wait for maximum of 2 seconds for it * to be idle */ - CG6DELAY(!(fbc0->l_fbc_status & L_FBC_BUSY), - 4*CG6_FBC_WAIT); + CG6DELAY(!(fbc0->l_fbc_status & L_FBC_BUSY), + 4*CG6_FBC_WAIT); - if (fbc0->l_fbc_status & L_FBC_BUSY) { + if (fbc0->l_fbc_status & L_FBC_BUSY) { /* * if still busy, try another 2 seconds before * giving up */ CG6DELAY(!(fbc0->l_fbc_status & L_FBC_BUSY), - 4*CG6_FBC_WAIT); + 4*CG6_FBC_WAIT); if (fbc0->l_fbc_status & L_FBC_BUSY) - cmn_err(CE_WARN, "cg6_detach: FBC still busy"); - } - - if (ddi_map_regs(devi, 0, &fb_ndvram, CG6_ADDR_COLOR + - softc->_w * softc->_h, softc->ndvramsz) == -1) { - kmem_free(softc->ndvram, softc->ndvramsz); - mutex_exit(&softc->mutex); - return (DDI_FAILURE); - } - bcopy(fb_ndvram, softc->ndvram, softc->ndvramsz); - ddi_unmap_regs(devi, 0, &fb_ndvram, CG6_ADDR_COLOR + - softc->_w * softc->_h, softc->ndvramsz); + cmn_err(CE_WARN, "cg6_detach: FBC still busy"); + } + + if (ddi_map_regs(devi, 0, &fb_ndvram, CG6_ADDR_COLOR + + softc->_w * softc->_h, softc->ndvramsz) == -1) { + kmem_free(softc->ndvram, softc->ndvramsz); + mutex_exit(&softc->mutex); + return (DDI_FAILURE); + } + bcopy(fb_ndvram, softc->ndvram, softc->ndvramsz); + ddi_unmap_regs(devi, 0, &fb_ndvram, CG6_ADDR_COLOR + + softc->_w * softc->_h, softc->ndvramsz); /* Save other frame buffer state */ - (void) cg6_cntxsave(S_FBC(softc), S_TEC(softc), - softc->curctx); - } - softc->cg6_suspended = 1; - mutex_exit(&softc->mutex); - return (DDI_SUCCESS); + (void) cg6_cntxsave(S_FBC(softc), S_TEC(softc), + softc->curctx); + } + softc->cg6_suspended = 1; + mutex_exit(&softc->mutex); + return (DDI_SUCCESS); default: - return (DDI_FAILURE); + return (DDI_FAILURE); } /* shut off video if not console */ if (!softc->mapped_by_prom) - cg6_set_video(softc, 0); + cg6_set_video(softc, 0); mutex_enter(&softc->mutex); cg6_int_disable(softc); @@ -886,20 +887,21 @@ cg6_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) ddi_remove_intr(devi, 0, softc->iblock_cookie); if (softc->fbctec) - ddi_unmap_regs(devi, 0, - &softc->fbctec, CG6_ADDR_FBC, CG6_FBCTEC_SZ); + ddi_unmap_regs(devi, 0, + &softc->fbctec, CG6_ADDR_FBC, CG6_FBCTEC_SZ); if (softc->cmap) - ddi_unmap_regs(devi, 0, &softc->cmap, CG6_ADDR_CMAP, CG6_CMAP_SZ); + ddi_unmap_regs(devi, 0, &softc->cmap, CG6_ADDR_CMAP, + CG6_CMAP_SZ); if (softc->fhcthc) - ddi_unmap_regs(devi, 0, - &softc->fhcthc, CG6_ADDR_FHC, CG6_FHCTHC_SZ); + ddi_unmap_regs(devi, 0, + &softc->fhcthc, CG6_ADDR_FHC, CG6_FHCTHC_SZ); if (softc->intrstats) { kstat_delete(softc->intrstats); } softc->intrstats = NULL; if (softc->vrtpage != NULL) - ddi_umem_free(softc->vrtcookie); + ddi_umem_free(softc->vrtcookie); mutex_destroy(&softc->mutex); @@ -937,7 +939,7 @@ cg6_power(dev_info_t *dip, int cmpt, int level) S_THC(softc)->l_thc_hcmisc |= THC_HCMISC_RESET; drv_usecwait(500); S_THC(softc)->l_thc_hcmisc |= - (THC_HCMISC_SYNCEN | THC_HCMISC_VIDEO); + (THC_HCMISC_SYNCEN | THC_HCMISC_VIDEO); S_THC(softc)->l_thc_hcmisc &= ~THC_HCMISC_RESET; cg6_update_cmap(softc, (uint_t)_ZERO_, CG6_CMAP_ENTRIES); cg6_int_enable(softc); @@ -948,7 +950,7 @@ cg6_power(dev_info_t *dip, int cmpt, int level) S_THC(softc)->l_thc_hcmisc |= THC_HCMISC_RESET; drv_usecwait(500); S_THC(softc)->l_thc_hcmisc &= - ~(THC_HCMISC_VIDEO | THC_HCMISC_SYNCEN); + ~(THC_HCMISC_VIDEO | THC_HCMISC_SYNCEN); S_THC(softc)->l_thc_hcmisc &= ~THC_HCMISC_RESET; mutex_exit(&softc->mutex); } @@ -967,19 +969,19 @@ cg6_info(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result) switch (infocmd) { case DDI_INFO_DEVT2DEVINFO: - if ((softc = getsoftc(instance)) == NULL) { + if ((softc = getsoftc(instance)) == NULL) { error = DDI_FAILURE; - } else { + } else { *result = (void *) softc->devi; error = DDI_SUCCESS; - } - break; + } + break; case DDI_INFO_DEVT2INSTANCE: *result = (void *) (uintptr_t)instance; error = DDI_SUCCESS; break; default: - error = DDI_FAILURE; + error = DDI_FAILURE; } return (error); } @@ -998,10 +1000,10 @@ cg6_open(dev_t *devp, int flag, int otyp, cred_t *cred) * is this gorp necessary? */ if (otyp != OTYP_CHR) { - error = EINVAL; + error = EINVAL; } else if (softc == NULL) { - error = ENXIO; + error = ENXIO; } return (error); @@ -1020,17 +1022,17 @@ cg6_close(dev_t dev, int flag, int otyp, cred_t *cred) unit, flag, otyp, total_memory)); if (otyp != OTYP_CHR) { - error = EINVAL; + error = EINVAL; } else if (softc == NULL) { - error = ENXIO; + error = ENXIO; } else { - mutex_enter(&softc->mutex); - cg6_reset_cmap(softc->cmap_rgb, CG6_CMAP_ENTRIES); - cg6_restore_prom_cmap(softc, softc->cmap_rgb, CG6_CMAP_ENTRIES); - softc->cur.enable = 0; - softc->curctx = NULL; - cg6_reset(softc); - mutex_exit(&softc->mutex); + mutex_enter(&softc->mutex); + cg6_reset_cmap(softc->cmap_rgb, CG6_CMAP_ENTRIES); + cg6_restore_prom_cmap(softc, softc->cmap_rgb, CG6_CMAP_ENTRIES); + softc->cur.enable = 0; + softc->curctx = NULL; + cg6_reset(softc); + mutex_exit(&softc->mutex); } return (error); @@ -1049,25 +1051,25 @@ cg6_mmap(dev_t dev, off_t off, int prot) getminor(dev), (uint_t)off)); if ((diff = off - CG6_VADDR_COLOR) >= 0 && diff < softc->fbmappable) - rval = softc->fbpfnum + diff / pagesize; + rval = softc->fbpfnum + diff / pagesize; else if ((diff = off - CG6_VADDR_FBC) >= 0 && diff < CG6_FBCTEC_SZ) - page = softc->fbctec + diff; + page = softc->fbctec + diff; else if ((diff = off - CG6_VADDR_CMAP) >= 0 && diff < CG6_CMAP_SZ) - page = softc->cmap + diff; + page = softc->cmap + diff; else if ((diff = off - CG6_VADDR_FHC) >= 0 && diff < CG6_FHCTHC_SZ) - page = softc->fhcthc + diff; + page = softc->fhcthc + diff; else if ((diff = off - CG6_VADDR_ROM) >= 0 && diff < CG6_ROM_SZ) - page = softc->rom + diff; + page = softc->rom + diff; else if ((diff = off - CG6_VADDR_DHC) >= 0 && diff < CG6_DHC_SZ) - page = softc->dhc + diff; + page = softc->dhc + diff; else if ((diff = off - CG6_VADDR_ALT) >= 0 && diff < CG6_ALT_SZ) - page = softc->alt + diff; + page = softc->alt + diff; else if ((diff = off - CG6_VADDR_VRT) >= 0 && diff < CG6_VRT_SZ) - page = softc->vrtpage ? + page = softc->vrtpage ? (caddr_t)softc->vrtpage + diff : (caddr_t)-1; else if ((diff = off - CG3_MMAP_OFFSET) >= 0 && - diff < softc->fbmappable) - rval = softc->fbpfnum + diff / pagesize; + diff < softc->fbmappable) + rval = softc->fbpfnum + diff / pagesize; else if (off < CG6_VBASE) { /* @@ -1075,25 +1077,25 @@ cg6_mmap(dev_t dev, off_t off, int prot) * we're emulating */ - if (softc->emulation == FBTYPE_SUN3COLOR) { + if (softc->emulation == FBTYPE_SUN3COLOR) { if (off >= 0 && off < softc->fbmappable) - rval = softc->fbpfnum + diff / pagesize; + rval = softc->fbpfnum + diff / pagesize; else - page = (caddr_t)-1; - } else { /* softc->emulation == FBTYPE_SUN4COLOR */ + page = (caddr_t)-1; + } else { /* softc->emulation == FBTYPE_SUN4COLOR */ if (off >= 0 && off < softc->dummysize) - page = softc->rom; + page = softc->rom; else if ((diff = off - softc->dummysize) < softc->fbmappable) - rval = softc->fbpfnum + diff / pagesize; - } + rval = softc->fbpfnum + diff / pagesize; + } /* TODO: bw2? */ } else - page = (caddr_t)-1; + page = (caddr_t)-1; if (rval == 0) - if (page != (caddr_t)-1) + if (page != (caddr_t)-1) rval = hat_getkpfnum(page); - else + else rval = -1; DEBUGF(5, (CE_CONT, "cg6_mmap returning 0x%x\n", rval)); @@ -1132,12 +1134,12 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) case VIS_GETIDENTIFIER: - if (ddi_copyout((caddr_t)&cg6_ident, - (caddr_t)data, - sizeof (struct vis_identifier), - mode)) - return (EFAULT); - break; + if (ddi_copyout((caddr_t)&cg6_ident, + (caddr_t)data, + sizeof (struct vis_identifier), + mode)) + return (EFAULT); + break; case FBIOPUTCMAP: case FBIOGETCMAP: @@ -1162,11 +1164,11 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) case 0: case PIXPG_8BIT_COLOR: - map = softc->cmap_rgb; - entries = CG6_CMAP_ENTRIES; - break; + map = softc->cmap_rgb; + entries = CG6_CMAP_ENTRIES; + break; default: - return (EINVAL); + return (EINVAL); } } else { map = softc->omap_rgb; @@ -1174,7 +1176,7 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) } if ((index &= PIX_ALL_PLANES) >= entries || - index + count > entries) { + index + count > entries) { return (EINVAL); } /* @@ -1214,7 +1216,7 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) mutex_enter(&softc->mutex); map += index * 3; if (cg6_update_pending(softc)) - cg6_int_disable(softc); + cg6_int_disable(softc); /* * Copy color map entries from stack to the color map @@ -1227,7 +1229,7 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) /* cursor colormap update */ if (entries < CG6_CMAP_ENTRIES) - count = 0; + count = 0; cg6_update_cmap(softc, index, count); cg6_int_enable(softc); mutex_exit(&softc->mutex); @@ -1276,9 +1278,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) struct fbsattr attr; if (ddi_copyin((caddr_t)data, - (caddr_t)&attr, - sizeof (attr), - mode)) + (caddr_t)&attr, + sizeof (attr), + mode)) return (EFAULT); DEBUGF(3, (CE_CONT, "FBIOSATTR, type=%d\n", attr.emu_type)); if (attr.emu_type != -1) @@ -1288,12 +1290,12 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) case FBTYPE_SUN4COLOR: case FBTYPE_SUN2BW: case FBTYPE_SUNFAST_COLOR: - mutex_enter(&softc->mutex); - softc->emulation = attr.emu_type; - mutex_exit(&softc->mutex); - break; + mutex_enter(&softc->mutex); + softc->emulation = attr.emu_type; + mutex_exit(&softc->mutex); + break; default: - return (EINVAL); + return (EINVAL); } /* ignore device-dependent stuff */ } @@ -1303,7 +1305,7 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) struct fbgattr attr; DEBUGF(3, (CE_CONT, "FBIOGATTR, emu_type=%d\n", - softc->emulation)); + softc->emulation)); bcopy((caddr_t)&cg6_attr, (caddr_t)&attr, sizeof (attr)); mutex_enter(&softc->mutex); attr.fbtype.fb_type = softc->emulation; @@ -1315,9 +1317,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) mutex_exit(&softc->mutex); if (ddi_copyout((caddr_t)&attr, - (caddr_t)data, - sizeof (struct fbgattr), - mode)) + (caddr_t)data, + sizeof (struct fbgattr), + mode)) return (EFAULT); } break; @@ -1344,9 +1346,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) mutex_exit(&softc->mutex); if (ddi_copyout((caddr_t)&fb, - (caddr_t)data, - sizeof (struct fbtype), - mode)) + (caddr_t)data, + sizeof (struct fbtype), + mode)) return (EFAULT); } break; @@ -1354,9 +1356,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) DEBUGF(3, (CE_CONT, "FBIOSVIDEO\n")); if (ddi_copyin((caddr_t)data, - (caddr_t)&i, - sizeof (int), - mode)) + (caddr_t)&i, + sizeof (int), + mode)) return (EFAULT); mutex_enter(&softc->mutex); cg6_set_video(softc, i & FBVIDEO_ON); @@ -1371,9 +1373,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) mutex_exit(&softc->mutex); if (ddi_copyout((caddr_t)&i, - (caddr_t)data, - sizeof (int), - mode)) + (caddr_t)data, + sizeof (int), + mode)) return (EFAULT); break; @@ -1381,17 +1383,17 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) case FBIOGXINFO: if (ddi_copyout((caddr_t)&softc->cg6info, - (caddr_t)data, - sizeof (struct cg6_info), - mode)) + (caddr_t)data, + sizeof (struct cg6_info), + mode)) return (EFAULT); return (0); case FBIOMONINFO: if (ddi_copyout((caddr_t)&softc->moninfo, - (caddr_t)data, - sizeof (struct mon_info), - mode)) + (caddr_t)data, + sizeof (struct mon_info), + mode)) return (EFAULT); return (0); @@ -1411,9 +1413,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) i = CG6_VADDR_VRT; if (ddi_copyout((caddr_t)&i, - (caddr_t)data, - sizeof (int), - mode)) + (caddr_t)data, + sizeof (int), + mode)) return (EFAULT); return (0); @@ -1471,17 +1473,17 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) if (STRUCT_FGETP(fbcursor, image)) { bzero((caddr_t)softc->cur.image, - sizeof (softc->cur.image)); + sizeof (softc->cur.image)); bcopy((caddr_t)&stack_image, - (caddr_t)softc->cur.image, - cbytes); + (caddr_t)softc->cur.image, + cbytes); } if (STRUCT_FGETP(fbcursor, mask)) { bzero((caddr_t)softc->cur.mask, - sizeof (softc->cur.mask)); + sizeof (softc->cur.mask)); bcopy((caddr_t)&stack_mask, - (caddr_t)softc->cur.mask, - cbytes); + (caddr_t)softc->cur.mask, + cbytes); } /* load into hardware */ softc->cur.size = STRUCT_FGET(fbcursor, size); @@ -1570,9 +1572,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) struct fbcurpos stack_curpos; /* cursor position */ if (ddi_copyin((caddr_t)data, - (caddr_t)&stack_curpos, - sizeof (struct fbcurpos), - mode)) + (caddr_t)&stack_curpos, + sizeof (struct fbcurpos), + mode)) return (EFAULT); mutex_enter(&softc->mutex); @@ -1592,9 +1594,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) mutex_exit(&softc->mutex); if (ddi_copyout((caddr_t)&stack_curpos, - (caddr_t)data, - sizeof (struct fbcurpos), - mode)) + (caddr_t)data, + sizeof (struct fbcurpos), + mode)) return (EFAULT); } break; @@ -1603,9 +1605,9 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) static struct fbcurpos curmax = {32, 32}; if (ddi_copyout((caddr_t)&curmax, - (caddr_t)data, - sizeof (struct fbcurpos), - mode)) + (caddr_t)data, + sizeof (struct fbcurpos), + mode)) return (EFAULT); } break; @@ -1614,7 +1616,7 @@ cg6_ioctl(dev_t dev, int cmd, intptr_t data, int mode, cred_t *cred, int *rval) case 255: cg6_debug = (int)data; if (cg6_debug == -1) - cg6_debug = CG6DEBUG; + cg6_debug = CG6DEBUG; cmn_err(CE_CONT, "cg6_debug is now %d\n", cg6_debug); break; #endif @@ -1635,101 +1637,102 @@ cg6_intr(caddr_t arg) volatile uint32_t tmp; DEBUGF(7, (CE_CONT, - "cg6_intr: softc=%x, vrtflag=%x\n", softc, softc->vrtflag)); + "cg6_intr: softc=%x, vrtflag=%x\n", softc, softc->vrtflag)); mutex_enter(&softc->mutex); mutex_enter(&softc->interlock); if (!cg6_int_pending(softc)) { - if (softc->intr_flag) { + if (softc->intr_flag) { softc->intr_flag = 0; - } else { + } else { if (softc->intrstats) { - KIOIP->intrs[KSTAT_INTR_SPURIOUS]++; + KIOIP->intrs[KSTAT_INTR_SPURIOUS]++; } mutex_exit(&softc->interlock); mutex_exit(&softc->mutex); return (DDI_INTR_UNCLAIMED); /* nope, not mine */ - } + } } if (!(cg6_update_pending(softc) || (softc)->vrtflag)) { /* TODO catch stray interrupts? */ - cg6_int_disable_intr(softc); - if (softc->intrstats) { + cg6_int_disable_intr(softc); + if (softc->intrstats) { KIOIP->intrs[KSTAT_INTR_HARD]++; - } - mutex_exit(&softc->interlock); - mutex_exit(&softc->mutex); - return (DDI_INTR_CLAIMED); + } + mutex_exit(&softc->interlock); + mutex_exit(&softc->mutex); + return (DDI_INTR_CLAIMED); } if (softc->vrtflag & CG6VRTCTR) { - if (softc->vrtmaps == 0) { + if (softc->vrtmaps == 0) { softc->vrtflag &= ~CG6VRTCTR; - } else + } else *softc->vrtpage += 1; } if (softc->vrtflag & CG6VRTIOCTL) { - softc->vrtflag &= ~CG6VRTIOCTL; - cv_broadcast(&softc->vrtsleep); + softc->vrtflag &= ~CG6VRTIOCTL; + cv_broadcast(&softc->vrtsleep); } if (cg6_update_pending(softc)) { - volatile struct cg6_cmap *cmap = S_CMAP(softc); - LOOP_T count = softc->cmap_count; - - /* load cursor color map */ - if (softc->omap_update) { - in = &softc->omap_image.omap_int[0]; - out = (uint32_t *)& cmap->omap; - - /* background color */ - cmap->addr = 1 << 24; - tmp = in[0]; - *out = tmp; - *out = tmp <<= 8; - *out = tmp <<= 8; - - /* foreground color */ - cmap->addr = 3 << 24; - *out = tmp <<= 8; - tmp = in[1]; - *out = tmp; - *out = tmp <<= 8; - } - /* load main color map */ - if (count) { - LOOP_T index = softc->cmap_index; - - in = &softc->cmap_image.cmap_int[0]; - out = (uint32_t *)& cmap->cmap; - - /* count multiples of 4 RGB entries */ - count = (count + (index & 3) + 3) >> 2; - - /* round index to 4 entry boundary */ - index &= ~3; - - cmap->addr = index << 24; - PTR_INCR(uint32_t *, in, index * 3); - - /* copy 4 bytes (4/3 RGB entries) per loop iteration */ - count *= 3; - PR_LOOPV(count, - tmp = *in++; - *out = tmp; - *out = tmp <<= 8; - *out = tmp <<= 8; - *out = tmp <<= 8); - - softc->cmap_count = 0; - } - softc->omap_update = 0; + volatile struct cg6_cmap *cmap = S_CMAP(softc); + LOOP_T count = softc->cmap_count; + + /* load cursor color map */ + if (softc->omap_update) { + in = &softc->omap_image.omap_int[0]; + out = (uint32_t *)& cmap->omap; + + /* background color */ + cmap->addr = 1 << 24; + tmp = in[0]; + *out = tmp; + *out = tmp <<= 8; + *out = tmp <<= 8; + + /* foreground color */ + cmap->addr = 3 << 24; + *out = tmp <<= 8; + tmp = in[1]; + *out = tmp; + *out = tmp <<= 8; + } + /* load main color map */ + if (count) { + LOOP_T index = softc->cmap_index; + + in = &softc->cmap_image.cmap_int[0]; + out = (uint32_t *)& cmap->cmap; + + /* count multiples of 4 RGB entries */ + count = (count + (index & 3) + 3) >> 2; + + /* round index to 4 entry boundary */ + index &= ~3; + + cmap->addr = index << 24; + PTR_INCR(uint32_t *, in, index * 3); + + /* copy 4 bytes (4/3 RGB entries) per loop iteration */ + count *= 3; + /* CSTYLED */ + PR_LOOPV(count, tmp = *in++; + *out = tmp; + *out = tmp <<= 8; + *out = tmp <<= 8; + /* CSTYLED */ + *out = tmp <<= 8); + + softc->cmap_count = 0; + } + softc->omap_update = 0; } cg6_int_disable_intr(softc); if (softc->vrtflag) - cg6_int_enable(softc); + cg6_int_enable(softc); if (softc->intrstats) { - KIOIP->intrs[KSTAT_INTR_HARD]++; + KIOIP->intrs[KSTAT_INTR_HARD]++; } mutex_exit(&softc->interlock); mutex_exit(&softc->mutex); @@ -1759,25 +1762,25 @@ cg6_update_cmap(struct cg6_softc *softc, uint_t index, uint_t count) uint_t high, low; if (count == 0) { - softc->omap_update = 1; - return; + softc->omap_update = 1; + return; } high = softc->cmap_count; if (high != 0) { - high += (low = softc->cmap_index); + high += (low = softc->cmap_index); - if (index < low) + if (index < low) softc->cmap_index = low = index; - if (index + count > high) + if (index + count > high) high = index + count; - softc->cmap_count = high - low; + softc->cmap_count = high - low; } else { - softc->cmap_index = index; - softc->cmap_count = count; + softc->cmap_index = index; + softc->cmap_count = count; } } @@ -1794,13 +1797,17 @@ cg6_cmap_bcopy(uchar_t *bufp, uchar_t *rgb, uint_t count) LOOP_T rcount = count; if (--rcount >= 0) - PR_LOOPVP(rcount, + PR_LOOPVP(rcount, + /* CSTYLED */ *rgb = *bufp++; + /* CSTYLED */ rgb += 3); else { - rcount = -rcount - 2; - PR_LOOPVP(rcount, + rcount = -rcount - 2; + PR_LOOPVP(rcount, + /* CSTYLED */ *bufp++ = *rgb; + /* CSTYLED */ rgb += 3); } } @@ -1824,10 +1831,12 @@ cg6_restore_prom_cmap(struct cg6_softc *softc, hwcmap->addr = 0; count = ((entries + 3) >> 2) * 3; + /* CSTYLED */ PR_LOOPV(count, tmp = *in++; *out = tmp; *out = tmp <<= 8; *out = tmp <<= 8; + /* CSTYLED */ *out = tmp <<= 8); } } @@ -1843,7 +1852,7 @@ cg6_setcurpos(struct cg6_softc *softc) thc->l_thc_cursor = softc->cur.enable ? (((softc->cur.pos.x - softc->cur.hot.x) << 16) | ((softc->cur.pos.y - softc->cur.hot.y) & 0xffff)) : - CG6_CURSOR_OFFPOS; + CG6_CURSOR_OFFPOS; } /* @@ -1859,15 +1868,15 @@ cg6_setcurshape(struct cg6_softc *softc) /* compute right edge mask */ if (softc->cur.size.x) - edge = (uint_t)~ 0 << (32 - softc->cur.size.x); + edge = (uint_t)~ 0 << (32 - softc->cur.size.x); image = softc->cur.image; mask = softc->cur.mask; hw = (uint_t *)&thc->l_thc_cursora00; for (i = 0; i < 32; i++) { - hw[i] = (tmp = mask[i] & edge); - hw[i + 32] = tmp & image[i]; + hw[i] = (tmp = mask[i] & edge); + hw[i + 32] = tmp & image[i]; } } @@ -1881,20 +1890,20 @@ cg6_reset(struct cg6_softc *softc) /* reinitialize TEC */ { - volatile struct tec *tec = S_TEC(softc); + volatile struct tec *tec = S_TEC(softc); - tec->l_tec_mv = 0; - tec->l_tec_clip = 0; - tec->l_tec_vdc = 0; + tec->l_tec_mv = 0; + tec->l_tec_clip = 0; + tec->l_tec_vdc = 0; } /* reinitialize FBC config register */ { - volatile uint_t *fhc = S_FHC(softc); - uint_t rev, conf; + volatile uint_t *fhc = S_FHC(softc); + uint_t rev, conf; - rev = *fhc >> FHC_CONFIG_REV_SHIFT & FHC_CONFIG_REV_MASK; - if (rev <= 4) { + rev = *fhc >> FHC_CONFIG_REV_SHIFT & FHC_CONFIG_REV_MASK; + if (rev <= 4) { /* PROM knows how to deal with LSC and above */ /* rev == 0 : FBC 0 (not available to customers) */ @@ -1910,33 +1919,33 @@ cg6_reset(struct cg6_softc *softc) #if FBC_REV0 /* FBC0: test window = 0, disable fast rops */ if (rev == 0) - conf |= FHC_CONFIG_TEST | - FHC_CONFIG_FROP_DISABLE; + conf |= FHC_CONFIG_TEST | + FHC_CONFIG_FROP_DISABLE; else #endif /* FBC_REV0 */ /* test window = 1K x 1K */ - conf |= FHC_CONFIG_TEST | - (10 + 1) << FHC_CONFIG_TESTX_SHIFT | - (10 + 1) << FHC_CONFIG_TESTY_SHIFT; + conf |= FHC_CONFIG_TEST | + (10 + 1) << FHC_CONFIG_TESTX_SHIFT | + (10 + 1) << FHC_CONFIG_TESTY_SHIFT; /* FBC[01]: disable destination cache */ if (rev <= 1) - conf |= FHC_CONFIG_DST_DISABLE; + conf |= FHC_CONFIG_DST_DISABLE; *fhc = conf; - } + } } /* reprogram DAC to enable HW cursor use */ { - volatile struct cg6_cmap *cmap = S_CMAP(softc); + volatile struct cg6_cmap *cmap = S_CMAP(softc); /* command register */ - cmap->addr = 6 << 24; + cmap->addr = 6 << 24; /* turn on CR1:0, overlay enable */ - cmap->ctrl = cmap->ctrl | (0x3 << 24); + cmap->ctrl = cmap->ctrl | (0x3 << 24); } } @@ -2110,29 +2119,29 @@ cg6_segmap(dev_t dev, * check to see if this is a VRT page */ if (off == CG6_VADDR_VRT) { - if (len != pagesize) { + if (len != pagesize) { mutex_exit(&softc->mutex); DEBUGF(3, (CE_CONT, "rejecting because off=vrt and len=%x\n", len)) return (EINVAL); - } - if (softc->vrtmaps++ == 0) { + } + if (softc->vrtmaps++ == 0) { if (softc->vrtpage == NULL) { softc->vrtpage = (int *)ddi_umem_alloc( - pagesize, KM_SLEEP, - (void **)&softc->vrtcookie); + pagesize, KM_SLEEP, + (void **)&softc->vrtcookie); } *softc->vrtpage = 0; softc->vrtflag |= CG6VRTCTR; cg6_int_enable(softc); - } + } } /* * use the devmap framework for setting up the user mapping. */ error = devmap_setup(dev, (offset_t)off, as, addrp, (size_t)len, prot, - maxprot, flags, cred); + maxprot, flags, cred); mutex_exit(&softc->mutex); @@ -2151,7 +2160,7 @@ cg6map_map(devmap_cookie_t dhp, dev_t dev, uint_t flags, offset_t off, uint_t maptype = 0; DEBUGF(3, (CE_CONT, "cg6map_map: off = %x, len = %x\n", - (uint_t)off, (uint_t)len)); + (uint_t)off, (uint_t)len)); /* * LSC DFB BUG KLUDGE: DFB must always be mapped private on the buggy @@ -2186,7 +2195,7 @@ cg6map_map(devmap_cookie_t dhp, dev_t dev, uint_t flags, offset_t off, * but not both. */ if (softc->chiprev == 5 && (maptype & CG6MAP_FB)) - flags = (flags & ~MAP_TYPE) | MAP_PRIVATE; + flags = (flags & ~MAP_TYPE) | MAP_PRIVATE; if (flags & MAP_SHARED) { /* shared mapping */ ctx = shared_ctx; @@ -2195,7 +2204,7 @@ cg6map_map(devmap_cookie_t dhp, dev_t dev, uint_t flags, offset_t off, ctx = ctx_map_insert(softc, maptype); ctx->flag |= maptype; DEBUGF(2, (CE_CONT, "cg6map_map: ** MAP_PRIVATE **. ctx = %x\n", - ctx)); + ctx)); } pvt = cg6_pvt_alloc(ctx, maptype, off, len, softc); @@ -2216,7 +2225,7 @@ cg6map_access(devmap_cookie_t dhp, void *pvt, offset_t offset, size_t len, uint_t type, uint_t rw) { return (devmap_do_ctxmgt(dhp, pvt, offset, len, type, rw, - cg6map_contextmgt)); + cg6map_contextmgt)); } /* @@ -2239,7 +2248,7 @@ cg6map_contextmgt(devmap_cookie_t dhp, void *pvt, offset_t offset, DEBUGF(6, (CE_CONT, "cg6map_contextmgt: pvt = %x, dhp = %x, \ curctx = %x, context = %x\n", - p, dhp, softc->curctx, p->context)); + p, dhp, softc->curctx, p->context)); /* * Do we need to switch contexts? */ @@ -2257,9 +2266,9 @@ curctx = %x, context = %x\n", */ ASSERT(softc->curctx->pvt); for (pvts = softc->curctx->pvt; pvts != NULL; - pvts = pvts->next) { + pvts = pvts->next) { err = devmap_unload(pvts->dhp, pvts->offset, - pvts->len); + pvts->len); if (err) { mutex_exit(&softc->mutex); return (err); @@ -2267,9 +2276,9 @@ curctx = %x, context = %x\n", } if (cg6_cntxsave(fbc, S_TEC(softc), - softc->curctx) == 0) { + softc->curctx) == 0) { DEBUGF(1, (CE_CONT, - "cgsix: context save failed\n")); + "cgsix: context save failed\n")); /* * At this point we have no current context. */ @@ -2285,7 +2294,7 @@ curctx = %x, context = %x\n", CG6DELAY(!(fbc->l_fbc_status & L_FBC_BUSY), CG6_FBC_WAIT); if (fbc->l_fbc_status & L_FBC_BUSY) { DEBUGF(1, (CE_CONT, "cgsix: idle_cg6: status = %x\n", - fbc->l_fbc_status)); + fbc->l_fbc_status)); /* * At this point we have no current context. */ @@ -2298,9 +2307,9 @@ curctx = %x, context = %x\n", if (p->context->flag & CG6MAP_FBCTEC) if (cg6_cntxrestore(fbc, S_TEC(softc), - p->context) == 0) { + p->context) == 0) { DEBUGF(1, (CE_CONT, - "cgsix: context restore failed\n")); + "cgsix: context restore failed\n")); /* * At this point we have no current context. */ @@ -2323,7 +2332,7 @@ curctx = %x, context = %x\n", } } else { if ((err = devmap_load(p->dhp, p->offset, p->len, type, - rw)) != 0) { + rw)) != 0) { mutex_exit(&softc->mutex); return (err); } @@ -2350,7 +2359,7 @@ cg6map_unmap(devmap_cookie_t dhp, void *pvtp, offset_t off, size_t len, DEBUGF(3, (CE_CONT, "cg6map_unmap: pvt = %x, dhp = %x, \ off = %x, len = %x, dhp1 = %x, dhp2 = %x\n", - pvtp, dhp, (uint_t)off, len, new_dhp1, new_dhp2)); + pvtp, dhp, (uint_t)off, len, new_dhp1, new_dhp2)); mutex_enter(&softc->mutex); @@ -2359,10 +2368,10 @@ off = %x, len = %x, dhp1 = %x, dhp2 = %x\n", * new_dhp1 is not NULL. */ if (new_dhp1 != NULL) { - ptmp = cg6_pvt_alloc(ctx, p->type, - p->offset, - (off - p->offset), - softc); + ptmp = cg6_pvt_alloc(ctx, p->type, + p->offset, + (off - p->offset), + softc); ptmp->dhp = new_dhp1; *pvtp1 = ptmp; } @@ -2373,7 +2382,7 @@ off = %x, len = %x, dhp1 = %x, dhp2 = %x\n", */ if (new_dhp2 != NULL) { length = p->len - len - (off - p->offset); - ptmp = cg6_pvt_alloc(ctx, p->type, (off + len), length, softc); + ptmp = cg6_pvt_alloc(ctx, p->type, (off + len), length, softc); ptmp->dhp = new_dhp2; *pvtp2 = ptmp; @@ -2419,11 +2428,11 @@ off = %x, len = %x, dhp1 = %x, dhp2 = %x\n", kmem_free(ctx, sizeof (struct cg6_cntxt)); } else { for (ctxptr = softc->pvt_ctx; ctxptr != NULL; - ctxptr = ctxptr->link) { + ctxptr = ctxptr->link) { if (ctxptr->link == ctx) { ctxptr->link = ctx->link; kmem_free(ctx, - sizeof (struct cg6_cntxt)); + sizeof (struct cg6_cntxt)); } } } @@ -2435,7 +2444,7 @@ off = %x, len = %x, dhp1 = %x, dhp2 = %x\n", * NULL to force a context switch on the next device access. */ if ((softc->curctx == shared_ctx) && (softc->curctx->pvt == - NULL)) { + NULL)) { softc->curctx = NULL; } } @@ -2455,7 +2464,7 @@ cg6map_dup(devmap_cookie_t dhp, void *oldpvt, devmap_cookie_t new_dhp, uint_t maptype; DEBUGF(3, (CE_CONT, "cg6map_dup: pvt=%x, dhp=%x, newdhp=%x\n", - oldpvt, dhp, new_dhp)); + oldpvt, dhp, new_dhp)); mutex_enter(&softc->mutex); if (p->context != &softc->shared_ctx) { @@ -2470,10 +2479,10 @@ cg6map_dup(devmap_cookie_t dhp, void *oldpvt, devmap_cookie_t new_dhp, *newpvt = pvt; if (p->context && (p->context->flag & CG6MAP_VRT)) { - softc->vrtflag |= CG6VRTCTR; - if (softc->vrtmaps == 0) + softc->vrtflag |= CG6VRTCTR; + if (softc->vrtmaps == 0) cg6_int_enable(softc); - softc->vrtmaps++; + softc->vrtmaps++; } mutex_exit(&softc->mutex); @@ -2675,7 +2684,7 @@ ctx_map_insert(struct cg6_softc *softc, int maptype) pid_t curpid = getpid(); DEBUGF(4, (CE_CONT, "ctx_map_insert: maptype=0x%x curpid=%d\n", - maptype, curpid)); + maptype, curpid)); /* * If this is the first time we're here, then alloc space @@ -2683,7 +2692,7 @@ ctx_map_insert(struct cg6_softc *softc, int maptype) */ if (softc->pvt_ctx == NULL) { ctx = (struct cg6_cntxt *) - kmem_zalloc(sizeof (struct cg6_cntxt), KM_SLEEP); + kmem_zalloc(sizeof (struct cg6_cntxt), KM_SLEEP); ctx->pid = curpid; ctx->link = NULL; softc->pvt_ctx = ctx; @@ -2697,7 +2706,7 @@ ctx_map_insert(struct cg6_softc *softc, int maptype) */ for (ctx = softc->pvt_ctx; ctx != NULL; ctx = ctx->link) { if (ctx->pid == curpid && - (maptype & ctx->flag & (CG6MAP_FBCTEC|CG6MAP_FB)) == 0) + (maptype & ctx->flag & (CG6MAP_FBCTEC|CG6MAP_FB)) == 0) break; } @@ -2705,7 +2714,7 @@ ctx_map_insert(struct cg6_softc *softc, int maptype) /* no match, create a new one and add to softc list */ if (ctx == NULL) { ctx = (struct cg6_cntxt *) - kmem_zalloc(sizeof (struct cg6_cntxt), KM_SLEEP); + kmem_zalloc(sizeof (struct cg6_cntxt), KM_SLEEP); ctx->pid = curpid; ctx->link = softc->pvt_ctx; softc->pvt_ctx = ctx; @@ -2754,7 +2763,7 @@ cg6_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, struct devmap_callback_ctl *callbackops = &cg6map_ops; DEBUGF(2, (CE_CONT, "cg6_devmap(%d), off=0x%x, len=%x, dhp=%x\n", - getminor(dev), (uint_t)off, len, dhp)); + getminor(dev), (uint_t)off, len, dhp)); if ((diff = off - CG6_VADDR_COLOR) >= 0 && diff < softc->fbmappable) { if ((len + off) > (CG6_VADDR_COLOR + softc->fbmappable)) @@ -2796,7 +2805,7 @@ cg6_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, kvaddr = (caddr_t)-1; cookie = softc->vrtcookie; } else if ((diff = off - CG3_MMAP_OFFSET) >= 0 && - diff < softc->fbmappable) { + diff < softc->fbmappable) { if ((len + off) > (CG3_MMAP_OFFSET + softc->fbmappable)) length = CG3_MMAP_OFFSET + softc->fbmappable - off; offset = CG6_ADDR_COLOR + diff; @@ -2814,9 +2823,9 @@ cg6_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, length = softc->dummysize - off; offset = CG6_ADDR_COLOR + diff; } else if ((diff = off - softc->dummysize) < - softc->fbmappable) { + softc->fbmappable) { if ((len + off) > - (softc->dummysize + softc->fbmappable)) + (softc->dummysize + softc->fbmappable)) length = softc->fbmappable - off; offset = CG6_ADDR_COLOR + diff; } @@ -2826,7 +2835,7 @@ cg6_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, if (kvaddr == (caddr_t)-1) { DEBUGF(1, (CE_CONT, "cg6_devmap: no mapping off=0x%x, len=%x\n", - (uint_t)off, len)); + (uint_t)off, len)); return (-1); } @@ -2850,7 +2859,7 @@ cg6_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, * no context to switch. */ ctxmap = (softc->chiprev == 5) ? - (CG6MAP_FBCTEC|CG6MAP_FB) : CG6MAP_FBCTEC; + (CG6MAP_FBCTEC|CG6MAP_FB) : CG6MAP_FBCTEC; /* * do context switching on the TEC and FBC registers. diff --git a/usr/src/uts/sun/io/dada/targets/dad.c b/usr/src/uts/sun/io/dada/targets/dad.c index 5b0e39683d..4641002a62 100644 --- a/usr/src/uts/sun/io/dada/targets/dad.c +++ b/usr/src/uts/sun/io/dada/targets/dad.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Direct Attached disk driver for SPARC machines. @@ -332,7 +331,8 @@ static struct dev_ops dcd_ops = { dcdreset, /* reset */ &dcd_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - dcdpower /* power */ + dcdpower, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -343,7 +343,7 @@ static struct dev_ops dcd_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "DAD Disk Driver %I%", /* Name of the module. */ + "DAD Disk Driver", /* Name of the module. */ &dcd_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun/io/dmaga.c b/usr/src/uts/sun/io/dmaga.c index 4314272c7e..328cfb4b25 100644 --- a/usr/src/uts/sun/io/dmaga.c +++ b/usr/src/uts/sun/io/dmaga.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* from 4.1.1 sbusdev/dmaga.c 1.14 */ @@ -123,12 +121,13 @@ static struct dev_ops dma_ops = { nodev, /* reset */ &dma_cb_ops, /* driver operations */ &dma_bus_ops, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Direct Memory Access driver %I%", /* Name and version */ + "Direct Memory Access driver", /* Name and version */ &dma_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun/io/eri/eri.c b/usr/src/uts/sun/io/eri/eri.c index 73a6feb16a..0fac98abf1 100644 --- a/usr/src/uts/sun/io/eri/eri.c +++ b/usr/src/uts/sun/io/eri/eri.c @@ -594,7 +594,7 @@ static param_t param_arr[] = { }; DDI_DEFINE_STREAM_OPS(eri_dev_ops, nulldev, nulldev, eri_attach, eri_detach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); /* * This is the loadable module wrapper. diff --git a/usr/src/uts/sun/io/fd.c b/usr/src/uts/sun/io/fd.c index f1dc71bb0d..8193993da0 100644 --- a/usr/src/uts/sun/io/fd.c +++ b/usr/src/uts/sun/io/fd.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Intel 82077 Floppy Disk Driver @@ -527,7 +525,8 @@ static struct dev_ops fd_ops = { nodev, /* reset */ &fd_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - fd_power /* power */ + fd_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -557,8 +556,8 @@ static int tosec = 16; /* long timeouts for sundiag for now */ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { - &mod_driverops, /* Type of module. driver here */ - "Floppy Driver v%I%", /* Name of the module. */ + &mod_driverops, /* Type of module. driver here */ + "Floppy Driver", /* Name of the module. */ &fd_ops, /* Driver ops vector */ }; @@ -613,8 +612,8 @@ fd_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } quiesce_fd_interrupt(fdc); if (fdc->c_fdtype & FDCTYPE_SB) - if (ddi_add_intr(dip, 0, &fdc->c_block, 0, - fdintr_dma, (caddr_t)0) != DDI_SUCCESS) { + if (ddi_add_intr(dip, 0, &fdc->c_block, 0, + fdintr_dma, (caddr_t)0) != DDI_SUCCESS) { return (DDI_FAILURE); } @@ -700,7 +699,7 @@ fd_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) (size_t)(32*1024), &dev_attr, DDI_DMA_CONSISTENT, DDI_DMA_SLEEP, NULL, (caddr_t *)&fdc->dma_buf, &rlen, &fdc->c_dma_buf_handle) != DDI_SUCCESS) { - fd_cleanup(dip, fdc, hard_intr_set, 0); + fd_cleanup(dip, fdc, hard_intr_set, 0); return (DDI_FAILURE); } @@ -758,7 +757,7 @@ fd_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (fdc->c_fdtype & FDCTYPE_SB) { fdc->sb_dma_channel = ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "dma-channel", 0); + DDI_PROP_DONTPASS, "dma-channel", 0); } @@ -778,8 +777,8 @@ fd_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (dmdp = fd_minor; dmdp->name != NULL; dmdp++) { if (ddi_create_minor_node(dip, dmdp->name, dmdp->type, - (instance << FDINSTSHIFT) | dmdp->minor, - DDI_NT_FD, 0) == DDI_FAILURE) { + (instance << FDINSTSHIFT) | dmdp->minor, + DDI_NT_FD, 0) == DDI_FAILURE) { fd_cleanup(dip, fdc, hard_intr_set, 1); return (DDI_FAILURE); } @@ -817,16 +816,16 @@ fd_attach_map_regs(dev_info_t *dip, struct fdctlr *fdc) /* Map the DMA registers of the platform supports DMA */ if (fdc->c_fdtype & FDCTYPE_SB) { if (ddi_regs_map_setup(dip, 1, (caddr_t *)&fdc->c_dma_regs, - 0, sizeof (struct sb_dma_reg), &attr, - &fdc->c_handlep_dma)) { + 0, sizeof (struct sb_dma_reg), &attr, + &fdc->c_handlep_dma)) { return (DDI_FAILURE); } } else if (fdc->c_fdtype & FDCTYPE_CHEERIO) { if (ddi_regs_map_setup(dip, 1, (caddr_t *)&fdc->c_dma_regs, - 0, sizeof (struct cheerio_dma_reg), &attr, - &fdc->c_handlep_dma)) { + 0, sizeof (struct cheerio_dma_reg), &attr, + &fdc->c_handlep_dma)) { return (DDI_FAILURE); } } @@ -850,8 +849,8 @@ fd_attach_map_regs(dev_info_t *dip, struct fdctlr *fdc) FDERRPRINT(FDEP_L1, FDEM_ATTA, ((int)C, - (char *)"fdattach: msr/dsr at %p\n", - (void *)fdc->c_control)); + (char *)"fdattach: msr/dsr at %p\n", + (void *)fdc->c_control)); /* * The 82077 doesn't use the first configuration parameter @@ -882,7 +881,7 @@ fd_attach_det_ctlr(dev_info_t *dip, struct fdctlr *fdc) attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach_det_cltr: start \n")); + (C, "fdattach_det_cltr: start \n")); /* * First, map in the controller's registers @@ -891,14 +890,14 @@ fd_attach_det_ctlr(dev_info_t *dip, struct fdctlr *fdc) */ if (ddi_regs_map_setup(dip, 0, (caddr_t *)&fdc->c_reg, - 0, sizeof (union fdcreg), - &attr, - &fdc->c_handlep_cont)) { - return (DDI_FAILURE); + 0, sizeof (union fdcreg), + &attr, + &fdc->c_handlep_cont)) { + return (DDI_FAILURE); } FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach_det_cltr: mapped floppy regs\n")); + (C, "fdattach_det_cltr: mapped floppy regs\n")); /* @@ -914,7 +913,7 @@ fd_attach_det_ctlr(dev_info_t *dip, struct fdctlr *fdc) fdc->c_auxiodata = (uchar_t)(AUX_MBO4M|AUX_TC4M); fdc->c_auxiodata2 = (uchar_t)AUX_TC4M; FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: slavio will be used!\n")); + (C, "fdattach: slavio will be used!\n")); /* @@ -928,7 +927,7 @@ fd_attach_det_ctlr(dev_info_t *dip, struct fdctlr *fdc) fdc->c_fdtype |= FDCTYPE_DMA; FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: southbridge will be used!\n")); + (C, "fdattach: southbridge will be used!\n")); /* * The driver assumes high density characteristics until @@ -945,7 +944,7 @@ fd_attach_det_ctlr(dev_info_t *dip, struct fdctlr *fdc) fdc->c_fdtype |= FDCTYPE_82077; FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: cheerio will be used!\n")); + (C, "fdattach: cheerio will be used!\n")); /* * The cheerio auxio register should be memory mapped. The * auxio register on other platforms is shared and mapped @@ -962,8 +961,8 @@ fd_attach_det_ctlr(dev_info_t *dip, struct fdctlr *fdc) */ Set_auxio(fdc, AUX_HIGH_DENSITY); FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: auxio register 0x%x\n", - *fdc->c_auxio_reg)); + (C, "fdattach: auxio register 0x%x\n", + *fdc->c_auxio_reg)); fdc->c_fdtype |= FDCTYPE_DMA; FDERRPRINT(FDEP_L1, FDEM_ATTA, (C, "fd_attach: DMA used\n")); @@ -972,7 +971,7 @@ fd_attach_det_ctlr(dev_info_t *dip, struct fdctlr *fdc) if (fdc->c_fdtype == 0) { FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: no controller!\n")); + (C, "fdattach: no controller!\n")); return (DDI_FAILURE); } else { return (0); @@ -998,7 +997,7 @@ fd_attach_register_interrupts(dev_info_t *dip, struct fdctlr *fdc, int *hard) */ if (ddi_get_iblock_cookie(dip, 0, &fdc->c_block) != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: ddi_get_iblock_cookie failed\n")); + (C, "fdattach: ddi_get_iblock_cookie failed\n")); return (DDI_FAILURE); } @@ -1013,21 +1012,21 @@ fd_attach_register_interrupts(dev_info_t *dip, struct fdctlr *fdc, int *hard) if (fdc->c_fdtype & FDCTYPE_DMA) { if (ddi_add_intr(dip, 0, &fdc->c_block, 0, - fdintr_dma, (caddr_t)0) == DDI_SUCCESS) { - FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: standard intr\n")); + fdintr_dma, (caddr_t)0) == DDI_SUCCESS) { + FDERRPRINT(FDEP_L1, FDEM_ATTA, + (C, "fdattach: standard intr\n")); /* * When DMA is used, the low level lock * is used in the hard interrupt handler. */ mutex_init(&fdc->c_lolock, NULL, - MUTEX_DRIVER, fdc->c_block); + MUTEX_DRIVER, fdc->c_block); *hard = 1; } else { FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: can't add dma intr\n")); + (C, "fdattach: can't add dma intr\n")); mutex_destroy(&fdc->c_hilock); @@ -1039,17 +1038,17 @@ fd_attach_register_interrupts(dev_info_t *dip, struct fdctlr *fdc, int *hard) * and soft interrupts. */ if (ddi_add_intr(dip, 0, &fdc->c_block, 0, - fd_intr, (caddr_t)0) == DDI_SUCCESS) { - FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: standard intr\n")); - *hard = 1; + fd_intr, (caddr_t)0) == DDI_SUCCESS) { + FDERRPRINT(FDEP_L1, FDEM_ATTA, + (C, "fdattach: standard intr\n")); + *hard = 1; /* fast traps are not enabled */ fdc->c_fasttrap = 0; } else { FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: can't add intr\n")); + (C, "fdattach: can't add intr\n")); mutex_destroy(&fdc->c_hilock); @@ -1063,7 +1062,7 @@ fd_attach_register_interrupts(dev_info_t *dip, struct fdctlr *fdc, int *hard) * be initialized before the handler is added. */ status = ddi_get_soft_iblock_cookie(dip, DDI_SOFTINT_LOW, - &iblock_cookie_soft); + &iblock_cookie_soft); if (status != DDI_SUCCESS) { @@ -1076,12 +1075,12 @@ fd_attach_register_interrupts(dev_info_t *dip, struct fdctlr *fdc, int *hard) * interrupt handler */ mutex_init(&fdc->c_lolock, NULL, MUTEX_DRIVER, - iblock_cookie_soft); + iblock_cookie_soft); if (ddi_add_softintr(dip, DDI_SOFTINT_LOW, &fdc->c_softid, - NULL, NULL, - fd_lointr, - (caddr_t)fdc) != DDI_SUCCESS) { + NULL, NULL, + fd_lointr, + (caddr_t)fdc) != DDI_SUCCESS) { mutex_destroy(&fdc->c_hilock); mutex_destroy(&fdc->c_lolock); @@ -1091,7 +1090,7 @@ fd_attach_register_interrupts(dev_info_t *dip, struct fdctlr *fdc, int *hard) } fdc->c_intrstat = kstat_create("fd", 0, "fdc0", "controller", - KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); + KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); if (fdc->c_intrstat) { fdc->c_hiintct = &KIOIP->intrs[KSTAT_INTR_HARD]; kstat_install(fdc->c_intrstat); @@ -1126,7 +1125,7 @@ fd_attach_check_drive(struct fdctlr *fdc) int unit = fdc->c_un->un_unit_no; FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fd_attach_check_drive\n")); + (C, "fd_attach_check_drive\n")); mutex_enter(&fdc->c_lolock); @@ -1144,7 +1143,7 @@ fd_attach_check_drive(struct fdctlr *fdc) Set_dor(fdc, ~((MOTEN(unit))|DRVSEL|RESET), 0); FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: Dor 0x%x\n", Dor(fdc))); + (C, "fdattach: Dor 0x%x\n", Dor(fdc))); drv_usecwait(5); if (unit == 0) { @@ -1161,10 +1160,10 @@ fd_attach_check_drive(struct fdctlr *fdc) drv_usecwait(5); FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: Dor 0x%x\n", Dor(fdc))); + (C, "fdattach: Dor 0x%x\n", Dor(fdc))); if (!((fdc->c_fdtype & FDCTYPE_CHEERIO) || - (fdc->c_fdtype & FDCTYPE_SB))) { + (fdc->c_fdtype & FDCTYPE_SB))) { set_auxioreg(AUX_TC4M, 0); } break; @@ -1188,7 +1187,7 @@ fd_attach_check_drive(struct fdctlr *fdc) fderrlevel = FDEP_LMAX; FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: call fdrecalseek\n")); + (C, "fdattach: call fdrecalseek\n")); /* Make sure the drive is present */ if (fdrecalseek(fdc, unit, -1, 0) != 0) { @@ -1238,8 +1237,8 @@ fd_cleanup(dev_info_t *dip, struct fdctlr *fdc, int hard, int locks) FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fd_cleanup instance: %d ctlr: 0x%p\n", - ddi_get_instance(dip), (void *)fdc)); + (C, "fd_cleanup instance: %d ctlr: 0x%p\n", + ddi_get_instance(dip), (void *)fdc)); if (fdc == NULL) { @@ -1318,7 +1317,7 @@ fd_cleanup(dev_info_t *dip, struct fdctlr *fdc, int hard, int locks) if (fdc->c_intrstat) { FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fd_cleanup: delete intrstat\n")); + (C, "fd_cleanup: delete intrstat\n")); kstat_delete(fdc->c_intrstat); } @@ -1525,9 +1524,9 @@ fd_open(dev_t *devp, int flag, int otyp, cred_t *cred_p) if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, PM_LEVEL_ON)) - != DDI_SUCCESS) { + != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_PWR, (C, "Power change \ -failed. \n")); + failed. \n")); sema_v(&fdc->c_ocsem); (void) pm_idle_component(fdc->c_dip, 0); @@ -1767,8 +1766,8 @@ fd_strategy(register struct buf *bp) if (bp->b_bcount % un->un_chars->fdc_sec_size) { FDERRPRINT(FDEP_L3, FDEM_STRA, (C, "fd%d: requested transfer size(0x%lx) is not" - " multiple of sector size(0x%x)\n", 0, - bp->b_bcount, un->un_chars->fdc_sec_size)); + " multiple of sector size(0x%x)\n", 0, + bp->b_bcount, un->un_chars->fdc_sec_size)); FDERRPRINT(FDEP_L3, FDEM_STRA, (C, " b_blkno=0x%lx b_flags=0x%x\n", (long)bp->b_blkno, bp->b_flags)); @@ -1795,14 +1794,14 @@ fd_strategy(register struct buf *bp) if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, PM_LEVEL_ON)) - != DDI_SUCCESS) { - sema_v(&fdc->c_ocsem); - (void) pm_idle_component(fdc->c_dip, 0); - bp->b_error = EIO; - bp->b_resid = bp->b_bcount; - bp->b_flags |= B_ERROR; - biodone(bp); - return (0); + != DDI_SUCCESS) { + sema_v(&fdc->c_ocsem); + (void) pm_idle_component(fdc->c_dip, 0); + bp->b_error = EIO; + bp->b_resid = bp->b_bcount; + bp->b_flags |= B_ERROR; + biodone(bp); + return (0); } else { mutex_enter(&fdc->c_lolock); } @@ -1950,7 +1949,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cpy.dki.dki_partition = FDPARTITION(dev); cpy.dki.dki_maxtransfer = maxphys / DEV_BSIZE; if (ddi_copyout((caddr_t)&cpy.dki, (caddr_t)arg, - sizeof (cpy.dki), flag)) + sizeof (cpy.dki), flag)) err = EFAULT; break; case DKIOCGGEOM: @@ -1964,7 +1963,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, (int)(cpy.dkg.dkg_nsect * cpy.dkg.dkg_rpm * 4) / 60000; cpy.dkg.dkg_write_reinstruct = cpy.dkg.dkg_read_reinstruct; if (ddi_copyout((caddr_t)&cpy.dkg, (caddr_t)arg, - sizeof (cpy.dkg), flag)) + sizeof (cpy.dkg), flag)) err = EFAULT; break; case DKIOCSGEOM: @@ -1984,7 +1983,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, */ if ((flag & DATAMODEL_MASK) == DATAMODEL_ILP32) { if (ddi_copyout(&un->un_label.dkl_map, - (void *)arg, sizeof (struct dk_allmap32), flag)) + (void *)arg, sizeof (struct dk_allmap32), flag)) err = EFAULT; } #ifdef _MULTI_DATAMODEL @@ -1999,7 +1998,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, un->un_label.dkl_map[dkunit].dkl_nblk; } if (ddi_copyout(&dk_allmap, (void *)arg, - sizeof (struct dk_allmap), flag)) + sizeof (struct dk_allmap), flag)) err = EFAULT; } #endif /* _MULTI_DATAMODEL */ @@ -2017,7 +2016,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, mutex_enter(&fdc->c_lolock); for (dkunit = 0; dkunit < NDKMAP; dkunit++) { un->un_label.dkl_map[dkunit] = - cpy.dka.dka_map[dkunit]; + cpy.dka.dka_map[dkunit]; } mutex_exit(&fdc->c_lolock); } @@ -2121,8 +2120,8 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, * it helps build the vtoc. */ if ((un->un_chars->fdc_ncyl == 0) || - (un->un_chars->fdc_nhead == 0) || - (un->un_chars->fdc_secptrack == 0)) { + (un->un_chars->fdc_nhead == 0) || + (un->un_chars->fdc_secptrack == 0)) { mutex_exit(&fdc->c_lolock); err = EINVAL; break; @@ -2143,7 +2142,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, case DKIOCSTATE: if (ddi_copyin((caddr_t)arg, (caddr_t)&state, - sizeof (int), flag)) { + sizeof (int), flag)) { err = EFAULT; break; } @@ -2153,13 +2152,13 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, (void) pm_idle_component(fdc->c_dip, 0); if (ddi_copyout((caddr_t)&un->un_media_state, - (caddr_t)arg, sizeof (int), flag)) + (caddr_t)arg, sizeof (int), flag)) err = EFAULT; break; case FDIOGCHAR: if (ddi_copyout((caddr_t)un->un_chars, (caddr_t)arg, - sizeof (struct fd_char), flag)) + sizeof (struct fd_char), flag)) err = EFAULT; break; @@ -2179,16 +2178,16 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, if ((transfer_rate != 500) && (transfer_rate != 300) && (transfer_rate != 250) && (transfer_rate != 1000)) { FDERRPRINT(FDEP_L3, FDEM_IOCT, - (C, "fd_ioctl: FDIOSCHAR odd transfer rate %d\n", + (C, "fd_ioctl: FDIOSCHAR odd transfer rate %d\n", cpy.fdchar.fdc_transfer_rate)); err = EINVAL; break; } if ((cpy.fdchar.fdc_nhead < 1) || - (cpy.fdchar.fdc_nhead > 2)) { + (cpy.fdchar.fdc_nhead > 2)) { FDERRPRINT(FDEP_L3, FDEM_IOCT, - (C, "fd_ioctl: FDIOSCHAR bad no. of heads %d\n", + (C, "fd_ioctl: FDIOSCHAR bad no. of heads %d\n", cpy.fdchar.fdc_nhead)); err = EINVAL; break; @@ -2199,7 +2198,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, */ if ((cpy.fdchar.fdc_ncyl < 0) || (cpy.fdchar.fdc_ncyl > 255)) { FDERRPRINT(FDEP_L3, FDEM_IOCT, - (C, "fd_ioctl: FDIOSCHAR bad cyl no %d\n", + (C, "fd_ioctl: FDIOSCHAR bad cyl no %d\n", cpy.fdchar.fdc_ncyl)); err = EINVAL; break; @@ -2235,7 +2234,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, - PM_LEVEL_ON)) != DDI_SUCCESS) { + PM_LEVEL_ON)) != DDI_SUCCESS) { (void) pm_idle_component(fdc->c_dip, 0); err = EIO; } @@ -2256,7 +2255,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, if (fdc->c_fdtype & FDCTYPE_82077) { if (fdc->c_mtimeid == 0) { fdc->c_mtimeid = timeout(fdmotoff, fdc, - Motoff_delay); + Motoff_delay); } } @@ -2264,7 +2263,7 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, case FDGETCHANGE: /* disk changed */ if (ddi_copyin((caddr_t)arg, (caddr_t)&cpy.temp, - sizeof (int), flag)) { + sizeof (int), flag)) { err = EFAULT; break; } @@ -2281,9 +2280,9 @@ fd_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, PM_LEVEL_ON)) - != DDI_SUCCESS) { + != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_PWR, (C, "Power \ -change failed. \n")); + change failed. \n")); (void) pm_idle_component(fdc->c_dip, 0); return (EIO); } @@ -2363,7 +2362,7 @@ change failed. \n")); mutex_exit(&fdc->c_lolock); if (ddi_copyout((caddr_t)&cpy.temp, (caddr_t)arg, - sizeof (int), flag)) + sizeof (int), flag)) err = EFAULT; (void) pm_idle_component(fdc->c_dip, 0); break; @@ -2388,7 +2387,7 @@ change failed. \n")); /* the rest of the fd_drive struct is meaningless to us */ if (ddi_copyout((caddr_t)&cpy.drvchar, (caddr_t)arg, - sizeof (struct fd_drive), flag)) + sizeof (struct fd_drive), flag)) err = EFAULT; break; @@ -2510,9 +2509,9 @@ change failed. \n")); if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, PM_LEVEL_ON)) - != DDI_SUCCESS) { + != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_PWR, (C, "Power \ -change failed. \n")); + change failed. \n")); (void) pm_idle_component(fdc->c_dip, 0); return (EIO); } @@ -2598,7 +2597,7 @@ fdrawioctl(struct fdctlr *fdc, int unit, intptr_t arg, int mode) if (ddi_copyin((caddr_t)arg, (caddr_t)&fdr32, sizeof (fdr32), mode)) { FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: copyin error, args32\n")); + (C, "fdrawioctl: copyin error, args32\n")); return (EFAULT); } bcopy(fdr32.fdr_cmd, fdr.fdr_cmd, sizeof (fdr.fdr_cmd)); @@ -2614,7 +2613,7 @@ fdrawioctl(struct fdctlr *fdc, int unit, intptr_t arg, int mode) if (ddi_copyin((caddr_t)arg, (caddr_t)&fdr, sizeof (fdr), mode)) { FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: copyin error, args\n")); + (C, "fdrawioctl: copyin error, args\n")); return (EFAULT); } break; @@ -2627,9 +2626,9 @@ fdrawioctl(struct fdctlr *fdc, int unit, intptr_t arg, int mode) if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, PM_LEVEL_ON)) - != DDI_SUCCESS) { + != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_PWR, (C, "Power change \ -failed. \n")); + failed. \n")); (void) pm_idle_component(fdc->c_dip, 0); return (EIO); @@ -2684,7 +2683,7 @@ failed. \n")); case FDRAW_FORMAT: FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: cmd is fdfraw format\n")); + (C, "fdrawioctl: cmd is fdfraw format\n")); /* Insert the appropriate drive number */ csb->csb_cmds[1] = csb->csb_cmds[1] | (unit & DRV_MASK); @@ -2702,9 +2701,9 @@ failed. \n")); mutex_enter(&fdc->c_hilock); res = ddi_dma_mem_alloc(fdc->c_dmahandle, fc, - &attr, DDI_DMA_STREAMING, - DDI_DMA_DONTWAIT, 0, &fa, &real_length, - &mem_handle); + &attr, DDI_DMA_STREAMING, + DDI_DMA_DONTWAIT, 0, &fa, &real_length, + &mem_handle); if (res != DDI_SUCCESS) { fdretcsb(fdc); @@ -2730,20 +2729,20 @@ failed. \n")); /* copy in the user's command bytes */ if (ddi_copyin(fdr.fdr_addr, fa, - (uint_t)fdr.fdr_nbytes, mode)) { + (uint_t)fdr.fdr_nbytes, mode)) { fdretcsb(fdc); mutex_exit(&fdc->c_lolock); if (fdc->c_fdtype & FDCTYPE_DMA) { ddi_dma_mem_free(&mem_handle); FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: (err)free dma memory\n")); + (C, "fdrawioctl: (err)free dma memory\n")); } else { kmem_free(fa, fc); } FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: ddi_copyin error\n")); + (C, "fdrawioctl: ddi_copyin error\n")); return (EFAULT); } @@ -2777,7 +2776,7 @@ failed. \n")); csb->csb_opflags |= CSB_OFRAWIOCTL; FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: nbytes = %u\n", fdr.fdr_nbytes)); + (C, "fdrawioctl: nbytes = %u\n", fdr.fdr_nbytes)); if ((fdr.fdr_cmd[0] & 0x0f) != FDRAW_FORMAT) { if ((fc = (uint_t)fdr.fdr_nbytes) > 0) { @@ -2791,9 +2790,9 @@ failed. \n")); if (fdc->c_fdtype & FDCTYPE_DMA) { mutex_enter(&fdc->c_hilock); res = ddi_dma_mem_alloc(fdc->c_dmahandle, fc, - &attr, DDI_DMA_STREAMING, - DDI_DMA_DONTWAIT, 0, &fa, &real_length, - &mem_handle); + &attr, DDI_DMA_STREAMING, + DDI_DMA_DONTWAIT, 0, &fa, &real_length, + &mem_handle); if (res != DDI_SUCCESS) { fdretcsb(fdc); @@ -2828,8 +2827,8 @@ failed. \n")); kmem_free(fa, fc); fdretcsb(fdc); mutex_exit(&fdc->c_lolock); - FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: can't copy data\n")); + FDERRPRINT(FDEP_L1, FDEM_RAWI, (C, + "fdrawioctl: can't copy data\n")); return (EFAULT); } @@ -2881,7 +2880,7 @@ failed. \n")); flag == B_READ && err == 0) { if (ddi_copyout(fa, fdr.fdr_addr, fc, mode)) { FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: can't copy read data\n")); + (C, "fdrawioctl: can't copy read data\n")); err = EFAULT; } @@ -2892,7 +2891,7 @@ failed. \n")); if (fdc->c_fdtype & FDCTYPE_DMA) { ddi_dma_mem_free(&mem_handle); FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: free dma memory\n")); + (C, "fdrawioctl: free dma memory\n")); } else { kmem_free(fa, fc); } @@ -2915,7 +2914,7 @@ failed. \n")); fdr32.fdr_addr = (caddr32_t)(uintptr_t)fdr.fdr_addr; if (ddi_copyout(&fdr32, (caddr_t)arg, sizeof (fdr32), mode)) { FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: can't copy results32\n")); + (C, "fdrawioctl: can't copy results32\n")); err = EFAULT; } break; @@ -2924,7 +2923,7 @@ failed. \n")); default: if (ddi_copyout(&fdr, (caddr_t)arg, sizeof (fdr), mode)) { FDERRPRINT(FDEP_L1, FDEM_RAWI, - (C, "fdrawioctl: can't copy results\n")); + (C, "fdrawioctl: can't copy results\n")); err = EFAULT; } break; @@ -3016,9 +3015,9 @@ fdformat(struct fdctlr *fdc, int unit, int cyl, int hd) mutex_enter(&fdc->c_hilock); cmdresult = ddi_dma_mem_alloc(fdc->c_dmahandle, csb->csb_len, - &attr, DDI_DMA_STREAMING, - DDI_DMA_DONTWAIT, 0, &fd, &real_length, - &mem_handle); + &attr, DDI_DMA_STREAMING, + DDI_DMA_DONTWAIT, 0, &fd, &real_length, + &mem_handle); if (cmdresult != DDI_SUCCESS) { mutex_exit(&fdc->c_hilock); @@ -3169,8 +3168,8 @@ fdstart(struct fdctlr *fdc) if (bp->b_flags & B_READ) { if (((fdc->c_fdtype & FDCTYPE_SLAVIO) && - slavio_index_pulse_work_around) || - (fdc->c_fdtype & FDCTYPE_TCBUG)) + slavio_index_pulse_work_around) || + (fdc->c_fdtype & FDCTYPE_TCBUG)) csb->csb_cmds[0] = SK | FDRAW_RDCMD | MFM; else csb->csb_cmds[0] = MT | SK | FDRAW_RDCMD | MFM; @@ -3211,7 +3210,7 @@ fdstart(struct fdctlr *fdc) blk = phys_blkno; start_part = (dkm->dkl_cylno * ch->fdc_secptrack - * ch->fdc_nhead); + * ch->fdc_nhead); blk = blk + start_part; last_part = start_part + dkm->dkl_nblk; @@ -3251,28 +3250,28 @@ fdstart(struct fdctlr *fdc) */ if ((fdc->c_fdtype & FDCTYPE_SLAVIO) && - slavio_index_pulse_work_around && - (fdc->c_csb.csb_read == CSB_READ)) { + slavio_index_pulse_work_around && + (fdc->c_csb.csb_read == CSB_READ)) { tlen = (ch->fdc_secptrack - sect + 1) * - ch->fdc_sec_size; + ch->fdc_sec_size; if (len < tlen) { partial_read = 1; temp_addr = (caddr_t)kmem_alloc(tlen, - KM_SLEEP); + KM_SLEEP); } } else if (fdc->c_fdtype & FDCTYPE_TCBUG) { tlen = len; if (len > ((ch->fdc_secptrack - sect + 1) * - ch->fdc_sec_size)) + ch->fdc_sec_size)) tlen = (ch->fdc_secptrack - sect + 1) - * ch->fdc_sec_size; + * ch->fdc_sec_size; } else { if (len > ((secpcyl - bincyl) - * ch->fdc_sec_size)) + * ch->fdc_sec_size)) tlen = (secpcyl - bincyl) - * ch->fdc_sec_size; + * ch->fdc_sec_size; else tlen = len; @@ -3308,7 +3307,7 @@ fdstart(struct fdctlr *fdc) csb->csb_cmds[4] = sect; /* R - sector number */ if (fdc->c_fdtype & FDCTYPE_TCBUG) csb->csb_cmds[6] = sect + - (tlen / ch->fdc_sec_size) - 1; + (tlen / ch->fdc_sec_size) - 1; csb->csb_len = tlen; if (partial_read) @@ -3335,14 +3334,14 @@ fdstart(struct fdctlr *fdc) mutex_enter(&fdc->c_hilock); if (fdstart_dma(fdc, csb->csb_addr, - tlen) != 0) { + tlen) != 0) { bp->b_flags |= B_ERROR; bp->b_error = EAGAIN; mutex_exit(&fdc->c_hilock); FDERRPRINT(FDEP_L1, FDEM_STRT, - (C, "fdstart: no dma resources\n")); + (C, "fdstart: no dma resources\n")); break; } @@ -3378,7 +3377,7 @@ fdstart(struct fdctlr *fdc) tlen = len; } if ((fdc->c_fdtype & FDCTYPE_SB) && - (csb->csb_read == CSB_READ)) { + (csb->csb_read == CSB_READ)) { if (sb_temp_buf_used) { bcopy(fdc->dma_buf, addr, tlen); sb_temp_buf_used = 0; @@ -3402,7 +3401,7 @@ fdstart(struct fdctlr *fdc) if (bp->b_flags & B_READ) { KIOSP->reads++; KIOSP->nread += - (bp->b_bcount - bp->b_resid); + (bp->b_bcount - bp->b_resid); } else { KIOSP->writes++; KIOSP->nwritten += (bp->b_bcount - bp->b_resid); @@ -3443,7 +3442,7 @@ fdstart_dma(struct fdctlr *fdc, caddr_t addr, uint_t len) flags = flags | DDI_DMA_PARTIAL; FDERRPRINT(FDEP_L1, FDEM_SDMA, (C, "fdstart_dma: amt. asked for %d\n", - len)); + len)); /* * Zero out the current cookie. This is done to ensure that @@ -3451,14 +3450,14 @@ fdstart_dma(struct fdctlr *fdc, caddr_t addr, uint_t len) * used. */ bzero((char *)&fdc->c_csb.csb_dmacookie, - sizeof (fdc->c_csb.csb_dmacookie)); + sizeof (fdc->c_csb.csb_dmacookie)); fdc->c_csb.csb_nwin = 0; fdc->c_csb.csb_windex = 0; fdc->c_csb.csb_ccount = 0; res = ddi_dma_addr_bind_handle(fdc->c_dmahandle, NULL, addr, len, - flags, DDI_DMA_DONTWAIT, 0, &fdc->c_csb.csb_dmacookie, - &fdc->c_csb.csb_ccount); + flags, DDI_DMA_DONTWAIT, 0, &fdc->c_csb.csb_dmacookie, + &fdc->c_csb.csb_ccount); switch (res) { case DDI_DMA_MAPPED: @@ -3474,7 +3473,7 @@ fdstart_dma(struct fdctlr *fdc, caddr_t addr, uint_t len) FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: DDI_DMA_MAPPED\n")); + (C, "fdstart_dma: DDI_DMA_MAPPED\n")); break; case DDI_DMA_PARTIAL_MAP: @@ -3483,14 +3482,14 @@ fdstart_dma(struct fdctlr *fdc, caddr_t addr, uint_t len) * obtain the number of DMA windows */ if (ddi_dma_numwin(fdc->c_dmahandle, - &fdc->c_csb.csb_nwin) != DDI_SUCCESS) { + &fdc->c_csb.csb_nwin) != DDI_SUCCESS) { return (-1); } FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: partially mapped %d windows\n", - fdc->c_csb.csb_nwin)); + (C, "fdstart_dma: partially mapped %d windows\n", + fdc->c_csb.csb_nwin)); /* * The DMA window currently in use is window number @@ -3501,30 +3500,30 @@ fdstart_dma(struct fdctlr *fdc, caddr_t addr, uint_t len) break; case DDI_DMA_NORESOURCES: FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: no resources\n")); + (C, "fdstart_dma: no resources\n")); return (-1); case DDI_DMA_NOMAPPING: FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: no mapping\n")); + (C, "fdstart_dma: no mapping\n")); return (-1); case DDI_DMA_TOOBIG: FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: too big\n")); + (C, "fdstart_dma: too big\n")); return (-1); case DDI_DMA_INUSE: FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: dma inuse\n")); + (C, "fdstart_dma: dma inuse\n")); return (-1); default: FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: result is 0x%x\n", res)); + (C, "fdstart_dma: result is 0x%x\n", res)); return (-1); }; FDERRPRINT(FDEP_L1, FDEM_SDMA, - (C, "fdstart_dma: bound the handle\n")); + (C, "fdstart_dma: bound the handle\n")); ASSERT(fdc->c_csb.csb_dmacookie.dmac_size); @@ -3541,8 +3540,8 @@ static int fd_unbind_handle(struct fdctlr *fdc) { if ((fdc->c_fdtype & FDCTYPE_DMA) && - ((fdc->c_csb.csb_read == CSB_READ) || - (fdc->c_csb.csb_read == CSB_WRITE))) { + ((fdc->c_csb.csb_read == CSB_READ) || + (fdc->c_csb.csb_read == CSB_WRITE))) { mutex_enter(&fdc->c_hilock); if (fdc->c_fdtype & FDCTYPE_SB) { @@ -3558,16 +3557,16 @@ fd_unbind_handle(struct fdctlr *fdc) */ if (get_data_count_register(fdc) != 0) { - FDERRPRINT(FDEP_L1, FDEM_EXEC, - (C, "unbind & byte count isn't zero\n")); + FDERRPRINT(FDEP_L1, FDEM_EXEC, + (C, "unbind & byte count isn't zero\n")); - reset_dma_controller(fdc); - set_dma_control_register(fdc, DCSR_INIT_BITS); + reset_dma_controller(fdc); + set_dma_control_register(fdc, DCSR_INIT_BITS); } if (ddi_dma_unbind_handle(fdc->c_dmahandle) != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_EXEC, - (C, "problem unbinding the handle\n")); + (C, "problem unbinding the handle\n")); mutex_exit(&fdc->c_hilock); return (EIO); } @@ -3618,7 +3617,7 @@ fdexec(struct fdctlr *fdc, int flags) retry: FDERRPRINT(FDEP_L1, FDEM_EXEC, (C, "fdexec: cmd is %s\n", - fdcmds[csb->csb_cmds[0] & 0x1f].cmdname)); + fdcmds[csb->csb_cmds[0] & 0x1f].cmdname)); FDERRPRINT(FDEP_L1, FDEM_EXEC, (C, "fdexec: transfer rate = %d\n", fdc->c_un->un_chars->fdc_transfer_rate)); FDERRPRINT(FDEP_L1, FDEM_EXEC, (C, "fdexec: sec size = %d\n", @@ -3713,8 +3712,8 @@ retry: * (DMA is only used on a read or a write) */ if ((fdc->c_fdtype & FDCTYPE_DMA) && - ((fdc->c_csb.csb_read == CSB_READ) || - (fdc->c_csb.csb_read == CSB_WRITE))) { + ((fdc->c_csb.csb_read == CSB_READ) || + (fdc->c_csb.csb_read == CSB_WRITE))) { mutex_enter(&fdc->c_hilock); /* Reset the dcsr to clear it of all errors */ @@ -3725,13 +3724,13 @@ retry: (void *)fdc->c_csb.csb_dmacookie.dmac_laddress)); FDERRPRINT(FDEP_L1, FDEM_EXEC, (C, "cookie length %ld\n", - fdc->c_csb.csb_dmacookie.dmac_size)); + fdc->c_csb.csb_dmacookie.dmac_size)); ASSERT(fdc->c_csb.csb_dmacookie.dmac_size); set_data_count_register(fdc, - fdc->c_csb.csb_dmacookie.dmac_size); + fdc->c_csb.csb_dmacookie.dmac_size); set_data_address_register(fdc, - fdc->c_csb.csb_dmacookie.dmac_laddress); + fdc->c_csb.csb_dmacookie.dmac_laddress); /* Program the DCSR */ @@ -3802,7 +3801,7 @@ retry: if (fdc->c_fdtype & FDCTYPE_82077) { if (fdc->c_mtimeid == 0) { fdc->c_mtimeid = timeout(fdmotoff, a, - Motoff_delay); + Motoff_delay); } } FDERRPRINT(FDEP_L1, FDEM_EXEC, (C, "fdexec: O K ..\n")); @@ -3845,7 +3844,7 @@ retry: */ if ((tmp & (RQM|DIO|CB)) == (RQM|DIO|CB)) { csb->csb_rslt[csb->csb_nrslts++] = - Fifo(fdc); + Fifo(fdc); /* * FDERRPRINT(FDEP_L4, FDEM_EXEC, * (C, "fdexec: got result 0x%x\n", @@ -3860,7 +3859,7 @@ retry: if (fdc->c_fdtype & FDCTYPE_82077) { if (fdc->c_mtimeid == 0) { fdc->c_mtimeid = timeout( - fdmotoff, a, Motoff_delay); + fdmotoff, a, Motoff_delay); } } /* @@ -3901,15 +3900,15 @@ retry: * or the Dump Registers command. */ if (((csb->csb_rslt[0] & IC_SR0) || (fdc->c_csb.csb_dcsr_rslt) || - (csb->csb_status)) && - ((csb->csb_cmds[0] != FDRAW_SENSE_DRV) && - (csb->csb_cmds[0] != DUMPREG))) { + (csb->csb_status)) && + ((csb->csb_cmds[0] != FDRAW_SENSE_DRV) && + (csb->csb_cmds[0] != DUMPREG))) { /* if it can restarted OK, then do so, else return error */ if (fdrecover(fdc) != 0) { if (fdc->c_fdtype & FDCTYPE_82077) { if (fdc->c_mtimeid == 0) { fdc->c_mtimeid = timeout(fdmotoff, - a, Motoff_delay); + a, Motoff_delay); } } @@ -3973,7 +3972,7 @@ fdexec_turn_on_motor(struct fdctlr *fdc, int flags, uint_t unit) * Turn on the motor */ FDERRPRINT(FDEP_L1, FDEM_EXEC, - (C, "fdexec: turning on motor\n")); + (C, "fdexec: turning on motor\n")); /* LINTED */ Set_dor(fdc, (MOTEN(unit)), 1); @@ -4067,11 +4066,11 @@ fdrecover(struct fdctlr *fdc) * if there was a pci bus error, do not retry */ - if (csb->csb_dcsr_rslt == 1) { + if (csb->csb_dcsr_rslt == 1) { FDERRPRINT(FDEP_L3, FDEM_RECO, (C, "fd%d: host bus error\n", 0)); return (1); - } + } /* * If there was an error with the DMA functions, do not retry @@ -4199,7 +4198,7 @@ fdintr_dma() /* read/write/format data-xfer case */ FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: opmode 1\n")); + (C, "fdintr_dma: opmode 1\n")); /* * See if the interrupt is from the floppy @@ -4209,7 +4208,7 @@ fdintr_dma() if (not_cheerio || (tmp_dcsr & DCSR_INT_PEND)) { FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: INT_PEND \n")); + (C, "fdintr_dma: INT_PEND \n")); res = DDI_INTR_CLAIMED; @@ -4232,23 +4231,24 @@ fdintr_dma() * development. */ while (((tmp = Msr(fdc)) & CB) && - (i < 1000001)) { + (i < 1000001)) { /* * If RQM + DIO, then a result byte * is at hand. */ if ((tmp & (RQM|DIO|CB)) == - (RQM|DIO|CB)) { + (RQM|DIO|CB)) { fdc->c_csb.csb_rslt - [fdc->c_csb.csb_nrslts++] - = Fifo(fdc); + [fdc->c_csb.csb_nrslts++] + = Fifo(fdc); FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: res 0x%x\n", - fdc->c_csb.csb_rslt - [fdc->c_csb.csb_nrslts - - 1])); + (C, + "fdintr_dma: res 0x%x\n", + fdc->c_csb.csb_rslt + [fdc->c_csb.csb_nrslts + - 1])); } else if (--to == 0) { /* @@ -4258,11 +4258,11 @@ fdintr_dma() fdc->c_csb.csb_status = 2; break; } - i++; + i++; } if (i == 10000) { FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "First loop overran\n")); + (C, "First loop overran\n")); } } @@ -4277,7 +4277,7 @@ fdintr_dma() done = 1; fdc->c_csb.csb_dcsr_rslt = 1; FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: Error pending\n")); + (C, "fdintr_dma: Error pending\n")); reset_dma_controller(fdc); set_dma_control_register(fdc, DCSR_INIT_BITS); break; @@ -4285,8 +4285,8 @@ fdintr_dma() /* TCBUG kludge */ if ((fdc->c_fdtype & FDCTYPE_TCBUG) && - ((fdc->c_csb.csb_rslt[0] & IC_SR0) == 0x40) && - (fdc->c_csb.csb_rslt[1] & EN_SR1)) { + ((fdc->c_csb.csb_rslt[0] & IC_SR0) == 0x40) && + (fdc->c_csb.csb_rslt[1] & EN_SR1)) { fdc->c_csb.csb_rslt[0] &= ~IC_SR0; @@ -4302,7 +4302,7 @@ fdintr_dma() (fdc->c_csb.csb_rslt[2] != 0)) { done = 1; FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: errors in command\n")); + (C, "fdintr_dma: errors in command\n")); break; @@ -4310,8 +4310,8 @@ fdintr_dma() FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: dbcr 0x%x\n", - get_data_count_register(fdc))); + (C, "fdintr_dma: dbcr 0x%x\n", + get_data_count_register(fdc))); /* * The csb_ccount is the number of cookies that still * need to be processed. A cookie was just processed @@ -4389,9 +4389,9 @@ fdintr_dma() ASSERT(fdc->c_csb.csb_dmacookie.dmac_size); set_data_count_register(fdc, - fdc->c_csb.csb_dmacookie.dmac_size); + fdc->c_csb.csb_dmacookie.dmac_size); set_data_address_register(fdc, - fdc->c_csb.csb_dmacookie.dmac_laddress); + fdc->c_csb.csb_dmacookie.dmac_laddress); FDERRPRINT(FDEP_L1, FDEM_INTR, (C, "fdintr_dma: size 0x%lx\n", @@ -4403,7 +4403,7 @@ fdintr_dma() fdc->c_csb.csb_cmds[3] = fdc->c_csb.csb_rslt[4]; fdc->c_csb.csb_cmds[4] = fdc->c_csb.csb_rslt[5]; fdc->c_csb.csb_cmds[1] = (fdc->c_csb.csb_cmds[1] - & ~0x04) | (fdc->c_csb.csb_rslt[4] << 2); + & ~0x04) | (fdc->c_csb.csb_rslt[4] << 2); for (i = 0; i < (int)fdc->c_csb.csb_ncmds; i++) { @@ -4417,8 +4417,9 @@ fdintr_dma() } if (to == 0) { FDERRPRINT(FDEP_L2, FDEM_EXEC, - (C, - "fdc: no RQM - stat 0x%x\n", Msr(fdc))); + (C, + "fdc: no RQM - stat 0x%x\n", + Msr(fdc))); /* stop the DMA from happening */ fdc->c_csb.csb_status = 2; done = 1; @@ -4428,21 +4429,21 @@ fdintr_dma() Set_Fifo(fdc, fdc->c_csb.csb_cmds[i]); FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, - "fdintr_dma: sent 0x%x, Msr 0x%x\n", - fdc->c_csb.csb_cmds[i], Msr(fdc))); + (C, + "fdintr_dma: sent 0x%x, Msr 0x%x\n", + fdc->c_csb.csb_cmds[i], Msr(fdc))); } /* reenable DMA */ if ((!not_cheerio) && (!done)) set_dma_control_register(fdc, tmp_dcsr | - DCSR_EN_DMA); + DCSR_EN_DMA); break; case 0x2: /* seek/recal type cmd */ FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fintr_dma: opmode 2\n")); + (C, "fintr_dma: opmode 2\n")); /* * See if the interrupt is from the DMA engine, @@ -4471,7 +4472,7 @@ fdintr_dma() */ FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: interrupt pending\n")); + (C, "fdintr_dma: interrupt pending\n")); i = 0; while (((Msr(fdc) & CB)) && (i < 10000)) { i++; @@ -4479,7 +4480,7 @@ fdintr_dma() if (i == 10000) FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "2nd loop overran !!!\n")); + (C, "2nd loop overran !!!\n")); /* * Check the RQM bit to see if the controller is @@ -4505,7 +4506,7 @@ fdintr_dma() } if (i == 10000) FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "4th loop overran !!!\n")); + (C, "4th loop overran !!!\n")); /* Store the first result byte */ fdc->c_csb.csb_rslt[0] = Fifo(fdc); @@ -4516,7 +4517,7 @@ fdintr_dma() } if (i == 10000) FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "5th loop overran !!!\n")); + (C, "5th loop overran !!!\n")); /* Store the second result byte */ fdc->c_csb.csb_rslt[1] = Fifo(fdc); @@ -4564,7 +4565,7 @@ fdintr_dma() */ FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: signal the waiter\n")); + (C, "fdintr_dma: signal the waiter\n")); fdc->c_flags ^= FDCFLG_WAITING; cv_signal(&fdc->c_iocv); @@ -4575,15 +4576,15 @@ fdintr_dma() */ } else { FDERRPRINT(FDEP_L1, FDEM_INTR, - (C, "fdintr_dma: nobody sleeping (%x %x %x)\n", - fdc->c_csb.csb_rslt[0], fdc->c_csb.csb_rslt[1], - fdc->c_csb.csb_rslt[2])); + (C, "fdintr_dma: nobody sleeping (%x %x %x)\n", + fdc->c_csb.csb_rslt[0], fdc->c_csb.csb_rslt[1], + fdc->c_csb.csb_rslt[2])); } mutex_exit(&fdc->c_lolock); } /* update high level interrupt counter */ if (fdc->c_intrstat) - KIOIP->intrs[KSTAT_INTR_HARD]++; + KIOIP->intrs[KSTAT_INTR_HARD]++; FDERRPRINT(FDEP_L1, FDEM_INTR, (C, "fdintr_dma: done\n")); @@ -4673,7 +4674,7 @@ fdwatch(void *arg) */ FDERRPRINT(FDEP_L1, FDEM_WATC, - (C, "fdwatch: no timeout\n")); + (C, "fdwatch: no timeout\n")); mutex_exit(&fdc->c_lolock); return; @@ -4694,7 +4695,7 @@ fdwatch(void *arg) mutex_exit(&fdc->c_hilock); FDERRPRINT(FDEP_L1, FDEM_WATC, (C, "fdwatch: cmd %s timed out\n", - fdcmds[csb->csb_cmds[0] & 0x1f].cmdname)); + fdcmds[csb->csb_cmds[0] & 0x1f].cmdname)); fdc->c_flags |= FDCFLG_TIMEDOUT; csb->csb_status = CSB_CMDTO; @@ -4811,7 +4812,7 @@ fdreset(struct fdctlr *fdc) drv_usecwait(5); FDERRPRINT(FDEP_L1, FDEM_RESE, - (C, "fdreset: toggled software reset\n")); + (C, "fdreset: toggled software reset\n")); /* * This sets the data rate to 500Kbps (for high density) @@ -4838,11 +4839,11 @@ fdreset(struct fdctlr *fdc) Set_dor(fdc, DMAGATE|RESET, 1); FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdattach: Dor 0x%x\n", Dor(fdc))); + (C, "fdattach: Dor 0x%x\n", Dor(fdc))); local_lbolt = ddi_get_lbolt(); if (cv_timedwait(&fdc->c_iocv, &fdc->c_lolock, - local_lbolt + drv_usectohz(1000000)) == -1) { + local_lbolt + drv_usectohz(1000000)) == -1) { return (-1); } break; @@ -5004,7 +5005,7 @@ fdsensedrv(struct fdctlr *fdc, int unit) (void) fdexec(fdc, 0); /* DON't check changed!, no sleep */ FDERRPRINT(FDEP_L1, FDEM_CHEK, - (C, "fdsensedrv: result 0x%x", csb->csb_rslt[0])); + (C, "fdsensedrv: result 0x%x", csb->csb_rslt[0])); return (csb->csb_rslt[0]); /* return status byte 3 */ } @@ -5102,7 +5103,7 @@ fdselect(struct fdctlr *fdc, int unit, int on) case FDCTYPE_SLAVIO: case FDCTYPE_CHEERIO: FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdselect: (before) Dor 0x%x\n", Dor(fdc))); + (C, "fdselect: (before) Dor 0x%x\n", Dor(fdc))); if (unit == 0) { Set_dor(fdc, DRVSEL, !on); @@ -5111,7 +5112,7 @@ fdselect(struct fdctlr *fdc, int unit, int on) } FDERRPRINT(FDEP_L1, FDEM_ATTA, - (C, "fdselect: Dor 0x%x\n", Dor(fdc))); + (C, "fdselect: Dor 0x%x\n", Dor(fdc))); break; @@ -5260,7 +5261,7 @@ fdgetlabel(struct fdctlr *fdc, int unit) fderrlevel = FDEP_L4; label = (struct dk_label *) - kmem_zalloc(sizeof (struct dk_label), KM_SLEEP); + kmem_zalloc(sizeof (struct dk_label), KM_SLEEP); /* * try different characteristics (ie densities) by attempting to read @@ -5284,7 +5285,7 @@ fdgetlabel(struct fdctlr *fdc, int unit) FDERRPRINT(FDEP_L1, FDEM_GETL, (C, "fdgetl: un_curfdtype is -1\n")); - } else { + } else { tries = nfdtypes; /* Always start with the highest density (1.7MB) */ @@ -5293,24 +5294,24 @@ fdgetlabel(struct fdctlr *fdc, int unit) } FDERRPRINT(FDEP_L1, FDEM_GETL, - (C, "fdgetl: no. of tries %d\n", tries)); + (C, "fdgetl: no. of tries %d\n", tries)); FDERRPRINT(FDEP_L1, FDEM_GETL, - (C, "fdgetl: no. of curfdtype %d\n", un->un_curfdtype)); + (C, "fdgetl: no. of curfdtype %d\n", un->un_curfdtype)); for (i = 0; i < tries; i++) { FDERRPRINT(FDEP_L1, FDEM_GETL, (C, "fdgetl: trying %d\n", i)); if (!(err = fdrw(fdc, unit, FDREAD, 0, 0, - un->un_chars->fdc_secptrack, (caddr_t)label, - sizeof (struct dk_label))) && + un->un_chars->fdc_secptrack, (caddr_t)label, + sizeof (struct dk_label))) && fdrw(fdc, unit, FDREAD, 0, 0, - un->un_chars->fdc_secptrack + 1, - (caddr_t)label, sizeof (struct dk_label)) && + un->un_chars->fdc_secptrack + 1, + (caddr_t)label, sizeof (struct dk_label)) && !(err = fdrw(fdc, unit, FDREAD, 0, 0, 1, (caddr_t)label, - sizeof (struct dk_label)))) { + sizeof (struct dk_label)))) { FDERRPRINT(FDEP_L1, FDEM_GETL, (C, "fdgetl: succeeded\n")); @@ -5342,7 +5343,7 @@ fdgetlabel(struct fdctlr *fdc, int unit) fdunpacklabel(&fdlbl_high_80, &un->un_label); FDERRPRINT(FDEP_L1, FDEM_GETL, - (C, "fdgetl: Can't autosense diskette\n")); + (C, "fdgetl: Can't autosense diskette\n")); goto out; } @@ -5458,9 +5459,9 @@ fdrw(struct fdctlr *fdc, int unit, int rw, int cyl, int head, if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, PM_LEVEL_ON)) - != DDI_SUCCESS) { + != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_PWR, (C, "Power change \ -failed. \n")); + failed. \n")); mutex_enter(&fdc->c_lolock); return (EIO); } @@ -5532,13 +5533,13 @@ failed. \n")); attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; res = ddi_dma_mem_alloc(fdc->c_dmahandle, len, - &attr, DDI_DMA_STREAMING, - DDI_DMA_DONTWAIT, 0, &dma_addr, &real_length, - &mem_handle); + &attr, DDI_DMA_STREAMING, + DDI_DMA_DONTWAIT, 0, &dma_addr, &real_length, + &mem_handle); if (res != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_RW, - (C, "fdrw: dma mem alloc failed\n")); + (C, "fdrw: dma mem alloc failed\n")); fdretcsb(fdc); mutex_exit(&fdc->c_hilock); @@ -5712,7 +5713,7 @@ fd_build_user_vtoc(struct fdunit *un, struct vtoc *vtoc) vpart = vtoc->v_part; nblks = (un->un_chars->fdc_nhead * un->un_chars->fdc_secptrack * - un->un_chars->fdc_sec_size) / DEV_BSIZE; + un->un_chars->fdc_sec_size) / DEV_BSIZE; for (i = 0; i < V_NUMPAR; i++) { vpart->p_tag = lpart->p_tag; @@ -5749,14 +5750,14 @@ fd_build_label_vtoc(struct fdunit *un, struct vtoc *vtoc) /* Sanity-check the vtoc */ if ((vtoc->v_sanity != VTOC_SANE) || - (vtoc->v_nparts > NDKMAP) || (vtoc->v_nparts <= 0)) { + (vtoc->v_nparts > NDKMAP) || (vtoc->v_nparts <= 0)) { FDERRPRINT(FDEP_L1, FDEM_IOCT, (C, "fd_build_label: sanity check on vtoc failed\n")); return (EINVAL); } nblks = (un->un_chars->fdc_nhead * un->un_chars->fdc_secptrack * - un->un_chars->fdc_sec_size) / DEV_BSIZE; + un->un_chars->fdc_sec_size) / DEV_BSIZE; vpart = vtoc->v_part; @@ -5831,8 +5832,8 @@ fd_build_label_vtoc(struct fdunit *un, struct vtoc *vtoc) bcopy(vtoc->v_asciilabel, un->un_label.dkl_asciilabel, LEN_DKL_ASCII); FDERRPRINT(FDEP_L1, FDEM_IOCT, - (C, "fd_build_label: asciilabel %s\n", - un->un_label.dkl_asciilabel)); + (C, "fd_build_label: asciilabel %s\n", + un->un_label.dkl_asciilabel)); /* Initialize the magic number */ un->un_label.dkl_magic = DKL_MAGIC; @@ -5846,7 +5847,7 @@ fd_build_label_vtoc(struct fdunit *un, struct vtoc *vtoc) * 512 (DEVBSIZE) byte sectors per track. */ un->un_label.dkl_nsect = (un->un_chars->fdc_secptrack * - un->un_chars->fdc_sec_size) / DEV_BSIZE; + un->un_chars->fdc_sec_size) / DEV_BSIZE; un->un_label.dkl_ncyl = un->un_label.dkl_pcyl; @@ -5905,7 +5906,7 @@ fd_getauxiova(dev_info_t *dip) return (NULL); addr = (caddr_t)(uintptr_t)(caddr32_t)ddi_getprop(DDI_DEV_T_ANY, - auxdip, DDI_PROP_DONTPASS, "address", 0); + auxdip, DDI_PROP_DONTPASS, "address", 0); return (addr); } @@ -5958,7 +5959,7 @@ set_rotational_speed(struct fdctlr *fdc, int unit) check = 1; } else { check = is_medium ^ - ((fdc->c_un->un_flags & FDUNIT_MEDIUM) ? 1 : 0); + ((fdc->c_un->un_flags & FDUNIT_MEDIUM) ? 1 : 0); /* Set the un_flags if necessary */ @@ -6029,7 +6030,7 @@ fd_media_watch(void *arg) if (un->un_media_timeout) { un->un_media_timeout_id = timeout(fd_media_watch, - (void *)(ulong_t)dev, un->un_media_timeout); + (void *)(ulong_t)dev, un->un_media_timeout); } } @@ -6073,9 +6074,9 @@ fd_check_media(dev_t dev, enum dkio_state state) if (fdc->c_un->un_state == FD_STATE_STOPPED) { mutex_exit(&fdc->c_lolock); if ((pm_raise_power(fdc->c_dip, 0, PM_LEVEL_ON)) - != DDI_SUCCESS) { + != DDI_SUCCESS) { FDERRPRINT(FDEP_L1, FDEM_PWR, (C, "Power change \ -failed. \n")); + failed. \n")); (void) pm_idle_component(fdc->c_dip, 0); return (EIO); @@ -6089,7 +6090,7 @@ failed. \n")); /* turn on timeout */ un->un_media_timeout = drv_usectohz(fd_check_media_time); un->un_media_timeout_id = timeout(fd_media_watch, - (void *)(ulong_t)dev, un->un_media_timeout); + (void *)(ulong_t)dev, un->un_media_timeout); while (un->un_media_state == state) { if (cv_wait_sig(&fdc->c_statecv, &fdc->c_lolock) == 0) { @@ -6135,11 +6136,11 @@ fd_get_media_info(struct fdunit *un, caddr_t buf, int flag) media_info.dki_media_type = DK_FLOPPY; media_info.dki_lbsize = un->un_chars->fdc_sec_size; media_info.dki_capacity = un->un_chars->fdc_ncyl * - un->un_chars->fdc_secptrack * un->un_chars->fdc_nhead; + un->un_chars->fdc_secptrack * un->un_chars->fdc_nhead; if (ddi_copyout((caddr_t)&media_info, buf, - sizeof (struct dk_minfo), flag)) - err = EFAULT; + sizeof (struct dk_minfo), flag)) + err = EFAULT; return (err); } @@ -6157,7 +6158,7 @@ fd_power(dev_info_t *dip, int component, int level) int rval; if ((level < PM_LEVEL_OFF) || (level > PM_LEVEL_ON) || - (component != 0)) { + (component != 0)) { return (DDI_FAILURE); } @@ -6190,7 +6191,7 @@ fd_pm_lower_power(struct fdctlr *fdc) mutex_enter(&fdc->c_lolock); if ((fdc->c_un->un_state == FD_STATE_SUSPENDED) || - (fdc->c_un->un_state == FD_STATE_STOPPED)) { + (fdc->c_un->un_state == FD_STATE_STOPPED)) { mutex_exit(&fdc->c_lolock); return (DDI_SUCCESS); } @@ -6278,7 +6279,7 @@ create_pm_components(dev_info_t *dip) char *un_pm_comp[] = { "NAME=spindle-motor", "0=off", "1=on"}; if (ddi_prop_update_string_array(DDI_DEV_T_NONE, dip, - "pm-components", un_pm_comp, 3) == DDI_PROP_SUCCESS) { + "pm-components", un_pm_comp, 3) == DDI_PROP_SUCCESS) { (void) pm_raise_power(dip, 0, PM_LEVEL_ON); } @@ -6301,31 +6302,31 @@ set_data_count_register(struct fdctlr *fdc, uint32_t count) count = count - 1; /* 8237 needs it */ dma_reg = (struct sb_dma_reg *)fdc->c_dma_regs; switch (fdc->sb_dma_channel) { - case 0 : - ddi_put16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_0WCNT], - count & 0xFFFF); - break; - case 1 : - ddi_put16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_1WCNT], - count & 0xFFFF); - break; - case 2 : - ddi_put16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_2WCNT], - count & 0xFFFF); - break; - case 3 : - ddi_put16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_3WCNT], - count & 0xFFFF); - break; - default : - FDERRPRINT(FDEP_L3, FDEM_SDMA, - (C, "set_data_count: wrong channel %x\n", - fdc->sb_dma_channel)); - break; + case 0 : + ddi_put16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_0WCNT], + count & 0xFFFF); + break; + case 1 : + ddi_put16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_1WCNT], + count & 0xFFFF); + break; + case 2 : + ddi_put16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_2WCNT], + count & 0xFFFF); + break; + case 3 : + ddi_put16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_3WCNT], + count & 0xFFFF); + break; + default : + FDERRPRINT(FDEP_L3, FDEM_SDMA, + (C, "set_data_count: wrong channel %x\n", + fdc->sb_dma_channel)); + break; } } } @@ -6347,27 +6348,27 @@ get_data_count_register(struct fdctlr *fdc) struct sb_dma_reg *dma_reg; dma_reg = (struct sb_dma_reg *)fdc->c_dma_regs; switch (fdc->sb_dma_channel) { - case 0 : - retval = ddi_get16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_0WCNT]); - break; - case 1 : - retval = ddi_get16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_1WCNT]); - break; - case 2 : - retval = ddi_get16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_2WCNT]); - break; - case 3 : - retval = ddi_get16(fdc->c_handlep_dma, - (ushort_t *)&dma_reg->sb_dma_regs[DMA_3WCNT]); - break; - default : - FDERRPRINT(FDEP_L3, FDEM_SDMA, - (C, "get_data_count: wrong channel %x\n", - fdc->sb_dma_channel)); - break; + case 0 : + retval = ddi_get16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_0WCNT]); + break; + case 1 : + retval = ddi_get16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_1WCNT]); + break; + case 2 : + retval = ddi_get16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_2WCNT]); + break; + case 3 : + retval = ddi_get16(fdc->c_handlep_dma, + (ushort_t *)&dma_reg->sb_dma_regs[DMA_3WCNT]); + break; + default : + FDERRPRINT(FDEP_L3, FDEM_SDMA, + (C, "get_data_count: wrong channel %x\n", + fdc->sb_dma_channel)); + break; } retval = (uint32_t)((uint16_t)(retval +1)); } @@ -6388,7 +6389,8 @@ reset_dma_controller(struct fdctlr *fdc) struct cheerio_dma_reg *dma_reg; dma_reg = (struct cheerio_dma_reg *)fdc->c_dma_regs; ddi_put32(fdc->c_handlep_dma, &dma_reg->fdc_dcsr, DCSR_RESET); - while (get_dma_control_register(fdc) & DCSR_CYC_PEND); + while (get_dma_control_register(fdc) & DCSR_CYC_PEND) + ; ddi_put32(fdc->c_handlep_dma, &dma_reg->fdc_dcsr, 0); } else if (fdc->c_fdtype & FDCTYPE_SB) { struct sb_dma_reg *dma_reg; @@ -6479,8 +6481,8 @@ set_data_address_register(struct fdctlr *fdc, uint32_t address) break; default : FDERRPRINT(FDEP_L3, FDEM_SDMA, - (C, "set_data_address: wrong channel %x\n", - fdc->sb_dma_channel)); + (C, "set_data_address: wrong channel %x\n", + fdc->sb_dma_channel)); break; } } @@ -6500,10 +6502,10 @@ set_dma_mode(struct fdctlr *fdc, int val) dma_reg = (struct cheerio_dma_reg *)fdc->c_dma_regs; if (val == CSB_READ) ddi_put32(fdc->c_handlep_dma, &dma_reg->fdc_dcsr, - DCSR_INIT_BITS|DCSR_WRITE); + DCSR_INIT_BITS|DCSR_WRITE); else ddi_put32(fdc->c_handlep_dma, &dma_reg->fdc_dcsr, - DCSR_INIT_BITS); + DCSR_INIT_BITS); } else if (fdc->c_fdtype & FDCTYPE_SB) { uint8_t mode_reg_val, chn_mask; @@ -6512,16 +6514,16 @@ set_dma_mode(struct fdctlr *fdc, int val) if (val == CSB_READ) { mode_reg_val = fdc->sb_dma_channel | DMAMODE_READ - | DMAMODE_SINGLE; + | DMAMODE_SINGLE; } else { /* Read operation */ mode_reg_val = fdc->sb_dma_channel | DMAMODE_WRITE - | DMAMODE_SINGLE; + | DMAMODE_SINGLE; } ddi_put8(fdc->c_handlep_dma, &dma_reg->sb_dma_regs[DMAC1_MODE], - mode_reg_val); + mode_reg_val); chn_mask = 1 << (fdc->sb_dma_channel & 0x3); ddi_put8(fdc->c_handlep_dma, - &dma_reg->sb_dma_regs[DMAC1_ALLMASK], ~chn_mask); + &dma_reg->sb_dma_regs[DMAC1_ALLMASK], ~chn_mask); fdc->sb_dma_lock = 1; } } @@ -6549,7 +6551,7 @@ release_sb_dma(struct fdctlr *fdc) dma_reg = (struct sb_dma_reg *)fdc->c_dma_regs; /* Unmask all the channels to release the DMA controller */ ddi_put8(fdc->c_handlep_dma, - &dma_reg->sb_dma_regs[DMAC1_ALLMASK], NULL); + &dma_reg->sb_dma_regs[DMAC1_ALLMASK], NULL); fdc->sb_dma_lock = 0; } @@ -6568,10 +6570,10 @@ quiesce_fd_interrupt(struct fdctlr *fdc) */ if (fdc->c_fdtype & FDCTYPE_SB) { ddi_put8(fdc->c_handlep_cont, ((uint8_t *)fdc->c_dor), - 0x0); + 0x0); drv_usecwait(200); ddi_put8(fdc->c_handlep_cont, ((uint8_t *)fdc->c_dor), - 0xC); + 0xC); drv_usecwait(200); Set_Fifo(fdc, 0xE6); drv_usecwait(200); diff --git a/usr/src/uts/sun/io/hme.c b/usr/src/uts/sun/io/hme.c index 07d8ec16ef..399d995b10 100644 --- a/usr/src/uts/sun/io/hme.c +++ b/usr/src/uts/sun/io/hme.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * SunOS MT STREAMS FEPS(SBus)/Cheerio(PCI) 10/100Mb Ethernet Device Driver @@ -494,7 +493,7 @@ static mac_callbacks_t hme_m_callbacks = { }; DDI_DEFINE_STREAM_OPS(hme_dev_ops, nulldev, nulldev, hmeattach, hmedetach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); #define HME_FAULT_MSG1(p, s, t, f) \ hme_fault_msg(__FILE__, __LINE__, (p), (s), (t), (f)); diff --git a/usr/src/uts/sun/io/qfe.c b/usr/src/uts/sun/io/qfe.c index f213c60fbb..4a98701b87 100644 --- a/usr/src/uts/sun/io/qfe.c +++ b/usr/src/uts/sun/io/qfe.c @@ -18,12 +18,12 @@ * * CDDL HEADER END */ + /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * SunOS MT QFE Device Driver (layered above FEPS/Cheerio) @@ -48,7 +48,7 @@ extern int hmeattach(dev_info_t *, ddi_attach_cmd_t); extern int hmedetach(dev_info_t *, ddi_detach_cmd_t); DDI_DEFINE_STREAM_OPS(qfe_dev_ops, nulldev, nulldev, hmeattach, hmedetach, - nodev, NULL, D_MP, NULL); + nodev, NULL, D_MP, NULL, ddi_quiesce_not_supported); /* * Module linkage information for the kernel. diff --git a/usr/src/uts/sun/io/sbusmem.c b/usr/src/uts/sun/io/sbusmem.c index a4f483bfe5..c747c93dfc 100644 --- a/usr/src/uts/sun/io/sbusmem.c +++ b/usr/src/uts/sun/io/sbusmem.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -97,12 +95,13 @@ static struct dev_ops sbmem_ops = { nodev, /* reset */ &sbmem_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "SBus memory driver v%I%", /* Name of module. */ + "SBus memory driver", /* Name of module. */ &sbmem_ops, /* driver ops */ }; @@ -113,7 +112,7 @@ static struct modlinkage modlinkage = { static int sbmem_rw(dev_t, struct uio *, enum uio_rw, cred_t *); #if !defined(lint) -static char sbusmem_initmsg[] = "sbusmem _init: sbusmem.c\t%I%\t%E%\n"; +static char sbusmem_initmsg[] = "sbusmem _init: sbusmem.c\t1.28\t08/19/2008\n"; #endif int @@ -401,7 +400,7 @@ sbmem_devmap(dev_t dev, devmap_cookie_t dhp, offset_t off, size_t len, return (ENXIO); } if ((error = devmap_devmem_setup(dhp, un->dip, NULL, 0, - off, len, PROT_ALL, DEVMAP_DEFAULTS, NULL)) < 0) { + off, len, PROT_ALL, DEVMAP_DEFAULTS, NULL)) < 0) { return (error); } *maplen = ptob(btopr(len)); diff --git a/usr/src/uts/sun/io/scsi/adapters/esp.c b/usr/src/uts/sun/io/scsi/adapters/esp.c index 956fea0036..66e7d3d8d3 100644 --- a/usr/src/uts/sun/io/scsi/adapters/esp.c +++ b/usr/src/uts/sun/io/scsi/adapters/esp.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * esp - Emulex SCSI Processor host adapter driver with FAS101/236, @@ -389,14 +388,15 @@ static struct dev_ops esp_ops = { nodev, /* reset */ NULL, /* cb ops */ NULL, /* bus operations */ - ddi_power /* power */ + ddi_power, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; char _depends_on[] = "misc/scsi"; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "ESP SCSI HBA Driver v%I%", /* Name of the module. */ + "ESP SCSI HBA Driver", /* Name of the module. */ &esp_ops, /* driver ops */ }; @@ -501,8 +501,8 @@ esp_scsi_tgt_probe(struct scsi_device *sd, if (options != -1) { esp->e_target_scsi_options[tgt] = options; esplog(esp, CE_NOTE, - "?target%x-scsi-options = 0x%x\n", tgt, - esp->e_target_scsi_options[tgt]); + "?target%x-scsi-options = 0x%x\n", tgt, + esp->e_target_scsi_options[tgt]); if (options & SCSI_OPTIONS_FAST) { esp->e_default_period[tgt] = (uchar_t) @@ -518,7 +518,7 @@ esp_scsi_tgt_probe(struct scsi_device *sd, mutex_exit(ESP_MUTEX); IPRINTF2("target%x-scsi-options = 0x%x\n", - tgt, esp->e_target_scsi_options[tgt]); + tgt, esp->e_target_scsi_options[tgt]); return (rval); } @@ -530,8 +530,8 @@ esp_scsi_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, scsi_hba_tran_t *hba_tran, struct scsi_device *sd) { return (((sd->sd_address.a_target < NTARGETS) && - (sd->sd_address.a_lun < NLUNS_PER_TARGET)) ? - DDI_SUCCESS : DDI_FAILURE); + (sd->sd_address.a_lun < NLUNS_PER_TARGET)) ? + DDI_SUCCESS : DDI_FAILURE); } static char *prop_cfreq = "clock-frequency"; @@ -815,7 +815,7 @@ esp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < NTARGETS; i++) { esp->e_qfull_retries[i] = QFULL_RETRIES; esp->e_qfull_retry_interval[i] = - drv_usectohz(QFULL_RETRY_INTERVAL * 1000); + drv_usectohz(QFULL_RETRY_INTERVAL * 1000); } esp->e_reg = ep; @@ -874,11 +874,11 @@ esp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < NTARGETS; i++) { (void) sprintf(prop_str, prop_template, i); esp->e_target_scsi_options[i] = ddi_prop_get_int( - DDI_DEV_T_ANY, dip, 0, prop_str, -1); + DDI_DEV_T_ANY, dip, 0, prop_str, -1); if (esp->e_target_scsi_options[i] != -1) { esplog(esp, CE_NOTE, - "?target%d_scsi_options=0x%x\n", - i, esp->e_target_scsi_options[i]); + "?target%d_scsi_options=0x%x\n", + i, esp->e_target_scsi_options[i]); esp->e_target_scsi_options_defined |= 1 << i; } else { esp->e_target_scsi_options[i] = esp->e_scsi_options; @@ -908,8 +908,8 @@ esp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) esp->e_scsi_reset_delay, scsi_reset_delay); if (esp->e_scsi_reset_delay == 0) { esplog(esp, CE_NOTE, - "scsi_reset_delay of 0 is not recommended," - " resetting to SCSI_DEFAULT_RESET_DELAY\n"); + "scsi_reset_delay of 0 is not recommended," + " resetting to SCSI_DEFAULT_RESET_DELAY\n"); esp->e_scsi_reset_delay = SCSI_DEFAULT_RESET_DELAY; } if (esp->e_scsi_reset_delay != scsi_reset_delay) { @@ -958,12 +958,12 @@ esp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ (void) sprintf(buf, "esp%d", instance); esp->e_intr_kstat = kstat_create("esp", instance, buf, "controller", \ - KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); + KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); if (esp->e_intr_kstat) kstat_install(esp->e_intr_kstat); if (ddi_add_intr(dip, (uint_t)0, &esp->e_iblock, NULL, esp_intr, - (caddr_t)esp)) { + (caddr_t)esp)) { cmn_err(CE_WARN, "esp: cannot add intr"); goto fail; } @@ -981,7 +981,7 @@ esp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (esp_softc == esp) { esp_scsi_watchdog_tick = ddi_prop_get_int(DDI_DEV_T_ANY, dip, 0, - "scsi-watchdog-tick", scsi_watchdog_tick); + "scsi-watchdog-tick", scsi_watchdog_tick); if (esp_scsi_watchdog_tick != scsi_watchdog_tick) { esplog(esp, CE_NOTE, "scsi-watchdog-tick=%d\n", esp_scsi_watchdog_tick); @@ -1044,9 +1044,9 @@ esp_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ (void) sprintf(buf, "esp%d_cache", instance); esp->e_kmem_cache = kmem_cache_create(buf, - ESP_CMD_SIZE, 8, - esp_kmem_cache_constructor, esp_kmem_cache_destructor, - NULL, (void *)esp, NULL, 0); + ESP_CMD_SIZE, 8, + esp_kmem_cache_constructor, esp_kmem_cache_destructor, + NULL, (void *)esp, NULL, 0); if (esp->e_kmem_cache == NULL) { cmn_err(CE_WARN, "esp: cannot create kmem_cache"); goto fail; @@ -1266,7 +1266,7 @@ esp_dr_detach(dev_info_t *dev) * unusable. */ cmn_err(CE_WARN, "esp_dr_detach: esp instance not" - " in softc list!"); + " in softc list!"); rw_exit(&esp_global_rwlock); return (DDI_FAILURE); } @@ -1461,8 +1461,8 @@ esp_determine_chip_type(struct esp *esp) esp->e_stval = ESP_CLOCK_TIMEOUT(ticks, esp_selection_timeout); IPRINTF5("%d mhz, clock_conv %d, clock_cycle %d, ticks %ld, stval %d\n", - i, esp->e_clock_conv, esp->e_clock_cycle, - ticks, esp->e_stval); + i, esp->e_clock_conv, esp->e_clock_cycle, + ticks, esp->e_stval); ep->esp_conf2 = 0; ep->esp_conf2 = 0xa; @@ -1518,7 +1518,7 @@ esp_determine_chip_type(struct esp *esp) */ if ((esp->e_type == FAST) && (esp->e_weak == 0)) { esp_internal_reset(esp, - ESP_RESET_SOFTC|ESP_RESET_ESP|ESP_RESET_DMA); + ESP_RESET_SOFTC|ESP_RESET_ESP|ESP_RESET_DMA); } else { esp_internal_reset(esp, ESP_RESET_ALL); } @@ -1604,7 +1604,7 @@ esp_hw_reset(struct esp *esp, int action) if (action & ESP_RESET_DMA) { int burstsizes = esp->e_dma_attr->dma_attr_burstsizes; burstsizes &= (ddi_dma_burstsizes(esp->e_dmahandle) & - esp_burst_sizes_limit); + esp_burst_sizes_limit); ESP_FLUSH_DMA(esp); dmar->dmaga_csr = DMAGA_RESET; @@ -1742,7 +1742,7 @@ esp_hw_reset(struct esp *esp, int action) ep->esp_conf2 = esp->e_espconf2; esp->e_req_ack_delay = DEFAULT_REQ_ACK_DELAY_101; esp->e_options |= ESP_OPT_DMA_OUT_TAG | ESP_OPT_FAS | - ESP_OPT_ACCEPT_STEP567; + ESP_OPT_ACCEPT_STEP567; break; case ESP236: @@ -1753,7 +1753,7 @@ esp_hw_reset(struct esp *esp, int action) ep->esp_conf2 = esp->e_espconf2; ep->esp_conf3 = esp->e_espconf3[0]; esp->e_options |= ESP_OPT_DMA_OUT_TAG | - ESP_OPT_SLOW_FIFO_FLUSH; + ESP_OPT_SLOW_FIFO_FLUSH; break; case ESP100A: @@ -1786,7 +1786,7 @@ esp_hw_reset(struct esp *esp, int action) * look up esp-options property */ esp->e_options = ddi_prop_get_int(DDI_DEV_T_ANY, - esp->e_dev, 0, "esp-options", esp->e_options); + esp->e_dev, 0, "esp-options", esp->e_options); esplog(esp, CE_NOTE, "?esp-options=0x%x\n", esp->e_options); @@ -1911,8 +1911,8 @@ esp_destroy_callback_thread(struct esp *esp) struct callback_info *tci, **pci; IPRINTF2("esp_destroy_callback_thread: " - "killing callback 0x%p thread %d\n", - (void *)esp->e_callback_info, ci->c_id); + "killing callback 0x%p thread %d\n", + (void *)esp->e_callback_info, ci->c_id); mutex_enter(&ci->c_mutex); ci->c_exit = 1; /* die */ @@ -1939,8 +1939,8 @@ esp_destroy_callback_thread(struct esp *esp) cv_destroy(&ci->c_cvd); mutex_destroy(&ci->c_mutex); kmem_free(ci, sizeof (struct callback_info)); - IPRINTF1("esp_destroy_callback_thread:%p freed\n", - (void *)ci); + IPRINTF1("esp_destroy_callback_thread:%p" + " freed\n", (void *)ci); esp->e_callback_info = NULL; break; } @@ -2034,7 +2034,7 @@ esp_callback(struct esp *esp) _NOTE(NO_COMPETING_THREADS_NOW); mutex_init(&cpr_mutex, NULL, MUTEX_DRIVER, esp->e_iblock); CALLB_CPR_INIT(&cpr_info, - &cpr_mutex, callb_generic_cpr, "esp_callback"); + &cpr_mutex, callb_generic_cpr, "esp_callback"); #ifndef lint _NOTE(COMPETING_THREADS_NOW); #endif @@ -2049,7 +2049,7 @@ esp_callback(struct esp *esp) for (;;) { TRACE_0(TR_FAC_SCSI, TR_ESP_CALLBACK_START, - "esp_callback_start"); + "esp_callback_start"); while (cb_info->c_qf) { sp = cb_info->c_qf; cb_info->c_qf = sp->cmd_forw; @@ -2147,7 +2147,7 @@ esp_callback(struct esp *esp) } TRACE_1(TR_FAC_SCSI, TR_ESP_CALLBACK_END, - "esp_callback_end: (%d)", serviced); + "esp_callback_end: (%d)", serviced); /* * reset serviced and wakeups; if these numbers get too high @@ -2185,7 +2185,7 @@ esp_callback(struct esp *esp) cmn_err(CE_CONT, "esp cb%d.%d exits\n", cb_info->c_id, id); #endif TRACE_1(TR_FAC_SCSI, TR_ESP_CALLBACK_END, - "esp_callback_end: (%d)", n); + "esp_callback_end: (%d)", n); #ifndef __lock_lint mutex_enter(&cpr_mutex); CALLB_CPR_EXIT(&cpr_info); @@ -2232,8 +2232,8 @@ esp_scsi_sync_pkt(struct scsi_address *ap, struct scsi_pkt *pkt) if (sp->cmd_flags & CFLAG_DMAVALID) { i = ddi_dma_sync(sp->cmd_dmahandle, 0, 0, - (sp->cmd_flags & CFLAG_DMASEND) ? - DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU); + (sp->cmd_flags & CFLAG_DMASEND) ? + DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU); if (i != DDI_SUCCESS) { cmn_err(CE_WARN, "esp: sync pkt failed"); } @@ -2281,7 +2281,7 @@ esp_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, cmd->cmd_pkt.pkt_scbp = (opaque_t)cmd->cmd_scb; cmd->cmd_cdblen_alloc = cmd->cmd_cdblen = - (uchar_t)cmdlen; + (uchar_t)cmdlen; cmd->cmd_scblen = statuslen; cmd->cmd_privlen = tgtlen; cmd->cmd_pkt.pkt_address = *ap; @@ -2302,8 +2302,8 @@ esp_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, } if (failure) { TRACE_0(TR_FAC_SCSI, - TR_ESP_SCSI_IMPL_PKTALLOC_END, - "esp_scsi_pktalloc_end"); + TR_ESP_SCSI_IMPL_PKTALLOC_END, + "esp_scsi_pktalloc_end"); return (NULL); } } @@ -2311,7 +2311,7 @@ esp_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, new_cmd = cmd; TRACE_0(TR_FAC_SCSI, TR_ESP_SCSI_IMPL_PKTALLOC_END, - "esp_scsi_pktalloc_end"); + "esp_scsi_pktalloc_end"); } else { cmd = (struct esp_cmd *)pkt->pkt_ha_private; new_cmd = NULL; @@ -2346,8 +2346,8 @@ esp_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, ASSERT(cmd->cmd_dmahandle != NULL); rval = ddi_dma_buf_bind_handle(cmd->cmd_dmahandle, bp, - dma_flags, callback, arg, &cmd->cmd_dmacookie, - &dmacookie_count); + dma_flags, callback, arg, &cmd->cmd_dmacookie, + &dmacookie_count); dma_failure: if (rval && rval != DDI_DMA_PARTIAL_MAP) { switch (rval) { @@ -2368,7 +2368,7 @@ dma_failure: esp_scsi_destroy_pkt(ap, &new_cmd->cmd_pkt); } TRACE_0(TR_FAC_SCSI, TR_SCSI_IMPL_DMAGET_END, - "esp_scsi_dmaget_end"); + "esp_scsi_dmaget_end"); return ((struct scsi_pkt *)NULL); } ASSERT(dmacookie_count == 1); @@ -2504,7 +2504,7 @@ esp_kmem_cache_constructor(void *buf, void *cdrarg, int kmflags) struct esp_cmd *cmd = buf; struct esp *esp = cdrarg; int (*callback)(caddr_t) = (kmflags == KM_SLEEP) ? DDI_DMA_SLEEP: - DDI_DMA_DONTWAIT; + DDI_DMA_DONTWAIT; bzero(cmd, ESP_CMD_SIZE); @@ -2609,7 +2609,7 @@ esp_prepare_pkt(struct esp *esp, struct esp_cmd *sp) sp->cmd_data_count = sp->cmd_saved_data_count = 0; if ((sp->cmd_flags & (CFLAG_CMDIOPB | CFLAG_DMASEND)) == - (CFLAG_CMDIOPB | CFLAG_DMASEND)) { + (CFLAG_CMDIOPB | CFLAG_DMASEND)) { (void) ddi_dma_sync(sp->cmd_dmahandle, 0, (uint_t)-1, DDI_DMA_SYNC_FORDEV); } @@ -2643,10 +2643,10 @@ esp_prepare_pkt(struct esp *esp, struct esp_cmd *sp) sp->cmd_pkt.pkt_flags &= ~FLAG_NODISCON; sp->cmd_pkt.pkt_flags |= 0x80000000; esplog(esp, CE_NOTE, - "starting untagged cmd, target=%d," - " tcmds=%d, sp=0x%p, throttle=%d\n", - Tgt(sp), esp->e_tcmds[slot], (void *)sp, - esp->e_throttle[slot]); + "starting untagged cmd, target=%d," + " tcmds=%d, sp=0x%p, throttle=%d\n", + Tgt(sp), esp->e_tcmds[slot], (void *)sp, + esp->e_throttle[slot]); esp_test_untagged = -10; } } @@ -2965,21 +2965,21 @@ _esp_start(struct esp *esp, struct esp_cmd *sp, int flag) } } } else if ((esp->e_tcmds[slot] >= esp->e_throttle[slot]) && - (esp->e_throttle[slot] > HOLD_THROTTLE) && - (flag == TRAN_BUSY_OK)) { - IPRINTF2( - "transport busy, slot=%x, ncmds=%x\n", - slot, esp->e_ncmds); - rval = TRAN_BUSY; - esp->e_ncmds--; - sp->cmd_flags &= ~CFLAG_PREPARED; + (esp->e_throttle[slot] > HOLD_THROTTLE) && + (flag == TRAN_BUSY_OK)) { + IPRINTF2( + "transport busy, slot=%x, ncmds=%x\n", + slot, esp->e_ncmds); + rval = TRAN_BUSY; + esp->e_ncmds--; + sp->cmd_flags &= ~CFLAG_PREPARED; #ifdef ESPDEBUG - sp->cmd_flags &= ~CFLAG_IN_TRANSPORT; + sp->cmd_flags &= ~CFLAG_IN_TRANSPORT; #endif #ifdef ESP_PERF - esp_request_count--; + esp_request_count--; #endif - goto done; + goto done; } else { struct esp_cmd *dp = esp->e_readyb[slot]; @@ -3011,7 +3011,7 @@ _esp_start(struct esp *esp, struct esp_cmd *sp, int flag) * throttle now (t_cmds is always zero for non-tagged) */ if ((esp->e_tcmds[slot] == 0) && (esp->e_throttle[slot] == - DRAIN_THROTTLE)) { + DRAIN_THROTTLE)) { IPRINTF("reset throttle\n"); esp->e_throttle[slot] = CLEAR_THROTTLE; } @@ -3270,7 +3270,7 @@ esp_startcmd(struct esp *esp, struct esp_cmd *sp) #ifdef ESPDEBUG if (esp->e_cur_slot != ((target * NLUNS_PER_TARGET) | lun)) { eprintf(esp, "cur_slot=%x, target=%x, lun=%x, sp=0x%p\n", - esp->e_cur_slot, target, lun, (void *)sp); + esp->e_cur_slot, target, lun, (void *)sp); debug_enter("esp_startcmd"); } ASSERT((sp->cmd_flags & CFLAG_FREE) == 0); @@ -3318,7 +3318,7 @@ esp_startcmd(struct esp *esp, struct esp_cmd *sp) ESP_PREEMPT(esp); LOG_STATE(esp, ACTS_PREEMPTED, esp->e_stat, Tgt(sp), lun); TRACE_0(TR_FAC_SCSI, TR_ESP_STARTCMD_PREEMPT_CALL, - "esp_startcmd_preempt_call"); + "esp_startcmd_preempt_call"); /* * put request back in the ready queue * runpoll will retry NOINTR cmds so no need to put @@ -3447,10 +3447,10 @@ esp_startcmd(struct esp *esp, struct esp_cmd *sp) cmd = CMD_SEL_STOP | CMD_DMA; cmd_len = 0; LOG_STATE(esp, ACTS_PROXY, esp->e_stat, - esp->e_cur_msgout[0], nstate); + esp->e_cur_msgout[0], nstate); } else if (((esp->e_sync_known & tshift) == 0) && - (esp->e_target_scsi_options[target] & SCSI_OPTIONS_SYNC)) { + (esp->e_target_scsi_options[target] & SCSI_OPTIONS_SYNC)) { if (sp->cmd_pkt.pkt_flags & FLAG_NODISCON) { LOAD_CMDP = esp->e_last_msgout = MSG_IDENTIFY | lun; @@ -3656,7 +3656,7 @@ esp_intr(caddr_t arg) esp->e_polled_intr = 0; } if (!kstat_updated && esp->e_intr_kstat && - rval == DDI_INTR_CLAIMED) { + rval == DDI_INTR_CLAIMED) { ESP_KSTAT_INTR(esp); kstat_updated++; } @@ -3781,8 +3781,8 @@ espsvc(struct esp *esp) esp->e_dma->dmaga_csr, dmaga_bits, esp->e_dma->dmaga_addr); esp_stat_int_print(esp); eprintf(esp, "\tState %s Laststate %s\n", - esp_state_name(esp->e_state), - esp_state_name(esp->e_laststate)); + esp_state_name(esp->e_state), + esp_state_name(esp->e_laststate)); } #endif /* ESPDEBUG */ @@ -3883,8 +3883,8 @@ start_action: while (action != ACTION_RETURN) { ASSERT((action >= 0) && (action <= ACTION_SELECT)); TRACE_3(TR_FAC_SCSI, TR_ESPSVC_ACTION_CALL, - "espsvc call: esp 0x%p, action %d (%d)", - (void *)esp, action, i); + "espsvc call: esp 0x%p, action %d (%d)", + (void *)esp, action, i); i++; action = (*evec[action])(esp); } @@ -3924,7 +3924,7 @@ esp_phasemanage(struct esp *esp) esp_state_name(esp->e_state & STATE_ITPHASES)); TRACE_2(TR_FAC_SCSI, TR_ESP_PHASEMANAGE_CALL, - "esp_phasemanage_call: esp 0x%p (%d)", (void *)esp, i); + "esp_phasemanage_call: esp 0x%p (%d)", (void *)esp, i); i++; state = esp->e_state; @@ -3999,7 +3999,7 @@ esp_remove_tagged_cmd(struct esp *esp, struct esp_cmd *sp, int slot, * going to take a while... */ if (sp->cmd_pkt.pkt_time == tag_slots->e_timebase) { - if (--(tag_slots->e_dups) <= 0) { + if (--(tag_slots->e_dups) <= 0) { if (esp->e_tcmds[slot]) { struct esp_cmd *ssp; uint_t n = 0; @@ -4019,16 +4019,16 @@ esp_remove_tagged_cmd(struct esp *esp, struct esp_cmd *sp, int slot, n = ssp->cmd_pkt.pkt_time; tag_slots->e_dups = 1; } else if ( - ssp->cmd_pkt.pkt_time == n) { + ssp->cmd_pkt.pkt_time == n) { tag_slots->e_dups++; } } tag_slots->e_timebase = n; } else { tag_slots->e_dups = - tag_slots->e_timebase = 0; + tag_slots->e_timebase = 0; + } } - } } tag_slots->e_timeout = tag_slots->e_timebase; } @@ -4078,11 +4078,11 @@ esp_finish(struct esp *esp) if (DEBUGGING) { eprintf(esp, "%d.%d; cmds=%d disc=%d lastmsg 0x%x\n", - Tgt(sp), Lun(sp), esp->e_ncmds, esp->e_ndisc, - esp->e_last_msgin); + Tgt(sp), Lun(sp), esp->e_ncmds, esp->e_ndisc, + esp->e_last_msgin); eprintf(esp, "\treason '%s'; cmd state 0x%b\n", - scsi_rname(sp->cmd_pkt.pkt_reason), - sp->cmd_pkt.pkt_state, scsi_state_bits); + scsi_rname(sp->cmd_pkt.pkt_reason), + sp->cmd_pkt.pkt_state, scsi_state_bits); } #endif /* ESPDEBUG */ @@ -4227,7 +4227,7 @@ static void esp_handle_qfull(struct esp *esp, struct esp_cmd *sp, int slot) { if ((++sp->cmd_qfull_retries > esp->e_qfull_retries[Tgt(sp)]) || - (esp->e_qfull_retries[Tgt(sp)] == 0)) { + (esp->e_qfull_retries[Tgt(sp)] == 0)) { /* * We have exhausted the retries on QFULL, or, * the target driver has indicated that it @@ -4238,16 +4238,16 @@ esp_handle_qfull(struct esp *esp, struct esp_cmd *sp, int slot) * as CMD_CMPLT and pkt_scbp as STATUS_QFULL. */ IPRINTF2("%d.%d: status queue full, retries over\n", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); esp_set_all_lun_throttles(esp, slot, DRAIN_THROTTLE); esp_call_pkt_comp(esp, sp); } else { if (esp->e_reset_delay[Tgt(sp)] == 0) { esp->e_throttle[slot] = - max((esp->e_tcmds[slot] - 2), 0); + max((esp->e_tcmds[slot] - 2), 0); } IPRINTF3("%d.%d: status queue full, new throttle = %d, " - "retrying\n", Tgt(sp), Lun(sp), esp->e_throttle[slot]); + "retrying\n", Tgt(sp), Lun(sp), esp->e_throttle[slot]); sp->cmd_pkt.pkt_flags |= FLAG_HEAD; sp->cmd_flags &= ~CFLAG_TRANFLAG; (void) _esp_start(esp, sp, NO_TRAN_BUSY); @@ -4371,21 +4371,21 @@ esp_check_in_transport(struct esp *esp, struct esp_cmd *sp) if (esp->e_tagQ[slot] != NULL) { for (i = 0; i < NTAGS; i++) { - if ((esp->e_tagQ[slot]->t_slot[i] != NULL) && - (esp->e_tagQ[slot]->t_slot[i] != - esp->e_slots[slot])) { - ncmds++; - qsp = esp->e_tagQ[slot]->t_slot[i]; - if (qsp->cmd_flags & CFLAG_CMDDISC) { - ndiscs++; - } - ASSERT((qsp->cmd_flags & - CFLAG_COMPLETED) == 0); - ASSERT((qsp->cmd_flags & CFLAG_FREE) - == 0); - ASSERT((qsp->cmd_flags & - CFLAG_FINISHED) == 0); - } + if ((esp->e_tagQ[slot]->t_slot[i] != NULL) && + (esp->e_tagQ[slot]->t_slot[i] != + esp->e_slots[slot])) { + ncmds++; + qsp = esp->e_tagQ[slot]->t_slot[i]; + if (qsp->cmd_flags & CFLAG_CMDDISC) { + ndiscs++; + } + ASSERT((qsp->cmd_flags & + CFLAG_COMPLETED) == 0); + ASSERT((qsp->cmd_flags & CFLAG_FREE) + == 0); + ASSERT((qsp->cmd_flags & + CFLAG_FINISHED) == 0); + } } } } @@ -4394,7 +4394,7 @@ esp_check_in_transport(struct esp *esp, struct esp_cmd *sp) if (esp_do_check) debug_enter("ncmds problem"); eprintf(esp, "ncmds = %d, %d, ndisc = %d, %d\n", - ncmds, esp->e_ncmds, ndiscs, esp->e_ndisc); + ncmds, esp->e_ncmds, ndiscs, esp->e_ndisc); } } #endif @@ -4437,13 +4437,13 @@ esp_call_pkt_comp(struct esp *esp, struct esp_cmd *sp) if (sp->cmd_pkt.pkt_reason != CMD_CMPLT) { IPRINTF6("completion for %d.%d, sp=0x%p, " "reason=%s, stats=%x, state=%x\n", - Tgt(sp), Lun(sp), (void *)sp, - scsi_rname(sp->cmd_pkt.pkt_reason), - sp->cmd_pkt.pkt_statistics, - sp->cmd_pkt.pkt_state); + Tgt(sp), Lun(sp), (void *)sp, + scsi_rname(sp->cmd_pkt.pkt_reason), + sp->cmd_pkt.pkt_statistics, + sp->cmd_pkt.pkt_state); } else { EPRINTF2("completion queued for %d.%d\n", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); } /* @@ -4764,8 +4764,8 @@ step_done: */ if (esp_do_kstats && esp->e_slot_stats[slot]) { - kstat_runq_back_to_waitq( - IOSP(slot)); + kstat_runq_back_to_waitq( + IOSP(slot)); } #endif /* ESP_KSTATS */ (void) esp_ustart(esp, slot, SAME_CMD); @@ -4797,7 +4797,7 @@ step_done: */ if (esp_do_kstats && esp->e_slot_stats[slot]) { - kstat_runq_back_to_waitq(IOSP(slot)); + kstat_runq_back_to_waitq(IOSP(slot)); } #endif /* ESP_KSTATS */ New_state(esp, STATE_FREE); @@ -4861,8 +4861,8 @@ step_done: esp->e_readyb[slot] = sp; } if ((esp->e_target_scsi_options[target] & - SCSI_OPTIONS_PARITY) && - (sp->cmd_pkt.pkt_flags & FLAG_NOPARITY)) { + SCSI_OPTIONS_PARITY) && + (sp->cmd_pkt.pkt_flags & FLAG_NOPARITY)) { ep->esp_conf = esp->e_espconf; } TRACE_0(TR_FAC_SCSI, TR_ESP_FINISH_SELECT_ACTION2_END, @@ -5078,7 +5078,7 @@ esp_reconnect(struct esp *esp) */ if (TAGGED(target) && esp->e_tcmds[slot]) { volatile uchar_t *c = - (uchar_t *)esp->e_cmdarea; + (uchar_t *)esp->e_cmdarea; /* * accept the identify msg @@ -5140,7 +5140,7 @@ esp_reconnect(struct esp *esp) case ACTS_RESEL: { volatile uchar_t *c = - (uchar_t *)esp->e_cmdarea; + (uchar_t *)esp->e_cmdarea; struct t_slots *tag_slots; int id, tag; uint_t i; @@ -5432,7 +5432,7 @@ esp_handle_unknown(struct esp *esp) * reliable on FAS236 */ volatile uchar_t *c = - (uchar_t *)esp->e_cmdarea; + (uchar_t *)esp->e_cmdarea; *c++ = INVALID_MSG; *c = INVALID_MSG; @@ -5493,8 +5493,8 @@ esp_handle_unknown(struct esp *esp) msgout = esp->e_cur_msgout[2]; } EPRINTF4("msgout: %x %x %x, last_msgout=%x\n", - esp->e_cur_msgout[0], esp->e_cur_msgout[1], - esp->e_cur_msgout[2], esp->e_last_msgout); + esp->e_cur_msgout[0], esp->e_cur_msgout[1], + esp->e_cur_msgout[2], esp->e_last_msgout); if (msgout == MSG_ABORT || msgout == MSG_ABORT_TAG || msgout == MSG_DEVICE_RESET) { @@ -5634,8 +5634,8 @@ esp_handle_clearing(struct esp *esp) sp->cmd_pkt.pkt_reason = CMD_TRAN_ERR; #ifdef ESPDEBUG IPRINTF4("msgout: %x %x %x, last_msgout=%x\n", - esp->e_cur_msgout[0], esp->e_cur_msgout[1], - esp->e_cur_msgout[2], esp->e_last_msgout); + esp->e_cur_msgout[0], esp->e_cur_msgout[1], + esp->e_cur_msgout[2], esp->e_last_msgout); IPRINTF1("last msgin=%x\n", esp->e_last_msgin); esp_dump_state(esp); #endif @@ -5696,7 +5696,7 @@ bad: */ ASSERT(sp->cmd_cur_addr >= sp->cmd_dmacookie.dmac_address); end = (uint64_t)sp->cmd_dmacookie.dmac_address + - (uint64_t)sp->cmd_dmacookie.dmac_size; + (uint64_t)sp->cmd_dmacookie.dmac_size; EPRINTF5("cmd_data_count=%x, dmacount=%x, cur_addr=%x, end=%" PRIx64 ", nwin=%x\n", @@ -5711,7 +5711,7 @@ bad: goto bad; } end = (uint64_t)sp->cmd_dmacookie.dmac_address + - (uint64_t)sp->cmd_dmacookie.dmac_size; + (uint64_t)sp->cmd_dmacookie.dmac_size; IPRINTF2("dmac_address=%x, dmac_size=%lx\n", sp->cmd_dmacookie.dmac_address, sp->cmd_dmacookie.dmac_size); @@ -5735,7 +5735,7 @@ bad: " cntr_max %" PRIx64 "\n", sp->cmd_cur_addr, end, esp->e_dma_attr->dma_attr_seg); amt = (end & ~esp->e_dma_attr->dma_attr_seg) - - sp->cmd_cur_addr; + sp->cmd_cur_addr; if (amt == 0 || amt > ESP_MAX_DMACOUNT) { esplog(esp, CE_WARN, "illegal DMA boundary? %x", amt); goto bad; @@ -5743,8 +5743,8 @@ bad: } #endif end = (uint64_t)sp->cmd_dmacookie.dmac_address + - (uint64_t)sp->cmd_dmacookie.dmac_size - - (uint64_t)sp->cmd_cur_addr; + (uint64_t)sp->cmd_dmacookie.dmac_size - + (uint64_t)sp->cmd_cur_addr; EPRINTF3("amt=%x, end=%lx, cur_addr=%x\n", amt, end, sp->cmd_cur_addr); if (amt > end) { @@ -7057,8 +7057,8 @@ esp_handle_msg_out_done(struct esp *esp) msgout = esp->e_cur_msgout[2]; } EPRINTF4("msgout: %x %x %x, last_msgout=%x\n", - esp->e_cur_msgout[0], esp->e_cur_msgout[1], - esp->e_cur_msgout[2], esp->e_last_msgout); + esp->e_cur_msgout[0], esp->e_cur_msgout[1], + esp->e_cur_msgout[2], esp->e_last_msgout); EPRINTF1("esp_handle_msgout_done: msgout=%x\n", msgout); @@ -7096,12 +7096,12 @@ esp_handle_msg_out_done(struct esp *esp) if (msgout == MSG_ABORT || msgout == MSG_ABORT_TAG) { esp->e_abort++; if ((sp->cmd_flags & CFLAG_CMDPROXY) == 0) { - MARK_PKT(sp, CMD_ABORTED, STAT_ABORTED); + MARK_PKT(sp, CMD_ABORTED, STAT_ABORTED); } } else if (msgout == MSG_DEVICE_RESET) { esp->e_reset++; if ((sp->cmd_flags & CFLAG_CMDPROXY) == 0) { - MARK_PKT(sp, CMD_RESET, STAT_DEV_RESET); + MARK_PKT(sp, CMD_RESET, STAT_DEV_RESET); } esp->e_offset[target] = 0; esp->e_sync_known &= ~(1<<target); @@ -7260,7 +7260,7 @@ esp_update_props(struct esp *esp, int tgt) */ tickval = ESP_SYNC_KBPS((regval * - esp->e_clock_cycle) / 1000); + esp->e_clock_cycle) / 1000); } else { tickval = 0; } @@ -7349,7 +7349,7 @@ esp_multibyte_msg(struct esp *esp) if ((esp->e_weak & (1<<tgt)) || (esp->e_target_scsi_options[tgt] & - SCSI_OPTIONS_SYNC) == 0) { + SCSI_OPTIONS_SYNC) == 0) { /* * Only zero out the offset. Don't change * the period. @@ -7462,9 +7462,9 @@ esp_multibyte_msg(struct esp *esp) } EPRINTF4( - "sending period %d (%d), offset %d to tgt %d\n", - period, esp->e_period[tgt] & SYNC_PERIOD_MASK, - esp->e_offset[tgt] & 0xf, tgt); + "sending period %d (%d), offset %d to tgt %d\n", + period, esp->e_period[tgt] & SYNC_PERIOD_MASK, + esp->e_offset[tgt] & 0xf, tgt); EPRINTF1("req/ack delay = %x\n", esp->e_req_ack_delay); EPRINTF1("conf3 = %x\n", esp->e_espconf3[tgt]); @@ -7478,7 +7478,7 @@ esp_multibyte_msg(struct esp *esp) * k-bytes/second. */ xfer_freq = ESP_SYNC_KBPS((regval * - esp->e_clock_cycle) / 1000); + esp->e_clock_cycle) / 1000); xfer_div = xfer_freq / 1000; xfer_mod = xfer_freq % 1000; @@ -7662,8 +7662,8 @@ esp_runpoll(struct esp *esp, short slot, struct esp_cmd *sp) int timeout = 0; IPRINTF4("runpoll: slot=%x, cmd=%x, e_slots=0x%p, tcmds=%x\n", - slot, *((uchar_t *)sp->cmd_pkt.pkt_cdbp), - (void *)esp->e_slots[slot], esp->e_tcmds[slot]); + slot, *((uchar_t *)sp->cmd_pkt.pkt_cdbp), + (void *)esp->e_slots[slot], esp->e_tcmds[slot]); TRACE_0(TR_FAC_SCSI, TR_ESP_RUNPOLL_START, "esp_runpoll_start"); @@ -8026,10 +8026,10 @@ esp_watch(void *arg) if (esp_request_count >= 20000) { cmn_err(CE_CONT, "%d reqs/sec (ticks=%d, intrs=%d, reqs=%d, n_cmds=%d, n_disc=%d)\n", - esp_request_count/esp_sample_time, esp_sample_time, - esp_intr_count, esp_request_count, - (esp_ncmds * esp_scsi_watchdog_tick)/esp_sample_time, - (esp_ndisc * esp_scsi_watchdog_tick)/esp_sample_time); + esp_request_count/esp_sample_time, esp_sample_time, + esp_intr_count, esp_request_count, + (esp_ncmds * esp_scsi_watchdog_tick)/esp_sample_time, + (esp_ndisc * esp_scsi_watchdog_tick)/esp_sample_time); for (i = 0; i < MAX_ESPS; i++) { if (esp_ncmds_per_esp[i] == 0) { @@ -8041,7 +8041,7 @@ esp_watch(void *arg) } esp_request_count = esp_sample_time = esp_intr_count = - esp_ncmds = esp_ndisc = 0; + esp_ncmds = esp_ndisc = 0; } #endif @@ -8109,7 +8109,7 @@ esp_watch(void *arg) again: mutex_enter(&esp_global_mutex); if (esp_timeout_initted && esp_timeout_id) { - esp_timeout_id = timeout(esp_watch, NULL, esp_tick); + esp_timeout_id = timeout(esp_watch, NULL, esp_tick); } mutex_exit(&esp_global_mutex); TRACE_0(TR_FAC_SCSI, TR_ESP_WATCH_END, "esp_watch_end"); @@ -8154,12 +8154,12 @@ esp_watchsubr(struct esp *esp) tag_slots = esp->e_tagQ[slot]; if (tag_slots && tag_slots->e_timebase) { EPRINTF3( - "esp_watchsubr: slot %x: tcmds=%x, timeout=%x\n", - slot, esp->e_tcmds[slot], tag_slots->e_timeout); + "esp_watchsubr: slot %x: tcmds=%x, timeout=%x\n", + slot, esp->e_tcmds[slot], tag_slots->e_timeout); if (esp->e_tcmds[slot] > 0) { tag_slots->e_timeout -= - esp_scsi_watchdog_tick; + esp_scsi_watchdog_tick; if (tag_slots->e_timeout < 0) { if (INTPENDING(esp)) { @@ -8180,14 +8180,14 @@ esp_watchsubr(struct esp *esp) esp_scsi_watchdog_tick) { int i; IPRINTF1("pending timeout on slot=%x\n", - slot); + slot); IPRINTF("draining all tag queues\n"); for (i = 0; i < N_SLOTS; i += d) { if (esp->e_tcmds[i] && (esp->e_reset_delay[slot/ NLUNS_PER_TARGET] == 0)) { esp->e_throttle[i] = - DRAIN_THROTTLE; + DRAIN_THROTTLE; } } } @@ -8281,7 +8281,7 @@ esp_cmd_timeout(struct esp *esp, struct esp_cmd *sp, if ((INTPENDING(esp) == 0) && (esp->e_slots[esp->e_cur_slot])) { IPRINTF2("timeout is not slot %x but %x\n", - slot, esp->e_cur_slot); + slot, esp->e_cur_slot); slot = esp->e_cur_slot; sp = esp->e_slots[slot]; ASSERT(sp); @@ -8323,7 +8323,7 @@ esp_cmd_timeout(struct esp *esp, struct esp_cmd *sp, cp = (uchar_t *)sp->cmd_pkt.pkt_cdbp; esplog(0, CE_WARN, "Cmd dump for Target %d Lun %d:", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); buf[0] = '\0'; for (i = 0; i < (int)sp->cmd_cdblen; i++) { (void) sprintf(&buf[strlen(buf)], " 0x%x", *cp++); @@ -8433,17 +8433,17 @@ esp_sync_backoff(struct esp *esp, struct esp_cmd *sp, if (sp && ((sp->cmd_pkt.pkt_statistics & STAT_PERR) == 0)) { if (state != ACTS_DATA && state != ACTS_DATA_DONE) { IPRINTF2("Target %d.%d hang state not in data phase\n", - tgt, lun); + tgt, lun); return; } else if ( phase != ESP_PHASE_DATA_IN && phase != ESP_PHASE_DATA_OUT) { IPRINTF2("Target %d.%d hang bus not in data phase\n", - tgt, lun); + tgt, lun); return; } else if ( (uchar_t)*(sp->cmd_pkt.pkt_cdbp) == SCMD_REQUEST_SENSE) { IPRINTF2("Target %d.%d ignoring request sense hang\n", - tgt, lun); + tgt, lun); return; } } @@ -8463,7 +8463,7 @@ esp_sync_backoff(struct esp *esp, struct esp_cmd *sp, * Compute sync transfer limits for later compensation. */ IPRINTF3("Target %d.%d back off using %s params\n", tgt, - lun, ((esp->e_options & ESP_OPT_FAS)? "FAS" : "ESP")); + lun, ((esp->e_options & ESP_OPT_FAS)? "FAS" : "ESP")); #endif if (esp->e_backoff[tgt]) { esp->e_period[tgt] = 0; @@ -8632,7 +8632,7 @@ esp_create_arq_pkt(struct esp *esp, struct scsi_address *ap, int create) */ #ifndef __lock_lint rqpkt->pkt_comp = - (void (*)(struct scsi_pkt *))esp_complete_arq_pkt; + (void (*)(struct scsi_pkt *))esp_complete_arq_pkt; #endif } return (rval); @@ -8657,7 +8657,7 @@ esp_complete_arq_pkt(struct esp *esp, struct esp_cmd *sp, int slot) if (sp && ssp) { arqstat = (struct scsi_arq_status *)(ssp->cmd_pkt.pkt_scbp); arqstat->sts_rqpkt_status = *((struct scsi_status *) - (sp->cmd_pkt.pkt_scbp)); + (sp->cmd_pkt.pkt_scbp)); arqstat->sts_rqpkt_reason = sp->cmd_pkt.pkt_reason; arqstat->sts_rqpkt_state = sp->cmd_pkt.pkt_state; arqstat->sts_rqpkt_statistics = sp->cmd_pkt.pkt_statistics; @@ -8697,7 +8697,7 @@ esp_start_arq_pkt(struct esp *esp, struct esp_cmd *sp) EPRINTF1("starting arq for slot 0x%p\n", (void *)sp); bzero(esp->e_rq_sense_data[slot], sizeof (struct scsi_extended_sense)); EPRINTF3("slot=%x, arqsp=0x%p, save_pkt=0x%p\n", slot, (void *)arqsp, - (void *)esp->e_arq_pkt[slot]); + (void *)esp->e_arq_pkt[slot]); if (esp->e_save_pkt[slot] != NULL) { if (sp->cmd_pkt.pkt_reason == CMD_CMPLT) { @@ -8852,7 +8852,7 @@ _esp_abort(struct scsi_address *ap, struct scsi_pkt *pkt) ((sp->cmd_flags & CFLAG_COMPLETED) == 0) && (sp->cmd_flags & CFLAG_CMDDISC)) { rval = esp_abort_disconnected_cmd(esp, ap, sp, - abort_msg, slot); + abort_msg, slot); abort_disconnected++; } esp_check_in_transport(esp, NULL); @@ -8878,7 +8878,7 @@ _esp_abort(struct scsi_address *ap, struct scsi_pkt *pkt) esp_check_in_transport(esp, NULL); if (rval == 0) { rval = esp_abort_disconnected_cmd(esp, ap, - NULL, abort_msg, slot); + NULL, abort_msg, slot); abort_disconnected++; } } @@ -8923,7 +8923,7 @@ _esp_abort(struct scsi_address *ap, struct scsi_pkt *pkt) if (!cur_tagged_flag || (cur_tagged_flag && esp->e_tagQ[slot] && (cur_sp != esp->e_tagQ[slot]-> - t_slot[cur_sp->cmd_tag[1]]))) { + t_slot[cur_sp->cmd_tag[1]]))) { cur_sp->cmd_flags |= CFLAG_COMPLETED; MARK_PKT(cur_sp, CMD_ABORTED, STAT_ABORTED); } @@ -9019,7 +9019,7 @@ esp_remove_readyQ(struct esp *esp, struct esp_cmd *sp, int slot) ASSERT(esp->e_ncmds > 0); IPRINTF3("aborting sp=0x%p %d.%d (not yet started)\n", - (void *)sp, Tgt(sp), Lun(sp)); + (void *)sp, Tgt(sp), Lun(sp)); /* * find packet on the ready queue and remove it @@ -9179,7 +9179,7 @@ esp_decrement_ncmds(struct esp *esp, struct esp_cmd *sp) esp->e_ndisc--; } sp->cmd_flags = (sp->cmd_flags | CFLAG_FINISHED) & - ~CFLAG_CMDDISC; + ~CFLAG_CMDDISC; } ASSERT((esp->e_ncmds >= 0) && (esp->e_ndisc >= 0)); ASSERT(esp->e_ncmds >= esp->e_ndisc); @@ -9240,11 +9240,11 @@ esp_abort_connected_cmd(struct esp *esp, struct esp_cmd *sp, uchar_t msg) */ if (esp->e_abort && (sp->cmd_flags & CFLAG_COMPLETED)) { IPRINTF2("target %d.%d aborted\n", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); rval = TRUE; } else { IPRINTF2("target %d.%d did not abort\n", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); } sp->cmd_pkt.pkt_flags = flags; esp->e_omsglen = 0; @@ -9273,7 +9273,7 @@ esp_abort_disconnected_cmd(struct esp *esp, struct scsi_address *ap, } IPRINTF1("aborting disconnected tagged cmd(s) with %s\n", - scsi_mname(msg)); + scsi_mname(msg)); proxy_cmdp = kmem_alloc(ESP_CMD_SIZE, KM_SLEEP); if (TAGGED(target) && (msg == MSG_ABORT)) { esp_makeproxy_cmd(proxy_cmdp, ap, 1, msg); @@ -9381,7 +9381,7 @@ esp_reset(struct scsi_address *ap, int level) int rval; IPRINTF3("esp_reset: target %d.%d, level %d\n", - ap->a_target, ap->a_lun, level); + ap->a_target, ap->a_lun, level); mutex_enter(ESP_MUTEX); rval = _esp_reset(ap, level); @@ -9403,7 +9403,7 @@ _esp_reset(struct scsi_address *ap, int level) ASSERT(mutex_owned(ESP_MUTEX)); IPRINTF3("esp_reset for slot %x, level=%x, tcmds=%x\n", - slot, level, esp->e_tcmds[slot]); + slot, level, esp->e_tcmds[slot]); if (level == RESET_ALL) { /* @@ -9534,7 +9534,7 @@ _esp_reset(struct scsi_address *ap, int level) */ (void) esp_remove_readyQ(esp, cur_sp, slot); esp_remove_tagged_cmd(esp, cur_sp, slot, - NEW_TIMEOUT); + NEW_TIMEOUT); cur_sp->cmd_flags &= ~CFLAG_COMPLETED; esp_decrement_ncmds(esp, cur_sp); @@ -9771,7 +9771,7 @@ esp_reset_connected_cmd(struct esp *esp, struct scsi_address *ap, int slot) rval = TRUE; } else { IPRINTF2("target %d.%d did not reset\n", - ap->a_target, ap->a_lun); + ap->a_target, ap->a_lun); } sp->cmd_pkt.pkt_flags = flags; esp->e_omsglen = 0; @@ -9916,7 +9916,7 @@ esp_reset_recovery(struct esp *esp) * perform the reset notification callbacks that are registered. */ (void) scsi_hba_reset_notify_callback(&esp->e_mutex, - &esp->e_reset_notify_listf); + &esp->e_reset_notify_listf); return (ACTION_RETURN); } @@ -9931,7 +9931,7 @@ void (*callback)(caddr_t), caddr_t arg) struct esp *esp = ADDR2ESP(ap); return (scsi_hba_reset_notify_setup(ap, flag, callback, arg, - &esp->e_mutex, &esp->e_reset_notify_listf)); + &esp->e_mutex, &esp->e_reset_notify_listf)); } /* @@ -9995,7 +9995,7 @@ esp_test_abort(struct esp *esp, int slot) */ for (tag = NTAGS-1; tag >= 0; tag--) { if ((sp = esp->e_tagQ[slot]->t_slot[tag]) != 0) - break; + break; } if (sp) { pkt = &sp->cmd_pkt; @@ -10019,12 +10019,12 @@ esp_test_abort(struct esp *esp, int slot) if ((esp->e_tcmds[slot] == 0) && (esp->e_slots[slot] == NULL)) { if (_esp_abort(&ap, NULL) && - _esp_reset(&ap, RESET_TARGET)) { + _esp_reset(&ap, RESET_TARGET)) { esp_atest = 0; return; } else { esplog(esp, CE_NOTE, - "abort/reset failed\n"); + "abort/reset failed\n"); } return; } @@ -10075,7 +10075,7 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_DISCONNECT: if ((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_DR) == 0) { + SCSI_OPTIONS_DR) == 0) { break; } else if (tgtonly) { if (val) @@ -10090,22 +10090,23 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_SYNCHRONOUS: if ((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_SYNC) == 0) { + SCSI_OPTIONS_SYNC) == 0) { break; } else if (tgtonly) { if ((esp->e_weak & tshift) && val) { IPRINTF2( - "target %d.%d: can't set sync cap!\n", - ap->a_target, ap->a_lun); + "target %d.%d: " + "can't set sync cap!\n", + ap->a_target, ap->a_lun); rval = FALSE; break; } if (val) { esp->e_force_async &= - ~(1<<ap->a_target); + ~(1<<ap->a_target); } else { esp->e_force_async |= - (1<<ap->a_target); + (1<<ap->a_target); } esp->e_sync_known &= ntshift; } else { @@ -10123,9 +10124,9 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_TAGGED_QING: /* Must have disco/reco enabled for tagged queuing. */ if (((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_DR) == 0) || + SCSI_OPTIONS_DR) == 0) || ((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_TAG) == 0) || + SCSI_OPTIONS_TAG) == 0) || ((esp->e_options & ESP_OPT_FAS) == 0)) { break; } else if (tgtonly) { @@ -10151,13 +10152,14 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, start = target * NLUNS_PER_TARGET; end = start + NLUNS_PER_TARGET; for (slot = start; slot < end; slot++) { - if ((esp->e_tagQ[slot]) && - (esp->e_tcmds[slot] == 0)) { - kmem_free((caddr_t) + if ((esp->e_tagQ[slot]) && + (esp->e_tcmds[slot] == 0)) { + kmem_free((caddr_t) esp->e_tagQ[slot], size); - esp->e_tagQ[slot] = NULL; - } + esp->e_tagQ[slot] = + NULL; + } } } } else { @@ -10186,7 +10188,7 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_QFULL_RETRIES: if (tgtonly) { esp->e_qfull_retries[ap->a_target] = - (uchar_t)val; + (uchar_t)val; } else { int i; for (i = 0; i < NTARGETS; i++) { @@ -10199,12 +10201,12 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_QFULL_RETRY_INTERVAL: if (tgtonly) { esp->e_qfull_retry_interval[ap->a_target] = - drv_usectohz(val * 1000); + drv_usectohz(val * 1000); } else { int i; for (i = 0; i < NTARGETS; i++) { esp->e_qfull_retry_interval[i] = - drv_usectohz(val * 1000); + drv_usectohz(val * 1000); } } rval = TRUE; @@ -10229,21 +10231,21 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, break; case SCSI_CAP_DISCONNECT: if ((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_DR) && + SCSI_OPTIONS_DR) && (tgtonly == 0 || (esp->e_nodisc & tshift) == 0)) { rval = TRUE; } break; case SCSI_CAP_SYNCHRONOUS: if ((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_SYNC) && + SCSI_OPTIONS_SYNC) && (tgtonly == 0 || esp->e_offset[ap->a_target])) { rval = TRUE; } break; case SCSI_CAP_PARITY: if (esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_PARITY) + SCSI_OPTIONS_PARITY) rval = TRUE; break; case SCSI_CAP_INITIATOR_ID: @@ -10252,9 +10254,9 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_TAGGED_QING: /* Must have disco/reco enabled for tagged queuing. */ if (((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_DR) == 0) || + SCSI_OPTIONS_DR) == 0) || ((esp->e_target_scsi_options[ap->a_target] & - SCSI_OPTIONS_TAG) == 0) || + SCSI_OPTIONS_TAG) == 0) || ((esp->e_options & ESP_OPT_FAS) == 0)) { break; @@ -10286,8 +10288,8 @@ esp_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_QFULL_RETRY_INTERVAL: rval = drv_hztousec( - esp->e_qfull_retry_interval[ap->a_target]) / - 1000; + esp->e_qfull_retry_interval[ap->a_target]) / + 1000; break; default: rval = UNDEFINED; @@ -10300,8 +10302,9 @@ exit: if (doset) { IPRINTF6( - "esp_commoncap:tgt=%x,cap=%s,tgtonly=%x,doset=%x,val=%x,rval=%x\n", - ap->a_target, cap, tgtonly, doset, val, rval); + "esp_commoncap:tgt=%x,cap=%s,tgtonly=%x,doset=%x," + "val=%x,rval=%x\n", + ap->a_target, cap, tgtonly, doset, val, rval); } return (rval); @@ -10490,19 +10493,19 @@ esp_dump_state(struct esp *esp) break; (void) sprintf(&buf[0], "\tcurrent phase 0x%x=%s", - y, esp_state_name((ushort_t)y)); + y, esp_state_name((ushort_t)y)); (void) sprintf(&buf[strlen(buf)], "\tstat=0x%x", - esp->e_phase[z].e_save_stat); + esp->e_phase[z].e_save_stat); if (esp->e_phase[z].e_val1 != -1) { (void) sprintf(&buf[strlen(buf)], "\t0x%x", - esp->e_phase[z].e_val1); + esp->e_phase[z].e_val1); } if (esp->e_phase[z].e_val2 != -1) { (void) sprintf(&buf[strlen(buf)], "\t0x%x", - esp->e_phase[z].e_val2); + esp->e_phase[z].e_val2); } eprintf((struct esp *)0, "%s\n", buf); } @@ -10546,7 +10549,7 @@ esp_state_name(ushort_t state) if (state == STATE_FREE) { return ("FREE"); } else if ((state & STATE_SELECTING) && - (!(state & ACTS_LOG))) { + (!(state & ACTS_LOG))) { if (state == STATE_SELECT_NORMAL) return ("SELECT"); else if (state == STATE_SELECT_N_STOP) diff --git a/usr/src/uts/sun/io/scsi/adapters/fas.c b/usr/src/uts/sun/io/scsi/adapters/fas.c index 75f0ad8a10..06816a06ed 100644 --- a/usr/src/uts/sun/io/scsi/adapters/fas.c +++ b/usr/src/uts/sun/io/scsi/adapters/fas.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * ISSUES @@ -379,14 +378,15 @@ static struct dev_ops fas_ops = { nodev, /* reset */ NULL, /* driver operations */ NULL, /* bus operations */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; char _depends_on[] = "misc/scsi"; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "FAS SCSI HBA Driver v%I%", /* Name of the module. */ + "FAS SCSI HBA Driver", /* Name of the module. */ &fas_ops, /* driver ops */ }; @@ -494,15 +494,15 @@ fas_scsi_tgt_probe(struct scsi_device *sd, if (options != -1) { fas->f_target_scsi_options[tgt] = options; fas_log(fas, CE_NOTE, - "?target%x-scsi-options = 0x%x\n", tgt, - fas->f_target_scsi_options[tgt]); + "?target%x-scsi-options = 0x%x\n", tgt, + fas->f_target_scsi_options[tgt]); fas_force_renegotiation(fas, tgt); } } mutex_exit(FAS_MUTEX(fas)); IPRINTF2("target%x-scsi-options= 0x%x\n", - tgt, fas->f_target_scsi_options[tgt]); + tgt, fas->f_target_scsi_options[tgt]); return (rval); } @@ -515,7 +515,7 @@ fas_scsi_tgt_init(dev_info_t *hba_dip, dev_info_t *tgt_dip, { return (((sd->sd_address.a_target < NTARGETS_WIDE) && (sd->sd_address.a_lun < NLUNS_PER_TARGET)) ? - DDI_SUCCESS : DDI_FAILURE); + DDI_SUCCESS : DDI_FAILURE); } /*ARGSUSED*/ @@ -663,7 +663,7 @@ fas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) (uint_t)2*FIFOSIZE, &dev_attr, DDI_DMA_CONSISTENT, DDI_DMA_SLEEP, NULL, (caddr_t *)&fas->f_cmdarea, &rlen, - &fas->f_cmdarea_acc_handle) != DDI_SUCCESS) { + &fas->f_cmdarea_acc_handle) != DDI_SUCCESS) { cmn_err(CE_WARN, "fas%d: cannot alloc cmd area", instance); goto fail; @@ -761,7 +761,7 @@ fas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < NTARGETS_WIDE; i++) { fas->f_qfull_retries[i] = QFULL_RETRIES; fas->f_qfull_retry_interval[i] = - drv_usectohz(QFULL_RETRY_INTERVAL * 1000); + drv_usectohz(QFULL_RETRY_INTERVAL * 1000); } @@ -864,7 +864,7 @@ fas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < NTARGETS_WIDE; i++) { (void) sprintf(prop_str, prop_template, i); fas->f_target_scsi_options[i] = ddi_prop_get_int( - DDI_DEV_T_ANY, dip, 0, prop_str, -1); + DDI_DEV_T_ANY, dip, 0, prop_str, -1); if (fas->f_target_scsi_options[i] != -1) { fas_log(fas, CE_NOTE, "?target%x-scsi-options=0x%x\n", @@ -884,14 +884,14 @@ fas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) fas->f_scsi_tag_age_limit = ddi_prop_get_int(DDI_DEV_T_ANY, dip, 0, "scsi-tag-age-limit", - DEFAULT_TAG_AGE_LIMIT); + DEFAULT_TAG_AGE_LIMIT); fas->f_scsi_reset_delay = ddi_prop_get_int(DDI_DEV_T_ANY, dip, 0, "scsi-reset-delay", SCSI_DEFAULT_RESET_DELAY); if (fas->f_scsi_reset_delay == 0) { fas_log(fas, CE_NOTE, - "scsi_reset_delay of 0 is not recommended," - " resetting to SCSI_DEFAULT_RESET_DELAY\n"); + "scsi_reset_delay of 0 is not recommended," + " resetting to SCSI_DEFAULT_RESET_DELAY\n"); fas->f_scsi_reset_delay = SCSI_DEFAULT_RESET_DELAY; } @@ -928,7 +928,7 @@ fas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ (void) sprintf(buf, "fas%d", instance); fas->f_intr_kstat = kstat_create("fas", instance, buf, "controller", \ - KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); + KSTAT_TYPE_INTR, 1, KSTAT_FLAG_PERSISTENT); if (fas->f_intr_kstat) kstat_install(fas->f_intr_kstat); @@ -959,9 +959,9 @@ fas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ (void) sprintf(buf, "fas%d_cache", instance); fas->f_kmem_cache = kmem_cache_create(buf, - EXTCMD_SIZE, 8, - fas_kmem_cache_constructor, fas_kmem_cache_destructor, - NULL, (void *)fas, NULL, 0); + EXTCMD_SIZE, 8, + fas_kmem_cache_constructor, fas_kmem_cache_destructor, + NULL, (void *)fas, NULL, 0); if (fas->f_kmem_cache == NULL) { cmn_err(CE_WARN, "fas: cannot create kmem_cache"); goto fail; @@ -990,7 +990,7 @@ fas_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) mutex_enter(&fas_global_mutex); if (fas_scsi_watchdog_tick == 0) { fas_scsi_watchdog_tick = ddi_prop_get_int(DDI_DEV_T_ANY, - dip, 0, "scsi-watchdog-tick", DEFAULT_WD_TICK); + dip, 0, "scsi-watchdog-tick", DEFAULT_WD_TICK); if (fas_scsi_watchdog_tick != DEFAULT_WD_TICK) { fas_log(fas, CE_NOTE, "?scsi-watchdog-tick=%d\n", fas_scsi_watchdog_tick); @@ -1202,7 +1202,7 @@ fas_dr_detach(dev_info_t *dip) */ if (f == (struct fas *)NULL) { cmn_err(CE_WARN, "fas_dr_detach: fas instance not" - " in softc list!"); + " in softc list!"); rw_exit(&fas_global_rwlock); return (DDI_FAILURE); } @@ -1361,7 +1361,7 @@ fas_quiesce_bus(struct fas *fas) mutex_enter(FAS_MUTEX(fas)); IPRINTF("fas_quiesce: QUIESCEing\n"); IPRINTF3("fas_quiesce: ncmds (%d) ndisc (%d) state (%d)\n", - fas->f_ncmds, fas->f_ndisc, fas->f_softstate); + fas->f_ncmds, fas->f_ndisc, fas->f_softstate); fas_set_throttles(fas, 0, N_SLOTS, HOLD_THROTTLE); if (fas_check_outstanding(fas)) { fas->f_softstate |= FAS_SS_DRAINING; @@ -1422,7 +1422,7 @@ fas_ncmds_checkdrain(void *arg) mutex_enter(FAS_MUTEX(fas)); IPRINTF3("fas_checkdrain: ncmds (%d) ndisc (%d) state (%d)\n", - fas->f_ncmds, fas->f_ndisc, fas->f_softstate); + fas->f_ncmds, fas->f_ndisc, fas->f_softstate); if (fas->f_softstate & FAS_SS_DRAINING) { fas->f_quiesce_timeid = 0; if (fas_check_outstanding(fas) == 0) { @@ -1621,7 +1621,7 @@ FAS_FLUSH_DMA(struct fas *fas) { fas_dma_reg_write(fas, &fas->f_dma->dma_csr, DMA_RESET); fas->f_dma_csr |= (DMA_INTEN|DMA_TWO_CYCLE|DMA_DSBL_PARITY| - DMA_DSBL_DRAIN); + DMA_DSBL_DRAIN); fas->f_dma_csr &= ~(DMA_ENDVMA | DMA_WRITE); fas_dma_reg_write(fas, &fas->f_dma->dma_csr, 0); fas_dma_reg_write(fas, &fas->f_dma->dma_csr, fas->f_dma_csr); @@ -1636,7 +1636,7 @@ FAS_FLUSH_DMA_HARD(struct fas *fas) { fas_dma_reg_write(fas, &fas->f_dma->dma_csr, DMA_RESET); fas->f_dma_csr |= (DMA_INTEN|DMA_TWO_CYCLE|DMA_DSBL_PARITY| - DMA_DSBL_DRAIN); + DMA_DSBL_DRAIN); fas->f_dma_csr &= ~(DMA_ENDVMA | DMA_WRITE); while (fas_dma_reg_read(fas, &fas->f_dma->dma_csr) & DMA_REQPEND) ; @@ -1685,21 +1685,21 @@ fas_read_fifo(struct fas *fas) fas->f_fifolen = 0; while (i-- > 0) { fas->f_fifo[fas->f_fifolen++] = fas_reg_read(fas, - &fasreg->fas_fifo_data); + &fasreg->fas_fifo_data); fas->f_fifo[fas->f_fifolen++] = fas_reg_read(fas, - &fasreg->fas_fifo_data); + &fasreg->fas_fifo_data); } if (fas->f_stat2 & FAS_STAT2_ISHUTTLE) { /* write pad byte */ fas_reg_write(fas, &fasreg->fas_fifo_data, 0); fas->f_fifo[fas->f_fifolen++] = fas_reg_read(fas, - &fasreg->fas_fifo_data); + &fasreg->fas_fifo_data); /* flush pad byte */ fas_reg_cmd_write(fas, CMD_FLUSH); } EPRINTF2("fas_read_fifo: fifo len=%x, stat2=%x\n", - fas->f_fifolen, stat); + fas->f_fifolen, stat); } /* fas_read_fifo */ static void @@ -1735,7 +1735,7 @@ fas_init_chip(struct fas *fas, uchar_t initiator_id) * Determine clock frequency of attached FAS chip. */ i = ddi_prop_get_int(DDI_DEV_T_ANY, - fas->f_dev, DDI_PROP_DONTPASS, prop_cfreq, -1); + fas->f_dev, DDI_PROP_DONTPASS, prop_cfreq, -1); clock_conv = (i + FIVE_MEG - 1) / FIVE_MEG; if (clock_conv != CLOCK_40MHZ) { fas_log(fas, CE_WARN, "Bad clock frequency"); @@ -1748,8 +1748,8 @@ fas_init_chip(struct fas *fas, uchar_t initiator_id) fas->f_stval = FAS_CLOCK_TIMEOUT(ticks, fas_selection_timeout); DPRINTF5("%d mhz, clock_conv %d, clock_cycle %d, ticks %d, stval %d\n", - i, fas->f_clock_conv, fas->f_clock_cycle, - ticks, fas->f_stval); + i, fas->f_clock_conv, fas->f_clock_cycle, + ticks, fas->f_stval); /* * set up conf registers */ @@ -1780,7 +1780,7 @@ fas_init_chip(struct fas *fas, uchar_t initiator_id) for (i = 0; i < NTARGETS_WIDE; i++) { if (fas->f_target_scsi_options[i] & SCSI_OPTIONS_SYNC) { fas->f_offset[i] = fas_default_offset | - fas->f_req_ack_delay; + fas->f_req_ack_delay; } else { fas->f_offset[i] = 0; } @@ -1852,7 +1852,7 @@ fas_internal_reset(struct fas *fas, int reset_action) * Only load registers which are not loaded in fas_startcmd() */ fas_reg_write(fas, &fasreg->fas_clock_conv, - (fas->f_clock_conv & CLOCK_MASK)); + (fas->f_clock_conv & CLOCK_MASK)); fas_reg_write(fas, &fasreg->fas_timeout, fas->f_stval); @@ -1860,7 +1860,7 @@ fas_internal_reset(struct fas *fas, int reset_action) * enable default configurations */ fas->f_idcode = idcode = - fas_reg_read(fas, &fasreg->fas_id_code); + fas_reg_read(fas, &fasreg->fas_id_code); fcode = (uchar_t)(idcode & FAS_FCODE_MASK) >> (uchar_t)3; fas->f_type = FAS366; IPRINTF2("Family code %d, revision %d\n", @@ -1892,7 +1892,7 @@ fas_internal_reset(struct fas *fas, int reset_action) fas->f_current_sp = NULL; fas->f_fifolen = 0; fas->f_fasconf3_reg_last = fas->f_offset_reg_last = - fas->f_period_reg_last = 0xff; + fas->f_period_reg_last = 0xff; New_state(fas, STATE_FREE); } @@ -1932,7 +1932,7 @@ fas_check_ncmds(struct fas *fas) if (total != fas->f_ncmds) { IPRINTF2("fas_check_ncmds: total=%x, ncmds=%x\n", - total, fas->f_ncmds); + total, fas->f_ncmds); } ASSERT(fas->f_ncmds >= fas->f_ndisc); } @@ -1973,7 +1973,7 @@ fas_scsi_reset(struct scsi_address *ap, int level) int rval; IPRINTF3("fas_scsi_reset: target %d.%d, level %d\n", - ap->a_target, ap->a_lun, level); + ap->a_target, ap->a_lun, level); mutex_enter(FAS_MUTEX(fas)); rval = fas_do_scsi_reset(ap, level); @@ -1991,7 +1991,7 @@ fas_scsi_reset_notify(struct scsi_address *ap, int flag, struct fas *fas = ADDR2FAS(ap); return (scsi_hba_reset_notify_setup(ap, flag, callback, arg, - &fas->f_mutex, &fas->f_reset_notify_listf)); + &fas->f_mutex, &fas->f_reset_notify_listf)); } /* @@ -2003,7 +2003,7 @@ fas_scsi_getcap(struct scsi_address *ap, char *cap, int whom) { struct fas *fas = ADDR2FAS(ap); DPRINTF3("fas_scsi_getcap: tgt=%x, cap=%s, whom=%x\n", - ap->a_target, cap, whom); + ap->a_target, cap, whom); return (fas_commoncap(ap, cap, 0, whom, 0)); } @@ -2013,7 +2013,7 @@ fas_scsi_setcap(struct scsi_address *ap, char *cap, int value, int whom) { struct fas *fas = ADDR2FAS(ap); IPRINTF4("fas_scsi_setcap: tgt=%x, cap=%s, value=%x, whom=%x\n", - ap->a_target, cap, value, whom); + ap->a_target, cap, value, whom); return (fas_commoncap(ap, cap, value, whom, 1)); } @@ -2113,7 +2113,7 @@ fas_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, cmd->cmd_scblen = statuslen; cmd->cmd_privlen = tgtlen; cmd->cmd_slot = - (Tgt(cmd) * NLUNS_PER_TARGET) | Lun(cmd); + (Tgt(cmd) * NLUNS_PER_TARGET) | Lun(cmd); failure = 0; } if (failure || (cmdlen > sizeof (cmd->cmd_cdb)) || @@ -2132,8 +2132,8 @@ fas_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, * nothing to deallocate so just return */ TRACE_0(TR_FAC_SCSI_FAS, - TR_FAS_SCSI_IMPL_PKTALLOC_END, - "fas_scsi_impl_pktalloc_end"); + TR_FAS_SCSI_IMPL_PKTALLOC_END, + "fas_scsi_impl_pktalloc_end"); return (NULL); } } @@ -2141,7 +2141,7 @@ fas_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, new_cmd = cmd; TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_SCSI_IMPL_PKTALLOC_END, - "fas_scsi_impl_pktalloc_end"); + "fas_scsi_impl_pktalloc_end"); } else { cmd = PKT2CMD(pkt); new_cmd = NULL; @@ -2152,7 +2152,7 @@ fas_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, * bind the buf to the handle */ if (bp && bp->b_bcount != 0 && - (cmd->cmd_flags & CFLAG_DMAVALID) == 0) { + (cmd->cmd_flags & CFLAG_DMAVALID) == 0) { int cmd_flags, dma_flags; uint_t dmacookie_count; @@ -2179,8 +2179,8 @@ fas_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, */ ASSERT(cmd->cmd_dmahandle != NULL); rval = ddi_dma_buf_bind_handle(cmd->cmd_dmahandle, bp, - dma_flags, callback, arg, &cmd->cmd_dmacookie, - &dmacookie_count); + dma_flags, callback, arg, &cmd->cmd_dmacookie, + &dmacookie_count); if (rval && rval != DDI_DMA_PARTIAL_MAP) { switch (rval) { @@ -2201,7 +2201,7 @@ fas_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, fas_scsi_destroy_pkt(ap, pkt); } TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_SCSI_IMPL_DMAGET_END, - "fas_scsi_impl_dmaget_end"); + "fas_scsi_impl_dmaget_end"); return ((struct scsi_pkt *)NULL); } ASSERT(dmacookie_count == 1); @@ -2340,7 +2340,7 @@ fas_kmem_cache_constructor(void *buf, void *cdrarg, int kmflags) struct fas_cmd *cmd = buf; struct fas *fas = cdrarg; int (*callback)(caddr_t) = (kmflags == KM_SLEEP) ? DDI_DMA_SLEEP: - DDI_DMA_DONTWAIT; + DDI_DMA_DONTWAIT; bzero(buf, EXTCMD_SIZE); @@ -2481,7 +2481,7 @@ fas_scsi_start(struct scsi_address *ap, struct scsi_pkt *pkt) done: TRACE_1(TR_FAC_SCSI_FAS, TR_FAS_START_END, - "fas_scsi_start_end: fas 0x%p", fas); + "fas_scsi_start_end: fas 0x%p", fas); return (rval); queue_in_waitQ: @@ -2513,7 +2513,7 @@ queue_in_waitQ: mutex_exit(&fas->f_waitQ_mutex); TRACE_1(TR_FAC_SCSI_FAS, TR_FAS_START_END, - "fas_scsi_start_end: fas 0x%p", fas); + "fas_scsi_start_end: fas 0x%p", fas); return (rval); } @@ -2575,7 +2575,7 @@ fas_prepare_pkt(struct fas *fas, struct fas_cmd *sp) * (only for data going out) */ if ((sp->cmd_flags & (CFLAG_CMDIOPB | CFLAG_DMASEND)) == - (CFLAG_CMDIOPB | CFLAG_DMASEND)) { + (CFLAG_CMDIOPB | CFLAG_DMASEND)) { (void) ddi_dma_sync(sp->cmd_dmahandle, 0, (uint_t)0, DDI_DMA_SYNC_FORDEV); } @@ -2633,7 +2633,7 @@ fas_prepare_pkt(struct fas *fas, struct fas_cmd *sp) } sp->cmd_flags = (sp->cmd_flags & ~CFLAG_TRANFLAG) | - CFLAG_PREPARED | CFLAG_IN_TRANSPORT; + CFLAG_PREPARED | CFLAG_IN_TRANSPORT; TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_PREPARE_PKT_TRAN_ACCEPT_END, "fas_prepare_pkt_end (tran_accept)"); @@ -2866,20 +2866,20 @@ fas_accept_pkt(struct fas *fas, struct fas_cmd *sp, int flag) * exceeded */ } else if (TAGGED(Tgt(sp)) && - (fas->f_tcmds[slot] >= fas->f_throttle[slot]) && - (fas->f_throttle[slot] > HOLD_THROTTLE) && - (flag == TRAN_BUSY_OK)) { - IPRINTF2( - "transport busy, slot=%x, ncmds=%x\n", - slot, fas->f_ncmds); - rval = TRAN_BUSY; - fas->f_ncmds--; - sp->cmd_flags &= - ~(CFLAG_PREPARED | CFLAG_IN_TRANSPORT); - goto done; - /* - * append to readyQ or start a new readyQ - */ + (fas->f_tcmds[slot] >= fas->f_throttle[slot]) && + (fas->f_throttle[slot] > HOLD_THROTTLE) && + (flag == TRAN_BUSY_OK)) { + IPRINTF2( + "transport busy, slot=%x, ncmds=%x\n", + slot, fas->f_ncmds); + rval = TRAN_BUSY; + fas->f_ncmds--; + sp->cmd_flags &= + ~(CFLAG_PREPARED | CFLAG_IN_TRANSPORT); + goto done; + /* + * append to readyQ or start a new readyQ + */ } else if (fas->f_readyf[slot]) { struct fas_cmd *dp = fas->f_readyb[slot]; ASSERT(dp != 0); @@ -2947,7 +2947,7 @@ alloc_tag: ASSERT(tag < NTAGS); sp->cmd_tag[1] = (uchar_t)tag; sp->cmd_tag[0] = fas_tag_lookup[((sp->cmd_pkt_flags & - FLAG_TAGMASK) >> 12)]; + FLAG_TAGMASK) >> 12)]; EPRINTF1("tag= %d\n", tag); tag_slots->f_slot[tag] = sp; (fas->f_tcmds[slot])++; @@ -3391,7 +3391,7 @@ fas_intr(caddr_t arg) } while (INTPENDING(fas)); if (!kstat_updated && fas->f_intr_kstat && - rval == DDI_INTR_CLAIMED) { + rval == DDI_INTR_CLAIMED) { FAS_KSTAT_INTR(fas); kstat_updated++; } @@ -3444,7 +3444,7 @@ fas_intr_svc(struct fas *fas) fas->f_stat = fas_reg_read(fas, &fasreg->fas_stat); EPRINTF2("fas_intr_svc: state=%x stat=%x\n", fas->f_state, - fas->f_stat); + fas->f_stat); /* * this wasn't our interrupt? @@ -3484,7 +3484,7 @@ fas_intr_svc(struct fas *fas) * redundant PIOs or extra code in this critical path */ fas->f_intr = - intr = fas_reg_read(fas, (uchar_t *)&fasreg->fas_intr); + intr = fas_reg_read(fas, (uchar_t *)&fasreg->fas_intr); /* * read the fifo if there is something there or still in the @@ -3501,7 +3501,7 @@ fas_intr_svc(struct fas *fas) fas->f_stat2 = fas_reg_read(fas, &fasreg->fas_stat2); if (((fas->f_stat2 & FAS_STAT2_EMPTY) == 0) || - (fas->f_stat2 & FAS_STAT2_ISHUTTLE)) { + (fas->f_stat2 & FAS_STAT2_ISHUTTLE)) { fas_read_fifo(fas); } } @@ -3565,8 +3565,8 @@ start_action: while (action != ACTION_RETURN) { ASSERT((action >= 0) && (action <= ACTION_SELECT)); TRACE_3(TR_FAC_SCSI_FAS, TR_FASSVC_ACTION_CALL, - "fas_intr_svc call: fas 0x%p, action %d (%d)", - fas, action, i); + "fas_intr_svc call: fas 0x%p, action %d (%d)", + fas, action, i); i++; action = (*evec[action])(fas); } @@ -3603,14 +3603,14 @@ fas_phasemanage(struct fas *fas) int i = 0; TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_PHASEMANAGE_START, - "fas_phasemanage_start"); + "fas_phasemanage_start"); do { EPRINTF1("fas_phasemanage: %s\n", fas_state_name(fas->f_state & STATE_ITPHASES)); TRACE_2(TR_FAC_SCSI_FAS, TR_FAS_PHASEMANAGE_CALL, - "fas_phasemanage_call: fas 0x%p (%d)", fas, i++); + "fas_phasemanage_call: fas 0x%p (%d)", fas, i++); state = fas->f_state; @@ -3625,7 +3625,7 @@ fas_phasemanage(struct fas *fas) } while (action == ACTION_PHASEMANAGE); TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_PHASEMANAGE_END, - "fas_phasemanage_end"); + "fas_phasemanage_end"); return (action); } @@ -3843,7 +3843,7 @@ fas_finish(struct fas *fas) struct scsi_arq_status *arqstat; status->sts_chk = 1; arqstat = (struct scsi_arq_status *) - (sp->cmd_pkt->pkt_scbp); + (sp->cmd_pkt->pkt_scbp); arqstat->sts_rqpkt_reason = CMD_TRAN_ERR; sp->cmd_pkt->pkt_state |= STATE_ARQ_DONE; fas_arqs_failure = 0; @@ -4147,13 +4147,13 @@ fas_reconnect(struct fas *fas) lun = tmp & (NLUNS_PER_TARGET-1); EPRINTF2("fas_reconnect: target=%x, idmsg=%x\n", - target, tmp); + target, tmp); fas->f_resel_slot = slot = (target * NLUNS_PER_TARGET) | lun; fas_reg_write(fas, (uchar_t *)&fasreg->fas_busid, - (target & 0xf) | FAS_BUSID_ENCODID | - FAS_BUSID_32BIT_COUNTER); + (target & 0xf) | FAS_BUSID_ENCODID | + FAS_BUSID_32BIT_COUNTER); /* * If tag queueing in use, DMA in tag. @@ -4164,7 +4164,7 @@ fas_reconnect(struct fas *fas) if (TAGGED(target) && fas->f_tcmds[slot] && (fas->f_active[slot]->f_slot[0] == NULL)) { volatile uchar_t *c = - (uchar_t *)fas->f_cmdarea; + (uchar_t *)fas->f_cmdarea; /* * If we've been doing tagged queueing and this @@ -4178,7 +4178,7 @@ fas_reconnect(struct fas *fas) *c = INVALID_MSG; FAS_DMA_WRITE_SETUP(fas, 2, - fas->f_dmacookie.dmac_address); + fas->f_dmacookie.dmac_address); /* * For tagged queuing, we should still be in msgin @@ -4219,7 +4219,7 @@ fas_reconnect(struct fas *fas) case ACTS_RESEL: { volatile uchar_t *c = - (uchar_t *)fas->f_cmdarea; + (uchar_t *)fas->f_cmdarea; struct f_slots *tag_slots; int id, tag; uint_t i; @@ -4244,7 +4244,7 @@ fas_reconnect(struct fas *fas) } fas_reg_cmd_write(fas, CMD_TRAN_INFO|CMD_DMA); fas_dma_reg_write(fas, &fas->f_dma->dma_csr, - fas->f_dma_csr); + fas->f_dma_csr); fas_reg_cmd_write(fas, CMD_MSG_ACPT); @@ -4256,13 +4256,14 @@ fas_reconnect(struct fas *fas) */ if (INTPENDING(fas)) { fas->f_stat = fas_reg_read(fas, - (uchar_t *)&fas->f_reg->fas_stat); + (uchar_t *)&fas->f_reg->fas_stat); fas->f_intr = fas_reg_read(fas, - (uchar_t *)&fas->f_reg->fas_intr); + (uchar_t *)&fas->f_reg->fas_intr); if (fas->f_intr & (FAS_INT_RESET | FAS_INT_ILLEGAL)) { - return ( - fas_illegal_cmd_or_bus_reset(fas)); + return ( + fas_illegal_cmd_or_bus_reset + (fas)); } if (fas->f_intr & FAS_INT_FCMP) { break; @@ -4344,7 +4345,7 @@ fas_reconnect(struct fas *fas) } #ifdef FAS_TEST if (sp && !(fas_atest_reconn & (1<<Tgt(sp))) && - fas_test_stop) { + fas_test_stop) { debug_enter("bad reconnect"); } else { fas_atest_reconn = 0; @@ -4414,7 +4415,7 @@ bad: sp->cmd_pkt->pkt_statistics |= STAT_PERR; } fas_log(fas, CE_WARN, "target %x: failed reselection (%s)", - target, bad_reselect); + target, bad_reselect); #ifdef FASDEBUG fas_printstate(fas, "failed reselection"); @@ -4515,8 +4516,8 @@ fas_handle_unknown(struct fas *fas) msgout = fas->f_cur_msgout[2]; } EPRINTF4("msgout: %x %x %x, last_msgout=%x\n", - fas->f_cur_msgout[0], fas->f_cur_msgout[1], - fas->f_cur_msgout[2], fas->f_last_msgout); + fas->f_cur_msgout[0], fas->f_cur_msgout[1], + fas->f_cur_msgout[2], fas->f_last_msgout); if (msgout == MSG_ABORT || msgout == MSG_ABORT_TAG || msgout == MSG_DEVICE_RESET) { @@ -4600,9 +4601,9 @@ fas_handle_clearing(struct fas *fas) volatile struct fasreg *fasreg = fas->f_reg; fas->f_stat = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_stat); + (uchar_t *)&fasreg->fas_stat); fas->f_intr = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_intr); + (uchar_t *)&fasreg->fas_intr); if (fas->f_intr & (FAS_INT_RESET | FAS_INT_ILLEGAL)) { return (fas_illegal_cmd_or_bus_reset(fas)); } @@ -4683,8 +4684,8 @@ fas_handle_clearing(struct fas *fas) #ifdef FASDEBUG IPRINTF4("msgout: %x %x %x, last_msgout=%x\n", - fas->f_cur_msgout[0], fas->f_cur_msgout[1], - fas->f_cur_msgout[2], fas->f_last_msgout); + fas->f_cur_msgout[0], fas->f_cur_msgout[1], + fas->f_cur_msgout[2], fas->f_last_msgout); IPRINTF1("last msgin=%x\n", fas->f_last_msgin); #endif TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_HANDLE_CLEARING_ABORT_END, @@ -4737,7 +4738,7 @@ bad: */ ASSERT(sp->cmd_cur_addr >= sp->cmd_dmacookie.dmac_address); end = (uint64_t)sp->cmd_dmacookie.dmac_address + - (uint64_t)sp->cmd_dmacookie.dmac_size; + (uint64_t)sp->cmd_dmacookie.dmac_size; DPRINTF5( "cmd_data_count=%x, dmacount=%x, curaddr=%x, end=%" @@ -4752,7 +4753,7 @@ bad: goto bad; } end = (uint64_t)sp->cmd_dmacookie.dmac_address + - (uint64_t)sp->cmd_dmacookie.dmac_size; + (uint64_t)sp->cmd_dmacookie.dmac_size; DPRINTF2("dmac_address=%x, dmac_size=%lx\n", sp->cmd_dmacookie.dmac_address, sp->cmd_dmacookie.dmac_size); @@ -4783,8 +4784,8 @@ bad: #endif end = (uint64_t)sp->cmd_dmacookie.dmac_address + - (uint64_t)sp->cmd_dmacookie.dmac_size - - (uint64_t)sp->cmd_cur_addr; + (uint64_t)sp->cmd_dmacookie.dmac_size - + (uint64_t)sp->cmd_cur_addr; if (amt > end) { EPRINTF4("ovflow amt %x s.b. %" PRIx64 " curaddr %x count %x\n", amt, end, sp->cmd_cur_addr, sp->cmd_dmacount); @@ -4942,10 +4943,10 @@ fas_handle_data_done(struct fas *fas) } #ifdef FASDEBUG -{ + { int phase = stat & FAS_PHASE_MASK; fas->f_stat2 = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_stat2); + (uchar_t *)&fasreg->fas_stat2); if (((fas->f_stat & FAS_STAT_XZERO) == 0) && (phase != FAS_PHASE_DATA_IN) && @@ -4955,7 +4956,7 @@ fas_handle_data_done(struct fas *fas) "input shuttle not empty at end of data phase"); fas_set_pkt_reason(fas, sp, CMD_TRAN_ERR, 0); TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_HANDLE_DATA_DONE_RESET_END, - "fas_handle_data_done_end (ACTION_RESET)"); + "fas_handle_data_done_end (ACTION_RESET)"); return (ACTION_RESET); } } @@ -5029,7 +5030,7 @@ fas_handle_c_cmplt(struct fas *fas) if (fas->f_laststate == ACTS_UNKNOWN) { if (INTPENDING(fas)) { fas->f_stat = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_stat); + (uchar_t *)&fasreg->fas_stat); intr = fas_reg_read(fas, (uchar_t *)&fasreg->fas_intr); fas->f_intr = intr; if (fas->f_intr & (FAS_INT_RESET | FAS_INT_ILLEGAL)) { @@ -5118,8 +5119,8 @@ fas_handle_c_cmplt(struct fas *fas) fas->f_omsglen = 1; New_state(fas, ACTS_UNKNOWN); TRACE_0(TR_FAC_SCSI_FAS, - TR_FAS_HANDLE_C_CMPLT_ACTION5_END, - "fas_handle_c_cmplt_end (action5)"); + TR_FAS_HANDLE_C_CMPLT_ACTION5_END, + "fas_handle_c_cmplt_end (action5)"); return (ACTION_RETURN); } @@ -5146,8 +5147,8 @@ fas_handle_c_cmplt(struct fas *fas) fas->f_omsglen = 1; New_state(fas, ACTS_UNKNOWN); TRACE_0(TR_FAC_SCSI_FAS, - TR_FAS_HANDLE_C_CMPLT_ACTION5_END, - "fas_handle_c_cmplt_end (action5)"); + TR_FAS_HANDLE_C_CMPLT_ACTION5_END, + "fas_handle_c_cmplt_end (action5)"); return (fas_handle_unknown(fas)); } @@ -5285,14 +5286,14 @@ fas_handle_msg_in_done(struct fas *fas) if (fas->f_laststate == ACTS_MSG_IN) { if (INTPENDING(fas)) { fas->f_stat = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_stat); + (uchar_t *)&fasreg->fas_stat); fas->f_stat2 = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_stat2); + (uchar_t *)&fasreg->fas_stat2); fas_read_fifo(fas); fas->f_intr = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_intr); + (uchar_t *)&fasreg->fas_intr); if (fas->f_intr & (FAS_INT_RESET | FAS_INT_ILLEGAL)) { return (fas_illegal_cmd_or_bus_reset(fas)); } @@ -5397,7 +5398,7 @@ reloop: * error), drive on. */ msgin = fas_reg_read(fas, - (uchar_t *)&fasreg->fas_fifo_data); + (uchar_t *)&fasreg->fas_fifo_data); New_state(fas, ACTS_MSG_IN_MORE); } else { @@ -5724,9 +5725,9 @@ fas_onebyte_msg(struct fas *fas) if (fas_restore_pointers(fas, sp)) { msgout = -ACTION_ABORT_CURCMD; } else if ((sp->cmd_pkt->pkt_reason & CMD_TRAN_ERR) && - (sp->cmd_pkt->pkt_statistics & STAT_PERR) && - (sp->cmd_cur_win == 0) && - (sp->cmd_data_count == 0)) { + (sp->cmd_pkt->pkt_statistics & STAT_PERR) && + (sp->cmd_cur_win == 0) && + (sp->cmd_data_count == 0)) { sp->cmd_pkt->pkt_reason &= ~CMD_TRAN_ERR; } } @@ -5914,8 +5915,8 @@ fas_handle_msg_out_done(struct fas *fas) msgout = fas->f_cur_msgout[2]; } EPRINTF4("msgout: %x %x %x, last_msgout=%x\n", - fas->f_cur_msgout[0], fas->f_cur_msgout[1], - fas->f_cur_msgout[2], fas->f_last_msgout); + fas->f_cur_msgout[0], fas->f_cur_msgout[1], + fas->f_cur_msgout[2], fas->f_last_msgout); EPRINTF1("fas_handle_msgout_done: msgout=%x\n", msgout); @@ -6178,7 +6179,7 @@ fas_multibyte_msg(struct fas *fas) fas->f_offset[tgt] = offset | fas->f_req_ack_delay; fas_reg_write(fas, (uchar_t *)&fasreg->fas_sync_offset, - fas->f_offset[tgt]); + fas->f_offset[tgt]); /* * if transferring > 5 MB/sec then enable @@ -6194,9 +6195,9 @@ fas_multibyte_msg(struct fas *fas) fas->f_fasconf3[tgt]); DPRINTF4("period %d (%d), offset %d to tgt %d\n", - period, - fas->f_sync_period[tgt] & SYNC_PERIOD_MASK, - fas->f_offset[tgt] & 0xf, tgt); + period, + fas->f_sync_period[tgt] & SYNC_PERIOD_MASK, + fas->f_offset[tgt] & 0xf, tgt); DPRINTF1("req/ack delay = %x\n", fas->f_req_ack_delay); DPRINTF1("conf3 = %x\n", fas->f_fasconf3[tgt]); #ifdef FASDEBUG @@ -6207,9 +6208,9 @@ fas_multibyte_msg(struct fas *fas) * k-bytes/second. */ xfer_freq = FAS_SYNC_KBPS((regval * - fas->f_clock_cycle) / 1000); + fas->f_clock_cycle) / 1000); xfer_rate = ((fas->f_nowide & (1<<tgt))? 1 : 2) * - xfer_freq; + xfer_freq; xfer_div = xfer_rate / 1000; xfer_mod = xfer_rate % 1000; @@ -6447,11 +6448,11 @@ fas_handle_gross_err(struct fas *fas) volatile struct fasreg *fasreg = fas->f_reg; fas_log(fas, CE_WARN, - "gross error in fas status (%x)", fas->f_stat); + "gross error in fas status (%x)", fas->f_stat); IPRINTF5("fas_cmd=%x, stat=%x, intr=%x, step=%x, fifoflag=%x\n", - fasreg->fas_cmd, fas->f_stat, fas->f_intr, fasreg->fas_step, - fasreg->fas_fifo_flag); + fasreg->fas_cmd, fas->f_stat, fas->f_intr, fasreg->fas_step, + fasreg->fas_fifo_flag); fas_set_pkt_reason(fas, fas->f_current_sp, CMD_TRAN_ERR, 0); @@ -6525,7 +6526,7 @@ fas_set_throttles(struct fas *fas, int slot, int n, int what) if (what == MAX_THROTTLE) { int tshift = 1 << (i/NLUNS_PER_TARGET); fas->f_throttle[i] = (short) - ((fas->f_notag & tshift)? 1 : what); + ((fas->f_notag & tshift)? 1 : what); } else { fas->f_throttle[i] = what; } @@ -6558,8 +6559,8 @@ fas_runpoll(struct fas *fas, short slot, struct fas_cmd *sp) int timeout = 0; DPRINTF4("runpoll: slot=%x, cmd=%x, current_sp=0x%p, tcmds=%x\n", - slot, *((uchar_t *)sp->cmd_pkt->pkt_cdbp), - (void *)fas->f_current_sp, fas->f_tcmds[slot]); + slot, *((uchar_t *)sp->cmd_pkt->pkt_cdbp), + (void *)fas->f_current_sp, fas->f_tcmds[slot]); TRACE_0(TR_FAC_SCSI_FAS, TR_FAS_RUNPOLL_START, "fas_runpoll_start"); @@ -6803,7 +6804,7 @@ fas_dopoll(struct fas *fas, int limit) n = -1; } TRACE_1(TR_FAC_SCSI_FAS, TR_FAS_DOPOLL_END, - "fas_dopoll_end: rval %x", n); + "fas_dopoll_end: rval %x", n); return (n); } @@ -6879,7 +6880,7 @@ fas_make_sdtr(struct fas *fas, int msgout_offset, int target) fas->f_omsglen = 5 + msgout_offset; IPRINTF2("fas_make_sdtr: period = %x, offset = %x\n", - period, offset); + period, offset); /* * increment sdtr flag, odd value indicates that we initiated * the negotiation @@ -6989,7 +6990,7 @@ fas_create_arq_pkt(struct fas *fas, struct scsi_address *ap) */ #ifndef __lock_lint rqpktp->cmd_pkt->pkt_comp = - (void (*)(struct scsi_pkt *))fas_complete_arq_pkt; + (void (*)(struct scsi_pkt *))fas_complete_arq_pkt; #endif return (0); } @@ -7033,7 +7034,7 @@ fas_complete_arq_pkt(struct scsi_pkt *pkt) struct fas_cmd *sp = pkt->pkt_ha_private; struct scsi_arq_status *arqstat; struct arq_private_data *arq_data = - (struct arq_private_data *)sp->cmd_pkt->pkt_private; + (struct arq_private_data *)sp->cmd_pkt->pkt_private; struct fas_cmd *ssp = arq_data->arq_save_sp; struct buf *bp = arq_data->arq_save_bp; int slot = sp->cmd_slot; @@ -7045,7 +7046,7 @@ fas_complete_arq_pkt(struct scsi_pkt *pkt) arqstat = (struct scsi_arq_status *)(ssp->cmd_pkt->pkt_scbp); arqstat->sts_rqpkt_status = *((struct scsi_status *) - (sp->cmd_pkt->pkt_scbp)); + (sp->cmd_pkt->pkt_scbp)); arqstat->sts_rqpkt_reason = sp->cmd_pkt->pkt_reason; arqstat->sts_rqpkt_state = sp->cmd_pkt->pkt_state; arqstat->sts_rqpkt_statistics = sp->cmd_pkt->pkt_statistics; @@ -7059,7 +7060,7 @@ fas_complete_arq_pkt(struct scsi_pkt *pkt) * ASC=0x47 is parity error */ if (arqstat->sts_sensedata.es_key == KEY_ABORTED_COMMAND && - arqstat->sts_sensedata.es_add_code == 0x47) { + arqstat->sts_sensedata.es_add_code == 0x47) { fas_sync_wide_backoff(fas, sp, slot); } @@ -7135,7 +7136,7 @@ fas_handle_qfull(struct fas *fas, struct fas_cmd *sp) int slot = sp->cmd_slot; if ((++sp->cmd_qfull_retries > fas->f_qfull_retries[Tgt(sp)]) || - (fas->f_qfull_retries[Tgt(sp)] == 0)) { + (fas->f_qfull_retries[Tgt(sp)] == 0)) { /* * We have exhausted the retries on QFULL, or, * the target driver has indicated that it @@ -7146,7 +7147,7 @@ fas_handle_qfull(struct fas *fas, struct fas_cmd *sp) * as CMD_CMPLT and pkt_scbp as STATUS_QFULL. */ IPRINTF2("%d.%d: status queue full, retries over\n", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); fas_set_all_lun_throttles(fas, slot, DRAIN_THROTTLE); fas_call_pkt_comp(fas, sp); } else { @@ -7155,7 +7156,7 @@ fas_handle_qfull(struct fas *fas, struct fas_cmd *sp) max((fas->f_tcmds[slot] - 2), 0); } IPRINTF3("%d.%d: status queue full, new throttle = %d, " - "retrying\n", Tgt(sp), Lun(sp), fas->f_throttle[slot]); + "retrying\n", Tgt(sp), Lun(sp), fas->f_throttle[slot]); sp->cmd_pkt->pkt_flags |= FLAG_HEAD; sp->cmd_flags &= ~CFLAG_TRANFLAG; (void) fas_accept_pkt(fas, sp, NO_TRAN_BUSY); @@ -7202,7 +7203,7 @@ fas_restart_cmd(void *fas_arg) if (fas->f_reset_delay[i/NLUNS_PER_TARGET] == 0) { if (fas->f_throttle[i] == QFULL_THROTTLE) { fas_set_all_lun_throttles(fas, - i, MAX_THROTTLE); + i, MAX_THROTTLE); } } } @@ -7236,14 +7237,14 @@ fas_watch(void *arg) fas_log(fas, CE_NOTE, "total=%d, cmds=%d fas-rd=%d, fas-wrt=%d, dma-rd=%d, dma-wrt=%d\n", - fas->f_total_cmds, - fas->f_reg_cmds/n, - fas->f_reg_reads/n, fas->f_reg_writes/n, - fas->f_reg_dma_reads/n, fas->f_reg_dma_writes/n); + fas->f_total_cmds, + fas->f_reg_cmds/n, + fas->f_reg_reads/n, fas->f_reg_writes/n, + fas->f_reg_dma_reads/n, fas->f_reg_dma_writes/n); fas->f_reg_reads = fas->f_reg_writes = - fas->f_reg_dma_reads = fas->f_reg_dma_writes = - fas->f_reg_cmds = fas->f_total_cmds = 0; + fas->f_reg_dma_reads = fas->f_reg_dma_writes = + fas->f_reg_cmds = fas->f_total_cmds = 0; } #endif if (fas->f_ncmds) { @@ -7334,7 +7335,7 @@ fas_watchsubr(struct fas *fas) tag_slots = fas->f_active[slot]; DPRINTF3( "fas_watchsubr: slot %x: tcmds=%x, timeout=%x\n", - slot, fas->f_tcmds[slot], tag_slots->f_timeout); + slot, fas->f_tcmds[slot], tag_slots->f_timeout); if ((fas->f_tcmds[slot] > 0) && (tag_slots->f_timebase)) { @@ -7354,10 +7355,10 @@ fas_watchsubr(struct fas *fas) if ((tag_slots->f_timeout) <= fas_scsi_watchdog_tick) { IPRINTF1("pending timeout on slot=%x\n", - slot); + slot); IPRINTF("draining all queues\n"); fas_set_throttles(fas, 0, N_SLOTS, - DRAIN_THROTTLE); + DRAIN_THROTTLE); } } } @@ -7420,7 +7421,7 @@ fas_cmd_timeout(struct fas *fas, int slot) ssp = fas->f_active[slot]->f_slot[tag]; if (ssp && ssp->cmd_pkt->pkt_time) { fas_set_pkt_reason(fas, ssp, CMD_TIMEOUT, - STAT_TIMEOUT | STAT_ABORTED); + STAT_TIMEOUT | STAT_ABORTED); fas_short_dump_cmd(fas, ssp); ncmds++; } @@ -7535,7 +7536,7 @@ fas_sync_wide_backoff(struct fas *fas, struct fas_cmd *sp, tgt); } fas->f_target_scsi_options[tgt] &= - ~(SCSI_OPTIONS_SYNC | SCSI_OPTIONS_FAST); + ~(SCSI_OPTIONS_SYNC | SCSI_OPTIONS_FAST); } else { /* increase period by 100% */ fas->f_neg_period[tgt] *= 2; @@ -7576,7 +7577,7 @@ fas_reset_sync_wide(struct fas *fas) fas->f_nowide |= (1<<tgt); fas->f_fasconf3[tgt] &= ~FAS_CONF3_WIDE; fas_reg_write(fas, &fas->f_reg->fas_conf3, - fas->f_fasconf3[tgt]); + fas->f_fasconf3[tgt]); /* * clear offset just in case it goes to * data phase @@ -7585,7 +7586,7 @@ fas_reset_sync_wide(struct fas *fas) (uchar_t *)&fas->f_reg->fas_sync_offset, 0); } else if (fas->f_sdtr_sent) { volatile struct fasreg *fasreg = - fas->f_reg; + fas->f_reg; IPRINTF("sync neg message rejected or bus free\n"); fas->f_nosync |= (1<<tgt); fas->f_offset[tgt] = 0; @@ -7649,7 +7650,7 @@ fas_abort_curcmd(struct fas *fas) { if (fas->f_current_sp) { return (fas_abort_cmd(fas, fas->f_current_sp, - fas->f_current_sp->cmd_slot)); + fas->f_current_sp->cmd_slot)); } else { return (fas_reset_bus(fas)); } @@ -7792,7 +7793,7 @@ fas_do_scsi_abort(struct scsi_address *ap, struct scsi_pkt *pkt) (sp->cmd_flags & CFLAG_CMDDISC) && ((sp->cmd_flags & CFLAG_COMPLETED) == 0)) { rval = fas_abort_disconnected_cmd(fas, ap, sp, - abort_msg, slot); + abort_msg, slot); } if (rval) { @@ -7812,11 +7813,11 @@ fas_do_scsi_abort(struct scsi_address *ap, struct scsi_pkt *pkt) (cur_sp->cmd_slot == slot) && cur_sp->cmd_pkt->pkt_state) { rval = fas_abort_connected_cmd(fas, cur_sp, - abort_msg); + abort_msg); } if (rval == 0) { rval = fas_abort_disconnected_cmd(fas, ap, - NULL, abort_msg, slot); + NULL, abort_msg, slot); } } @@ -8182,11 +8183,11 @@ fas_abort_connected_cmd(struct fas *fas, struct fas_cmd *sp, uchar_t msg) */ if (fas->f_abort_msg_sent && (sp->cmd_flags & CFLAG_COMPLETED)) { IPRINTF2("target %d.%d aborted\n", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); rval = TRUE; } else { IPRINTF2("target %d.%d did not abort\n", - Tgt(sp), Lun(sp)); + Tgt(sp), Lun(sp)); } sp->cmd_pkt_flags = flags; fas->f_omsglen = 0; @@ -8219,7 +8220,7 @@ fas_abort_disconnected_cmd(struct fas *fas, struct scsi_address *ap, ASSERT(sp->cmd_slot == slot); IPRINTF1("aborting disconnected tagged cmd(s) with %s\n", - scsi_mname(msg)); + scsi_mname(msg)); pkt = kmem_alloc(scsi_pkt_size(), KM_SLEEP); if (sp && (TAGGED(target) && (msg == MSG_ABORT_TAG))) { int tag = sp->cmd_tag[1]; @@ -8248,7 +8249,7 @@ fas_do_scsi_reset(struct scsi_address *ap, int level) ASSERT(mutex_owned(FAS_MUTEX(fas))); IPRINTF3("fas_scsi_reset for slot %x, level=%x, tcmds=%x\n", - slot, level, fas->f_tcmds[slot]); + slot, level, fas->f_tcmds[slot]); fas_move_waitQ_to_readyQ(fas); @@ -8497,8 +8498,8 @@ fas_reset_cleanup(struct fas *fas, int slot) slot, start, end, fas->f_tcmds[slot]); ASSERT(!(fas->f_current_sp && - (fas->f_current_sp->cmd_slot == slot) && - (fas->f_state & STATE_SELECTING))); + (fas->f_current_sp->cmd_slot == slot) && + (fas->f_state & STATE_SELECTING))); /* * if we are not in panic set up a reset delay for this target, @@ -8519,7 +8520,8 @@ fas_reset_cleanup(struct fas *fas, int slot) if (fas->f_arq_pkt[i]) { struct fas_cmd *sp = fas->f_arq_pkt[i]; struct arq_private_data *arq_data = - (struct arq_private_data *)(sp->cmd_pkt->pkt_private); + (struct arq_private_data *) + (sp->cmd_pkt->pkt_private); if (sp->cmd_pkt->pkt_comp) { ASSERT(arq_data->arq_save_sp == NULL); } @@ -8594,7 +8596,7 @@ fas_reset_connected_cmd(struct fas *fas, struct scsi_address *ap) rval = TRUE; } else { IPRINTF2("target %d.%d did not reset\n", - ap->a_target, ap->a_lun); + ap->a_target, ap->a_lun); } sp->cmd_pkt_flags = flags; fas->f_omsglen = 0; @@ -8715,7 +8717,8 @@ fas_reset_recovery(struct fas *fas) if (fas->f_arq_pkt[slot]) { struct fas_cmd *sp = fas->f_arq_pkt[slot]; struct arq_private_data *arq_data = - (struct arq_private_data *)(sp->cmd_pkt->pkt_private); + (struct arq_private_data *) + (sp->cmd_pkt->pkt_private); if (sp->cmd_pkt->pkt_comp) { ASSERT(arq_data->arq_save_sp == NULL); } @@ -8747,7 +8750,7 @@ done: * perform the reset notification callbacks that are registered. */ (void) scsi_hba_reset_notify_callback(&fas->f_mutex, - &fas->f_reset_notify_listf); + &fas->f_reset_notify_listf); /* * if reset delay is still active a search is meaningless @@ -8849,7 +8852,8 @@ fas_test_abort(struct fas *fas, int slot) * find the oldest tag */ for (tag = NTAGS-1; tag >= 0; tag--) { - if ((sp = fas->f_active[slot]->f_slot[tag]) != 0) + if ((sp = fas->f_active[slot]->f_slot[tag]) + != 0) break; } if (sp) { @@ -8889,7 +8893,7 @@ fas_test_abort(struct fas *fas, int slot) } fas_log(fas, CE_NOTE, "aborting pkt=0x%p state=%x\n", - (void *)pkt, (pkt != NULL? pkt->pkt_state : 0)); + (void *)pkt, (pkt != NULL? pkt->pkt_state : 0)); if (fas_do_scsi_abort(&ap, pkt)) { fas_atest = 0; } @@ -9038,7 +9042,7 @@ fas_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_QFULL_RETRY_INTERVAL: fas->f_qfull_retry_interval[target] = - drv_usectohz(val * 1000); + drv_usectohz(val * 1000); rval = TRUE; break; @@ -9061,7 +9065,7 @@ fas_commoncap(struct scsi_address *ap, char *cap, int val, case SCSI_CAP_DISCONNECT: if (tgtonly && (fas->f_target_scsi_options[target] & - SCSI_OPTIONS_DR)) { + SCSI_OPTIONS_DR)) { rval = TRUE; } break; @@ -9104,8 +9108,8 @@ fas_commoncap(struct scsi_address *ap, char *cap, int val, break; case SCSI_CAP_QFULL_RETRY_INTERVAL: rval = drv_hztousec( - fas->f_qfull_retry_interval[target]) / - 1000; + fas->f_qfull_retry_interval[target]) / + 1000; break; default: @@ -9122,7 +9126,7 @@ exit: if (doset) { IPRINTF6( "fas_commoncap:tgt=%x,cap=%s,tgtonly=%x,doset=%x,val=%x,rval=%x\n", - target, cap, tgtonly, doset, val, rval); + target, cap, tgtonly, doset, val, rval); } return (rval); } @@ -9145,7 +9149,7 @@ fas_update_props(struct fas *fas, int tgt) wide_enabled = ((fas->f_nowide & (1<<tgt)) == 0); if (offset && regval) { xfer_speed = - FAS_SYNC_KBPS((regval * fas->f_clock_cycle) / 1000); + FAS_SYNC_KBPS((regval * fas->f_clock_cycle) / 1000); xfer_rate = ((wide_enabled)? 2 : 1) * xfer_speed; } (void) sprintf(property, "target%x-sync-speed", tgt); @@ -9199,8 +9203,8 @@ fas_alloc_active_slots(struct fas *fas, int slot, int flag) size = ((NOTAG(target)) ? FAS_F_SLOT_SIZE : FAS_F_SLOTS_SIZE_TQ); EPRINTF4( "fas_alloc_active_slots: target=%x size=%x, old=0x%p, oldsize=%x\n", - target, size, (void *)old_active, - ((old_active == NULL) ? -1 : old_active->f_size)); + target, size, (void *)old_active, + ((old_active == NULL) ? -1 : old_active->f_size)); new_active = kmem_zalloc(size, flag); if (new_active == NULL) { diff --git a/usr/src/uts/sun/io/scsi/adapters/sf.c b/usr/src/uts/sun/io/scsi/adapters/sf.c index ffdbc78c36..8c3b0eaa7b 100644 --- a/usr/src/uts/sun/io/scsi/adapters/sf.c +++ b/usr/src/uts/sun/io/scsi/adapters/sf.c @@ -22,7 +22,6 @@ * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sf - Solaris Fibre Channel driver @@ -209,18 +208,19 @@ static struct dev_ops sf_ops = { nodev, /* reset */ &sf_cb_ops, /* driver operations */ NULL, /* bus operations */ - NULL /* power management */ + NULL, /* power management */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* to ensure this module gets loaded in memory when we do */ char _depends_on[] = "misc/scsi"; #define SF_NAME "FC-AL FCP Nexus Driver" /* Name of the module. */ -static char sf_version[] = "%I% %E%"; /* version of the module */ +static char sf_version[] = "1.72 08/19/2008"; /* version of the module */ static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - SF_NAME "%I%", + SF_NAME, &sf_ops, /* driver ops */ }; @@ -647,7 +647,7 @@ sf_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) SF_INST2DEVCTL_MINOR(instance), DDI_NT_NEXUS, 0) != DDI_SUCCESS) { cmn_err(CE_WARN, "sf%d: ddi_create_minor_node failed" - " for devctl", instance); + " for devctl", instance); goto fail; } @@ -656,7 +656,7 @@ sf_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) SF_INST2FC_MINOR(instance), DDI_NT_FC_ATTACHMENT_POINT, 0) != DDI_SUCCESS) { cmn_err(CE_WARN, "sf%d: ddi_create_minor_node failed" - " for fc", instance); + " for fc", instance); goto fail; } /* allocate a SCSI transport structure */ @@ -710,20 +710,20 @@ sf_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * allocate an ndi event handle */ sf->sf_event_defs = (ndi_event_definition_t *) - kmem_zalloc(sizeof (sf_event_defs), KM_SLEEP); + kmem_zalloc(sizeof (sf_event_defs), KM_SLEEP); bcopy(sf_event_defs, sf->sf_event_defs, sizeof (sf_event_defs)); (void) ndi_event_alloc_hdl(dip, NULL, - &sf->sf_event_hdl, NDI_SLEEP); + &sf->sf_event_hdl, NDI_SLEEP); sf->sf_events.ndi_events_version = NDI_EVENTS_REV1; sf->sf_events.ndi_n_events = SF_N_NDI_EVENTS; sf->sf_events.ndi_event_defs = sf->sf_event_defs; if (ndi_event_bind_set(sf->sf_event_hdl, - &sf->sf_events, NDI_SLEEP) != NDI_SUCCESS) { + &sf->sf_events, NDI_SLEEP) != NDI_SUCCESS) { goto fail; } @@ -973,18 +973,18 @@ sf_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) mutex_enter(&target->sft_mutex); if (!(target->sft_state & SF_TARGET_OFFLINE)) { target->sft_state |= - (SF_TARGET_BUSY | SF_TARGET_MARK); + (SF_TARGET_BUSY | SF_TARGET_MARK); } /* do this for all LUNs as well */ for (ntarget = target->sft_next_lun; - ntarget; - ntarget = ntarget->sft_next_lun) { + ntarget; + ntarget = ntarget->sft_next_lun) { mutex_enter(&ntarget->sft_mutex); if (!(ntarget->sft_state & - SF_TARGET_OFFLINE)) { + SF_TARGET_OFFLINE)) { ntarget->sft_state |= - (SF_TARGET_BUSY | - SF_TARGET_MARK); + (SF_TARGET_BUSY | + SF_TARGET_MARK); } mutex_exit(&ntarget->sft_mutex); } @@ -1038,14 +1038,14 @@ sf_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) (SF_TARGET_BUSY | SF_TARGET_MARK); } for (ntarget = target->sft_next_lun; - ntarget; - ntarget = ntarget->sft_next_lun) { + ntarget; + ntarget = ntarget->sft_next_lun) { mutex_enter(&ntarget->sft_mutex); if (!(ntarget->sft_state & - SF_TARGET_OFFLINE)) { + SF_TARGET_OFFLINE)) { ntarget->sft_state |= - (SF_TARGET_BUSY | - SF_TARGET_MARK); + (SF_TARGET_BUSY | + SF_TARGET_MARK); } mutex_exit(&ntarget->sft_mutex); } @@ -1152,8 +1152,8 @@ sf_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) } SF_DEBUG(2, (sf, CE_CONT, - "sf_detach: ddi_soft_state_free() for instance 0x%x\n", - instance)); + "sf_detach: ddi_soft_state_free() for instance 0x%x\n", + instance)); ddi_soft_state_free(sf_state, instance); return (DDI_SUCCESS); @@ -1225,7 +1225,7 @@ sf_scsi_bus_config(dev_info_t *parent, uint_t flag, ASSERT(sf); reset_delay = (int64_t)(USEC_TO_TICK(SF_INIT_WAIT_TIMEOUT)) - - (lbolt64 - sf->sf_reset_time); + (lbolt64 - sf->sf_reset_time); if (reset_delay < 0) reset_delay = 0; @@ -1233,7 +1233,7 @@ sf_scsi_bus_config(dev_info_t *parent, uint_t flag, flag |= NDI_DEVI_DEBUG; return (ndi_busop_bus_config(parent, flag, op, - arg, childp, (clock_t)reset_delay)); + arg, childp, (clock_t)reset_delay)); } static int @@ -1461,7 +1461,7 @@ sf_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, sizeof (struct sf_pkt) + sizeof (struct fcal_packet)); cmd->cmd_fp_pkt = (struct fcal_packet *)((char *)cmd + - sizeof (struct sf_pkt)); + sizeof (struct sf_pkt)); cmd->cmd_fp_pkt->fcal_pkt_private = (opaque_t)cmd; cmd->cmd_state = SF_STATE_IDLE; cmd->cmd_pkt->pkt_ha_private = (opaque_t)cmd; @@ -1543,8 +1543,8 @@ sf_scsi_init_pkt(struct scsi_address *ap, struct scsi_pkt *pkt, /* Establish the LUN */ bcopy((caddr_t)&target->sft_lun.b, - (caddr_t)&cmd->cmd_block->fcp_ent_addr, - FCP_LUN_SIZE); + (caddr_t)&cmd->cmd_block->fcp_ent_addr, + FCP_LUN_SIZE); *((int32_t *)&cmd->cmd_block->fcp_cntl) = 0; } cmd->cmd_pkt->pkt_cdbp = cmd->cmd_block->fcp_cdb; @@ -1751,8 +1751,8 @@ sf_scsi_sync_pkt(struct scsi_address *ap, struct scsi_pkt *pkt) if (cmd->cmd_flags & CFLAG_DMAVALID) { if (ddi_dma_sync(cmd->cmd_dmahandle, (off_t)0, (size_t)0, - (cmd->cmd_flags & CFLAG_DMASEND) ? - DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU) != + (cmd->cmd_flags & CFLAG_DMASEND) ? + DDI_DMA_SYNC_FORDEV : DDI_DMA_SYNC_FORCPU) != DDI_SUCCESS) { cmn_err(CE_WARN, "sf: sync pkt failed"); } @@ -1771,7 +1771,7 @@ sf_scsi_reset_notify(struct scsi_address *ap, int flag, struct sf *sf = ADDR2SF(ap); return (scsi_hba_reset_notify_setup(ap, flag, callback, arg, - &sf->sf_mutex, &sf->sf_reset_notify_listf)); + &sf->sf_mutex, &sf->sf_reset_notify_listf)); } @@ -1922,7 +1922,7 @@ sf_add_cr_pool(struct sf *sf) /* set actual total number of entries */ ptr->ntot = min((real_cmd_buf_size / sizeof (struct fcp_cmd)), - (real_rsp_buf_size / FCP_MAX_RSP_IU_SIZE)); + (real_rsp_buf_size / FCP_MAX_RSP_IU_SIZE)); ptr->nfree = ptr->ntot; ptr->free = (struct sf_cr_free_elem *)ptr->cmd_base; ptr->sf = sf; @@ -2246,7 +2246,7 @@ sf_statec_callback(void *arg, int msg) sf_core = 0; } sf_log(sf, CE_WARN, - "!soc lilp map failed status=0x%x\n", ret); + "!soc lilp map failed status=0x%x\n", ret); mutex_enter(&sf->sf_mutex); sf->sf_timer = sf_watchdog_time + SF_OFFLINE_TIMEOUT; sf->sf_lip_cnt++; @@ -2286,7 +2286,7 @@ sf_statec_callback(void *arg, int msg) if (sf->sf_lilp_map->lilp_magic == FCAL_BADLILP_MAGIC) { for (i = 0; i < sizeof (sf_switch_to_alpa); i++) sf->sf_lilp_map->lilp_alpalist[i] = - sf_switch_to_alpa[i]; + sf_switch_to_alpa[i]; cnt = i; sf->sf_device_count = cnt - 1; } @@ -2298,8 +2298,8 @@ sf_statec_callback(void *arg, int msg) mutex_exit(&sf->sf_mutex); SF_DEBUG(2, (sf, CE_WARN, - "!statec_callback: starting with %d targets\n", - sf->sf_device_count)); + "!statec_callback: starting with %d targets\n", + sf->sf_device_count)); /* scan loop map, logging into all ports (except mine) */ for (i = 0; i < cnt; i++) { @@ -2307,7 +2307,7 @@ sf_statec_callback(void *arg, int msg) "!lilp map entry %d = %x,%x\n", i, sf->sf_lilp_map->lilp_alpalist[i], sf_alpa_to_switch[ - sf->sf_lilp_map->lilp_alpalist[i]])); + sf->sf_lilp_map->lilp_alpalist[i]])); /* is this entry for somebody else ? */ if (sf->sf_lilp_map->lilp_alpalist[i] != al_pa) { /* do a PLOGI to this port */ @@ -2371,7 +2371,7 @@ sf_statec_callback(void *arg, int msg) mutex_enter(&target->sft_mutex); if (!(target->sft_state & SF_TARGET_OFFLINE)) target->sft_state |= (SF_TARGET_BUSY - | SF_TARGET_MARK); + | SF_TARGET_MARK); mutex_exit(&target->sft_mutex); target = target->sft_next_lun; } @@ -2419,7 +2419,7 @@ sf_statec_callback(void *arg, int msg) while (target != NULL) { if (!(target->sft_state & SF_TARGET_OFFLINE)) { target->sft_state |= (SF_TARGET_BUSY - | SF_TARGET_MARK); + | SF_TARGET_MARK); mutex_exit(&sf->sf_mutex); /* * run remove event callbacks for lun @@ -2434,9 +2434,9 @@ sf_statec_callback(void *arg, int msg) FCAL_REMOVE_EVENT, &sf_remove_eid, NDI_EVENT_NOPASS); (void) ndi_event_run_callbacks( - sf->sf_event_hdl, - target->sft_dip, - sf_remove_eid, NULL); + sf->sf_event_hdl, + target->sft_dip, + sf_remove_eid, NULL); mutex_enter(&sf->sf_mutex); } target = target->sft_next_lun; @@ -2523,34 +2523,34 @@ sf_statec_callback(void *arg, int msg) mutex_enter(&target->sft_pkt_mutex); cmd = target->sft_pkt_head; while (cmd != (struct sf_pkt *)&target-> - sft_pkt_head) { + sft_pkt_head) { fpkt = cmd->cmd_fp_pkt; mutex_enter(&cmd->cmd_abort_mutex); if ((cmd->cmd_state == - SF_STATE_ISSUED) && - (fpkt->fcal_cmd_state & - FCAL_CMD_IN_TRANSPORT) && - (!(fpkt->fcal_cmd_state & - FCAL_CMD_COMPLETE))) { + SF_STATE_ISSUED) && + (fpkt->fcal_cmd_state & + FCAL_CMD_IN_TRANSPORT) && + (!(fpkt->fcal_cmd_state & + FCAL_CMD_COMPLETE))) { /* a command to be reset */ pkt = cmd->cmd_pkt; pkt->pkt_reason = CMD_RESET; pkt->pkt_statistics |= - STAT_BUS_RESET; + STAT_BUS_RESET; cmd->cmd_state = SF_STATE_IDLE; mutex_exit(&cmd-> - cmd_abort_mutex); + cmd_abort_mutex); mutex_exit(&target-> - sft_pkt_mutex); + sft_pkt_mutex); if (pkt->pkt_comp != NULL) { (*pkt->pkt_comp)(pkt); } mutex_enter(&target-> - sft_pkt_mutex); + sft_pkt_mutex); cmd = target->sft_pkt_head; } else { mutex_exit(&cmd-> - cmd_abort_mutex); + cmd_abort_mutex); /* get next command */ cmd = cmd->cmd_forw; } @@ -2603,7 +2603,7 @@ sf_login(struct sf *sf, uchar_t els_code, uchar_t dest_id, uint_t arg1, sizeof (union sf_els_cmd), sizeof (union sf_els_rsp), (caddr_t *)&privp, (caddr_t *)&logi) == NULL) { sf_log(sf, CE_WARN, "Cannot allocate PLOGI for target %x " - "due to DVMA shortage.\n", sf_alpa_to_switch[dest_id]); + "due to DVMA shortage.\n", sf_alpa_to_switch[dest_id]); return (FALSE); } @@ -2777,9 +2777,9 @@ sf_els_callback(struct fcal_packet *fpkt) /* create the target info */ if ((target = sf_create_target(sf, privp, - sf_alpa_to_switch[(uchar_t)adisc->hard_address], - (int64_t)0)) - == NULL) { + sf_alpa_to_switch[(uchar_t)adisc->hard_address], + (int64_t)0)) + == NULL) { goto fail; /* can't create target */ } @@ -2793,7 +2793,7 @@ sf_els_callback(struct fcal_packet *fpkt) "target 0x%x, AL-PA 0x%x and " "hard address 0x%x don't match\n", sf_alpa_to_switch[ - (uchar_t)privp->dest_nport_id], + (uchar_t)privp->dest_nport_id], privp->dest_nport_id, (uchar_t)adisc->hard_address); mutex_enter(&sf->sf_mutex); @@ -2832,9 +2832,9 @@ sf_els_callback(struct fcal_packet *fpkt) /* keep track of failures */ sf->sf_stats.tstats[tgt_id].els_failures++; if (++(privp->retries) < sf_els_retries && - fpkt->fcal_pkt_status != FCAL_STATUS_OPEN_FAIL) { + fpkt->fcal_pkt_status != FCAL_STATUS_OPEN_FAIL) { if (fpkt->fcal_pkt_status == - FCAL_STATUS_MAX_XCHG_EXCEEDED) { + FCAL_STATUS_MAX_XCHG_EXCEEDED) { tsf = sf->sf_sibling; if (tsf != NULL) { mutex_enter(&tsf->sf_cmd_mutex); @@ -2862,7 +2862,7 @@ sf_els_callback(struct fcal_packet *fpkt) mutex_exit(&sf->sf_mutex); /* device busy? wait a bit ... */ if (fpkt->fcal_pkt_status == - FCAL_STATUS_MAX_XCHG_EXCEEDED) { + FCAL_STATUS_MAX_XCHG_EXCEEDED) { privp->delayed_retry = 1; return; } @@ -2873,11 +2873,11 @@ sf_els_callback(struct fcal_packet *fpkt) mutex_enter(&sf->sf_mutex); if (privp->prev != NULL) { privp->prev->next = - privp->next; + privp->next; } if (privp->next != NULL) { privp->next->prev = - privp->prev; + privp->prev; } if (sf->sf_els_list == privp) { sf->sf_els_list = privp->next; @@ -2963,9 +2963,9 @@ sf_do_prli(struct sf *sf, struct sf_els_hdr *privp, struct la_els_logi *ptr) fprli->write_xfer_rdy_disabled = 0; bcopy((caddr_t)&ptr->nport_ww_name, (caddr_t)&privp->port_wwn, - sizeof (privp->port_wwn)); + sizeof (privp->port_wwn)); bcopy((caddr_t)&ptr->node_ww_name, (caddr_t)&privp->node_wwn, - sizeof (privp->node_wwn)); + sizeof (privp->node_wwn)); privp->timeout = sf_watchdog_time + SF_ELS_TIMEOUT; return (sf_els_transport(sf, privp)); @@ -3030,7 +3030,7 @@ sf_els_alloc(struct sf *sf, uchar_t dest_id, int priv_size, int cmd_size, if ((privp = (struct sf_els_hdr *)kmem_zalloc(priv_size, KM_NOSLEEP)) == NULL) { SF_DEBUG(1, (sf, CE_WARN, - "Could not allocate sf_els_hdr for ELS\n")); + "Could not allocate sf_els_hdr for ELS\n")); goto fail; } @@ -3040,7 +3040,7 @@ sf_els_alloc(struct sf *sf, uchar_t dest_id, int priv_size, int cmd_size, if (ddi_dma_alloc_handle(sf->sf_dip, sf->sf_sochandle->fcal_dmaattr, DDI_DMA_DONTWAIT, NULL, &cmd_dma_handle) != DDI_SUCCESS) { SF_DEBUG(1, (sf, CE_WARN, - "Could not allocate DMA handle for ELS\n")); + "Could not allocate DMA handle for ELS\n")); goto fail; } @@ -3049,13 +3049,13 @@ sf_els_alloc(struct sf *sf, uchar_t dest_id, int priv_size, int cmd_size, DDI_DMA_DONTWAIT, NULL, &cmd, &real_size, &cmd_acc_handle) != DDI_SUCCESS) { SF_DEBUG(1, (sf, CE_WARN, - "Could not allocate DMA memory for ELS\n")); + "Could not allocate DMA memory for ELS\n")); goto fail; } if (real_size < cmd_size) { SF_DEBUG(1, (sf, CE_WARN, - "DMA memory too small for ELS\n")); + "DMA memory too small for ELS\n")); goto fail; } @@ -3063,21 +3063,21 @@ sf_els_alloc(struct sf *sf, uchar_t dest_id, int priv_size, int cmd_size, cmd, real_size, DDI_DMA_WRITE | DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, &pcookie, &ccount) != DDI_DMA_MAPPED) { SF_DEBUG(1, (sf, CE_WARN, - "Could not bind DMA memory for ELS\n")); + "Could not bind DMA memory for ELS\n")); goto fail; } cmd_bound = TRUE; if (ccount != 1) { SF_DEBUG(1, (sf, CE_WARN, - "Wrong cookie count for ELS\n")); + "Wrong cookie count for ELS\n")); goto fail; } if (ddi_dma_alloc_handle(sf->sf_dip, sf->sf_sochandle->fcal_dmaattr, DDI_DMA_DONTWAIT, NULL, &rsp_dma_handle) != DDI_SUCCESS) { SF_DEBUG(1, (sf, CE_WARN, - "Could not allocate DMA handle for ELS rsp\n")); + "Could not allocate DMA handle for ELS rsp\n")); goto fail; } if (ddi_dma_mem_alloc(rsp_dma_handle, rsp_size, @@ -3085,13 +3085,13 @@ sf_els_alloc(struct sf *sf, uchar_t dest_id, int priv_size, int cmd_size, DDI_DMA_DONTWAIT, NULL, &rsp, &real_size, &rsp_acc_handle) != DDI_SUCCESS) { SF_DEBUG(1, (sf, CE_WARN, - "Could not allocate DMA memory for ELS rsp\n")); + "Could not allocate DMA memory for ELS rsp\n")); goto fail; } if (real_size < rsp_size) { SF_DEBUG(1, (sf, CE_WARN, - "DMA memory too small for ELS rsp\n")); + "DMA memory too small for ELS rsp\n")); goto fail; } @@ -3099,14 +3099,14 @@ sf_els_alloc(struct sf *sf, uchar_t dest_id, int priv_size, int cmd_size, rsp, real_size, DDI_DMA_READ | DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, &rcookie, &ccount) != DDI_DMA_MAPPED) { SF_DEBUG(1, (sf, CE_WARN, - "Could not bind DMA memory for ELS rsp\n")); + "Could not bind DMA memory for ELS rsp\n")); goto fail; } rsp_bound = TRUE; if (ccount != 1) { SF_DEBUG(1, (sf, CE_WARN, - "Wrong cookie count for ELS rsp\n")); + "Wrong cookie count for ELS rsp\n")); goto fail; } @@ -3241,20 +3241,20 @@ sf_create_target(struct sf *sf, struct sf_els_hdr *privp, int tnum, int64_t lun) * and enqueue the new LUN. */ if ((ptarget = sf_lookup_target(sf, privp->port_wwn, - (int64_t)0)) == NULL) { + (int64_t)0)) == NULL) { /* * Yeep -- no LUN 0? */ mutex_exit(&sf->sf_mutex); sf_log(sf, CE_WARN, "target 0x%x " - "lun %" PRIx64 ": No LUN 0\n", tnum, lun); + "lun %" PRIx64 ": No LUN 0\n", tnum, lun); if (ntarget != NULL) kmem_free(ntarget, sizeof (struct sf_target)); return (NULL); } mutex_enter(&ptarget->sft_mutex); if (target != NULL && ptarget->sft_lip_cnt == sf->sf_lip_cnt && - ptarget->sft_state&SF_TARGET_OFFLINE) { + ptarget->sft_state&SF_TARGET_OFFLINE) { /* LUN 0 already finished, duplicate its state */ mutex_exit(&ptarget->sft_mutex); sf_offline_target(sf, target); @@ -3272,7 +3272,7 @@ sf_create_target(struct sf *sf, struct sf_els_hdr *privp, int tnum, int64_t lun) target->sft_lip_cnt = privp->lip_cnt; target->sft_state |= SF_TARGET_BUSY; target->sft_state &= ~(SF_TARGET_OFFLINE| - SF_TARGET_MARK); + SF_TARGET_MARK); target->sft_al_pa = (uchar_t)privp->dest_nport_id; target->sft_hard_address = sf_switch_to_alpa[tnum]; mutex_exit(&target->sft_mutex); @@ -3319,7 +3319,7 @@ sf_create_target(struct sf *sf, struct sf_els_hdr *privp, int tnum, int64_t lun) mutex_enter(&ptarget->sft_mutex); /* Traverse the list looking for this target */ for (target = ptarget; target->sft_next_lun; - target = target->sft_next_lun) { + target = target->sft_next_lun) { otarget = target->sft_next_lun; } ntarget->sft_next_lun = target->sft_next_lun; @@ -3364,7 +3364,7 @@ sf_create_target(struct sf *sf, struct sf_els_hdr *privp, int tnum, int64_t lun) sf_offline_target(sf, otarget); mutex_exit(&sf->sf_mutex); sf_log(sf, CE_WARN, "wwn changed on target 0x%x\n", - tnum); + tnum); bzero((caddr_t)&sf->sf_stats.tstats[tnum], sizeof (struct sf_target_stats)); mutex_enter(&sf->sf_mutex); @@ -3534,13 +3534,13 @@ sf_do_reportlun(struct sf *sf, struct sf_els_hdr *privp, ((union scsi_cdb *)reportlun->fcp_cdb)->scc_cmd = SCMD_REPORT_LUNS; /* Now set the buffer size. If DDI gave us extra, that's O.K. */ ((union scsi_cdb *)reportlun->fcp_cdb)->scc5_count0 = - (real_size&0x0ff); + (real_size&0x0ff); ((union scsi_cdb *)reportlun->fcp_cdb)->scc5_count1 = - (real_size>>8)&0x0ff; + (real_size>>8)&0x0ff; ((union scsi_cdb *)reportlun->fcp_cdb)->scc5_count2 = - (real_size>>16)&0x0ff; + (real_size>>16)&0x0ff; ((union scsi_cdb *)reportlun->fcp_cdb)->scc5_count3 = - (real_size>>24)&0x0ff; + (real_size>>24)&0x0ff; reportlun->fcp_cntl.cntl_read_data = 1; reportlun->fcp_cntl.cntl_write_data = 0; reportlun->fcp_data_len = pcookie.dmac_size; @@ -3554,8 +3554,8 @@ sf_do_reportlun(struct sf *sf, struct sf_els_hdr *privp, fail: sf_log(sf, CE_WARN, - "%s failure for REPORTLUN to target 0x%x\n", - msg, sf_alpa_to_switch[privp->dest_nport_id]); + "%s failure for REPORTLUN to target 0x%x\n", + msg, sf_alpa_to_switch[privp->dest_nport_id]); sf_els_free(fpkt); if (lun_dma_handle != NULL) { if (handle_bound) @@ -3579,7 +3579,7 @@ sf_reportlun_callback(struct fcal_packet *fpkt) struct sf_els_hdr *privp = (struct sf_els_hdr *)fpkt-> fcal_pkt_private; struct scsi_report_luns *ptr = - (struct scsi_report_luns *)privp->data_buf; + (struct scsi_report_luns *)privp->data_buf; struct sf *sf = privp->sf; struct sf_target *target = privp->target; struct fcp_rsp *rsp = NULL; @@ -3610,20 +3610,20 @@ sf_reportlun_callback(struct fcal_packet *fpkt) if (fpkt->fcal_pkt_status == FCAL_STATUS_OK) { (void) ddi_dma_sync(privp->rsp_dma_handle, 0, - 0, DDI_DMA_SYNC_FORKERNEL); + 0, DDI_DMA_SYNC_FORKERNEL); rsp = (struct fcp_rsp *)privp->rsp; } SF_DEBUG(1, (sf, CE_CONT, - "!REPORTLUN to al_pa %x pkt status %x scsi status %x\n", - privp->dest_nport_id, - fpkt->fcal_pkt_status, - rsp?rsp->fcp_u.fcp_status.scsi_status:0)); + "!REPORTLUN to al_pa %x pkt status %x scsi status %x\n", + privp->dest_nport_id, + fpkt->fcal_pkt_status, + rsp?rsp->fcp_u.fcp_status.scsi_status:0)); /* See if target simply does not support REPORT_LUNS. */ if (rsp && rsp->fcp_u.fcp_status.scsi_status == STATUS_CHECK && - rsp->fcp_u.fcp_status.sense_len_set && - rsp->fcp_sense_len >= + rsp->fcp_u.fcp_status.sense_len_set && + rsp->fcp_sense_len >= offsetof(struct scsi_extended_sense, es_qual_code)) { struct scsi_extended_sense *sense; sense = (struct scsi_extended_sense *) @@ -3674,24 +3674,24 @@ sf_reportlun_callback(struct fcal_packet *fpkt) struct fcp_rsp_info *bep; bep = (struct fcp_rsp_info *)(&rsp-> - fcp_response_len + 1); + fcp_response_len + 1); if (!rsp->fcp_u.fcp_status.rsp_len_set || - bep->rsp_code == FCP_NO_FAILURE) { + bep->rsp_code == FCP_NO_FAILURE) { (void) ddi_dma_sync(privp->data_dma_handle, - 0, 0, DDI_DMA_SYNC_FORKERNEL); + 0, 0, DDI_DMA_SYNC_FORKERNEL); /* Convert from #bytes to #ints */ ptr->lun_list_len = ptr->lun_list_len >> 3; SF_DEBUG(2, (sf, CE_CONT, - "!REPORTLUN to al_pa %x succeeded: %d LUNs\n", - privp->dest_nport_id, ptr->lun_list_len)); + "!REPORTLUN to al_pa %x succeeded: %d LUNs\n", + privp->dest_nport_id, ptr->lun_list_len)); if (!ptr->lun_list_len) { /* No LUNs? Ya gotta be kidding... */ sf_log(sf, CE_WARN, - "SCSI violation -- " - "target 0x%x reports no LUNs\n", - sf_alpa_to_switch[ - privp->dest_nport_id]); + "SCSI violation -- " + "target 0x%x reports no LUNs\n", + sf_alpa_to_switch[ + privp->dest_nport_id]); ptr->lun_list_len = 1; ptr->lun[0] = 0; } @@ -3703,35 +3703,35 @@ sf_reportlun_callback(struct fcal_packet *fpkt) mutex_exit(&sf->sf_mutex); for (i = 0; i < ptr->lun_list_len && privp->lip_cnt == - sf->sf_lip_cnt; i++) { + sf->sf_lip_cnt; i++) { struct sf_els_hdr *nprivp; struct fcal_packet *nfpkt; /* LUN 0 is already in `target' */ if (ptr->lun[i] != 0) { target = sf_create_target(sf, - privp, tid, ptr->lun[i]); + privp, tid, ptr->lun[i]); } nprivp = NULL; nfpkt = NULL; if (target) { nfpkt = sf_els_alloc(sf, - target->sft_al_pa, - sizeof (struct sf_els_hdr), - sizeof (union sf_els_cmd), - sizeof (union sf_els_rsp), - (caddr_t *)&nprivp, - (caddr_t *)&rsp); + target->sft_al_pa, + sizeof (struct sf_els_hdr), + sizeof (union sf_els_cmd), + sizeof (union sf_els_rsp), + (caddr_t *)&nprivp, + (caddr_t *)&rsp); if (nprivp) nprivp->lip_cnt = - privp->lip_cnt; + privp->lip_cnt; } if (nfpkt && nprivp && - (sf_do_inquiry(sf, nprivp, target) == - 0)) { + (sf_do_inquiry(sf, nprivp, target) == + 0)) { mutex_enter(&sf->sf_mutex); if (sf->sf_lip_cnt == privp-> - lip_cnt) { + lip_cnt) { sf->sf_device_count --; } sf_offline_target(sf, target); @@ -3742,15 +3742,15 @@ sf_reportlun_callback(struct fcal_packet *fpkt) return; } else { SF_DEBUG(1, (sf, CE_CONT, - "!REPORTLUN al_pa %x fcp failure, " - "fcp_rsp_code %x scsi status %x\n", - privp->dest_nport_id, bep->rsp_code, - rsp ? rsp->fcp_u.fcp_status.scsi_status:0)); + "!REPORTLUN al_pa %x fcp failure, " + "fcp_rsp_code %x scsi status %x\n", + privp->dest_nport_id, bep->rsp_code, + rsp ? rsp->fcp_u.fcp_status.scsi_status:0)); goto fail; } } if (rsp && ((rsp->fcp_u.fcp_status.scsi_status == STATUS_BUSY) || - (rsp->fcp_u.fcp_status.scsi_status == STATUS_QFULL))) { + (rsp->fcp_u.fcp_status.scsi_status == STATUS_QFULL))) { delayed_retry = 1; } @@ -3807,12 +3807,13 @@ fail: } mutex_enter(&sf->sf_mutex); if (sf->sf_lip_cnt == privp->lip_cnt) { - sf_log(sf, CE_WARN, "!REPORTLUN to target 0x%x failed\n", - sf_alpa_to_switch[privp->dest_nport_id]); - sf_offline_target(sf, target); - sf->sf_device_count--; - ASSERT(sf->sf_device_count >= 0); - if (sf->sf_device_count == 0) + sf_log(sf, CE_WARN, + "!REPORTLUN to target 0x%x failed\n", + sf_alpa_to_switch[privp->dest_nport_id]); + sf_offline_target(sf, target); + sf->sf_device_count--; + ASSERT(sf->sf_device_count >= 0); + if (sf->sf_device_count == 0) sf_finish_init(sf, privp->lip_cnt); } mutex_exit(&sf->sf_mutex); @@ -3890,7 +3891,7 @@ sf_do_inquiry(struct sf *sf, struct sf_els_hdr *privp, ((union scsi_cdb *)inq->fcp_cdb)->scc_cmd = SCMD_INQUIRY; ((union scsi_cdb *)inq->fcp_cdb)->g0_count0 = SUN_INQSIZE; bcopy((caddr_t)&target->sft_lun.b, (caddr_t)&inq->fcp_ent_addr, - FCP_LUN_SIZE); + FCP_LUN_SIZE); inq->fcp_cntl.cntl_read_data = 1; inq->fcp_cntl.cntl_write_data = 0; inq->fcp_data_len = pcookie.dmac_size; @@ -3900,15 +3901,15 @@ sf_do_inquiry(struct sf *sf, struct sf_els_hdr *privp, DDI_DMA_SYNC_FORDEV); privp->timeout = sf_watchdog_time + SF_FCP_TIMEOUT; SF_DEBUG(5, (sf, CE_WARN, - "!Sending INQUIRY to al_pa %x lun %" PRIx64 "\n", - privp->dest_nport_id, - SCSA_LUN(target))); + "!Sending INQUIRY to al_pa %x lun %" PRIx64 "\n", + privp->dest_nport_id, + SCSA_LUN(target))); return (sf_els_transport(sf, privp)); fail: sf_log(sf, CE_WARN, - "%s failure for INQUIRY to target 0x%x\n", - msg, sf_alpa_to_switch[privp->dest_nport_id]); + "%s failure for INQUIRY to target 0x%x\n", + msg, sf_alpa_to_switch[privp->dest_nport_id]); sf_els_free(fpkt); if (inq_dma_handle != NULL) { if (handle_bound) { @@ -3976,7 +3977,7 @@ sf_inq_callback(struct fcal_packet *fpkt) if ((rsp->fcp_u.fcp_status.scsi_status == STATUS_GOOD) && !rsp->fcp_u.fcp_status.resid_over && (!rsp->fcp_u.fcp_status.resid_under || - ((SUN_INQSIZE - rsp->fcp_resid) >= SUN_MIN_INQLEN))) { + ((SUN_INQSIZE - rsp->fcp_resid) >= SUN_MIN_INQLEN))) { struct fcp_rsp_info *bep; bep = (struct fcp_rsp_info *)(&rsp-> @@ -4022,7 +4023,7 @@ sf_inq_callback(struct fcal_packet *fpkt) } } else { SF_DEBUG(2, (sf, CE_CONT, "!INQUIRY to al_pa %x fc status %x", - privp->dest_nport_id, fpkt->fcal_pkt_status)); + privp->dest_nport_id, fpkt->fcal_pkt_status)); } if (++(privp->retries) < sf_els_retries || @@ -4062,8 +4063,8 @@ sf_inq_callback(struct fcal_packet *fpkt) /* if not delayed call transport to send a pkt */ if (!delayed_retry && (soc_transport(sf->sf_sochandle, fpkt, - FCAL_NOSLEEP, CQ_REQUEST_1) != - FCAL_TRANSPORT_SUCCESS)) { + FCAL_NOSLEEP, CQ_REQUEST_1) != + FCAL_TRANSPORT_SUCCESS)) { mutex_enter(&sf->sf_mutex); if (privp->prev != NULL) { privp->prev->next = privp->next; @@ -4193,7 +4194,7 @@ sf_finish_init(struct sf *sf, int lip_cnt) /* this is the first element in list */ sf->sf_hp_elem_head = sf->sf_hp_elem_tail = - elem; + elem; } cv_signal(&sf->sf_hp_daemon_cv); mutex_exit(&sf->sf_hp_daemon_mutex); @@ -4393,9 +4394,9 @@ sf_offline_target(struct sf *sf, struct sf_target *target) while (target != NULL) { sf_log(sf, CE_NOTE, - "!target 0x%x al_pa 0x%x lun %" PRIx64 " offlined\n", - sf_alpa_to_switch[target->sft_al_pa], - target->sft_al_pa, SCSA_LUN(target)); + "!target 0x%x al_pa 0x%x lun %" PRIx64 " offlined\n", + sf_alpa_to_switch[target->sft_al_pa], + target->sft_al_pa, SCSA_LUN(target)); mutex_enter(&target->sft_mutex); target->sft_state &= ~(SF_TARGET_BUSY|SF_TARGET_MARK); target->sft_state |= SF_TARGET_OFFLINE; @@ -4416,15 +4417,15 @@ sf_offline_target(struct sf *sf, struct sf_target *target) mutex_exit(&target->sft_mutex); mutex_exit(&sf->sf_mutex); (void) ndi_prop_remove(DDI_DEV_T_NONE, dip, - TARGET_PROP); + TARGET_PROP); (void) ndi_event_retrieve_cookie(sf->sf_event_hdl, dip, FCAL_REMOVE_EVENT, &sf_remove_eid, NDI_EVENT_NOPASS); (void) ndi_event_run_callbacks(sf->sf_event_hdl, - target->sft_dip, sf_remove_eid, NULL); + target->sft_dip, sf_remove_eid, NULL); elem = kmem_zalloc(sizeof (struct sf_hp_elem), - KM_NOSLEEP); + KM_NOSLEEP); if (elem != NULL) { elem->dip = dip; elem->target = target; @@ -4435,8 +4436,8 @@ sf_offline_target(struct sf *sf, struct sf_target *target) sf->sf_hp_elem_tail = elem; } else { sf->sf_hp_elem_head = - sf->sf_hp_elem_tail = - elem; + sf->sf_hp_elem_tail = + elem; } cv_signal(&sf->sf_hp_daemon_cv); mutex_exit(&sf->sf_hp_daemon_mutex); @@ -4444,18 +4445,18 @@ sf_offline_target(struct sf *sf, struct sf_target *target) /* don't do NDI_DEVI_REMOVE for now */ if (ndi_devi_offline(dip, 0) != NDI_SUCCESS) { SF_DEBUG(1, (sf, CE_WARN, - "target %x lun %" PRIx64 ", " - "device offline failed", - sf_alpa_to_switch[target-> - sft_al_pa], - SCSA_LUN(target))); + "target %x lun %" PRIx64 ", " + "device offline failed", + sf_alpa_to_switch[target-> + sft_al_pa], + SCSA_LUN(target))); } else { SF_DEBUG(1, (sf, CE_NOTE, - "target %x, lun %" PRIx64 ", " - "device offline succeeded\n", - sf_alpa_to_switch[target-> - sft_al_pa], - SCSA_LUN(target))); + "target %x, lun %" PRIx64 ", " + "device offline succeeded\n", + sf_alpa_to_switch[target-> + sft_al_pa], + SCSA_LUN(target))); } } mutex_enter(&sf->sf_mutex); @@ -4691,8 +4692,8 @@ sf_abort(struct scsi_address *ap, struct scsi_pkt *pkt) (void) ddi_dma_sync( cmd->cmd_cr_pool->rsp_dma_handle, (off_t) - ((caddr_t)cmd->cmd_rsp_block - - cmd->cmd_cr_pool->rsp_base), + ((caddr_t)cmd->cmd_rsp_block - + cmd->cmd_cr_pool->rsp_base), FCP_MAX_RSP_IU_SIZE, DDI_DMA_SYNC_FORKERNEL); if (((struct fcp_rsp_info *) @@ -4707,7 +4708,7 @@ sf_abort(struct scsi_address *ap, struct scsi_pkt *pkt) fcal_socal_request. sr_fc_frame_hdr; tgt_id = sf_alpa_to_switch[ - (uchar_t)hp->d_id]; + (uchar_t)hp->d_id]; sf->sf_stats.tstats[tgt_id]. task_mgmt_failures++; SF_DEBUG(1, (sf, CE_NOTE, @@ -4715,11 +4716,11 @@ sf_abort(struct scsi_address *ap, struct scsi_pkt *pkt) "Set failed\n", hp->d_id)); } } else { - mutex_enter(&cmd->cmd_abort_mutex); - if (cmd->cmd_state == SF_STATE_ISSUED) { + mutex_enter(&cmd->cmd_abort_mutex); + if (cmd->cmd_state == SF_STATE_ISSUED) { cmd->cmd_state = SF_STATE_ABORTING; cmd->cmd_timeout = sf_watchdog_time - + 20; + + 20; mutex_exit(&cmd->cmd_abort_mutex); if ((t = soc_abort(sf->sf_sochandle, sf->sf_socp, sf->sf_sochandle-> @@ -4732,9 +4733,9 @@ sf_abort(struct scsi_address *ap, struct scsi_pkt *pkt) sf_force_lip(sf); deferred_destroy = 1; } - } else { + } else { mutex_exit(&cmd->cmd_abort_mutex); - } + } } } if (!deferred_destroy) { @@ -4799,8 +4800,8 @@ sf_reset(struct scsi_address *ap, int level) lip_cnt = sf->sf_lip_cnt; target->sft_state |= SF_TARGET_BUSY; for (ntarget = target->sft_next_lun; - ntarget; - ntarget = ntarget->sft_next_lun) { + ntarget; + ntarget = ntarget->sft_next_lun) { mutex_enter(&ntarget->sft_mutex); /* * XXXX If we supported RESET_LUN we should check here @@ -4835,7 +4836,7 @@ sf_reset(struct scsi_address *ap, int level) DDI_DMA_SYNC_FORKERNEL); fpkt = cmd->cmd_fp_pkt; if ((fpkt->fcal_pkt_status == - FCAL_STATUS_OK) && + FCAL_STATUS_OK) && (((struct fcp_rsp_info *) (&cmd->cmd_rsp_block-> fcp_response_len + 1))-> @@ -4844,25 +4845,25 @@ sf_reset(struct scsi_address *ap, int level) "!sf%d: Target 0x%x Reset " "successful\n", ddi_get_instance(\ - sf->sf_dip), + sf->sf_dip), sf_alpa_to_switch[ - target->sft_al_pa]); + target->sft_al_pa]); rval = TRUE; } else { hp = &cmd->cmd_fp_pkt-> fcal_socal_request. sr_fc_frame_hdr; tgt_id = sf_alpa_to_switch[ - (uchar_t)hp->d_id]; + (uchar_t)hp->d_id]; sf->sf_stats.tstats[tgt_id]. task_mgmt_failures++; - sf_log(sf, CE_NOTE, - "!sf%d: Target 0x%x " - "Reset failed." - "Status code 0x%x " - "Resp code 0x%x\n", - ddi_get_instance(\ - sf->sf_dip), + sf_log(sf, CE_NOTE, + "!sf%d: Target 0x%x " + "Reset failed." + "Status code 0x%x " + "Resp code 0x%x\n", + ddi_get_instance(\ + sf->sf_dip), tgt_id, fpkt->fcal_pkt_status, ((struct fcp_rsp_info *) @@ -4871,16 +4872,16 @@ sf_reset(struct scsi_address *ap, int level) rsp_code); } } else { - sf_log(sf, CE_NOTE, "!sf%d: Target " - "0x%x Reset Failed. Ret=%x\n", - ddi_get_instance(sf->sf_dip), - sf_alpa_to_switch[ - target->sft_al_pa], ret); - mutex_enter(&cmd->cmd_abort_mutex); - if (cmd->cmd_state == SF_STATE_ISSUED) { + sf_log(sf, CE_NOTE, "!sf%d: Target " + "0x%x Reset Failed. Ret=%x\n", + ddi_get_instance(sf->sf_dip), + sf_alpa_to_switch[ + target->sft_al_pa], ret); + mutex_enter(&cmd->cmd_abort_mutex); + if (cmd->cmd_state == SF_STATE_ISSUED) { /* call the transport to abort a cmd */ cmd->cmd_timeout = sf_watchdog_time - + 20; + + 20; cmd->cmd_state = SF_STATE_ABORTING; mutex_exit(&cmd->cmd_abort_mutex); if (((t = soc_abort(sf->sf_sochandle, @@ -4894,16 +4895,17 @@ sf_reset(struct scsi_address *ap, int level) "failed. Abort Failed, " "forcing LIP\n", ddi_get_instance( - sf->sf_dip), + sf->sf_dip), sf_alpa_to_switch[ - target->sft_al_pa]); + target->sft_al_pa]); sf_force_lip(sf); rval = TRUE; deferred_destroy = 1; } - } else { - mutex_exit(&cmd->cmd_abort_mutex); - } + } else { + mutex_exit + (&cmd->cmd_abort_mutex); + } } } /* @@ -4923,9 +4925,9 @@ sf_reset(struct scsi_address *ap, int level) } } else { cmn_err(CE_WARN, "!sf%d: Target 0x%x Reset Failed. " - "Resource allocation error.\n", - ddi_get_instance(sf->sf_dip), - sf_alpa_to_switch[target->sft_al_pa]); + "Resource allocation error.\n", + ddi_get_instance(sf->sf_dip), + sf_alpa_to_switch[target->sft_al_pa]); } mutex_enter(&sf->sf_mutex); if ((rval == TRUE) && (lip_cnt == sf->sf_lip_cnt)) { @@ -4948,8 +4950,8 @@ sf_reset(struct scsi_address *ap, int level) mutex_enter(&target->sft_mutex); target->sft_state &= ~SF_TARGET_BUSY; for (ntarget = target->sft_next_lun; - ntarget; - ntarget = ntarget->sft_next_lun) { + ntarget; + ntarget = ntarget->sft_next_lun) { mutex_enter(&ntarget->sft_mutex); ntarget->sft_state &= ~SF_TARGET_BUSY; mutex_exit(&ntarget->sft_mutex); @@ -5006,7 +5008,7 @@ sf_abort_all(struct sf *sf, struct sf_target *target, int abort, int cmd = sf->sf_pkt_head; while (cmd != NULL) { ntarget = ADDR2TARGET(&cmd->cmd_pkt-> - pkt_address); + pkt_address); if (ntarget == target) { if (pcmd != NULL) pcmd->cmd_next = cmd->cmd_next; @@ -5083,10 +5085,10 @@ sf_abort_all(struct sf *sf, struct sf_target *target, int abort, int pkt = cmd->cmd_pkt; mutex_enter(&cmd->cmd_abort_mutex); if ((cmd->cmd_state == SF_STATE_ISSUED) && - (fpkt->fcal_cmd_state & - FCAL_CMD_IN_TRANSPORT) && - ((fpkt->fcal_cmd_state & FCAL_CMD_COMPLETE) == - 0) && !(pkt->pkt_flags & FLAG_NOINTR)) { + (fpkt->fcal_cmd_state & + FCAL_CMD_IN_TRANSPORT) && + ((fpkt->fcal_cmd_state & FCAL_CMD_COMPLETE) == + 0) && !(pkt->pkt_flags & FLAG_NOINTR)) { cmd->cmd_state = SF_STATE_ABORTING; cmd->cmd_timeout = sf_watchdog_time + cmd->cmd_pkt->pkt_time + 20; @@ -5095,20 +5097,20 @@ sf_abort_all(struct sf *sf, struct sf_target *target, int abort, int if (try_abort) { /* call the transport to abort a pkt */ rval = soc_abort(sf->sf_sochandle, - sf->sf_socp, - sf->sf_sochandle->fcal_portno, - fpkt, 1); + sf->sf_socp, + sf->sf_sochandle->fcal_portno, + fpkt, 1); } if ((rval == FCAL_ABORTED) || - (rval == FCAL_ABORT_FAILED)) { + (rval == FCAL_ABORT_FAILED)) { if (abort) { pkt->pkt_reason = CMD_ABORTED; pkt->pkt_statistics |= - STAT_ABORTED; + STAT_ABORTED; } else { pkt->pkt_reason = CMD_RESET; pkt->pkt_statistics |= - STAT_DEV_RESET; + STAT_DEV_RESET; } cmd->cmd_state = SF_STATE_IDLE; if (pkt->pkt_comp) @@ -5148,7 +5150,7 @@ sf_start(struct scsi_address *ap, struct scsi_pkt *pkt) if (cmd->cmd_state == SF_STATE_ISSUED) { cmn_err(CE_PANIC, "sf: issuing packet twice 0x%p\n", - (void *)cmd); + (void *)cmd); } /* prepare the packet for transport */ @@ -5181,7 +5183,7 @@ sf_start(struct scsi_address *ap, struct scsi_pkt *pkt) /* locking no needed */ cmd->cmd_timeout = cmd->cmd_pkt->pkt_time ? - sf_watchdog_time + cmd->cmd_pkt->pkt_time : 0; + sf_watchdog_time + cmd->cmd_pkt->pkt_time : 0; cmd->cmd_state = SF_STATE_ISSUED; /* call the transport to send a pkt */ @@ -5269,8 +5271,8 @@ sf_prepare_pkt(struct sf *sf, struct sf_pkt *cmd, struct sf_target *target) /* XXXX Need to set the LUN ? */ bcopy((caddr_t)&target->sft_lun.b, - (caddr_t)&fcmd->fcp_ent_addr, - FCP_LUN_SIZE); + (caddr_t)&fcmd->fcp_ent_addr, + FCP_LUN_SIZE); cmd->cmd_pkt->pkt_reason = CMD_CMPLT; cmd->cmd_pkt->pkt_state = 0; cmd->cmd_pkt->pkt_statistics = 0; @@ -5306,8 +5308,8 @@ sf_prepare_pkt(struct sf *sf, struct sf_pkt *cmd, struct sf_target *target) * Sync the cmd segment */ (void) ddi_dma_sync(cmd->cmd_cr_pool->cmd_dma_handle, - (caddr_t)fcmd - cmd->cmd_cr_pool->cmd_base, - sizeof (struct fcp_cmd), DDI_DMA_SYNC_FORDEV); + (caddr_t)fcmd - cmd->cmd_cr_pool->cmd_base, + sizeof (struct fcp_cmd), DDI_DMA_SYNC_FORDEV); sf_fill_ids(sf, cmd, target); return (TRAN_ACCEPT); @@ -5328,7 +5330,7 @@ sf_fill_ids(struct sf *sf, struct sf_pkt *cmd, struct sf_target *target) hp->d_id = target->sft_al_pa; hp->s_id = sf->sf_al_pa; fpkt->fcal_socal_request.sr_soc_hdr.sh_byte_cnt = - cmd->cmd_dmacookie.dmac_size; + cmd->cmd_dmacookie.dmac_size; } @@ -5354,7 +5356,7 @@ sf_dopoll(struct sf *sf, struct sf_pkt *cmd) /* call transport to send a pkt polled */ rval = soc_transport_poll(sf->sf_sochandle, cmd->cmd_fp_pkt, - timeout*1000000, CQ_REQUEST_1); + timeout*1000000, CQ_REQUEST_1); mutex_enter(&cmd->cmd_abort_mutex); cmd->cmd_fp_pkt->fcal_pkt_comp = sf_cmd_callback; if (rval != FCAL_TRANSPORT_SUCCESS) { @@ -5408,7 +5410,7 @@ sf_cmd_callback(struct fcal_packet *fpkt) if (cmd->cmd_state == SF_STATE_IDLE) { cmn_err(CE_PANIC, "sf: completing idle packet 0x%p\n", - (void *)cmd); + (void *)cmd); } mutex_enter(&cmd->cmd_abort_mutex); @@ -5436,7 +5438,7 @@ sf_cmd_callback(struct fcal_packet *fpkt) fpkt->fcal_socal_request.\ sr_soc_hdr.sh_request_token; (void) soc_take_core(sf->sf_sochandle, - sf->sf_socp); + sf->sf_socp); } pkt->pkt_reason = CMD_INCOMPLETE; @@ -5446,7 +5448,7 @@ sf_cmd_callback(struct fcal_packet *fpkt) } else { pkt->pkt_state = STATE_GOT_BUS | STATE_GOT_TARGET | - STATE_SENT_CMD | STATE_GOT_STATUS; + STATE_SENT_CMD | STATE_GOT_STATUS; pkt->pkt_resid = 0; if (cmd->cmd_flags & CFLAG_DMAVALID) { pkt->pkt_state |= STATE_XFERRED_DATA; @@ -5454,8 +5456,8 @@ sf_cmd_callback(struct fcal_packet *fpkt) if ((pkt->pkt_scbp != NULL) && ((*(pkt->pkt_scbp) = - rsp->fcp_u.fcp_status.scsi_status) - != STATUS_GOOD)) { + rsp->fcp_u.fcp_status.scsi_status) + != STATUS_GOOD)) { good_scsi_status = FALSE; /* * The next two checks make sure that if there @@ -5473,7 +5475,7 @@ sf_cmd_callback(struct fcal_packet *fpkt) if ((cmd->cmd_flags & CFLAG_CMDIOPB) && (pkt->pkt_state & STATE_XFERRED_DATA)) { (void) ddi_dma_sync(cmd->cmd_dmahandle, 0, - (uint_t)0, DDI_DMA_SYNC_FORCPU); + (uint_t)0, DDI_DMA_SYNC_FORCPU); } /* * Update the transfer resid, if appropriate @@ -5491,83 +5493,86 @@ sf_cmd_callback(struct fcal_packet *fpkt) * First see if we got a FCP protocol error. */ if (rsp->fcp_u.fcp_status.rsp_len_set) { - struct fcp_rsp_info *bep; - - bep = - (struct fcp_rsp_info *)(&rsp->fcp_response_len + 1); - if (bep->rsp_code != FCP_NO_FAILURE) { - pkt->pkt_reason = CMD_TRAN_ERR; - tgt_id = pkt->pkt_address.a_target; - switch (bep->rsp_code) { - case FCP_CMND_INVALID: - SF_DMSG1("FCP_RSP FCP_CMND " - "fields invalid"); - break; - case FCP_TASK_MGMT_NOT_SUPPTD: - SF_DMSG1("FCP_RSP Task" - "Management Function" - "Not Supported"); - break; - case FCP_TASK_MGMT_FAILED: - SF_DMSG1("FCP_RSP Task " - "Management Function" - "Failed"); - sf->sf_stats.tstats[tgt_id]. - task_mgmt_failures++; - break; - case FCP_DATA_RO_MISMATCH: - SF_DMSG1("FCP_RSP FCP_DATA RO " - "mismatch with " - "FCP_XFER_RDY DATA_RO"); - sf->sf_stats.tstats[tgt_id]. - data_ro_mismatches++; - break; - case FCP_DL_LEN_MISMATCH: - SF_DMSG1("FCP_RSP FCP_DATA length " - "different than BURST_LEN"); - sf->sf_stats.tstats[tgt_id]. - dl_len_mismatches++; - break; - default: - SF_DMSG1("FCP_RSP invalid RSP_CODE"); - break; + struct fcp_rsp_info *bep; + + bep = (struct fcp_rsp_info *) + (&rsp->fcp_response_len + 1); + if (bep->rsp_code != FCP_NO_FAILURE) { + pkt->pkt_reason = CMD_TRAN_ERR; + tgt_id = pkt->pkt_address.a_target; + switch (bep->rsp_code) { + case FCP_CMND_INVALID: + SF_DMSG1("FCP_RSP FCP_CMND " + "fields invalid"); + break; + case FCP_TASK_MGMT_NOT_SUPPTD: + SF_DMSG1("FCP_RSP Task" + "Management Function" + "Not Supported"); + break; + case FCP_TASK_MGMT_FAILED: + SF_DMSG1("FCP_RSP Task " + "Management Function" + "Failed"); + sf->sf_stats.tstats[tgt_id]. + task_mgmt_failures++; + break; + case FCP_DATA_RO_MISMATCH: + SF_DMSG1("FCP_RSP FCP_DATA RO " + "mismatch with " + "FCP_XFER_RDY DATA_RO"); + sf->sf_stats.tstats[tgt_id]. + data_ro_mismatches++; + break; + case FCP_DL_LEN_MISMATCH: + SF_DMSG1("FCP_RSP FCP_DATA " + "length " + "different than BURST_LEN"); + sf->sf_stats.tstats[tgt_id]. + dl_len_mismatches++; + break; + default: + SF_DMSG1("FCP_RSP invalid " + "RSP_CODE"); + break; + } } - } } /* * See if we got a SCSI error with sense data */ if (rsp->fcp_u.fcp_status.sense_len_set) { - uchar_t rqlen = min(rsp->fcp_sense_len, - sizeof (struct scsi_extended_sense)); - caddr_t sense = (caddr_t)rsp + - sizeof (struct fcp_rsp) + rsp->fcp_response_len; - struct scsi_arq_status *arq; - struct scsi_extended_sense *sensep = - (struct scsi_extended_sense *)sense; - - if (rsp->fcp_u.fcp_status.scsi_status != - STATUS_GOOD) { + uchar_t rqlen = min(rsp->fcp_sense_len, + sizeof (struct scsi_extended_sense)); + caddr_t sense = (caddr_t)rsp + + sizeof (struct fcp_rsp) + + rsp->fcp_response_len; + struct scsi_arq_status *arq; + struct scsi_extended_sense *sensep = + (struct scsi_extended_sense *)sense; + + if (rsp->fcp_u.fcp_status.scsi_status != + STATUS_GOOD) { if (rsp->fcp_u.fcp_status.scsi_status - == STATUS_CHECK) { + == STATUS_CHECK) { if (sensep->es_key == - KEY_RECOVERABLE_ERROR) + KEY_RECOVERABLE_ERROR) good_scsi_status = 1; if (sensep->es_key == - KEY_UNIT_ATTENTION && - sensep->es_add_code == 0x3f && - sensep->es_qual_code == 0x0e) { + KEY_UNIT_ATTENTION && + sensep->es_add_code == 0x3f && + sensep->es_qual_code == 0x0e) { /* REPORT_LUNS_HAS_CHANGED */ sf_log(sf, CE_NOTE, "!REPORT_LUNS_HAS_CHANGED\n"); sf_force_lip(sf); } } - } + } - if ((pkt->pkt_scbp != NULL) && - (cmd->cmd_scblen >= + if ((pkt->pkt_scbp != NULL) && + (cmd->cmd_scblen >= sizeof (struct scsi_arq_status))) { pkt->pkt_state |= STATE_ARQ_DONE; @@ -5590,7 +5595,7 @@ sf_cmd_callback(struct fcal_packet *fpkt) STATE_GOT_STATUS | STATE_ARQ_DONE | STATE_XFERRED_DATA; } - target->sft_alive = TRUE; + target->sft_alive = TRUE; } /* @@ -5604,26 +5609,29 @@ sf_cmd_callback(struct fcal_packet *fpkt) (!(cmd->cmd_flags & CFLAG_CMDIOPB)) && (target->sft_device_type != DTYPE_ESI)) { int byte_cnt = - fpkt->fcal_socal_request.sr_soc_hdr.sh_byte_cnt; + fpkt->fcal_socal_request. + sr_soc_hdr.sh_byte_cnt; if (cmd->cmd_flags & CFLAG_DMASEND) { - if (byte_cnt != 0) { + if (byte_cnt != 0) { sf_log(sf, CE_NOTE, - "!sf_cmd_callback: Lost Frame: " - "(write) received 0x%x expected" - " 0x%x target 0x%x\n", - byte_cnt, cmd->cmd_dmacount, - sf_alpa_to_switch[ - target->sft_al_pa]); + "!sf_cmd_callback: Lost Frame: " + "(write) received 0x%x expected" + " 0x%x target 0x%x\n", + byte_cnt, cmd->cmd_dmacount, + sf_alpa_to_switch[ + target->sft_al_pa]); pkt->pkt_reason = CMD_INCOMPLETE; pkt->pkt_statistics |= STAT_ABORTED; - } + } } else if (byte_cnt < cmd->cmd_dmacount) { - sf_log(sf, CE_NOTE, - "!sf_cmd_callback: Lost Frame: (read) " - "received 0x%x expected 0x%x " - "target 0x%x\n", byte_cnt, - cmd->cmd_dmacount, sf_alpa_to_switch[ - target->sft_al_pa]); + sf_log(sf, CE_NOTE, + "!sf_cmd_callback: " + "Lost Frame: (read) " + "received 0x%x expected 0x%x " + "target 0x%x\n", byte_cnt, + cmd->cmd_dmacount, + sf_alpa_to_switch[ + target->sft_al_pa]); pkt->pkt_reason = CMD_INCOMPLETE; pkt->pkt_statistics |= STAT_ABORTED; } @@ -5641,14 +5649,14 @@ sf_cmd_callback(struct fcal_packet *fpkt) mutex_enter(&target->sft_mutex); if (!(target->sft_state & SF_TARGET_OFFLINE)) { target->sft_state |= (SF_TARGET_BUSY - | SF_TARGET_MARK); + | SF_TARGET_MARK); } mutex_exit(&target->sft_mutex); (void) ndi_event_retrieve_cookie(sf->sf_event_hdl, - target->sft_dip, FCAL_REMOVE_EVENT, - &sf_remove_eid, NDI_EVENT_NOPASS); + target->sft_dip, FCAL_REMOVE_EVENT, + &sf_remove_eid, NDI_EVENT_NOPASS); (void) ndi_event_run_callbacks(sf->sf_event_hdl, - target->sft_dip, sf_remove_eid, NULL); + target->sft_dip, sf_remove_eid, NULL); pkt->pkt_reason = CMD_TRAN_ERR; pkt->pkt_statistics |= STAT_BUS_RESET; break; @@ -5739,10 +5747,11 @@ sf_cmd_callback(struct fcal_packet *fpkt) SF_DMSG1("Fibre Channel Open Failure"); if ((target->sft_state & (SF_TARGET_BUSY | SF_TARGET_MARK | SF_TARGET_OFFLINE)) == 0) { - sf_log(sf, CE_NOTE, "!Open failure to target 0x%x " - "forcing LIP\n", - sf_alpa_to_switch[target->sft_al_pa]); - sf_force_lip(sf); + sf_log(sf, CE_NOTE, + "!Open failure to target 0x%x " + "forcing LIP\n", + sf_alpa_to_switch[target->sft_al_pa]); + sf_force_lip(sf); } break; @@ -6057,19 +6066,19 @@ sf_watch(void *arg) sf_check_targets(sf); } } else if ((sf->sf_state == SF_STATE_OFFLINE) && - (sf->sf_timer < sf_watchdog_time)) { + (sf->sf_timer < sf_watchdog_time)) { for (i = 0; i < sf_max_targets; i++) { target = sf->sf_targets[i]; if ((target != NULL) && - (target->sft_state & - SF_TARGET_BUSY)) { + (target->sft_state & + SF_TARGET_BUSY)) { sf_log(sf, CE_WARN, - "!Offline Timeout\n"); + "!Offline Timeout\n"); if (sf_core && (sf_core & - SF_CORE_OFFLINE_TIMEOUT)) { + SF_CORE_OFFLINE_TIMEOUT)) { (void) soc_take_core( - sf->sf_sochandle, - sf->sf_socp); + sf->sf_sochandle, + sf->sf_socp); sf_core = 0; } break; @@ -6141,7 +6150,7 @@ sf_check_targets(struct sf *sf) cmd->cmd_timeout) || sf_abort_flag)) { sf_abort_flag = 0; #else - cmd->cmd_timeout))) { + cmd->cmd_timeout))) { #endif cmd->cmd_timeout = 0; /* prevent reset from getting at this packet */ @@ -6173,8 +6182,10 @@ sf_check_targets(struct sf *sf) cmd->cmd_state = SF_STATE_IDLE; mutex_exit(&cmd->cmd_abort_mutex); mutex_exit(&target->sft_pkt_mutex); - SF_DEBUG(1, (sf, CE_NOTE, "Command 0x%p to sft 0x%p delayed release\n", - (void *)cmd, (void *)target)); + SF_DEBUG(1, (sf, CE_NOTE, + "Command 0x%p to sft 0x%p" + " delayed release\n", + (void *)cmd, (void *)target)); pkt = cmd->cmd_pkt; pkt->pkt_statistics |= (STAT_TIMEOUT|STAT_ABORTED); @@ -6183,20 +6194,25 @@ sf_check_targets(struct sf *sf) (*pkt->pkt_comp)(pkt); /* handle deferred_destroy case */ } else { - if ((cmd->cmd_block->fcp_cntl. - cntl_reset == 1) || - (cmd->cmd_block-> - fcp_cntl.cntl_abort_tsk == 1)) { - cmd->cmd_block->fcp_cntl. - cntl_reset = 0; - cmd->cmd_block->fcp_cntl. - cntl_abort_tsk = 0; - cmd->cmd_fp_pkt->fcal_pkt_comp = - sf_cmd_callback; - /* for cache */ - sf_scsi_destroy_pkt - (&pkt->pkt_address, pkt); - } + if ((cmd->cmd_block->fcp_cntl. + cntl_reset == 1) || + (cmd->cmd_block-> + fcp_cntl.cntl_abort_tsk == + 1)) { + cmd->cmd_block-> + fcp_cntl. + cntl_reset = 0; + cmd->cmd_block-> + fcp_cntl. + cntl_abort_tsk = 0; + cmd->cmd_fp_pkt-> + fcal_pkt_comp = + sf_cmd_callback; + /* for cache */ + sf_scsi_destroy_pkt + (&pkt->pkt_address, + pkt); + } } mutex_enter(&target->sft_pkt_mutex); cmd = target->sft_pkt_head; @@ -6331,10 +6347,12 @@ sf_els_timeout(struct sf *sf, struct sf_els_hdr *privp) * if the timeout is *not* for a IB or host. */ if (sf_core && (sf_core & SF_CORE_ELS_TIMEOUT) && - ((sf_alpa_to_switch[privp->dest_nport_id] & 0x0d) != 0x0d) && - ((privp->dest_nport_id != 1) || (privp->dest_nport_id != 2) || - (privp->dest_nport_id != 4) || (privp->dest_nport_id != 8) || - (privp->dest_nport_id != 0xf))) { + ((sf_alpa_to_switch[privp->dest_nport_id] & + 0x0d) != 0x0d) && ((privp->dest_nport_id != 1) || + (privp->dest_nport_id != 2) || + (privp->dest_nport_id != 4) || + (privp->dest_nport_id != 8) || + (privp->dest_nport_id != 0xf))) { sf_token = (int *)(uintptr_t)fpkt->fcal_socal_request.\ sr_soc_hdr.sh_request_token; (void) soc_take_core(sf->sf_sochandle, sf->sf_socp); @@ -6360,7 +6378,7 @@ sf_els_timeout(struct sf *sf, struct sf_els_hdr *privp) } timeout = SF_FCP_TIMEOUT; (void) sprintf(what, "INQUIRY to LUN 0x%lx", - (long)SCSA_LUN(target)); + (long)SCSA_LUN(target)); } else { (void) sprintf(what, "UNKNOWN OPERATION"); } @@ -6368,16 +6386,16 @@ sf_els_timeout(struct sf *sf, struct sf_els_hdr *privp) if (dflag) { /* delayed retry */ SF_DEBUG(2, (sf, CE_CONT, - "!sf%d: %s to target %x delayed retry\n", - ddi_get_instance(sf->sf_dip), what, - sf_alpa_to_switch[privp->dest_nport_id])); + "!sf%d: %s to target %x delayed retry\n", + ddi_get_instance(sf->sf_dip), what, + sf_alpa_to_switch[privp->dest_nport_id])); privp->delayed_retry = FALSE; goto try_again; } sf_log(sf, CE_NOTE, "!%s to target 0x%x alpa 0x%x timed out\n", - what, sf_alpa_to_switch[privp->dest_nport_id], - privp->dest_nport_id); + what, sf_alpa_to_switch[privp->dest_nport_id], + privp->dest_nport_id); rval = soc_abort(sf->sf_sochandle, sf->sf_socp, sf->sf_sochandle ->fcal_portno, fpkt, 1); @@ -6403,9 +6421,9 @@ try_again: (dflag && (privp->retries < SF_BSY_RETRIES))) { mutex_exit(&sf->sf_mutex); sf_log(sf, CE_NOTE, - "!%s to target 0x%x retrying\n", - what, - sf_alpa_to_switch[privp->dest_nport_id]); + "!%s to target 0x%x retrying\n", + what, + sf_alpa_to_switch[privp->dest_nport_id]); if (sf_els_transport(sf, privp) == 1) { mutex_enter(&sf->sf_mutex); return (sf->sf_els_list); /* success */ @@ -6446,8 +6464,8 @@ try_again: sf_core = 0; } sf_log(sf, CE_NOTE, "%s abort to target 0x%x failed. " - "status=0x%x, forcing LIP\n", what, - sf_alpa_to_switch[privp->dest_nport_id], rval); + "status=0x%x, forcing LIP\n", what, + sf_alpa_to_switch[privp->dest_nport_id], rval); privp = NULL; if (sf->sf_lip_cnt == lip_cnt) { sf_force_lip(sf); @@ -6499,11 +6517,11 @@ sf_check_reset_delay(void *arg) /* abort all cmds for this target */ while (target) { sf_abort_all(sf, target, FALSE, - lip_cnt, TRUE); + lip_cnt, TRUE); mutex_enter(&target->sft_mutex); if (lip_cnt == sf->sf_lip_cnt) { target->sft_state &= - ~SF_TARGET_BUSY; + ~SF_TARGET_BUSY; } mutex_exit(&target->sft_mutex); target = target->sft_next_lun; @@ -6597,12 +6615,12 @@ sf_force_lip(struct sf *sf) if (sf_reset_flag != 0) { #endif /* restart socal after resetting it */ - sf_log(sf, CE_NOTE, - "!Force lip failed Status code 0x%x. Reseting\n", - i); + sf_log(sf, CE_NOTE, + "!Force lip failed Status code 0x%x." + " Reseting\n", i); /* call transport to force a reset */ - soc_force_reset(sf->sf_sochandle, sf->sf_socp, - sf->sf_sochandle->fcal_portno, 1); + soc_force_reset(sf->sf_sochandle, sf->sf_socp, + sf->sf_sochandle->fcal_portno, 1); #ifdef DEBUG } #endif @@ -6630,7 +6648,7 @@ sf_unsol_els_callback(void *arg, soc_response_t *srp, caddr_t payload) if ((els == NULL) || ((i = srp->sr_soc_hdr.sh_byte_cnt) == 0)) { - return; + return; } if (i > SOC_CQE_PAYLOAD) { @@ -6648,8 +6666,8 @@ sf_unsol_els_callback(void *arg, soc_response_t *srp, caddr_t payload) */ sf->sf_stats.tstats[tgt_id].logouts_recvd++; sf_log(sf, CE_NOTE, "!LOGO recvd from target %x, %s\n", - tgt_id, - sf_lip_on_plogo ? "Forcing LIP...." : ""); + tgt_id, + sf_lip_on_plogo ? "Forcing LIP...." : ""); if (sf_lip_on_plogo) { sf_force_lip(sf); } @@ -6662,7 +6680,7 @@ sf_unsol_els_callback(void *arg, soc_response_t *srp, caddr_t payload) */ sf_log(sf, CE_NOTE, "!ELS 0x%x recvd from target 0x%x\n", - els->els_cmd.c.ls_command, tgt_id); + els->els_cmd.c.ls_command, tgt_id); /* allocate room for a response */ @@ -6792,7 +6810,7 @@ sf_close(dev_t dev, int flag, int otyp, cred_t *cred_p) if (!sf->sf_check_n_close) { /* if this flag is zero */ cmn_err(CE_WARN, "sf%d: trying to close unopened instance", - SF_MINOR2INST(getminor(dev))); + SF_MINOR2INST(getminor(dev))); return (ENODEV); } else { --(sf->sf_check_n_close); @@ -6856,8 +6874,8 @@ sf_ioctl(dev_t dev, for (i = 0; i < sf_max_targets; i++) { if (sf->sf_targets[i]) sf->sf_lilp_map->lilp_alpalist[j++] = - sf->sf_targets[i]-> - sft_hard_address; + sf->sf_targets[i]-> + sft_hard_address; } sf->sf_lilp_map->lilp_length = (uchar_t)j; } @@ -6885,18 +6903,18 @@ sf_ioctl(dev_t dev, sf_addr_pair[i].sf_port_wwn, sizeof (la_wwn_t)); map.sf_addr_pair[i].sf_hard_address = - al_pa; + al_pa; map.sf_addr_pair[i].sf_inq_dtype = - DTYPE_PROCESSOR; + DTYPE_PROCESSOR; continue; } target = sf->sf_targets[sf_alpa_to_switch[ - al_pa]]; + al_pa]]; if (target != NULL) { mutex_enter(&target->sft_mutex); if (!(target->sft_state & (SF_TARGET_OFFLINE | - SF_TARGET_BUSY))) { + SF_TARGET_BUSY))) { bcopy((caddr_t)&target-> sft_node_wwn, (caddr_t)&map.sf_addr_pair @@ -6908,11 +6926,11 @@ sf_ioctl(dev_t dev, [i].sf_port_wwn, sizeof (la_wwn_t)); map.sf_addr_pair[i]. - sf_hard_address - = target->sft_hard_address; + sf_hard_address + = target->sft_hard_address; map.sf_addr_pair[i]. - sf_inq_dtype - = target->sft_device_type; + sf_inq_dtype + = target->sft_device_type; mutex_exit(&target->sft_mutex); continue; } @@ -6923,7 +6941,7 @@ sf_ioctl(dev_t dev, bzero((caddr_t)&map.sf_addr_pair[i]. sf_port_wwn, sizeof (la_wwn_t)); map.sf_addr_pair[i].sf_inq_dtype = - DTYPE_UNKNOWN; + DTYPE_UNKNOWN; } mutex_exit(&sf->sf_mutex); if (ddi_copyout((caddr_t)&map, (caddr_t)arg, @@ -7043,7 +7061,7 @@ sf_bus_get_eventcookie(dev_info_t *dip, dev_info_t *rdip, char *name, } return (ndi_event_retrieve_cookie(sf->sf_event_hdl, rdip, name, - event_cookiep, NDI_EVENT_NOPASS)); + event_cookiep, NDI_EVENT_NOPASS)); } @@ -7066,7 +7084,7 @@ sf_bus_add_eventcall(dev_info_t *dip, dev_info_t *rdip, } return (ndi_event_add_callback(sf->sf_event_hdl, rdip, - eventid, callback, arg, NDI_SLEEP, cb_id)); + eventid, callback, arg, NDI_SLEEP, cb_id)); } @@ -7153,7 +7171,7 @@ sf_hp_daemon(void *arg) callb_cpr_t cprinfo; CALLB_CPR_INIT(&cprinfo, &sf->sf_hp_daemon_mutex, - callb_generic_cpr, "sf_hp_daemon"); + callb_generic_cpr, "sf_hp_daemon"); mutex_enter(&sf->sf_hp_daemon_mutex); diff --git a/usr/src/uts/sun/io/socal.c b/usr/src/uts/sun/io/socal.c index f1b40d9f90..6064218c37 100644 --- a/usr/src/uts/sun/io/socal.c +++ b/usr/src/uts/sun/io/socal.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * socal - Serial Optical Channel Arbitrated Loop host adapter driver. @@ -318,7 +317,7 @@ static struct bus_ops socal_bus_ops = { ddi_dma_win, ddi_dma_mctl, /* int (*bus_dma_ctl)() */ socal_bus_ctl, /* int (*bus_ctl)() */ - ddi_bus_prop_op /* int (*bus_prop_op*)() */ + ddi_bus_prop_op, /* int (*bus_prop_op*)() */ }; static struct cb_ops socal_cb_ops = { @@ -356,7 +355,9 @@ static struct dev_ops socal_ops = { socal_detach, /* detach */ nodev, /* reset */ &socal_cb_ops, /* driver operations */ - &socal_bus_ops /* bus operations */ + &socal_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* quiesce */ }; /* @@ -399,10 +400,10 @@ extern struct mod_ops mod_driverops; * Module linkage information for the kernel. */ #define SOCAL_NAME "SOC+ FC-AL Host Adapter Driver" -static char socal_version[] = "%I% %E%"; +static char socal_version[] = "1.62 08/19/2008"; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - SOCAL_NAME " %I%", + SOCAL_NAME, &socal_ops, /* driver ops */ }; @@ -415,7 +416,7 @@ static struct modlinkage modlinkage = { */ #if !defined(lint) -static char socal_initmsg[] = "socal _init: socal.c\t%I%\t%E%\n"; +static char socal_initmsg[] = "socal _init: socal.c\t1.62\t08/19/2008\n"; #endif int @@ -427,7 +428,7 @@ _init(void) /* Allocate soft state. */ stat = ddi_soft_state_init(&socal_soft_state_p, - sizeof (socal_state_t), SOCAL_INIT_ITEMS); + sizeof (socal_state_t), SOCAL_INIT_ITEMS); if (stat != 0) return (stat); @@ -507,15 +508,15 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_dev_is_sid(dip) != DDI_SUCCESS) { cmn_err(CE_WARN, "socal%d probe: Not self-identifying", - instance); + instance); return (DDI_FAILURE); } /* If we are in a slave-slot, then we can't be used. */ if (ddi_slaveonly(dip) == DDI_SUCCESS) { cmn_err(CE_WARN, - "socal%d attach failed: device in slave-only slot", - instance); + "socal%d attach failed: device in slave-only slot", + instance); return (DDI_FAILURE); } @@ -529,7 +530,7 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ cmn_err(CE_WARN, "socal%d attach failed: hilevel interrupt unsupported", - instance); + instance); return (DDI_FAILURE); } @@ -537,11 +538,11 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_soft_state_zalloc(socal_soft_state_p, instance) != DDI_SUCCESS) { cmn_err(CE_WARN, "socal%d attach failed: alloc soft state", - instance); + instance); return (DDI_FAILURE); } DEBUGF(4, (CE_CONT, "socal%d attach: allocated soft state\n", - instance)); + instance)); /* * Initialize the state structure. @@ -549,11 +550,11 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) socalp = ddi_get_soft_state(socal_soft_state_p, instance); if (socalp == (socal_state_t *)NULL) { cmn_err(CE_WARN, "socal%d attach failed: bad soft state", - instance); + instance); return (DDI_FAILURE); } DEBUGF(4, (CE_CONT, "socal%d: attach: soc soft state ptr=0x%p\n", - instance, socalp)); + instance, socalp)); socalp->dip = dip; socallim = &default_socallim; @@ -594,8 +595,8 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Get out Node wwn and calculate port wwns */ rval = ddi_prop_op(DDI_DEV_T_ANY, dip, - PROP_LEN_AND_VAL_ALLOC, DDI_PROP_DONTPASS | - DDI_PROP_CANSLEEP, "wwn", (caddr_t)&wwn, &i); + PROP_LEN_AND_VAL_ALLOC, DDI_PROP_DONTPASS | + DDI_PROP_CANSLEEP, "wwn", (caddr_t)&wwn, &i); if ((rval != DDI_PROP_SUCCESS) || (i < FC_WWN_SIZE) || (bcmp(wwn, "00000000", FC_WWN_SIZE) == 0)) { @@ -604,8 +605,8 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) bcopy((caddr_t)&ourmacaddr, (caddr_t)&s, sizeof (short)); socalp->socal_n_wwn.w.wwn_hi = s; bcopy((caddr_t)&ourmacaddr+2, - (caddr_t)&socalp->socal_n_wwn.w.wwn_lo, - sizeof (uint_t)); + (caddr_t)&socalp->socal_n_wwn.w.wwn_lo, + sizeof (uint_t)); socalp->socal_n_wwn.w.naa_id = NAA_ID_IEEE; socalp->socal_n_wwn.w.nport_id = 0; } else { @@ -617,15 +618,15 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < FC_WWN_SIZE; i++) { (void) sprintf(&socalp->socal_stats.node_wwn[i << 1], - "%02x", socalp->socal_n_wwn.raw_wwn[i]); + "%02x", socalp->socal_n_wwn.raw_wwn[i]); } DEBUGF(4, (CE_CONT, "socal%d attach: node wwn: %s\n", - instance, socalp->socal_stats.node_wwn)); + instance, socalp->socal_stats.node_wwn)); bcopy((caddr_t)&socalp->socal_n_wwn, (caddr_t)&porta->sp_p_wwn, - sizeof (la_wwn_t)); + sizeof (la_wwn_t)); bcopy((caddr_t)&socalp->socal_n_wwn, (caddr_t)&portb->sp_p_wwn, - sizeof (la_wwn_t)); + sizeof (la_wwn_t)); porta->sp_p_wwn.w.naa_id = NAA_ID_IEEE_EXTENDED; portb->sp_p_wwn.w.naa_id = NAA_ID_IEEE_EXTENDED; porta->sp_p_wwn.w.nport_id = instance*2; @@ -633,30 +634,30 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) for (i = 0; i < FC_WWN_SIZE; i++) { (void) sprintf(&socalp->socal_stats.port_wwn[0][i << 1], - "%02x", porta->sp_p_wwn.raw_wwn[i]); + "%02x", porta->sp_p_wwn.raw_wwn[i]); (void) sprintf(&socalp->socal_stats.port_wwn[1][i << 1], - "%02x", portb->sp_p_wwn.raw_wwn[i]); + "%02x", portb->sp_p_wwn.raw_wwn[i]); } DEBUGF(4, (CE_CONT, "socal%d attach: porta wwn: %s\n", - instance, socalp->socal_stats.port_wwn[0])); + instance, socalp->socal_stats.port_wwn[0])); DEBUGF(4, (CE_CONT, "socal%d attach: portb wwn: %s\n", - instance, socalp->socal_stats.port_wwn[1])); + instance, socalp->socal_stats.port_wwn[1])); if ((porta->sp_transport = (fcal_transport_t *) - kmem_zalloc(sizeof (fcal_transport_t), KM_SLEEP)) == NULL) { + kmem_zalloc(sizeof (fcal_transport_t), KM_SLEEP)) == NULL) { socal_disp_err(socalp, CE_WARN, "attach.4011", - "attach failed: unable to alloc xport struct"); + "attach failed: unable to alloc xport struct"); goto fail; } if ((portb->sp_transport = (fcal_transport_t *) - kmem_zalloc(sizeof (fcal_transport_t), KM_SLEEP)) == NULL) { + kmem_zalloc(sizeof (fcal_transport_t), KM_SLEEP)) == NULL) { socal_disp_err(socalp, CE_WARN, "attach.4012", - "attach failed: unable to alloc xport struct"); + "attach failed: unable to alloc xport struct"); goto fail; } DEBUGF(4, (CE_CONT, "socal%d attach: allocated transport structs\n", - instance)); + instance)); /* * Map the external ram and registers for SOC+. @@ -666,54 +667,54 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if ((ddi_dev_nregs(dip, &i) == DDI_SUCCESS) && (i == 1)) { /* Map XRAM */ if (ddi_map_regs(dip, 0, &socalp->socal_xrp, 0, 0) - != DDI_SUCCESS) { + != DDI_SUCCESS) { socalp->socal_xrp = NULL; socal_disp_err(socalp, CE_WARN, "attach.4020", - "attach failed: unable to map XRAM"); + "attach failed: unable to map XRAM"); goto fail; } /* Map registers */ socalp->socal_rp = (socal_reg_t *)(socalp->socal_xrp + - SOCAL_XRAM_SIZE); + SOCAL_XRAM_SIZE); } else { /* Map EEPROM */ if (ddi_map_regs(dip, 0, &socalp->socal_eeprom, 0, 0) != DDI_SUCCESS) { socalp->socal_eeprom = NULL; socal_disp_err(socalp, CE_WARN, "attach.4010", - "attach failed: unable to map eeprom"); + "attach failed: unable to map eeprom"); goto fail; } DEBUGF(4, (CE_CONT, "socal%d attach: mapped eeprom 0x%p\n", - instance, socalp->socal_eeprom)); + instance, socalp->socal_eeprom)); /* Map XRAM */ if (ddi_map_regs(dip, 1, &socalp->socal_xrp, 0, 0) != - DDI_SUCCESS) { + DDI_SUCCESS) { socalp->socal_xrp = NULL; socal_disp_err(socalp, CE_WARN, "attach.4020", - "attach failed: unable to map XRAM"); + "attach failed: unable to map XRAM"); goto fail; } DEBUGF(4, (CE_CONT, "socal%d attach: mapped xram 0x%p\n", - instance, socalp->socal_xrp)); + instance, socalp->socal_xrp)); /* Map registers */ if (ddi_map_regs(dip, 2, (caddr_t *)&socalp->socal_rp, 0, 0) != - DDI_SUCCESS) { + DDI_SUCCESS) { socalp->socal_rp = NULL; socal_disp_err(socalp, CE_WARN, "attach.4030", - "attach failed: unable to map registers"); + "attach failed: unable to map registers"); goto fail; } DEBUGF(4, (CE_CONT, "socal%d attach: mapped regs 0x%p\n", - instance, socalp->socal_rp)); + instance, socalp->socal_rp)); } /* * Check to see we really have a SOC+ Host Adapter card installed */ if (ddi_peek32(dip, (int32_t *)&socalp->socal_rp->socal_csr.w, - (int32_t *)NULL) != DDI_SUCCESS) { + (int32_t *)NULL) != DDI_SUCCESS) { socal_disp_err(socalp, CE_WARN, "attach.4040", - "attach failed: unable to access status register"); + "attach failed: unable to access status register"); goto fail; } /* now that we have our registers mapped make sure soc+ reset */ @@ -721,25 +722,25 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* try defacing a spot in XRAM */ if (ddi_poke32(dip, (int32_t *)(socalp->socal_xrp + SOCAL_XRAM_UCODE), - 0xdefaced) != DDI_SUCCESS) { + 0xdefaced) != DDI_SUCCESS) { socal_disp_err(socalp, CE_WARN, "attach.4050", - "attach failed: unable to write host adapter XRAM"); + "attach failed: unable to write host adapter XRAM"); goto fail; } /* see if it stayed defaced */ if (ddi_peek32(dip, (int32_t *)(socalp->socal_xrp + SOCAL_XRAM_UCODE), (int32_t *)&y) - != DDI_SUCCESS) { + != DDI_SUCCESS) { socal_disp_err(socalp, CE_WARN, "attach.4051", - "attach failed: unable to access host adapter XRAM"); + "attach failed: unable to access host adapter XRAM"); goto fail; } #ifdef DEBUG for (i = 0; i < 4; i++) { socalp->socal_rp->socal_cr.w &= - ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; + ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; socalp->socal_rp->socal_cr.w |= i<<24; cptr = (char *)(socal_xrambuf + (i*0x10000)); bcopy((caddr_t)socalp->socal_xrp, (caddr_t)cptr, 0x10000); @@ -751,25 +752,25 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (y != 0xdefaced) { socal_disp_err(socalp, CE_WARN, "attach.4052", - "attach failed: read/write mismatch in XRAM"); + "attach failed: read/write mismatch in XRAM"); goto fail; } /* Point to the SOC XRAM CQ Descriptor locations. */ socalp->xram_reqp = (soc_cq_t *)(socalp->socal_xrp + - SOCAL_XRAM_REQ_DESC); + SOCAL_XRAM_REQ_DESC); socalp->xram_rspp = (soc_cq_t *)(socalp->socal_xrp + - SOCAL_XRAM_RSP_DESC); + SOCAL_XRAM_RSP_DESC); if ((socalp->socal_ksp = kstat_create("socal", instance, "statistics", "controller", KSTAT_TYPE_RAW, sizeof (struct socal_stats), KSTAT_FLAG_VIRTUAL)) == NULL) { socal_disp_err(socalp, CE_WARN, "attach.4053", - "unable to create kstats"); + "unable to create kstats"); } else { socalp->socal_stats.version = 2; (void) sprintf(socalp->socal_stats.drvr_name, - "%s: %s", SOCAL_NAME, socal_version); + "%s: %s", SOCAL_NAME, socal_version); socalp->socal_stats.pstats[0].port = 0; socalp->socal_stats.pstats[1].port = 1; socalp->socal_ksp->ks_data = (void *)&socalp->socal_stats; @@ -780,14 +781,14 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Install a dummy interrupt routine. */ if (ddi_add_intr(dip, - (uint_t)0, - &socalp->iblkc, - &socalp->idevc, - socal_dummy_intr, - (caddr_t)socalp) != DDI_SUCCESS) { - socal_disp_err(socalp, CE_WARN, "attach.4060", + (uint_t)0, + &socalp->iblkc, + &socalp->idevc, + socal_dummy_intr, + (caddr_t)socalp) != DDI_SUCCESS) { + socal_disp_err(socalp, CE_WARN, "attach.4060", "attach failed: unable to install interrupt handler"); - goto fail; + goto fail; } ddi_set_driver_private(dip, socalp); @@ -807,8 +808,8 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) cv_init(&socalp->board_cv, NULL, CV_DRIVER, NULL); DEBUGF(4, (CE_CONT, - "socal%d: attach: inited imr mutex, board mutex, board cv\n", - instance)); + "socal%d: attach: inited imr mutex, board mutex, board cv\n", + instance)); /* init the port mutexes */ mutex_init(&porta->sp_mtx, NULL, MUTEX_DRIVER, socalp->iblkc); @@ -816,18 +817,18 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) mutex_init(&portb->sp_mtx, NULL, MUTEX_DRIVER, socalp->iblkc); cv_init(&portb->sp_cv, NULL, CV_DRIVER, NULL); DEBUGF(4, (CE_CONT, "socal%d: attach: inited port mutexes and cvs\n", - instance)); + instance)); /* get local copy of service params */ socal_wcopy((uint_t *)socalp->socal_xrp + SOCAL_XRAM_SERV_PARAMS, - (uint_t *)socalp->socal_service_params, SOCAL_SVC_LENGTH); + (uint_t *)socalp->socal_service_params, SOCAL_SVC_LENGTH); DEBUGF(4, (CE_CONT, "socal%d: attach: got service params\n", instance)); /* * Initailize the FCAL transport interface. */ socal_init_transport_interface(socalp); DEBUGF(4, (CE_CONT, "socal%d: attach: initalized transport interface\n", - instance)); + instance)); /* * Allocate request and response queues and init their mutexs. @@ -844,19 +845,20 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ burstsize = ddi_dma_burstsizes(socalp->request[0].skc_dhandle); DEBUGF(4, (CE_CONT, "socal%d: attach: burstsize = 0x%x\n", - instance, burstsize)); + instance, burstsize)); j = burstsize & BURSTSIZE_MASK; for (i = 0; socal_burst32_table[i] != SOCAL_CR_BURST_64; i++) if (!(j >>= 1)) break; socalp->socal_cfg = (socalp->socal_cfg & ~SOCAL_CR_SBUS_BURST_SIZE_MASK) - | socal_burst32_table[i]; + | socal_burst32_table[i]; if (socal_64bitsbus) { - if (ddi_dma_set_sbus64(socalp->request[0].skc_dhandle, - socal_dma_attr.dma_attr_burstsizes | BURST128) == DDI_SUCCESS) { + if (ddi_dma_set_sbus64(socalp->request[0].skc_dhandle, + socal_dma_attr.dma_attr_burstsizes | BURST128) == + DDI_SUCCESS) { DEBUGF(4, (CE_CONT, "socal%d: enabled 64 bit sbus\n", - instance)); + instance)); socalp->socal_cfg |= SOCAL_CR_SBUS_ENHANCED; burstsize = ddi_dma_burstsizes(socalp->request[0]. skc_dhandle); @@ -871,7 +873,7 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) socalp->socal_cfg = (socalp->socal_cfg & ~SOCAL_CR_SBUS_BURST_SIZE_64BIT_MASK) | socal_burst64_table[i]; - } + } } ddi_remove_intr(dip, 0, socalp->iblkc); @@ -880,24 +882,24 @@ socal_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Install the interrupt routine. */ if (ddi_add_intr(dip, - (uint_t)0, - &socalp->iblkc, - &socalp->idevc, - socal_intr, - (caddr_t)socalp) != DDI_SUCCESS) { - socal_disp_err(socalp, CE_WARN, "attach.4060", + (uint_t)0, + &socalp->iblkc, + &socalp->idevc, + socal_intr, + (caddr_t)socalp) != DDI_SUCCESS) { + socal_disp_err(socalp, CE_WARN, "attach.4060", "attach failed: unable to install interrupt handler"); - goto fail; + goto fail; } DEBUGF(4, (CE_CONT, "socal%d: attach: set config reg %x\n", - instance, socalp->socal_cfg)); + instance, socalp->socal_cfg)); if (ddi_create_minor_node(dip, SOCAL_PORTA_NAME, S_IFCHR, - instance*N_SOCAL_NPORTS, SOCAL_NT_PORT, 0) != DDI_SUCCESS) + instance*N_SOCAL_NPORTS, SOCAL_NT_PORT, 0) != DDI_SUCCESS) goto fail; if (ddi_create_minor_node(dip, SOCAL_PORTB_NAME, S_IFCHR, - instance*N_SOCAL_NPORTS+1, SOCAL_NT_PORT, 0) != DDI_SUCCESS) + instance*N_SOCAL_NPORTS+1, SOCAL_NT_PORT, 0) != DDI_SUCCESS) goto fail; if (socal_start(socalp) != FCAL_SUCCESS) @@ -1000,8 +1002,8 @@ socal_dodetach(dev_info_t *dip) if (socalp->iblkc != (void *)NULL) { ddi_remove_intr(dip, (uint_t)0, socalp->iblkc); DEBUGF(2, (CE_CONT, - "socal%d: detach: Removed SOC+ interrupt from ddi\n", - instance)); + "socal%d: detach: Removed SOC+ interrupt from ddi\n", + instance)); } for (i = 0; i < N_SOCAL_NPORTS; i++) { @@ -1011,9 +1013,9 @@ socal_dodetach(dev_info_t *dip) mutex_destroy(&portp->sp_transport->fcal_mtx); cv_destroy(&portp->sp_transport->fcal_cv); kmem_free((void *)portp->sp_transport, - sizeof (fcal_transport_t)); + sizeof (fcal_transport_t)); for (cb = portp->sp_unsol_cb; cb != (socal_unsol_cb_t *)NULL; - cb = cbn) { + cb = cbn) { cbn = cb->next; kmem_free((void *)cb, sizeof (socal_unsol_cb_t)); } @@ -1052,11 +1054,11 @@ socal_dodetach(dev_info_t *dip) } if (socalp->request[i].deferred_intr_timeoutid) { (void) untimeout(socalp-> - request[i].deferred_intr_timeoutid); + request[i].deferred_intr_timeoutid); } if (socalp->response[i].deferred_intr_timeoutid) { (void) untimeout(socalp-> - response[i].deferred_intr_timeoutid); + response[i].deferred_intr_timeoutid); } } @@ -1136,7 +1138,7 @@ socal_bus_ctl(dev_info_t *dip, dev_info_t *rip, ddi_ctl_enum_t op, return (DDI_FAILURE); port = ddi_getprop(DDI_DEV_T_ANY, child_dip, - DDI_PROP_DONTPASS, SOCAL_PORT_NO_PROP, -1); + DDI_PROP_DONTPASS, SOCAL_PORT_NO_PROP, -1); if ((port < 0) || (port > 1)) { port = ddi_getprop(DDI_DEV_T_ANY, child_dip, @@ -1170,7 +1172,7 @@ socal_bus_ctl(dev_info_t *dip, dev_info_t *rip, ddi_ctl_enum_t op, socalp = ddi_get_driver_private(dip); port = ddi_getprop(DDI_DEV_T_ANY, child_dip, - DDI_PROP_DONTPASS, SOCAL_PORT_NO_PROP, -1); + DDI_PROP_DONTPASS, SOCAL_PORT_NO_PROP, -1); if ((port < 0) || (port > 1)) { port = ddi_getprop(DDI_DEV_T_ANY, child_dip, @@ -1235,8 +1237,8 @@ socal_bus_ctl(dev_info_t *dip, dev_info_t *rip, ddi_ctl_enum_t op, * Remaining requests get passed up to our parent */ DEBUGF(2, (CE_CONT, "%s%d: op (%d) from %s%d\n", - ddi_get_name(dip), ddi_get_instance(dip), - op, ddi_get_name(rip), ddi_get_instance(rip))); + ddi_get_name(dip), ddi_get_instance(dip), + op, ddi_get_name(rip), ddi_get_instance(rip))); return (ddi_ctlops(dip, rip, op, a, v)); } @@ -1286,7 +1288,7 @@ socal_open(dev_t *devp, int flag, int otyp, cred_t *cred_p) { int instance = getminor(*devp)/2; socal_state_t *socalp = - ddi_get_soft_state(socal_soft_state_p, instance); + ddi_get_soft_state(socal_soft_state_p, instance); socal_port_t *port_statep; int port; @@ -1310,7 +1312,7 @@ socal_close(dev_t dev, int flag, int otyp, cred_t *cred_p) { int instance = getminor(dev)/2; socal_state_t *socalp = - ddi_get_soft_state(socal_soft_state_p, instance); + ddi_get_soft_state(socal_soft_state_p, instance); socal_port_t *port_statep; int port; @@ -1332,7 +1334,7 @@ socal_ioctl(dev_t dev, { int instance = getminor(dev)/2; socal_state_t *socalp = - ddi_get_soft_state(socal_soft_state_p, instance); + ddi_get_soft_state(socal_soft_state_p, instance); int port; socal_port_t *port_statep; int i; @@ -1367,413 +1369,417 @@ socal_ioctl(dev_t dev, port = getminor(dev)%2; switch (cmd) { - case FCIO_FCODE_MCODE_VERSION: + case FCIO_FCODE_MCODE_VERSION: #ifdef _MULTI_DATAMODEL - switch (ddi_model_convert_from(mode & FMODELS)) { - case DDI_MODEL_ILP32: - dm32 = 1; - if (ddi_copyin((caddr_t)arg, - (caddr_t)&ver32, sizeof (ver32), - mode) == -1) - return (EFAULT); - ver.fcode_ver_len = - ver32.fcode_ver_len; - ver.mcode_ver_len = - ver32.mcode_ver_len; - ver.prom_ver_len = - ver32.prom_ver_len; - ver.fcode_ver = - (caddr_t)(uintptr_t)ver32.fcode_ver; - ver.mcode_ver = - (caddr_t)(uintptr_t)ver32.mcode_ver; - ver.prom_ver = - (caddr_t)(uintptr_t)ver32.prom_ver; - break; - case DDI_MODEL_NONE: - if (ddi_copyin((caddr_t)arg, - (caddr_t)&ver, sizeof (ver), - mode) == -1) - return (EFAULT); - } -#else /* _MULTI_DATAMODEL */ - if (ddi_copyin((caddr_t)arg, (caddr_t)&ver, - sizeof (ver), mode) == -1) - return (EFAULT); -#endif /* _MULTI_DATAMODEL */ - dip = socalp->dip; - if (ddi_prop_op(DDI_DEV_T_ANY, dip, - PROP_LEN_AND_VAL_ALLOC, DDI_PROP_DONTPASS | - DDI_PROP_CANSLEEP, "version", (caddr_t)&buffer, - &i) != DDI_PROP_SUCCESS) - return (EIO); - if (i < ver.fcode_ver_len) - ver.fcode_ver_len = i; - if (ddi_copyout((caddr_t)buffer, - (caddr_t)ver.fcode_ver, ver.fcode_ver_len, - mode) == -1) { - kmem_free((caddr_t)buffer, i); - return (EFAULT); - } - kmem_free((caddr_t)buffer, i); - if (socalp->socal_eeprom) { - for (i = 0; i < SOCAL_N_CQS; i++) { - mutex_enter( - &socalp->request[i].skc_mtx); - mutex_enter( - &socalp->response[i].skc_mtx); - } - i = socalp->socal_rp->socal_cr.w; - socalp->socal_rp->socal_cr.w &= - ~SOCAL_CR_EEPROM_BANK_MASK; - socalp->socal_rp->socal_cr.w |= 3 << 16; - if (ver.prom_ver_len > 10) - ver.prom_ver_len = 10; - bcopy((caddr_t)socalp->socal_eeprom + (unsigned) - 0xfff6, tmp, 10); - socalp->socal_rp->socal_cr.w = i; - for (i = SOCAL_N_CQS-1; i >= 0; i--) { - mutex_exit(&socalp->request[i].skc_mtx); - mutex_exit( - &socalp->response[i].skc_mtx); - } - if (ddi_copyout((caddr_t)tmp, - (caddr_t)ver.prom_ver, - ver.prom_ver_len, mode) == -1) + switch (ddi_model_convert_from(mode & FMODELS)) { + case DDI_MODEL_ILP32: + dm32 = 1; + if (ddi_copyin((caddr_t)arg, + (caddr_t)&ver32, sizeof (ver32), + mode) == -1) return (EFAULT); - } else { - ver.prom_ver_len = 0; - } - ver.mcode_ver_len = 0; -#ifdef _MULTI_DATAMODEL - if (dm32) { - ver32.fcode_ver_len = ver.fcode_ver_len; - ver32.mcode_ver_len = ver.mcode_ver_len; - ver32.prom_ver_len = ver.prom_ver_len; - ver32.fcode_ver = (caddr32_t)(uintptr_t) - ver.fcode_ver; - ver32.mcode_ver = (caddr32_t)(uintptr_t) - ver.mcode_ver; - ver32.prom_ver = (caddr32_t)(uintptr_t) - ver.prom_ver; - if (ddi_copyout((caddr_t)&ver32, - (caddr_t)arg, sizeof (ver32), + ver.fcode_ver_len = + ver32.fcode_ver_len; + ver.mcode_ver_len = + ver32.mcode_ver_len; + ver.prom_ver_len = + ver32.prom_ver_len; + ver.fcode_ver = + (caddr_t)(uintptr_t)ver32.fcode_ver; + ver.mcode_ver = + (caddr_t)(uintptr_t)ver32.mcode_ver; + ver.prom_ver = + (caddr_t)(uintptr_t)ver32.prom_ver; + break; + case DDI_MODEL_NONE: + if (ddi_copyin((caddr_t)arg, + (caddr_t)&ver, sizeof (ver), mode) == -1) return (EFAULT); - } else + } +#else /* _MULTI_DATAMODEL */ + if (ddi_copyin((caddr_t)arg, (caddr_t)&ver, + sizeof (ver), mode) == -1) + return (EFAULT); #endif /* _MULTI_DATAMODEL */ - if (ddi_copyout((caddr_t)&ver, (caddr_t)arg, - sizeof (struct socal_fm_version), mode) == -1) - return (EFAULT); - break; - case FCIO_LOADUCODE: - mutex_enter(&socalp->k_imr_mtx); - socal_disable(socalp); - mutex_exit(&socalp->k_imr_mtx); - if (copyin((caddr_t)arg, (caddr_t)socal_ucode, 0x10000) - == -1) - return (EFAULT); - /* restart socal after resetting */ - (void) socal_force_reset((void *)socalp, 0, - RESET_PORT); - break; - case FCIO_DUMPXRAM: + dip = socalp->dip; + if (ddi_prop_op(DDI_DEV_T_ANY, dip, + PROP_LEN_AND_VAL_ALLOC, DDI_PROP_DONTPASS | + DDI_PROP_CANSLEEP, "version", (caddr_t)&buffer, + &i) != DDI_PROP_SUCCESS) + return (EIO); + if (i < ver.fcode_ver_len) + ver.fcode_ver_len = i; + if (ddi_copyout((caddr_t)buffer, + (caddr_t)ver.fcode_ver, ver.fcode_ver_len, + mode) == -1) { + kmem_free((caddr_t)buffer, i); + return (EFAULT); + } + kmem_free((caddr_t)buffer, i); + if (socalp->socal_eeprom) { for (i = 0; i < SOCAL_N_CQS; i++) { - mutex_enter(&socalp->request[i].skc_mtx); - mutex_enter(&socalp->response[i].skc_mtx); - } - for (i = 0; i < 4; i++) { - offset = arg+(0x10000 * i); - socalp->socal_rp->socal_cr.w &= - ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; - socalp->socal_rp->socal_cr.w |= i<<24; - (void) copyout((caddr_t)socalp->socal_xrp, - (caddr_t)(uintptr_t)offset, 0x10000); + mutex_enter( + &socalp->request[i].skc_mtx); + mutex_enter( + &socalp->response[i].skc_mtx); } + i = socalp->socal_rp->socal_cr.w; socalp->socal_rp->socal_cr.w &= - ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; + ~SOCAL_CR_EEPROM_BANK_MASK; + socalp->socal_rp->socal_cr.w |= 3 << 16; + if (ver.prom_ver_len > 10) + ver.prom_ver_len = 10; + bcopy((caddr_t)socalp->socal_eeprom + (unsigned) + 0xfff6, tmp, 10); + socalp->socal_rp->socal_cr.w = i; for (i = SOCAL_N_CQS-1; i >= 0; i--) { mutex_exit(&socalp->request[i].skc_mtx); - mutex_exit(&socalp->response[i].skc_mtx); + mutex_exit( + &socalp->response[i].skc_mtx); } - break; + if (ddi_copyout((caddr_t)tmp, + (caddr_t)ver.prom_ver, + ver.prom_ver_len, mode) == -1) + return (EFAULT); + } else { + ver.prom_ver_len = 0; + } + ver.mcode_ver_len = 0; +#ifdef _MULTI_DATAMODEL + if (dm32) { + ver32.fcode_ver_len = ver.fcode_ver_len; + ver32.mcode_ver_len = ver.mcode_ver_len; + ver32.prom_ver_len = ver.prom_ver_len; + ver32.fcode_ver = (caddr32_t)(uintptr_t) + ver.fcode_ver; + ver32.mcode_ver = (caddr32_t)(uintptr_t) + ver.mcode_ver; + ver32.prom_ver = (caddr32_t)(uintptr_t) + ver.prom_ver; + if (ddi_copyout((caddr_t)&ver32, + (caddr_t)arg, sizeof (ver32), + mode) == -1) + return (EFAULT); + } else +#endif /* _MULTI_DATAMODEL */ + if (ddi_copyout((caddr_t)&ver, (caddr_t)arg, + sizeof (struct socal_fm_version), mode) == -1) + return (EFAULT); + break; + case FCIO_LOADUCODE: + mutex_enter(&socalp->k_imr_mtx); + socal_disable(socalp); + mutex_exit(&socalp->k_imr_mtx); + if (copyin((caddr_t)arg, (caddr_t)socal_ucode, 0x10000) + == -1) + return (EFAULT); + /* restart socal after resetting */ + (void) socal_force_reset((void *)socalp, 0, + RESET_PORT); + break; + case FCIO_DUMPXRAM: + for (i = 0; i < SOCAL_N_CQS; i++) { + mutex_enter(&socalp->request[i].skc_mtx); + mutex_enter(&socalp->response[i].skc_mtx); + } + for (i = 0; i < 4; i++) { + offset = arg+(0x10000 * i); + socalp->socal_rp->socal_cr.w &= + ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; + socalp->socal_rp->socal_cr.w |= i<<24; + (void) copyout((caddr_t)socalp->socal_xrp, + (caddr_t)(uintptr_t)offset, 0x10000); + } + socalp->socal_rp->socal_cr.w &= + ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; + for (i = SOCAL_N_CQS-1; i >= 0; i--) { + mutex_exit(&socalp->request[i].skc_mtx); + mutex_exit(&socalp->response[i].skc_mtx); + } + break; #ifdef DEBUG - case FCIO_DUMPXRAMBUF: - (void) copyout((caddr_t)socal_xrambuf, (caddr_t)arg, - 0x40000); - break; + case FCIO_DUMPXRAMBUF: + (void) copyout((caddr_t)socal_xrambuf, (caddr_t)arg, + 0x40000); + break; #endif - case FCIO_GETMAP: - mutex_enter(&socalp->ioctl_mtx); - if (socal_getmap(socalp, port, (caddr_t)arg, 0, 0) == - -1) - retval = FCAL_ALLOC_FAILED; - mutex_exit(&socalp->ioctl_mtx); - break; - case FCIO_BYPASS_DEV: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_bypass_dev((void *)socalp, port, arg); - mutex_exit(&socalp->ioctl_mtx); - break; - case FCIO_FORCE_LIP: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_force_lip((void *)socalp, port, 0, - FCAL_FORCE_LIP); - mutex_exit(&socalp->ioctl_mtx); - break; - case FCIO_FORCE_OFFLINE: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_force_offline((void *)socalp, port, 0); - mutex_exit(&socalp->ioctl_mtx); - break; - case FCIO_ADISC_ELS: - { - if ((adisc_pl = - (la_els_adisc_t *)kmem_zalloc(sizeof (la_els_adisc_t), - KM_NOSLEEP)) == NULL) - return (ENOMEM); - - if (copyin((caddr_t)arg, (caddr_t)adisc_pl, - sizeof (la_els_adisc_t)) == -1) { - kmem_free((void *)adisc_pl, sizeof (la_els_adisc_t)); + case FCIO_GETMAP: + mutex_enter(&socalp->ioctl_mtx); + if (socal_getmap(socalp, port, (caddr_t)arg, 0, 0) == + -1) + retval = FCAL_ALLOC_FAILED; + mutex_exit(&socalp->ioctl_mtx); + break; + case FCIO_BYPASS_DEV: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_bypass_dev((void *)socalp, port, arg); + mutex_exit(&socalp->ioctl_mtx); + break; + case FCIO_FORCE_LIP: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_force_lip((void *)socalp, port, 0, + FCAL_FORCE_LIP); + mutex_exit(&socalp->ioctl_mtx); + break; + case FCIO_FORCE_OFFLINE: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_force_offline((void *)socalp, port, 0); + mutex_exit(&socalp->ioctl_mtx); + break; + case FCIO_ADISC_ELS: + { + if ((adisc_pl = + (la_els_adisc_t *)kmem_zalloc( + sizeof (la_els_adisc_t), + KM_NOSLEEP)) == NULL) + return (ENOMEM); + + if (copyin((caddr_t)arg, (caddr_t)adisc_pl, + sizeof (la_els_adisc_t)) == -1) { + kmem_free((void *)adisc_pl, + sizeof (la_els_adisc_t)); return (EFAULT); - } - mutex_enter(&socalp->ioctl_mtx); - retval = socal_issue_adisc(socalp, port, adisc_pl->nport_id, - adisc_pl, 0); - mutex_exit(&socalp->ioctl_mtx); + } + mutex_enter(&socalp->ioctl_mtx); + retval = socal_issue_adisc(socalp, port, + adisc_pl->nport_id, + adisc_pl, 0); + mutex_exit(&socalp->ioctl_mtx); + + if (retval == FCAL_SUCCESS) { + if (copyout((caddr_t)adisc_pl, (caddr_t)arg, + sizeof (la_els_adisc_t)) == -1) { + kmem_free((void *)adisc_pl, + sizeof (la_els_adisc_t)); + return (EFAULT); + } + } - if (retval == FCAL_SUCCESS) { - if (copyout((caddr_t)adisc_pl, (caddr_t)arg, - sizeof (la_els_adisc_t)) == -1) { - kmem_free((void *)adisc_pl, - sizeof (la_els_adisc_t)); - return (EFAULT); - } - } + kmem_free((void *)adisc_pl, sizeof (la_els_adisc_t)); + break; + } + case FCIO_LINKSTATUS: + { + int dest; + if ((rls_pl = + (la_els_rls_reply_t *) + kmem_zalloc(sizeof (la_els_rls_reply_t), + KM_NOSLEEP)) == NULL) + return (ENOMEM); - kmem_free((void *)adisc_pl, sizeof (la_els_adisc_t)); - break; + if (copyin((caddr_t)arg, (caddr_t)rls_pl, + sizeof (la_els_rls_reply_t)) == -1) { + kmem_free((void *)rls_pl, + sizeof (la_els_rls_reply_t)); + return (EFAULT); } - case FCIO_LINKSTATUS: - { - int dest; - if ((rls_pl = - (la_els_rls_reply_t *) - kmem_zalloc(sizeof (la_els_rls_reply_t), - KM_NOSLEEP)) == NULL) - return (ENOMEM); - - if (copyin((caddr_t)arg, (caddr_t)rls_pl, - sizeof (la_els_rls_reply_t)) == -1) { - kmem_free((void *)rls_pl, sizeof (la_els_rls_reply_t)); + dest = (rls_pl->mbz[0] << 16) + (rls_pl->mbz[1] << 8) + + rls_pl->mbz[2]; + mutex_enter(&socalp->ioctl_mtx); + retval = socal_issue_rls(socalp, port, dest, + rls_pl, 0); + mutex_exit(&socalp->ioctl_mtx); + + if (retval == FCAL_SUCCESS) { + if (copyout((caddr_t)rls_pl, (caddr_t)arg, + sizeof (la_els_rls_reply_t)) == -1) { + kmem_free((void *)rls_pl, + sizeof (la_els_rls_reply_t)); return (EFAULT); - } - dest = (rls_pl->mbz[0] << 16) + (rls_pl->mbz[1] << 8) + - rls_pl->mbz[2]; - mutex_enter(&socalp->ioctl_mtx); - retval = socal_issue_rls(socalp, port, dest, - rls_pl, 0); - mutex_exit(&socalp->ioctl_mtx); - - if (retval == FCAL_SUCCESS) { - if (copyout((caddr_t)rls_pl, (caddr_t)arg, - sizeof (la_els_rls_reply_t)) == -1) { - kmem_free((void *)rls_pl, - sizeof (la_els_rls_reply_t)); - return (EFAULT); - } - } - kmem_free((void *)rls_pl, sizeof (la_els_rls_reply_t)); - break; } - case FCIO_LOOPBACK_INTERNAL: - /* - * If userland doesn't provide a location for a return - * value the driver will permanently offline the port, - * ignoring any checks for devices on the loop. - */ - mutex_enter(&socalp->ioctl_mtx); - if (arg == 0) { - port_statep = &socalp->port_state[port]; - mutex_enter(&port_statep->sp_mtx); - if (port_statep->sp_status & PORT_DISABLED) { - /* Already disabled */ - mutex_exit(&port_statep->sp_mtx); - mutex_exit(&socalp->ioctl_mtx); - return (EALREADY); - } - port_statep->sp_status |= PORT_DISABLED; - mutex_exit(&port_statep->sp_mtx); - } - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_INT_LOOP); - mutex_exit(&socalp->ioctl_mtx); - if (arg == 0) break; - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_LOOPBACK_MANUAL: - mutex_enter(&socalp->ioctl_mtx); + } + kmem_free((void *)rls_pl, sizeof (la_els_rls_reply_t)); + break; + } + case FCIO_LOOPBACK_INTERNAL: + /* + * If userland doesn't provide a location for a return + * value the driver will permanently offline the port, + * ignoring any checks for devices on the loop. + */ + mutex_enter(&socalp->ioctl_mtx); + if (arg == 0) { port_statep = &socalp->port_state[port]; mutex_enter(&port_statep->sp_mtx); if (port_statep->sp_status & PORT_DISABLED) { + /* Already disabled */ mutex_exit(&port_statep->sp_mtx); mutex_exit(&socalp->ioctl_mtx); - return (EBUSY); + return (EALREADY); } + port_statep->sp_status |= PORT_DISABLED; mutex_exit(&port_statep->sp_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_EXT_LOOP); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_NO_LOOPBACK: - mutex_enter(&socalp->ioctl_mtx); - port_statep = &socalp->port_state[port]; - mutex_enter(&port_statep->sp_mtx); - /* Do not allow online if we're disabled */ - if (port_statep->sp_status & PORT_DISABLED) { - if (arg != 0) { - mutex_exit(&port_statep->sp_mtx); - mutex_exit(&socalp->ioctl_mtx); - /* - * It's permanently disabled -- Need to - * enable it first - */ - return (EBUSY); - } - /* This was a request to online. */ - port_statep->sp_status &= ~PORT_DISABLED; - } + } + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_INT_LOOP); + mutex_exit(&socalp->ioctl_mtx); + if (arg == 0) break; + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_LOOPBACK_MANUAL: + mutex_enter(&socalp->ioctl_mtx); + port_statep = &socalp->port_state[port]; + mutex_enter(&port_statep->sp_mtx); + if (port_statep->sp_status & PORT_DISABLED) { mutex_exit(&port_statep->sp_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_REM_LOOP); - mutex_exit(&socalp->ioctl_mtx); - if (arg == 0) break; - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_NOP: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_NOP); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_XRAM: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_XRAM_TEST); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_SOC: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_SOC_TEST); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_HCB: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_HCB_TEST); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_SOCLB: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_SOCLB_TEST); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_SRDSLB: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_SRDSLB_TEST); mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_EXTLB: - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - SOC_DIAG_EXTOE_TEST); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_DIAG_RAW: - if (copyin((caddr_t)arg, (caddr_t)&i, sizeof (uint_t)) - == -1) - return (EFAULT); - mutex_enter(&socalp->ioctl_mtx); - retval = socal_diag_request((void *)socalp, port, &r, - (uint_t)i); - mutex_exit(&socalp->ioctl_mtx); - if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) - == -1) - return (EFAULT); - break; - case FCIO_LOOPBACK_FRAME: - if ((flb_hdr = (flb_hdr_t *)kmem_zalloc(sizeof (flb_hdr_t), - KM_NOSLEEP)) == NULL) - return (ENOMEM); - - if (copyin((caddr_t)arg, - (caddr_t)flb_hdr, sizeof (flb_hdr_t)) == -1) { - kmem_free((void *)flb_hdr, sizeof (flb_hdr_t)); + return (EBUSY); + } + mutex_exit(&port_statep->sp_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_EXT_LOOP); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_NO_LOOPBACK: + mutex_enter(&socalp->ioctl_mtx); + port_statep = &socalp->port_state[port]; + mutex_enter(&port_statep->sp_mtx); + /* Do not allow online if we're disabled */ + if (port_statep->sp_status & PORT_DISABLED) { + if (arg != 0) { + mutex_exit(&port_statep->sp_mtx); + mutex_exit(&socalp->ioctl_mtx); + /* + * It's permanently disabled -- Need to + * enable it first + */ + return (EBUSY); + } + /* This was a request to online. */ + port_statep->sp_status &= ~PORT_DISABLED; + } + mutex_exit(&port_statep->sp_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_REM_LOOP); + mutex_exit(&socalp->ioctl_mtx); + if (arg == 0) break; + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_DIAG_NOP: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_NOP); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_DIAG_XRAM: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_XRAM_TEST); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_DIAG_SOC: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_SOC_TEST); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_DIAG_HCB: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_HCB_TEST); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_DIAG_SOCLB: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_SOCLB_TEST); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) return (EFAULT); - } + break; + case FCIO_DIAG_SRDSLB: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_SRDSLB_TEST); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_DIAG_EXTLB: + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + SOC_DIAG_EXTOE_TEST); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_DIAG_RAW: + if (copyin((caddr_t)arg, (caddr_t)&i, sizeof (uint_t)) + == -1) + return (EFAULT); + mutex_enter(&socalp->ioctl_mtx); + retval = socal_diag_request((void *)socalp, port, &r, + (uint_t)i); + mutex_exit(&socalp->ioctl_mtx); + if (copyout((caddr_t)&r, (caddr_t)arg, sizeof (uint_t)) + == -1) + return (EFAULT); + break; + case FCIO_LOOPBACK_FRAME: + if ((flb_hdr = (flb_hdr_t *)kmem_zalloc(sizeof (flb_hdr_t), + KM_NOSLEEP)) == NULL) + return (ENOMEM); - flb_size = flb_hdr->length; + if (copyin((caddr_t)arg, + (caddr_t)flb_hdr, sizeof (flb_hdr_t)) == -1) { + kmem_free((void *)flb_hdr, sizeof (flb_hdr_t)); + return (EFAULT); + } - if ((flb_pl = - (uchar_t *)kmem_zalloc(flb_size, KM_NOSLEEP)) == NULL) - return (ENOMEM); + flb_size = flb_hdr->length; - if (copyin((caddr_t)(arg + sizeof (flb_hdr_t)), - (caddr_t)flb_pl, flb_size) == -1) { - kmem_free((void *)flb_pl, flb_size); - return (EFAULT); - } - mutex_enter(&socalp->ioctl_mtx); - retval = socal_issue_lbf(socalp, port, flb_pl, - flb_size, 1); - mutex_exit(&socalp->ioctl_mtx); + if ((flb_pl = + (uchar_t *)kmem_zalloc(flb_size, KM_NOSLEEP)) == NULL) + return (ENOMEM); - if (retval == FCAL_SUCCESS) { - if (copyout((caddr_t)flb_pl, - (caddr_t)(arg + sizeof (flb_hdr_t) + - flb_hdr->max_length), flb_size) == -1) { - kmem_free((void *)flb_pl, flb_size); - kmem_free((void *)flb_hdr, sizeof (flb_hdr_t)); - return (EFAULT); - } - } + if (copyin((caddr_t)(arg + sizeof (flb_hdr_t)), + (caddr_t)flb_pl, flb_size) == -1) { + kmem_free((void *)flb_pl, flb_size); + return (EFAULT); + } + mutex_enter(&socalp->ioctl_mtx); + retval = socal_issue_lbf(socalp, port, flb_pl, + flb_size, 1); + mutex_exit(&socalp->ioctl_mtx); + + if (retval == FCAL_SUCCESS) { + if (copyout((caddr_t)flb_pl, + (caddr_t)(arg + sizeof (flb_hdr_t) + + flb_hdr->max_length), flb_size) == -1) { + kmem_free((void *)flb_pl, flb_size); + kmem_free((void *)flb_hdr, sizeof (flb_hdr_t)); + return (EFAULT); + } + } - kmem_free((void *)flb_pl, flb_size); - kmem_free((void *)flb_hdr, sizeof (flb_hdr_t)); - break; - default: - return (ENOTTY); + kmem_free((void *)flb_pl, flb_size); + kmem_free((void *)flb_hdr, sizeof (flb_hdr_t)); + break; + default: + return (ENOTTY); } switch (retval) { @@ -1842,7 +1848,7 @@ socal_init_transport_interface(socal_state_t *socalp) for (i = 0; i < N_SOCAL_NPORTS; i++) { xport = socalp->port_state[i].sp_transport; mutex_init(&xport->fcal_mtx, NULL, MUTEX_DRIVER, - (void *)(socalp->iblkc)); + (void *)(socalp->iblkc)); cv_init(&xport->fcal_cv, NULL, CV_DRIVER, NULL); @@ -1853,9 +1859,9 @@ socal_init_transport_interface(socal_state_t *socalp) xport->fcal_accattr = &socal_acc_attr; xport->fcal_loginparms = socalp->socal_service_params; bcopy((caddr_t)&socalp->socal_n_wwn, - (caddr_t)&xport->fcal_n_wwn, sizeof (la_wwn_t)); + (caddr_t)&xport->fcal_n_wwn, sizeof (la_wwn_t)); bcopy((caddr_t)&socalp->port_state[i].sp_p_wwn, - (caddr_t)&xport->fcal_p_wwn, sizeof (la_wwn_t)); + (caddr_t)&xport->fcal_p_wwn, sizeof (la_wwn_t)); xport->fcal_portno = i; xport->fcal_cmdmax = SOCAL_MAX_XCHG; xport->fcal_ops = &socal_transport_ops; @@ -1911,7 +1917,7 @@ socal_cqalloc_init(socal_state_t *socalp, uint32_t index) &cqp->skc_acchandle) != DDI_SUCCESS) { socal_disp_err(socalp, CE_WARN, "driver.4030", "!alloc of dma space failed"); - goto fail; + goto fail; } if (real_len < (cq_size + SOCAL_CQ_ALIGN)) { @@ -1920,8 +1926,8 @@ socal_cqalloc_init(socal_state_t *socalp, uint32_t index) goto fail; } cqp->skc_cq = (cqe_t *)(((uintptr_t)cqp->skc_cq_raw + - (uintptr_t)SOCAL_CQ_ALIGN - 1) & - ((uintptr_t)(~(SOCAL_CQ_ALIGN-1)))); + (uintptr_t)SOCAL_CQ_ALIGN - 1) & + ((uintptr_t)(~(SOCAL_CQ_ALIGN-1)))); if (ddi_dma_addr_bind_handle(cqp->skc_dhandle, (struct as *)NULL, (caddr_t)cqp->skc_cq, cq_size, @@ -1965,7 +1971,7 @@ socal_cqalloc_init(socal_state_t *socalp, uint32_t index) &cqp->skc_acchandle) != DDI_SUCCESS) { socal_disp_err(socalp, CE_WARN, "driver.4060", "!alloc of dma space failed"); - goto fail; + goto fail; } if (real_len < (cq_size + SOCAL_CQ_ALIGN)) { @@ -1975,8 +1981,8 @@ socal_cqalloc_init(socal_state_t *socalp, uint32_t index) } cqp->skc_cq = (cqe_t *)(((uintptr_t)cqp->skc_cq_raw + - (uintptr_t)SOCAL_CQ_ALIGN - 1) & - ((uintptr_t)(~(SOCAL_CQ_ALIGN-1)))); + (uintptr_t)SOCAL_CQ_ALIGN - 1) & + ((uintptr_t)(~(SOCAL_CQ_ALIGN-1)))); if (ddi_dma_addr_bind_handle(cqp->skc_dhandle, (struct as *)NULL, (caddr_t)cqp->skc_cq, cq_size, @@ -2066,9 +2072,9 @@ socal_cqinit(socal_state_t *socalp, uint32_t index) kcq_rsp->skc_socalp = socalp; kcq_req->skc_xram_cqdesc = - (socalp->xram_reqp + (index * sizeof (struct cq))/8); + (socalp->xram_reqp + (index * sizeof (struct cq))/8); kcq_rsp->skc_xram_cqdesc = - (socalp->xram_rspp + (index * sizeof (struct cq))/8); + (socalp->xram_rspp + (index * sizeof (struct cq))/8); /* Clear out memory we have allocated */ if (kcq_req->skc_cq != NULL) @@ -2094,13 +2100,13 @@ socal_start(socal_state_t *socalp) mutex_enter(&socalp->port_state[0].sp_mtx); socalp->port_state[0].sp_status - &= (PORT_OPEN|PORT_CHILD_INIT|PORT_DISABLED|PORT_TARGET_MODE); + &= (PORT_OPEN|PORT_CHILD_INIT|PORT_DISABLED|PORT_TARGET_MODE); socalp->port_state[0].sp_status |= PORT_OFFLINE; mutex_exit(&socalp->port_state[0].sp_mtx); mutex_enter(&socalp->port_state[1].sp_mtx); socalp->port_state[1].sp_status - &= (PORT_OPEN|PORT_CHILD_INIT|PORT_DISABLED|PORT_TARGET_MODE); + &= (PORT_OPEN|PORT_CHILD_INIT|PORT_DISABLED|PORT_TARGET_MODE); socalp->port_state[1].sp_status |= PORT_OFFLINE; mutex_exit(&socalp->port_state[1].sp_mtx); @@ -2108,10 +2114,10 @@ socal_start(socal_state_t *socalp) /* Make sure disabled ports stay disabled. */ if (socalp->port_state[0].sp_status & PORT_DISABLED) (void) socal_diag_request((void *)socalp, 0, &r, - SOC_DIAG_INT_LOOP); + SOC_DIAG_INT_LOOP); if (socalp->port_state[1].sp_status & PORT_DISABLED) (void) socal_diag_request((void *)socalp, 1, &r, - SOC_DIAG_INT_LOOP); + SOC_DIAG_INT_LOOP); mutex_enter(&socalp->k_imr_mtx); socalp->socal_shutdown = 0; @@ -2165,9 +2171,9 @@ socal_doreset(socal_state_t *socalp) mutex_enter(&port_statep->sp_mtx); port_statep->sp_status &= ~ (PORT_STATUS_MASK | - PORT_LILP_PENDING | PORT_LIP_PENDING | - PORT_ABORT_PENDING | PORT_BYPASS_PENDING | - PORT_ELS_PENDING); + PORT_LILP_PENDING | PORT_LIP_PENDING | + PORT_ABORT_PENDING | PORT_BYPASS_PENDING | + PORT_ELS_PENDING); mutex_exit(&port_statep->sp_mtx); } @@ -2180,7 +2186,7 @@ socal_doreset(socal_state_t *socalp) for (i = 0; i < N_SOCAL_NPORTS; i++) { for (scbp = socalp->port_state[i].sp_unsol_cb; scbp; - scbp = scbp->next) + scbp = scbp->next) (scbp->statec_cb)(scbp->arg, FCAL_STATE_RESET); } @@ -2225,7 +2231,7 @@ socal_download_ucode(socal_state_t *socalp) /* Copy the firmware image */ socal_wcopy((uint_t *)&socal_ucode, - (uint_t *)socalp->socal_xrp, fw_len); + (uint_t *)socalp->socal_xrp, fw_len); socal_fix_harda(socalp, 0); socal_fix_harda(socalp, 1); @@ -2236,16 +2242,19 @@ socal_download_ucode(socal_state_t *socalp) date_str[sizeof (date_str) / sizeof (uint_t) - 1] = 0; if (*(caddr_t)date_str != '\0') { - (void) sprintf(buf, "!Downloading host adapter, fw date code: %s\n", - (caddr_t)date_str); - socal_disp_err(socalp, CE_CONT, "driver.1010", buf); - (void) strcpy(socalp->socal_stats.fw_revision, (char *)date_str); + (void) sprintf(buf, + "!Downloading host adapter, fw date code: %s\n", + (caddr_t)date_str); + socal_disp_err(socalp, CE_CONT, "driver.1010", buf); + (void) strcpy(socalp->socal_stats.fw_revision, + (char *)date_str); } else { - (void) sprintf(buf, - "!Downloading host adapter fw, date code: <not available>\n"); - socal_disp_err(socalp, CE_CONT, "driver.3010", buf); - (void) strcpy(socalp->socal_stats.fw_revision, - "<Not Available>"); + (void) sprintf(buf, + "!Downloading host adapter fw, " + "date code: <not available>\n"); + socal_disp_err(socalp, CE_CONT, "driver.3010", buf); + (void) strcpy(socalp->socal_stats.fw_revision, + "<Not Available>"); } } @@ -2272,17 +2281,17 @@ socal_disp_err( c = *msg; if (c == '!') /* log only */ - cmn_err(level, + cmn_err(level, "!ID[SUNWssa.socal.%s] socal%d: %s", mid, instance, msg+1); else if (c == '?') /* boot message - log && maybe console */ - cmn_err(level, + cmn_err(level, "?ID[SUNWssa.socal.%s] socal%d: %s", mid, instance, msg+1); else if (c == '^') /* console only */ - cmn_err(level, "^socal%d: %s", instance, msg+1); + cmn_err(level, "^socal%d: %s", instance, msg+1); else { /* log and console */ - cmn_err(level, "^socal%d: %s", instance, msg); - cmn_err(level, "!ID[SUNWssa.socal.%s] socal%d: %s", mid, - instance, msg); + cmn_err(level, "^socal%d: %s", instance, msg); + cmn_err(level, "!ID[SUNWssa.socal.%s] socal%d: %s", mid, + instance, msg); } } @@ -2315,12 +2324,13 @@ socal_init_cq_desc(socal_state_t *socalp) */ for (i = 0; i < SOCAL_N_CQS; i++) { if (socal_req_entries[i]) { - que_desc[i].cq_address = - (uint32_t)socalp->request[i].skc_dcookie.dmac_address; - que_desc[i].cq_last_index = socal_req_entries[i] - 1; + que_desc[i].cq_address = + (uint32_t)socalp->request[i]. + skc_dcookie.dmac_address; + que_desc[i].cq_last_index = socal_req_entries[i] - 1; } else { - que_desc[i].cq_address = (uint32_t)0; - que_desc[i].cq_last_index = 0; + que_desc[i].cq_address = (uint32_t)0; + que_desc[i].cq_last_index = 0; } que_desc[i].cq_in = 0; que_desc[i].cq_out = 0; @@ -2329,28 +2339,29 @@ socal_init_cq_desc(socal_state_t *socalp) /* copy to XRAM */ socal_wcopy((uint_t *)que_desc, /* pointer to kernel copy */ - (uint_t *)socalp->xram_reqp, /* pointer to xram location */ - SOCAL_N_CQS * sizeof (soc_cq_t)); + (uint_t *)socalp->xram_reqp, /* pointer to xram location */ + SOCAL_N_CQS * sizeof (soc_cq_t)); /* * Do response queues */ for (i = 0; i < SOCAL_N_CQS; i++) { if (socal_rsp_entries[i]) { - que_desc[i].cq_last_index = socal_rsp_entries[i] - 1; - que_desc[i].cq_address = - (uint32_t)socalp->response[i].skc_dcookie.dmac_address; + que_desc[i].cq_last_index = socal_rsp_entries[i] - 1; + que_desc[i].cq_address = + (uint32_t)socalp->response[i]. + skc_dcookie.dmac_address; } else { - que_desc[i].cq_address = 0; - que_desc[i].cq_last_index = 0; + que_desc[i].cq_address = 0; + que_desc[i].cq_last_index = 0; } } /* copy to XRAM */ socal_wcopy((uint_t *)que_desc, /* pointer to kernel copy */ - (uint_t *)socalp->xram_rspp, /* pointer to xram location */ - SOCAL_N_CQS * sizeof (soc_cq_t)); + (uint_t *)socalp->xram_rspp, /* pointer to xram location */ + SOCAL_N_CQS * sizeof (soc_cq_t)); } static void @@ -2358,18 +2369,18 @@ socal_init_wwn(socal_state_t *socalp) { /* copy the node wwn to xram */ socal_wcopy((uint_t *)&socalp->socal_n_wwn, - (uint_t *)(socalp->socal_xrp + - SOCAL_XRAM_NODE_WWN), sizeof (la_wwn_t)); + (uint_t *)(socalp->socal_xrp + + SOCAL_XRAM_NODE_WWN), sizeof (la_wwn_t)); /* copy port a's wwn to xram */ socal_wcopy((uint_t *)&socalp->port_state[0].sp_p_wwn, - (uint_t *)(socalp->socal_xrp + SOCAL_XRAM_PORTA_WWN), - sizeof (la_wwn_t)); + (uint_t *)(socalp->socal_xrp + SOCAL_XRAM_PORTA_WWN), + sizeof (la_wwn_t)); /* copy port b's wwn to xram */ socal_wcopy((uint_t *)&socalp->port_state[1].sp_p_wwn, - (uint_t *)(socalp->socal_xrp + SOCAL_XRAM_PORTB_WWN), - sizeof (la_wwn_t)); + (uint_t *)(socalp->socal_xrp + SOCAL_XRAM_PORTB_WWN), + sizeof (la_wwn_t)); /* * need to avoid deadlock by assuring no other thread grabs both of @@ -2379,7 +2390,7 @@ socal_init_wwn(socal_state_t *socalp) mutex_enter(&socalp->port_state[1].sp_transport->fcal_mtx); socal_wcopy((uint_t *)(socalp->socal_xrp + SOCAL_XRAM_SERV_PARAMS), - (uint_t *)&socalp->socal_service_params, SOCAL_SVC_LENGTH); + (uint_t *)&socalp->socal_service_params, SOCAL_SVC_LENGTH); mutex_exit(&socalp->port_state[1].sp_transport->fcal_mtx); mutex_exit(&socalp->port_state[0].sp_transport->fcal_mtx); } @@ -2388,7 +2399,7 @@ static void socal_enable(socal_state_t *socalp) { DEBUGF(2, (CE_CONT, "socal%d: enable:\n", - ddi_get_instance(socalp->dip))); + ddi_get_instance(socalp->dip))); socalp->socal_rp->socal_cr.w = socalp->socal_cfg; socalp->socal_rp->socal_csr.w = SOCAL_CSR_SOCAL_TO_HOST; @@ -2415,15 +2426,15 @@ socal_establish_pool(socal_state_t *socalp, uint32_t poolid) int result; if ((prq = - (soc_pool_request_t *)kmem_zalloc(sizeof (soc_pool_request_t), - KM_NOSLEEP)) == NULL) + (soc_pool_request_t *)kmem_zalloc(sizeof (soc_pool_request_t), + KM_NOSLEEP)) == NULL) return (FCAL_FAILURE); /* * Fill in the request structure. */ prq->spr_soc_hdr.sh_request_token = 1; prq->spr_soc_hdr.sh_flags = SOC_FC_HEADER | SOC_UNSOLICITED | - SOC_NO_RESPONSE; + SOC_NO_RESPONSE; prq->spr_soc_hdr.sh_class = 0; prq->spr_soc_hdr.sh_seg_cnt = 1; prq->spr_soc_hdr.sh_byte_cnt = 0; @@ -2452,7 +2463,7 @@ socal_establish_pool(socal_state_t *socalp, uint32_t poolid) /* Enque the request. */ result = socal_cq_enque(socalp, NULL, (cqe_t *)prq, CQ_REQUEST_1, - FCAL_NOSLEEP, NULL, 0); + FCAL_NOSLEEP, NULL, 0); kmem_free((void *)prq, sizeof (soc_pool_request_t)); return (result); @@ -2479,8 +2490,8 @@ socal_add_pool_buffer(socal_state_t *socalp, uint32_t poolid) uint_t ccount; if ((drq = - (soc_data_request_t *)kmem_zalloc(sizeof (soc_data_request_t), - KM_NOSLEEP)) == NULL) + (soc_data_request_t *)kmem_zalloc(sizeof (soc_data_request_t), + KM_NOSLEEP)) == NULL) return (FCAL_FAILURE); /* Allocate DVMA resources for the buffer pool */ @@ -2517,7 +2528,7 @@ socal_add_pool_buffer(socal_state_t *socalp, uint32_t poolid) drq->sdr_soc_hdr.sh_byte_cnt = 0; drq->sdr_dataseg[0].fc_base = - (uint32_t)socalp->pool_dcookie.dmac_address; + (uint32_t)socalp->pool_dcookie.dmac_address; drq->sdr_dataseg[0].fc_count = SOCAL_POOL_SIZE; drq->sdr_dataseg[1].fc_base = 0; drq->sdr_dataseg[1].fc_count = 0; @@ -2537,13 +2548,13 @@ socal_add_pool_buffer(socal_state_t *socalp, uint32_t poolid) /* Transport the request. */ result = socal_cq_enque(socalp, NULL, (cqe_t *)drq, CQ_REQUEST_1, - FCAL_NOSLEEP, NULL, 0); + FCAL_NOSLEEP, NULL, 0); kmem_free((void *)drq, sizeof (soc_data_request_t)); return (result); fail: socal_disp_err(socalp, CE_WARN, "driver.4110", - "!Buffer pool DVMA alloc failed"); + "!Buffer pool DVMA alloc failed"); if (socalp->pool_dhandle) { if (bound) (void) ddi_dma_unbind_handle(socalp->pool_dhandle); @@ -2573,7 +2584,7 @@ socal_transport(fcal_packet_t *fcalpkt, fcal_sleep_t sleep, int req_q_no) port_statep = &socalp->port_state[port]; DEBUGF(4, (CE_CONT, "socal%d: transport: packet, sleep = %p, %d\n", - instance, fcalpkt, sleep)); + instance, fcalpkt, sleep)); fcalpkt->fcal_cmd_state = 0; fcalpkt->fcal_pkt_flags &= ~(FCFLAG_COMPLETE | FCFLAG_ABORTING); @@ -2630,8 +2641,8 @@ socal_cq_enque(socal_state_t *socalp, socal_port_t *port_statep, cqe_t *cqe, */ if (to_queue) { if ((to_queue->fcal_socal_request.sr_soc_hdr.sh_request_token = - SOCAL_ID_GET(to_queue, mtxheld ? FCAL_NOSLEEP : - sleep)) == NULL) { + SOCAL_ID_GET(to_queue, mtxheld ? FCAL_NOSLEEP : + sleep)) == NULL) { return (FCAL_TRANSPORT_QFULL); } } @@ -2648,22 +2659,23 @@ socal_cq_enque(socal_state_t *socalp, socal_port_t *port_statep, cqe_t *cqe, do { - if (kcq->skc_full) { + if (kcq->skc_full) { /* * If soc's queue full, then we wait for an interrupt * telling us we are not full. */ - if (to_queue) { + if (to_queue) { to_queue->fcal_pkt_next = NULL; if (!kcq->skc_overflowh) { - DEBUGF(2, (CE_CONT, - "socal%d: cq_enque: request que %d is full\n", - instance, rqix)); - kcq->skc_overflowh = to_queue; - socalp->socal_stats.qfulls++; + DEBUGF(2, (CE_CONT, + "socal%d: cq_enque: request " + "que %d is full\n", + instance, rqix)); + kcq->skc_overflowh = to_queue; + socalp->socal_stats.qfulls++; } else - kcq->skc_overflowt->fcal_pkt_next = to_queue; + kcq->skc_overflowt->fcal_pkt_next = to_queue; kcq->skc_overflowt = to_queue; mutex_enter(&socalp->k_imr_mtx); @@ -2674,29 +2686,29 @@ socal_cq_enque(socal_state_t *socalp, socal_port_t *port_statep, cqe_t *cqe, if (!mtxheld) mutex_exit(&kcq->skc_mtx); return (FCAL_TRANSPORT_SUCCESS); - } + } - if (!mtxheld) + if (!mtxheld) mutex_exit(&kcq->skc_mtx); - return (FCAL_TRANSPORT_QFULL); - } + return (FCAL_TRANSPORT_QFULL); + } - if (((kcq->skc_in + 1) & kcq->skc_last_index) - == (out = kcq->skc_out)) { + if (((kcq->skc_in + 1) & kcq->skc_last_index) + == (out = kcq->skc_out)) { /* * get SOC+'s copy of out to update our copy of out */ s_out = SOCAL_REQUESTQ_INDEX(rqix, socalp->socal_rp->socal_reqp.w); DEBUGF(2, (CE_CONT, - "socal%d: cq_enque: &XRAM cq_in: 0x%p s_out.out 0x%x\n", - instance, &kcq->skc_xram_cqdesc->cq_in, s_out)); + "socal%d: cq_enque: &XRAM cq_in: 0x%p s_out.out 0x%x\n", + instance, &kcq->skc_xram_cqdesc->cq_in, s_out)); kcq->skc_out = out = s_out; /* if soc+'s que still full set flag */ kcq->skc_full = ((((kcq->skc_in + 1) & - kcq->skc_last_index) == out)) ? SOCAL_SKC_FULL : 0; - } + kcq->skc_last_index) == out)) ? SOCAL_SKC_FULL : 0; + } } while (kcq->skc_full); @@ -2797,15 +2809,15 @@ socal_doit(fcal_packet_t *fcalpkt, socal_port_t *port_statep, int polled, port_statep->sp_status |= flag; if ((status = socal_transport(fcalpkt, FCAL_NOSLEEP, CQ_REQUEST_0)) == FCAL_TRANSPORT_SUCCESS) { - lb = ddi_get_lbolt(); + lb = ddi_get_lbolt(); while (!(fcalpkt->fcal_cmd_state & FCAL_CMD_COMPLETE)) { if ((retval = cv_timedwait(&port_statep->sp_cv, &port_statep->sp_mtx, lb+drv_usectohz(timo))) == -1) { - status = FCAL_TRANSPORT_TIMEOUT; - break; + status = FCAL_TRANSPORT_TIMEOUT; + break; + } } - } } port_statep->sp_status &= ~flag; mutex_exit(&port_statep->sp_mtx); @@ -2857,7 +2869,7 @@ socal_doit(fcal_packet_t *fcalpkt, socal_port_t *port_statep, int polled, if (flag == PORT_LIP_PENDING || flag == PORT_LILP_PENDING) { if (socal_core && - (socal_core & SOCAL_FAILED_LIP)) { + (socal_core & SOCAL_FAILED_LIP)) { socal_core = 0; socal_take_core(socalp); } @@ -2869,7 +2881,8 @@ socal_doit(fcal_packet_t *fcalpkt, socal_port_t *port_statep, int polled, } else (void) socal_force_lip(port_statep->sp_board, - port_statep->sp_port, polled, FCAL_FORCE_LIP); + port_statep->sp_port, polled, + FCAL_FORCE_LIP); retval = FCAL_TIMEOUT; break; case FCAL_TRANSPORT_FAILURE: @@ -2900,7 +2913,7 @@ socal_lilp_map(void *ssp, uint_t port, uint32_t bufid, uint_t polled) sdr = (soc_data_request_t *)&fcalpkt->fcal_socal_request; if (port) - sdr->sdr_soc_hdr.sh_flags = SOC_PORT_B; + sdr->sdr_soc_hdr.sh_flags = SOC_PORT_B; sdr->sdr_soc_hdr.sh_seg_cnt = 1; sdr->sdr_soc_hdr.sh_byte_cnt = 132; sdr->sdr_dataseg[0].fc_base = bufid; @@ -2925,11 +2938,11 @@ socal_force_lip(void *ssp, uint_t port, uint_t polled, uint_t lip_req) if (lip_req == FCAL_NO_LIP) { mutex_enter(&port_statep->sp_mtx); if ((port_statep->sp_status & PORT_ONLINE_LOOP) && - (port_statep->sp_unsol_cb->statec_cb != NULL)) { + (port_statep->sp_unsol_cb->statec_cb != NULL)) { mutex_exit(&port_statep->sp_mtx); (*port_statep->sp_unsol_cb->statec_cb) - (port_statep->sp_unsol_cb->arg, - FCAL_STATUS_LOOP_ONLINE); + (port_statep->sp_unsol_cb->arg, + FCAL_STATUS_LOOP_ONLINE); return (FCAL_SUCCESS); } else @@ -2943,7 +2956,7 @@ socal_force_lip(void *ssp, uint_t port, uint_t polled, uint_t lip_req) scr = (soc_cmdonly_request_t *)&fcalpkt->fcal_socal_request; if (port) - scr->scr_soc_hdr.sh_flags = SOC_PORT_B; + scr->scr_soc_hdr.sh_flags = SOC_PORT_B; scr->scr_cqhdr.cq_hdr_count = 1; scr->scr_cqhdr.cq_hdr_type = CQ_TYPE_REQUEST_LIP; @@ -2978,7 +2991,7 @@ socal_abort_cmd(void *ssp, uint_t port, fcal_packet_t *fcalpkt, uint_t polled) mutex_exit(&kcq->skc_mtx); socalp->socal_stats.pstats[port].abts_ok++; SOCAL_ID_FREE(fcalpkt->fcal_socal_request. - sr_soc_hdr.sh_request_token); + sr_soc_hdr.sh_request_token); return (FCAL_ABORTED); } else { fpkt = fcalpkt2; @@ -3040,7 +3053,7 @@ socal_bypass_dev(void *ssp, uint_t port, uint_t dest) scr = (soc_cmdonly_request_t *)&fcalpkt->fcal_socal_request; if (port) - scr->scr_soc_hdr.sh_flags = SOC_PORT_B; + scr->scr_soc_hdr.sh_flags = SOC_PORT_B; scr->scr_soc_hdr.sh_byte_cnt = dest; scr->scr_cqhdr.cq_hdr_count = 1; scr->scr_cqhdr.cq_hdr_type = CQ_TYPE_BYPASS_DEV; @@ -3179,8 +3192,8 @@ socal_intr(caddr_t arg) cause = (int)SOCAL_INTR_CAUSE(socalp, csr); DEBUGF(2, (CE_CONT, - "socal%d: intr: csr: 0x%x cause: 0x%x\n", - instance, csr, cause)); + "socal%d: intr: csr: 0x%x cause: 0x%x\n", + instance, csr, cause)); if (!cause) { socalp->socal_on_intr = 0; @@ -3197,15 +3210,15 @@ socal_intr(caddr_t arg) * */ - if (cause & SOCAL_CSR_RSP_QUE_1) { - socal_intr_unsolicited(socalp, 1); + if (cause & SOCAL_CSR_RSP_QUE_1) { + socal_intr_unsolicited(socalp, 1); DEBUGF(4, (CE_CONT, "socal%d intr: did unsolicited\n", instance)); - } + } - if (cause & SOCAL_CSR_RSP_QUE_0) { - socal_intr_solicited(socalp, 0); + if (cause & SOCAL_CSR_RSP_QUE_0) { + socal_intr_solicited(socalp, 0); DEBUGF(4, (CE_CONT, "socal%d intr: did solicited\n", instance)); - } + } /* * for use with token-only response queues in the future @@ -3221,18 +3234,18 @@ socal_intr(caddr_t arg) * queue is full and we are waiting so we can enque * another command. */ - if ((request = (cause & SOCAL_CSR_HOST_TO_SOCAL)) != 0) { + if ((request = (cause & SOCAL_CSR_HOST_TO_SOCAL)) != 0) { socalp->socal_stats.reqq_intrs++; for (i = SOCAL_CSR_1ST_H_TO_S, j = 0; j < SOCAL_N_CQS; - j++, i <<= 1) { - if (request & i) { + j++, i <<= 1) { + if (request & i) { socal_kcq_t *kcq = &socalp->request[j]; if (kcq->skc_full) { - mutex_enter(&kcq->skc_mtx); - full = kcq->skc_full; - kcq->skc_full = 0; - while ((fpkt = kcq->skc_overflowh) != NULL) { + mutex_enter(&kcq->skc_mtx); + full = kcq->skc_full; + kcq->skc_full = 0; + while ((fpkt = kcq->skc_overflowh) != NULL) { nfpkt = fpkt->fcal_pkt_next; fpkt->fcal_pkt_next = NULL; kcq->skc_overflowh = nfpkt; @@ -3241,12 +3254,12 @@ socal_intr(caddr_t arg) (cqe_t *)&fpkt->fcal_socal_request, j, FCAL_NOSLEEP, NULL, 1) != FCAL_TRANSPORT_SUCCESS) { - break; + break; + } } - } - if (!kcq->skc_overflowh) { + if (!kcq->skc_overflowh) { if (full & SOCAL_SKC_SLEEP) - cv_broadcast(&kcq->skc_cv); + cv_broadcast(&kcq->skc_cv); /* Disable this queue's intrs */ DEBUGF(2, (CE_CONT, @@ -3256,14 +3269,14 @@ socal_intr(caddr_t arg) socalp->socal_rp->socal_imr = (socalp->socal_k_imr &= ~i); mutex_exit(&socalp->k_imr_mtx); - } - mutex_exit(&kcq->skc_mtx); + } + mutex_exit(&kcq->skc_mtx); } - } + } + } } - } - csr = socalreg->socal_csr.w; - cause = (int)SOCAL_INTR_CAUSE(socalp, csr); + csr = socalreg->socal_csr.w; + cause = (int)SOCAL_INTR_CAUSE(socalp, csr); DEBUGF(4, (CE_CONT, "socal%d intr: did request queues\n", instance)); } @@ -3325,7 +3338,7 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) while (kcqv->skc_out != index_in) { /* Find out where the newest entry lives in the queue */ (void) ddi_dma_sync(kcq->skc_dhandle, 0, 0, - DDI_DMA_SYNC_FORKERNEL); + DDI_DMA_SYNC_FORKERNEL); srp = (soc_response_t *)cqe; port = srp->sr_soc_hdr.sh_flags & SOC_PORT_B; @@ -3350,15 +3363,15 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) kcq->skc_saved_out = kcqv->skc_out; kcq->skc_saved_seqno = kcqv->skc_seqno; kcq->deferred_intr_timeoutid = timeout( - socal_deferred_intr, (caddr_t)kcq, - drv_usectohz(10000)); + socal_deferred_intr, (caddr_t)kcq, + drv_usectohz(10000)); mutex_exit(&kcq->skc_mtx); return; } } fcalpkt = (fcal_packet_t *) - SOCAL_ID_LOOKUP(shp->sh_request_token); + SOCAL_ID_LOOKUP(shp->sh_request_token); if ((socal_core & SOCAL_TAKE_CORE) && ddi_peek8(socalp->dip, (char *)fcalpkt, &val) != DDI_SUCCESS) { @@ -3368,13 +3381,13 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) } if ((fcalpkt == (fcal_packet_t *)NULL) || - (fcalpkt->fcal_magic != FCALP_MAGIC)) { - (void) sprintf(buf, "!invalid FC packet; \n\ - in, out, seqno = 0x%x, 0x%x, 0x%x\n", - kcqv->skc_in, kcqv->skc_out, kcqv->skc_seqno); - socal_disp_err(socalp, CE_WARN, "link.4060", buf); - DEBUGF(4, (CE_CONT, - "\tsoc CR: 0x%x SAE: 0x%x CSR: 0x%x IMR: 0x%x\n", + (fcalpkt->fcal_magic != FCALP_MAGIC)) { + (void) sprintf(buf, "!invalid FC packet; \n\ + in, out, seqno = 0x%x, 0x%x, 0x%x\n", + kcqv->skc_in, kcqv->skc_out, kcqv->skc_seqno); + socal_disp_err(socalp, CE_WARN, "link.4060", buf); + DEBUGF(4, (CE_CONT, + "\tsoc CR: 0x%x SAE: 0x%x CSR: 0x%x IMR: 0x%x\n", socalreg->socal_cr.w, socalreg->socal_sae.w, socalreg->socal_csr.w, @@ -3382,16 +3395,16 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) /* * Update response queue ptrs and soc registers. */ - kcqv->skc_out++; - if ((kcqv->skc_out & kcq->skc_last_index) == 0) { - kcqv->skc_out = 0; - kcqv->skc_seqno++; - } + kcqv->skc_out++; + if ((kcqv->skc_out & kcq->skc_last_index) == 0) { + kcqv->skc_out = 0; + kcqv->skc_seqno++; + } } else { DEBUGF(2, (CE_CONT, "packet 0x%p complete\n", - fcalpkt)); + fcalpkt)); status = srp->sr_soc_status; fcalpkt->fcal_pkt_status = status; DEBUGF(2, (CE_CONT, "SOC status: 0x%x\n", status)); @@ -3401,7 +3414,7 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) */ ASSERT((fcalpkt->fcal_cmd_state & FCAL_CMD_COMPLETE) - == 0); + == 0); mutex_enter(&socalp->abort_mtx); fcalpkt->fcal_pkt_flags |= FCFLAG_COMPLETE; mutex_exit(&socalp->abort_mtx); @@ -3425,16 +3438,17 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) i = srp->sr_soc_hdr.sh_flags & SOC_PORT_B ? 1 : 0; if ((status != FCAL_STATUS_OK) && - (status <= FCAL_STATUS_MAX_STATUS)) { + (status <= FCAL_STATUS_MAX_STATUS)) { socalp->socal_stats.pstats[i]. - resp_status[status]++; + resp_status[status]++; } else { socalp->socal_stats.pstats[i]. - resp_status[FCAL_STATUS_ERROR]++; + resp_status[FCAL_STATUS_ERROR]++; } } else if (status == FCAL_STATUS_OK) { - fcalpkt->fcal_socal_request.sr_soc_hdr.sh_byte_cnt = - shp->sh_byte_cnt; + fcalpkt->fcal_socal_request. + sr_soc_hdr.sh_byte_cnt = + shp->sh_byte_cnt; } fcalpkt->fcal_diag_status = (uint32_t)srp->sr_dataseg.fc_base; @@ -3451,7 +3465,7 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) /* For incmplt DMA offline loop by loopback */ if (fcalpkt->fcal_pkt_status == - FCAL_STATUS_INCOMPLETE_DMA_ERR) { + FCAL_STATUS_INCOMPLETE_DMA_ERR) { socal_port_t *port_statep; uint_t r; @@ -3547,21 +3561,19 @@ socal_intr_solicited(socal_state_t *socalp, uint32_t srq) * all entries that are available. */ - socalreg->socal_csr.w = - ((kcqv->skc_out << 24) | - (SOCAL_CSR_SOCAL_TO_HOST & ~SOCAL_CSR_RSP_QUE_0)); + socalreg->socal_csr.w = ((kcqv->skc_out << 24) | + (SOCAL_CSR_SOCAL_TO_HOST & ~SOCAL_CSR_RSP_QUE_0)); /* Make sure the csr write has completed */ - i = socalreg->socal_csr.w; - DEBUGF(9, (CE_CONT, "csr.w = %x\n", i)); + i = socalreg->socal_csr.w; + DEBUGF(9, (CE_CONT, "csr.w = %x\n", i)); /* * Update our idea of where the host adapter has placed * the most recent entry in the response queue and resync * the response queue */ - index_in = - SOCAL_RESPONSEQ_INDEX(srq, socalreg->socal_rspp.w); + index_in = SOCAL_RESPONSEQ_INDEX(srq, socalreg->socal_rspp.w); kcqv->skc_in = index_in; } @@ -3627,23 +3639,23 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) while (kcqv->skc_out != index_in) { (void) ddi_dma_sync(kcq->skc_dhandle, 0, 0, - DDI_DMA_SYNC_FORKERNEL); + DDI_DMA_SYNC_FORKERNEL); /* Check for continuation entries */ if ((hdr_count = cqe->cqe_hdr.cq_hdr_count) != 1) { - t_seqno = kcqv->skc_seqno; - t_index = kcqv->skc_out + hdr_count; + t_seqno = kcqv->skc_seqno; + t_index = kcqv->skc_out + hdr_count; - i = index_in; - if (kcqv->skc_out > index_in) + i = index_in; + if (kcqv->skc_out > index_in) i += kcq->skc_last_index + 1; /* * If we think the continuation entries haven't yet * arrived, try once more before giving up */ - if (i < t_index) { + if (i < t_index) { socalreg->socal_csr.w = ((kcqv->skc_out << 24) | @@ -3657,25 +3669,26 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) * the most recent entry in the response queue */ i = index_in = SOCAL_RESPONSEQ_INDEX(urq, - socalreg->socal_rspp.w); + socalreg->socal_rspp.w); if (kcqv->skc_out > index_in) - i += kcq->skc_last_index + 1; + i += kcq->skc_last_index + 1; /* * Exit if the continuation entries haven't yet * arrived */ if (i < t_index) - break; - } + break; + } - if (t_index > kcq->skc_last_index) { + if (t_index > kcq->skc_last_index) { t_seqno++; t_index &= kcq->skc_last_index; - } + } - cqe_cont = (volatile cqe_t *) - &(kcq->skc_cq[t_index ? t_index - 1 : kcq->skc_last_index]); + cqe_cont = (volatile cqe_t *) + &(kcq->skc_cq[t_index ? t_index - 1 : + kcq->skc_last_index]); /* A cq_hdr_count > 2 is illegal; throw away the response */ @@ -3684,16 +3697,16 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) * XXX - should probably throw out as many entries as the * hdr_cout tells us there are */ - if (hdr_count != 2) { + if (hdr_count != 2) { socal_disp_err(socalp, CE_WARN, "driver.4030", "!too many continuation entries"); DEBUGF(4, (CE_CONT, - "socal%d: soc+ unsolicited entry count = %d\n", - instance, cqe->cqe_hdr.cq_hdr_count)); + "socal%d: soc+ unsolicited entry count = %d\n", + instance, cqe->cqe_hdr.cq_hdr_count)); if ((++t_index & kcq->skc_last_index) == 0) { - t_index = 0; - t_seqno++; + t_index = 0; + t_seqno++; } kcqv->skc_out = t_index; kcqv->skc_seqno = t_seqno; @@ -3701,7 +3714,7 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) cqe = &(kcq->skc_cq[kcqv->skc_out]); cqe_cont = NULL; continue; - } + } } /* @@ -3714,19 +3727,19 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) } if (cqe_cont != NULL) { - kcqv->skc_out++; - if ((kcqv->skc_out & kcq->skc_last_index) == 0) { - kcqv->skc_out = 0; - kcqv->skc_seqno++; - } + kcqv->skc_out++; + if ((kcqv->skc_out & kcq->skc_last_index) == 0) { + kcqv->skc_out = 0; + kcqv->skc_seqno++; + } } if (index_in == kcqv->skc_out) { - socalreg->socal_csr.w = ((kcqv->skc_out << 24) | - (SOCAL_CSR_SOCAL_TO_HOST & ~SOCAL_CSR_RSP_QUE_1)); + socalreg->socal_csr.w = ((kcqv->skc_out << 24) | + (SOCAL_CSR_SOCAL_TO_HOST & ~SOCAL_CSR_RSP_QUE_1)); /* Make sure the csr write has completed */ - i = socalreg->socal_csr.w; + i = socalreg->socal_csr.w; } srp = (soc_response_t *)cqe; @@ -3740,10 +3753,10 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) switch (flags & ~SOC_PORT_B) { case SOC_UNSOLICITED | SOC_FC_HEADER: - srp = (soc_response_t *)cqe; + srp = (soc_response_t *)cqe; - switch (srp->sr_fc_frame_hdr.r_ctl & R_CTL_ROUTING) { - case R_CTL_EXTENDED_SVC: + switch (srp->sr_fc_frame_hdr.r_ctl & R_CTL_ROUTING) { + case R_CTL_EXTENDED_SVC: /* * Extended Link Services frame received */ @@ -3753,31 +3766,32 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) /* do callbacks to any interested ULPs */ mutex_enter(&port_statep->sp_mtx); for (cblist = port_statep->sp_unsol_cb; cblist; - cblist = cblist->next) { + cblist = cblist->next) { if (cblist->els_cb) { - mutex_exit(&port_statep->sp_mtx); - mutex_exit(&kcq->skc_mtx); - cblist->els_cb(cblist->arg, (cqe_t *)cqe, - (caddr_t)cqe_cont); - mutex_enter(&kcq->skc_mtx); - mutex_enter(&port_statep->sp_mtx); + mutex_exit(&port_statep->sp_mtx); + mutex_exit(&kcq->skc_mtx); + cblist->els_cb(cblist->arg, + (cqe_t *)cqe, + (caddr_t)cqe_cont); + mutex_enter(&kcq->skc_mtx); + mutex_enter(&port_statep->sp_mtx); } } mutex_exit(&port_statep->sp_mtx); break; - case R_CTL_BASIC_SVC: + case R_CTL_BASIC_SVC: (void) sprintf(buf, "!unsupported Link Service command: 0x%x", - srp->sr_fc_frame_hdr.type); + srp->sr_fc_frame_hdr.type); socal_disp_err(socalp, CE_WARN, "link.4020", buf); break; - case R_CTL_DEVICE_DATA: + case R_CTL_DEVICE_DATA: switch (srp->sr_fc_frame_hdr.type) { default: - mutex_enter(&port_statep->sp_mtx); - status = 1; - for (cblist = port_statep->sp_unsol_cb; cblist; - cblist = cblist->next) { + mutex_enter(&port_statep->sp_mtx); + status = 1; + for (cblist = port_statep->sp_unsol_cb; cblist; + cblist = cblist->next) { if (cblist->data_cb && (cblist->type == srp->sr_fc_frame_hdr.type)) { @@ -3789,25 +3803,27 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) mutex_enter(&port_statep->sp_mtx); status = 0; } - } - mutex_exit(&port_statep->sp_mtx); + } + mutex_exit(&port_statep->sp_mtx); - if (status == 0) + if (status == 0) break; - (void) sprintf(buf, "!unknown FC-4 command: 0x%x", - srp->sr_fc_frame_hdr.type); - socal_disp_err(socalp, CE_WARN, "link.4030", buf); - break; + (void) sprintf(buf, + "!unknown FC-4 command: 0x%x", + srp->sr_fc_frame_hdr.type); + socal_disp_err(socalp, CE_WARN, + "link.4030", buf); + break; } break; - default: + default: (void) sprintf(buf, "!unsupported FC frame R_CTL: 0x%x", srp->sr_fc_frame_hdr.r_ctl); socal_disp_err(socalp, CE_WARN, "link.4040", buf); break; - } - break; + } + break; case SOC_STATUS: { @@ -3823,23 +3839,23 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) (void) sprintf(buf, "!port %d: Fibre Channel is ONLINE\n", port); socal_disp_err(socalp, CE_CONT, "link.6010", - buf); + buf); mutex_enter(&port_statep->sp_mtx); port_statep->sp_status &= ~PORT_STATUS_MASK; port_statep->sp_status |= PORT_ONLINE; mutex_exit(&port_statep->sp_mtx); socalp->socal_stats.pstats[port].onlines++; DEBUGF(4, (CE_CONT, - "socal%d intr_unsol: ONLINE intr\n", - instance)); + "socal%d intr_unsol: ONLINE intr\n", + instance)); break; case FCAL_STATUS_LOOP_ONLINE: (void) sprintf(buf, "!port %d: Fibre Channel Loop is ONLINE\n", - port); + port); socal_disp_err(socalp, CE_CONT, "link.6010", - buf); + buf); mutex_enter(&port_statep->sp_mtx); port_statep->sp_status &= ~PORT_STATUS_MASK; port_statep->sp_status |= PORT_ONLINE_LOOP; @@ -3860,7 +3876,7 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) (void) sprintf(buf, "!port %d: Fibre Channel is OFFLINE\n", port); socal_disp_err(socalp, CE_CONT, "link.5010", - buf); + buf); mutex_enter(&port_statep->sp_mtx); port_statep->sp_status &= ~PORT_STATUS_MASK; @@ -3875,18 +3891,19 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) break; default: (void) sprintf(buf, "!unknown status: 0x%x\n", - status); + status); socal_disp_err(socalp, CE_WARN, "link.3020", - buf); + buf); } mutex_exit(&kcq->skc_mtx); mutex_enter(&port_statep->sp_mtx); for (cblist = port_statep->sp_unsol_cb; cblist; - cblist = cblist->next) { + cblist = cblist->next) { if (cblist->statec_cb) { - mutex_exit(&port_statep->sp_mtx); - (*cblist->statec_cb)(cblist->arg, status); - mutex_enter(&port_statep->sp_mtx); + mutex_exit(&port_statep->sp_mtx); + (*cblist->statec_cb)(cblist->arg, + status); + mutex_enter(&port_statep->sp_mtx); } } mutex_exit(&port_statep->sp_mtx); @@ -3901,14 +3918,14 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) } default: (void) sprintf(buf, "!unexpected state: flags: 0x%x\n", - flags); + flags); socal_disp_err(socalp, CE_WARN, "link.4050", buf); DEBUGF(4, (CE_CONT, - "\tsoc CR: 0x%x SAE: 0x%x CSR: 0x%x IMR: 0x%x\n", - socalp->socal_rp->socal_cr.w, - socalp->socal_rp->socal_sae.w, - socalp->socal_rp->socal_csr.w, - socalp->socal_rp->socal_imr)); + "\tsoc CR: 0x%x SAE: 0x%x CSR: 0x%x IMR: 0x%x\n", + socalp->socal_rp->socal_cr.w, + socalp->socal_rp->socal_sae.w, + socalp->socal_rp->socal_csr.w, + socalp->socal_rp->socal_imr)); } @@ -3944,19 +3961,19 @@ socal_intr_unsolicited(socal_state_t *socalp, uint32_t urq) */ if (index_in == kcqv->skc_out) { - socalreg->socal_csr.w = - ((kcqv->skc_out << 24) | - (SOCAL_CSR_SOCAL_TO_HOST & ~SOCAL_CSR_RSP_QUE_1)); + socalreg->socal_csr.w = + ((kcqv->skc_out << 24) | + (SOCAL_CSR_SOCAL_TO_HOST & ~SOCAL_CSR_RSP_QUE_1)); /* Make sure the csr write has completed */ - i = socalreg->socal_csr.w; + i = socalreg->socal_csr.w; /* * Update our idea of where the host adapter has placed * the most recent entry in the response queue */ - index_in = - SOCAL_RESPONSEQ_INDEX(urq, socalreg->socal_rspp.w); + index_in = + SOCAL_RESPONSEQ_INDEX(urq, socalreg->socal_rspp.w); } socalp->socal_stats.pstats[port].unsol_resps++; @@ -3987,9 +4004,9 @@ socal_us_els(socal_state_t *socalp, cqe_t *cqe, caddr_t payload) * extended link services */ if ((els == NULL) || ((i = srp->sr_soc_hdr.sh_byte_cnt) == 0)) { - socal_disp_err(socalp, CE_WARN, "link.4010", + socal_disp_err(socalp, CE_WARN, "link.4010", "!incomplete continuation entry"); - return; + return; } /* Quietly impose a maximum byte count */ @@ -4001,7 +4018,7 @@ socal_us_els(socal_state_t *socalp, cqe_t *cqe, caddr_t payload) * Decode the LS_Command code */ switch (els->els_cmd.c.ls_command) { - case LA_ELS_DISPLAY: + case LA_ELS_DISPLAY: els->els_data[i] = '\0'; /* terminate the string */ for (bp = (char *)&(els->els_data[0]); *bp; bp++) { /* squash newlines */ @@ -4011,9 +4028,9 @@ socal_us_els(socal_state_t *socalp, cqe_t *cqe, caddr_t payload) socal_disp_err(socalp, CE_CONT, "link.1010", buf); break; - default: + default: DEBUGF(3, (CE_CONT, "!unknown LS_Command, %x\n", - els->els_cmd.i)); + els->els_cmd.i)); break; } @@ -4147,9 +4164,9 @@ socal_abort_done(fcal_packet_t *fcalpkt) uint32_t port; socal_state_t *socalp = (socal_state_t *)fcalpkt->fcal_pkt_cookie; soc_header_t *shp = - (soc_header_t *)&fcalpkt->fcal_socal_request.sr_soc_hdr; + (soc_header_t *)&fcalpkt->fcal_socal_request.sr_soc_hdr; fcal_packet_t *target = (fcal_packet_t *) - SOCAL_ID_LOOKUP(shp->sh_request_token); + SOCAL_ID_LOOKUP(shp->sh_request_token); mutex_enter(&socalp->abort_mtx); ASSERT(target->fcal_pkt_flags & FCFLAG_ABORTING); @@ -4201,9 +4218,9 @@ socal_diag_request(socal_state_t *socalp, uint32_t port, uint_t *diagcode, /* Grabbing the state mutex is totally unnecessary.... */ if (!(port_statep->sp_status & PORT_DISABLED)) { if (socal_getmap(socalp, port, (caddr_t)&map, 0, FKIOCTL) - != -1) { + != -1) { if (map.lilp_length != 1 && ((port_statep->sp_status & - PORT_ONLINE_LOOP) && cmd != SOC_DIAG_REM_LOOP)) + PORT_ONLINE_LOOP) && cmd != SOC_DIAG_REM_LOOP)) return (FCAL_TRANSPORT_UNAVAIL); } } @@ -4212,7 +4229,7 @@ socal_diag_request(socal_state_t *socalp, uint32_t port, uint_t *diagcode, return (FCAL_ALLOC_FAILED); sdr = (soc_diag_request_t *)&fcalpkt->fcal_socal_request; if (port) - sdr->sdr_soc_hdr.sh_flags = SOC_PORT_B; + sdr->sdr_soc_hdr.sh_flags = SOC_PORT_B; sdr->sdr_diag_cmd = cmd; sdr->sdr_cqhdr.cq_hdr_count = 1; sdr->sdr_cqhdr.cq_hdr_type = CQ_TYPE_DIAGNOSTIC; @@ -4236,7 +4253,7 @@ socal_force_offline(void *ssp, uint_t port, uint_t polled) scr = (soc_cmdonly_request_t *)&fcalpkt->fcal_socal_request; if (port) - scr->scr_soc_hdr.sh_flags = SOC_PORT_B; + scr->scr_soc_hdr.sh_flags = SOC_PORT_B; scr->scr_cqhdr.cq_hdr_count = 1; scr->scr_cqhdr.cq_hdr_type = CQ_TYPE_OFFLINE; fcalpkt->fcal_pkt_cookie = (void *)socalp; @@ -4280,7 +4297,7 @@ socal_issue_adisc(socal_state_t *socalp, uint32_t port, uint32_t dest, SOCAL_ADISC_TIMEOUT, PORT_ADISC_PENDING, NULL); if (retval == FCAL_SUCCESS) { (void) ddi_dma_sync(privp->rsp_handle, 0, 0, - DDI_DMA_SYNC_FORKERNEL); + DDI_DMA_SYNC_FORKERNEL); bcopy(privp->rsp, (caddr_t)payload, sizeof (la_els_adisc_t)); } privp->fapktp = NULL; @@ -4300,7 +4317,7 @@ socal_issue_lbf(socal_state_t *socalp, uint32_t port, port_statep = &socalp->port_state[port]; if ((fcalpkt = socal_lbf_alloc(socalp, port, length, length, - (caddr_t *)&privp, polled)) == (fcal_packet_t *)NULL) + (caddr_t *)&privp, polled)) == (fcal_packet_t *)NULL) return (FCAL_ALLOC_FAILED); privp = (socal_priv_cmd_t *)fcalpkt->fcal_pkt_private; @@ -4312,7 +4329,7 @@ socal_issue_lbf(socal_state_t *socalp, uint32_t port, if (retval == FCAL_SUCCESS) { (void) ddi_dma_sync(privp->rsp_handle, 0, 0, - DDI_DMA_SYNC_FORKERNEL); + DDI_DMA_SYNC_FORKERNEL); bcopy(privp->rsp, (caddr_t)payload, length); } privp->fapktp = NULL; @@ -4376,7 +4393,7 @@ socal_issue_rls(socal_state_t *socalp, uint32_t port, uint32_t dest, SOCAL_RLS_TIMEOUT, PORT_RLS_PENDING, NULL); if (retval == FCAL_SUCCESS) { (void) ddi_dma_sync(privp->rsp_handle, 0, 0, - DDI_DMA_SYNC_FORKERNEL); + DDI_DMA_SYNC_FORKERNEL); bcopy(privp->rsp, (caddr_t)payload, sizeof (la_els_rls_reply_t)); } @@ -4425,13 +4442,13 @@ socal_els_alloc(socal_state_t *socalp, uint32_t port, uint32_t dest, goto fail; if (ddi_dma_alloc_handle(socalp->dip, &socal_dma_attr, - DDI_DMA_DONTWAIT, NULL, &chandle) != DDI_SUCCESS) + DDI_DMA_DONTWAIT, NULL, &chandle) != DDI_SUCCESS) goto fail; privp->cmd_handle = chandle; if (ddi_dma_mem_alloc(chandle, cmd_size, &socal_acc_attr, - DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, - (caddr_t *)&cmd, &real_len, &cacchandle) != DDI_SUCCESS) + DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, + (caddr_t *)&cmd, &real_len, &cacchandle) != DDI_SUCCESS) goto fail; privp->cmd = cmd; privp->cmd_acchandle = cacchandle; @@ -4440,56 +4457,56 @@ socal_els_alloc(socal_state_t *socalp, uint32_t port, uint32_t dest, goto fail; if (ddi_dma_addr_bind_handle(chandle, (struct as *)NULL, - (caddr_t)cmd, cmd_size, - DDI_DMA_WRITE | DDI_DMA_CONSISTENT, - DDI_DMA_DONTWAIT, NULL, &ccookie, &ccount) - != DDI_DMA_MAPPED) + (caddr_t)cmd, cmd_size, + DDI_DMA_WRITE | DDI_DMA_CONSISTENT, + DDI_DMA_DONTWAIT, NULL, &ccookie, &ccount) + != DDI_DMA_MAPPED) goto fail; cmd_bound = 1; if (ccount != 1) goto fail; if (rsp_size) { - if (ddi_dma_alloc_handle(socalp->dip, &socal_dma_attr, - DDI_DMA_DONTWAIT, NULL, &rhandle) != DDI_SUCCESS) + if (ddi_dma_alloc_handle(socalp->dip, &socal_dma_attr, + DDI_DMA_DONTWAIT, NULL, &rhandle) != DDI_SUCCESS) goto fail; - privp->rsp_handle = rhandle; - if (ddi_dma_mem_alloc(rhandle, rsp_size, &socal_acc_attr, - DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, - &rsp, &real_len, &racchandle) != DDI_SUCCESS) - goto fail; - privp->rsp = rsp; - privp->rsp_acchandle = racchandle; - if (real_len < rsp_size) + privp->rsp_handle = rhandle; + if (ddi_dma_mem_alloc(rhandle, rsp_size, &socal_acc_attr, + DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, + &rsp, &real_len, &racchandle) != DDI_SUCCESS) + goto fail; + privp->rsp = rsp; + privp->rsp_acchandle = racchandle; + if (real_len < rsp_size) goto fail; - if (ddi_dma_addr_bind_handle(rhandle, (struct as *)NULL, - rsp, rsp_size, - DDI_DMA_READ | DDI_DMA_CONSISTENT, - DDI_DMA_DONTWAIT, NULL, &rcookie, &ccount) - != DDI_DMA_MAPPED) + if (ddi_dma_addr_bind_handle(rhandle, (struct as *)NULL, + rsp, rsp_size, + DDI_DMA_READ | DDI_DMA_CONSISTENT, + DDI_DMA_DONTWAIT, NULL, &rcookie, &ccount) + != DDI_DMA_MAPPED) goto fail; - rsp_bound = 1; - if (ccount != 1) + rsp_bound = 1; + if (ccount != 1) goto fail; } srp = (soc_request_t *)&fcalpkt->fcal_socal_request; srp->sr_soc_hdr.sh_flags = SOC_FC_HEADER; if (port) - srp->sr_soc_hdr.sh_flags |= SOC_PORT_B; + srp->sr_soc_hdr.sh_flags |= SOC_PORT_B; srp->sr_soc_hdr.sh_class = 3; srp->sr_soc_hdr.sh_byte_cnt = cmd_size; srp->sr_dataseg[0].fc_base = (uint32_t)ccookie.dmac_address; srp->sr_dataseg[0].fc_count = cmd_size; if (rsp_size == 0) { - srp->sr_soc_hdr.sh_seg_cnt = 1; + srp->sr_soc_hdr.sh_seg_cnt = 1; } else { - srp->sr_soc_hdr.sh_seg_cnt = 2; - srp->sr_dataseg[1].fc_base = (uint32_t)rcookie.dmac_address; - srp->sr_dataseg[1].fc_count = rsp_size; + srp->sr_soc_hdr.sh_seg_cnt = 2; + srp->sr_dataseg[1].fc_base = (uint32_t)rcookie.dmac_address; + srp->sr_dataseg[1].fc_count = rsp_size; } srp->sr_cqhdr.cq_hdr_count = 1; /* this will potentially be overwritten by the calling function */ @@ -4571,13 +4588,13 @@ socal_lbf_alloc(socal_state_t *socalp, uint32_t port, privp->fapktp = (void *)fcalpkt; if (ddi_dma_alloc_handle(socalp->dip, &socal_dma_attr, - DDI_DMA_DONTWAIT, NULL, &chandle) != DDI_SUCCESS) + DDI_DMA_DONTWAIT, NULL, &chandle) != DDI_SUCCESS) goto fail; privp->cmd_handle = chandle; if (ddi_dma_mem_alloc(chandle, cmd_size, &socal_acc_attr, - DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, - (caddr_t *)&cmd, &real_len, &cacchandle) != DDI_SUCCESS) + DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, + (caddr_t *)&cmd, &real_len, &cacchandle) != DDI_SUCCESS) goto fail; privp->cmd = cmd; privp->cmd_acchandle = cacchandle; @@ -4586,57 +4603,57 @@ socal_lbf_alloc(socal_state_t *socalp, uint32_t port, goto fail; if (ddi_dma_addr_bind_handle(chandle, (struct as *)NULL, - (caddr_t)cmd, cmd_size, - DDI_DMA_WRITE | DDI_DMA_CONSISTENT, - DDI_DMA_DONTWAIT, NULL, &ccookie, &ccount) - != DDI_DMA_MAPPED) + (caddr_t)cmd, cmd_size, + DDI_DMA_WRITE | DDI_DMA_CONSISTENT, + DDI_DMA_DONTWAIT, NULL, &ccookie, &ccount) + != DDI_DMA_MAPPED) goto fail; cmd_bound = 1; if (ccount != 1) goto fail; if (rsp_size) { - if (ddi_dma_alloc_handle(socalp->dip, &socal_dma_attr, - DDI_DMA_DONTWAIT, NULL, &rhandle) != DDI_SUCCESS) + if (ddi_dma_alloc_handle(socalp->dip, &socal_dma_attr, + DDI_DMA_DONTWAIT, NULL, &rhandle) != DDI_SUCCESS) goto fail; - privp->rsp_handle = rhandle; - if (ddi_dma_mem_alloc(rhandle, rsp_size, &socal_acc_attr, - DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, - &rsp, &real_len, &racchandle) != DDI_SUCCESS) + privp->rsp_handle = rhandle; + if (ddi_dma_mem_alloc(rhandle, rsp_size, &socal_acc_attr, + DDI_DMA_CONSISTENT, DDI_DMA_DONTWAIT, NULL, + &rsp, &real_len, &racchandle) != DDI_SUCCESS) goto fail; - privp->rsp = rsp; - privp->rsp_acchandle = racchandle; - if (real_len < rsp_size) + privp->rsp = rsp; + privp->rsp_acchandle = racchandle; + if (real_len < rsp_size) goto fail; - if (ddi_dma_addr_bind_handle(rhandle, (struct as *)NULL, - rsp, rsp_size, - DDI_DMA_READ | DDI_DMA_CONSISTENT, - DDI_DMA_DONTWAIT, NULL, &rcookie, &ccount) - != DDI_DMA_MAPPED) + if (ddi_dma_addr_bind_handle(rhandle, (struct as *)NULL, + rsp, rsp_size, + DDI_DMA_READ | DDI_DMA_CONSISTENT, + DDI_DMA_DONTWAIT, NULL, &rcookie, &ccount) + != DDI_DMA_MAPPED) goto fail; - rsp_bound = 1; - if (ccount != 1) + rsp_bound = 1; + if (ccount != 1) goto fail; } srp = (soc_request_t *)&fcalpkt->fcal_socal_request; srp->sr_soc_hdr.sh_flags = SOC_FC_HEADER; if (port) - srp->sr_soc_hdr.sh_flags |= SOC_PORT_B; + srp->sr_soc_hdr.sh_flags |= SOC_PORT_B; srp->sr_soc_hdr.sh_class = 3; srp->sr_soc_hdr.sh_byte_cnt = cmd_size; srp->sr_dataseg[0].fc_base = (uint32_t)ccookie.dmac_address; srp->sr_dataseg[0].fc_count = cmd_size; if (rsp_size == 0) { - srp->sr_soc_hdr.sh_seg_cnt = 1; + srp->sr_soc_hdr.sh_seg_cnt = 1; } else { - srp->sr_soc_hdr.sh_seg_cnt = 2; - srp->sr_dataseg[1].fc_base = (uint32_t)rcookie.dmac_address; - srp->sr_dataseg[1].fc_count = rsp_size; + srp->sr_soc_hdr.sh_seg_cnt = 2; + srp->sr_dataseg[1].fc_base = (uint32_t)rcookie.dmac_address; + srp->sr_dataseg[1].fc_count = rsp_size; } srp->sr_cqhdr.cq_hdr_count = 1; /* this will potentially be overwritten by the calling function */ @@ -4751,19 +4768,19 @@ socal_getmap(socal_state_t *socalp, uint32_t port, caddr_t arg, if (port_statep->sp_lilpmap_valid) { - buf = &port_statep->sp_lilpmap; /* give from cache */ + buf = &port_statep->sp_lilpmap; /* give from cache */ - if (arg) { + if (arg) { if (ddi_copyout(buf, (caddr_t)arg, sizeof (struct lilpmap), flags) == -1) return (-1); - } + } - return (buf->lilp_myalpa); + return (buf->lilp_myalpa); } if (ddi_dma_alloc_handle(socalp->dip, &socal_dma_attr, - DDI_DMA_DONTWAIT, NULL, &dhandle) != DDI_SUCCESS) + DDI_DMA_DONTWAIT, NULL, &dhandle) != DDI_SUCCESS) goto getmap_fail; i = sizeof (struct fcal_lilp_map); @@ -4791,20 +4808,20 @@ socal_getmap(socal_state_t *socalp, uint32_t port, caddr_t arg, (void) ddi_dma_sync(dhandle, 0, 0, DDI_DMA_SYNC_FORKERNEL); if (retval == FCAL_SUCCESS) { - bcopy(buf, &port_statep->sp_lilpmap, sizeof (fcal_lilp_map_t)); + bcopy(buf, &port_statep->sp_lilpmap, sizeof (fcal_lilp_map_t)); - mutex_enter(&port_statep->sp_mtx); - port_statep->sp_src_id = buf->lilp_myalpa; - port_statep->sp_lilpmap_valid = 1; /* cached */ - mutex_exit(&port_statep->sp_mtx); + mutex_enter(&port_statep->sp_mtx); + port_statep->sp_src_id = buf->lilp_myalpa; + port_statep->sp_lilpmap_valid = 1; /* cached */ + mutex_exit(&port_statep->sp_mtx); - if (arg) { + if (arg) { if (ddi_copyout(buf, (caddr_t)arg, sizeof (struct lilpmap), flags) == -1) goto getmap_fail; - } + } - retval = buf->lilp_myalpa; + retval = buf->lilp_myalpa; } else retval = -1; @@ -4859,7 +4876,7 @@ socal_flush_overflowq(socal_state_t *socalp, int port, int q_no) head = fpkt2; fpkt2 = tmp; SOCAL_ID_FREE(head->fcal_socal_request. - sr_soc_hdr.sh_request_token); + sr_soc_hdr.sh_request_token); } else { fpkt1 = fpkt2; fpkt2 = fpkt2->fcal_pkt_next; @@ -4898,7 +4915,7 @@ socal_deferred_intr(void *arg) if (socalp->socal_on_intr) { mutex_exit(&kcq->skc_mtx); kcq->deferred_intr_timeoutid = timeout(socal_deferred_intr, - (caddr_t)kcq, drv_usectohz(10000)); + (caddr_t)kcq, drv_usectohz(10000)); return; } @@ -4920,10 +4937,10 @@ socal_take_core(void *arg) } for (i = 0; i < 4; i++) { socalp->socal_rp->socal_cr.w &= - ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; + ~SOCAL_CR_EXTERNAL_RAM_BANK_MASK; socalp->socal_rp->socal_cr.w |= i<<24; (void) bcopy((caddr_t)socalp->socal_xrp, - (caddr_t)&socal_xrambuf[i*0x10000], 0x10000); + (caddr_t)&socal_xrambuf[i*0x10000], 0x10000); } for (i = 3; i >= 0; i--) { mutex_exit(&socalp->request[i].skc_mtx); @@ -4931,7 +4948,7 @@ socal_take_core(void *arg) } instance = ddi_get_instance(socalp->dip); cmn_err(CE_PANIC, - "socal take core (socal instance %d)", instance); + "socal take core (socal instance %d)", instance); } /* diff --git a/usr/src/uts/sun/io/stp4020.c b/usr/src/uts/sun/io/stp4020.c index 52ab9ba826..29ad3a2df1 100644 --- a/usr/src/uts/sun/io/stp4020.c +++ b/usr/src/uts/sun/io/stp4020.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * DRT device/interrupt handler @@ -130,7 +128,8 @@ static struct dev_ops drt_devops = { nulldev, NULL, &pcmciabus_ops, - ddi_power + ddi_power, + ddi_quiesce_not_supported, /* devo_quiesce */ }; #if defined(DEBUG) @@ -218,7 +217,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "STP4020 (SUNW,pcmcia) adapter driver %I%", /* Name of the module. */ + "STP4020 (SUNW,pcmcia) adapter driver", /* Name of the module. */ &drt_devops, /* driver ops */ }; @@ -232,7 +231,7 @@ _init() int ret; mutex_init(&stpra_lock, NULL, MUTEX_DRIVER, - (void *)(uintptr_t)__ipltospl(SPL7 - 1)); + (void *)(uintptr_t)__ipltospl(SPL7 - 1)); if ((ret = mod_install(&modlinkage)) != 0) { mutex_destroy(&stpra_lock); } @@ -251,7 +250,7 @@ _fini() while (stpra_freelist != NULL) { next = stpra_freelist->ra_next; kmem_free((caddr_t)stpra_freelist, - sizeof (struct stpramap)); + sizeof (struct stpramap)); stpra_freelist = next; } mutex_exit(&stpra_lock); @@ -324,7 +323,7 @@ drt_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) drt = (drt_dev_t *)drt_get_driver_private(dip); #if defined(DRT_DEBUG) if (drt_debug) { - cmn_err(CE_CONT, "drt_attach: DDI_RESUME\n"); + cmn_err(CE_CONT, "drt_attach: DDI_RESUME\n"); } #endif if (drt != NULL && drt->pc_flags & PCF_SUSPENDED) { @@ -334,12 +333,12 @@ drt_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) drt_socket_t *sockp = &drt->pc_sockets[sn]; /* Restore adapter hardware state */ - mutex_enter(&drt->pc_lock); - drt_cpr(drt, DRT_RESTORE_HW_STATE); - drt_new_card(drt, sn); - drt_socket_card_id(drt, sockp, - drt->pc_csr->socket[sn].stat0); - mutex_exit(&drt->pc_lock); + mutex_enter(&drt->pc_lock); + drt_cpr(drt, DRT_RESTORE_HW_STATE); + drt_new_card(drt, sn); + drt_socket_card_id(drt, sockp, + drt->pc_csr->socket[sn].stat0); + mutex_exit(&drt->pc_lock); } /* for (sn) */ mutex_enter(&drt->pc_lock); @@ -377,8 +376,8 @@ drt_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) cmn_err(CE_CONT, "drt_attach: drt=%p\n", (void *)drt); #endif drt_nexus = (struct pcmcia_adapter_nexus_private *) - kmem_zalloc(sizeof (struct pcmcia_adapter_nexus_private), - KM_NOSLEEP); + kmem_zalloc(sizeof (struct pcmcia_adapter_nexus_private), + KM_NOSLEEP); if (drt_nexus == NULL) { kmem_free(drt, sizeof (drt_dev_t)); return (DDI_FAILURE); @@ -390,28 +389,28 @@ drt_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) dev_attr.devacc_attr_endian_flags = DDI_NEVERSWAP_ACC; dev_attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; if (ddi_regs_map_setup(dip, DRMAP_ASIC_CSRS, (caddr_t *)&drt->pc_csr, - (off_t)0, sizeof (stp4020_socket_csr_t), - &dev_attr, &drt->pc_handle) != 0) { + (off_t)0, sizeof (stp4020_socket_csr_t), + &dev_attr, &drt->pc_handle) != 0) { kmem_free(drt, sizeof (drt_dev_t)); kmem_free(drt_nexus, - sizeof (struct pcmcia_adapter_nexus_private *)); + sizeof (struct pcmcia_adapter_nexus_private *)); return (DDI_FAILURE); } #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, "drt_attach: %x->%p\n", DRMAP_ASIC_CSRS, - (void *)drt->pc_csr); + (void *)drt->pc_csr); } #endif i = sizeof (regs); if ((err = ddi_getlongprop_buf(DDI_DEV_T_ANY, dip, - DDI_PROP_CANSLEEP, "reg", - (caddr_t)regs, &i)) != DDI_SUCCESS) { + DDI_PROP_CANSLEEP, "reg", + (caddr_t)regs, &i)) != DDI_SUCCESS) { kmem_free(drt, sizeof (drt_dev_t)); kmem_free(drt_nexus, - sizeof (struct pcmcia_adapter_nexus_private)); + sizeof (struct pcmcia_adapter_nexus_private)); return (DDI_FAILURE); } @@ -430,12 +429,12 @@ drt_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* allow property to override audio */ if (ddi_getprop(DDI_DEV_T_NONE, dip, - DDI_PROP_DONTPASS, "disable-audio", -1) == -1) + DDI_PROP_DONTPASS, "disable-audio", -1) == -1) drt->pc_flags |= PCF_AUDIO; /* now enable both interrupt handlers */ if (ddi_add_intr(dip, 1, &drt->pc_icookie_hi, &drt->pc_dcookie_hi, - drt_hi_intr, (caddr_t)dip) != DDI_SUCCESS) { + drt_hi_intr, (caddr_t)dip) != DDI_SUCCESS) { /* if it fails, unwind everything */ ddi_regs_map_free(&drt->pc_handle); kmem_free((caddr_t)drt, sizeof (drt_dev_t)); @@ -445,7 +444,7 @@ drt_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #if 0 if (ddi_add_intr(dip, 0, &drt->pc_icookie_lo, &drt->pc_dcookie_lo, - drt_lo_intr, (caddr_t)dip) != DDI_SUCCESS) { + drt_lo_intr, (caddr_t)dip) != DDI_SUCCESS) { /* if it fails, unwind everything */ ddi_remove_intr(dip, 0, &drt->pc_icookie_hi); ddi_regs_map_free(&drt->pc_handle); @@ -481,7 +480,7 @@ drt_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ /* identify current state of card */ drt_socket_card_id(drt, &drt->pc_sockets[i], - drt->pc_csr->socket[i].stat0); + drt->pc_csr->socket[i].stat0); /* finally, turn it on */ drt->pc_csr->socket[i].ctl0 = DRT_CHANGE_DEFAULT; @@ -543,7 +542,7 @@ drt_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) case DDI_SUSPEND: #if defined(DRT_DEBUG) if (drt_debug) { - cmn_err(CE_CONT, "drt_detach: DDI_SUSPEND\n"); + cmn_err(CE_CONT, "drt_detach: DDI_SUSPEND\n"); } #endif if (drt != NULL) { @@ -554,9 +553,10 @@ drt_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) mutex_exit(&drt->pc_lock); for (sn = 0; sn < DRSOCKETS; sn++) { /* drt_stop_intr(drt, sn); XXX ?? */ - mutex_enter(&drt->pc_lock); - drt_new_card(drt, sn); /* clears sockp->drt_flags */ - mutex_exit(&drt->pc_lock); + mutex_enter(&drt->pc_lock); + /* clears sockp->drt_flags */ + drt_new_card(drt, sn); + mutex_exit(&drt->pc_lock); } /* * Save the adapter's hardware state here @@ -600,7 +600,7 @@ drt_inquire_adapter(dev_info_t *dip, inquire_adapter_t *config) config->NumPower = drt->pc_numpower; config->power_entry = drt->pc_power; /* until we resolve this */ config->ResourceFlags = RES_OWN_IRQ | RES_OWN_IO | RES_OWN_MEM | - RES_IRQ_NEXUS | RES_IRQ_SHAREABLE; + RES_IRQ_NEXUS | RES_IRQ_SHAREABLE; return (SUCCESS); } @@ -618,7 +618,7 @@ drt_callback(dev_info_t *dip, int (*handler)(), int arg) if (drt_debug) { #ifdef XXX cmn_err(CE_CONT, "drt_callback: drt=%x, lock=%x\n", - (int)drt, (int)drt->pc_lock); + (int)drt, (int)drt->pc_lock); #endif cmn_err(CE_CONT, "\thandler=%p, arg=%x\n", (void *)handler, arg); @@ -683,9 +683,9 @@ drt_calc_speed(int speed) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "drt_calc_speed: speed=%d, length=%x, " - "delay=%x, ret=%x\n", - speed, length, delay, - (SET_DRWIN_CMDDLY(delay) | SET_DRWIN_CMDLNG(length))); + "delay=%x, ret=%x\n", + speed, length, delay, + (SET_DRWIN_CMDDLY(delay) | SET_DRWIN_CMDLNG(length))); #endif return (SET_DRWIN_CMDDLY(delay) | SET_DRWIN_CMDLNG(length)); } @@ -714,12 +714,12 @@ drt_set_window(dev_info_t *dip, set_window_t *window) if (drt_debug) { cmn_err(CE_CONT, "drt_set_window: entered\n"); cmn_err(CE_CONT, - "\twindow=%d, socket=%d, WindowSize=%d, speed=%d\n", - window->window, window->socket, window->WindowSize, - window->speed); + "\twindow=%d, socket=%d, WindowSize=%d, speed=%d\n", + window->window, window->socket, window->WindowSize, + window->speed); cmn_err(CE_CONT, - "\tbase=%x, state=%x\n", (int)window->base, - window->state); + "\tbase=%x, state=%x\n", (int)window->base, + window->state); } #endif @@ -741,7 +741,7 @@ drt_set_window(dev_info_t *dip, set_window_t *window) } if (!(window->state & WS_IO) && (window->WindowSize != DRWINSIZE && - !(window->state & WS_EXACT_MAPIN)) || + !(window->state & WS_EXACT_MAPIN)) || window->WindowSize > DRWINSIZE) { #if defined(DRT_DEBUG) if (drt_debug) @@ -755,7 +755,7 @@ drt_set_window(dev_info_t *dip, set_window_t *window) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, - "\tusing window/socket %d/%d\n", win, window->socket); + "\tusing window/socket %d/%d\n", win, window->socket); #endif /* @@ -794,20 +794,20 @@ drt_set_window(dev_info_t *dip, set_window_t *window) windex = DRMAP_CARD1_WIN0 + win; if ((prevstate & DRW_MAPPED) && - (window->WindowSize != winp->drtw_len)) { + (window->WindowSize != winp->drtw_len)) { mutex_exit(&drt->pc_lock); ddi_regs_map_free(&winp->drtw_handle); mutex_enter(&drt->pc_lock); #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, - "\tunmapped: base being set to NULL\n"); + "\tunmapped: base being set to NULL\n"); #endif winp->drtw_flags &= ~(DRW_MAPPED|DRW_ENABLED); if (prevstate & DRW_IO) { stpra_free(&sockp->drt_iomap, - (uint32_t)(uintptr_t)winp->drtw_reqaddr, - (uint32_t)winp->drtw_len); + (uint32_t)(uintptr_t)winp->drtw_reqaddr, + (uint32_t)winp->drtw_len); } winp->drtw_base = NULL; } @@ -820,7 +820,7 @@ drt_set_window(dev_info_t *dip, set_window_t *window) bzero((caddr_t)&req, sizeof (req)); bzero((caddr_t)&ret, sizeof (ret)); req.ra_flags = STP_RA_ALLOC_POW2 | - STP_RA_ALIGN_SIZE; + STP_RA_ALIGN_SIZE; req.ra_len = window->WindowSize; req.ra_addr_lo = window->base; @@ -828,7 +828,7 @@ drt_set_window(dev_info_t *dip, set_window_t *window) req.ra_flags |= STP_RA_ALLOC_SPECIFIED; if (stpra_alloc(&sockp->drt_iomap, - &req, &ret) != DDI_SUCCESS) { + &req, &ret) != DDI_SUCCESS) { mutex_exit(&drt->pc_lock); return (BAD_BASE); } @@ -837,12 +837,12 @@ drt_set_window(dev_info_t *dip, set_window_t *window) } mutex_exit(&drt->pc_lock); which = ddi_regs_map_setup(drt->pc_devinfo, - windex, - &winp->drtw_base, - (offset_t)window->base, - window->WindowSize, - &window->attr, - &winp->drtw_handle); + windex, + &winp->drtw_base, + (offset_t)window->base, + window->WindowSize, + &window->attr, + &winp->drtw_handle); mutex_enter(&drt->pc_lock); if (which != DDI_SUCCESS) { mutex_exit(&drt->pc_lock); @@ -851,11 +851,11 @@ drt_set_window(dev_info_t *dip, set_window_t *window) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, - "\tmapped: handle = 0x%p base = %p, " - "len=%x\n", - (void *)winp->drtw_handle, - (void *)winp->drtw_base, - (int)window->WindowSize); + "\tmapped: handle = 0x%p base = %p, " + "len=%x\n", + (void *)winp->drtw_handle, + (void *)winp->drtw_base, + (int)window->WindowSize); #endif } winp->drtw_reqaddr = (caddr_t)(uintptr_t)window->base; @@ -869,13 +869,13 @@ drt_set_window(dev_info_t *dip, set_window_t *window) } else { winp->drtw_flags |= DRW_IO; winp->drtw_ctl0 = DRWIN_ASPSEL_IO | - drt_calc_speed(window->speed); + drt_calc_speed(window->speed); winp->drtw_modhandle.ah_addr += (int)window->base; } window->handle = winp->drtw_handle; csrp->window[win].ctl0 = winp->drtw_ctl0; csrp->window[win].ctl1 = SET_DRWIN_WAITREQ(1) | - SET_DRWIN_WAITDLY(0); + SET_DRWIN_WAITDLY(0); winp->drtw_len = window->WindowSize; } else { if (winp->drtw_flags & DRW_ENABLED) { @@ -884,8 +884,8 @@ drt_set_window(dev_info_t *dip, set_window_t *window) #ifdef XXX if (prevstate & DRW_IO) { stpra_free(&sockp->drt_iomap, - (uint32_t)winp->drtw_reqaddr, - (uint32_t)winp->drtw_len); + (uint32_t)winp->drtw_reqaddr, + (uint32_t)winp->drtw_len); } #endif /* XXX */ } @@ -895,15 +895,15 @@ drt_set_window(dev_info_t *dip, set_window_t *window) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, - "\tbase now set to %p (->%p), csrp=%p, winreg=%p" - ", len=%x\n", - (void *)window->handle, - (void *)winp->drtw_base, (void *)csrp, - (void *)&csrp->window[win].ctl0, - (int)window->WindowSize); + "\tbase now set to %p (->%p), csrp=%p, winreg=%p" + ", len=%x\n", + (void *)window->handle, + (void *)winp->drtw_base, (void *)csrp, + (void *)&csrp->window[win].ctl0, + (int)window->WindowSize); cmn_err(CE_CONT, - "\twindow type is now %s\n", window->state & WS_IO ? - "I/O" : "memory"); + "\twindow type is now %s\n", window->state & WS_IO ? + "I/O" : "memory"); if (drt_debug > 1) drt_dmp_regs(csrp); } @@ -929,19 +929,19 @@ drt_card_state(drt_dev_t *drt, int socket) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, "drt_card_state: socket=%d, *lock=%p\n", - socket, (void *)&drt->pc_lock); + socket, (void *)&drt->pc_lock); cmn_err(CE_CONT, "\tcsr@%p\n", (void *)drt->pc_csr); cmn_err(CE_CONT, "\tstat0=%b\n", value, - "\020\1PWRON\2WAIT\3WP\4RDYBSY\5BVD1\6BVD2\7CD1" - "\10CD2\011ACCTO\012WPC\013RBC\014BVD1C\015BVD2C" - "\016CDSC\017STAT"); + "\020\1PWRON\2WAIT\3WP\4RDYBSY\5BVD1\6BVD2\7CD1" + "\10CD2\011ACCTO\012WPC\013RBC\014BVD1C\015BVD2C" + "\016CDSC\017STAT"); cmn_err(CE_CONT, - "\tstat1=%x\n", - (int)drt->pc_csr->socket[socket].stat1); + "\tstat1=%x\n", + (int)drt->pc_csr->socket[socket].stat1); cmn_err(CE_CONT, "\t&stat0=%p, &stat1=%p\n", - (void *)&drt->pc_csr->socket[socket].stat0, - (void *)&drt->pc_csr->socket[socket].stat1); + (void *)&drt->pc_csr->socket[socket].stat0, + (void *)&drt->pc_csr->socket[socket].stat1); } #endif @@ -993,7 +993,7 @@ drt_set_page(dev_info_t *dip, set_page_t *page) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "drt_set_page: window=%d (%d)\n", - page->window, DRWINDOWS); + page->window, DRWINDOWS); #endif return (BAD_WINDOW); } @@ -1006,8 +1006,8 @@ drt_set_page(dev_info_t *dip, set_page_t *page) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, - "drt_set_page: window=%d, socket=%d, page=%d\n", - win, socket, page->page); + "drt_set_page: window=%d, socket=%d, page=%d\n", + win, socket, page->page); } #endif @@ -1042,7 +1042,7 @@ drt_set_page(dev_info_t *dip, set_page_t *page) } which |= (page->state & PS_ATTRIBUTE) ? - DRWIN_ASPSEL_AM : DRWIN_ASPSEL_CM; + DRWIN_ASPSEL_AM : DRWIN_ASPSEL_CM; /* if card says Write Protect, enforce it */ /* but we don't have hardware support to do it */ @@ -1051,9 +1051,9 @@ drt_set_page(dev_info_t *dip, set_page_t *page) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "\ta2p=%x, base=%x, csrp=%p\n", - (int)ADDR2PAGE(page->offset), - SET_DRWIN_BASE(ADDR2PAGE(page->offset)), - (void *)csrp); + (int)ADDR2PAGE(page->offset), + SET_DRWIN_BASE(ADDR2PAGE(page->offset)), + (void *)csrp); #endif which |= SET_DRWIN_BASE(ADDR2PAGE(page->offset)); winp->drtw_addr = (caddr_t)page->offset; @@ -1072,7 +1072,7 @@ drt_set_page(dev_info_t *dip, set_page_t *page) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, "\tmemory type = %s\n", - (which & DRWIN_ASPSEL_CM) ? "common" : "attribute"); + (which & DRWIN_ASPSEL_CM) ? "common" : "attribute"); } #endif @@ -1080,12 +1080,12 @@ drt_set_page(dev_info_t *dip, set_page_t *page) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, - "\tpage offset=%x, base=%p (PC addr=%p, sockets=%d)\n", - (int)page->offset, (void *)winp->drtw_base, - (void *)winp->drtw_addr, drt->pc_numsockets); + "\tpage offset=%x, base=%p (PC addr=%p, sockets=%d)\n", + (int)page->offset, (void *)winp->drtw_base, + (void *)winp->drtw_addr, drt->pc_numsockets); cmn_err(CE_CONT, "\t*base=%x, win reg=%p\n", - *(ushort_t *)winp->drtw_base, - (void *)&csrp->window[win].ctl0); + *(ushort_t *)winp->drtw_base, + (void *)&csrp->window[win].ctl0); if (drt_debug > 1) drt_dmp_regs(csrp); } @@ -1129,7 +1129,7 @@ drt_set_socket(dev_info_t *dip, set_socket_t *socket) if (socket->VccLevel == 0) { powerlevel = 0; } else if (socket->VccLevel < drt->pc_numpower && - drt_power[socket->VccLevel].ValidSignals & VCC) { + drt_power[socket->VccLevel].ValidSignals & VCC) { /* enable Vcc */ powerlevel = DRCTL_MSTPWR|DRCTL_PCIFOE; sockp->drt_vcc = socket->VccLevel; @@ -1139,8 +1139,8 @@ drt_set_socket(dev_info_t *dip, set_socket_t *socket) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, "\tVccLevel=%d, Vpp1Level=%d, Vpp2Level=%d\n", - socket->VccLevel, - socket->Vpp1Level, socket->Vpp2Level); + socket->VccLevel, + socket->Vpp1Level, socket->Vpp2Level); } #endif ind = 0; /* default index to 0 power */ @@ -1181,7 +1181,7 @@ drt_set_socket(dev_info_t *dip, set_socket_t *socket) /* handle event mask */ sockp->drt_intmask = socket->SCIntMask; value = (drt->pc_csr->socket[sock].ctl0 & ~DRT_CHANGE_MASK) | - DRT_CHANGE_DEFAULT; /* always want CD */ + DRT_CHANGE_DEFAULT; /* always want CD */ if (socket->SCIntMask & SBM_CD) value |= DRCTL_CDIE; @@ -1220,9 +1220,9 @@ drt_set_socket(dev_info_t *dip, set_socket_t *socket) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, - "\tsocket type is I/O and irq %x is %s\n", irq, - (socket->IREQRouting & IRQ_ENABLE) ? - "enabled" : "not enabled"); + "\tsocket type is I/O and irq %x is %s\n", irq, + (socket->IREQRouting & IRQ_ENABLE) ? + "enabled" : "not enabled"); } #endif sockp->drt_flags |= DRT_SOCKET_IO; @@ -1233,8 +1233,8 @@ drt_set_socket(dev_info_t *dip, set_socket_t *socket) } else { /* enforce memory mode */ value &= ~(DRCTL_IFTYPE_IO | DRCTL_SPKREN | - DRCTL_IOILVL_SB1 | DRCTL_IOILVL_SB0 | - DRCTL_IOIE); + DRCTL_IOILVL_SB1 | DRCTL_IOILVL_SB0 | + DRCTL_IOIE); sockp->drt_flags &= ~(DRT_INTR_ENABLED|DRT_SOCKET_IO); } drt->pc_csr->socket[sock].ctl0 = (ushort_t)value; @@ -1248,7 +1248,7 @@ drt_set_socket(dev_info_t *dip, set_socket_t *socket) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, - "\tpowerlevel (socket->ctl1) = %x\n", powerlevel); + "\tpowerlevel (socket->ctl1) = %x\n", powerlevel); if (drt_debug > 1) drt_dmp_regs(&drt->pc_csr->socket[sock]); } @@ -1303,7 +1303,7 @@ drt_inquire_window(dev_info_t *dip, inquire_window_t *window) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, - "drt_inquire_window: win=%d\n", window->window); + "drt_inquire_window: win=%d\n", window->window); #endif window->WndCaps = WC_COMMON|WC_ATTRIBUTE|WC_WAIT|WC_IO; @@ -1317,7 +1317,7 @@ drt_inquire_window(dev_info_t *dip, inquire_window_t *window) io = &window->iowin_char; io->IOWndCaps = WC_CALIGN|WC_IO_RANGE_PER_WINDOW|WC_WENABLE| - WC_8BIT|WC_16BIT|WC_SIZE; + WC_8BIT|WC_16BIT|WC_SIZE; io->FirstByte = (baseaddr_t)winp->drtw_base; io->LastByte = (baseaddr_t)winp->drtw_base + DRWINSIZE; io->MinSize = 1; @@ -1332,7 +1332,7 @@ drt_inquire_window(dev_info_t *dip, inquire_window_t *window) mem->LastByte = (baseaddr_t)winp->drtw_base + DRWINSIZE; #if defined(DRT_DEBUG) if (drt_debug) { - cmn_err(CE_CONT, "\tFirstByte=%p, LastByte=%p\n", + cmn_err(CE_CONT, "\tFirstByte=%p, LastByte=%p\n", (void *)mem->FirstByte, (void *)mem->LastByte); } #endif @@ -1386,13 +1386,13 @@ drt_get_page(dev_info_t *dip, get_page_t *page) page->state = 0; if (winp->drtw_flags & DRW_IO) - page->state |= PS_IO; + page->state |= PS_IO; if (winp->drtw_flags & DRW_ENABLED) - page->state |= PS_ENABLED; + page->state |= PS_ENABLED; if (winp->drtw_flags & DRW_ATTRIBUTE) - page->state |= PS_ATTRIBUTE; + page->state |= PS_ATTRIBUTE; page->offset = (off_t)winp->drtw_addr; @@ -1460,7 +1460,7 @@ drt_get_status(dev_info_t *dip, get_ss_status_t *status) irq_enabled = (sockp->drt_flags & DRT_INTR_ENABLED) ? IRQ_ENABLE : 0; status->IRQRouting = sockp->drt_irq | irq_enabled; status->IFType = (sockp->drt_flags & DRT_SOCKET_IO) ? - IF_IO : IF_MEMORY; + IF_IO : IF_MEMORY; return (SUCCESS); } @@ -1504,12 +1504,12 @@ drt_get_window(dev_info_t *dip, get_window_t *window) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, - "drt_get_window: socket=%d, window=%d\n", socket, win); + "drt_get_window: socket=%d, window=%d\n", socket, win); cmn_err(CE_CONT, - "\tsize=%d, speed=%d, base=%x, state=%x\n", - window->size, (int)window->speed, - (int)window->base, - window->state); + "\tsize=%d, speed=%d, base=%x, state=%x\n", + window->size, (int)window->speed, + (int)window->base, + window->state); } #endif @@ -1550,9 +1550,9 @@ drt_ll_reset(drt_dev_t *drt, int socket) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "drt_ll_reset: socket=%d, ctl0=%x, ctl1=%x\n", - socket, - drt->pc_csr->socket[socket].ctl0, - drt->pc_csr->socket[socket].ctl1); + socket, + drt->pc_csr->socket[socket].ctl0, + drt->pc_csr->socket[socket].ctl1); #endif } @@ -1594,7 +1594,7 @@ drt_reset_socket(dev_info_t *dip, int socket, int mode) drt->pc_sockets[socket].drt_state = 0; for (window = 0, sockp = &drt->pc_sockets[socket]; - window < DRT_NUMWINDOWS; window++) { + window < DRT_NUMWINDOWS; window++) { sockp->drt_windows[window].drtw_flags &= ~DRW_ENABLED; } } @@ -1616,11 +1616,11 @@ drt_set_interrupt(dev_info_t *dip, set_irq_handler_t *handler) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "drt_set_interrupt(%p, %p) pc_handlers=%p\n", - (void *)dip, (void *)handler, (void *)drt->pc_handlers); + (void *)dip, (void *)handler, (void *)drt->pc_handlers); #endif intr = (inthandler_t *)kmem_zalloc(sizeof (inthandler_t), - KM_NOSLEEP); + KM_NOSLEEP); if (intr == NULL) { return (BAD_IRQ); } @@ -1674,8 +1674,8 @@ drt_clear_interrupt(dev_info_t *dip, clear_irq_handler_t *handler) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "drt_clear_interrupt(%p, %p) " - "pc_handlers = %p\n", - (void *)dip, (void *)handler, (void *)drt->pc_handlers); + "pc_handlers = %p\n", + (void *)dip, (void *)handler, (void *)drt->pc_handlers); #endif mutex_enter(&drt->pc_lock); /* protect the registers */ @@ -1769,14 +1769,14 @@ drt_do_intr(drt_dev_t *drt, int socket, int priority) #if defined(DRT_DEBUG) if (drt_debug > 2) cmn_err(CE_CONT, - "\tintr-> socket=%d, priority=%d, intr=%p," - "arg1=%p arg2=%p (drt_flags=%x:%s)\n", - intr->socket, intr->priority, - (void *)intr->intr, intr->arg1, intr->arg2, - drt->pc_sockets[socket].drt_flags, - (drt->pc_sockets[socket].drt_flags & - DRT_INTR_ENABLED) ? - "true":"false"); + "\tintr-> socket=%d, priority=%d, intr=%p," + "arg1=%p arg2=%p (drt_flags=%x:%s)\n", + intr->socket, intr->priority, + (void *)intr->intr, intr->arg1, intr->arg2, + drt->pc_sockets[socket].drt_flags, + (drt->pc_sockets[socket].drt_flags & + DRT_INTR_ENABLED) ? + "true":"false"); #endif #if 0 /* may need to rethink the priority stuff */ @@ -1839,7 +1839,7 @@ drt_hi_intr(caddr_t arg) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "\tstat0=%x, type=%s\n", - changes, card_type == IF_IO ? "IO":"MEM"); + changes, card_type == IF_IO ? "IO":"MEM"); #endif /* ack the interrupts we see */ drt->pc_csr->socket[i].stat0 = (ushort_t)changes; @@ -1848,8 +1848,8 @@ drt_hi_intr(caddr_t arg) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, - "\tcard status change interrupt" - " on socket %d\n", i); + "\tcard status change interrupt" + " on socket %d\n", i); #endif /* * We set the result here mainly for IF_MEMORY cases. @@ -1870,7 +1870,7 @@ drt_hi_intr(caddr_t arg) (changes & DRSTAT_CD_MASK) != DRSTAT_PRESENT_OK) { sockp->drt_flags &= - ~DRT_CARD_PRESENT; + ~DRT_CARD_PRESENT; /* * stop interrupt handler * then do the callback @@ -1882,22 +1882,22 @@ drt_hi_intr(caddr_t arg) */ drt_new_card(drt, i); /* paranoia */ PC_CALLBACK(drt, arg, x, - PCE_CARD_REMOVAL, i); + PCE_CARD_REMOVAL, i); continue; } else { if ((changes & DRSTAT_CD_MASK) == DRSTAT_PRESENT_OK && !(sockp->drt_flags & - DRT_CARD_PRESENT)) { + DRT_CARD_PRESENT)) { drt_new_card(drt, i); drt_ll_reset(drt, i); sockp->drt_state |= SBM_CD; drt_socket_card_id(drt, - sockp, - changes); + sockp, + changes); PC_CALLBACK(drt, arg, x, - PCE_CARD_INSERT, - i); + PCE_CARD_INSERT, + i); continue; } } @@ -1913,9 +1913,9 @@ drt_hi_intr(caddr_t arg) #if defined(DRT_DEBUG) if (drt_debug && changes & DRSTAT_RDYCHG) cmn_err(CE_CONT, "\trdychg: stat=%x, type=%s\n", - changes, - card_type == IF_MEMORY ? - "memory" : "I/O"); + changes, + card_type == IF_MEMORY ? + "memory" : "I/O"); #endif if (card_type == IF_MEMORY && changes & DRSTAT_RDYCHG && @@ -1931,7 +1931,7 @@ drt_hi_intr(caddr_t arg) else sockp->drt_state &= ~SBM_WP; PC_CALLBACK(drt, arg, x, - PCE_CARD_WRITE_PROTECT, i); + PCE_CARD_WRITE_PROTECT, i); } if (card_type == IF_MEMORY && @@ -1949,33 +1949,33 @@ drt_hi_intr(caddr_t arg) if (!(sockp->drt_flags & DRT_BATTERY_LOW)) { sockp->drt_flags |= - DRT_BATTERY_LOW; + DRT_BATTERY_LOW; sockp->drt_state |= SBM_BVD2; sockp->drt_state &= ~SBM_BVD1; PC_CALLBACK(drt, arg, x, - PCE_CARD_BATTERY_WARN, - i); + PCE_CARD_BATTERY_WARN, + i); } break; case DRSTAT_BATT_OK: sockp->drt_state &= - ~(DRT_BATTERY_LOW| - DRT_BATTERY_DEAD); + ~(DRT_BATTERY_LOW| + DRT_BATTERY_DEAD); sockp->drt_state &= - ~(SBM_BVD1|SBM_BVD2); + ~(SBM_BVD1|SBM_BVD2); break; default: /* battery failed */ if (!(sockp->drt_flags & DRT_BATTERY_DEAD)) { /* so we only see one of them */ sockp->drt_flags |= - DRT_BATTERY_DEAD; + DRT_BATTERY_DEAD; sockp->drt_flags &= - DRT_BATTERY_LOW; + DRT_BATTERY_LOW; sockp->drt_state |= SBM_BVD1; PC_CALLBACK(drt, arg, x, - PCE_CARD_BATTERY_DEAD, - i); + PCE_CARD_BATTERY_DEAD, + i); } } } @@ -1988,12 +1988,12 @@ drt_hi_intr(caddr_t arg) * event. */ drt->pc_csr->socket[i].ctl0 &= - ~DRCTL_BVD1IE; + ~DRCTL_BVD1IE; /* we have an I/O status change */ PC_CALLBACK(drt, arg, x, - PCE_CARD_STATUS_CHANGE, - i); + PCE_CARD_STATUS_CHANGE, + i); } #if 0 /* @@ -2007,12 +2007,12 @@ drt_hi_intr(caddr_t arg) sockp->drt_flags |= DRT_BATTERY_LOW; sockp->drt_state |= SBM_BVD2; PC_CALLBACK(drt, arg, x, - PCE_CARD_BATTERY_WARN, - i); + PCE_CARD_BATTERY_WARN, + i); } else if (card_type == IF_IO) { PC_CALLBACK(drt, arg, x, - PCE_CARD_STATUS_CHANGE, - i); + PCE_CARD_STATUS_CHANGE, + i); } } @@ -2024,7 +2024,7 @@ drt_hi_intr(caddr_t arg) sockp->drt_flags |= DRT_BATTERY_DEAD; sockp->drt_state |= SBM_BVD1; PC_CALLBACK(drt, arg, x, - PCE_CARD_BATTERY_DEAD, i); + PCE_CARD_BATTERY_DEAD, i); } #endif } @@ -2035,9 +2035,9 @@ drt_hi_intr(caddr_t arg) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "\tsocket %d: ctl0=%x, ctl1=%x\n", - i, - drt->pc_csr->socket[i].ctl0, - drt->pc_csr->socket[i].ctl1); + i, + drt->pc_csr->socket[i].ctl0, + drt->pc_csr->socket[i].ctl1); #endif } @@ -2080,7 +2080,7 @@ drt_lo_intr(caddr_t arg) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "\tsocket=%x, stat0=%x\n", - i, drt->pc_csr->socket[i].stat0); + i, drt->pc_csr->socket[i].stat0); #endif result |= drt_do_intr(drt, i, 0); drt->pc_csr->socket[i].stat0 |= DRSTAT_IOINT; @@ -2145,30 +2145,30 @@ drt_dmp_regs(stp4020_socket_csr_t *csrp) cmn_err(CE_CONT, "drt_dmp_regs (%p):\n", (void *)csrp); cmn_err(CE_CONT, "\tctl0: %b\n", csrp->ctl0, - "\020\1IFTYPE\2SFTRST\3SPKREN\4IOILVL\5IOIE\6RSVD" - "\7CTOIE\010WPIE\011RDYIE\012BVD1IE\013BVD2IE\014CDIE" - "\015SCILVL\016PROMEN\017RSVDX"); + "\020\1IFTYPE\2SFTRST\3SPKREN\4IOILVL\5IOIE\6RSVD" + "\7CTOIE\010WPIE\011RDYIE\012BVD1IE\013BVD2IE\014CDIE" + "\015SCILVL\016PROMEN\017RSVDX"); cmn_err(CE_CONT, - "\tctl1: %b\n", csrp->ctl1, - "\020\1PCIFOE\1MSTPWR\7APWREN" - "\10RSVD\11DIAGEN\12WAITDB\13WPDB\14RDYDB\15BVD1DB\16BVD2DB" - "\17CD1DB\20LPBKEN"); + "\tctl1: %b\n", csrp->ctl1, + "\020\1PCIFOE\1MSTPWR\7APWREN" + "\10RSVD\11DIAGEN\12WAITDB\13WPDB\14RDYDB\15BVD1DB\16BVD2DB" + "\17CD1DB\20LPBKEN"); cmn_err(CE_CONT, - "\tstat0: %b\n", csrp->stat0, - "\020\1PWRON\2WAITST\3WPST" - "\4RDYST\5BVD1ST\6BVD2ST\7CD1ST\10CD2ST\11PCTO\12WPCHG" - "\13RDCHG\14BVD1CHG\15BVD2CHG\16CDCHG\17SCINT\20IOINT"); + "\tstat0: %b\n", csrp->stat0, + "\020\1PWRON\2WAITST\3WPST" + "\4RDYST\5BVD1ST\6BVD2ST\7CD1ST\10CD2ST\11PCTO\12WPCHG" + "\13RDCHG\14BVD1CHG\15BVD2CHG\16CDCHG\17SCINT\20IOINT"); cmn_err(CE_CONT, - "\tstat1: types=%x, rev=%x\n", - (int)(csrp->stat1 & DRSTAT_PCTYS_M), - csrp->stat1 & DRSTAT_REV_M); + "\tstat1: types=%x, rev=%x\n", + (int)(csrp->stat1 & DRSTAT_PCTYS_M), + csrp->stat1 & DRSTAT_REV_M); for (i = 0; i < 3; i++) { cmn_err(CE_CONT, "\twin%d:\tctl0: cmdlng=%x, cmddly=%x, " - "aspsel=%x, base=%x\n", i, - GET_DRWIN_CMDLNG(csrp->window[i].ctl0), - GET_DRWIN_CMDDLY(csrp->window[i].ctl0), - csrp->window[i].ctl0 & DRWIN_ASPSEL_M, - GET_DRWIN_BASE(csrp->window[i].ctl0)); + "aspsel=%x, base=%x\n", i, + GET_DRWIN_CMDLNG(csrp->window[i].ctl0), + GET_DRWIN_CMDDLY(csrp->window[i].ctl0), + csrp->window[i].ctl0 & DRWIN_ASPSEL_M, + GET_DRWIN_BASE(csrp->window[i].ctl0)); cmn_err(CE_CONT, "\t\tctl1: %x\n", csrp->window[i].ctl1); } } @@ -2184,27 +2184,27 @@ drt_cpr(drt_dev_t *drt, int cmd) int sn, wn; switch (cmd) { - case DRT_SAVE_HW_STATE: + case DRT_SAVE_HW_STATE: for (sn = 0; sn < DRSOCKETS; sn++) { stp4020_socket_csr_t *drs = &drt->pc_csr->socket[sn]; for (wn = 0; wn < DRWINDOWS; wn++) { drt->saved_socket[sn].window[wn].ctl0 = - drs->window[wn].ctl0; + drs->window[wn].ctl0; drt->saved_socket[sn].window[wn].ctl1 = - drs->window[wn].ctl1; + drs->window[wn].ctl1; } drt->saved_socket[sn].ctl0 = drs->ctl0; drt->saved_socket[sn].ctl1 = drs->ctl1; } break; - case DRT_RESTORE_HW_STATE: + case DRT_RESTORE_HW_STATE: for (sn = 0; sn < DRSOCKETS; sn++) { stp4020_socket_csr_t *drs = &drt->pc_csr->socket[sn]; for (wn = 0; wn < DRWINDOWS; wn++) { drs->window[wn].ctl0 = - drt->saved_socket[sn].window[wn].ctl0; + drt->saved_socket[sn].window[wn].ctl0; drs->window[wn].ctl1 = - drt->saved_socket[sn].window[wn].ctl1; + drt->saved_socket[sn].window[wn].ctl1; } /* work around for false status bugs */ @@ -2259,7 +2259,7 @@ stpra_alloc_map() mutex_exit(&stpra_lock); if (new == NULL) { new = (struct stpramap *)kmem_zalloc(sizeof (struct stpramap), - KM_SLEEP); + KM_SLEEP); } else { bzero((caddr_t)new, sizeof (struct stpramap)); } @@ -2390,7 +2390,7 @@ stpra_alloc(struct stpramap **map, stpra_request_t *req, stpra_return_t *ret) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_WARN, "ra: bad length (pow2) %d\n", - req->ra_len); + req->ra_len); #endif ret->ra_addr_hi = 0; ret->ra_addr_lo = 0; @@ -2416,7 +2416,7 @@ stpra_alloc(struct stpramap **map, stpra_request_t *req, stpra_return_t *ret) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "stpra_alloc: mapp = %p\n", - (void *)mapp); + (void *)mapp); #endif backp = (struct stpramap *)map; @@ -2433,23 +2433,24 @@ stpra_alloc(struct stpramap **map, stpra_request_t *req, stpra_return_t *ret) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "stpra_alloc(unspecified request)" - "lower=%x, upper=%x\n", lower, upper); + "lower=%x, upper=%x\n", lower, upper); #endif for (; mapp != NULL; backp = mapp, mapp = mapp->ra_next) { #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, "stpra_alloc: ra_len = %x, len = %x", - mapp->ra_len, len); + mapp->ra_len, len); #endif if (mapp->ra_len >= len) { /* a candidate -- apply constraints */ base = mapp->ra_base; if (base < lower && - (base + mapp->ra_len) < (lower + len)) { + (base + mapp->ra_len) < (lower + len)) { if (((base + mapp->ra_len) != 0) || - ((base + mapp->ra_len) > mapp->ra_len)) - /* same as the above case */ + ((base + mapp->ra_len) > + mapp->ra_len)) + /* same as the above case */ continue; } if (base < lower) @@ -2457,9 +2458,9 @@ stpra_alloc(struct stpramap **map, stpra_request_t *req, stpra_return_t *ret) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, - "\tbase=%x, ra_base=%x," - "mask=%x\n", - base, mapp->ra_base, mask); + "\tbase=%x, ra_base=%x," + "mask=%x\n", + base, mapp->ra_base, mask); #endif if ((mapp->ra_base & mask) != 0) { /* @@ -2471,11 +2472,11 @@ stpra_alloc(struct stpramap **map, stpra_request_t *req, stpra_return_t *ret) #if defined(DRT_DEBUG) if (drt_debug) cmn_err(CE_CONT, - "\tnew base=%x\n", - base); + "\tnew base=%x\n", + base); #endif if (len > (mapp->ra_len - - (base - mapp->ra_base))) + (base - mapp->ra_base))) continue; } /* we have a fit */ @@ -2496,7 +2497,7 @@ stpra_alloc(struct stpramap **map, stpra_request_t *req, stpra_return_t *ret) newmap->ra_next = mapp->ra_next; newmap->ra_base = base + len; newmap->ra_len = mapp->ra_len - - (len + newlen); + (len + newlen); mapp->ra_len = newlen; mapp->ra_next = newmap; newmap = NULL; @@ -2521,54 +2522,57 @@ stpra_alloc(struct stpramap **map, stpra_request_t *req, stpra_return_t *ret) base = req->ra_addr_lo; len = req->ra_len; for (; mapp != NULL; backp = mapp, mapp = mapp->ra_next) { - if (base >= mapp->ra_base && - base < (mapp->ra_base + mapp->ra_len)) { + if (base >= mapp->ra_base && + base < (mapp->ra_base + mapp->ra_len)) { /* this is the node */ - if ((base + len) > - (mapp->ra_base + mapp->ra_len)) { + if ((base + len) > + (mapp->ra_base + mapp->ra_len)) { /* no match */ - base = 0; - } else { + base = 0; + } else { /* this is the one */ - if (base == mapp->ra_base) { + if (base == mapp->ra_base) { /* at the front */ - mapp->ra_base += len; - mapp->ra_len -= len; - if (mapp->ra_len == 0) { + mapp->ra_base += len; + mapp->ra_len -= len; + if (mapp->ra_len == 0) { /* used it up */ - old = mapp; - backp->ra_next = + old = mapp; + backp->ra_next = mapp->ra_next; - } - } else { + } + } else { /* on the end or in middle */ - if ((base + len) == - (mapp->ra_base + + if ((base + len) == + (mapp->ra_base + mapp->ra_len)) { /* on end */ - mapp->ra_len -= len; - } else { - uint32_t newbase, newlen; - /* in the middle */ - newbase = base + len; - newlen = (mapp->ra_base + - mapp->ra_len) - - newbase; - newmap->ra_base = newbase; - newmap->ra_len = newlen; - newmap->ra_next = + mapp->ra_len -= len; + } else { + uint32_t + newbase, newlen; + /* in the middle */ + newbase = base + len; + newlen = + (mapp->ra_base + + mapp->ra_len) - + newbase; + newmap->ra_base = + newbase; + newmap->ra_len = newlen; + newmap->ra_next = mapp->ra_next; - mapp->ra_next = newmap; - mapp->ra_len -= + mapp->ra_next = newmap; + mapp->ra_len -= newlen + len; - newmap = NULL; - } - } - } - rval = DDI_SUCCESS; - break; - } - } + newmap = NULL; + } + } + } + rval = DDI_SUCCESS; + break; + } + } } mutex_exit(&stpra_lock); @@ -2609,9 +2613,9 @@ stpra_fix_pow2(uint32_t value) #if defined(DRT_DEBUG) if (drt_debug) { cmn_err(CE_CONT, "stpra_fix_pow2(%x)->%x:%x\n", value, i, - 1 << i); + 1 << i); cmn_err(CE_CONT, - "\tffs=%d, fls=%d\n", ddi_ffs(value), ddi_fls(value)); + "\tffs=%d, fls=%d\n", ddi_ffs(value), ddi_fls(value)); } #endif return (1 << i); diff --git a/usr/src/uts/sun/io/ttymux/ttymux.c b/usr/src/uts/sun/io/ttymux/ttymux.c index 954c79d88a..22862fe8d9 100644 --- a/usr/src/uts/sun/io/ttymux/ttymux.c +++ b/usr/src/uts/sun/io/ttymux/ttymux.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * DESCRIPTION @@ -356,7 +355,7 @@ sm_qs_without(sm_uqi_t *uqi, uint_t flag, uint_t ioflag) for (lqi = uqi->sm_lqs; lqi; lqi = lqi->sm_nlqi) { if ((lqi->sm_flags & flag) == 0 && - (lqi->sm_ioflag & ioflag) == 0) + (lqi->sm_ioflag & ioflag) == 0) count++; } return (count); @@ -375,7 +374,7 @@ static int sm_cnt_oqs(sm_uqi_t *uqi) { return (sm_qs_without(uqi, (WERROR_MODE|HANGUP_MODE), - (uint_t)FOROUTPUT)); + (uint_t)FOROUTPUT)); } /* @@ -394,7 +393,7 @@ sm_issue_ioctl(void *arg) lqi->sm_bid = 0; if ((lqi->sm_flags & (WERROR_MODE|HANGUP_MODE)) == 0 && - (lqi->sm_flags & (WANT_CDSTAT|WANT_TCSET))) { + (lqi->sm_flags & (WANT_CDSTAT|WANT_TCSET))) { mblk_t *pioc; if (lqi->sm_flags & WANT_TCSET) { @@ -432,7 +431,7 @@ sm_issue_ioctl(void *arg) bzero((caddr_t)tc, sizeof (struct termios)); tc->c_cflag = lqi->sm_ttycommon-> - t_cflag; + t_cflag; pioc->b_cont->b_rptr = pioc->b_cont->b_wptr; pioc->b_cont->b_wptr += @@ -450,7 +449,7 @@ sm_issue_ioctl(void *arg) if (pioc != 0) { lqi->sm_piocid = ((struct iocblk *)pioc->b_rptr)-> - ioc_id; + ioc_id; lqi->sm_flags |= SM_IOCPENDING; /* lqi->sm_flags |= cmdflag; */ @@ -459,7 +458,7 @@ sm_issue_ioctl(void *arg) } else { UNLOCK_UNIT(lqi); lqi->sm_bid = qbufcall(WR(q), size, BPRI_MED, - sm_issue_ioctl, lqi); + sm_issue_ioctl, lqi); } } else @@ -476,7 +475,7 @@ sm_associate(int unit, sm_lqi_t *plqi, ulong_t tag, uint_t ioflag, char *dp) int rval = 0; sm_dbg('Y', ("sm_associate(%d, %d, %d): ", - (plqi) ? plqi->sm_linkid : 0, unit, ioflag)); + (plqi) ? plqi->sm_linkid : 0, unit, ioflag)); /* * Check the data is valid. * Associate a lower queue with a logical unit. @@ -511,9 +510,9 @@ sm_associate(int unit, sm_lqi_t *plqi, ulong_t tag, uint_t ioflag, char *dp) plqi->sm_ioflag = (ioflag & (uint_t)FORIO); plqi->sm_ttycommon->t_cflag = uqi->sm_ttycommon-> - t_cflag; + t_cflag; plqi->sm_ttycommon->t_flags = uqi->sm_ttycommon-> - t_flags; + t_flags; plqi->sm_uqi = uqi; plqi->sm_mbits = 0; plqi->sm_tag = tag; @@ -532,7 +531,7 @@ sm_associate(int unit, sm_lqi_t *plqi, ulong_t tag, uint_t ioflag, char *dp) if (uqi->sm_lqs) { sm_lqi_t *lq; for (lq = uqi->sm_lqs; lq->sm_nlqi; - lq = lq->sm_nlqi) { + lq = lq->sm_nlqi) { } lq->sm_nlqi = plqi; } else @@ -722,7 +721,7 @@ sm_dupmsg(sm_uqi_t *uqi, mblk_t *mp) sm_lqi_t *flqi; for (flqi = uqi->sm_lqs; flqi != lqi; - flqi = flqi->sm_nlqi) { + flqi = flqi->sm_nlqi) { if (lqi->sm_mp) { /* must have been sm_copymsg */ sm_freemsg(lqi->sm_mp); @@ -773,7 +772,7 @@ sm_putqs(queue_t *q, mblk_t *mp, int (*qfn)()) if (uqi->sm_lqs == 0 || (uqi->sm_flags & WERROR_MODE)) { sm_dbg('Q', ("sm_putqs: freeing (0x%p 0x%p).\n", uqi->sm_lqs, - uqi->sm_flags)); + uqi->sm_flags)); freemsg(mp); } else if (pri != BPRI_HI && sm_cansenddown(uqi) == 0) { /* a lower q is flow controlled */ @@ -785,7 +784,7 @@ sm_putqs(queue_t *q, mblk_t *mp, int (*qfn)()) } else { sm_log("sm_putqs: msg 0x%x - can't alloc %d bytes (pri %d).\n", - DB_TYPE(mp), memreq, pri); + DB_TYPE(mp), memreq, pri); sm_sched_uqcb(q, memreq, pri, sm_reenable_q); (void) qfn(q, mp); @@ -827,7 +826,7 @@ sm_link_req(queue_t *wq, mblk_t *mp) * 4. Remember that this lower queue is linked to the driver. */ if ((linkp == NULL) || (MBLKL(mp) < sizeof (*linkp)) || - linkp->l_qbot == NULL) { + linkp->l_qbot == NULL) { sm_dbg('I', ("sm_link_req: invalid link block.\n")); rval = EINVAL; } else if ((plqi = get_lqi_byq(linkp->l_qbot)) == 0) { @@ -842,12 +841,12 @@ sm_link_req(queue_t *wq, mblk_t *mp) SM_RQ(plqi) = OTHERQ(linkp->l_qbot); linkp->l_qbot->q_ptr = - OTHERQ(linkp->l_qbot)->q_ptr = plqi; + OTHERQ(linkp->l_qbot)->q_ptr = plqi; plqi->sm_linkid = linkp->l_index; UNLOCK_UNIT(plqi); /* was aquired by get_lqi_byq */ sm_dbg('H', ("sm_link_req: linkid = %d.\n", - linkp->l_index)); + linkp->l_index)); sm_setdip(linkp->l_qbot, plqi); plqi->sm_ttycommon->t_flags = 0; @@ -866,8 +865,8 @@ sm_link_req(queue_t *wq, mblk_t *mp) linkp = (struct linkblk *)mp->b_cont->b_rptr; if ((linkp == NULL) || - (MBLKL(mp) < sizeof (*linkp)) || - linkp->l_qbot == NULL) { + (MBLKL(mp) < sizeof (*linkp)) || + linkp->l_qbot == NULL) { rval = EINVAL; } else if ((plqi = get_lqi_byid(linkp->l_index)) == 0) { rval = EINVAL; @@ -879,7 +878,7 @@ sm_link_req(queue_t *wq, mblk_t *mp) * Mark the lower q as invalid. */ sm_dbg('G', ("I_PUNLINK: freeing link %d\n", - linkp->l_index)); + linkp->l_index)); if (plqi->sm_bid) { qunbufcall(SM_RQ(plqi), plqi->sm_bid); @@ -897,7 +896,7 @@ sm_link_req(queue_t *wq, mblk_t *mp) if (uqi) (void) sm_disassociate(uqi->sm_lunit, - plqi, plqi->sm_tag); + plqi, plqi->sm_tag); LOCK_UNIT(plqi); @@ -926,7 +925,7 @@ sm_link_req(queue_t *wq, mblk_t *mp) sm_uwq_error(uqi) && putnextctl(SM_RQ(uqi), M_HANGUP) == 0) { sm_log("sm_link_req: putnextctl(M_HANGUP)" - " failed.\n"); + " failed.\n"); } rval = 0; @@ -962,8 +961,8 @@ sm_getiocinfo(mblk_t *mp, struct sm_iocinfo *info) info->sm_cmd = ((struct iocblk *)mp->b_rptr)->ioc_cmd; /* the se driver has bug so we cannot use ioc_count */ info->sm_data = (((struct iocblk *)mp->b_rptr)-> - ioc_error == 0 && mp->b_cont) ? - (void *)mp->b_cont->b_rptr : 0; + ioc_error == 0 && mp->b_cont) ? + (void *)mp->b_cont->b_rptr : 0; break; case M_IOCNAK: info->sm_id = ((struct iocblk *)mp->b_rptr)->ioc_id; @@ -974,8 +973,8 @@ sm_getiocinfo(mblk_t *mp, struct sm_iocinfo *info) info->sm_id = ((struct copyresp *)mp->b_rptr)->cp_id; info->sm_cmd = ((struct copyresp *)mp->b_rptr)->cp_cmd; info->sm_data = (((struct copyresp *)mp->b_rptr)-> - cp_rval == 0 && mp->b_cont) ? - (void *)mp->b_cont->b_rptr : 0; + cp_rval == 0 && mp->b_cont) ? + (void *)mp->b_cont->b_rptr : 0; break; case M_IOCTL: info->sm_id = ((struct iocblk *)mp->b_rptr)->ioc_id; @@ -1068,8 +1067,8 @@ sm_update_ttyinfo(mblk_t *mp, sm_uqi_t *uqi) } /* end switch cmd */ if ((uqi->sm_mbits & TIOCM_CD) || - (uqi->sm_ttycommon->t_flags & TS_SOFTCAR) || - (uqi->sm_ttycommon->t_cflag & CLOCAL)) + (uqi->sm_ttycommon->t_flags & TS_SOFTCAR) || + (uqi->sm_ttycommon->t_cflag & CLOCAL)) uqi->sm_flags |= SM_CARON; else uqi->sm_flags &= ~SM_CARON; @@ -1129,7 +1128,7 @@ sm_hp_uwput(queue_t *wq, mblk_t *mp) */ for (plqi = uqi->sm_lqs; plqi != 0; plqi = plqi->sm_nlqi) { if ((plqi->sm_flags & WERROR_MODE) == 0 && - SM_WQ(plqi)) { + SM_WQ(plqi)) { sm_dbg('I', ("flush lq 0x%p\n", SM_WQ(plqi))); if (*mp->b_rptr & FLUSHW) flushq(SM_WQ(plqi), FLUSHDATA); @@ -1306,7 +1305,7 @@ sm_uwput(queue_t *wq, mblk_t *mp) case CONSSETABORTENABLE: iobp->ioc_error = secpolicy_sys_config(iobp->ioc_cr, B_FALSE) != 0 ? - EPERM : ttymux_abort_ioctl(mp); + EPERM : ttymux_abort_ioctl(mp); DB_TYPE(mp) = iobp->ioc_error ? M_IOCNAK : M_IOCACK; qreply(wq, mp); break; @@ -1468,7 +1467,7 @@ sm_uriocack(queue_t *rq, mblk_t *mp) } else { sm_log("Unexpected ioctl response\n"); sm_dbg('I', ("Unexpected ioctl response (id %d)\n", - info.sm_id)); + info.sm_id)); /* * If the response is sent up it will result in @@ -1701,16 +1700,16 @@ sm_lrmsg_check(queue_t *q, mblk_t *mp) lqi->sm_nachar++; if (*lqi->sm_nachar == '\0') { abort_sequence_enter( - (char *)NULL); + (char *)NULL); lqi->sm_nachar = sm_ssp->sm_abs; aborted = B_TRUE; } } else lqi->sm_nachar = (*rxc == *sm_ssp-> - sm_abs) ? - sm_ssp-> - sm_abs + 1 : - sm_ssp->sm_abs; + sm_abs) ? + sm_ssp-> + sm_abs + 1 : + sm_ssp->sm_abs; if (aborted) { freemsg(mp); @@ -1848,7 +1847,7 @@ sm_sendup(queue_t *q, mblk_t *mp) /* has next driver done qprocsoff */ if (rw && OTHERQ(q)->q_next != NULL) { (void) putnextctl1(OTHERQ(q), M_FLUSH, - rw); + rw); } } } else if (*mp->b_rptr != 0 && OTHERQ(q)->q_next != NULL) { @@ -1927,7 +1926,7 @@ sm_ok_to_open(sm_uqi_t *uqi, int protocol, cred_t *credp, int *abort_waiters) switch (protocol) { case ASYNC_DEVICE: /* Standard async protocol */ if ((uqi->sm_protocol == NULL_PROTOCOL) || - (uqi->sm_protocol == ASYN_PROTOCOL)) { + (uqi->sm_protocol == ASYN_PROTOCOL)) { /* * Lock out other incompatible protocol requests. */ @@ -1939,7 +1938,7 @@ sm_ok_to_open(sm_uqi_t *uqi, int protocol, cred_t *credp, int *abort_waiters) case OUTLINE: /* Outdial protocol */ if ((uqi->sm_protocol == NULL_PROTOCOL) || - (uqi->sm_protocol == OUTD_PROTOCOL)) { + (uqi->sm_protocol == OUTD_PROTOCOL)) { proto = OUTD_PROTOCOL; rval = 0; } else if (uqi->sm_protocol == ASYN_PROTOCOL) { @@ -1962,8 +1961,8 @@ sm_ok_to_open(sm_uqi_t *uqi, int protocol, cred_t *credp, int *abort_waiters) } if (rval == 0 && - (uqi->sm_ttycommon->t_flags & TS_XCLUDE) && - secpolicy_excl_open(credp) != 0) { + (uqi->sm_ttycommon->t_flags & TS_XCLUDE) && + secpolicy_excl_open(credp) != 0) { if (uqi->sm_flags & FULLY_OPEN) { rval = EBUSY; /* exclusive device already open */ @@ -1978,7 +1977,7 @@ sm_ok_to_open(sm_uqi_t *uqi, int protocol, cred_t *credp, int *abort_waiters) uqi->sm_protocol = proto; sm_dbg('A', ("ok_to_open (0x%p, %d) proto=%d rval %d (wabort=%d)", - uqi, protocol, uqi->sm_protocol, rval, *abort_waiters)); + uqi, protocol, uqi->sm_protocol, rval, *abort_waiters)); return (rval); } @@ -2049,7 +2048,7 @@ sm_defer_open(sm_uqi_t *uqi, queue_t *q) mblk_t *pioc; sm_dbg('C', ("sm_defer_open: flags 0x%x cmdflags 0x%x\n", - uqi->sm_flags, cmdflags)); + uqi->sm_flags, cmdflags)); if (cmdflags == 0) { if (err = sm_qwait_sig(uqi, q)) return (err); @@ -2068,8 +2067,8 @@ sm_defer_open(sm_uqi_t *uqi, queue_t *q) if (uqi->sm_piocdata.sm_iocid == 0) { while ((pioc = mkiocb(iocmd)) == 0) { bufcall_id_t id = - qbufcall(q, sizeof (struct iocblk), - BPRI_MED, dummy_callback, 0); + qbufcall(q, sizeof (struct iocblk), + BPRI_MED, dummy_callback, 0); if (err = sm_qwait_sig(uqi, q)) { /* wait for the bufcall */ qunbufcall(q, id); @@ -2086,7 +2085,7 @@ sm_defer_open(sm_uqi_t *uqi, queue_t *q) uqi->sm_piocdata.sm_nacks = nqs; uqi->sm_piocdata.sm_acnt = 0; uqi->sm_piocdata.sm_ackcnt = uqi-> - sm_piocdata.sm_nakcnt = 0; + sm_piocdata.sm_nakcnt = 0; uqi->sm_piocdata.sm_policy = uqi->sm_policy; uqi->sm_piocdata.sm_flags = SM_INTERNALIOC; if (sm_putqs(WR(q), pioc, sm_dump_msg) != 0) { @@ -2133,7 +2132,7 @@ sm_open(queue_t *rq, dev_t *devp, int flag, int sflag, cred_t *credp) uqi = get_uqi(sm_ssp, unit); sm_dbg('C', ("open(0x%p, %d, 0x%x) :- unit=%d, proto=%d, uqi=0x%p\n", - rq, *devp, flag, unit, protocol, uqi)); + rq, *devp, flag, unit, protocol, uqi)); if (uqi == 0) return (ENXIO); @@ -2186,7 +2185,7 @@ sm_open(queue_t *rq, dev_t *devp, int flag, int sflag, cred_t *credp) } else bzero((caddr_t)uqi->sm_ttycommon, - sizeof (uqi->sm_ttycommon)); + sizeof (uqi->sm_ttycommon)); if (*devp == rconsdev) { uqi->sm_cmask = sm_cmask; @@ -2205,7 +2204,7 @@ sm_open(queue_t *rq, dev_t *devp, int flag, int sflag, cred_t *credp) uqi->sm_policy = FIRSTACK; if (unit == 0 && sm_ssp->sm_ms == 0) sm_ssp->sm_ms = (sm_mux_state_t *) - space_fetch(TTYMUXPTR); + space_fetch(TTYMUXPTR); if (sm_ssp->sm_ms) { if (sm_ssp->sm_ms->sm_cons_stdin.sm_dev == *devp || sm_ssp->sm_ms->sm_cons_stdout.sm_dev == *devp) @@ -2338,7 +2337,7 @@ sm_close(queue_t *rq, int flag, cred_t *credp) } sm_dbg('C', ("close: uqi=0x%p unit=%d q=0x%p)\n", uqi, uqi->sm_lunit, - rq)); + rq)); if (SM_RQ(uqi) != rq) sm_dbg('C', ("sm_close: rq != current uqi queue\n")); @@ -2373,7 +2372,7 @@ sm_close(queue_t *rq, int flag, cred_t *credp) LOCK_UNIT(uqi); if (uqi->sm_waitq == 0) uqi->sm_flags = (uqi->sm_flags & SM_OBPCNDEV) ? SM_OBPCNDEV : - 0U; + 0U; uqi->sm_dev = NODEV; uqi->sm_protocol = NULL_PROTOCOL; @@ -2402,7 +2401,7 @@ sm_close(queue_t *rq, int flag, cred_t *credp) */ if (uqi->sm_waitq) { sm_dbg('C', ("close(0x%p): doing putctl on 0x%p\n", - rq, uqi->sm_waitq)); + rq, uqi->sm_waitq)); if (rq == uqi->sm_waitq) sm_log("close: waitq and closeq are same q\n"); (void) putctl(uqi->sm_waitq, M_CTL); @@ -2425,8 +2424,8 @@ sm_set_abort() int len = SM_MAX_ABSLEN; if (ddi_prop_op(DDI_DEV_T_ANY, sm_ssp->sm_dip, PROP_LEN_AND_VAL_BUF, 0, - "abort-str", as, &len) != DDI_PROP_SUCCESS || - (len = strlen(as)) < SM_MIN_ABSLEN) { + "abort-str", as, &len) != DDI_PROP_SUCCESS || + (len = strlen(as)) < SM_MIN_ABSLEN) { (void) strcpy(as, ds); len = strlen(as); } else { @@ -2518,27 +2517,27 @@ sm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * Get required debug level. */ sm_ssp->sm_trflag = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "sm-trlv", sm_default_trflag); + DDI_PROP_DONTPASS, "sm-trlv", sm_default_trflag); sm_max_units = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "sm-max-units", sm_max_units); + DDI_PROP_DONTPASS, "sm-max-units", sm_max_units); sm_minor_cnt = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "sm-minor-cnt", 0); + DDI_PROP_DONTPASS, "sm-minor-cnt", 0); sm_refuse_opens = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "sm-refuse-opens", sm_refuse_opens); + DDI_PROP_DONTPASS, "sm-refuse-opens", sm_refuse_opens); sm_ssp->sm_ctrla_abort_on = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "sm-ctrla-abort-on", 1); + DDI_PROP_DONTPASS, "sm-ctrla-abort-on", 1); sm_ssp->sm_break_abort_on = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "sm-break-abort-on", 0); + DDI_PROP_DONTPASS, "sm-break-abort-on", 0); sm_set_abort(); sm_ssp->sm_lqs = (sm_lqi_t *)kmem_zalloc(sizeof (sm_lqi_t) * MAX_LQS, - KM_SLEEP); + KM_SLEEP); sm_ssp->sm_uqs = (sm_uqi_t *)kmem_zalloc(sizeof (sm_uqi_t) * NLUNITS, - KM_SLEEP); + KM_SLEEP); for (unit = 2; unit < NLUNITS && unit < sm_minor_cnt + 2; unit++) { @@ -2577,7 +2576,7 @@ sm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) mutex_init(uqi->sm_umutex, NULL, MUTEX_DRIVER, NULL); cv_init(uqi->sm_ucv, NULL, CV_DRIVER, NULL); mutex_init(&uqi->sm_ttycommon->t_excl, NULL, - MUTEX_DRIVER, NULL); + MUTEX_DRIVER, NULL); } for (unit = 0; unit < MAX_LQS; unit++) { @@ -2591,7 +2590,7 @@ sm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) mutex_init(lqip->sm_umutex, NULL, MUTEX_DRIVER, NULL); cv_init(lqip->sm_ucv, NULL, CV_DRIVER, NULL); mutex_init(&lqip->sm_ttycommon->t_excl, NULL, - MUTEX_DRIVER, NULL); + MUTEX_DRIVER, NULL); } return (DDI_SUCCESS); @@ -2826,7 +2825,7 @@ DDI_DEFINE_STREAM_OPS(sm_ops, \ nulldev, nulldev, \ sm_attach, sm_detach, nodev, \ sm_info, (D_NEW | D_MTQPAIR|D_MTOUTPERIM|D_MTOCEXCL | D_MP), - &sm_streamtab); + &sm_streamtab, ddi_quiesce_not_supported); /* * Driver module information. @@ -2835,7 +2834,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "serial mux driver %I%", + "serial mux driver", &sm_ops }; diff --git a/usr/src/uts/sun/io/zs_common.c b/usr/src/uts/sun/io/zs_common.c index 8e2563b29d..7c39106941 100644 --- a/usr/src/uts/sun/io/zs_common.c +++ b/usr/src/uts/sun/io/zs_common.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -27,7 +27,6 @@ * Serial I/O driver for Z8530 chips */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/param.h> @@ -196,7 +195,8 @@ struct dev_ops zs_ops = { nodev, /* devo_reset */ &cb_zs_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - ddi_power /* devo_power */ + ddi_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -214,7 +214,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Z8530 serial driver V%I%", + "Z8530 serial driver", &zs_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun/io/zs_hdlc.c b/usr/src/uts/sun/io/zs_hdlc.c index 8cb614fcb9..99a41283af 100644 --- a/usr/src/uts/sun/io/zs_hdlc.c +++ b/usr/src/uts/sun/io/zs_hdlc.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * HDLC protocol handler for Z8530 SCC. @@ -204,7 +202,7 @@ struct streamtab hdlctab = { }; DDI_DEFINE_STREAM_OPS(zsh_ops, nulldev, zsh_probe, zsh_attach, - zsh_detach, nodev, zsh_info, D_MP, &hdlctab); + zsh_detach, nodev, zsh_info, D_MP, &hdlctab, ddi_quiesce_not_supported); /* * This is the loadable module wrapper. @@ -219,7 +217,7 @@ DDI_DEFINE_STREAM_OPS(zsh_ops, nulldev, zsh_probe, zsh_attach, static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Z8530 serial HDLC drv V%I%", + "Z8530 serial HDLC drv", &zsh_ops, /* our own ops for this module */ }; @@ -587,9 +585,9 @@ zsh_open(queue_t *rq, dev_t *dev, int flag, int sflag, cred_t *cr) tmp = ZSH_MAX_RSTANDBY; ZSH_GETBLOCK(zs, tmp); if (zss->sl_rstandby[0] == NULL) { - cmn_err(CE_WARN, "zsh_open: can't alloc message block"); - mutex_exit(zs->zs_excl); - return (ENOSR); + cmn_err(CE_WARN, "zsh_open: can't alloc message block"); + mutex_exit(zs->zs_excl); + return (ENOSR); } mutex_enter(zs->zs_excl_hi); ZSH_ALLOCB(zss->sl_ractb); @@ -851,7 +849,7 @@ zsh_wput(queue_t *wq, mblk_t *mp) TRACE_0(TR_ZSH, TR_ZSH_WPUT_START, "zsh_wput start"); if ((mp->b_datap->db_type == M_FLUSH) && - (stp->str_state == STR_CLONE)) { + (stp->str_state == STR_CLONE)) { if (*mp->b_rptr & FLUSHW) { flushq(wq, FLUSHDATA); *mp->b_rptr &= ~FLUSHW; @@ -864,12 +862,12 @@ zsh_wput(queue_t *wq, mblk_t *mp) } if ((zs == NULL) && (mp->b_datap->db_type != M_PROTO)) { - freemsg(mp); - cmn_err(CE_WARN, - "zsh: clone device %d must be attached before use!", - stp->str_inst); - (void) putnextctl1(RD(wq), M_ERROR, EPROTO); - return; + freemsg(mp); + cmn_err(CE_WARN, + "zsh: clone device %d must be attached before use!", + stp->str_inst); + (void) putnextctl1(RD(wq), M_ERROR, EPROTO); + return; } if (stp->str_state == STR_CLONE) { /* Clone opened, limited. */ @@ -1061,10 +1059,10 @@ end_proto: zss = (struct syncline *)&zs->zs_priv_str; mutex_enter(zs->zs_excl); error = zsh_setmode(zs, zss, - (struct scc_mode *)mp->b_cont->b_rptr); + (struct scc_mode *)mp->b_cont->b_rptr); if (error) { register struct iocblk *iocp = - (struct iocblk *)mp->b_rptr; + (struct iocblk *)mp->b_rptr; mp->b_datap->db_type = M_IOCNAK; iocp->ioc_error = error; } else @@ -1402,14 +1400,15 @@ zsh_setmode(struct zscom *zs, struct syncline *zss, struct scc_mode *sm) return (EINVAL); /* not supported */ } else { if (((zss->sl_mode.sm_config ^ sm->sm_config) & - CONN_SIGNAL) != 0) { /* Changing, going... */ + CONN_SIGNAL) != 0) { /* Changing, going... */ if (sm->sm_config & CONN_SIGNAL) { /* ...up. */ if (zss->sl_mstat == NULL) { - mutex_exit(zs->zs_excl_hi); - mp = allocb( - sizeof (struct sl_status), BPRI_MED); - mutex_enter(zs->zs_excl_hi); - zss->sl_mstat = mp; + mutex_exit(zs->zs_excl_hi); + mp = allocb( + sizeof (struct sl_status), + BPRI_MED); + mutex_enter(zs->zs_excl_hi); + zss->sl_mstat = mp; } } else { /* ...down. */ if ((mp = zss->sl_mstat) != NULL) @@ -1637,15 +1636,16 @@ zsh_xsint(struct zscom *zs) } if (x0 & s0 & ZSRR0_CTS) { - if (zss->sl_txstate == TX_RTS) { - if (!(zss->sl_flags & SF_FDXPTP)) { - SCC_BIS(5, ZSWR5_TX_ENABLE); + if (zss->sl_txstate == TX_RTS) { + if (!(zss->sl_flags & SF_FDXPTP)) { + SCC_BIS(5, ZSWR5_TX_ENABLE); + } + (void) zsh_start(zs, zss); + } else if ((zss->sl_mode.sm_config & + (CONN_IBM | CONN_SIGNAL))) { + zss->sl_flags &= ~SF_FLUSH_WQ; + zsh_setmstat(zs, CS_CTS_UP); } - (void) zsh_start(zs, zss); - } else if ((zss->sl_mode.sm_config & (CONN_IBM | CONN_SIGNAL))) { - zss->sl_flags &= ~SF_FLUSH_WQ; - zsh_setmstat(zs, CS_CTS_UP); - } } /* diff --git a/usr/src/uts/sun/sys/bootconf.h b/usr/src/uts/sun/sys/bootconf.h index 86573edd99..1377b4a139 100644 --- a/usr/src/uts/sun/sys/bootconf.h +++ b/usr/src/uts/sun/sys/bootconf.h @@ -26,7 +26,6 @@ #ifndef _SYS_BOOTCONF_H #define _SYS_BOOTCONF_H -#pragma ident "%Z%%M% %I% %E% SMI" /* SunOS-4.0 1.7 */ /* * Boot time configuration information objects @@ -223,6 +222,7 @@ extern int netboot; extern int swaploaded; extern int modrootloaded; extern char kern_bootargs[]; +extern char kern_bootfile[]; extern char *kobj_module_path; extern char *default_path; extern char *dhcack; diff --git a/usr/src/uts/sun4/io/ebus.c b/usr/src/uts/sun4/io/ebus.c index e1103ebc6d..d8d15f484b 100644 --- a/usr/src/uts/sun4/io/ebus.c +++ b/usr/src/uts/sun4/io/ebus.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -162,7 +161,9 @@ static struct dev_ops ebus_ops = { ebus_detach, nodev, &ebus_cb_ops, - &ebus_bus_ops + &ebus_bus_ops, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -173,7 +174,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "ebus nexus driver %I%", /* Name of module. */ + "ebus nexus driver", /* Name of module. */ &ebus_ops, /* driver ops */ }; @@ -309,7 +310,7 @@ ebus_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * create minor node for devctl interfaces */ if (ddi_create_minor_node(dip, "devctl", S_IFCHR, instance, - DDI_NT_NEXUS, 0) != DDI_SUCCESS) { + DDI_NT_NEXUS, 0) != DDI_SUCCESS) { goto attach_fail; } @@ -390,7 +391,7 @@ int ebus_get_ranges_prop(ebus_devstate_t *ebus_p) { if (ddi_getlongprop(DDI_DEV_T_ANY, ebus_p->dip, DDI_PROP_DONTPASS, - "ranges", (caddr_t)&ebus_p->vrangep, &ebus_p->vrange_len) + "ranges", (caddr_t)&ebus_p->vrangep, &ebus_p->vrange_len) != DDI_SUCCESS) { cmn_err(CE_WARN, "Can't get %s ranges property", ddi_get_name(ebus_p->dip)); @@ -399,7 +400,7 @@ ebus_get_ranges_prop(ebus_devstate_t *ebus_p) ebus_p->vrange_cnt = ebus_p->vrange_len / (ebus_p->ebus_paddr_cells + ebus_p->ebus_addr_cells + - ebus_p->ebus_psz_cells); + ebus_p->ebus_psz_cells); if (ebus_p->vrange_cnt == 0) { kmem_free(ebus_p->vrangep, ebus_p->vrange_len); @@ -476,8 +477,8 @@ ebus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, * the request to our parent. */ DBG3(D_MAP, ebus_p, "rdip=%s%d: REGSPEC - handlep=%p\n", - ddi_get_name(rdip), ddi_get_instance(rdip), - mp->map_handlep); + ddi_get_name(rdip), ddi_get_instance(rdip), + mp->map_handlep); ebus_rp = (ebus_regspec_t *)mp->map_obj.rp; break; @@ -489,8 +490,8 @@ ebus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, */ rnumber = mp->map_obj.rnumber; DBG4(D_MAP, ebus_p, "rdip=%s%d: rnumber=%x handlep=%p\n", - ddi_get_name(rdip), ddi_get_instance(rdip), - rnumber, mp->map_handlep); + ddi_get_name(rdip), ddi_get_instance(rdip), + rnumber, mp->map_handlep); if (getprop(rdip, "reg", &ebus_regs, &i) != DDI_SUCCESS) { DBG(D_MAP, ebus_p, "can't get reg property\n"); @@ -681,8 +682,8 @@ ebus_ctlops(dev_info_t *dip, dev_info_t *rdip, case DDI_CTLOPS_UNINITCHILD: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_UNINITCHILD: rdip=%s%d\n", - ddi_get_name((dev_info_t *)arg), - ddi_get_instance((dev_info_t *)arg)); + ddi_get_name((dev_info_t *)arg), + ddi_get_instance((dev_info_t *)arg)); ddi_set_name_addr((dev_info_t *)arg, NULL); ddi_remove_minor_node((dev_info_t *)arg, NULL); impl_rem_dev_props((dev_info_t *)arg); @@ -691,17 +692,17 @@ ebus_ctlops(dev_info_t *dip, dev_info_t *rdip, case DDI_CTLOPS_REPORTDEV: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_REPORTDEV: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); cmn_err(CE_CONT, "?%s%d at %s%d: offset %s\n", - ddi_driver_name(rdip), ddi_get_instance(rdip), - ddi_driver_name(dip), ddi_get_instance(dip), - ddi_get_name_addr(rdip)); + ddi_driver_name(rdip), ddi_get_instance(rdip), + ddi_driver_name(dip), ddi_get_instance(dip), + ddi_get_name_addr(rdip)); return (DDI_SUCCESS); case DDI_CTLOPS_REGSIZE: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_REGSIZE: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); if (getprop(rdip, "reg", &ebus_rp, &i) != DDI_SUCCESS) { DBG(D_CTLOPS, ebus_p, "can't get reg property\n"); return (DDI_FAILURE); @@ -719,7 +720,7 @@ ebus_ctlops(dev_info_t *dip, dev_info_t *rdip, case DDI_CTLOPS_NREGS: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_NREGS: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); if (getprop(rdip, "reg", &ebus_rp, &i) != DDI_SUCCESS) { DBG(D_CTLOPS, ebus_p, "can't get reg property\n"); return (DDI_FAILURE); @@ -733,7 +734,7 @@ ebus_ctlops(dev_info_t *dip, dev_info_t *rdip, * Now pass the request up to our parent. */ DBG2(D_CTLOPS, ebus_p, "passing request to parent: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); return (ddi_ctlops(dip, rdip, op, arg, result)); } @@ -866,8 +867,8 @@ ebus_config(ebus_devstate_t *ebus_p) int devtype_len; if (ddi_getlongprop(DDI_DEV_T_ANY, ddi_get_parent(dip), - DDI_PROP_DONTPASS, "device_type", (caddr_t)&devtype_str, - &devtype_len) != DDI_SUCCESS) { + DDI_PROP_DONTPASS, "device_type", (caddr_t)&devtype_str, + &devtype_len) != DDI_SUCCESS) { cmn_err(CE_WARN, "Can't get %s device_type property", ddi_get_name(ddi_get_parent(dip))); @@ -929,8 +930,8 @@ ebus_debug(uint_t flag, ebus_devstate_t *ebus_p, char *fmt, } if (ebus_p) cmn_err(CE_CONT, "%s%d: %s: ", - ddi_get_name(ebus_p->dip), - ddi_get_instance(ebus_p->dip), s); + ddi_get_name(ebus_p->dip), + ddi_get_instance(ebus_p->dip), s); else cmn_err(CE_CONT, "ebus: "); cmn_err(CE_CONT, fmt, a1, a2, a3, a4, a5); diff --git a/usr/src/uts/sun4/io/efcode/fcode.c b/usr/src/uts/sun4/io/efcode/fcode.c index 5228f67d7e..3925f96fac 100644 --- a/usr/src/uts/sun4/io/efcode/fcode.c +++ b/usr/src/uts/sun4/io/efcode/fcode.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * fcode helper driver -- provide priv. access and kernel communication @@ -109,7 +108,9 @@ static struct dev_ops fcode_ops = { fc_detach, /* detach */ nodev, /* reset */ &fc_cb_ops, /* driver operations */ - NULL /* bus operations */ + NULL, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -117,7 +118,7 @@ static struct dev_ops fcode_ops = { */ static struct modldrv modldrv = { &mod_driverops, - "FCode driver %I%", + "FCode driver", &fcode_ops }; @@ -295,7 +296,7 @@ fc_open(dev_t *devp, int flag, int otyp, cred_t *credp) *devp = makedevice(getmajor(*devp), (minor_t)(m + 1)); FC_DEBUG2(9, CE_CONT, "fc_open: open count = %d (%d)\n", - fc_open_count, m + 1); + fc_open_count, m + 1); return (0); } @@ -366,7 +367,7 @@ fc_close(dev_t dev, int flag, int otype, cred_t *cred_p) st->state = FC_STATE_INACTIVE; st->req = 0; FC_DEBUG2(9, CE_CONT, "fc_close: open count = %d (%d)\n", - fc_open_count, m + 1); + fc_open_count, m + 1); if (fc_open_count >= fc_max_opens) { cv_broadcast(&fc_open_cv); } diff --git a/usr/src/uts/sun4/io/fpc/fpc.c b/usr/src/uts/sun4/io/fpc/fpc.c index 62fcfb8c95..307cf9edb9 100644 --- a/usr/src/uts/sun4/io/fpc/fpc.c +++ b/usr/src/uts/sun4/io/fpc/fpc.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/sunddi.h> @@ -48,14 +47,15 @@ static struct dev_ops fpc_ops = { nodev, NULL, NULL, - nodev + nodev, + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv md = { &mod_driverops, - "IO Chip Perf Counter %I%", + "IO Chip Perf Counter", &fpc_ops, }; diff --git a/usr/src/uts/sun4/io/px/px.c b/usr/src/uts/sun4/io/px/px.c index 6102ab379f..5f986d94e1 100644 --- a/usr/src/uts/sun4/io/px/px.c +++ b/usr/src/uts/sun4/io/px/px.c @@ -119,7 +119,8 @@ static struct dev_ops px_ops = { nodev, &px_cb_ops, &px_bus_ops, - nulldev + nulldev, + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/sun4/io/px/px_pci.c b/usr/src/uts/sun4/io/px/px_pci.c index 286feee297..f9551886cc 100644 --- a/usr/src/uts/sun4/io/px/px_pci.c +++ b/usr/src/uts/sun4/io/px/px_pci.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Sun4 PCI Express to PCI bus bridge nexus driver @@ -211,7 +210,8 @@ static struct dev_ops pxb_ops = { nulldev, /* reset */ &pxb_cb_ops, /* driver operations */ &pxb_bus_ops, /* bus operations */ - pcie_power /* power entry */ + pcie_power, /* power entry */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -220,7 +220,7 @@ static struct dev_ops pxb_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module */ - "PCIe/PCI nexus driver %I%", + "PCIe/PCI nexus driver", &pxb_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4/io/rootnex.c b/usr/src/uts/sun4/io/rootnex.c index c9bdd63aea..fcc1c514c9 100644 --- a/usr/src/uts/sun4/io/rootnex.c +++ b/usr/src/uts/sun4/io/rootnex.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sun4 root nexus driver @@ -162,15 +161,17 @@ static int rootnex_detach(dev_info_t *devi, ddi_detach_cmd_t cmd); static struct dev_ops rootnex_ops = { DEVO_REV, - 0, /* refcnt */ - ddi_no_info, /* info */ + 0, /* refcnt */ + ddi_no_info, /* info */ nulldev, - nulldev, /* probe */ + nulldev, /* probe */ rootnex_attach, rootnex_detach, - nodev, /* reset */ + nodev, /* reset */ &rootnex_cb_ops, - &rootnex_bus_ops + &rootnex_bus_ops, + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; diff --git a/usr/src/uts/sun4/io/su_driver.c b/usr/src/uts/sun4/io/su_driver.c index 617507fcfe..910f2b1b22 100644 --- a/usr/src/uts/sun4/io/su_driver.c +++ b/usr/src/uts/sun4/io/su_driver.c @@ -27,7 +27,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Serial I/O driver for 82510/8250/16450/16550AF/16C554D chips. @@ -274,6 +273,9 @@ struct dev_ops asy_ops = { asydetach, /* devo_detach */ nodev, /* devo_reset */ &cb_asy_ops, /* devo_cb_ops */ + NULL, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -282,7 +284,7 @@ struct dev_ops asy_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "su driver %I%", + "su driver", &asy_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4/io/tod.c b/usr/src/uts/sun4/io/tod.c index 6e61173adc..7d85f65fcf 100644 --- a/usr/src/uts/sun4/io/tod.c +++ b/usr/src/uts/sun4/io/tod.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/time.h> @@ -85,7 +83,8 @@ static struct dev_ops tod_dev_ops = { nulldev, /* reset */ &tod_cb_ops, (struct bus_ops *)NULL, - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* module configuration stuff */ @@ -94,7 +93,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "tod driver (v1.0) %I%", + "tod driver", &tod_dev_ops }; diff --git a/usr/src/uts/sun4/io/trapstat.c b/usr/src/uts/sun4/io/trapstat.c index 2258505b5a..1779f30329 100644 --- a/usr/src/uts/sun4/io/trapstat.c +++ b/usr/src/uts/sun4/io/trapstat.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/systm.h> #include <sys/conf.h> @@ -2456,6 +2455,8 @@ static struct dev_ops trapstat_ops = { nulldev, /* reset */ &trapstat_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/sun4/os/startup.c b/usr/src/uts/sun4/os/startup.c index e3bdf3a245..278efddc23 100644 --- a/usr/src/uts/sun4/os/startup.c +++ b/usr/src/uts/sun4/os/startup.c @@ -3097,6 +3097,7 @@ vmem_t *texthole_arena[HEAPTEXT_NARENAS]; kmutex_t texthole_lock; char kern_bootargs[OBP_MAXPATHLEN]; +char kern_bootfile[OBP_MAXPATHLEN]; void kobj_vmem_init(vmem_t **text_arena, vmem_t **data_arena) diff --git a/usr/src/uts/sun4u/daktari/io/hpc3130_dak.c b/usr/src/uts/sun4u/daktari/io/hpc3130_dak.c index b17aa5ab75..f83fecf533 100644 --- a/usr/src/uts/sun4u/daktari/io/hpc3130_dak.c +++ b/usr/src/uts/sun4u/daktari/io/hpc3130_dak.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -33,7 +33,6 @@ * be loaded instead of the generic module. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/cmn_err.h> @@ -215,14 +214,16 @@ static struct dev_ops hpc3130_ops = { hpc3130_detach, nodev, &hpc3130_cbops, - NULL + NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv hpc3130_modldrv = { &mod_driverops, /* type of module - driver */ - "Hotplug controller driver %I%", + "Hotplug controller driver", &hpc3130_ops }; @@ -241,7 +242,7 @@ _init(void) if (!error) (void) ddi_soft_state_init((void *)&hpc3130soft_statep, - sizeof (hpc3130_unit_t), 4); + sizeof (hpc3130_unit_t), 4); return (error); } @@ -278,7 +279,7 @@ hpc3130_open(dev_t *devp, int flags, int otyp, cred_t *credp) instance = MINOR_TO_INST(getminor(*devp)); unitp = (hpc3130_unit_t *) - ddi_get_soft_state(hpc3130soft_statep, instance); + ddi_get_soft_state(hpc3130soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -315,7 +316,7 @@ hpc3130_close(dev_t dev, int flags, int otyp, cred_t *credp) instance = MINOR_TO_INST(getminor(dev)); unitp = (hpc3130_unit_t *) - ddi_get_soft_state(hpc3130soft_statep, instance); + ddi_get_soft_state(hpc3130soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -341,7 +342,7 @@ hpc3130_get(intptr_t arg, int reg, hpc3130_unit_t *unitp, int mode) return (EINVAL); } (void) i2c_transfer_alloc(unitp->hpc3130_hdl, &i2c_tran_pointer, - 1, 1, I2C_SLEEP); + 1, 1, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "Failed in HPC3130_GET_STATUS" " i2c_tran_pointer not allocated")); @@ -359,11 +360,11 @@ hpc3130_get(intptr_t arg, int reg, hpc3130_unit_t *unitp, int mode) return (err); } D1CMN_ERR((CE_NOTE, "The i2c_rbuf contains %x", - i2c_tran_pointer->i2c_rbuf[0])); + i2c_tran_pointer->i2c_rbuf[0])); if (ddi_copyout((caddr_t)i2c_tran_pointer->i2c_rbuf, - (caddr_t)arg, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + (caddr_t)arg, + sizeof (uint8_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "Failed in HPC3130_GET_STATUS" " ddi_copyout routine")); err = EFAULT; @@ -385,14 +386,14 @@ hpc3130_set(intptr_t arg, int reg, hpc3130_unit_t *unitp, int mode) return (EINVAL); } if (ddi_copyin((caddr_t)arg, (caddr_t)&passin_byte, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "Failed in HPC3130_SET_CONTROL " "ddi_copyin routine")); return (EFAULT); } (void) i2c_transfer_alloc(unitp->hpc3130_hdl, &i2c_tran_pointer, - 2, 0, I2C_SLEEP); + 2, 0, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "Failed in " "HPC3130_SET_CONTROL i2c_tran_pointer not allocated")); @@ -424,7 +425,7 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, hpc3130_slot_table_entry_t *ste; unitp = (hpc3130_unit_t *) - ddi_get_soft_state(hpc3130soft_statep, instance); + ddi_get_soft_state(hpc3130soft_statep, instance); if (unitp == NULL) { D1CMN_ERR((CE_WARN, "unitp not filled")); @@ -445,17 +446,17 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, ste = &unitp->hpc3130_slot_table[port]; D2CMN_ERR((CE_NOTE, "ioctl: port = %d instance = %d", - port, instance)); + port, instance)); switch (cmd) { case HPC3130_GET_STATUS: err = hpc3130_get(arg, HPC3130_HP_STATUS_REG(port), unitp, - mode); + mode); break; case HPC3130_GET_CONTROL: err = hpc3130_get(arg, HPC3130_HP_CONTROL_REG(port), unitp, - mode); + mode); break; case HPC3130_SET_CONTROL: @@ -465,47 +466,47 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, break; } err = hpc3130_set(arg, HPC3130_HP_CONTROL_REG(port), unitp, - mode); + mode); break; case HPC3130_GET_EVENT_STATUS: err = hpc3130_get(arg, HPC3130_INTERRUPT_STATUS_REG(port), - unitp, mode); + unitp, mode); break; case HPC3130_SET_EVENT_STATUS: err = hpc3130_set(arg, HPC3130_INTERRUPT_STATUS_REG(port), - unitp, mode); + unitp, mode); break; case HPC3130_GET_GENERAL_CONFIG: err = hpc3130_get(arg, HPC3130_GENERAL_CONFIG_REG(port), - unitp, mode); + unitp, mode); break; case HPC3130_SET_GENERAL_CONFIG: err = hpc3130_set(arg, HPC3130_GENERAL_CONFIG_REG(port), - unitp, mode); + unitp, mode); break; case HPC3130_GET_INDICATOR_CONTROL: err = hpc3130_get(arg, HPC3130_ATTENTION_INDICATOR(port), - unitp, mode); + unitp, mode); break; case HPC3130_SET_INDICATOR_CONTROL: err = hpc3130_set(arg, HPC3130_ATTENTION_INDICATOR(port), - unitp, mode); + unitp, mode); break; case HPC3130_GET_EVENT_ENABLE: err = hpc3130_get(arg, HPC3130_INTERRUPT_ENABLE_REG(port), - unitp, mode); + unitp, mode); break; case HPC3130_SET_EVENT_ENABLE: err = hpc3130_set(arg, HPC3130_INTERRUPT_ENABLE_REG(port), - unitp, mode); + unitp, mode); break; case HPC3130_ENABLE_SLOT_CONTROL: @@ -528,14 +529,14 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, break; } if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_reg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "Failed in I2C_GET_REG " "ddi_copyin routine")); err = EFAULT; break; } (void) i2c_transfer_alloc(unitp->hpc3130_hdl, &i2c_tran_pointer, - 1, 1, I2C_SLEEP); + 1, 1, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "Failed in I2C_GET_REG " "i2c_tran_pointer not allocated")); @@ -555,7 +556,7 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } ioctl_reg.reg_value = i2c_tran_pointer->i2c_rbuf[0]; if (ddi_copyout((caddr_t)&ioctl_reg, (caddr_t)arg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "Failed in I2C_GET_REG " "ddi_copyout routine")); err = EFAULT; @@ -572,14 +573,14 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, break; } if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_reg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "Failed in I2C_SET_REG " "ddi_copyin routine")); err = EFAULT; break; } (void) i2c_transfer_alloc(unitp->hpc3130_hdl, &i2c_tran_pointer, - 2, 0, I2C_SLEEP); + 2, 0, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "Failed in I2C_GET_REG " "i2c_tran_pointer not allocated")); @@ -611,24 +612,24 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, DAK_GET_SBD_APID(ev.name, sizeof (ev.name), port); } else { snprintf(ev.name, HPC3130_NAME_MAX, - "/devices%s:", ste->nexus); + "/devices%s:", ste->nexus); ASSERT(strlen(ev.name) < HPC3130_NAME_MAX - 1); DAK_GET_PCI_APID(ev.name + strlen(ev.name), - HPC3130_NAME_MAX - strlen(ev.name), - hpc3130_lookup_slot(ste->nexus, - ste->hpc3130_slot_info.pci_dev_num)); + HPC3130_NAME_MAX - strlen(ev.name), + hpc3130_lookup_slot(ste->nexus, + ste->hpc3130_slot_info.pci_dev_num)); } if (unitp->events[port] & HPC3130_IEVENT_OCCUPANCY) { unitp->events[port] &= ~HPC3130_IEVENT_OCCUPANCY; ev.id = (unitp->present[port] == B_FALSE ? - HPC3130_EVENT_REMOVAL : - HPC3130_EVENT_INSERTION); + HPC3130_EVENT_REMOVAL : + HPC3130_EVENT_INSERTION); } else if (unitp->events[port] & HPC3130_IEVENT_POWER) { unitp->events[port] &= ~HPC3130_IEVENT_POWER; ev.id = (unitp->power[port] == B_TRUE ? - HPC3130_EVENT_POWERON : - HPC3130_EVENT_POWEROFF); + HPC3130_EVENT_POWERON : + HPC3130_EVENT_POWEROFF); } else if (unitp->events[port] & HPC3130_IEVENT_BUTTON) { unitp->events[port] &= ~HPC3130_IEVENT_BUTTON; ev.id = HPC3130_EVENT_BUTTON; @@ -660,9 +661,9 @@ hpc3130_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, int dr_conf; if (ddi_copyin((caddr_t)arg, (caddr_t)&dr_conf, - sizeof (int), mode) != DDI_SUCCESS) { + sizeof (int), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "Failed in HPC3130_CONF_DR " - "ddi_copyin routine")) + "ddi_copyin routine")) err = EFAULT; break; } @@ -696,7 +697,7 @@ hpc3130_poll(dev_t dev, short events, int anyyet, short return (EINVAL); } unitp = (hpc3130_unit_t *) - ddi_get_soft_state(hpc3130soft_statep, instance); + ddi_get_soft_state(hpc3130soft_statep, instance); mutex_enter(&unitp->hpc3130_mutex); if (unitp->events[port]) { @@ -779,8 +780,8 @@ hpc3130_do_attach(dev_info_t *dip) ASSERT(hpc3130_p); if (ddi_prop_create(DDI_DEV_T_NONE, dip, DDI_PROP_CANSLEEP, - "interrupt-priorities", (caddr_t)&hpc3130_pil, - sizeof (hpc3130_pil)) != DDI_PROP_SUCCESS) { + "interrupt-priorities", (caddr_t)&hpc3130_pil, + sizeof (hpc3130_pil)) != DDI_PROP_SUCCESS) { goto failout0; } @@ -796,8 +797,8 @@ hpc3130_do_attach(dev_info_t *dip) * for each slot. */ r = ddi_getlongprop(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "slot-table", (caddr_t)&hpc3130_p->hpc3130_slot_table_data, - &hpc3130_p->hpc3130_slot_table_size); + "slot-table", (caddr_t)&hpc3130_p->hpc3130_slot_table_data, + &hpc3130_p->hpc3130_slot_table_size); switch (r) { case DDI_PROP_SUCCESS: @@ -846,14 +847,14 @@ hpc3130_do_attach(dev_info_t *dip) } mutex_init(&hpc3130_p->hpc3130_mutex, NULL, MUTEX_DRIVER, - (void *)hpc3130_p->ic_trap_cookie); + (void *)hpc3130_p->ic_trap_cookie); /* * Create enough space for each slot table entry * based on how many entries in the property */ hpc3130_p->hpc3130_slot_table = (hpc3130_slot_table_entry_t *) - kmem_zalloc(hpc3130_p->hpc3130_slot_table_length * - sizeof (hpc3130_slot_table_entry_t), KM_SLEEP); + kmem_zalloc(hpc3130_p->hpc3130_slot_table_length * + sizeof (hpc3130_slot_table_entry_t), KM_SLEEP); /* * Setup to talk to the i2c nexus @@ -895,22 +896,22 @@ hpc3130_do_attach(dev_info_t *dip) if (strncmp(ste->nexus, "/pci", 4) == 0) { ste->hpc3130_slot_info.pci_dev_num = - hpc3130_atoi(pcidev); + hpc3130_atoi(pcidev); DAK_GET_PCI_APID(ste->hpc3130_slot_info.pci_slot_name, - PCI_SLOT_NAME_LEN, - hpc3130_lookup_slot(ste->nexus, - hpc3130_atoi(pcidev))); + PCI_SLOT_NAME_LEN, + hpc3130_lookup_slot(ste->nexus, + hpc3130_atoi(pcidev))); ste->hpc3130_slot_info.slot_type = HPC_SLOT_TYPE_PCI; ste->hpc3130_slot_info.slot_flags = - HPC_SLOT_CREATE_DEVLINK; + HPC_SLOT_CREATE_DEVLINK; hpc3130_p->slots_are = HPC3130_SLOT_TYPE_PCI; } else { ste->hpc3130_slot_info.sbd_slot_num = - hpc3130_atoi(reg_offset); + hpc3130_atoi(reg_offset); ste->hpc3130_slot_info.slot_type = HPC_SLOT_TYPE_SBD; @@ -938,7 +939,7 @@ hpc3130_do_attach(dev_info_t *dip) hpc3130_p->hpc3130_slot_ops->hpc_op_connect = hpc3130_slot_connect; hpc3130_p->hpc3130_slot_ops->hpc_op_disconnect = - hpc3130_slot_disconnect; + hpc3130_slot_disconnect; hpc3130_p->hpc3130_slot_ops->hpc_op_insert = hpc3130_slot_insert; hpc3130_p->hpc3130_slot_ops->hpc_op_remove = hpc3130_slot_remove; hpc3130_p->hpc3130_slot_ops->hpc_op_control = hpc3130_slot_control; @@ -946,13 +947,13 @@ hpc3130_do_attach(dev_info_t *dip) cv_init(&hpc3130_p->hpc3130_cond, NULL, CV_DEFAULT, NULL); if (hpc3130_init(dip, (hpc3130_p->slots_are == HPC3130_SLOT_TYPE_SBD) ? - cpu_sequence : pci_sequence) != DDI_SUCCESS) { + cpu_sequence : pci_sequence) != DDI_SUCCESS) { goto failout4; } if (ddi_add_intr(dip, 0, &hpc3130_p->ic_trap_cookie, - NULL, hpc3130_hard_intr, - (caddr_t)hpc3130_p) != DDI_SUCCESS) { + NULL, hpc3130_hard_intr, + (caddr_t)hpc3130_p) != DDI_SUCCESS) { cmn_err(CE_WARN, "failed to add interrupt"); goto failout4; } @@ -966,27 +967,27 @@ hpc3130_do_attach(dev_info_t *dip) hpc3130_p->power[i] = B_TRUE; if (ste->callback_info.handle != NULL) { hpc_slot_register(dip, ste->nexus, - &ste->hpc3130_slot_info, - &ste->hpc3130_slot_handle, - hpc3130_p->hpc3130_slot_ops, - (caddr_t)&ste->callback_info, 0); + &ste->hpc3130_slot_info, + &ste->hpc3130_slot_handle, + hpc3130_p->hpc3130_slot_ops, + (caddr_t)&ste->callback_info, 0); } } (void) snprintf(hpc3130_p->hpc3130_name, - sizeof (hpc3130_p->hpc3130_name), - "%s%d", ddi_node_name(dip), instance); + sizeof (hpc3130_p->hpc3130_name), + "%s%d", ddi_node_name(dip), instance); for (i = 0; i < HPC3130_MAX_SLOT; i++) { (void) snprintf(name, MAXNAMELEN, "port_%d", i); minor_number = INST_TO_MINOR(instance) | - PORT_TO_MINOR(I2C_PORT(i)); + PORT_TO_MINOR(I2C_PORT(i)); if (ddi_create_minor_node(dip, name, S_IFCHR, minor_number, - "ddi_i2c:controller", NULL) == DDI_FAILURE) { + "ddi_i2c:controller", NULL) == DDI_FAILURE) { D1CMN_ERR((CE_WARN, "ddi_create_minor_node failed " - "for %s", name)); + "for %s", name)); ddi_remove_intr(dip, 0u, - hpc3130_p->ic_trap_cookie); + hpc3130_p->ic_trap_cookie); goto failout4; } } @@ -1000,11 +1001,11 @@ failout3: failout2: mutex_destroy(&hpc3130_p->hpc3130_mutex); kmem_free(hpc3130_p->hpc3130_slot_table, - hpc3130_p->hpc3130_slot_table_length * - sizeof (hpc3130_slot_table_entry_t)); + hpc3130_p->hpc3130_slot_table_length * + sizeof (hpc3130_slot_table_entry_t)); failout1: kmem_free(hpc3130_p->hpc3130_slot_table_data, - hpc3130_p->hpc3130_slot_table_size); + hpc3130_p->hpc3130_slot_table_size); failout0: ddi_soft_state_free(hpc3130soft_statep, instance); @@ -1031,7 +1032,7 @@ hpc3130_do_detach(dev_info_t *dip) hpc3130_unit_t *hpc3130_p; hpc3130_p = (hpc3130_unit_t *)ddi_get_soft_state(hpc3130soft_statep, - instance); + instance); if (hpc3130_p == NULL) return (ENXIO); @@ -1043,7 +1044,7 @@ hpc3130_do_detach(dev_info_t *dip) for (i = 0; i < hpc3130_p->hpc3130_slot_table_length; i++) { hpc_slot_unregister( - &hpc3130_p->hpc3130_slot_table[i].hpc3130_slot_handle); + &hpc3130_p->hpc3130_slot_table[i].hpc3130_slot_handle); } kmem_free(hpc3130_p->hpc3130_slot_table, @@ -1051,7 +1052,7 @@ hpc3130_do_detach(dev_info_t *dip) sizeof (hpc3130_slot_table_entry_t)); kmem_free(hpc3130_p->hpc3130_slot_table_data, - hpc3130_p->hpc3130_slot_table_size); + hpc3130_p->hpc3130_slot_table_size); hpc_free_slot_ops(hpc3130_p->hpc3130_slot_ops); @@ -1073,7 +1074,7 @@ hpc3130_set_led(hpc3130_unit_t *unitp, int slot, int led, uint8_t value) return (DDI_FAILURE); } new = (old & ~HPC3130_ATTN_MASK(led)) | - value << HPC3130_ATTN_SHIFT(led); + value << HPC3130_ATTN_SHIFT(led); D1CMN_ERR((CE_NOTE, "setting led %d to %x", led, value)); @@ -1083,7 +1084,7 @@ hpc3130_set_led(hpc3130_unit_t *unitp, int slot, int led, uint8_t value) if ((value == HPC3130_ATTN_OFF || value == HPC3130_ATTN_ON) && ((old & HPC3130_ATTN_MASK(led)) != - (new & HPC3130_ATTN_MASK(led)))) { + (new & HPC3130_ATTN_MASK(led)))) { /* * We're turning a LED on or off (i.e., not blinking), and * the value actually did change. @@ -1163,7 +1164,7 @@ hpc3130_rw(i2c_client_hdl_t handle, uint8_t reg, } (void) i2c_transfer_alloc(handle, - &i2c_tran_pointer, wlen, rlen, I2C_SLEEP); + &i2c_tran_pointer, wlen, rlen, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D1CMN_ERR((CE_WARN, "Failed in hpc3130_rw: " @@ -1223,7 +1224,7 @@ hpc3130_init(dev_info_t *dip, tp = init_sequence; while (tp->reg != HPC3130_NO_REGISTER) { if (hpc3130_write(handle, tp->reg, slot, - tp->val) != DDI_SUCCESS) { + tp->val) != DDI_SUCCESS) { goto out; } tp++; @@ -1275,7 +1276,7 @@ hpc3130_hard_intr(caddr_t arg) * which event(s) took place. */ if (hpc3130_read(handle, HPC3130_EVENT_STATUS, slot, - &interrupt)) { + &interrupt)) { continue; } @@ -1285,7 +1286,7 @@ hpc3130_hard_intr(caddr_t arg) rc = DDI_INTR_CLAIMED; if (hpc3130_debounce_status(handle, - slot, &status) != DDI_SUCCESS) { + slot, &status) != DDI_SUCCESS) { continue; } @@ -1304,21 +1305,21 @@ hpc3130_hard_intr(caddr_t arg) /* Turn ON/OFF OK-to-remove LED */ (void) hpc3130_set_led(hpc3130_p, - slot, - HPC3130_LED_OK2REM, - (present ? HPC3130_ATTN_ON : - HPC3130_ATTN_OFF)); + slot, + HPC3130_LED_OK2REM, + (present ? HPC3130_ATTN_ON : + HPC3130_ATTN_OFF)); if (!present) { /* Clear the FAULT LED on removal */ (void) hpc3130_set_led(hpc3130_p, - slot, - HPC3130_LED_FAULT, - HPC3130_ATTN_OFF); + slot, + HPC3130_LED_FAULT, + HPC3130_ATTN_OFF); } hpc3130_p->present[slot] = present; hpc3130_p->events[slot] |= - HPC3130_IEVENT_OCCUPANCY; + HPC3130_IEVENT_OCCUPANCY; } else { ASSERT(slot_type == HPC3130_SLOT_TYPE_PCI); @@ -1328,7 +1329,7 @@ hpc3130_hard_intr(caddr_t arg) * stroke of the button. */ hpc3130_p->events[slot] |= - HPC3130_IEVENT_BUTTON; + HPC3130_IEVENT_BUTTON; } } } @@ -1341,49 +1342,49 @@ hpc3130_hard_intr(caddr_t arg) * stroke of the button. */ hpc3130_p->events[slot] |= - HPC3130_IEVENT_BUTTON; + HPC3130_IEVENT_BUTTON; } } else { ASSERT(slot_type == HPC3130_SLOT_TYPE_PCI); if ((status & (HPC3130_PRSNT1 | - HPC3130_PRSNT2)) == - (HPC3130_PRSNT1 | HPC3130_PRSNT2)) { + HPC3130_PRSNT2)) == + (HPC3130_PRSNT1 | HPC3130_PRSNT2)) { hpc3130_p->present[slot] = B_FALSE; /* Turn OFF Fault LED */ (void) hpc3130_set_led(hpc3130_p, - slot, - HPC3130_LED_FAULT, - HPC3130_ATTN_OFF); + slot, + HPC3130_LED_FAULT, + HPC3130_ATTN_OFF); /* Turn OFF OK-to-remove LED */ (void) hpc3130_set_led(hpc3130_p, - slot, - HPC3130_LED_OK2REM, - HPC3130_ATTN_OFF); + slot, + HPC3130_LED_OK2REM, + HPC3130_ATTN_OFF); } else { hpc3130_p->present[slot] = B_TRUE; /* Turn ON OK-to-remove LED */ (void) hpc3130_set_led(hpc3130_p, - slot, - HPC3130_LED_OK2REM, - HPC3130_ATTN_ON); + slot, + HPC3130_LED_OK2REM, + HPC3130_ATTN_ON); } hpc3130_p->events[slot] |= - HPC3130_IEVENT_OCCUPANCY; + HPC3130_IEVENT_OCCUPANCY; } } if (hpc3130_p->events[slot] && - (hpc3130_p->present[slot] == B_TRUE)) { + (hpc3130_p->present[slot] == B_TRUE)) { mutex_exit(&hpc3130_p->hpc3130_mutex); pollwakeup(&hpc3130_p->pollhead[slot], POLLIN); mutex_enter(&hpc3130_p->hpc3130_mutex); } (void) hpc3130_write(handle, HPC3130_EVENT_STATUS, - slot, interrupt); + slot, interrupt); } mutex_exit(&hpc3130_p->hpc3130_mutex); @@ -1400,12 +1401,12 @@ hpc3130_cpu_init(hpc3130_unit_t *hpc3130_p, int slot, i2c_client_hdl_t handle) int result = HPC_ERR_FAILED; if (hpc3130_read(handle, HPC3130_STATUS, slot, - &slot_status)) { + &slot_status)) { goto out; } if (hpc3130_read(handle, HPC3130_CONTROL, slot, - &control_reg)) { + &control_reg)) { goto out; } @@ -1432,7 +1433,7 @@ hpc3130_cpu_init(hpc3130_unit_t *hpc3130_p, int slot, i2c_client_hdl_t handle) * Set the control register accordingly */ if (hpc3130_write(handle, HPC3130_CONTROL, - slot, control_reg) != DDI_SUCCESS) { + slot, control_reg) != DDI_SUCCESS) { goto out; } @@ -1459,7 +1460,7 @@ hpc3130_debounce_status(i2c_client_hdl_t handle, count = 0; limit = 0; old = 0xff; do { if (hpc3130_read(handle, HPC3130_STATUS, - slot, status)) { + slot, status)) { return (DDI_FAILURE); } if (old != *status) { @@ -1472,7 +1473,7 @@ hpc3130_debounce_status(i2c_client_hdl_t handle, old = *status; } while (count < HPC3130_DEBOUNCE_COUNT && - limit < HPC3130_DEBOUNCE_LIMIT); + limit < HPC3130_DEBOUNCE_LIMIT); if (limit == HPC3130_DEBOUNCE_LIMIT) { return (DDI_FAILURE); @@ -1520,8 +1521,8 @@ hpc3130_slot_connect(caddr_t ops_arg, hpc_slot_t slot_hdl, DAK_GET_SBD_APID(phys_slot, MAXPATHLEN, offset); } else { DAK_GET_PCI_APID(phys_slot, MAXPATHLEN, - hpc3130_lookup_slot(ste->nexus, - ste->hpc3130_slot_info.pci_dev_num)); + hpc3130_lookup_slot(ste->nexus, + ste->hpc3130_slot_info.pci_dev_num)); } ASSERT(ste->hpc3130_slot_handle != NULL); @@ -1541,13 +1542,13 @@ hpc3130_slot_connect(caddr_t ops_arg, hpc_slot_t slot_hdl, } if (hpc3130_read(handle, HPC3130_STATUS, offset, - &status)) { + &status)) { goto out; } /* Read the slot control register to get current value */ if (hpc3130_read(handle, HPC3130_CONTROL, offset, - &control)) { + &control)) { goto out; } @@ -1571,7 +1572,7 @@ hpc3130_slot_connect(caddr_t ops_arg, hpc_slot_t slot_hdl, */ if (hpc3130_read(handle, HPC3130_GCR, offset, - &config)) { + &config)) { goto out; } @@ -1637,11 +1638,11 @@ hpc3130_slot_connect(caddr_t ops_arg, hpc_slot_t slot_hdl, } hpc_slot_event_notify(ste->hpc3130_slot_handle, - HPC_EVENT_SLOT_POWER_ON, 0); + HPC_EVENT_SLOT_POWER_ON, 0); /* Flash the "fault" indicator */ (void) hpc3130_set_led(hpc3130_p, offset, HPC3130_LED_FAULT, - HPC3130_ATTN_SLO); + HPC3130_ATTN_SLO); result = HPC_SUCCESS; @@ -1706,8 +1707,8 @@ hpc3130_slot_disconnect(caddr_t ops_arg, hpc_slot_t slot_hdl, DAK_GET_SBD_APID(phys_slot, MAXPATHLEN, offset); } else { DAK_GET_PCI_APID(phys_slot, MAXPATHLEN, - hpc3130_lookup_slot(ste->nexus, - ste->hpc3130_slot_info.pci_dev_num)); + hpc3130_lookup_slot(ste->nexus, + ste->hpc3130_slot_info.pci_dev_num)); } ASSERT(ste->hpc3130_slot_handle != NULL); @@ -1718,7 +1719,7 @@ hpc3130_slot_disconnect(caddr_t ops_arg, hpc_slot_t slot_hdl, * Read the slot control register to get current value */ if (hpc3130_read(handle, HPC3130_CONTROL, offset, - &control)) { + &control)) { goto out; } @@ -1731,7 +1732,7 @@ hpc3130_slot_disconnect(caddr_t ops_arg, hpc_slot_t slot_hdl, * Write out the modified control register */ if (hpc3130_write(handle, HPC3130_CONTROL, offset, - control) != DDI_SUCCESS) { + control) != DDI_SUCCESS) { goto out; } } else { @@ -1740,13 +1741,13 @@ hpc3130_slot_disconnect(caddr_t ops_arg, hpc_slot_t slot_hdl, control &= ~HPC3130_SLOTRST; if (hpc3130_write(handle, HPC3130_CONTROL, offset, - control) != DDI_SUCCESS) { + control) != DDI_SUCCESS) { goto out; } control |= HPC3130_BUS_CTL; if (hpc3130_write(handle, HPC3130_CONTROL, offset, - control) != DDI_SUCCESS) { + control) != DDI_SUCCESS) { goto out; } } @@ -1760,7 +1761,7 @@ hpc3130_slot_disconnect(caddr_t ops_arg, hpc_slot_t slot_hdl, } hpc_slot_event_notify(ste->hpc3130_slot_handle, - HPC_EVENT_SLOT_POWER_OFF, 0); + HPC_EVENT_SLOT_POWER_OFF, 0); if (hpc3130_p->present[offset] == B_TRUE) { /* @@ -1769,13 +1770,13 @@ hpc3130_slot_disconnect(caddr_t ops_arg, hpc_slot_t slot_hdl, */ (void) hpc3130_set_led(hpc3130_p, offset, HPC3130_LED_OK2REM, - HPC3130_ATTN_ON); + HPC3130_ATTN_ON); /* * Turn off the "fault" indicator */ (void) hpc3130_set_led(hpc3130_p, offset, HPC3130_LED_FAULT, - HPC3130_ATTN_OFF); + HPC3130_ATTN_OFF); } else { /* * If the slot is being powered off with @@ -1784,9 +1785,9 @@ hpc3130_slot_disconnect(caddr_t ops_arg, hpc_slot_t slot_hdl, */ if (slot_type == HPC3130_SLOT_TYPE_PCI) { (void) hpc3130_set_led(hpc3130_p, offset, - HPC3130_LED_FAULT, HPC3130_ATTN_OFF); + HPC3130_LED_FAULT, HPC3130_ATTN_OFF); (void) hpc3130_set_led(hpc3130_p, offset, - HPC3130_LED_OK2REM, HPC3130_ATTN_OFF); + HPC3130_LED_OK2REM, HPC3130_ATTN_OFF); } } @@ -1921,7 +1922,7 @@ hpc3130_slot_control(caddr_t ops_arg, hpc_slot_t slot_hdl, led_info = (hpc_led_info_t *)arg; if (led_info->led != HPC_FAULT_LED && - led_info->led != HPC_ATTN_LED) { + led_info->led != HPC_ATTN_LED) { D1CMN_ERR((CE_WARN, "Only FAULT and ATTN leds allowed")); mutex_exit(&hpc3130_p->hpc3130_mutex); @@ -1956,7 +1957,7 @@ hpc3130_slot_control(caddr_t ops_arg, hpc_slot_t slot_hdl, */ led_info = (hpc_led_info_t *)arg; if (led_info->led != HPC_FAULT_LED && - led_info->led != HPC_ATTN_LED) { + led_info->led != HPC_ATTN_LED) { D1CMN_ERR((CE_WARN, "Only FAULT and ATTN leds allowed")); mutex_exit(&hpc3130_p->hpc3130_mutex); @@ -1971,7 +1972,7 @@ hpc3130_slot_control(caddr_t ops_arg, hpc_slot_t slot_hdl, state = led_info->state; if (state >= sizeof (hpc3130_from_hpc_led_map) || (state != HPC3130_TO_HPC_LED( - HPC3130_FROM_HPC_LED(state)))) { + HPC3130_FROM_HPC_LED(state)))) { D1CMN_ERR((CE_WARN, "Improper LED value: %d %d", state, HPC3130_TO_HPC_LED( @@ -1981,51 +1982,51 @@ hpc3130_slot_control(caddr_t ops_arg, hpc_slot_t slot_hdl, } (void) hpc3130_set_led(hpc3130_p, offset, led, - HPC3130_FROM_HPC_LED(state)); + HPC3130_FROM_HPC_LED(state)); } break; case HPC_CTRL_GET_SLOT_STATE: { if (hpc3130_p->power[offset] == B_FALSE) { if (hpc3130_p->present[offset] == B_FALSE) { *(ap_rstate_t *)arg = - AP_RSTATE_EMPTY; + AP_RSTATE_EMPTY; } else { *(ap_rstate_t *)arg = - AP_RSTATE_DISCONNECTED; + AP_RSTATE_DISCONNECTED; } } else { *(ap_rstate_t *)arg = - AP_RSTATE_CONNECTED; + AP_RSTATE_CONNECTED; } } break; case HPC_CTRL_GET_BOARD_TYPE: { *(hpc_board_type_t *)arg = - (slot_type == HPC3130_SLOT_TYPE_SBD ? - HPC_BOARD_UNKNOWN : HPC_BOARD_PCI_HOTPLUG); + (slot_type == HPC3130_SLOT_TYPE_SBD ? + HPC_BOARD_UNKNOWN : HPC_BOARD_PCI_HOTPLUG); } break; case HPC_CTRL_DEV_CONFIG_START: case HPC_CTRL_DEV_UNCONFIG_START: hpc3130_set_led(hpc3130_p, offset, HPC3130_LED_FAULT, - HPC3130_ATTN_SLO); + HPC3130_ATTN_SLO); break; case HPC_CTRL_DEV_CONFIG_FAILURE: hpc3130_set_led(hpc3130_p, offset, HPC3130_LED_FAULT, - HPC3130_ATTN_ON); + HPC3130_ATTN_ON); break; case HPC_CTRL_DEV_CONFIGURED: hpc3130_set_led(hpc3130_p, offset, HPC3130_LED_FAULT, - HPC3130_ATTN_OFF); + HPC3130_ATTN_OFF); hpc3130_p->present[offset] = B_TRUE; break; case HPC_CTRL_DEV_UNCONFIGURED: if (hpc3130_p->power[offset] == B_TRUE) { hpc3130_set_led(hpc3130_p, offset, - HPC3130_LED_FAULT, HPC3130_ATTN_SLO); + HPC3130_LED_FAULT, HPC3130_ATTN_SLO); } else { hpc3130_set_led(hpc3130_p, offset, - HPC3130_LED_FAULT, HPC3130_ATTN_OFF); + HPC3130_LED_FAULT, HPC3130_ATTN_OFF); } break; case HPC_CTRL_DISABLE_SLOT: { @@ -2050,8 +2051,9 @@ hpc3130_lookup_slot(char *nexus, int pcidev) int i = 0; while ((slot_translate[i].pcidev != pcidev || - strcmp(nexus, slot_translate[i].nexus) != 0) && - i < HPC3130_LOOKUP_SLOTS) i++; + strcmp(nexus, slot_translate[i].nexus) != 0) && + i < HPC3130_LOOKUP_SLOTS) + i++; ASSERT(i != HPC3130_LOOKUP_SLOTS); return (i); } diff --git a/usr/src/uts/sun4u/excalibur/io/xcalppm.c b/usr/src/uts/sun4u/excalibur/io/xcalppm.c index 96f386ee44..f7d33b3f00 100644 --- a/usr/src/uts/sun4u/excalibur/io/xcalppm.c +++ b/usr/src/uts/sun4u/excalibur/io/xcalppm.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,10 +19,9 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Platform Power Management driver for SUNW,Sun-Blade-1000 @@ -181,13 +179,14 @@ static struct dev_ops xcppm_ops = { &xcppm_cb_ops, /* driver operations */ &xcppm_bus_ops, /* bus operations */ NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* type of module - pseudo */ - "platform pm driver v%I%", + "platform pm driver", &xcppm_ops }; diff --git a/usr/src/uts/sun4u/excalibur/io/xcalwd.c b/usr/src/uts/sun4u/excalibur/io/xcalwd.c index 802eec0dfc..a712ae5102 100644 --- a/usr/src/uts/sun4u/excalibur/io/xcalwd.c +++ b/usr/src/uts/sun4u/excalibur/io/xcalwd.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Excalibur fans watchdog module @@ -117,15 +115,16 @@ static struct cb_ops xcalwd_cb_ops = { static struct dev_ops xcalwd_dev_ops = { DEVO_REV, /* devo_rev */ 0, /* devo_refcnt */ - xcalwd_getinfo, /* getinfo */ - nulldev, /* identify */ + xcalwd_getinfo, /* getinfo */ + nulldev, /* identify */ nulldev, /* probe */ - xcalwd_attach, /* attach */ - xcalwd_detach, /* detach */ + xcalwd_attach, /* attach */ + xcalwd_detach, /* detach */ nodev, /* devo_reset */ - &xcalwd_cb_ops, /* devo_cb_ops */ + &xcalwd_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - NULL /* power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; /* @@ -133,7 +132,7 @@ static struct dev_ops xcalwd_dev_ops = { */ static struct modldrv xcalwd_modldrv = { &mod_driverops, /* drv_modops */ - "Excalibur watchdog timer v%I% ", /* drv_linkinfo */ + "Excalibur watchdog timer v1.7 ", /* drv_linkinfo */ &xcalwd_dev_ops /* drv_dev_ops */ }; @@ -244,14 +243,14 @@ xcalwd_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_soft_state_zalloc(xcalwd_statep, instance) != DDI_SUCCESS) { cmn_err(CE_WARN, "attach could not alloc" - "%d state structure", instance); + "%d state structure", instance); return (DDI_FAILURE); } tsp = ddi_get_soft_state(xcalwd_statep, instance); if (tsp == NULL) { cmn_err(CE_WARN, "get state failed %d", - instance); + instance); return (DDI_FAILURE); } diff --git a/usr/src/uts/sun4u/grover/io/grfans.c b/usr/src/uts/sun4u/grover/io/grfans.c index 34d86e1505..818a8b7ffb 100644 --- a/usr/src/uts/sun4u/grover/io/grfans.c +++ b/usr/src/uts/sun4u/grover/io/grfans.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/file.h> @@ -88,7 +87,9 @@ static struct dev_ops grfans_ops = { grfans_detach, nodev, &grfans_cbops, - NULL + NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv grfans_modldrv = { diff --git a/usr/src/uts/sun4u/io/bbc_beep.c b/usr/src/uts/sun4u/io/bbc_beep.c index f949107d45..694f2b02cc 100644 --- a/usr/src/uts/sun4u/io/bbc_beep.c +++ b/usr/src/uts/sun4u/io/bbc_beep.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * This is the Beep driver for bbc based beep mechanism. @@ -104,13 +103,14 @@ static struct dev_ops bbc_beep_ops = { nodev, /* Reset */ &bbc_beep_cb_ops, /* Driver operations */ 0, /* Bus operations */ - ddi_power /* Power */ + ddi_power, /* Power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* This one is a driver */ - "BBC Beep Driver %I%", /* Name of the module. */ + "BBC Beep Driver", /* Name of the module. */ &bbc_beep_ops, /* Driver ops */ }; diff --git a/usr/src/uts/sun4u/io/epic.c b/usr/src/uts/sun4u/io/epic.c index adeb795812..f982e26406 100644 --- a/usr/src/uts/sun4u/io/epic.c +++ b/usr/src/uts/sun4u/io/epic.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -21,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Driver to control Alert and Power LEDs for the Seattle platform. @@ -97,7 +95,8 @@ static struct dev_ops epic_dev_ops = { nulldev, /* reset */ &epic_cb_ops, (struct bus_ops *)NULL, - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -120,7 +119,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "epic_client driver v%I%", + "epic_client driver", &epic_dev_ops }; @@ -238,8 +237,8 @@ epic_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) dev_attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; res = ddi_regs_map_setup(dip, 0, (caddr_t *)&softc->cmd_reg, - EPIC_REGS_OFFSET, EPIC_REGS_LEN, &dev_attr, - &softc->cmd_handle); + EPIC_REGS_OFFSET, EPIC_REGS_LEN, &dev_attr, + &softc->cmd_handle); if (res != DDI_SUCCESS) { cmn_err(CE_WARN, "ddi_regs_map_setup() failed\n"); @@ -342,44 +341,44 @@ int *rvalp) switch (cmd) { case EPIC_SET_POWER_LED: - EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, - EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, - EPIC_POWER_LED_ON); - break; + EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, + EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, + EPIC_POWER_LED_ON); + break; case EPIC_RESET_POWER_LED: - EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, - EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, - EPIC_POWER_LED_OFF); - break; + EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, + EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, + EPIC_POWER_LED_OFF); + break; case EPIC_SB_BL_POWER_LED: - EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, - EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, - EPIC_POWER_LED_SB_BLINK); - break; + EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, + EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, + EPIC_POWER_LED_SB_BLINK); + break; case EPIC_FAST_BL_POWER_LED: - EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, - EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, - EPIC_POWER_LED_FAST_BLINK); - break; + EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, + EPIC_IND_LED_STATE0, EPIC_POWER_LED_MASK, + EPIC_POWER_LED_FAST_BLINK); + break; case EPIC_SET_ALERT_LED: - EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, - EPIC_IND_LED_STATE0, EPIC_ALERT_LED_MASK, - EPIC_ALERT_LED_ON); - break; + EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, + EPIC_IND_LED_STATE0, EPIC_ALERT_LED_MASK, + EPIC_ALERT_LED_ON); + break; case EPIC_RESET_ALERT_LED: - EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, - EPIC_IND_LED_STATE0, EPIC_ALERT_LED_MASK, - EPIC_ALERT_LED_OFF); - break; + EPIC_WRITE(softc->cmd_handle, softc->cmd_reg, + EPIC_IND_LED_STATE0, EPIC_ALERT_LED_MASK, + EPIC_ALERT_LED_OFF); + break; case EPIC_GET_FW: - EPIC_READ(softc->cmd_handle, softc->cmd_reg, - in_command, EPIC_IND_FW_VERSION); - if (ddi_copyout((void *)(&in_command), (void *)arg, - sizeof (in_command), mode) != DDI_SUCCESS) { - mutex_exit(&softc->mutex); - return (EFAULT); - } - break; + EPIC_READ(softc->cmd_handle, softc->cmd_reg, + in_command, EPIC_IND_FW_VERSION); + if (ddi_copyout((void *)(&in_command), (void *)arg, + sizeof (in_command), mode) != DDI_SUCCESS) { + mutex_exit(&softc->mutex); + return (EFAULT); + } + break; default: mutex_exit(&softc->mutex); cmn_err(CE_WARN, "epic: cmd %d is not valid", cmd); diff --git a/usr/src/uts/sun4u/io/gpio_87317.c b/usr/src/uts/sun4u/io/gpio_87317.c index 648744fd15..450425e407 100644 --- a/usr/src/uts/sun4u/io/gpio_87317.c +++ b/usr/src/uts/sun4u/io/gpio_87317.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/time.h> @@ -113,7 +111,8 @@ static struct dev_ops gpio_dev_ops = { nulldev, /* reset */ &gpio_cb_ops, (struct bus_ops *)NULL, - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* module configuration stuff */ @@ -121,7 +120,7 @@ static void *statep; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "gpio driver 1.0", + "gpio driver", &gpio_dev_ops }; static struct modlinkage modlinkage = { @@ -211,78 +210,78 @@ gpio_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Allocate and get the soft state structure for this instance. */ - instance = ddi_get_instance(dip); - DBG(dip, "attach: instance is %d", instance, 0, 0, 0, 0); - if (ddi_soft_state_zalloc(statep, instance) != DDI_SUCCESS) + instance = ddi_get_instance(dip); + DBG(dip, "attach: instance is %d", instance, 0, 0, 0, 0); + if (ddi_soft_state_zalloc(statep, instance) != DDI_SUCCESS) goto attach_failed; - softc = getsoftc(instance); - softc->gp_dip = dip; - softc->gp_state = 0; - mutex_init(&softc->gp_mutex, NULL, MUTEX_DRIVER, NULL); + softc = getsoftc(instance); + softc->gp_dip = dip; + softc->gp_state = 0; + mutex_init(&softc->gp_mutex, NULL, MUTEX_DRIVER, NULL); /* Map in the gpio device registers. */ - dev_attr.devacc_attr_version = DDI_DEVICE_ATTR_V0; - dev_attr.devacc_attr_endian_flags = DDI_NEVERSWAP_ACC; - dev_attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; - if (ddi_regs_map_setup(dip, 0, (caddr_t *)&softc->gp_regs, 0, 0, + dev_attr.devacc_attr_version = DDI_DEVICE_ATTR_V0; + dev_attr.devacc_attr_endian_flags = DDI_NEVERSWAP_ACC; + dev_attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; + if (ddi_regs_map_setup(dip, 0, (caddr_t *)&softc->gp_regs, 0, 0, &dev_attr, &softc->gp_handle) != DDI_SUCCESS) goto attach_failed; - DBG(dip, "attach: regs=0x%p", (uintptr_t)softc->gp_regs, - 0, 0, 0, 0); - DBG(dip, "attach: port 1 data is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[0]), - 0, 0, 0, 0); - DBG(dip, "attach: port 1 direction is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[1]), - 0, 0, 0, 0); - DBG(dip, "attach: port 1 output type is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[2]), - 0, 0, 0, 0); - DBG(dip, "attach: port 1 pull up control type is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[3]), - 0, 0, 0, 0); - DBG(dip, "attach: port 2 data is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[4]), - 0, 0, 0, 0); - DBG(dip, "attach: port 2 direction is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[5]), - 0, 0, 0, 0); - DBG(dip, "attach: port 2 output type is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[6]), - 0, 0, 0, 0); - DBG(dip, "attach: port 2 pull up control type is %x", - (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[7]), - 0, 0, 0, 0); + DBG(dip, "attach: regs=0x%p", (uintptr_t)softc->gp_regs, + 0, 0, 0, 0); + DBG(dip, "attach: port 1 data is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[0]), + 0, 0, 0, 0); + DBG(dip, "attach: port 1 direction is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[1]), + 0, 0, 0, 0); + DBG(dip, "attach: port 1 output type is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[2]), + 0, 0, 0, 0); + DBG(dip, "attach: port 1 pull up control type is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[3]), + 0, 0, 0, 0); + DBG(dip, "attach: port 2 data is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[4]), + 0, 0, 0, 0); + DBG(dip, "attach: port 2 direction is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[5]), + 0, 0, 0, 0); + DBG(dip, "attach: port 2 output type is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[6]), + 0, 0, 0, 0); + DBG(dip, "attach: port 2 pull up control type is %x", + (uintptr_t)ddi_get8(softc->gp_handle, &softc->gp_regs[7]), + 0, 0, 0, 0); /* Create device minor nodes. */ - if (ddi_create_minor_node(dip, "gpio", S_IFCHR, - instance, NULL, NULL) == DDI_FAILURE) { - ddi_regs_map_free(&softc->gp_handle); - goto attach_failed; - } + if (ddi_create_minor_node(dip, "gpio", S_IFCHR, + instance, NULL, NULL) == DDI_FAILURE) { + ddi_regs_map_free(&softc->gp_handle); + goto attach_failed; + } - ddi_report_dev(dip); - return (DDI_SUCCESS); + ddi_report_dev(dip); + return (DDI_SUCCESS); case DDI_RESUME: /* Nothing to do for a resume. */ - return (DDI_SUCCESS); + return (DDI_SUCCESS); default: - return (DDI_FAILURE); + return (DDI_FAILURE); } attach_failed: if (softc) { - mutex_destroy(&softc->gp_mutex); - if (softc->gp_handle) - ddi_regs_map_free(&softc->gp_handle); - ddi_soft_state_free(statep, instance); - ddi_remove_minor_node(dip, NULL); + mutex_destroy(&softc->gp_mutex); + if (softc->gp_handle) + ddi_regs_map_free(&softc->gp_handle); + ddi_soft_state_free(statep, instance); + ddi_remove_minor_node(dip, NULL); } return (DDI_FAILURE); } @@ -434,7 +433,7 @@ gpio_debug(dev_info_t *dip, char *format, uint_t arg1, uint_t arg2, uint_t arg3, prom_printf("gpio: "); } else { prom_printf("%s%d: ", ddi_driver_name(dip), - ddi_get_instance(dip)); + ddi_get_instance(dip)); } prom_printf(format, arg1, arg2, arg3, arg4, arg5); prom_printf("\n"); diff --git a/usr/src/uts/sun4u/io/grbeep.c b/usr/src/uts/sun4u/io/grbeep.c index 03930b3e8d..c7c88cbdbb 100644 --- a/usr/src/uts/sun4u/io/grbeep.c +++ b/usr/src/uts/sun4u/io/grbeep.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * This is the Beep driver for SMBUS based beep mechanism. @@ -107,13 +106,14 @@ static struct dev_ops grbeep_ops = { nodev, /* Reset */ &grbeep_cb_ops, /* Driver operations */ 0, /* Bus operations */ - NULL /* Power */ + NULL, /* Power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* This one is a driver */ - "SMBUS Beep Driver %I%", /* Name of the module. */ + "SMBUS Beep Driver", /* Name of the module. */ &grbeep_ops, /* Driver ops */ }; diff --git a/usr/src/uts/sun4u/io/i2c/clients/adm1026.c b/usr/src/uts/sun4u/io/i2c/clients/adm1026.c index 1c76141a97..676d46aa8a 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/adm1026.c +++ b/usr/src/uts/sun4u/io/i2c/clients/adm1026.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ #include <sys/modctl.h> /* for modldrv */ @@ -128,14 +126,16 @@ static struct dev_ops adm1026_ops = { adm1026_detach, nodev, &adm1026_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv adm1026_modldrv = { &mod_driverops, /* type of module - driver */ - "ADM1026 i2c device driver: %I%", + "ADM1026 i2c device driver: 1.3", &adm1026_ops }; @@ -313,7 +313,7 @@ adm1026_do_attach(dev_info_t *dip) D2CMN_ERR((CE_WARN, "adm1026_do_attach: ddi_create_minor_node")); if (ddi_create_minor_node(dip, "adm1026", S_IFCHR, instance, - "ddi_i2c:led_control", NULL) == DDI_FAILURE) { + "ddi_i2c:led_control", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "adm1026_do_attach: ddi_create_minor_node failed"); ddi_soft_state_free(adm1026soft_statep, instance); @@ -609,7 +609,7 @@ adm1026_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, instance, cmd)); unitp = (struct adm1026_unit *) - ddi_get_soft_state(adm1026soft_statep, instance); + ddi_get_soft_state(adm1026soft_statep, instance); if (unitp == NULL) { cmn_err(CE_WARN, "adm1026_ioctl: ddi_get_soft_state failed"); diff --git a/usr/src/uts/sun4u/io/i2c/clients/adm1031.c b/usr/src/uts/sun4u/io/i2c/clients/adm1031.c index e16c1bab7b..4f96fb123c 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/adm1031.c +++ b/usr/src/uts/sun4u/io/i2c/clients/adm1031.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/file.h> @@ -116,7 +114,9 @@ static struct dev_ops adm1031_dev_ops = { adm1031_s_detach, nodev, &adm1031_cb_ops, - NULL + NULL, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; static uint8_t adm1031_control_regs[] = { @@ -162,7 +162,7 @@ static minor_info fans[ADM1031_FAN_SPEED_CHANS] = { static struct modldrv adm1031_modldrv = { &mod_driverops, /* type of module - driver */ - "adm1031 device driver v1.4", + "adm1031 device driver", &adm1031_dev_ops, }; @@ -472,7 +472,7 @@ adm1031_suspend(dev_info_t *dip) mutex_enter(&admp->adm1031_mutex); while (admp->adm1031_flags & ADM1031_BUSYFLAG) { if (cv_wait_sig(&admp->adm1031_cv, - &admp->adm1031_mutex) <= 0) { + &admp->adm1031_mutex) <= 0) { mutex_exit(&admp->adm1031_mutex); return (DDI_FAILURE); } @@ -753,7 +753,7 @@ adm1031_s_ioctl(dev_t dev, int cmd, intptr_t arg, int mode) admp->adm1031_flags |= ADM1031_AUTOFLAG; } else if (write_value == ADM1031_MANUAL_MODE) { temp = admp->adm1031_transfer->i2c_rbuf[0] & - (~ADM1031_AUTOFLAG); + (~ADM1031_AUTOFLAG); admp->adm1031_flags &= ~ADM1031_AUTOFLAG; } else { err = EINVAL; diff --git a/usr/src/uts/sun4u/io/i2c/clients/ics951601.c b/usr/src/uts/sun4u/io/i2c/clients/ics951601.c index 04b4ceffa0..5ed6a41b49 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/ics951601.c +++ b/usr/src/uts/sun4u/io/i2c/clients/ics951601.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/file.h> @@ -98,12 +96,14 @@ static struct dev_ops ics951601_dev_ops = { ics951601_s_detach, nodev, &ics951601_cb_ops, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv ics951601_modldrv = { &mod_driverops, /* type of module - driver */ - "ics951601 device driver v%I%", + "ics951601 device driver", &ics951601_dev_ops, }; diff --git a/usr/src/uts/sun4u/io/i2c/clients/lm75.c b/usr/src/uts/sun4u/io/i2c/clients/lm75.c index f5da62068b..3ccecd1e1c 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/lm75.c +++ b/usr/src/uts/sun4u/io/i2c/clients/lm75.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ #include <sys/modctl.h> /* for modldrv */ @@ -92,14 +90,16 @@ static struct dev_ops lm75_ops = { lm75_detach, nodev, &lm75_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv lm75_modldrv = { &mod_driverops, /* type of module - driver */ - "LM75 i2c device driver: v%I%", + "LM75 i2c device driver: v1.8", &lm75_ops }; @@ -119,7 +119,7 @@ _init(void) if (!error) (void) ddi_soft_state_init(&lm75soft_statep, - sizeof (struct lm75_unit), 1); + sizeof (struct lm75_unit), 1); return (error); } @@ -157,7 +157,7 @@ lm75_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct lm75_unit *) - ddi_get_soft_state(lm75soft_statep, instance); + ddi_get_soft_state(lm75soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -203,7 +203,7 @@ lm75_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct lm75_unit *) - ddi_get_soft_state(lm75soft_statep, instance); + ddi_get_soft_state(lm75soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -318,13 +318,13 @@ lm75_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if (arg == NULL) { D2CMN_ERR((CE_WARN, "LM75: ioctl: arg passed in to ioctl " - "= NULL\n")); + "= NULL\n")); err = EINVAL; return (err); } instance = getminor(dev); unitp = (struct lm75_unit *) - ddi_get_soft_state(lm75soft_statep, instance); + ddi_get_soft_state(lm75soft_statep, instance); if (unitp == NULL) { cmn_err(CE_WARN, "LM75: ioctl: unitp = NULL\n"); @@ -357,11 +357,11 @@ lm75_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, case LM75_GET_CONFIG: (void) i2c_transfer_alloc(unitp->lm75_hdl, &i2c_tran_pointer, - 1, 1, I2C_SLEEP); + 1, 1, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in LM75_GET_CONFIG " - "i2c_tran_pointer not allocated\n", - unitp->lm75_name)); + "i2c_tran_pointer not allocated\n", + unitp->lm75_name)); err = ENOMEM; break; } @@ -371,17 +371,17 @@ lm75_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, err = i2c_transfer(unitp->lm75_hdl, i2c_tran_pointer); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in LM75_GET_CONFIG " - "i2c_transfer routine\n", - unitp->lm75_name)); + "i2c_transfer routine\n", + unitp->lm75_name)); i2c_transfer_free(unitp->lm75_hdl, i2c_tran_pointer); break; } if (ddi_copyout((caddr_t)i2c_tran_pointer->i2c_rbuf, - (caddr_t)arg, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + (caddr_t)arg, + sizeof (uint8_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in LM75_GET_CONFIG " - "ddi_copyout routine\n", - unitp->lm75_name)); + "ddi_copyout routine\n", + unitp->lm75_name)); err = EFAULT; } i2c_transfer_free(unitp->lm75_hdl, i2c_tran_pointer); @@ -389,19 +389,19 @@ lm75_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, case LM75_SET_CONFIG: if (ddi_copyin((caddr_t)arg, (caddr_t)&passin_byte, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in LM75_SET_CONFIG " - "ddi_copyin routine\n", - unitp->lm75_name)); + "ddi_copyin routine\n", + unitp->lm75_name)); err = EFAULT; break; } (void) i2c_transfer_alloc(unitp->lm75_hdl, &i2c_tran_pointer, - 2, 0, I2C_SLEEP); + 2, 0, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in LM75_SET_CONFIG " - "i2c_tran_pointer not allocated\n", - unitp->lm75_name)); + "i2c_tran_pointer not allocated\n", + unitp->lm75_name)); err = ENOMEM; break; } @@ -415,7 +415,7 @@ lm75_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd %x\n", - unitp->lm75_name, cmd)); + unitp->lm75_name, cmd)); err = EINVAL; } @@ -459,7 +459,7 @@ lm75_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(lm75soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -471,12 +471,12 @@ lm75_do_attach(dev_info_t *dip) } (void) snprintf(unitp->lm75_name, sizeof (unitp->lm75_name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); if (ddi_create_minor_node(dip, "lm75", S_IFCHR, instance, - "ddi_i2c:temperature_sensor", NULL) == DDI_FAILURE) { + "ddi_i2c:temperature_sensor", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for " - "%s\n", unitp->lm75_name, "lm75"); + "%s\n", unitp->lm75_name, "lm75"); ddi_soft_state_free(lm75soft_statep, instance); return (DDI_FAILURE); diff --git a/usr/src/uts/sun4u/io/i2c/clients/ltc1427.c b/usr/src/uts/sun4u/io/i2c/clients/ltc1427.c index 82d1c134e0..0d794ca4af 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/ltc1427.c +++ b/usr/src/uts/sun4u/io/i2c/clients/ltc1427.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -19,12 +18,12 @@ * * CDDL HEADER END */ + /* - * Copyright (c) 2000-2001 by Sun Microsystems, Inc. - * All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ @@ -92,14 +91,16 @@ static struct dev_ops ltc1427_ops = { ltc1427_detach, nodev, <c1427_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv ltc1427_modldrv = { &mod_driverops, /* type of module - driver */ - "LTC1427 i2c device driver: v%I%", + "LTC1427 i2c device driver: v1.8", <c1427_ops }; @@ -119,7 +120,7 @@ _init(void) if (!error) (void) ddi_soft_state_init(<c1427soft_statep, - sizeof (struct ltc1427_unit), 1); + sizeof (struct ltc1427_unit), 1); return (error); } @@ -157,7 +158,7 @@ ltc1427_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct ltc1427_unit *) - ddi_get_soft_state(ltc1427soft_statep, instance); + ddi_get_soft_state(ltc1427soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -203,7 +204,7 @@ ltc1427_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct ltc1427_unit *) - ddi_get_soft_state(ltc1427soft_statep, instance); + ddi_get_soft_state(ltc1427soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -231,31 +232,31 @@ ltc1427_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if (arg == NULL) { D2CMN_ERR((CE_WARN, "LTC1427: ioctl: arg passed in to ioctl " - "= NULL\n")); + "= NULL\n")); err = EINVAL; return (err); } instance = getminor(dev); unitp = (struct ltc1427_unit *) - ddi_get_soft_state(ltc1427soft_statep, instance); + ddi_get_soft_state(ltc1427soft_statep, instance); mutex_enter(&unitp->ltc1427_mutex); switch (cmd) { case I2C_GET_OUTPUT: D1CMN_ERR((CE_NOTE, "current_set_flag = %d\n", - unitp->current_set_flag)); + unitp->current_set_flag)); if (unitp->current_set_flag == 0) { err = EIO; break; } else { if (ddi_copyout((caddr_t)&unitp->current_value, - (caddr_t)arg, sizeof (int32_t), - mode) != DDI_SUCCESS) { + (caddr_t)arg, sizeof (int32_t), + mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_OUTPUT " "ddi_copyout routine\n", - unitp->ltc1427_name)); + unitp->ltc1427_name)); err = EFAULT; break; } @@ -264,11 +265,11 @@ ltc1427_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case I2C_SET_OUTPUT: if (ddi_copyin((caddr_t)arg, (caddr_t)&fan_speed, - sizeof (int32_t), mode) != DDI_SUCCESS) { + sizeof (int32_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, - "%s: Failed in I2C_SET_OUTPUT " - "ioctl before switch\n", - unitp->ltc1427_name)); + "%s: Failed in I2C_SET_OUTPUT " + "ioctl before switch\n", + unitp->ltc1427_name)); err = EFAULT; break; } @@ -277,9 +278,9 @@ ltc1427_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, &i2c_tran_pointer, 2, 0, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, - "%s: Failed in I2C_SET_OUTPUT " - "i2c_transfer_pointer not allocated\n", - unitp->ltc1427_name)); + "%s: Failed in I2C_SET_OUTPUT " + "i2c_transfer_pointer not allocated\n", + unitp->ltc1427_name)); err = ENOMEM; break; } @@ -299,7 +300,7 @@ ltc1427_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd: %x\n", - unitp->ltc1427_name, cmd)); + unitp->ltc1427_name, cmd)); err = EINVAL; } @@ -343,7 +344,7 @@ ltc1427_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(ltc1427soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -351,17 +352,17 @@ ltc1427_do_attach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } (void) snprintf(unitp->ltc1427_name, sizeof (unitp->ltc1427_name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); if (ddi_create_minor_node(dip, "ltc1427", S_IFCHR, instance, - "ddi_i2c:adio", NULL) == DDI_FAILURE) { + "ddi_i2c:adio", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for " - "%s\n", unitp->ltc1427_name, "ltc1427"); + "%s\n", unitp->ltc1427_name, "ltc1427"); ddi_soft_state_free(ltc1427soft_statep, instance); return (DDI_FAILURE); @@ -407,7 +408,7 @@ ltc1427_do_detach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } diff --git a/usr/src/uts/sun4u/io/i2c/clients/max1617.c b/usr/src/uts/sun4u/io/i2c/clients/max1617.c index 2cf3024338..00282c9c53 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/max1617.c +++ b/usr/src/uts/sun4u/io/i2c/clients/max1617.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The max1617 I2C is a temp acquisition device. As implemented on some @@ -96,12 +94,14 @@ static struct dev_ops max1617_ops = { max1617_detach, nodev, &max1617_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv max1617_modldrv = { &mod_driverops, /* type of module - driver */ - "max1617 device driver v%I%", + "max1617 device driver", &max1617_ops, }; @@ -123,7 +123,7 @@ _init(void) error = mod_install(&max1617_modlinkage); if (error == 0) { (void) ddi_soft_state_init(&max1617_soft_statep, - sizeof (struct max1617_unit), 1); + sizeof (struct max1617_unit), 1); } return (error); @@ -194,7 +194,7 @@ max1617_do_attach(dev_info_t *dip) minor_number, MAX1617_NODE_TYPE, NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for minor " " name '%s'", unitp->max1617_name, minor_name); - ddi_soft_state_free(max1617_soft_statep, instance); + ddi_soft_state_free(max1617_soft_statep, instance); return (DDI_FAILURE); } @@ -460,7 +460,7 @@ max1617_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct max1617_unit *) - ddi_get_soft_state(max1617_soft_statep, instance); + ddi_get_soft_state(max1617_soft_statep, instance); if (unitp == NULL) { @@ -508,7 +508,7 @@ max1617_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct max1617_unit *) - ddi_get_soft_state(max1617_soft_statep, instance); + ddi_get_soft_state(max1617_soft_statep, instance); if (unitp == NULL) { @@ -602,7 +602,7 @@ max1617_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, uchar_t reg; unitp = (struct max1617_unit *) - ddi_get_soft_state(max1617_soft_statep, instance); + ddi_get_soft_state(max1617_soft_statep, instance); if (max1617_debug) { printf("max1617_ioctl: fcn=%d instance=%d\n", fcn, instance); diff --git a/usr/src/uts/sun4u/io/i2c/clients/pca9556.c b/usr/src/uts/sun4u/io/i2c/clients/pca9556.c index c42f42233f..1b972ca6d7 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/pca9556.c +++ b/usr/src/uts/sun4u/io/i2c/clients/pca9556.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/file.h> @@ -125,12 +123,14 @@ static struct dev_ops pca9556_dev_ops = { pca9556_s_detach, nodev, &pca9556_cb_ops, - NULL + NULL, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv pca9556_modldrv = { &mod_driverops, /* type of module - driver */ - "pca9556 device driver v%I%", + "pca9556 device driver", &pca9556_dev_ops, }; @@ -226,7 +226,7 @@ pca9556_resume(dev_info_t *dip) pcap->pca9556_cpr_state[reg_num++]; if (i2c_transfer(pcap->pca9556_hdl, - pcap->pca9556_transfer) != DDI_SUCCESS) { + pcap->pca9556_transfer) != DDI_SUCCESS) { err = EIO; goto done; @@ -328,7 +328,7 @@ pca9556_attach(dev_info_t *dip) } if (ddi_create_minor_node(dip, name, S_IFCHR, minor, - PCA9556_NODE_TYPE, NULL) == DDI_FAILURE) { + PCA9556_NODE_TYPE, NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s: failed to create node for %s", pcap->pca9556_name, name); pca9556_detach(dip); @@ -486,7 +486,7 @@ pca9556_suspend(dev_info_t *dip) */ pcap->pca9556_transfer->i2c_wbuf[0] = reg + i; if (i2c_transfer(pcap->pca9556_hdl, - pcap->pca9556_transfer) != DDI_SUCCESS) { + pcap->pca9556_transfer) != DDI_SUCCESS) { err = EIO; goto done; } diff --git a/usr/src/uts/sun4u/io/i2c/clients/pcf8574.c b/usr/src/uts/sun4u/io/i2c/clients/pcf8574.c index 427a0b9c51..cb79d74112 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/pcf8574.c +++ b/usr/src/uts/sun4u/io/i2c/clients/pcf8574.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ @@ -93,14 +91,16 @@ static struct dev_ops pcf8574_ops = { pcf8574_detach, nodev, &pcf8574_cbops, - NULL + NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv pcf8574_modldrv = { &mod_driverops, /* type of module - driver */ - "PCF8574 i2c device driver: v%I%", + "PCF8574 i2c device driver: v1.9", &pcf8574_ops }; @@ -120,7 +120,7 @@ _init(void) if (!error) (void) ddi_soft_state_init(&pcf8574soft_statep, - sizeof (struct pcf8574_unit), 1); + sizeof (struct pcf8574_unit), 1); return (error); } @@ -160,7 +160,7 @@ pcf8574_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574soft_statep, instance); + ddi_get_soft_state(pcf8574soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -205,7 +205,7 @@ pcf8574_close(dev_t dev, int flags, int otyp, cred_t *credp) return (ENXIO); } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574soft_statep, instance); + ddi_get_soft_state(pcf8574soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -298,14 +298,14 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if (arg == NULL) { D2CMN_ERR((CE_WARN, "PCF8574: ioctl: arg passed in to ioctl " - "= NULL\n")); + "= NULL\n")); err = EINVAL; return (err); } instance = getminor(dev); unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574soft_statep, instance); + ddi_get_soft_state(pcf8574soft_statep, instance); if (unitp == NULL) { cmn_err(CE_WARN, "PCF8574: ioctl: unitp not filled\n"); return (ENOMEM); @@ -316,10 +316,10 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, switch (cmd) { case I2C_GET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_PORT" - " ddi_copyin routine\n", - unitp->pcf8574_name)); + " ddi_copyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } @@ -327,30 +327,30 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_PORT" - " pcf8574_get routine\n", - unitp->pcf8574_name)); + " pcf8574_get routine\n", + unitp->pcf8574_name)); break; } ioctl_port.value = byte; if (ddi_copyout((caddr_t)&ioctl_port, (caddr_t)arg, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_PORT " - "ddi_copyout routine\n", - unitp->pcf8574_name)); + "ddi_copyout routine\n", + unitp->pcf8574_name)); err = EFAULT; } D1CMN_ERR((CE_NOTE, "%s: contains %x\n", unitp->pcf8574_name, - byte)); + byte)); break; case I2C_SET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_PORT" - "ddi_cpoyin routine\n", - unitp->pcf8574_name)); + "ddi_cpoyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } @@ -358,26 +358,26 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_set(unitp, ioctl_port.value); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_PORT" - " pcf8574_set routine\n", - unitp->pcf8574_name)); + " pcf8574_set routine\n", + unitp->pcf8574_name)); break; } break; case I2C_GET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_BIT" - " ddi_copyin routine\n", - unitp->pcf8574_name)); + " ddi_copyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } if (ioctl_bit.bit_num > 7) { D2CMN_ERR((CE_WARN, "%s: In I2C_GET_BIT bit num" - " was not between 0 and 7\n", - unitp->pcf8574_name)); + " was not between 0 and 7\n", + unitp->pcf8574_name)); err = EIO; break; } @@ -385,41 +385,41 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_BIT" - " pcf8574_get routine\n", - unitp->pcf8574_name)); + " pcf8574_get routine\n", + unitp->pcf8574_name)); break; } D1CMN_ERR((CE_NOTE, "%s: byte returned from device is %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); ioctl_bit.bit_value = (boolean_t)PCF8574_BIT_READ_MASK(byte, - ioctl_bit.bit_num); + ioctl_bit.bit_num); D1CMN_ERR((CE_NOTE, "%s: byte now contains %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); if (ddi_copyout((caddr_t)&ioctl_bit, (caddr_t)arg, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_BIT" - " ddi_copyout routine\n", - unitp->pcf8574_name)); + " ddi_copyout routine\n", + unitp->pcf8574_name)); err = EFAULT; } break; case I2C_SET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_SET_BIT" - " ddi_copyin routine\n", - unitp->pcf8574_name)); + " ddi_copyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } if (ioctl_bit.bit_num > 7) { D2CMN_ERR((CE_WARN, "%s: I2C_SET_BIT: bit_num sent" - " in was not between 0 and 7", - unitp->pcf8574_name)); + " in was not between 0 and 7", + unitp->pcf8574_name)); err = EIO; break; } @@ -427,30 +427,30 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_BIT" - " pcf8574_get routine\n", - unitp->pcf8574_name)); + " pcf8574_get routine\n", + unitp->pcf8574_name)); break; } D1CMN_ERR((CE_NOTE, "%s: byte returned from device is %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); byte = PCF8574_BIT_WRITE_MASK(byte, ioctl_bit.bit_num, - ioctl_bit.bit_value); + ioctl_bit.bit_value); D1CMN_ERR((CE_NOTE, "%s: byte after shifting is %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); err = pcf8574_set(unitp, byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_BIT" - " pcf8574_set routine\n", - unitp->pcf8574_name)); + " pcf8574_set routine\n", + unitp->pcf8574_name)); break; } break; default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd: %x\n", - unitp->pcf8574_name, cmd)); + unitp->pcf8574_name, cmd)); err = EINVAL; } @@ -494,7 +494,7 @@ pcf8574_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(pcf8574soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -502,18 +502,18 @@ pcf8574_do_attach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } (void) snprintf(unitp->pcf8574_name, sizeof (unitp->pcf8574_name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); if (ddi_create_minor_node(dip, "pcf8574", S_IFCHR, instance, - "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { + "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for " - "%s\n", unitp->pcf8574_name, "pcf8574"); + "%s\n", unitp->pcf8574_name, "pcf8574"); ddi_soft_state_free(pcf8574soft_statep, instance); return (DDI_FAILURE); @@ -559,7 +559,7 @@ pcf8574_do_detach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } diff --git a/usr/src/uts/sun4u/io/i2c/clients/pcf8591.c b/usr/src/uts/sun4u/io/i2c/clients/pcf8591.c index 34f361b506..f6221e475d 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/pcf8591.c +++ b/usr/src/uts/sun4u/io/i2c/clients/pcf8591.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ @@ -98,14 +96,16 @@ static struct dev_ops pcf8591_ops = { pcf8591_detach, nodev, &pcf8591_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv pcf8591_modldrv = { &mod_driverops, /* type of module - driver */ - "PCF8591 i2c device driver: v%I%", + "PCF8591 i2c device driver: v1.8", &pcf8591_ops }; @@ -124,7 +124,7 @@ _init(void) error = mod_install(&pcf8591_modlinkage); if (!error) (void) ddi_soft_state_init(&pcf8591soft_statep, - sizeof (struct pcf8591_unit), 1); + sizeof (struct pcf8591_unit), 1); return (error); } @@ -162,7 +162,7 @@ pcf8591_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591soft_statep, instance); + ddi_get_soft_state(pcf8591soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -208,7 +208,7 @@ pcf8591_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591soft_statep, instance); + ddi_get_soft_state(pcf8591soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -240,12 +240,12 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if (arg == NULL) { D2CMN_ERR((CE_WARN, "PCF8591: ioctl: arg passed in to ioctl " - "= NULL\n")); + "= NULL\n")); err = EINVAL; return (err); } unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591soft_statep, instance); + ddi_get_soft_state(pcf8591soft_statep, instance); if (unitp == NULL) { cmn_err(CE_WARN, "PCF8591: ioctl: unitp not filled\n"); @@ -255,24 +255,24 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, mutex_enter(&unitp->pcf8591_mutex); D1CMN_ERR((CE_NOTE, "%s: ioctl: port = %d instance = %d\n", - unitp->pcf8591_name, port, instance)); + unitp->pcf8591_name, port, instance)); switch (cmd) { case I2C_GET_INPUT: (void) i2c_transfer_alloc(unitp->pcf8591_hdl, &i2c_tran_pointer, - 1, 2, I2C_SLEEP); + 1, 2, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_INPUT " - "i2c_tran_pointer not allocated\n", - unitp->pcf8591_name)); + "i2c_tran_pointer not allocated\n", + unitp->pcf8591_name)); err = ENOMEM; break; } reg = (uchar_t)port; if ((reg == 0x02) && (ipmode == PCF8591_2DIFF)) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_INPUT " - "cannot use port 2 when ipmode is " - "0x03\n", unitp->pcf8591_name)); + "cannot use port 2 when ipmode is " + "0x03\n", unitp->pcf8591_name)); err = EIO; i2c_transfer_free(unitp->pcf8591_hdl, i2c_tran_pointer); break; @@ -280,15 +280,15 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if ((reg == 0x03) && (ipmode != PCF8591_4SINGLE)) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_INPUT " - "cannot use port 3 when ipmode is not " - "0x00\n", unitp->pcf8591_name)); + "cannot use port 3 when ipmode is not " + "0x00\n", unitp->pcf8591_name)); err = EIO; i2c_transfer_free(unitp->pcf8591_hdl, i2c_tran_pointer); break; } control = ((0 << PCF8591_ANALOG_OUTPUT_SHIFT) | - (ipmode << PCF8591_ANALOG_INPUT_SHIFT) | - (autoincr << PCF8591_AUTOINCR_SHIFT) | reg); + (ipmode << PCF8591_ANALOG_INPUT_SHIFT) | + (autoincr << PCF8591_AUTOINCR_SHIFT) | reg); i2c_tran_pointer->i2c_flags = I2C_WR_RD; i2c_tran_pointer->i2c_wbuf[0] = control; @@ -296,21 +296,21 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = i2c_transfer(unitp->pcf8591_hdl, i2c_tran_pointer); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_INPUT" - " i2c_transfer routine\n", - unitp->pcf8591_name)); + " i2c_transfer routine\n", + unitp->pcf8591_name)); i2c_transfer_free(unitp->pcf8591_hdl, i2c_tran_pointer); break; } i2c_tran_pointer->i2c_rbuf[0] = i2c_tran_pointer->i2c_rbuf[1]; value = i2c_tran_pointer->i2c_rbuf[0]; D1CMN_ERR((CE_NOTE, "%s: Back from transfer result is %x\n", - unitp->pcf8591_name, value)); + unitp->pcf8591_name, value)); if (ddi_copyout((caddr_t)&value, - (caddr_t)arg, - sizeof (int32_t), mode) != DDI_SUCCESS) { + (caddr_t)arg, + sizeof (int32_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed I2C_GET_INPUT" - " ddi_copyout routine\n", - unitp->pcf8591_name)); + " ddi_copyout routine\n", + unitp->pcf8591_name)); err = EFAULT; } i2c_transfer_free(unitp->pcf8591_hdl, i2c_tran_pointer); @@ -320,34 +320,34 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, reg = (uchar_t)port; if (ipmode != PCF8591_4SINGLE) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_SET_OUTPUT " - "cannot set output when ipmode is not " - "0x00\n", unitp->pcf8591_name)); + "cannot set output when ipmode is not " + "0x00\n", unitp->pcf8591_name)); err = EIO; break; } (void) i2c_transfer_alloc(unitp->pcf8591_hdl, &i2c_tran_pointer, - 2, 0, I2C_SLEEP); + 2, 0, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in " - "I2C_SET_OUTPUT " - "i2c_tran_pointer not allocated\n", - unitp->pcf8591_name)); + "I2C_SET_OUTPUT " + "i2c_tran_pointer not allocated\n", + unitp->pcf8591_name)); err = ENOMEM; break; } if (ddi_copyin((caddr_t)arg, (caddr_t)&value, - sizeof (int32_t), mode) != DDI_SUCCESS) { + sizeof (int32_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_SET_OUTPUT" - " ddi_copyout routine\n", - unitp->pcf8591_name)); + " ddi_copyout routine\n", + unitp->pcf8591_name)); err = EFAULT; i2c_transfer_free(unitp->pcf8591_hdl, i2c_tran_pointer); break; } control = ((1 << PCF8591_ANALOG_OUTPUT_SHIFT) | - (0 << PCF8591_ANALOG_INPUT_SHIFT) | - (autoincr << PCF8591_AUTOINCR_SHIFT) | reg); + (0 << PCF8591_ANALOG_INPUT_SHIFT) | + (autoincr << PCF8591_AUTOINCR_SHIFT) | reg); i2c_tran_pointer->i2c_flags = I2C_WR; i2c_tran_pointer->i2c_wbuf[0] = control; @@ -370,8 +370,8 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, (caddr_t)arg, sizeof (int32_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in " - "I2C_GET_OUTPUT ddi_copyout routine\n", - unitp->pcf8591_name)); + "I2C_GET_OUTPUT ddi_copyout routine\n", + unitp->pcf8591_name)); err = EFAULT; break; } @@ -380,18 +380,18 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case PCF8591_SET_IPMODE: if (ddi_copyin((caddr_t)arg, (caddr_t)&uvalue, - sizeof (uint_t), mode) != DDI_SUCCESS) { + sizeof (uint_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in PCF8591_SET_IPMODE" - " ddi_copyout routine\n", - unitp->pcf8591_name)); + " ddi_copyout routine\n", + unitp->pcf8591_name)); err = EFAULT; break; } if (uvalue > 0x03) { D2CMN_ERR((CE_WARN, "%s: Failed in PCF8591_SET_IPMODE" - " value is not a valid mode\n", - unitp->pcf8591_name)); + " value is not a valid mode\n", + unitp->pcf8591_name)); err = EIO; break; } @@ -401,7 +401,7 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd: %x\n", - unitp->pcf8591_name, cmd)); + unitp->pcf8591_name, cmd)); err = EINVAL; } @@ -465,7 +465,7 @@ pcf8591_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(pcf8591soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -473,23 +473,23 @@ pcf8591_do_attach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } (void) snprintf(unitp->pcf8591_name, sizeof (unitp->pcf8591_name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); for (i = 0; i < 4; i++) { (void) sprintf(name, "port_%d", i); minor_number = INST_TO_MINOR(instance) | - PORT_TO_MINOR(I2C_PORT(i)); + PORT_TO_MINOR(I2C_PORT(i)); if (ddi_create_minor_node(dip, name, S_IFCHR, minor_number, - "ddi_i2c:adio", NULL) == DDI_FAILURE) { + "ddi_i2c:adio", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for " - "%s\n", unitp->pcf8591_name, name); + "%s\n", unitp->pcf8591_name, name); ddi_soft_state_free(pcf8591soft_statep, instance); return (DDI_FAILURE); @@ -536,7 +536,7 @@ pcf8591_do_detach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } diff --git a/usr/src/uts/sun4u/io/i2c/clients/pic16f819.c b/usr/src/uts/sun4u/io/i2c/clients/pic16f819.c index 0d03d7521a..0869d22d70 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/pic16f819.c +++ b/usr/src/uts/sun4u/io/i2c/clients/pic16f819.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ @@ -95,14 +93,16 @@ static struct dev_ops pic16f819_ops = { pic16f819_detach, nodev, &pic16f819_cbops, - NULL + NULL, /* bus ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv pic16f819_modldrv = { &mod_driverops, /* type of module - driver */ - "PIC16F819 i2c device driver: v%I%", + "PIC16F819 i2c device driver: v1.6", &pic16f819_ops }; @@ -122,7 +122,7 @@ _init(void) if (!error) (void) ddi_soft_state_init(&pic16f819soft_statep, - sizeof (struct pic16f819_unit), 1); + sizeof (struct pic16f819_unit), 1); return (error); } @@ -151,7 +151,7 @@ pic16f819_get(struct pic16f819_unit *unitp, int reg, uchar_t *byte, int flags) int err; (void) i2c_transfer_alloc(unitp->pic16f819_hdl, &i2c_tran_pointer, - 1, 1, flags); + 1, 1, flags); if (i2c_tran_pointer == NULL) { return (ENOMEM); } @@ -161,7 +161,7 @@ pic16f819_get(struct pic16f819_unit *unitp, int reg, uchar_t *byte, int flags) err = i2c_transfer(unitp->pic16f819_hdl, i2c_tran_pointer); if (err) { D2CMN_ERR((CE_WARN, "%s: pic16f819_get failed reg=%x", - unitp->pic16f819_name, reg)); + unitp->pic16f819_name, reg)); } else { *byte = i2c_tran_pointer->i2c_rbuf[0]; } @@ -177,7 +177,7 @@ pic16f819_set(struct pic16f819_unit *unitp, int reg, uchar_t byte) int err; (void) i2c_transfer_alloc(unitp->pic16f819_hdl, &i2c_tran_pointer, - 2, 0, I2C_SLEEP); + 2, 0, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in pic16f819_set " "i2c_tran_pointer not allocated", unitp->pic16f819_name)); @@ -188,12 +188,12 @@ pic16f819_set(struct pic16f819_unit *unitp, int reg, uchar_t byte) i2c_tran_pointer->i2c_wbuf[0] = (uchar_t)reg; i2c_tran_pointer->i2c_wbuf[1] = byte; D1CMN_ERR((CE_NOTE, "%s: set reg %x to %x", - unitp->pic16f819_name, reg, byte)); + unitp->pic16f819_name, reg, byte)); err = i2c_transfer(unitp->pic16f819_hdl, i2c_tran_pointer); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in the pic16f819_set" - " i2c_transfer routine", unitp->pic16f819_name)); + " i2c_transfer routine", unitp->pic16f819_name)); } i2c_transfer_free(unitp->pic16f819_hdl, i2c_tran_pointer); return (err); @@ -215,7 +215,7 @@ pic16f819_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct pic16f819_unit *) - ddi_get_soft_state(pic16f819soft_statep, instance); + ddi_get_soft_state(pic16f819soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -261,7 +261,7 @@ pic16f819_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct pic16f819_unit *) - ddi_get_soft_state(pic16f819soft_statep, instance); + ddi_get_soft_state(pic16f819soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -289,13 +289,13 @@ pic16f819_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if (arg == NULL) { D2CMN_ERR((CE_WARN, "PIC16F819: ioctl: arg passed in to ioctl " - "= NULL\n")); + "= NULL\n")); err = EINVAL; return (err); } instance = getminor(dev); unitp = (struct pic16f819_unit *) - ddi_get_soft_state(pic16f819soft_statep, instance); + ddi_get_soft_state(pic16f819soft_statep, instance); mutex_enter(&unitp->pic16f819_mutex); @@ -303,35 +303,35 @@ pic16f819_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case I2C_GET_REG: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_reg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } err = pic16f819_get(unitp, ioctl_reg.reg_num, &val8, - I2C_SLEEP); + I2C_SLEEP); if (err != I2C_SUCCESS) { break; } ioctl_reg.reg_value = val8; if (ddi_copyout((caddr_t)&ioctl_reg, (caddr_t)arg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; case I2C_SET_REG: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_reg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } err = pic16f819_set(unitp, ioctl_reg.reg_num, - ioctl_reg.reg_value); + ioctl_reg.reg_value); break; default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd: %x\n", - unitp->pic16f819_name, cmd)); + unitp->pic16f819_name, cmd)); err = EINVAL; } @@ -375,7 +375,7 @@ pic16f819_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(pic16f819soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -383,17 +383,17 @@ pic16f819_do_attach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } (void) snprintf(unitp->pic16f819_name, sizeof (unitp->pic16f819_name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); if (ddi_create_minor_node(dip, "fan_1", S_IFCHR, instance, - "ddi_i2c:pic", NULL) == DDI_FAILURE) { + "ddi_i2c:pic", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for " - "%s\n", unitp->pic16f819_name, "pic16f819"); + "%s\n", unitp->pic16f819_name, "pic16f819"); ddi_soft_state_free(pic16f819soft_statep, instance); return (DDI_FAILURE); @@ -401,7 +401,7 @@ pic16f819_do_attach(dev_info_t *dip) if (i2c_client_register(dip, &unitp->pic16f819_hdl) != I2C_SUCCESS) { cmn_err(CE_WARN, "%s i2c_client_register failed\n", - unitp->pic16f819_name); + unitp->pic16f819_name); ddi_remove_minor_node(dip, NULL); ddi_soft_state_free(pic16f819soft_statep, instance); @@ -441,7 +441,7 @@ pic16f819_do_detach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } diff --git a/usr/src/uts/sun4u/io/i2c/clients/seeprom.c b/usr/src/uts/sun4u/io/i2c/clients/seeprom.c index d66ac1a257..176051db4c 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/seeprom.c +++ b/usr/src/uts/sun4u/io/i2c/clients/seeprom.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/modctl.h> @@ -87,12 +85,13 @@ static struct dev_ops seeprom_ops = { nodev, &seeprom_cbops, NULL, - nulldev + nulldev, + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv seeprom_modldrv = { &mod_driverops, /* type of module - driver */ - "I2C serial EEPROM device driver v%I%", + "I2C serial EEPROM device driver", &seeprom_ops, }; @@ -155,7 +154,7 @@ seeprom_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(seepromsoft_statep, instance) != 0) { cmn_err(CE_WARN, "%s_%d: failed to zalloc softstate", - ddi_node_name(dip), instance); + ddi_node_name(dip), instance); return (DDI_FAILURE); } @@ -165,7 +164,7 @@ seeprom_do_attach(dev_info_t *dip) unitp->seeprom_dip = dip; (void) snprintf(unitp->seeprom_name, sizeof (unitp->seeprom_name), - "%s%d", ddi_driver_name(dip), instance); + "%s%d", ddi_driver_name(dip), instance); if (ddi_create_minor_node(dip, ddi_node_name(dip), S_IFCHR, instance, SEEPROM_NODE_TYPE, NULL) == DDI_FAILURE) { @@ -306,7 +305,7 @@ seeprom_open(dev_t *devp, int flags, int otyp, cred_t *credp) instance = getminor(*devp); unitp = (struct seepromunit *) - ddi_get_soft_state(seepromsoft_statep, instance); + ddi_get_soft_state(seepromsoft_statep, instance); if (unitp == NULL) { @@ -344,7 +343,7 @@ seeprom_close(dev_t dev, int flags, int otyp, cred_t *credp) instance = getminor(dev); unitp = (struct seepromunit *) - ddi_get_soft_state(seepromsoft_statep, instance); + ddi_get_soft_state(seepromsoft_statep, instance); if (unitp == NULL) { @@ -387,7 +386,7 @@ seeprom_io(dev_t dev, struct uio *uiop, int rw) i2c_transfer_t *i2ctp = NULL; unitp = (struct seepromunit *) - ddi_get_soft_state(seepromsoft_statep, instance); + ddi_get_soft_state(seepromsoft_statep, instance); if (unitp == NULL) { @@ -409,7 +408,7 @@ seeprom_io(dev_t dev, struct uio *uiop, int rw) } bytes_to_rw = min(uiop->uio_resid, - unitp->seeprom_memsize - uiop->uio_offset); + unitp->seeprom_memsize - uiop->uio_offset); /* * Serialize access here to prevent a transaction starting * until after 20 ms delay if last operation was a write. @@ -417,7 +416,7 @@ seeprom_io(dev_t dev, struct uio *uiop, int rw) mutex_enter(&unitp->seeprom_mutex); while ((unitp->seeprom_flags & SEEPROM_BUSY) == SEEPROM_BUSY) { if (cv_wait_sig(&unitp->seeprom_cv, - &unitp->seeprom_mutex) <= 0) { + &unitp->seeprom_mutex) <= 0) { mutex_exit(&unitp->seeprom_mutex); return (EINTR); diff --git a/usr/src/uts/sun4u/io/i2c/clients/ssc050.c b/usr/src/uts/sun4u/io/i2c/clients/ssc050.c index a448bf3661..01c510bdea 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/ssc050.c +++ b/usr/src/uts/sun4u/io/i2c/clients/ssc050.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ #include <sys/modctl.h> /* for modldrv */ @@ -125,14 +124,16 @@ static struct dev_ops ssc050_ops = { ssc050_detach, nodev, &ssc050_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv ssc050_modldrv = { &mod_driverops, /* type of module - driver */ - "SSC050 i2c device driver: v%I%", + "SSC050 i2c device driver: v1.10", &ssc050_ops }; @@ -152,7 +153,7 @@ _init(void) if (!error) (void) ddi_soft_state_init(&ssc050soft_statep, - sizeof (struct ssc050_unit), 1); + sizeof (struct ssc050_unit), 1); return (error); } @@ -190,7 +191,7 @@ ssc050_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct ssc050_unit *) - ddi_get_soft_state(ssc050soft_statep, instance); + ddi_get_soft_state(ssc050soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -236,7 +237,7 @@ ssc050_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct ssc050_unit *) - ddi_get_soft_state(ssc050soft_statep, instance); + ddi_get_soft_state(ssc050soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -257,7 +258,7 @@ ssc050_get(struct ssc050_unit *unitp, int reg, uchar_t *byte, int flags) int err; (void) i2c_transfer_alloc(unitp->hdl, &i2c_tran_pointer, - 1, 1, flags); + 1, 1, flags); if (i2c_tran_pointer == NULL) { return (ENOMEM); } @@ -267,7 +268,7 @@ ssc050_get(struct ssc050_unit *unitp, int reg, uchar_t *byte, int flags) err = i2c_transfer(unitp->hdl, i2c_tran_pointer); if (err) { D2CMN_ERR((CE_WARN, "%s: ssc050_get failed reg=%x", - unitp->name, reg)); + unitp->name, reg)); } else { *byte = i2c_tran_pointer->i2c_rbuf[0]; } @@ -283,10 +284,10 @@ ssc050_set(struct ssc050_unit *unitp, int reg, uchar_t byte) int err; (void) i2c_transfer_alloc(unitp->hdl, &i2c_tran_pointer, - 2, 0, I2C_SLEEP); + 2, 0, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in ssc050_set " - "i2c_tran_pointer not allocated", unitp->name)); + "i2c_tran_pointer not allocated", unitp->name)); return (ENOMEM); } @@ -298,7 +299,7 @@ ssc050_set(struct ssc050_unit *unitp, int reg, uchar_t byte) err = i2c_transfer(unitp->hdl, i2c_tran_pointer); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in the ssc050_set" - " i2c_transfer routine", unitp->name)); + " i2c_transfer routine", unitp->name)); } i2c_transfer_free(unitp->hdl, i2c_tran_pointer); return (err); @@ -326,11 +327,11 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if (arg == NULL) { D2CMN_ERR((CE_WARN, "SSC050: ioctl: arg passed in to ioctl " - "= NULL")); + "= NULL")); return (EINVAL); } unitp = (struct ssc050_unit *) - ddi_get_soft_state(ssc050soft_statep, instance); + ddi_get_soft_state(ssc050soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -343,7 +344,7 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, switch (cmd) { case I2C_GET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } @@ -358,8 +359,8 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if (val8 != ioctl_port.dir_mask) { D2CMN_ERR((CE_NOTE, "GET_PORT sleeping! " - "wanted %x, had %x", - ioctl_port.dir_mask, val8)); + "wanted %x, had %x", + ioctl_port.dir_mask, val8)); err = ssc050_set(unitp, reg, ioctl_port.dir_mask); if (err != I2C_SUCCESS) { @@ -375,14 +376,14 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } ioctl_port.value = val8; if (ddi_copyout((caddr_t)&ioctl_port, (caddr_t)arg, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; case I2C_SET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } @@ -395,13 +396,13 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } D1CMN_ERR((CE_NOTE, "%s: ioctl: Data Direction Register " - "contains %x", unitp->name, val8)); + "contains %x", unitp->name, val8)); inverted_mask = ioctl_port.dir_mask ^ 0xff; val8 = val8 & inverted_mask; D1CMN_ERR((CE_NOTE, "%s: ioctl: Data Direction Register " - "NOW contains %x", unitp->name, val8)); + "NOW contains %x", unitp->name, val8)); err = ssc050_set(unitp, reg, val8); if (err != I2C_SUCCESS) { @@ -414,13 +415,13 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } D1CMN_ERR((CE_NOTE, "%s: ioctl: GP Register " - "contains %x", unitp->name, val8)); + "contains %x", unitp->name, val8)); val8 = val8 & inverted_mask; val8 = val8 | ioctl_port.value; D1CMN_ERR((CE_NOTE, "%s: ioctl: GP Register " - "NOW contains %x", unitp->name, val8)); + "NOW contains %x", unitp->name, val8)); err = ssc050_set(unitp, SSC050_GP_REG(port), val8); break; @@ -433,7 +434,7 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } D1CMN_ERR((CE_NOTE, "%s: port %d: control = %x", unitp->name, - port, control)); + port, control)); if (!(control & SSC050_FAN_CONTROL_ENABLE)) { err = EIO; @@ -448,14 +449,14 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if (fan_count == 0) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_FAN_SPEED " - "i2c_rbuf = 0", unitp->name)); + "i2c_rbuf = 0", unitp->name)); err = EIO; break; } if (fan_count == 0xff) { fan_speed = 0; if (ddi_copyout((caddr_t)&fan_speed, (caddr_t)arg, - sizeof (int32_t), mode) != DDI_SUCCESS) { + sizeof (int32_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } @@ -465,14 +466,14 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, divisor = control & SSC050_FAN_CONTROL_DIVISOR; fan_speed = SSC050_FAN_SPEED(divisor, fan_count); if (ddi_copyout((caddr_t)&fan_speed, (caddr_t)arg, - sizeof (int32_t), mode) != DDI_SUCCESS) { + sizeof (int32_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; case I2C_GET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } @@ -493,15 +494,15 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, if (!(val8 & SSC050_DATADIRECTION_BIT)) { D2CMN_ERR((CE_NOTE, "GET_PORT sleeping! " - "wanted %x, had %x", - val8 | SSC050_DATADIRECTION_BIT, - val8)); + "wanted %x, had %x", + val8 | SSC050_DATADIRECTION_BIT, + val8)); err = ssc050_set(unitp, reg, val8 | SSC050_DATADIRECTION_BIT); - if (err != I2C_SUCCESS) { - break; - } - delay(10); + if (err != I2C_SUCCESS) { + break; + } + delay(10); } } @@ -513,14 +514,14 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, val8 = val8 & 0x01; ioctl_bit.bit_value = (boolean_t)val8; if (ddi_copyout((caddr_t)&ioctl_bit, (caddr_t)arg, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; case I2C_SET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } @@ -539,36 +540,36 @@ ssc050_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, case I2C_GET_REG: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_reg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } err = ssc050_get(unitp, ioctl_reg.reg_num, &val8, - I2C_SLEEP); + I2C_SLEEP); if (err != I2C_SUCCESS) { break; } ioctl_reg.reg_value = val8; if (ddi_copyout((caddr_t)&ioctl_reg, (caddr_t)arg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; case I2C_SET_REG: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_reg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } err = ssc050_set(unitp, ioctl_reg.reg_num, - ioctl_reg.reg_value); + ioctl_reg.reg_value); break; default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd: %x", - unitp->name, cmd)); + unitp->name, cmd)); err = EINVAL; } @@ -638,16 +639,16 @@ ssc050_do_attach(dev_info_t *dip) unitp = ddi_get_soft_state(ssc050soft_statep, instance); (void) snprintf(unitp->name, sizeof (unitp->name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); for (i = 0; i < SSC050_NUM_PORTS; i++) { (void) sprintf(name, "port_%d", i); minor_number = INST_TO_MINOR(instance) | - PORT_TO_MINOR(I2C_PORT(i)); + PORT_TO_MINOR(I2C_PORT(i)); if (ddi_create_minor_node(dip, name, S_IFCHR, minor_number, - "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { + "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s: failed to create node for %s", unitp->name, name); ddi_soft_state_free(ssc050soft_statep, instance); diff --git a/usr/src/uts/sun4u/io/i2c/clients/ssc100.c b/usr/src/uts/sun4u/io/i2c/clients/ssc100.c index 1fa123dbb6..89c3c93457 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/ssc100.c +++ b/usr/src/uts/sun4u/io/i2c/clients/ssc100.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,10 +19,9 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ @@ -97,14 +95,16 @@ static struct dev_ops ssc100_ops = { ssc100_detach, nodev, &ssc100_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv ssc100_modldrv = { &mod_driverops, /* type of module - driver */ - "SSC100 i2c device driver: v%I%", + "SSC100 i2c device driver: v1.10", &ssc100_ops }; @@ -124,7 +124,7 @@ _init(void) if (!error) (void) ddi_soft_state_init(&ssc100soft_statep, - sizeof (struct ssc100_unit), 1); + sizeof (struct ssc100_unit), 1); return (error); } @@ -162,7 +162,7 @@ ssc100_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct ssc100_unit *) - ddi_get_soft_state(ssc100soft_statep, instance); + ddi_get_soft_state(ssc100soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -207,7 +207,7 @@ ssc100_close(dev_t dev, int flags, int otyp, cred_t *credp) return (ENXIO); } unitp = (struct ssc100_unit *) - ddi_get_soft_state(ssc100soft_statep, instance); + ddi_get_soft_state(ssc100soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -232,8 +232,8 @@ ssc100_common(struct ssc100_unit *unitp, uchar_t *byte, uchar_t input, 1, 1, I2C_SLEEP); if (i2c_tran_pointer == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in SSC100_COMMON " - "i2c_tran_pointer not allocated", - unitp->ssc100_name)); + "i2c_tran_pointer not allocated", + unitp->ssc100_name)); return (ENOMEM); } @@ -245,7 +245,7 @@ ssc100_common(struct ssc100_unit *unitp, uchar_t *byte, uchar_t input, err = i2c_transfer(unitp->ssc100_hdl, i2c_tran_pointer); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in SSC100_COMMON " - "i2c_transfer routine", unitp->ssc100_name)); + "i2c_transfer routine", unitp->ssc100_name)); } else if (flag != I2C_WR) { *byte = i2c_tran_pointer->i2c_rbuf[0]; } @@ -262,7 +262,7 @@ ssc100_get_reg(struct ssc100_unit *unitp, uchar_t *byte, uchar_t reg) err = ssc100_common(unitp, byte, reg, I2C_WR_RD); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in SSC100_GET_REG " - "i2c_common routine", unitp->ssc100_name)); + "i2c_common routine", unitp->ssc100_name)); } return (err); } @@ -275,7 +275,7 @@ ssc100_get(struct ssc100_unit *unitp, uchar_t *byte) err = ssc100_common(unitp, byte, 0, I2C_RD); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in SSC100_GET " - "i2c_common routine", unitp->ssc100_name)); + "i2c_common routine", unitp->ssc100_name)); } return (err); } @@ -288,7 +288,7 @@ ssc100_set(struct ssc100_unit *unitp, uchar_t byte) err = ssc100_common(unitp, NULL, byte, I2C_WR); if (err) { D2CMN_ERR((CE_WARN, "%s: Failed in SSC100_SET " - "i2c_common routine", unitp->ssc100_name)); + "i2c_common routine", unitp->ssc100_name)); } return (err); } @@ -309,14 +309,14 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if (arg == NULL) { D2CMN_ERR((CE_WARN, "SSC100: ioctl: arg passed in to ioctl " - "= NULL")); + "= NULL")); err = EINVAL; return (err); } instance = getminor(dev); unitp = (struct ssc100_unit *) - ddi_get_soft_state(ssc100soft_statep, instance); + ddi_get_soft_state(ssc100soft_statep, instance); if (unitp == NULL) { cmn_err(CE_WARN, "SSC100: ioctl: unitp not filled"); return (ENOMEM); @@ -327,9 +327,9 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, switch (cmd) { case I2C_GET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_PORT" - " ddi_copyin routine", unitp->ssc100_name)); + " ddi_copyin routine", unitp->ssc100_name)); err = EFAULT; break; } @@ -337,27 +337,27 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = ssc100_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_PORT" - " ssc100_get routine", unitp->ssc100_name)); + " ssc100_get routine", unitp->ssc100_name)); break; } ioctl_port.value = byte; if (ddi_copyout((caddr_t)&ioctl_port, (caddr_t)arg, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_PORT " - "ddi_copyout routine", unitp->ssc100_name)); + "ddi_copyout routine", unitp->ssc100_name)); err = EFAULT; } D1CMN_ERR((CE_NOTE, "%s: contains %x", unitp->ssc100_name, - byte)); + byte)); break; case I2C_SET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_PORT" - "ddi_cpoyin routine", unitp->ssc100_name)); + "ddi_cpoyin routine", unitp->ssc100_name)); err = EFAULT; break; } @@ -365,24 +365,24 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = ssc100_set(unitp, ioctl_port.value); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_PORT" - " ssc100_set routine", unitp->ssc100_name)); + " ssc100_set routine", unitp->ssc100_name)); break; } break; case I2C_GET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_BIT" - " ddi_copyin routine", unitp->ssc100_name)); + " ddi_copyin routine", unitp->ssc100_name)); err = EFAULT; break; } if (ioctl_bit.bit_num > 7) { D2CMN_ERR((CE_WARN, "%s: In I2C_GET_BIT bit num" - " was not between 0 and 7", - unitp->ssc100_name)); + " was not between 0 and 7", + unitp->ssc100_name)); err = EIO; break; } @@ -390,38 +390,38 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = ssc100_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_BIT" - " ssc100_get routine", unitp->ssc100_name)); + " ssc100_get routine", unitp->ssc100_name)); break; } D1CMN_ERR((CE_NOTE, "%s: byte returned from device is %x", - unitp->ssc100_name, byte)); + unitp->ssc100_name, byte)); ioctl_bit.bit_value = (boolean_t)SSC100_BIT_READ_MASK(byte, ioctl_bit.bit_num); D1CMN_ERR((CE_NOTE, "%s: byte now contains %x", - unitp->ssc100_name, byte)); + unitp->ssc100_name, byte)); if (ddi_copyout((caddr_t)&ioctl_bit, (caddr_t)arg, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_BIT" - " ddi_copyout routine", unitp->ssc100_name)); + " ddi_copyout routine", unitp->ssc100_name)); err = EFAULT; } break; case I2C_SET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_SET_BIT" - " ddi_copyin routine", unitp->ssc100_name)); + " ddi_copyin routine", unitp->ssc100_name)); err = EFAULT; break; } if (ioctl_bit.bit_num > 7) { D2CMN_ERR((CE_WARN, "%s: I2C_SET_BIT: bit_num sent" - " in was not between 0 and 7", - unitp->ssc100_name)); + " in was not between 0 and 7", + unitp->ssc100_name)); err = EIO; break; } @@ -429,28 +429,28 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = ssc100_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_BIT" - " ssc100_get routine", unitp->ssc100_name)); + " ssc100_get routine", unitp->ssc100_name)); break; } D1CMN_ERR((CE_NOTE, "%s: byte returned from device is %x", - unitp->ssc100_name, byte)); + unitp->ssc100_name, byte)); byte = SSC100_BIT_WRITE_MASK(byte, ioctl_bit.bit_num, ioctl_bit.bit_value); D1CMN_ERR((CE_NOTE, "%s: byte after shifting is %x", - unitp->ssc100_name, byte)); + unitp->ssc100_name, byte)); err = ssc100_set(unitp, byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_BIT" - " ssc100_set routine", unitp->ssc100_name)); + " ssc100_set routine", unitp->ssc100_name)); break; } break; case I2C_GET_REG: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_reg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_REG " "ddi_copyin routine", unitp->ssc100_name)); err = EFAULT; @@ -461,7 +461,7 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, ioctl_reg.reg_value = byte; if (ddi_copyout((caddr_t)&ioctl_reg, (caddr_t)arg, - sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { + sizeof (i2c_reg_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_REG " "ddi_copyout routine", unitp->ssc100_name)); err = EFAULT; @@ -470,7 +470,7 @@ ssc100_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd: %x", - unitp->ssc100_name, cmd)); + unitp->ssc100_name, cmd)); err = EINVAL; } @@ -514,7 +514,7 @@ ssc100_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(ssc100soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -522,17 +522,17 @@ ssc100_do_attach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } (void) snprintf(unitp->ssc100_name, sizeof (unitp->ssc100_name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); if (ddi_create_minor_node(dip, "ssc100", S_IFCHR, instance, - "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { + "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for " - "%s", unitp->ssc100_name, "ssc100"); + "%s", unitp->ssc100_name, "ssc100"); ddi_soft_state_free(ssc100soft_statep, instance); return (DDI_FAILURE); @@ -545,8 +545,8 @@ ssc100_do_attach(dev_info_t *dip) unitp->ssc100_size = SSC100_SIZE; (void) ddi_prop_create(DDI_DEV_T_NONE, dip, - DDI_PROP_CANSLEEP, "size", - (caddr_t)&unitp->ssc100_size, sizeof (unitp->ssc100_size)); + DDI_PROP_CANSLEEP, "size", + (caddr_t)&unitp->ssc100_size, sizeof (unitp->ssc100_size)); if (i2c_client_register(dip, &unitp->ssc100_hdl) != I2C_SUCCESS) { ddi_remove_minor_node(dip, NULL); @@ -630,7 +630,7 @@ ssc100_io(dev_t dev, struct uio *uiop, int rw) } unitp = (struct ssc100_unit *) - ddi_get_soft_state(ssc100soft_statep, instance); + ddi_get_soft_state(ssc100soft_statep, instance); if (unitp == NULL) { @@ -655,32 +655,32 @@ ssc100_io(dev_t dev, struct uio *uiop, int rw) } bytes_to_rw = min(uiop->uio_resid, - unitp->ssc100_size - uiop->uio_offset); + unitp->ssc100_size - uiop->uio_offset); current_xfer_len = bytes_to_rw; if (rw == B_WRITE) { (void) i2c_transfer_alloc(unitp->ssc100_hdl, &i2ctp, - current_xfer_len+1, 0, I2C_SLEEP); + current_xfer_len+1, 0, I2C_SLEEP); if (i2ctp == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in ssc100_io WRITE " - "i2c_tran_pointer not allocated", - unitp->ssc100_name)); + "i2c_tran_pointer not allocated", + unitp->ssc100_name)); return (ENOMEM); } i2ctp->i2c_version = I2C_XFER_REV; i2ctp->i2c_flags = I2C_WR; i2ctp->i2c_wbuf[0] = (uchar_t)ssc100_addr; if ((err = uiomove(&i2ctp->i2c_wbuf[1], current_xfer_len, - UIO_WRITE, uiop)) != 0) { + UIO_WRITE, uiop)) != 0) { D2CMN_ERR((CE_WARN, "%s: Failed in ssc100_io WRITE " - "uiomove failed", unitp->ssc100_name)); + "uiomove failed", unitp->ssc100_name)); goto end; } if ((err = i2c_transfer(unitp->ssc100_hdl, i2ctp)) != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in ssc100_io WRITE " - "i2c_transfer failed", unitp->ssc100_name)); + "i2c_transfer failed", unitp->ssc100_name)); goto end; } } else { @@ -692,8 +692,8 @@ ssc100_io(dev_t dev, struct uio *uiop, int rw) current_xfer_len, I2C_SLEEP); if (i2ctp == NULL) { D2CMN_ERR((CE_WARN, "%s: Failed in ssc100_io READ " - "i2c_tran_pointer not allocated", - unitp->ssc100_name)); + "i2c_tran_pointer not allocated", + unitp->ssc100_name)); return (ENOMEM); } i2ctp->i2c_version = I2C_XFER_REV; @@ -703,14 +703,14 @@ ssc100_io(dev_t dev, struct uio *uiop, int rw) if ((err = i2c_transfer(unitp->ssc100_hdl, i2ctp)) != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in ssc100_io READ " - "i2c_transfer failed", unitp->ssc100_name)); + "i2c_transfer failed", unitp->ssc100_name)); goto end; } if ((err = uiomove(i2ctp->i2c_rbuf, current_xfer_len, - UIO_READ, uiop)) != 0) { + UIO_READ, uiop)) != 0) { D2CMN_ERR((CE_WARN, "%s: Failed in ssc100_io READ " - "uiomove failed", unitp->ssc100_name)); + "uiomove failed", unitp->ssc100_name)); goto end; } } diff --git a/usr/src/uts/sun4u/io/i2c/clients/tda8444.c b/usr/src/uts/sun4u/io/i2c/clients/tda8444.c index 053213b291..97f0c0c60d 100644 --- a/usr/src/uts/sun4u/io/i2c/clients/tda8444.c +++ b/usr/src/uts/sun4u/io/i2c/clients/tda8444.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/file.h> @@ -89,12 +87,14 @@ static struct dev_ops tda8444_ops = { tda8444_detach, nodev, &tda8444_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv tda8444_modldrv = { &mod_driverops, /* type of module - driver */ - "tda8444 device driver v%I%", + "tda8444 device driver", &tda8444_ops, }; @@ -115,7 +115,7 @@ _init(void) error = mod_install(&tda8444_modlinkage); if (error == 0) { (void) ddi_soft_state_init(&tda8444_soft_statep, - sizeof (struct tda8444_unit), TDA8444_MAX_DACS); + sizeof (struct tda8444_unit), TDA8444_MAX_DACS); } return (error); @@ -165,7 +165,7 @@ tda8444_do_resume(dev_info_t *dip) int ret = DDI_SUCCESS; unitp = (struct tda8444_unit *) - ddi_get_soft_state(tda8444_soft_statep, instance); + ddi_get_soft_state(tda8444_soft_statep, instance); if (unitp == NULL) { @@ -180,7 +180,7 @@ tda8444_do_resume(dev_info_t *dip) DPRINTF(RESUME, ("tda8444_resume: setting channel %d to %d", channel, unitp->tda8444_output[channel])); if (i2c_transfer(unitp->tda8444_hdl, - unitp->tda8444_transfer) != I2C_SUCCESS) { + unitp->tda8444_transfer) != I2C_SUCCESS) { ret = DDI_FAILURE; } } @@ -206,7 +206,7 @@ tda8444_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(tda8444_soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d failed to zalloc softstate", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -218,16 +218,16 @@ tda8444_do_attach(dev_info_t *dip) } (void) snprintf(unitp->tda8444_name, sizeof (unitp->tda8444_name), - "%s%d", ddi_driver_name(dip), instance); + "%s%d", ddi_driver_name(dip), instance); for (i = 0; i < TDA8444_CHANS; i++) { (void) sprintf(name, "%d", i); minor = TDA8444_CHANNEL_TO_MINOR(i) | - TDA8444_DEVINST_TO_MINOR(instance); + TDA8444_DEVINST_TO_MINOR(instance); if (ddi_create_minor_node(dip, name, S_IFCHR, minor, - TDA8444_NODE_TYPE, NULL) == DDI_FAILURE) { + TDA8444_NODE_TYPE, NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed", - unitp->tda8444_name); + unitp->tda8444_name); ddi_soft_state_free(tda8444_soft_statep, instance); ddi_remove_minor_node(dip, NULL); @@ -240,7 +240,7 @@ tda8444_do_attach(dev_info_t *dip) * preallocate a single buffer for all writes */ if (i2c_transfer_alloc(unitp->tda8444_hdl, &unitp->tda8444_transfer, - 2, 0, I2C_SLEEP) != I2C_SUCCESS) { + 2, 0, I2C_SLEEP) != I2C_SUCCESS) { cmn_err(CE_WARN, "i2c_transfer_alloc failed"); ddi_remove_minor_node(dip, NULL); ddi_soft_state_free(tda8444_soft_statep, instance); @@ -316,7 +316,7 @@ tda8444_do_suspend(dev_info_t *dip) mutex_enter(&unitp->tda8444_mutex); while (unitp->tda8444_flags == TDA8444_BUSY) { if (cv_wait_sig(&unitp->tda8444_cv, - &unitp->tda8444_mutex) <= 0) { + &unitp->tda8444_mutex) <= 0) { mutex_exit(&unitp->tda8444_mutex); return (DDI_FAILURE); @@ -358,7 +358,7 @@ tda8444_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct tda8444_unit *) - ddi_get_soft_state(tda8444_soft_statep, instance); + ddi_get_soft_state(tda8444_soft_statep, instance); if (unitp == NULL) { @@ -405,7 +405,7 @@ tda8444_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct tda8444_unit *) - ddi_get_soft_state(tda8444_soft_statep, instance); + ddi_get_soft_state(tda8444_soft_statep, instance); if (unitp == NULL) { @@ -486,7 +486,7 @@ tda8444_io(dev_t dev, struct uio *uiop, int rw) while (unitp->tda8444_flags == TDA8444_BUSY) { if (cv_wait_sig(&unitp->tda8444_cv, - &unitp->tda8444_mutex) <= 0) { + &unitp->tda8444_mutex) <= 0) { mutex_exit(&unitp->tda8444_mutex); return (EINTR); @@ -509,7 +509,7 @@ tda8444_io(dev_t dev, struct uio *uiop, int rw) unitp->tda8444_transfer->i2c_wbuf[1] = (uchar_t)out_value; DPRINTF(IO, ("setting channel %d to %d", channel, - unitp->tda8444_transfer->i2c_wbuf[1])); + unitp->tda8444_transfer->i2c_wbuf[1])); if (i2c_transfer(unitp->tda8444_hdl, unitp->tda8444_transfer) != I2C_SUCCESS) { diff --git a/usr/src/uts/sun4u/io/i2c/nexus/i2bsc.c b/usr/src/uts/sun4u/io/i2c/nexus/i2bsc.c index 969b8baa9e..7c19bb17ba 100644 --- a/usr/src/uts/sun4u/io/i2c/nexus/i2bsc.c +++ b/usr/src/uts/sun4u/io/i2c/nexus/i2bsc.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * i2bsc.c is the nexus driver i2c traffic against devices hidden behind the @@ -152,13 +151,15 @@ static struct dev_ops i2bsc_ops = { i2bsc_detach, nodev, &i2bsc_cb_ops, - &i2bsc_busops + &i2bsc_busops, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; #ifdef DEBUG -#define I2BSC_VERSION_STRING "i2bsc driver - Debug v%I%" +#define I2BSC_VERSION_STRING "i2bsc driver - Debug" #else -#define I2BSC_VERSION_STRING "i2bsc driver v%I%" +#define I2BSC_VERSION_STRING "i2bsc driver" #endif static struct modldrv modldrv = { @@ -189,7 +190,7 @@ _init(void) int status; status = ddi_soft_state_init(&i2bsc_state, sizeof (i2bsc_t), - I2BSC_INITIAL_SOFT_SPACE); + I2BSC_INITIAL_SOFT_SPACE); if (status != 0) { return (status); } @@ -266,10 +267,10 @@ i2bsc_doattach(dev_info_t *dip) i2c->minornum = instance; i2c->i2bsc_dip = dip; i2c->debug = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "debug", 0); + DDI_PROP_DONTPASS, "debug", 0); (void) snprintf(i2c->i2bsc_name, sizeof (i2c->i2bsc_name), - "%s_%d", ddi_node_name(dip), instance); + "%s_%d", ddi_node_name(dip), instance); if (i2bsc_setup_regs(i2c) != DDI_SUCCESS) { goto bad; @@ -329,14 +330,14 @@ static int i2bsc_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) { switch (cmd) { - case DDI_ATTACH: + case DDI_ATTACH: return (i2bsc_doattach(dip)); - case DDI_RESUME: + case DDI_RESUME: i2bsc_resume(dip); return (DDI_SUCCESS); - default: + default: return (DDI_FAILURE); } } @@ -442,13 +443,13 @@ i2bsc_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } switch (cmd) { - case DEVCTL_BUS_DEV_CREATE: + case DEVCTL_BUS_DEV_CREATE: rv = ndi_dc_devi_create(dcp, self, 0, NULL); break; - case DEVCTL_DEVICE_REMOVE: + case DEVCTL_DEVICE_REMOVE: if (ndi_dc_getname(dcp) == NULL || - ndi_dc_getaddr(dcp) == NULL) { + ndi_dc_getaddr(dcp) == NULL) { rv = EINVAL; break; } @@ -457,20 +458,20 @@ i2bsc_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, * lookup and hold child device */ child = ndi_devi_find(self, - ndi_dc_getname(dcp), ndi_dc_getaddr(dcp)); + ndi_dc_getname(dcp), ndi_dc_getaddr(dcp)); if (child == NULL) { rv = ENXIO; break; } if ((rv = ndi_devi_offline(child, NDI_DEVI_REMOVE)) != - NDI_SUCCESS) { + NDI_SUCCESS) { rv = (rv == NDI_BUSY) ? EBUSY : EIO; } break; - default: + default: rv = ENOTSUP; } @@ -492,30 +493,30 @@ i2bsc_bus_ctl(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t op, " %p/%p,%d/%p", dip, rdip, (int)op, arg); switch (op) { - case DDI_CTLOPS_INITCHILD: + case DDI_CTLOPS_INITCHILD: return (i2bsc_initchild(dip, (dev_info_t *)arg)); - case DDI_CTLOPS_UNINITCHILD: + case DDI_CTLOPS_UNINITCHILD: return (i2bsc_uninitchild(dip, (dev_info_t *)arg)); - case DDI_CTLOPS_REPORTDEV: + case DDI_CTLOPS_REPORTDEV: return (i2bsc_reportdev(dip, rdip)); - case DDI_CTLOPS_DMAPMAPC: - case DDI_CTLOPS_POKE: - case DDI_CTLOPS_PEEK: - case DDI_CTLOPS_IOMIN: - case DDI_CTLOPS_REPORTINT: - case DDI_CTLOPS_SIDDEV: - case DDI_CTLOPS_SLAVEONLY: - case DDI_CTLOPS_AFFINITY: - case DDI_CTLOPS_PTOB: - case DDI_CTLOPS_BTOP: - case DDI_CTLOPS_BTOPR: - case DDI_CTLOPS_DVMAPAGESIZE: + case DDI_CTLOPS_DMAPMAPC: + case DDI_CTLOPS_POKE: + case DDI_CTLOPS_PEEK: + case DDI_CTLOPS_IOMIN: + case DDI_CTLOPS_REPORTINT: + case DDI_CTLOPS_SIDDEV: + case DDI_CTLOPS_SLAVEONLY: + case DDI_CTLOPS_AFFINITY: + case DDI_CTLOPS_PTOB: + case DDI_CTLOPS_BTOP: + case DDI_CTLOPS_BTOPR: + case DDI_CTLOPS_DVMAPAGESIZE: return (DDI_FAILURE); - default: + default: return (ddi_ctlops(dip, rdip, op, arg, result)); } } @@ -604,16 +605,16 @@ i2bsc_initchild(dev_info_t *dip, dev_info_t *cdip) len = sizeof (address_cells); err = ddi_getlongprop_buf(DDI_DEV_T_ANY, cdip, - DDI_PROP_CANSLEEP, "#address-cells", - (caddr_t)&address_cells, &len); + DDI_PROP_CANSLEEP, "#address-cells", + (caddr_t)&address_cells, &len); if (err != DDI_PROP_SUCCESS || len != sizeof (address_cells)) { return (DDI_FAILURE); } len = sizeof (regs); err = ddi_getlongprop_buf(DDI_DEV_T_ANY, cdip, - DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, - "reg", (caddr_t)regs, &len); + DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, + "reg", (caddr_t)regs, &len); if (err != DDI_PROP_SUCCESS) return (DDI_FAILURE); @@ -750,8 +751,8 @@ static int i2bsc_bscbus_state(i2bsc_t *i2c) uint32_t retval; retval = ddi_get32(i2c->bscbus_handle, - (uint32_t *)I2BSC_NEXUS_ADDR(i2c, EBUS_CMD_SPACE_GENERIC, - LOMBUS_FAULT_REG)); + (uint32_t *)I2BSC_NEXUS_ADDR(i2c, EBUS_CMD_SPACE_GENERIC, + LOMBUS_FAULT_REG)); i2c->bscbus_fault = retval; return ((retval == 0) ? DDI_SUCCESS : DDI_FAILURE); @@ -1104,10 +1105,10 @@ i2bsc_upload(i2bsc_t *i2c, i2c_transfer_t *tp) return (tp->i2c_result = I2C_INCOMPLETE); switch (res) { - case EBUS_I2C_SUCCESS: + case EBUS_I2C_SUCCESS: tp->i2c_result = I2C_SUCCESS; break; - case EBUS_I2C_FAILURE: + case EBUS_I2C_FAILURE: /* * This is rare but possible. A retry may still fix this * so lets allow that by returning I2C_INCOMPLETE. @@ -1118,10 +1119,10 @@ i2bsc_upload(i2bsc_t *i2c, i2c_transfer_t *tp) " but returning I2C_INCOMPLETE for possible re-try"); tp->i2c_result = I2C_INCOMPLETE; break; - case EBUS_I2C_INCOMPLETE: + case EBUS_I2C_INCOMPLETE: tp->i2c_result = I2C_INCOMPLETE; break; - default: + default: tp->i2c_result = I2C_FAILURE; } @@ -1185,7 +1186,7 @@ i2bsc_transfer(dev_info_t *dip, i2c_transfer_t *tp) i2bsc_t *i2c; i2c = (i2bsc_t *)ddi_get_soft_state(i2bsc_state, - ddi_get_instance(ddi_get_parent(dip))); + ddi_get_instance(ddi_get_parent(dip))); i2bsc_acquire(i2c, dip, tp); @@ -1232,7 +1233,7 @@ i2bsc_trace(i2bsc_t *ssp, char code, const char *caller, if (ssp->debug & (1 << (code-'@'))) { p = buf; (void) snprintf(p, sizeof (buf) - (p - buf), - "%s/%s: ", ssp->i2bsc_name, caller); + "%s/%s: ", ssp->i2bsc_name, caller); p += strlen(p); va_start(va, fmt); diff --git a/usr/src/uts/sun4u/io/i2c/nexus/pcf8584.c b/usr/src/uts/sun4u/io/i2c/nexus/pcf8584.c index 92b7d26ff5..90f28cc985 100644 --- a/usr/src/uts/sun4u/io/i2c/nexus/pcf8584.c +++ b/usr/src/uts/sun4u/io/i2c/nexus/pcf8584.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * pcf8584.c is the nexus driver for all pcf8584 controller @@ -153,12 +152,14 @@ static struct dev_ops pcf8584_ops = { pcf8584_detach, nodev, &pcf8584_cb_ops, - &pcf8584_busops + &pcf8584_busops, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "I2C Nexus Driver %I%", /* Name of the module. */ + "I2C Nexus Driver", /* Name of the module. */ &pcf8584_ops, /* driver ops */ }; @@ -238,7 +239,7 @@ _init(void) int status; status = ddi_soft_state_init(&pcf8584_state, sizeof (pcf8584_t), - PCF8584_INITIAL_SOFT_SPACE); + PCF8584_INITIAL_SOFT_SPACE); if (status != 0) { return (status); @@ -288,7 +289,7 @@ pcf8584_dodetach(dev_info_t *dip) if ((i2c->pcf8584_attachflags & IMUTEX) != 0) { mutex_destroy(&i2c->pcf8584_imutex); - cv_destroy(&i2c->pcf8584_icv); + cv_destroy(&i2c->pcf8584_icv); } if ((i2c->pcf8584_attachflags & SETUP_REGS) != 0) { pcf8584_free_regs(i2c); @@ -298,7 +299,7 @@ pcf8584_dodetach(dev_info_t *dip) } if ((i2c->pcf8584_attachflags & PROP_CREATE) != 0) { (void) ddi_prop_remove(DDI_DEV_T_NONE, dip, - "interrupt-priorities"); + "interrupt-priorities"); } if ((i2c->pcf8584_attachflags & MINOR_NODE) != 0) { ddi_remove_minor_node(dip, NULL); @@ -326,7 +327,7 @@ pcf8584_doattach(dev_info_t *dip) i2c->pcf8584_dip = dip; (void) snprintf(i2c->pcf8584_name, sizeof (i2c->pcf8584_name), - "%s_%d", ddi_node_name(dip), instance); + "%s_%d", ddi_node_name(dip), instance); /* * Identify which pcf8584 implementation is being attached to. @@ -347,9 +348,9 @@ pcf8584_doattach(dev_info_t *dip) DDI_PROP_NOTPROM | DDI_PROP_DONTPASS, "interrupt-priorities") != 1) { (void) ddi_prop_create(DDI_DEV_T_NONE, dip, - DDI_PROP_CANSLEEP, "interrupt-priorities", - (caddr_t)&pcf8584_pil, - sizeof (pcf8584_pil)); + DDI_PROP_CANSLEEP, "interrupt-priorities", + (caddr_t)&pcf8584_pil, + sizeof (pcf8584_pil)); i2c->pcf8584_attachflags |= PROP_CREATE; } @@ -924,14 +925,14 @@ pcf8584_initchild(dev_info_t *cdip) char name[30]; PCF8584_DDB(pcf8584_print(PRT_INIT, "pcf8584_initchild enter: %s\n", - ddi_node_name(cdip))); + ddi_node_name(cdip))); ppvt = kmem_alloc(sizeof (pcf8584_ppvt_t), KM_SLEEP); len = sizeof (cell_size); err = ddi_getlongprop_buf(DDI_DEV_T_ANY, cdip, - DDI_PROP_CANSLEEP, "#address-cells", - (caddr_t)&cell_size, &len); + DDI_PROP_CANSLEEP, "#address-cells", + (caddr_t)&cell_size, &len); if (err != DDI_PROP_SUCCESS || len != sizeof (cell_size)) { return (DDI_FAILURE); @@ -939,10 +940,10 @@ pcf8584_initchild(dev_info_t *cdip) len = sizeof (regs); err = ddi_getlongprop_buf(DDI_DEV_T_ANY, cdip, - DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, - "reg", (caddr_t)regs, &len); + DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, + "reg", (caddr_t)regs, &len); if (err != DDI_PROP_SUCCESS || - len != (cell_size * sizeof (int32_t))) { + len != (cell_size * sizeof (int32_t))) { return (DDI_FAILURE); } @@ -1079,9 +1080,9 @@ pcf8584_setup_regs(dev_info_t *dip, pcf8584_t *i2c) if (nregs > 1) { if (ddi_regs_map_setup(dip, - 1, (caddr_t *)&i2c->pcf8584_b_reg, - 0, 0, &attr, &i2c->pcf8584_b_rhandle) != - DDI_SUCCESS) { + 1, (caddr_t *)&i2c->pcf8584_b_reg, + 0, 0, &attr, &i2c->pcf8584_b_rhandle) != + DDI_SUCCESS) { return (DDI_FAILURE); } @@ -1217,7 +1218,7 @@ pcf8584_process(pcf8584_t *i2c, uint8_t s1) return (I2C_COMPLETE); } i2c->pcf8584_tran_state = - pcf8584_type_to_state(tp->i2c_flags); + pcf8584_type_to_state(tp->i2c_flags); /* Set read bit if this is a read transaction */ if (tp->i2c_flags == I2C_RD) { @@ -1322,7 +1323,7 @@ pcf8584_process(pcf8584_t *i2c, uint8_t s1) } tp->i2c_rbuf[tp->i2c_rlen - tp->i2c_r_resid] = - pcf8584_get_s0(i2c); + pcf8584_get_s0(i2c); PCF8584_DDB(pcf8584_print(PRT_TRAN, "TRAN_STATE_RD: returning. i2c_rlen = %d " @@ -1352,7 +1353,7 @@ pcf8584_process(pcf8584_t *i2c, uint8_t s1) } if (tp->i2c_w_resid != 0) { pcf8584_put_s0(i2c, tp->i2c_wbuf[tp->i2c_wlen - - tp->i2c_w_resid--]); + tp->i2c_w_resid--]); PCF8584_DDB(pcf8584_print(PRT_TRAN, "TRAN_STATE_WR_RD: write data %x\n", tp->i2c_wbuf[tp->i2c_wlen - @@ -1364,7 +1365,7 @@ pcf8584_process(pcf8584_t *i2c, uint8_t s1) pcf8584_put_s1(i2c, S1_START2 | S1_ENI); pcf8584_put_s0(i2c, addr | I2C_READ); i2c->pcf8584_tran_state = - TRAN_STATE_DUMMY_RD; + TRAN_STATE_DUMMY_RD; PCF8584_DDB(pcf8584_print(PRT_TRAN, "TRAN_STATE_WR_RD: write addr " "%x\n", addr | I2C_READ)); @@ -1394,7 +1395,7 @@ pcf8584_transfer(dev_info_t *dip, i2c_transfer_t *tp) extern int do_polled_io; i2c = (pcf8584_t *)ddi_get_soft_state(pcf8584_state, - ddi_get_instance(ddi_get_parent(dip))); + ddi_get_instance(ddi_get_parent(dip))); tp->i2c_r_resid = tp->i2c_rlen; tp->i2c_w_resid = tp->i2c_wlen; diff --git a/usr/src/uts/sun4u/io/i2c/nexus/smbus.c b/usr/src/uts/sun4u/io/i2c/nexus/smbus.c index 3cd5200fa4..580c6dc1d5 100644 --- a/usr/src/uts/sun4u/io/i2c/nexus/smbus.c +++ b/usr/src/uts/sun4u/io/i2c/nexus/smbus.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * This is the nexus driver for SMBUS devices. It mostly does not use @@ -135,12 +134,14 @@ static struct dev_ops smbus_ops = { smbus_detach, nodev, &smbus_cb_ops, - &smbus_busops + &smbus_busops, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "SMBUS nexus Driver %I%", /* Name of the module. */ + "SMBUS nexus Driver", /* Name of the module. */ &smbus_ops, /* driver ops */ }; @@ -208,7 +209,7 @@ _init(void) int status; status = ddi_soft_state_init(&smbus_state, sizeof (smbus_t), - 1); + 1); if (status != 0) { return (status); @@ -500,8 +501,8 @@ smbus_initchild(dev_info_t *cdip) len = sizeof (cell_size); err = ddi_getlongprop_buf(DDI_DEV_T_ANY, cdip, - DDI_PROP_CANSLEEP, "#address-cells", - (caddr_t)&cell_size, &len); + DDI_PROP_CANSLEEP, "#address-cells", + (caddr_t)&cell_size, &len); if (err != DDI_PROP_SUCCESS || len != sizeof (cell_size)) { cmn_err(CE_WARN, "cannot find address-cells"); @@ -1175,7 +1176,7 @@ smbus_intr_cmn(smbus_t *smbus, char *src) smbus->smbus_timeout = timeout(smbus_intr_timeout, smbus, drv_usectohz(intr_timeout)); SMBUS_PRINT((PRT_INTR, "smbus_intr starting timeout %p " - "%s", smbus->smbus_timeout, src)); + "%s", smbus->smbus_timeout, src)); } } diff --git a/usr/src/uts/sun4u/io/isadma.c b/usr/src/uts/sun4u/io/isadma.c index c7b9ce79e4..2372b3b11b 100644 --- a/usr/src/uts/sun4u/io/isadma.c +++ b/usr/src/uts/sun4u/io/isadma.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/conf.h> #include <sys/sunddi.h> @@ -126,7 +125,9 @@ static struct dev_ops isadma_ops = { isadma_detach, nodev, (struct cb_ops *)0, - &isadma_bus_ops + &isadma_bus_ops, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/sun4u/io/mc-us3.c b/usr/src/uts/sun4u/io/mc-us3.c index f008f42b2b..b25361f109 100644 --- a/usr/src/uts/sun4u/io/mc-us3.c +++ b/usr/src/uts/sun4u/io/mc-us3.c @@ -96,7 +96,8 @@ static struct dev_ops mc_ops = { nulldev, /* reset */ &mc_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/sun4u/io/mc-us3i.c b/usr/src/uts/sun4u/io/mc-us3i.c index 6904fb2306..c51f9fe199 100644 --- a/usr/src/uts/sun4u/io/mc-us3i.c +++ b/usr/src/uts/sun4u/io/mc-us3i.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -103,7 +102,8 @@ static struct dev_ops mc_ops = { nulldev, /* reset */ &mc_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -132,7 +132,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* module type, this one is a driver */ - "Memory-controller: %I%", /* module name */ + "Memory-controller: 1.14", /* module name */ &mc_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4u/io/mem_cache.c b/usr/src/uts/sun4u/io/mem_cache.c index ee4f973aac..62bbc8276e 100644 --- a/usr/src/uts/sun4u/io/mem_cache.c +++ b/usr/src/uts/sun4u/io/mem_cache.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Driver to retire/unretire L2/L3 cachelines on panther @@ -128,7 +127,8 @@ static struct dev_ops mem_cache_dev_ops = { nulldev, /* reset */ &mem_cache_cb_ops, (struct bus_ops *)NULL, - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/sun4u/io/pci/db21554.c b/usr/src/uts/sun4u/io/pci/db21554.c index 10f7a82c25..5a08ae7b5d 100644 --- a/usr/src/uts/sun4u/io/pci/db21554.c +++ b/usr/src/uts/sun4u/io/pci/db21554.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Intel 21554 PCI to PCI bus bridge nexus driver for sun4u platforms. @@ -72,7 +71,7 @@ * DEFINES. */ #define DB_DEBUG -#define DB_MODINFO_DESCRIPTION "Intel/21554 pci-pci nexus:v%I%" +#define DB_MODINFO_DESCRIPTION "Intel/21554 pci-pci nexus" #define DB_DVMA_START 0xc0000000 #define DB_DVMA_LEN 0x20000000 @@ -386,7 +385,8 @@ static struct dev_ops db_dev_ops = { nulldev, /* reset */ &db_cb_ops, /* driver operations */ &db_bus_ops, /* bus operations */ - ddi_power + ddi_power, + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -440,8 +440,8 @@ _init(void) DB_DEBUG0(DB_INIT|DB_DONT_DISPLAY_DIP, NULL, "enter\n"); if (((rc = ddi_soft_state_init(&db_state, - sizeof (db_ctrl_t), 1)) == 0) && - ((rc = mod_install(&modlinkage)) != 0)) + sizeof (db_ctrl_t), 1)) == 0) && + ((rc = mod_install(&modlinkage)) != 0)) ddi_soft_state_fini(&db_state); DB_DEBUG1(DB_INIT|DB_DONT_DISPLAY_DIP, NULL, "exit rc=%d\n", rc); return (rc); @@ -479,7 +479,7 @@ db_getinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result) int instance = PCIHP_AP_MINOR_NUM_TO_INSTANCE(minor); DB_DEBUG1(DB_GETINFO|DB_DONT_DISPLAY_DIP, dip, "enter:cmd=%d\n", - infocmd); + infocmd); switch (infocmd) { case DDI_INFO_DEVT2DEVINFO: @@ -501,7 +501,7 @@ db_getinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, void **result) break; } DB_DEBUG2(DB_GETINFO|DB_DONT_DISPLAY_DIP, dip, - "exit: result=%x, rc=%d\n", *result, rc); + "exit: result=%x, rc=%d\n", *result, rc); return (rc); } @@ -543,13 +543,13 @@ db_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * operation. */ if ((rc = ddi_regs_map_setup(dip, DB_PCI_CONF_RNUMBER, - (caddr_t *)&dbp->conf_io, DB_PCI_CONF_OFFSET, - PCI_CONF_HDR_SIZE, &db_csr_attr, &dbp->conf_handle)) - != DDI_SUCCESS) { + (caddr_t *)&dbp->conf_io, DB_PCI_CONF_OFFSET, + PCI_CONF_HDR_SIZE, &db_csr_attr, &dbp->conf_handle)) + != DDI_SUCCESS) { cmn_err(CE_WARN, - "%s#%d: cannot map configuration space", - ddi_driver_name(dip), ddi_get_instance(dip)); + "%s#%d: cannot map configuration space", + ddi_driver_name(dip), ddi_get_instance(dip)); mutex_destroy(&dbp->db_mutex); ddi_soft_state_free(db_state, instance); rc = DDI_FAILURE; @@ -559,10 +559,10 @@ db_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) db_get_perf_parameters(dbp); if (ddi_dev_regsize(dip, DB_CSR_MEMBAR_RNUMBER, &bar_size) - != DDI_SUCCESS) { + != DDI_SUCCESS) { cmn_err(CE_WARN, "%s#%d: cannot get memory CSR size", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); ddi_regs_map_free(&dbp->conf_handle); mutex_destroy(&dbp->db_mutex); ddi_soft_state_free(db_state, instance); @@ -572,12 +572,12 @@ db_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* map memory CSR space */ if (ddi_regs_map_setup(dip, DB_CSR_MEMBAR_RNUMBER, - (caddr_t *)&dbp->csr_mem, DB_CSR_MEM_OFFSET, bar_size, - &db_csr_attr, &dbp->csr_mem_handle) != DDI_SUCCESS) { + (caddr_t *)&dbp->csr_mem, DB_CSR_MEM_OFFSET, bar_size, + &db_csr_attr, &dbp->csr_mem_handle) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s#%d: cannot map memory CSR space", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); ddi_regs_map_free(&dbp->conf_handle); mutex_destroy(&dbp->db_mutex); ddi_soft_state_free(db_state, instance); @@ -586,10 +586,10 @@ db_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } if (ddi_dev_regsize(dip, DB_CSR_IOBAR_RNUMBER, &bar_size) - != DDI_SUCCESS) { + != DDI_SUCCESS) { cmn_err(CE_WARN, "%s#%d: cannot get IO CSR size", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); ddi_regs_map_free(&dbp->csr_mem_handle); ddi_regs_map_free(&dbp->conf_handle); mutex_destroy(&dbp->db_mutex); @@ -604,12 +604,12 @@ db_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * option than doing through configuration space map. */ if (ddi_regs_map_setup(dip, DB_CSR_IOBAR_RNUMBER, - (caddr_t *)&dbp->csr_io, DB_CSR_IO_OFFSET, bar_size, - &db_csr_attr, &dbp->csr_io_handle) != DDI_SUCCESS) { + (caddr_t *)&dbp->csr_io, DB_CSR_IO_OFFSET, bar_size, + &db_csr_attr, &dbp->csr_io_handle) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s#%d: cannot map IO CSR space", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); ddi_regs_map_free(&dbp->csr_mem_handle); ddi_regs_map_free(&dbp->conf_handle); mutex_destroy(&dbp->db_mutex); @@ -647,12 +647,12 @@ db_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) range_size = sizeof (dbp->range); if (ddi_getlongprop_buf(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "bus-range", (caddr_t)&dbp->range, - &range_size) != DDI_SUCCESS) { + DDI_PROP_DONTPASS, "bus-range", (caddr_t)&dbp->range, + &range_size) != DDI_SUCCESS) { cmn_err(CE_WARN, - "%s#%d: cannot get bus-range property", - ddi_driver_name(dip), ddi_get_instance(dip)); + "%s#%d: cannot get bus-range property", + ddi_driver_name(dip), ddi_get_instance(dip)); if (dbp->dev_state & DB_SECONDARY_NEXUS) (void) pcihp_uninit(dip); @@ -674,7 +674,7 @@ db_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) PCIHP_AP_MINOR_NUM(instance, PCIHP_DEBUG_MINOR), NULL, NULL) == DDI_FAILURE) { cmn_err(CE_NOTE, "%s#%d: node creation failure", - ddi_driver_name(dbp->dip), instance); + ddi_driver_name(dbp->dip), instance); } mutex_init(&dbp->db_busown, NULL, MUTEX_DRIVER, NULL); @@ -742,9 +742,9 @@ db_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) case DDI_SUSPEND : if (db_save_config_regs(dbp) != DDI_SUCCESS) { cmn_err(CE_WARN, - "%s#%d: Ignoring Child state Suspend Error", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + "%s#%d: Ignoring Child state Suspend Error", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); } dbp->dev_state |= DB_SUSPENDED; break; @@ -762,23 +762,23 @@ static void db_get_perf_parameters(db_ctrl_t *dbp) { dbp->p_latency_timer = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "p-latency-timer", p_latency_timer); + dbp->dip, 0, "p-latency-timer", p_latency_timer); dbp->s_latency_timer = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "s-latency-timer", s_latency_timer); + dbp->dip, 0, "s-latency-timer", s_latency_timer); dbp->p_cache_line_size = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "p-cache-line-size", p_cache_line_size); + dbp->dip, 0, "p-cache-line-size", p_cache_line_size); dbp->s_cache_line_size = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "s-cache-line-size", s_cache_line_size); + dbp->dip, 0, "s-cache-line-size", s_cache_line_size); dbp->p_pwrite_threshold = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "p-pwrite-threshold", p_pwrite_threshold); + dbp->dip, 0, "p-pwrite-threshold", p_pwrite_threshold); dbp->s_pwrite_threshold = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "s-pwrite-threshold", s_pwrite_threshold); + dbp->dip, 0, "s-pwrite-threshold", s_pwrite_threshold); dbp->p_dread_threshold = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "p-dread-threshold", p_dread_threshold); + dbp->dip, 0, "p-dread-threshold", p_dread_threshold); dbp->s_dread_threshold = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "s-dread-threshold", s_dread_threshold); + dbp->dip, 0, "s-dread-threshold", s_dread_threshold); dbp->delayed_trans_order = (int8_t)ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "delayed-trans-order", delayed_trans_order); + dbp->dip, 0, "delayed-trans-order", delayed_trans_order); } static void @@ -792,69 +792,69 @@ db_set_perf_parameters(db_ctrl_t *dbp) soffset = DB_PCONF_SEC_HDR_OFF; if ((dbp->p_latency_timer != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->p_latency_timer != -1)) + (dbp->p_latency_timer != -1)) ddi_put8(dbp->conf_handle, - (uint8_t *)dbp->conf_io+poffset+PCI_CONF_LATENCY_TIMER, - dbp->p_latency_timer); + (uint8_t *)dbp->conf_io+poffset+PCI_CONF_LATENCY_TIMER, + dbp->p_latency_timer); if ((dbp->s_latency_timer != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->s_latency_timer != -1)) + (dbp->s_latency_timer != -1)) ddi_put8(dbp->conf_handle, - (uint8_t *)dbp->conf_io+soffset+PCI_CONF_LATENCY_TIMER, - dbp->s_latency_timer); + (uint8_t *)dbp->conf_io+soffset+PCI_CONF_LATENCY_TIMER, + dbp->s_latency_timer); if ((dbp->p_cache_line_size != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->p_cache_line_size != -1)) + (dbp->p_cache_line_size != -1)) ddi_put8(dbp->conf_handle, - (uint8_t *)dbp->conf_io+poffset+PCI_CONF_CACHE_LINESZ, - dbp->p_cache_line_size); + (uint8_t *)dbp->conf_io+poffset+PCI_CONF_CACHE_LINESZ, + dbp->p_cache_line_size); if ((dbp->s_cache_line_size != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->s_cache_line_size != -1)) + (dbp->s_cache_line_size != -1)) ddi_put8(dbp->conf_handle, - (uint8_t *)dbp->conf_io+soffset+PCI_CONF_CACHE_LINESZ, - dbp->s_cache_line_size); + (uint8_t *)dbp->conf_io+soffset+PCI_CONF_CACHE_LINESZ, + dbp->s_cache_line_size); if ((dbp->p_pwrite_threshold != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->p_pwrite_threshold != -1)) + (dbp->p_pwrite_threshold != -1)) ddi_put16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), - (ddi_get16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & - ~P_PW_THRESHOLD) | - (dbp->p_pwrite_threshold?P_PW_THRESHOLD:0)); + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), + (ddi_get16(dbp->conf_handle, (uint16_t *) + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & + ~P_PW_THRESHOLD) | + (dbp->p_pwrite_threshold?P_PW_THRESHOLD:0)); if ((dbp->s_pwrite_threshold != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->s_pwrite_threshold != -1)) + (dbp->s_pwrite_threshold != -1)) ddi_put16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), - (ddi_get16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & - ~S_PW_THRESHOLD) | - (dbp->s_pwrite_threshold?S_PW_THRESHOLD:0)); + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), + (ddi_get16(dbp->conf_handle, (uint16_t *) + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & + ~S_PW_THRESHOLD) | + (dbp->s_pwrite_threshold?S_PW_THRESHOLD:0)); /* primary delayed read threshold. 0x01 is reserved ?. */ if ((dbp->p_dread_threshold != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->p_dread_threshold != -1)) + (dbp->p_dread_threshold != -1)) ddi_put16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), - ((ddi_get16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & - ~P_DREAD_THRESHOLD_MASK) | - ((dbp->p_dread_threshold & - DREAD_THRESHOLD_VALBITS)<<2))); + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), + ((ddi_get16(dbp->conf_handle, (uint16_t *) + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & + ~P_DREAD_THRESHOLD_MASK) | + ((dbp->p_dread_threshold & + DREAD_THRESHOLD_VALBITS)<<2))); /* secondary delayed read threshold. 0x01 is reserved ?. */ if ((dbp->s_dread_threshold != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->s_dread_threshold != -1)) + (dbp->s_dread_threshold != -1)) ddi_put16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), - ((ddi_get16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & - ~S_DREAD_THRESHOLD_MASK) | - ((dbp->s_dread_threshold & - DREAD_THRESHOLD_VALBITS)<<4))); + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1), + ((ddi_get16(dbp->conf_handle, (uint16_t *) + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL1)) & + ~S_DREAD_THRESHOLD_MASK) | + ((dbp->s_dread_threshold & + DREAD_THRESHOLD_VALBITS)<<4))); if ((dbp->delayed_trans_order != (int8_t)DEF_INVALID_REG_VAL) && - (dbp->delayed_trans_order != -1)) + (dbp->delayed_trans_order != -1)) ddi_put16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL0), - (ddi_get16(dbp->conf_handle, (uint16_t *) - ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL0)) & - ~DELAYED_TRANS_ORDER) | - (dbp->delayed_trans_order?DELAYED_TRANS_ORDER:0)); + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL0), + (ddi_get16(dbp->conf_handle, (uint16_t *) + ((uchar_t *)dbp->conf_io+DB_CONF_CHIP_CTRL0)) & + ~DELAYED_TRANS_ORDER) | + (dbp->delayed_trans_order?DELAYED_TRANS_ORDER:0)); } static void @@ -874,18 +874,18 @@ db_orientation(db_ctrl_t *dbp) * if PIF is set correctly, use it to determine orientation */ pif = ddi_get8(dbp->conf_handle, (uchar_t *)dbp->conf_io + - PCI_CONF_PROGCLASS); + PCI_CONF_PROGCLASS); if (pif & 0xff) { if (pif & DB_PIF_SECONDARY_TO_HOST) { dbp->dev_state = DB_SECONDARY_NEXUS; DB_DEBUG0(DB_ATTACH, dip, - "db_orientation: pif secondary\n"); + "db_orientation: pif secondary\n"); return; } if (pif & DB_PIF_PRIMARY_TO_HOST) { dbp->dev_state = DB_PRIMARY_NEXUS; DB_DEBUG0(DB_ATTACH, dip, - "db_orientation: pif primary\n"); + "db_orientation: pif primary\n"); return; } /* otherwise, fall through */ @@ -897,16 +897,16 @@ db_orientation(db_ctrl_t *dbp) * secondary. */ mem1 = ddi_get32(dbp->conf_handle, - (uint32_t *)((uchar_t *)dbp->conf_io + - DB_CONF_DS_IO_MEM1_SETUP)); + (uint32_t *)((uchar_t *)dbp->conf_io + + DB_CONF_DS_IO_MEM1_SETUP)); ddi_put32(dbp->conf_handle, - (uint32_t *)((uchar_t *)(dbp->conf_io + - DB_CONF_DS_IO_MEM1_SETUP)), ~mem1); + (uint32_t *)((uchar_t *)(dbp->conf_io + + DB_CONF_DS_IO_MEM1_SETUP)), ~mem1); newval = ddi_get32(dbp->conf_handle, - (uint32_t *)((uchar_t *)dbp->conf_io + - DB_CONF_DS_IO_MEM1_SETUP)); + (uint32_t *)((uchar_t *)dbp->conf_io + + DB_CONF_DS_IO_MEM1_SETUP)); if (newval == mem1) /* we couldn't write it, orientation is primary */ @@ -918,8 +918,8 @@ db_orientation(db_ctrl_t *dbp) */ dbp->dev_state = DB_SECONDARY_NEXUS; ddi_put32(dbp->conf_handle, - (uint32_t *)((uchar_t *)(dbp->conf_io + - DB_CONF_DS_IO_MEM1_SETUP)), mem1); + (uint32_t *)((uchar_t *)(dbp->conf_io + + DB_CONF_DS_IO_MEM1_SETUP)), mem1); } @@ -967,24 +967,24 @@ db_enable_io(db_ctrl_t *dbp) * which are used for child initialization. */ dbp->latency_timer = ddi_get8(dbp->conf_handle, (uint8_t *) - ((caddr_t)dbp->conf_io+PCI_CONF_LATENCY_TIMER)); + ((caddr_t)dbp->conf_io+PCI_CONF_LATENCY_TIMER)); dbp->cache_line_size = ddi_get8(dbp->conf_handle, (uint8_t *) - ((caddr_t)dbp->conf_io+PCI_CONF_CACHE_LINESZ)); + ((caddr_t)dbp->conf_io+PCI_CONF_CACHE_LINESZ)); DB_DEBUG2(DB_ATTACH, dip, - "db_enable_io: latency %d, cache line size %d\n", - dbp->latency_timer, dbp->cache_line_size); + "db_enable_io: latency %d, cache line size %d\n", + dbp->latency_timer, dbp->cache_line_size); /* * Step 2: program command reg on both primary and secondary * interfaces. */ ddi_put16(dbp->conf_handle, (uint16_t *)((caddr_t)dbp->conf_io + - (off_t)(p_offset + PCI_CONF_COMM)), db_command_default); + (off_t)(p_offset + PCI_CONF_COMM)), db_command_default); ddi_put16(dbp->conf_handle, (uint16_t *)((caddr_t)dbp->conf_io + - (off_t)(s_offset + PCI_CONF_COMM)), db_command_default); + (off_t)(s_offset + PCI_CONF_COMM)), db_command_default); /* * Step 3: @@ -1004,10 +1004,10 @@ db_enable_io(db_ctrl_t *dbp) * no look up table. */ if (ddi_getlongprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "reg", (caddr_t)®, - &length) != DDI_PROP_SUCCESS) { + DDI_PROP_DONTPASS, "reg", (caddr_t)®, + &length) != DDI_PROP_SUCCESS) { DB_DEBUG0(DB_ATTACH, dip, - "Failed to read reg property\n"); + "Failed to read reg property\n"); return; } @@ -1016,7 +1016,7 @@ db_enable_io(db_ctrl_t *dbp) for (i = 0; i < rcount; i++) { offset = PCI_REG_REG_G(reg[i].pci_phys_hi); if ((offset == PCI_CONF_BASE0) && - (reg[i].pci_size_low > DB_CSR_SIZE)) + (reg[i].pci_size_low > DB_CSR_SIZE)) break; } @@ -1026,43 +1026,43 @@ db_enable_io(db_ctrl_t *dbp) */ if (i != rcount) { DB_DEBUG0(DB_ATTACH, dip, - "db_enable_io: setting up MEM0_TR_BASE\n"); + "db_enable_io: setting up MEM0_TR_BASE\n"); DB_DEBUG1(DB_ATTACH, dip, "BASE0 register = %x\n", - pci_config_get32(dbp->conf_handle, - (off_t)(p_offset + PCI_CONF_BASE0))); + pci_config_get32(dbp->conf_handle, + (off_t)(p_offset + PCI_CONF_BASE0))); pci_config_put32(dbp->conf_handle, - (off_t)DB_CONF_DS_MEM0_TR_BASE, - pci_config_get32(dbp->conf_handle, - (off_t)(p_offset + PCI_CONF_BASE0))); + (off_t)DB_CONF_DS_MEM0_TR_BASE, + pci_config_get32(dbp->conf_handle, + (off_t)(p_offset + PCI_CONF_BASE0))); DB_DEBUG1(DB_ATTACH, dip, - "db_enable_io: MEM0_TR_BASE set value = %x\n", - pci_config_get32(dbp->conf_handle, - (off_t)DB_CONF_DS_MEM0_TR_BASE)); + "db_enable_io: MEM0_TR_BASE set value = %x\n", + pci_config_get32(dbp->conf_handle, + (off_t)DB_CONF_DS_MEM0_TR_BASE)); } kmem_free(reg, length); } pci_config_put32(dbp->conf_handle, (off_t)DB_CONF_DS_IO_MEM1_TR_BASE, - ((pci_config_get32(dbp->conf_handle, - (off_t)(p_offset + PCI_CONF_BASE2))) & ~DB_IO_BIT)); + ((pci_config_get32(dbp->conf_handle, + (off_t)(p_offset + PCI_CONF_BASE2))) & ~DB_IO_BIT)); pci_config_put32(dbp->conf_handle, (off_t)DB_CONF_DS_MEM2_TR_BASE, - ((pci_config_get32(dbp->conf_handle, - (off_t)(p_offset + PCI_CONF_BASE3))) & ~DB_IO_BIT)); + ((pci_config_get32(dbp->conf_handle, + (off_t)(p_offset + PCI_CONF_BASE3))) & ~DB_IO_BIT)); pci_config_put32(dbp->conf_handle, (off_t)DB_CONF_DS_MEM3_TR_BASE, - ((pci_config_get32(dbp->conf_handle, - (off_t)(p_offset + PCI_CONF_BASE4))) & ~DB_IO_BIT)); + ((pci_config_get32(dbp->conf_handle, + (off_t)(p_offset + PCI_CONF_BASE4))) & ~DB_IO_BIT)); pci_config_put32(dbp->conf_handle, (off_t)DB_CONF_US_IO_MEM0_TR_BASE, - ((pci_config_get32(dbp->conf_handle, - (off_t)(s_offset + PCI_CONF_BASE2))) & ~DB_IO_BIT)); + ((pci_config_get32(dbp->conf_handle, + (off_t)(s_offset + PCI_CONF_BASE2))) & ~DB_IO_BIT)); pci_config_put32(dbp->conf_handle, (off_t)DB_CONF_US_MEM1_TR_BASE, - ((pci_config_get32(dbp->conf_handle, - (off_t)(s_offset + PCI_CONF_BASE3))) & ~DB_IO_BIT)); + ((pci_config_get32(dbp->conf_handle, + (off_t)(s_offset + PCI_CONF_BASE3))) & ~DB_IO_BIT)); /* * Step 4: enable downstream (for primary orientation) or upstream @@ -1072,38 +1072,38 @@ db_enable_io(db_ctrl_t *dbp) regval = pci_config_get16(dbp->conf_handle, (off_t)DB_CONF_CONF_CSR); DB_DEBUG1(DB_ATTACH, dip, "db_enable_io: CSR value before: %x\n", - regval); + regval); if (!(regval & enable)) { /* enable down/upstream configuration transactions */ regval |= enable; pci_config_put16(dbp->conf_handle, (off_t)DB_CONF_CONF_CSR, - regval); + regval); regval = pci_config_get16(dbp->conf_handle, - (off_t)DB_CONF_CONF_CSR); + (off_t)DB_CONF_CONF_CSR); } DB_DEBUG1(DB_ATTACH, dip, "db_enable_io: CSR value after: %x\n", - regval); + regval); /* * Step 5: enable downstream/upstream I/O (through CSR space) */ regval = ddi_get16(dbp->csr_mem_handle, - (uint16_t *)((uchar_t *)dbp->csr_mem + DB_CSR_IO_CSR)); + (uint16_t *)((uchar_t *)dbp->csr_mem + DB_CSR_IO_CSR)); DB_DEBUG1(DB_ATTACH, dip, "db_enable_io: IO_CSR value before: %x\n", - regval); + regval); if (!(regval & enable)) { regval |= enable; ddi_put16(dbp->csr_mem_handle, - (uint16_t *)((uchar_t *)dbp->csr_mem + - DB_CSR_IO_CSR), regval); + (uint16_t *)((uchar_t *)dbp->csr_mem + + DB_CSR_IO_CSR), regval); regval = ddi_get16(dbp->csr_mem_handle, - (uint16_t *)((uchar_t *)dbp->csr_mem + DB_CSR_IO_CSR)); + (uint16_t *)((uchar_t *)dbp->csr_mem + DB_CSR_IO_CSR)); } DB_DEBUG1(DB_ATTACH, dip, "db_enable_io: IO_CSR value after: %x\n", - regval); + regval); /* * Step 6: if 21554 orientation is primary to host, @@ -1111,27 +1111,27 @@ db_enable_io(db_ctrl_t *dbp) */ if (dbp->dev_state & DB_PRIMARY_NEXUS) { dbp->serr_fwd_enable = ddi_prop_get_int(DDI_DEV_T_ANY, - dbp->dip, 0, "serr-fwd-enable", db_serr_fwd_enable); + dbp->dip, 0, "serr-fwd-enable", db_serr_fwd_enable); regval = ddi_get16(dbp->conf_handle, - (uint16_t *)((uchar_t *)dbp->conf_io + - DB_CONF_CHIP_CTRL0)); + (uint16_t *)((uchar_t *)dbp->conf_io + + DB_CONF_CHIP_CTRL0)); DB_DEBUG1(DB_ATTACH, dip, - "db_enable_io: CHIP_CTRL0 value before: %x\n", regval); + "db_enable_io: CHIP_CTRL0 value before: %x\n", regval); ddi_put16(dbp->conf_handle, - (uint16_t *)((uchar_t *)dbp->conf_io + - DB_CONF_CHIP_CTRL0), - (regval & ~SERR_FWD) | - (dbp->serr_fwd_enable?SERR_FWD:0)); + (uint16_t *)((uchar_t *)dbp->conf_io + + DB_CONF_CHIP_CTRL0), + (regval & ~SERR_FWD) | + (dbp->serr_fwd_enable?SERR_FWD:0)); regval = ddi_get16(dbp->conf_handle, - (uint16_t *)((uchar_t *)dbp->conf_io + - DB_CONF_CHIP_CTRL0)); + (uint16_t *)((uchar_t *)dbp->conf_io + + DB_CONF_CHIP_CTRL0)); DB_DEBUG1(DB_ATTACH, dip, - "db_enable_io: CHIP_CTRL0 value after: %x\n", regval); + "db_enable_io: CHIP_CTRL0 value after: %x\n", regval); } /* @@ -1141,17 +1141,17 @@ db_enable_io(db_ctrl_t *dbp) if (dbp->dev_state & DB_SECONDARY_NEXUS) { regval = pci_config_get16(dbp->conf_handle, - (off_t)DB_CONF_CHIP_CTRL0); + (off_t)DB_CONF_CHIP_CTRL0); DB_DEBUG1(DB_ATTACH, dip, - "db_enable_io: chip ctrl (0x%x) before\n", regval); + "db_enable_io: chip ctrl (0x%x) before\n", regval); if (regval & PLOCKOUT) pci_config_put16(dbp->conf_handle, - (off_t)DB_CONF_CHIP_CTRL0, - (regval & ~PLOCKOUT)); + (off_t)DB_CONF_CHIP_CTRL0, + (regval & ~PLOCKOUT)); regval = pci_config_get16(dbp->conf_handle, - (off_t)DB_CONF_CHIP_CTRL0); + (off_t)DB_CONF_CHIP_CTRL0); DB_DEBUG1(DB_ATTACH, dip, - "db_enable_io: chip ctrl (0x%x) after\n", regval); + "db_enable_io: chip ctrl (0x%x) after\n", regval); } } @@ -1177,8 +1177,8 @@ db_set_dvma_range(db_ctrl_t *dbp) * HPB DVMA range. */ if (ddi_getlongprop(DDI_DEV_T_ANY, ddi_get_parent(dbp->dip), 0, - "virtual-dma", (caddr_t)&dvma_prop, &dvma_prop_len) - == DDI_SUCCESS) { + "virtual-dma", (caddr_t)&dvma_prop, &dvma_prop_len) + == DDI_SUCCESS) { dvma_start = dvma_prop[0]; dvma_len = dvma_prop[1]; kmem_free((caddr_t)dvma_prop, dvma_prop_len); @@ -1189,21 +1189,21 @@ db_set_dvma_range(db_ctrl_t *dbp) * driver. */ cmn_err(CE_WARN, - "%s#%d: Could not get \"virtual-dma\" property", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + "%s#%d: Could not get \"virtual-dma\" property", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); dvma_start = db_dvma_start; dvma_len = db_dvma_len; } DB_DEBUG2(DB_DVMA, dbp->dip, - "DVMA Range is %lx,%lx\n", dvma_start, dvma_len); + "DVMA Range is %lx,%lx\n", dvma_start, dvma_len); dvma_size[0] = dvma_size[1] = 0; /* Validate DVMA size programming and system requirements. */ if (dbp->dev_state & DB_SECONDARY_NEXUS) { dvma_size[0] = pci_config_get32(dbp->conf_handle, - DB_CONF_DS_IO_MEM1_SETUP); + DB_CONF_DS_IO_MEM1_SETUP); if (!(dvma_size[0] & 1)) /* make sure it is not a IO BAR */ dvma_size[0] = ((~dvma_size[0]) + 1) & 0xfffff000; else @@ -1211,23 +1211,23 @@ db_set_dvma_range(db_ctrl_t *dbp) dvma_size[1] = db_dvma_len; } else { dvma_size[0] = pci_config_get32(dbp->conf_handle, - DB_CONF_US_IO_MEM0_SETUP); + DB_CONF_US_IO_MEM0_SETUP); if (!(dvma_size[0] & 1)) /* make sure it is not a IO BAR */ dvma_size[0] = ((~dvma_size[0]) + 1) & 0xfffff000; else dvma_size[0] = 0; dvma_size[1] = ((~(pci_config_get32(dbp->conf_handle, - DB_CONF_US_MEM1_SETUP))) + 1) & 0xfffff000; + DB_CONF_US_MEM1_SETUP))) + 1) & 0xfffff000; } DB_DEBUG2(DB_DVMA, dbp->dip, "DVMA size register pair %lx, %lx\n", - dvma_size[0], dvma_size[1]); + dvma_size[0], dvma_size[1]); #ifdef DEBUG if ((dvma_size[0] + dvma_size[1]) < dvma_len) cmn_err(CE_WARN, "%s#%d: DVMA window (%u) does not coincide" " with system requirements", - ddi_driver_name(dbp->dip), ddi_get_instance(dbp->dip), - (dvma_size[0] + dvma_size[1])); + ddi_driver_name(dbp->dip), ddi_get_instance(dbp->dip), + (dvma_size[0] + dvma_size[1])); #endif dvma_bar[0] = dvma_bar[1] = 0xFFFFFFFF; db_allocd = 0; @@ -1238,7 +1238,7 @@ db_set_dvma_range(db_ctrl_t *dbp) if (dvma_size[0]) { dvma_bar[0] = (uint32_t)(dvma_start & (~(dvma_size[0] - 1))); new_dvma_end = (uint64_t)((uint64_t)dvma_bar[0] + - (uint64_t)dvma_size[0]); + (uint64_t)dvma_size[0]); if (new_dvma_end > (new_dvma_start + new_dvma_len)) new_dvma_end = new_dvma_start + new_dvma_len; db_allocd += (new_dvma_end - new_dvma_start); @@ -1252,9 +1252,9 @@ db_set_dvma_range(db_ctrl_t *dbp) */ if ((db_allocd != dvma_len) && dvma_size[1]) { dvma_bar[1] = (uint32_t)((dvma_start + db_allocd) & - (~(dvma_size[1] - 1))); + (~(dvma_size[1] - 1))); new_dvma_end = (uint64_t)((uint64_t)dvma_bar[1] + - (uint64_t)dvma_size[1]); + (uint64_t)dvma_size[1]); if (new_dvma_end > (new_dvma_start + new_dvma_len)) new_dvma_end = new_dvma_start + new_dvma_len; db_allocd += (new_dvma_end - new_dvma_start); @@ -1266,11 +1266,11 @@ db_set_dvma_range(db_ctrl_t *dbp) if (db_allocd != dvma_len) { cmn_err(CE_WARN, "%s#%d: dvma range error!", - ddi_driver_name(dbp->dip), ddi_get_instance(dbp->dip)); + ddi_driver_name(dbp->dip), ddi_get_instance(dbp->dip)); } DB_DEBUG2(DB_DVMA, dbp->dip, "DVMA BARs set as %x, %x\n", - dvma_bar[0], dvma_bar[1]); + dvma_bar[0], dvma_bar[1]); /* configure the setup register and DVMA BARs. */ if (dbp->dev_state & DB_SECONDARY_NEXUS) { @@ -1281,20 +1281,20 @@ db_set_dvma_range(db_ctrl_t *dbp) * as the PROM would have done it. */ pci_config_put32(dbp->conf_handle, - DB_CONF_DS_MEM1_SETUP, - (uint32_t)(((~(dvma_size[0] - 1)) | - (pci_config_get32(dbp->conf_handle, - DB_CONF_DS_MEM1_SETUP) & 0xF)) | 0x80000000)); + DB_CONF_DS_MEM1_SETUP, + (uint32_t)(((~(dvma_size[0] - 1)) | + (pci_config_get32(dbp->conf_handle, + DB_CONF_DS_MEM1_SETUP) & 0xF)) | 0x80000000)); #endif /* * when translations are to be provided, this will * change. */ pci_config_put32(dbp->conf_handle, - DB_CONF_DS_IO_MEM1_TR_BASE, - (uint32_t)dvma_bar[0]); + DB_CONF_DS_IO_MEM1_TR_BASE, + (uint32_t)dvma_bar[0]); pci_config_put32(dbp->conf_handle, - DB_SCONF_DS_IO_MEM1, dvma_bar[0]); + DB_SCONF_DS_IO_MEM1, dvma_bar[0]); } if (dvma_bar[1] != 0xFFFFFFFF) { #ifdef DB_SEC_SETUP_WRITE @@ -1303,19 +1303,19 @@ db_set_dvma_range(db_ctrl_t *dbp) * as the PROM would have done it. */ pci_config_put32(dbp->conf_handle, - DB_CONF_DS_MEM2_SETUP, - (uint32_t)(((~(dvma_size[1] - 1)) | - (pci_config_get32(dbp->conf_handle, - DB_CONF_DS_MEM2_SETUP) & 0xF)) | 0x80000000)); + DB_CONF_DS_MEM2_SETUP, + (uint32_t)(((~(dvma_size[1] - 1)) | + (pci_config_get32(dbp->conf_handle, + DB_CONF_DS_MEM2_SETUP) & 0xF)) | 0x80000000)); #endif /* * when translations are to be provided, this will * change. */ pci_config_put32(dbp->conf_handle, - DB_CONF_DS_MEM2_TR_BASE, (uint32_t)dvma_bar[1]); + DB_CONF_DS_MEM2_TR_BASE, (uint32_t)dvma_bar[1]); pci_config_put32(dbp->conf_handle, - DB_SCONF_DS_MEM2, dvma_bar[1]); + DB_SCONF_DS_MEM2, dvma_bar[1]); } } else { @@ -1328,21 +1328,21 @@ db_set_dvma_range(db_ctrl_t *dbp) * we cannot dynamically program the DVMA range! */ pci_config_put32(dbp->conf_handle, - DB_CONF_US_IO_MEM0_SETUP, - (uint32_t)(((~(dvma_size[0] - 1)) | - (pci_config_get32(dbp->conf_handle, - DB_CONF_US_IO_MEM0_SETUP) & 0xF)) | - 0x80000000)); + DB_CONF_US_IO_MEM0_SETUP, + (uint32_t)(((~(dvma_size[0] - 1)) | + (pci_config_get32(dbp->conf_handle, + DB_CONF_US_IO_MEM0_SETUP) & 0xF)) | + 0x80000000)); #endif /* * when translations are to be provided, this will * change. */ pci_config_put32(dbp->conf_handle, - DB_CONF_US_IO_MEM0_TR_BASE, - (uint32_t)dvma_bar[0]); + DB_CONF_US_IO_MEM0_TR_BASE, + (uint32_t)dvma_bar[0]); pci_config_put32(dbp->conf_handle, - DB_PCONF_US_IO_MEM0, dvma_bar[0]); + DB_PCONF_US_IO_MEM0, dvma_bar[0]); } if (dvma_bar[1] != 0xFFFFFFFF) { #ifdef DB_CONF_P2S_WRITE_ENABLED /* primary to secondary write enabled */ @@ -1353,19 +1353,19 @@ db_set_dvma_range(db_ctrl_t *dbp) * we cannot dynamically program the DVMA range! */ pci_config_put32(dbp->conf_handle, - DB_CONF_US_MEM1_SETUP, - (uint32_t)(((~(dvma_size[1] - 1)) | - (pci_config_get32(dbp->conf_handle, - DB_CONF_US_MEM1_SETUP) & 0xF)) | 0x80000000)); + DB_CONF_US_MEM1_SETUP, + (uint32_t)(((~(dvma_size[1] - 1)) | + (pci_config_get32(dbp->conf_handle, + DB_CONF_US_MEM1_SETUP) & 0xF)) | 0x80000000)); #endif /* * when translations are to be provided, this will * change. */ pci_config_put32(dbp->conf_handle, - DB_CONF_US_MEM1_TR_BASE, (uint32_t)dvma_bar[1]); + DB_CONF_US_MEM1_TR_BASE, (uint32_t)dvma_bar[1]); pci_config_put32(dbp->conf_handle, - DB_PCONF_US_MEM1, dvma_bar[1]); + DB_PCONF_US_MEM1, dvma_bar[1]); } } } @@ -1461,7 +1461,7 @@ db_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *cred_p, */ if (cmd == DB_PCI_READ_CONF_HEADER) { if (ddi_copyin((caddr_t)arg, (caddr_t)&pci_data, - sizeof (db_pci_data_t), mode)) { + sizeof (db_pci_data_t), mode)) { rc = EFAULT; return (rc); } @@ -1469,19 +1469,19 @@ db_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *cred_p, if (strcmp(pci_data.name, "") == 0) { child_dip = dbp->dip; (void) strcpy(pci_data.name, - ddi_get_name(dbp->dip)); + ddi_get_name(dbp->dip)); } else { if ((child_dip = db_lookup_child_name(dbp, - pci_data.name, pci_data.instance)) - == (dev_info_t *)NULL) { + pci_data.name, pci_data.instance)) + == (dev_info_t *)NULL) { rc = ENXIO; return (rc); } else { if (ddi_getprop(DDI_DEV_T_ANY, - child_dip, DDI_PROP_DONTPASS, - "vendor-id", DB_INVAL_VEND) - == DB_INVAL_VEND) { + child_dip, DDI_PROP_DONTPASS, + "vendor-id", DB_INVAL_VEND) + == DB_INVAL_VEND) { /* non PCI device */ rc = EINVAL; return (rc); @@ -1502,7 +1502,7 @@ db_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *cred_p, pci_config_teardown(&config_handle); if (ddi_copyout((caddr_t)&pci_data, (caddr_t)arg, - sizeof (db_pci_data_t), mode)) { + sizeof (db_pci_data_t), mode)) { rc = EFAULT; return (rc); } @@ -1584,7 +1584,7 @@ db_lookup_child_name(db_ctrl_t *dbp, char *name, int instance) dev_info_t *cdip, *pdip = dbp->dip; for (cdip = ddi_get_child(pdip); cdip; - cdip = ddi_get_next_sibling(pdip)) { + cdip = ddi_get_next_sibling(pdip)) { do { if (strcmp(ddi_node_name(cdip), name) == 0) { @@ -1735,10 +1735,10 @@ db_pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, rnumber = mp->map_obj.rnumber; if (ddi_getlongprop(DDI_DEV_T_ANY, rdip, - DDI_PROP_DONTPASS, "reg", - (caddr_t)&pci_regsetp, ®_proplen) - != DDI_SUCCESS) - return (DDI_FAILURE); + DDI_PROP_DONTPASS, "reg", + (caddr_t)&pci_regsetp, ®_proplen) + != DDI_SUCCESS) + return (DDI_FAILURE); num_regs = reg_proplen / (int)sizeof (pci_regspec_t); if (rnumber >= num_regs) { @@ -1761,15 +1761,15 @@ db_pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, addr_space_type = pci_reg.pci_phys_hi & PCI_ADDR_MASK; DB_DEBUG3(DB_PCI_MAP, dip, "rdip=%lx, rnum=%d(%d)\n", - rdip, rnumber, num_regs); + rdip, rnumber, num_regs); /* if we do direct map IO, then lets break here */ if ((db_io_map_mode & DB_IO_MAP_DIRECT) && - (addr_space_type == PCI_ADDR_IO)) + (addr_space_type == PCI_ADDR_IO)) break; if ((addr_space_type != PCI_ADDR_CONFIG) && - (addr_space_type != PCI_ADDR_IO)) + (addr_space_type != PCI_ADDR_IO)) break; /* @@ -1780,7 +1780,7 @@ db_pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, return (DDI_FAILURE); dbp = (db_ctrl_t *)ddi_get_soft_state(db_state, - instance); + instance); /* get our common access handle */ hp = (ddi_acc_hdl_t *)mp->map_handlep; @@ -1792,11 +1792,11 @@ db_pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, * private access handle. */ db_pvt = (db_acc_pvt_t *) - hp->ah_bus_private; + hp->ah_bus_private; DB_DEBUG1(DB_PCI_MAP, dip, - "unmap rdip=%lx\n", rdip); + "unmap rdip=%lx\n", rdip); kmem_free((void *)db_pvt, - sizeof (db_acc_pvt_t)); + sizeof (db_acc_pvt_t)); /* * unmap operation of PCI IO/config @@ -1850,11 +1850,11 @@ db_pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, /* record the device address for future use */ pci_addr = &db_pvt->dev_addr; pci_addr->c_busnum = - PCI_REG_BUS_G(pci_reg.pci_phys_hi); + PCI_REG_BUS_G(pci_reg.pci_phys_hi); pci_addr->c_devnum = - PCI_REG_DEV_G(pci_reg.pci_phys_hi); + PCI_REG_DEV_G(pci_reg.pci_phys_hi); pci_addr->c_funcnum = - PCI_REG_FUNC_G(pci_reg.pci_phys_hi); + PCI_REG_FUNC_G(pci_reg.pci_phys_hi); /* * We should keep the upstream or * downstream info in our own ah_bus_private @@ -1872,99 +1872,99 @@ db_pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, DB_DEBUG0(DB_PCI_MAP, dip, "primary\n"); db_pvt->mask = DS8_CONF_OWN; if (db_conf_map_mode & - DB_CONF_MAP_INDIRECT_IO) { + DB_CONF_MAP_INDIRECT_IO) { DB_DEBUG0(DB_PCI_MAP, dip, - "INDIRECT_CONF\n"); + "INDIRECT_CONF\n"); db_pvt->handle = - dbp->csr_io_handle; + dbp->csr_io_handle; db_pvt->addr = - (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_DS_CONF_ADDR); + (uint32_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR_DS_CONF_ADDR); db_pvt->data = - (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_DS_CONF_DATA); + (uint32_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR_DS_CONF_DATA); db_pvt->bus_own = - (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_DS_CONF_OWN); + (uint8_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR8_DS_CONF_OWN); db_pvt->bus_release = - (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_DS_CONF_CSR); + (uint8_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR8_DS_CONF_CSR); } else { DB_DEBUG0(DB_PCI_MAP, dip, - "DIRECT_CONF\n"); + "DIRECT_CONF\n"); db_pvt->handle = - dbp->conf_handle; + dbp->conf_handle; db_pvt->addr = - (uint32_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF_DS_CONF_ADDR); + (uint32_t *) + ((uchar_t *)dbp->conf_io + + DB_CONF_DS_CONF_ADDR); db_pvt->data = (uint32_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF_DS_CONF_DATA); + ((uchar_t *)dbp->conf_io + + DB_CONF_DS_CONF_DATA); db_pvt->bus_own = - (uint8_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF8_DS_CONF_OWN); + (uint8_t *) + ((uchar_t *)dbp->conf_io + + DB_CONF8_DS_CONF_OWN); db_pvt->bus_release = - (uint8_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF8_DS_CONF_CSR); + (uint8_t *) + ((uchar_t *)dbp->conf_io + + DB_CONF8_DS_CONF_CSR); } } else { DB_DEBUG0(DB_PCI_MAP, dip, - "secondary\n"); + "secondary\n"); db_pvt->mask = US8_CONF_OWN; if (db_conf_map_mode & - DB_CONF_MAP_INDIRECT_IO) { + DB_CONF_MAP_INDIRECT_IO) { DB_DEBUG0(DB_PCI_MAP, dip, - "INDIRECT_CONF\n"); + "INDIRECT_CONF\n"); db_pvt->handle = - dbp->csr_io_handle; + dbp->csr_io_handle; db_pvt->addr = - (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_US_CONF_ADDR); + (uint32_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR_US_CONF_ADDR); db_pvt->data = - (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_US_CONF_DATA); + (uint32_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR_US_CONF_DATA); db_pvt->bus_own = - (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_US_CONF_OWN); + (uint8_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR8_US_CONF_OWN); db_pvt->bus_release = - (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_US_CONF_CSR); + (uint8_t *) + ((uchar_t *)dbp->csr_io + + DB_CSR8_US_CONF_CSR); } else { DB_DEBUG0(DB_PCI_MAP, dip, - "DIRECT_CONF\n"); + "DIRECT_CONF\n"); db_pvt->handle = - dbp->conf_handle; + dbp->conf_handle; db_pvt->addr = - (uint32_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF_US_CONF_ADDR); + (uint32_t *) + ((uchar_t *)dbp->conf_io + + DB_CONF_US_CONF_ADDR); db_pvt->data = - (uint32_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF_US_CONF_DATA); + (uint32_t *) + ((uchar_t *)dbp->conf_io + + DB_CONF_US_CONF_DATA); db_pvt->bus_own = - (uint8_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF8_US_CONF_OWN); + (uint8_t *) + ((uchar_t *)dbp->conf_io + + DB_CONF8_US_CONF_OWN); db_pvt->bus_release = - (uint8_t *) - ((uchar_t *)dbp->conf_io - + DB_CONF8_US_CONF_CSR); + (uint8_t *) + ((uchar_t *)dbp->conf_io + + DB_CONF8_US_CONF_CSR); } } break; @@ -1977,79 +1977,79 @@ db_pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, if (dbp->dev_state & DB_PRIMARY_NEXUS) { DB_DEBUG0(DB_PCI_MAP, dip, "primary\n"); db_pvt->addr = (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_DS_IO_ADDR); + ((uchar_t *)dbp->csr_io + + DB_CSR_DS_IO_ADDR); db_pvt->data = (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_DS_IO_DATA); + ((uchar_t *)dbp->csr_io + + DB_CSR_DS_IO_DATA); db_pvt->bus_own = (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_DS_IO_OWN); + ((uchar_t *)dbp->csr_io + + DB_CSR8_DS_IO_OWN); db_pvt->bus_release = (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_DS_IO_CSR); + ((uchar_t *)dbp->csr_io + + DB_CSR8_DS_IO_CSR); db_pvt->mask = DS8_IO_OWN; } else { DB_DEBUG0(DB_PCI_MAP, dip, - "secondary\n"); + "secondary\n"); db_pvt->addr = (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_US_IO_ADDR); + ((uchar_t *)dbp->csr_io + + DB_CSR_US_IO_ADDR); db_pvt->data = (uint32_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR_US_IO_DATA); + ((uchar_t *)dbp->csr_io + + DB_CSR_US_IO_DATA); db_pvt->bus_own = (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_US_IO_OWN); + ((uchar_t *)dbp->csr_io + + DB_CSR8_US_IO_OWN); db_pvt->bus_release = (uint8_t *) - ((uchar_t *)dbp->csr_io - + DB_CSR8_US_IO_CSR); + ((uchar_t *)dbp->csr_io + + DB_CSR8_US_IO_CSR); db_pvt->mask = US8_IO_OWN; } break; default : DB_DEBUG0(DB_PCI_MAP, dip, - "PCI_ADDR unknown\n"); + "PCI_ADDR unknown\n"); break; } /* make and store a type 0/1 address in the *addrp */ if (pci_addr->c_busnum == dbp->range.lo) { *addrp = (caddr_t)DB_PCI_REG_ADDR_TYPE0( - pci_addr->c_busnum, - pci_addr->c_devnum, - pci_addr->c_funcnum, - offset); + pci_addr->c_busnum, + pci_addr->c_devnum, + pci_addr->c_funcnum, + offset); db_pvt->access_mode |= DB_PCI_CONF_CYCLE_TYPE0; DB_DEBUG0(DB_PCI_MAP, dip, - "access mode type 0\n"); + "access mode type 0\n"); } else { *addrp = (caddr_t)DB_PCI_REG_ADDR_TYPE1( - pci_addr->c_busnum, - pci_addr->c_devnum, - pci_addr->c_funcnum, - offset); + pci_addr->c_busnum, + pci_addr->c_devnum, + pci_addr->c_funcnum, + offset); db_pvt->access_mode |= DB_PCI_CONF_CYCLE_TYPE1; DB_DEBUG0(DB_PCI_MAP, dip, - "access mode type 1\n"); + "access mode type 1\n"); } DB_DEBUG4(DB_PCI_MAP, dip, "addrp<%x,%x,%x> = %lx\n", - pci_addr->c_busnum, pci_addr->c_devnum, - pci_addr->c_funcnum, *addrp); + pci_addr->c_busnum, pci_addr->c_devnum, + pci_addr->c_funcnum, *addrp); return (DDI_SUCCESS); default : DB_DEBUG1(DB_PCI_MAP, dip, "DDI other %x\n", - mp->map_type); + mp->map_type); break; } DB_DEBUG0(DB_PCI_MAP, dip, "exit\n"); pdip = (dev_info_t *)DEVI(dip)->devi_parent; return ((DEVI(pdip)->devi_ops->devo_bus_ops->bus_map) - (pdip, rdip, mp, offset, len, addrp)); + (pdip, rdip, mp, offset, len, addrp)); } #ifdef DB_DEBUG @@ -2089,7 +2089,7 @@ db_ctlops(dev_info_t *dip, dev_info_t *rdip, { if ((ctlop >= DDI_CTLOPS_DMAPMAPC) && - (ctlop <= DDI_CTLOPS_DETACH)) { + (ctlop <= DDI_CTLOPS_DETACH)) { DB_DEBUG1(DB_CTLOPS, dip, "ctlop=%s\n", db_ctlop_name[ctlop]); } else { DB_DEBUG1(DB_CTLOPS, dip, "ctlop=%d\n", ctlop); @@ -2312,16 +2312,16 @@ db_initchild(dev_info_t *child) * Support for the "command-preserve" property. */ command_preserve = ddi_prop_get_int(DDI_DEV_T_ANY, child, - DDI_PROP_DONTPASS, "command-preserve", 0); + DDI_PROP_DONTPASS, "command-preserve", 0); command = pci_config_get16(config_handle, PCI_CONF_COMM); command &= (command_preserve | PCI_COMM_BACK2BACK_ENAB); command |= (db_command_default & ~command_preserve); pci_config_put16(config_handle, PCI_CONF_COMM, command); DB_DEBUG2(DB_INITCHILD, ddi_get_parent(child), - "initializing device vend=%x, devid=%x\n", - pci_config_get16(config_handle, PCI_CONF_VENID), - pci_config_get16(config_handle, PCI_CONF_DEVID)); + "initializing device vend=%x, devid=%x\n", + pci_config_get16(config_handle, PCI_CONF_VENID), + pci_config_get16(config_handle, PCI_CONF_DEVID)); /* * If the device has a bus control register then program it * based on the settings in the command register. @@ -2344,16 +2344,16 @@ db_initchild(dev_info_t *child) */ if (db_set_cache_line_size_register && ddi_getprop(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS, - "cache-line-size", 0) == 0) { + "cache-line-size", 0) == 0) { pci_config_put8(config_handle, PCI_CONF_CACHE_LINESZ, - dbp->cache_line_size); + dbp->cache_line_size); n = pci_config_get8(config_handle, PCI_CONF_CACHE_LINESZ); if (n != 0) { (void) ndi_prop_update_int(DDI_DEV_T_NONE, child, - "cache-line-size", n); + "cache-line-size", n); } DB_DEBUG1(DB_INITCHILD, ddi_get_parent(child), - "\nChild Device Cache Size %x\n", dbp->cache_line_size); + "\nChild Device Cache Size %x\n", dbp->cache_line_size); } /* @@ -2361,26 +2361,26 @@ db_initchild(dev_info_t *child) */ if (db_set_latency_timer_register && ddi_getprop(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS, - "latency-timer", 0) == 0) { + "latency-timer", 0) == 0) { if ((header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) { latency_timer = dbp->p_latency_timer; pci_config_put8(config_handle, PCI_BCNF_LATENCY_TIMER, - dbp->latency_timer); + dbp->latency_timer); } else { min_gnt = pci_config_get8(config_handle, - PCI_CONF_MIN_G); + PCI_CONF_MIN_G); latency_timer = min_gnt * 8; } pci_config_put8(config_handle, PCI_CONF_LATENCY_TIMER, - latency_timer); + latency_timer); n = pci_config_get8(config_handle, PCI_CONF_LATENCY_TIMER); if (n != 0) { (void) ndi_prop_update_int(DDI_DEV_T_NONE, child, - "latency-timer", n); + "latency-timer", n); } DB_DEBUG1(DB_INITCHILD, ddi_get_parent(child), - "\nChild Device latency %x\n", latency_timer); + "\nChild Device latency %x\n", latency_timer); } pci_config_teardown(&config_handle); @@ -2407,12 +2407,12 @@ db_create_pci_prop(dev_info_t *child) /* get child "reg" property */ value = ddi_getlongprop(DDI_DEV_T_ANY, child, DDI_PROP_CANSLEEP, - "reg", (caddr_t)&pci_rp, &length); + "reg", (caddr_t)&pci_rp, &length); if (value != DDI_SUCCESS) return (value); (void) ndi_prop_update_byte_array(DDI_DEV_T_NONE, child, "reg", - (uchar_t *)pci_rp, length); + (uchar_t *)pci_rp, length); /* * free the memory allocated by ddi_getlongprop (). @@ -2447,7 +2447,7 @@ db_save_config_regs(db_ctrl_t *dbp) db_cfg_state_t *statep; for (i = 0, dip = ddi_get_child(dbp->dip); dip != NULL; - dip = ddi_get_next_sibling(dip)) { + dip = ddi_get_next_sibling(dip)) { if (i_ddi_devi_attached(dip)) i++; } @@ -2461,50 +2461,50 @@ db_save_config_regs(db_ctrl_t *dbp) /* i now equals the total number of child devices */ dbp->db_config_state_p = - kmem_zalloc(i * sizeof (db_cfg_state_t), KM_NOSLEEP); + kmem_zalloc(i * sizeof (db_cfg_state_t), KM_NOSLEEP); if (!dbp->db_config_state_p) { cmn_err(CE_WARN, - "%s#%d: No memory to save state for child %s#%d\n", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip), - ddi_get_name(dip), ddi_get_instance(dip)); + "%s#%d: No memory to save state for child %s#%d\n", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip), + ddi_get_name(dip), ddi_get_instance(dip)); return (DDI_FAILURE); } for (statep = dbp->db_config_state_p, - dip = ddi_get_child(dbp->dip); - dip != NULL; - dip = ddi_get_next_sibling(dip)) { + dip = ddi_get_child(dbp->dip); + dip != NULL; + dip = ddi_get_next_sibling(dip)) { if (!i_ddi_devi_attached(dip)) continue; if (pci_config_setup(dip, &config_handle) != DDI_SUCCESS) { cmn_err(CE_WARN, - "%s#%d: can't config space for %s#%d", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip), - ddi_driver_name(dip), - ddi_get_instance(dip)); + "%s#%d: can't config space for %s#%d", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip), + ddi_driver_name(dip), + ddi_get_instance(dip)); continue; } statep->dip = dip; statep->command = - pci_config_get16(config_handle, PCI_CONF_COMM); + pci_config_get16(config_handle, PCI_CONF_COMM); statep->header_type = - pci_config_get8(config_handle, PCI_CONF_HEADER); + pci_config_get8(config_handle, PCI_CONF_HEADER); if ((statep->header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) statep->bridge_control = pci_config_get16(config_handle, PCI_BCNF_BCNTRL); statep->cache_line_size = - pci_config_get8(config_handle, PCI_CONF_CACHE_LINESZ); + pci_config_get8(config_handle, PCI_CONF_CACHE_LINESZ); statep->latency_timer = - pci_config_get8(config_handle, PCI_CONF_LATENCY_TIMER); + pci_config_get8(config_handle, PCI_CONF_LATENCY_TIMER); if ((statep->header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) statep->sec_latency_timer = pci_config_get8(config_handle, - PCI_BCNF_LATENCY_TIMER); + PCI_BCNF_LATENCY_TIMER); pci_config_teardown(&config_handle); statep++; } @@ -2534,36 +2534,36 @@ db_restore_config_regs(db_ctrl_t *dbp) dip = statep->dip; if (!dip) { cmn_err(CE_WARN, - "%s#%d: skipping bad dev info (index %d)", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip), i); + "%s#%d: skipping bad dev info (index %d)", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip), i); continue; } if (pci_config_setup(dip, &config_handle) != DDI_SUCCESS) { cmn_err(CE_WARN, - "%s#%d: can't config space for %s#%d", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip), - ddi_driver_name(dip), - ddi_get_instance(dip)); + "%s#%d: can't config space for %s#%d", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip), + ddi_driver_name(dip), + ddi_get_instance(dip)); continue; } pci_config_put16(config_handle, PCI_CONF_COMM, statep->command); if ((statep->header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) pci_config_put16(config_handle, PCI_BCNF_BCNTRL, - statep->bridge_control); + statep->bridge_control); pci_config_put8(config_handle, PCI_CONF_CACHE_LINESZ, - statep->cache_line_size); + statep->cache_line_size); pci_config_put8(config_handle, PCI_CONF_LATENCY_TIMER, - statep->latency_timer); + statep->latency_timer); if ((statep->header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) pci_config_put8(config_handle, PCI_BCNF_LATENCY_TIMER, - statep->sec_latency_timer); + statep->sec_latency_timer); pci_config_teardown(&config_handle); } kmem_free(dbp->db_config_state_p, - dbp->config_state_index * sizeof (db_cfg_state_t)); + dbp->config_state_index * sizeof (db_cfg_state_t)); dbp->db_config_state_p = NULL; dbp->config_state_index = 0; @@ -2576,10 +2576,10 @@ db_put_reg_conf_addr(db_acc_pvt_t *db_pvt, uint32_t conf_addr) { if (db_pvt->access_mode & DB_PCI_CONF_CYCLE_TYPE0)\ ddi_put32(db_pvt->handle, db_pvt->addr, (uint32_t)\ - DB_PCI_CONF_CYCLE_TYPE0_ADDR((conf_addr)));\ + DB_PCI_CONF_CYCLE_TYPE0_ADDR((conf_addr)));\ else /* type 1 cycle */\ ddi_put32(db_pvt->handle, db_pvt->addr, (uint32_t)\ - DB_PCI_CONF_CYCLE_TYPE1_ADDR((conf_addr))); + DB_PCI_CONF_CYCLE_TYPE1_ADDR((conf_addr))); } /* Get 8bits data off the 32bit data */ @@ -2601,7 +2601,7 @@ static uint32_t db_put_data8(uint32_t addr, uint32_t rdata, uint8_t wdata) { return ((rdata & (~((0xff << ((((addr) & 3) * 8))) & 0xffffffff))) | - (((wdata) & 0xff)<<((((addr) & 3))*8))); + (((wdata) & 0xff)<<((((addr) & 3))*8))); } /* merge 16bit data into the 32bit data */ @@ -2609,7 +2609,7 @@ static uint32_t db_put_data16(uint32_t addr, uint32_t rdata, uint16_t wdata) { return ((rdata & (~((0xffff << ((((addr) & 3) * 8))) & 0xffffffff))) | - (((wdata) & 0xffff) << ((((addr) & 3))*8))); + (((wdata) & 0xffff) << ((((addr) & 3))*8))); } @@ -2652,10 +2652,10 @@ db_ddi_get16(ddi_acc_impl_t *handle, uint16_t *addr) static uint32_t db_ddi_get32(ddi_acc_impl_t *handle, uint32_t *addr) { - db_acc_pvt_t *db_pvt = (db_acc_pvt_t *) - handle->ahi_common.ah_bus_private; - uint32_t wait_count = 0; - uint32_t data; + db_acc_pvt_t *db_pvt = (db_acc_pvt_t *) + handle->ahi_common.ah_bus_private; + uint32_t wait_count = 0; + uint32_t data; db_ctrl_t *dbp; dbp = db_pvt->dbp; @@ -2668,7 +2668,7 @@ db_ddi_get32(ddi_acc_impl_t *handle, uint32_t *addr) * bit set. With this set, we cannot proceed. */ while (((ddi_get8(db_pvt->handle, db_pvt->bus_own)) & - db_pvt->mask) == db_pvt->mask) { + db_pvt->mask) == db_pvt->mask) { #ifdef DEBUG if (dbp->db_pci_max_wait_count < wait_count) dbp->db_pci_max_wait_count = wait_count; @@ -2680,9 +2680,9 @@ db_ddi_get32(ddi_acc_impl_t *handle, uint32_t *addr) * Not specify any error condition values. */ cmn_err(CE_WARN, - "%s#%d: pci config bus own error", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + "%s#%d: pci config bus own error", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); dbp->db_pci_err_count++; mutex_exit(&dbp->db_busown); return ((uint32_t)DB_CONF_FAILURE); @@ -2696,7 +2696,7 @@ db_ddi_get32(ddi_acc_impl_t *handle, uint32_t *addr) if (db_use_config_own_bit) { while (((ddi_get8(db_pvt->handle, db_pvt->bus_release)) & - db_pvt->mask) == db_pvt->mask) { + db_pvt->mask) == db_pvt->mask) { #ifdef DEBUG if (dbp->db_pci_max_wait_count < wait_count) dbp->db_pci_max_wait_count = wait_count; @@ -2708,15 +2708,15 @@ db_ddi_get32(ddi_acc_impl_t *handle, uint32_t *addr) * not specify any error condition values. */ cmn_err(CE_WARN, - "%s#%d: pci config bus release error", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + "%s#%d: pci config bus release error", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); dbp->db_pci_err_count++; mutex_exit(&dbp->db_busown); return ((uint32_t)DB_CONF_FAILURE); } data = ddi_get32(db_pvt->handle, - (uint32_t *)db_pvt->data); + (uint32_t *)db_pvt->data); } } @@ -2750,7 +2750,7 @@ db_ddi_put8(ddi_acc_impl_t *handle, uint8_t *addr, uint8_t data) rdata = db_ddi_get32(handle, (uint32_t *)addr); db_ddi_put32(handle, (uint32_t *)addr, - db_put_data8((uint32_t)(uintptr_t)addr, rdata, data)); + db_put_data8((uint32_t)(uintptr_t)addr, rdata, data)); } /* @@ -2764,7 +2764,7 @@ db_ddi_put16(ddi_acc_impl_t *handle, uint16_t *addr, uint16_t data) rdata = db_ddi_get32(handle, (uint32_t *)addr); db_ddi_put32(handle, (uint32_t *)addr, - db_put_data16((uint32_t)(uintptr_t)addr, rdata, data)); + db_put_data16((uint32_t)(uintptr_t)addr, rdata, data)); } /* @@ -2774,10 +2774,10 @@ db_ddi_put16(ddi_acc_impl_t *handle, uint16_t *addr, uint16_t data) static void db_ddi_put32(ddi_acc_impl_t *handle, uint32_t *addr, uint32_t data) { - db_acc_pvt_t *db_pvt = (db_acc_pvt_t *) - handle->ahi_common.ah_bus_private; + db_acc_pvt_t *db_pvt = (db_acc_pvt_t *) + handle->ahi_common.ah_bus_private; db_ctrl_t *dbp; - uint32_t wait_count = 0; + uint32_t wait_count = 0; dbp = db_pvt->dbp; @@ -2789,7 +2789,7 @@ db_ddi_put32(ddi_acc_impl_t *handle, uint32_t *addr, uint32_t data) * bit set. with this set, we cannot proceed. */ while (((ddi_get8(db_pvt->handle, db_pvt->bus_own)) & - db_pvt->mask) == db_pvt->mask) { + db_pvt->mask) == db_pvt->mask) { #ifdef DEBUG if (dbp->db_pci_max_wait_count < wait_count) dbp->db_pci_max_wait_count = wait_count; @@ -2802,9 +2802,9 @@ db_ddi_put32(ddi_acc_impl_t *handle, uint32_t *addr, uint32_t data) * could be a serious situation. */ cmn_err(CE_WARN, - "%s#%d: pci config bus own error", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + "%s#%d: pci config bus own error", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); dbp->db_pci_err_count++; mutex_exit(&dbp->db_busown); return; @@ -2818,7 +2818,7 @@ db_ddi_put32(ddi_acc_impl_t *handle, uint32_t *addr, uint32_t data) if (db_use_config_own_bit) { while (((ddi_get8(db_pvt->handle, db_pvt->bus_release)) & - db_pvt->mask) == db_pvt->mask) { + db_pvt->mask) == db_pvt->mask) { #ifdef DEBUG if (dbp->db_pci_max_wait_count < wait_count) dbp->db_pci_max_wait_count = wait_count; @@ -2830,15 +2830,15 @@ db_ddi_put32(ddi_acc_impl_t *handle, uint32_t *addr, uint32_t data) * Not specify any error condition values. */ cmn_err(CE_WARN, - "%s#%d: pci config bus release error", - ddi_driver_name(dbp->dip), - ddi_get_instance(dbp->dip)); + "%s#%d: pci config bus release error", + ddi_driver_name(dbp->dip), + ddi_get_instance(dbp->dip)); dbp->db_pci_err_count++; mutex_exit(&dbp->db_busown); return; } ddi_put32(db_pvt->handle, (uint32_t *)db_pvt->data, - data); + data); } } @@ -3055,7 +3055,7 @@ static void db_fm_init(db_ctrl_t *db_p) { db_p->fm_cap = DDI_FM_EREPORT_CAPABLE | DDI_FM_ERRCB_CAPABLE | - DDI_FM_ACCCHK_CAPABLE | DDI_FM_DMACHK_CAPABLE; + DDI_FM_ACCCHK_CAPABLE | DDI_FM_DMACHK_CAPABLE; /* * Request our capability level and get our parents capability @@ -3097,7 +3097,7 @@ db_fm_init_child(dev_info_t *dip, dev_info_t *tdip, int cap, ddi_iblock_cookie_t *ibc) { db_ctrl_t *db_p = (db_ctrl_t *)ddi_get_soft_state(db_state, - ddi_get_instance(dip)); + ddi_get_instance(dip)); *ibc = db_p->fm_ibc; return (db_p->fm_cap); } diff --git a/usr/src/uts/sun4u/io/pci/pci.c b/usr/src/uts/sun4u/io/pci/pci.c index 69b5a9427f..e12c1ccd40 100644 --- a/usr/src/uts/sun4u/io/pci/pci.c +++ b/usr/src/uts/sun4u/io/pci/pci.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * PCI nexus driver interface @@ -114,7 +113,8 @@ static struct dev_ops pci_ops = { nodev, &pci_cb_ops, &pci_bus_ops, - 0 + 0, + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -125,7 +125,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module - driver */ - "PCI Bus nexus driver %I%", /* Name of module. */ + "PCI Bus nexus driver", /* Name of module. */ &pci_ops, /* driver ops */ }; @@ -162,7 +162,7 @@ _init(void) * Initialize per-psycho soft state pointer. */ e = ddi_soft_state_init(&per_pci_common_state, - sizeof (pci_common_t), 1); + sizeof (pci_common_t), 1); if (e != 0) { ddi_soft_state_fini(&per_pci_state); return (e); @@ -289,7 +289,7 @@ pci_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ if (alloc_pci_soft_state(instance) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: can't allocate pci state", - ddi_driver_name(dip), instance); + ddi_driver_name(dip), instance); goto err_bad_pci_softstate; } pci_p = get_pci_soft_state(instance); @@ -448,7 +448,8 @@ pci_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) mutex_destroy(&pci_p->pci_mutex); free_pci_soft_state(instance); - /* Free the interrupt-priorities prop if we created it. */ { + /* Free the interrupt-priorities prop if we created it. */ + { int len; if (ddi_getproplen(DDI_DEV_T_ANY, dip, @@ -497,7 +498,7 @@ pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, pci_regspec_t reloc_reg, *rp = &reloc_reg; DEBUG2(DBG_MAP, dip, "rdip=%s%d:", - ddi_driver_name(rdip), ddi_get_instance(rdip)); + ddi_driver_name(rdip), ddi_get_instance(rdip)); if (mp->map_flags & DDI_MF_USER_MAPPING) return (DDI_ME_UNIMPLEMENTED); @@ -512,7 +513,7 @@ pci_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, DEBUG1(DBG_MAP | DBG_CONT, dip, " r#=%x", r_no); if (ddi_getlongprop(DDI_DEV_T_ANY, rdip, DDI_PROP_DONTPASS, - "reg", (caddr_t)&rp, ®len) != DDI_SUCCESS) + "reg", (caddr_t)&rp, ®len) != DDI_SUCCESS) return (DDI_ME_RNUMBER_RANGE); if (r_no < 0 || r_no >= reglen / sizeof (pci_regspec_t)) { @@ -584,8 +585,8 @@ pci_dma_setup(dev_info_t *dip, dev_info_t *rdip, ddi_dma_req_t *dmareq, int ret; DEBUG3(DBG_DMA_MAP, dip, "mapping - rdip=%s%d type=%s\n", - ddi_driver_name(rdip), ddi_get_instance(rdip), - handlep ? "alloc" : "advisory"); + ddi_driver_name(rdip), ddi_get_instance(rdip), + handlep ? "alloc" : "advisory"); if (!(mp = pci_dma_lmts2hdl(dip, rdip, iommu_p, dmareq))) return (DDI_DMA_NORESOURCES); @@ -649,7 +650,7 @@ pci_dma_allochdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_attr_t *attrp, int rval; DEBUG2(DBG_DMA_ALLOCH, dip, "rdip=%s%d\n", - ddi_driver_name(rdip), ddi_get_instance(rdip)); + ddi_driver_name(rdip), ddi_get_instance(rdip)); if (attrp->dma_attr_version != DMA_ATTR_V0) return (DDI_DMA_BADATTR); @@ -683,7 +684,7 @@ int pci_dma_freehdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle) { DEBUG3(DBG_DMA_FREEH, dip, "rdip=%s%d mp=%p\n", - ddi_driver_name(rdip), ddi_get_instance(rdip), handle); + ddi_driver_name(rdip), ddi_get_instance(rdip), handle); pci_dma_freemp((ddi_dma_impl_t *)handle); if (pci_kmem_clid) { @@ -708,7 +709,7 @@ pci_dma_bindhdl(dev_info_t *dip, dev_info_t *rdip, int ret; DEBUG4(DBG_DMA_BINDH, dip, "rdip=%s%d mp=%p dmareq=%p\n", - ddi_driver_name(rdip), ddi_get_instance(rdip), mp, dmareq); + ddi_driver_name(rdip), ddi_get_instance(rdip), mp, dmareq); if (mp->dmai_flags & DMAI_FLAGS_INUSE) return (DDI_DMA_INUSE); @@ -782,7 +783,7 @@ pci_dma_unbindhdl(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle) iommu_t *iommu_p = pci_p->pci_iommu_p; DEBUG3(DBG_DMA_UNBINDH, dip, "rdip=%s%d, mp=%p\n", - ddi_driver_name(rdip), ddi_get_instance(rdip), handle); + ddi_driver_name(rdip), ddi_get_instance(rdip), handle); if ((mp->dmai_flags & DMAI_FLAGS_INUSE) == 0) { DEBUG0(DBG_DMA_UNBINDH, dip, "handle not in use\n"); return (DDI_FAILURE); @@ -849,14 +850,14 @@ pci_dma_win(dev_info_t *dip, dev_info_t *rdip, case DMAI_FLAGS_DVMA: if (win != PCI_DMA_CURWIN(mp)) { pci_t *pci_p = - get_pci_soft_state(ddi_get_instance(dip)); + get_pci_soft_state(ddi_get_instance(dip)); pci_dma_sync_unmap(dip, rdip, mp); /* map_window sets dmai_mapping/size/offset */ iommu_map_window(pci_p->pci_iommu_p, mp, win); } if (cookiep) MAKE_DMA_COOKIE(cookiep, mp->dmai_mapping, - mp->dmai_size); + mp->dmai_size); if (ccountp) *ccountp = 1; break; @@ -866,7 +867,8 @@ pci_dma_win(dev_info_t *dip, dev_info_t *rdip, ddi_dma_cookie_t *ck_p; pci_dma_win_t *win_p = mp->dmai_winlst; - for (i = 0; i < win; win_p = win_p->win_next, i++); + for (i = 0; i < win; win_p = win_p->win_next, i++) + ; ck_p = (ddi_dma_cookie_t *)(win_p + 1); *cookiep = *ck_p; mp->dmai_offset = win_p->win_offset; @@ -886,8 +888,8 @@ pci_dma_win(dev_info_t *dip, dev_info_t *rdip, } if (cookiep) DEBUG2(DBG_DMA_WIN, dip, - "cookie - dmac_address=%x dmac_size=%x\n", - cookiep->dmac_address, cookiep->dmac_size); + "cookie - dmac_address=%x dmac_size=%x\n", + cookiep->dmac_address, cookiep->dmac_size); if (offp) *offp = (off_t)mp->dmai_offset; if (lenp) @@ -941,7 +943,7 @@ pci_dma_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, case DDI_DMA_RESERVE: { pci_t *pci_p = get_pci_soft_state(ddi_get_instance(dip)); return (pci_fdvma_reserve(dip, rdip, pci_p, - (ddi_dma_req_t *)offp, (ddi_dma_handle_t *)objp)); + (ddi_dma_req_t *)offp, (ddi_dma_handle_t *)objp)); } case DDI_DMA_RELEASE: { pci_t *pci_p = get_pci_soft_state(ddi_get_instance(dip)); @@ -954,11 +956,11 @@ pci_dma_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_dma_handle_t handle, switch (PCI_DMA_TYPE(mp)) { case DMAI_FLAGS_DVMA: return (pci_dvma_ctl(dip, rdip, mp, cmd, offp, lenp, objp, - cache_flags)); + cache_flags)); case DMAI_FLAGS_PEER_TO_PEER: case DMAI_FLAGS_BYPASS: return (pci_dma_ctl(dip, rdip, mp, cmd, offp, lenp, objp, - cache_flags)); + cache_flags)); default: panic("%s%d: pci_dma_ctlops(%x):bad dma type %x", ddi_driver_name(rdip), ddi_get_instance(rdip), cmd, @@ -1194,7 +1196,7 @@ get_reg_set_size(dev_info_t *child, int rnumber) } size = pci_rp[rnumber].pci_size_low | - ((uint64_t)pci_rp[rnumber].pci_size_hi << 32); + ((uint64_t)pci_rp[rnumber].pci_size_hi << 32); kmem_free(pci_rp, i); return (size); } @@ -1286,7 +1288,7 @@ pci_ctlops(dev_info_t *dip, dev_info_t *rdip, * Now pass the request up to our parent. */ DEBUG2(DBG_CTLOPS, dip, "passing request to parent: rdip=%s%d\n", - ddi_driver_name(rdip), ddi_get_instance(rdip)); + ddi_driver_name(rdip), ddi_get_instance(rdip)); return (ddi_ctlops(dip, rdip, op, arg, result)); } @@ -1297,7 +1299,7 @@ pci_intr_ops(dev_info_t *dip, dev_info_t *rdip, ddi_intr_op_t intr_op, ddi_intr_handle_impl_t *hdlp, void *result) { pci_t *pci_p = get_pci_soft_state( - ddi_get_instance(dip)); + ddi_get_instance(dip)); int ret = DDI_SUCCESS; switch (intr_op) { @@ -1384,11 +1386,11 @@ pci_init_hotplug(struct pci *pci_p) * slots. */ if (ddi_prop_exists(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "hotplug-capable")) { + "hotplug-capable")) { if (ndi_prop_update_int_array(DDI_DEV_T_NONE, - dip, "bus-range", - (int *)&bus_range, - 2) != DDI_PROP_SUCCESS) { + dip, "bus-range", + (int *)&bus_range, + 2) != DDI_PROP_SUCCESS) { return; } diff --git a/usr/src/uts/sun4u/io/pci/pci_pci.c b/usr/src/uts/sun4u/io/pci/pci_pci.c index 6b9b710173..dd204a90de 100644 --- a/usr/src/uts/sun4u/io/pci/pci_pci.c +++ b/usr/src/uts/sun4u/io/pci/pci_pci.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Sun4u PCI to PCI bus bridge nexus driver @@ -180,7 +179,8 @@ struct dev_ops ppb_ops = { nulldev, /* reset */ &ppb_cb_ops, /* driver operations */ &ppb_bus_ops, /* bus operations */ - ppb_pwr + ppb_pwr, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -189,7 +189,7 @@ struct dev_ops ppb_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module */ - "Standard PCI to PCI bridge nexus driver %I%", + "Standard PCI to PCI bridge nexus driver", &ppb_ops, /* driver ops */ }; @@ -461,8 +461,8 @@ ppb_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) } DEBUG1(DBG_ATTACH, devi, - "ppb_attach(): this nexus %s hotplug slots\n", - ppb->hotplug_capable == B_TRUE ? "has":"has no"); + "ppb_attach(): this nexus %s hotplug slots\n", + ppb->hotplug_capable == B_TRUE ? "has":"has no"); ppb_fm_init(ppb); ddi_report_dev(devi); @@ -474,7 +474,7 @@ ppb_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * Get the soft state structure for the bridge. */ ppb = (ppb_devstate_t *) - ddi_get_soft_state(ppb_state, ddi_get_instance(devi)); + ddi_get_soft_state(ppb_state, ddi_get_instance(devi)); pci_pwr_resume(devi, ppb->ppb_pwr_p); @@ -518,7 +518,7 @@ ppb_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) case DDI_SUSPEND: ppb = (ppb_devstate_t *) - ddi_get_soft_state(ppb_state, ddi_get_instance(devi)); + ddi_get_soft_state(ppb_state, ddi_get_instance(devi)); pci_pwr_suspend(devi, ppb->ppb_pwr_p); @@ -608,8 +608,8 @@ ppb_ctlops(dev_info_t *dip, dev_info_t *rdip, *(int *)result = 0; if (ddi_getlongprop(DDI_DEV_T_ANY, rdip, - DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, "reg", - (caddr_t)&drv_regp, ®len) != DDI_SUCCESS) + DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, "reg", + (caddr_t)&drv_regp, ®len) != DDI_SUCCESS) return (DDI_FAILURE); totreg = reglen / sizeof (pci_regspec_t); @@ -622,7 +622,7 @@ ppb_ctlops(dev_info_t *dip, dev_info_t *rdip, return (DDI_FAILURE); } *(off_t *)result = drv_regp[rn].pci_size_low | - ((uint64_t)drv_regp[rn].pci_size_hi << 32); + ((uint64_t)drv_regp[rn].pci_size_hi << 32); } kmem_free(drv_regp, reglen); @@ -857,9 +857,9 @@ ppb_initchild(dev_info_t *child) if (ddi_prop_exists(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS, "config-regs-saved-by-child") == 1) { DEBUG2(DBG_PWR, ddi_get_parent(child), - "INITCHILD: config regs to be restored by child" - " for %s@%s\n", ddi_node_name(child), - ddi_get_name_addr(child)); + "INITCHILD: config regs to be restored by child" + " for %s@%s\n", ddi_node_name(child), + ddi_get_name_addr(child)); return (DDI_SUCCESS); } @@ -885,7 +885,7 @@ ppb_initchild(dev_info_t *child) * Support for the "command-preserve" property. */ command_preserve = ddi_prop_get_int(DDI_DEV_T_ANY, child, - DDI_PROP_DONTPASS, "command-preserve", 0); + DDI_PROP_DONTPASS, "command-preserve", 0); command = pci_config_get16(config_handle, PCI_CONF_COMM); command &= (command_preserve | PCI_COMM_BACK2BACK_ENAB); command |= (ppb_command_default & ~command_preserve); @@ -910,13 +910,13 @@ ppb_initchild(dev_info_t *child) */ if (ppb_set_cache_line_size_register && ddi_getprop(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS, - "cache-line-size", 0) == 0) { + "cache-line-size", 0) == 0) { pci_config_put8(config_handle, PCI_CONF_CACHE_LINESZ, - ppb->ppb_cache_line_size); + ppb->ppb_cache_line_size); n = pci_config_get8(config_handle, PCI_CONF_CACHE_LINESZ); if (n != 0) { (void) ndi_prop_update_int(DDI_DEV_T_NONE, child, - "cache-line-size", n); + "cache-line-size", n); } } @@ -925,23 +925,23 @@ ppb_initchild(dev_info_t *child) */ if (ppb_set_latency_timer_register && ddi_getprop(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS, - "latency-timer", 0) == 0) { + "latency-timer", 0) == 0) { if ((header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) { latency_timer = ppb->ppb_latency_timer; pci_config_put8(config_handle, PCI_BCNF_LATENCY_TIMER, - ppb->ppb_latency_timer); + ppb->ppb_latency_timer); } else { min_gnt = pci_config_get8(config_handle, - PCI_CONF_MIN_G); + PCI_CONF_MIN_G); latency_timer = min_gnt * 8; } pci_config_put8(config_handle, PCI_CONF_LATENCY_TIMER, - latency_timer); + latency_timer); n = pci_config_get8(config_handle, PCI_CONF_LATENCY_TIMER); if (n != 0) { (void) ndi_prop_update_int(DDI_DEV_T_NONE, child, - "latency-timer", n); + "latency-timer", n); } } @@ -1045,7 +1045,7 @@ ppb_pwr_setup(ppb_devstate_t *ppb, dev_info_t *pdip) * Locate and store the power management cap_ptr for future references. */ if ((PCI_CAP_LOCATE(conf_hdl, PCI_CAP_ID_PM, &ppb->ppb_pm_cap_ptr)) - == DDI_FAILURE) { + == DDI_FAILURE) { DEBUG0(DBG_PWR, pdip, "bridge does not support PM. PCI" " PM data structure not found in config header\n"); pci_config_teardown(&conf_hdl); @@ -1061,10 +1061,10 @@ ppb_pwr_setup(ppb_devstate_t *ppb, dev_info_t *pdip) ppb->ppb_pwr_p->pwr_fp = 0; pmcsr_bse = PCI_CAP_GET8(conf_hdl, NULL, ppb->ppb_pm_cap_ptr, - PCI_PMCSR_BSE); + PCI_PMCSR_BSE); pmcap = PCI_CAP_GET16(conf_hdl, NULL, ppb->ppb_pm_cap_ptr, - PCI_PMCAP); + PCI_PMCAP); if (pmcap == PCI_CAP_EINVAL16 || pmcsr_bse == PCI_CAP_EINVAL8) { pci_config_teardown(&conf_hdl); @@ -1151,8 +1151,8 @@ ppb_pwr_setup(ppb_devstate_t *ppb, dev_info_t *pdip) if (ddi_prop_create(DDI_DEV_T_NONE, pdip, DDI_PROP_CANSLEEP, "pm-want-child-notification?", NULL, NULL) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, - "%s%d fail to create pm-want-child-notification? prop", - ddi_driver_name(pdip), ddi_get_instance(pdip)); + "%s%d fail to create pm-want-child-notification? prop", + ddi_driver_name(pdip), ddi_get_instance(pdip)); (void) ddi_prop_remove(DDI_DEV_T_NONE, pdip, "pm-components"); pci_config_teardown(&conf_hdl); @@ -1164,7 +1164,7 @@ ppb_pwr_setup(ppb_devstate_t *ppb, dev_info_t *pdip) } ppb->ppb_pwr_p->current_lvl = - pci_pwr_current_lvl(ppb->ppb_pwr_p); + pci_pwr_current_lvl(ppb->ppb_pwr_p); } /* @@ -1194,7 +1194,7 @@ ppb_pwr_teardown(ppb_devstate_t *ppb, dev_info_t *dip) kmem_free(ppb->ppb_pwr_p, sizeof (pci_pwr_t)); if (ddi_prop_remove(DDI_DEV_T_NONE, dip, "pm-components") != - DDI_PROP_SUCCESS) { + DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "%s%d unable to remove prop pm-components", ddi_driver_name(dip), ddi_get_instance(dip)); } @@ -1224,7 +1224,7 @@ pci_pwr_current_lvl(pci_pwr_t *pwr_p) ddi_get_instance(pwr_p->pwr_dip)); if ((pmcsr = PCI_CAP_GET16(ppb->ppb_conf_hdl, NULL, - ppb->ppb_pm_cap_ptr, PCI_PMCSR)) == PCI_CAP_EINVAL16) + ppb->ppb_pm_cap_ptr, PCI_PMCSR)) == PCI_CAP_EINVAL16) return (DDI_FAILURE); switch (pmcsr & PCI_PMCSR_STATE_MASK) { @@ -1289,8 +1289,8 @@ ppb_pwr(dev_info_t *dip, int component, int lvl) if (lowest_lvl > lvl) { pci_pwr_component_busy(ppb->ppb_pwr_p); DEBUG2(DBG_PWR, dip, "ppb_pwr: failing power request " - "lowest allowed is %d requested is %d\n", - lowest_lvl, lvl); + "lowest allowed is %d requested is %d\n", + lowest_lvl, lvl); mutex_exit(&ppb->ppb_pwr_p->pwr_mutex); return (DDI_FAILURE); @@ -1301,7 +1301,7 @@ ppb_pwr(dev_info_t *dip, int component, int lvl) } if ((pmcsr = PCI_CAP_GET16(ppb->ppb_conf_hdl, NULL, - ppb->ppb_pm_cap_ptr, PCI_PMCSR)) == PCI_CAP_EINVAL16) + ppb->ppb_pm_cap_ptr, PCI_PMCSR)) == PCI_CAP_EINVAL16) return (DDI_FAILURE); /* @@ -1380,7 +1380,7 @@ ppb_pwr(dev_info_t *dip, int component, int lvl) DEBUG0(DBG_PWR, dip, "ppb_pwr(): SAVING CONFIG REGS\n"); if (pci_save_config_regs(dip) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d Save config regs failed", - ddi_driver_name(dip), ddi_get_instance(dip)); + ddi_driver_name(dip), ddi_get_instance(dip)); mutex_exit(&ppb->ppb_pwr_p->pwr_mutex); return (DDI_FAILURE); @@ -1388,7 +1388,7 @@ ppb_pwr(dev_info_t *dip, int component, int lvl) } PCI_CAP_PUT16(ppb->ppb_conf_hdl, NULL, ppb->ppb_pm_cap_ptr, PCI_PMCSR, - pmcsr); + pmcsr); /* * No bus transactions should occur without waiting for @@ -1465,9 +1465,9 @@ ppb_create_ranges_prop(dev_info_t *dip, */ ranges[i].size_low = ranges[i].size_high = 0; ranges[i].parent_mid = ranges[i].child_mid = - ranges[i].parent_high = 0; + ranges[i].parent_high = 0; ranges[i].child_high = ranges[i].parent_high |= - (PCI_REG_REL_M | PCI_ADDR_IO); + (PCI_REG_REL_M | PCI_ADDR_IO); base = PPB_16bit_IOADDR(io_base_lo); limit = PPB_16bit_IOADDR(io_limit_lo); @@ -1490,9 +1490,9 @@ ppb_create_ranges_prop(dev_info_t *dip, limit = PPB_32bit_MEMADDR(mem_limit); ranges[i].size_low = ranges[i].size_high = 0; ranges[i].parent_mid = ranges[i].child_mid = - ranges[i].parent_high = 0; + ranges[i].parent_high = 0; ranges[i].child_high = ranges[i].parent_high |= - (PCI_REG_REL_M | PCI_ADDR_MEM32); + (PCI_REG_REL_M | PCI_ADDR_MEM32); ranges[i].child_low = ranges[i].parent_low = base; if (limit >= base) { ranges[i].size_low = limit - base + PPB_MEMGRAIN; @@ -1694,7 +1694,7 @@ ppb_fm_init(ppb_devstate_t *ppb_p) char *bus; ppb_p->fm_cap = DDI_FM_EREPORT_CAPABLE | DDI_FM_ERRCB_CAPABLE | - DDI_FM_ACCCHK_CAPABLE | DDI_FM_DMACHK_CAPABLE; + DDI_FM_ACCCHK_CAPABLE | DDI_FM_DMACHK_CAPABLE; /* * Request our capability level and get our parents capability @@ -1751,7 +1751,7 @@ ppb_fm_init_child(dev_info_t *dip, dev_info_t *tdip, int cap, ddi_iblock_cookie_t *ibc) { ppb_devstate_t *ppb_p = (ppb_devstate_t *)ddi_get_soft_state(ppb_state, - ddi_get_instance(dip)); + ddi_get_instance(dip)); *ibc = ppb_p->fm_ibc; return (ppb_p->fm_cap); } @@ -1763,7 +1763,7 @@ static int ppb_err_callback(dev_info_t *dip, ddi_fm_error_t *derr, const void *impl_data) { ppb_devstate_t *ppb_p = (ppb_devstate_t *)ddi_get_soft_state(ppb_state, - ddi_get_instance(dip)); + ddi_get_instance(dip)); /* * errors handled by SPARC PCI-E framework for PCIe platforms diff --git a/usr/src/uts/sun4u/io/pci/simba.c b/usr/src/uts/sun4u/io/pci/simba.c index c8cd5d547f..480117ce24 100644 --- a/usr/src/uts/sun4u/io/pci/simba.c +++ b/usr/src/uts/sun4u/io/pci/simba.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * PCI to PCI bus bridge nexus driver @@ -191,8 +190,9 @@ struct dev_ops simba_ops = { simba_detach, /* detach */ nulldev, /* reset */ &simba_cb_ops, /* driver operations */ - &simba_bus_ops /* bus operations */ - + &simba_bus_ops, /* bus operations */ + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -201,7 +201,7 @@ struct dev_ops simba_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module */ - "SIMBA PCI to PCI bridge nexus driver %I%", + "SIMBA PCI to PCI bridge nexus driver", &simba_ops, /* driver ops */ }; @@ -383,7 +383,7 @@ simba_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * Make sure the "device_type" property exists. */ (void) ddi_prop_update_string(DDI_DEV_T_NONE, devi, - "device_type", "pci"); + "device_type", "pci"); /* * Allocate and get soft state structure. @@ -420,24 +420,24 @@ simba_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) */ simba->simba_cache_line_size = pci_config_get8(simba->config_handle, - PCI_CONF_CACHE_LINESZ); + PCI_CONF_CACHE_LINESZ); simba->simba_latency_timer = pci_config_get8(simba->config_handle, - PCI_CONF_LATENCY_TIMER); + PCI_CONF_LATENCY_TIMER); /* simba specific, clears up the pri/sec status registers */ pci_config_put16(simba->config_handle, 0x6, 0xffff); pci_config_put16(simba->config_handle, 0x1e, 0xffff); DEBUG2(D_ATTACH, "simba_attach(): clsz=%x, lt=%x\n", - simba->simba_cache_line_size, - simba->simba_latency_timer); + simba->simba_cache_line_size, + simba->simba_latency_timer); /* * Initialize FMA support */ simba->fm_cap = DDI_FM_EREPORT_CAPABLE | DDI_FM_ERRCB_CAPABLE | - DDI_FM_ACCCHK_CAPABLE | DDI_FM_DMACHK_CAPABLE; + DDI_FM_ACCCHK_CAPABLE | DDI_FM_DMACHK_CAPABLE; /* * Call parent to get it's capablity @@ -461,7 +461,7 @@ simba_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * Get the soft state structure for the bridge. */ simba = (simba_devstate_t *) - ddi_get_soft_state(simba_state, ddi_get_instance(devi)); + ddi_get_soft_state(simba_state, ddi_get_instance(devi)); simba_restore_config_regs(simba); return (DDI_SUCCESS); } @@ -474,7 +474,7 @@ simba_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) { simba_devstate_t *simba; simba = (simba_devstate_t *) - ddi_get_soft_state(simba_state, ddi_get_instance(devi)); + ddi_get_soft_state(simba_state, ddi_get_instance(devi)); switch (cmd) { case DDI_DETACH: @@ -582,9 +582,9 @@ simba_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t ctlop, pci_regspec_t *drv_regp; DEBUG6(D_CTLOPS, - "simba_ctlops(): dip=%p rdip=%p ctlop=%x-%s arg=%p result=%p", - dip, rdip, ctlop, ctlop < (sizeof (ops) / sizeof (ops[0])) ? - ops[ctlop] : "Unknown", arg, result); + "simba_ctlops(): dip=%p rdip=%p ctlop=%x-%s arg=%p result=%p", + dip, rdip, ctlop, ctlop < (sizeof (ops) / sizeof (ops[0])) ? + ops[ctlop] : "Unknown", arg, result); switch (ctlop) { case DDI_CTLOPS_REPORTDEV: @@ -619,8 +619,8 @@ simba_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t ctlop, *(int *)result = 0; if (ddi_getlongprop(DDI_DEV_T_ANY, rdip, - DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, "reg", - (caddr_t)&drv_regp, ®len) != DDI_SUCCESS) + DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, "reg", + (caddr_t)&drv_regp, ®len) != DDI_SUCCESS) return (DDI_FAILURE); totreg = reglen / sizeof (pci_regspec_t); @@ -633,7 +633,7 @@ simba_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t ctlop, return (DDI_FAILURE); } *(off_t *)result = drv_regp[rn].pci_size_low | - ((uint64_t)drv_regp[rn].pci_size_hi << 32); + ((uint64_t)drv_regp[rn].pci_size_hi << 32); } kmem_free(drv_regp, reglen); @@ -806,19 +806,19 @@ simba_initchild(dev_info_t *child) } simba = (simba_devstate_t *)ddi_get_soft_state(simba_state, - ddi_get_instance(ddi_get_parent(child))); + ddi_get_instance(ddi_get_parent(child))); /* * Initialize cache-line-size configuration register if needed. */ if (simba_set_cache_line_size_register && ddi_getprop(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS, - "cache-line-size", 0) == 0) { + "cache-line-size", 0) == 0) { pci_config_put8(config_handle, PCI_CONF_CACHE_LINESZ, simba->simba_cache_line_size); n = pci_config_get8(config_handle, PCI_CONF_CACHE_LINESZ); if (n != 0) (void) ndi_prop_update_int(DDI_DEV_T_NONE, child, - "cache-line-size", n); + "cache-line-size", n); } /* @@ -826,7 +826,7 @@ simba_initchild(dev_info_t *child) */ if (simba_set_latency_timer_register && ddi_getprop(DDI_DEV_T_ANY, child, DDI_PROP_DONTPASS, - "latency-timer", 0) == 0) { + "latency-timer", 0) == 0) { if ((header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) { latency_timer = simba->simba_latency_timer; @@ -880,14 +880,14 @@ simba_save_config_regs(simba_devstate_t *simba_p) struct simba_cfg_state *statep; for (i = 0, dip = ddi_get_child(simba_p->dip); dip != NULL; - dip = ddi_get_next_sibling(dip)) { + dip = ddi_get_next_sibling(dip)) { if (i_ddi_devi_attached(dip)) i++; } if (!i) return; simba_p->simba_config_state_p = - kmem_zalloc(i * sizeof (struct simba_cfg_state), KM_NOSLEEP); + kmem_zalloc(i * sizeof (struct simba_cfg_state), KM_NOSLEEP); if (!simba_p->simba_config_state_p) { cmn_err(CE_WARN, "not enough memrory to save simba child\n"); return; @@ -895,38 +895,38 @@ simba_save_config_regs(simba_devstate_t *simba_p) simba_p->config_state_index = i; for (statep = simba_p->simba_config_state_p, - dip = ddi_get_child(simba_p->dip); - dip != NULL; - dip = ddi_get_next_sibling(dip)) { + dip = ddi_get_child(simba_p->dip); + dip != NULL; + dip = ddi_get_next_sibling(dip)) { if (!i_ddi_devi_attached(dip)) { DEBUG4(D_DETACH, "%s%d: skipping unattached %s%d\n", - ddi_driver_name(simba_p->dip), - ddi_get_instance(simba_p->dip), - ddi_driver_name(dip), - ddi_get_instance(dip)); + ddi_driver_name(simba_p->dip), + ddi_get_instance(simba_p->dip), + ddi_driver_name(dip), + ddi_get_instance(dip)); continue; } DEBUG4(D_DETACH, "%s%d: saving regs for %s%d\n", - ddi_driver_name(simba_p->dip), - ddi_get_instance(simba_p->dip), - ddi_driver_name(dip), - ddi_get_instance(dip)); + ddi_driver_name(simba_p->dip), + ddi_get_instance(simba_p->dip), + ddi_driver_name(dip), + ddi_get_instance(dip)); if (pci_config_setup(dip, &ch) != DDI_SUCCESS) { DEBUG4(D_DETACH, "%s%d: can't config space for %s%d\n", - ddi_driver_name(simba_p->dip), - ddi_get_instance(simba_p->dip), - ddi_driver_name(dip), - ddi_get_instance(dip)); + ddi_driver_name(simba_p->dip), + ddi_get_instance(simba_p->dip), + ddi_driver_name(dip), + ddi_get_instance(dip)); continue; } DEBUG3(D_DETACH, "%s%d: saving child dip=%p\n", - ddi_driver_name(simba_p->dip), - ddi_get_instance(simba_p->dip), - dip); + ddi_driver_name(simba_p->dip), + ddi_get_instance(simba_p->dip), + dip); statep->dip = dip; statep->command = pci_config_get16(ch, PCI_CONF_COMM); @@ -935,12 +935,12 @@ simba_save_config_regs(simba_devstate_t *simba_p) statep->bridge_control = pci_config_get16(ch, PCI_BCNF_BCNTRL); statep->cache_line_size = - pci_config_get8(ch, PCI_CONF_CACHE_LINESZ); + pci_config_get8(ch, PCI_CONF_CACHE_LINESZ); statep->latency_timer = - pci_config_get8(ch, PCI_CONF_LATENCY_TIMER); + pci_config_get8(ch, PCI_CONF_LATENCY_TIMER); if ((statep->header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) statep->sec_latency_timer = - pci_config_get8(ch, PCI_BCNF_LATENCY_TIMER); + pci_config_get8(ch, PCI_BCNF_LATENCY_TIMER); /* * Simba specific. */ @@ -948,13 +948,13 @@ simba_save_config_regs(simba_devstate_t *simba_p) pci_config_get16(ch, PCI_CONF_DEVID) == PCI_SIMBA_DEVID) { statep->bus_number = - pci_config_get8(ch, PCI_BCNF_PRIBUS); + pci_config_get8(ch, PCI_BCNF_PRIBUS); statep->sec_bus_number = - pci_config_get8(ch, PCI_BCNF_SECBUS); + pci_config_get8(ch, PCI_BCNF_SECBUS); statep->sub_bus_number = - pci_config_get8(ch, PCI_BCNF_SUBBUS); + pci_config_get8(ch, PCI_BCNF_SUBBUS); statep->bridge_control = - pci_config_get16(ch, PCI_BCNF_BCNTRL); + pci_config_get16(ch, PCI_BCNF_BCNTRL); } pci_config_teardown(&ch); statep++; @@ -986,59 +986,59 @@ simba_restore_config_regs(simba_devstate_t *simba_p) dip = statep->dip; if (!dip) { cmn_err(CE_WARN, - "%s%d: skipping bad dev info (%d)\n", - ddi_driver_name(simba_p->dip), - ddi_get_instance(simba_p->dip), - i); + "%s%d: skipping bad dev info (%d)\n", + ddi_driver_name(simba_p->dip), + ddi_get_instance(simba_p->dip), + i); continue; } DEBUG5(D_ATTACH, "%s%d: restoring regs for %p-%s%d\n", - ddi_driver_name(simba_p->dip), - ddi_get_instance(simba_p->dip), - dip, - ddi_driver_name(dip), - ddi_get_instance(dip)); + ddi_driver_name(simba_p->dip), + ddi_get_instance(simba_p->dip), + dip, + ddi_driver_name(dip), + ddi_get_instance(dip)); if (pci_config_setup(dip, &ch) != DDI_SUCCESS) { DEBUG4(D_ATTACH, "%s%d: can't config space for %s%d\n", - ddi_driver_name(simba_p->dip), - ddi_get_instance(simba_p->dip), - ddi_driver_name(dip), - ddi_get_instance(dip)); + ddi_driver_name(simba_p->dip), + ddi_get_instance(simba_p->dip), + ddi_driver_name(dip), + ddi_get_instance(dip)); continue; } pci_config_put16(ch, PCI_CONF_COMM, statep->command); if ((statep->header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) pci_config_put16(ch, PCI_BCNF_BCNTRL, - statep->bridge_control); + statep->bridge_control); /* * Simba specific. */ if (pci_config_get16(ch, PCI_CONF_VENID) == PCI_SIMBA_VENID && pci_config_get16(ch, PCI_CONF_DEVID) == PCI_SIMBA_DEVID) { pci_config_put8(ch, PCI_BCNF_PRIBUS, - statep->bus_number); + statep->bus_number); pci_config_put8(ch, PCI_BCNF_SECBUS, - statep->sec_bus_number); + statep->sec_bus_number); pci_config_put8(ch, PCI_BCNF_SUBBUS, - statep->sub_bus_number); + statep->sub_bus_number); pci_config_put16(ch, PCI_BCNF_BCNTRL, - statep->bridge_control); + statep->bridge_control); } pci_config_put8(ch, PCI_CONF_CACHE_LINESZ, - statep->cache_line_size); + statep->cache_line_size); pci_config_put8(ch, PCI_CONF_LATENCY_TIMER, - statep->latency_timer); + statep->latency_timer); if ((statep->header_type & PCI_HEADER_TYPE_M) == PCI_HEADER_ONE) pci_config_put8(ch, PCI_BCNF_LATENCY_TIMER, - statep->sec_latency_timer); + statep->sec_latency_timer); pci_config_teardown(&ch); } kmem_free(simba_p->simba_config_state_p, - simba_p->config_state_index * sizeof (struct simba_cfg_state)); + simba_p->config_state_index * sizeof (struct simba_cfg_state)); simba_p->simba_config_state_p = NULL; simba_p->config_state_index = 0; } @@ -1191,7 +1191,7 @@ simba_fm_init_child(dev_info_t *dip, dev_info_t *tdip, int cap, ddi_iblock_cookie_t *ibc) { simba_devstate_t *simba_p = ddi_get_soft_state(simba_state, - ddi_get_instance(dip)); + ddi_get_instance(dip)); *ibc = simba_p->fm_ibc; return (simba_p->fm_cap); diff --git a/usr/src/uts/sun4u/io/pic16f747.c b/usr/src/uts/sun4u/io/pic16f747.c index dbdc42ff95..011a8974d0 100644 --- a/usr/src/uts/sun4u/io/pic16f747.c +++ b/usr/src/uts/sun4u/io/pic16f747.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Driver to map the PIC for the chicago platform. @@ -82,7 +80,8 @@ static struct dev_ops pic_dev_ops = { nulldev, /* reset */ &pic_cb_ops, (struct bus_ops *)NULL, - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -123,7 +122,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "pic_client driver (v.%I%) ", + "pic_client driver", &pic_dev_ops }; diff --git a/usr/src/uts/sun4u/io/pmubus.c b/usr/src/uts/sun4u/io/pmubus.c index 0cfbe4dd3d..502ace5b73 100644 --- a/usr/src/uts/sun4u/io/pmubus.c +++ b/usr/src/uts/sun4u/io/pmubus.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -131,7 +130,9 @@ static struct dev_ops pmubus_ops = { pmubus_detach, nodev, (struct cb_ops *)0, - &pmubus_bus_ops + &pmubus_bus_ops, + NULL, + ddi_quiesce_not_needed, /* quiesce */ }; /* diff --git a/usr/src/uts/sun4u/io/pmugpio.c b/usr/src/uts/sun4u/io/pmugpio.c index 28a91f47af..489846a44b 100644 --- a/usr/src/uts/sun4u/io/pmugpio.c +++ b/usr/src/uts/sun4u/io/pmugpio.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -122,12 +120,13 @@ static struct dev_ops pmugpio_ops = { nodev, /* Reset */ &pmugpio_cb_ops, /* Driver operations */ 0, /* Bus operations */ - NULL /* Power */ + NULL, /* Power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* This one is a driver */ - "Pmugpio Driver %I%", /* Name of the module. */ + "Pmugpio Driver", /* Name of the module. */ &pmugpio_ops, /* Driver ops */ }; @@ -280,7 +279,7 @@ pmugpio_watchdog_pat(void) case PMUGPIO_CPLD: value = (CPLD_WATCHDOG ^ ddi_get8(pmugpio_ptr->pmugpio_watchdog_reg_handle, - pmugpio_ptr->pmugpio_watchdog_reg)); + pmugpio_ptr->pmugpio_watchdog_reg)); ddi_put8(pmugpio_ptr->pmugpio_watchdog_reg_handle, pmugpio_ptr->pmugpio_watchdog_reg, value); @@ -351,10 +350,10 @@ pmugpio_reset(void) pmugpio_ptr->pmugpio_reset_reg); ddi_put8(pmugpio_ptr->pmugpio_reset_reg_handle, pmugpio_ptr->pmugpio_reset_reg, - (value | MBC_PPC_RESET)); + (value | MBC_PPC_RESET)); ddi_put8(pmugpio_ptr->pmugpio_reset_reg_handle, pmugpio_ptr->pmugpio_reset_reg, - (value & ~MBC_PPC_RESET)); + (value & ~MBC_PPC_RESET)); break; case PMUGPIO_OTHER: @@ -416,9 +415,9 @@ pmugpio_map_regs(dev_info_t *dip, pmugpio_state_t *pmugpio_ptr) return (DDI_FAILURE); /* MBC and CPLD have reset and watchdog bits in same reg. */ pmugpio_ptr->pmugpio_watchdog_reg_handle = - pmugpio_ptr->pmugpio_reset_reg_handle; + pmugpio_ptr->pmugpio_reset_reg_handle; pmugpio_ptr->pmugpio_watchdog_reg = - pmugpio_ptr->pmugpio_reset_reg; + pmugpio_ptr->pmugpio_reset_reg; break; case PMUGPIO_OTHER: @@ -431,7 +430,7 @@ pmugpio_map_regs(dev_info_t *dip, pmugpio_state_t *pmugpio_ptr) (caddr_t *)&pmugpio_ptr->pmugpio_reset_reg, 0, 1, &attr, &pmugpio_ptr->pmugpio_reset_reg_handle) != DDI_SUCCESS) { ddi_regs_map_free( - &pmugpio_ptr->pmugpio_watchdog_reg_handle); + &pmugpio_ptr->pmugpio_watchdog_reg_handle); return (DDI_FAILURE); } break; diff --git a/usr/src/uts/sun4u/io/ppm/jbusppm.c b/usr/src/uts/sun4u/io/ppm/jbusppm.c index 28dbfe9e02..c7df0692b0 100644 --- a/usr/src/uts/sun4u/io/ppm/jbusppm.c +++ b/usr/src/uts/sun4u/io/ppm/jbusppm.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -93,14 +91,15 @@ static struct dev_ops jbppm_ops = { nodev, /* reset */ &jbppm_cbops, /* cb_ops */ NULL, /* bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "JBus ppm driver v%I%", + "JBus ppm driver", &jbppm_ops, }; diff --git a/usr/src/uts/sun4u/io/ppm/schppm.c b/usr/src/uts/sun4u/io/ppm/schppm.c index bda947587e..8eacd593ac 100644 --- a/usr/src/uts/sun4u/io/ppm/schppm.c +++ b/usr/src/uts/sun4u/io/ppm/schppm.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Schizo Power Management Driver @@ -72,7 +70,8 @@ static struct dev_ops spm_ops = { nodev, /* reset */ (struct cb_ops *)0, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -83,7 +82,7 @@ static int spm_inst = -1; static struct modldrv modldrv = { &mod_driverops, /* Type of module = driver */ - "schizo pm driver v%I%", /* name of module */ + "schizo pm driver", /* name of module */ &spm_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4u/io/rmc_comm.c b/usr/src/uts/sun4u/io/rmc_comm.c index f999268cd5..806eb5f0f4 100644 --- a/usr/src/uts/sun4u/io/rmc_comm.c +++ b/usr/src/uts/sun4u/io/rmc_comm.c @@ -20,7 +20,7 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * The "rmc_comm" driver provides access to the RMC so that its clients need @@ -29,7 +29,6 @@ * 16550 compatible serial port. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Header files @@ -954,13 +953,14 @@ static struct dev_ops rmc_comm_dev_ops = rmc_comm_reset, /* reset */ (struct cb_ops *)NULL, /* driver operations */ (struct bus_ops *)NULL, /* bus operations */ - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "rmc_comm driver, v%I%", + "rmc_comm driver", &rmc_comm_dev_ops }; diff --git a/usr/src/uts/sun4u/io/rmcadm.c b/usr/src/uts/sun4u/io/rmcadm.c index 3c39f621ad..2ad9a87c23 100644 --- a/usr/src/uts/sun4u/io/rmcadm.c +++ b/usr/src/uts/sun4u/io/rmcadm.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> #include <sys/conf.h> @@ -84,7 +83,8 @@ static struct dev_ops rmcadm_ops = { nodev, /* reset */ &rmcadm_cb_ops, /* pointer to cb_ops structure */ (struct bus_ops *)NULL, - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -94,7 +94,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is a driver */ - "rmcadm control driver v%I%", /* Name of the module */ + "rmcadm control driver", /* Name of the module */ &rmcadm_ops /* pointer to the dev_ops structure */ }; @@ -233,7 +233,7 @@ rmcadm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) return (DDI_FAILURE); err = ddi_create_minor_node(dip, "rmcadm", S_IFCHR, - instance, DDI_PSEUDO, NULL); + instance, DDI_PSEUDO, NULL); if (err != DDI_SUCCESS) return (DDI_FAILURE); @@ -432,7 +432,7 @@ rmcadm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *cred_p, } rr.status = rmc_comm_request_response( - rmc_reqp, rmc_respp, rr.wait_time); + rmc_reqp, rmc_respp, rr.wait_time); } else { /* RMCADM_REQUEST_RESPONSE_BP */ @@ -453,7 +453,7 @@ rmcadm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *cred_p, } rr.status = rmc_comm_request_response_bp( - rmc_reqp, rmc_respp, rr.wait_time); + rmc_reqp, rmc_respp, rr.wait_time); } /* diff --git a/usr/src/uts/sun4u/io/rmclomv.c b/usr/src/uts/sun4u/io/rmclomv.c index 7cf2f51d7a..2afee7d1dd 100644 --- a/usr/src/uts/sun4u/io/rmclomv.c +++ b/usr/src/uts/sun4u/io/rmclomv.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/stat.h> @@ -152,7 +151,8 @@ static struct dev_ops rmclomv_ops = { nodev, /* reset */ &rmclomv_cb_ops, /* pointer to cb_ops structure */ (struct bus_ops *)NULL, - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -162,7 +162,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is a driver */ - "rmclomv control driver v%I%", /* Name of the module */ + "rmclomv control driver", /* Name of the module */ &rmclomv_ops /* pointer to the dev_ops structure */ }; diff --git a/usr/src/uts/sun4u/io/sbbc.c b/usr/src/uts/sun4u/io/sbbc.c index 32fb20bfad..615ea8549e 100644 --- a/usr/src/uts/sun4u/io/sbbc.c +++ b/usr/src/uts/sun4u/io/sbbc.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Starcat PCI SBBC Nexus Driver. @@ -234,7 +233,8 @@ struct dev_ops sbbc_ops = { nodev, /* devo_reset */ &sbbc_cb_ops, /* devo_cb_ops */ &sbbc_bus_ops, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -244,7 +244,7 @@ extern struct mod_ops mod_driverops; static struct modldrv sbbcmodldrv = { &mod_driverops, /* type of module - driver */ - "PCI Sbbc Nexus Driver v%I%", + "PCI Sbbc Nexus Driver", &sbbc_ops, }; @@ -260,7 +260,7 @@ _init(void) int error; if ((error = ddi_soft_state_init(&sbbcsoft_statep, - sizeof (struct sbbcsoft), 1)) != 0) + sizeof (struct sbbcsoft), 1)) != 0) return (error); if ((error = mod_install(&sbbcmodlinkage)) != 0) ddi_soft_state_fini(&sbbcsoft_statep); @@ -473,8 +473,8 @@ sbbc_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) } mutex_enter(&sbbcsoftp->umutex); if (sbbcsoftp->suspended) { - mutex_exit(&sbbcsoftp->umutex); - return (DDI_FAILURE); + mutex_exit(&sbbcsoftp->umutex); + return (DDI_FAILURE); } sbbcsoftp->suspended = 1; mutex_exit(&sbbcsoftp->umutex); @@ -487,7 +487,7 @@ sbbc_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) if (!(sbbcsoftp = ddi_get_soft_state(sbbcsoft_statep, instance))) { cmn_err(CE_WARN, "sbbc_detach: unable to get softstate %p", (void *)sbbcsoftp); - return (DDI_FAILURE); + return (DDI_FAILURE); } ddi_remove_minor_node(dip, NULL); @@ -531,7 +531,7 @@ sbbc_busmap(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, */ instance = ddi_get_instance(dip); if (!(sbbcsoftp = ddi_get_soft_state(sbbcsoft_statep, instance))) - return (DDI_FAILURE); + return (DDI_FAILURE); switch (mp->map_type) { case DDI_MT_REGSPEC: @@ -906,8 +906,8 @@ sbbc_apply_range(struct sbbcsoft *sbbc_p, dev_info_t *rdip, if ((child_rp->addr_low >= rangep->sbbc_phys_low) && ((child_rp->addr_low + child_rp->size - 1) - <= (rangep->sbbc_phys_low + - rangep->rng_size - 1))) { + <= (rangep->sbbc_phys_low + + rangep->rng_size - 1))) { uint_t addr_offset = child_rp->addr_low - rangep->sbbc_phys_low; /* @@ -923,7 +923,7 @@ sbbc_apply_range(struct sbbcsoft *sbbc_p, dev_info_t *rdip, rp->pci_size_hi = 0; rp->pci_size_low = min(child_rp->size, (rangep->rng_size - - addr_offset)); + addr_offset)); break; } @@ -1004,7 +1004,7 @@ sbbc_config4pci(struct sbbcsoft *sbbcsoftp) } #endif comm = (PCI_COMM_ME | PCI_COMM_MAE | PCI_COMM_SERR_ENABLE | - PCI_COMM_PARITY_DETECT); + PCI_COMM_PARITY_DETECT); pci_config_put16(conf_handle, PCI_CONF_COMM, comm); @@ -1073,7 +1073,7 @@ sbbc_open(dev_t *dev, int flag, int otype, cred_t *credp) if (instance < 0) return (ENXIO); sbbcsoftp = (struct sbbcsoft *)ddi_get_soft_state(sbbcsoft_statep, - instance); + instance); SBBCTRACE(sbbc_open, 'OPEN', sbbcsoftp); if (sbbcsoftp == NULL) @@ -1104,7 +1104,7 @@ sbbc_close(dev_t dev, int flag, int otype, cred_t *credp) if (instance < 0) return (ENXIO); sbbcsoftp = (struct sbbcsoft *)ddi_get_soft_state(sbbcsoft_statep, - instance); + instance); /* wait till all output activity has ceased */ mutex_enter(&sbbcsoftp->umutex); @@ -1171,7 +1171,7 @@ sbbc_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, offset = (uint64_t)sbbcsoftp->pci_sbbc_map; offset += sbbcregs.offset; ddi_put32(sbbcsoftp->pci_sbbc_map_handle, (uint32_t *)offset, - sbbcregs.value); + sbbcregs.value); } break; case SBBC_SBBCREG_RD: @@ -1212,10 +1212,11 @@ sbbc_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, offset += sbbcregs.offset; sbbcregs.value = ddi_get32(sbbcsoftp->pci_sbbc_map_handle, - (uint32_t *)offset); + (uint32_t *)offset); if (ddi_copyout((caddr_t)&sbbcregs.value, - &((struct ssc_sbbc_regio *)arg)->value, sbbcregs.len, mode)) { + &((struct ssc_sbbc_regio *)arg)->value, + sbbcregs.len, mode)) { cmn_err(CE_WARN, "sbbc_ioctl:copyout failed arg %p", (void *)arg); return (EFAULT); @@ -1468,7 +1469,7 @@ sbbc_dbg(uint32_t flag, dev_info_t *dip, char *fmt, } cmn_err(CE_CONT, "%s_%s(%d): ", ddi_driver_name(dip), s, - ddi_get_instance(dip)); + ddi_get_instance(dip)); cmn_err(CE_CONT, fmt, a1, a2, a3, a4, a5); } } diff --git a/usr/src/uts/sun4u/io/sysiosbus.c b/usr/src/uts/sun4u/io/sysiosbus.c index 54a0643386..fbfde87d14 100644 --- a/usr/src/uts/sun4u/io/sysiosbus.c +++ b/usr/src/uts/sun4u/io/sysiosbus.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -366,7 +365,8 @@ static struct dev_ops sbus_ops = { nodev, /* reset */ &sbus_cb_ops, /* driver operations */ &sbus_bus_ops, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* global data */ @@ -523,10 +523,10 @@ sbus_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; attr.devacc_attr_endian_flags = DDI_NEVERSWAP_ACC; if (ddi_regs_map_setup(softsp->dip, 0, &softsp->address, 0, 0, - &attr, &softsp->ac) != DDI_SUCCESS) { + &attr, &softsp->ac) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: unable to map reg set 0\n", - ddi_get_name(softsp->dip), - ddi_get_instance(softsp->dip)); + ddi_get_name(softsp->dip), + ddi_get_instance(softsp->dip)); return (0); } if (softsp->address == (caddr_t)-1) { @@ -613,7 +613,7 @@ sbus_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) instance = ddi_get_instance(devi); if (ddi_soft_state_zalloc(sbus_cprp, instance) - != DDI_SUCCESS) + != DDI_SUCCESS) return (DDI_FAILURE); cpr_softsp = ddi_get_soft_state(sbus_cprp, instance); @@ -830,16 +830,16 @@ sbus_resume_init(struct sbus_soft_state *softsp, int resume) * 7 bit upaid into a 5bit value. */ *softsp->sysio_ctrl_reg |= - (uint64_t)STARFIRE_UPAID2HWIGN(softsp->upa_id) - << SYSIO_IGN; + (uint64_t)STARFIRE_UPAID2HWIGN(softsp->upa_id) + << SYSIO_IGN; #else /* for the rest of sun4u's */ *softsp->sysio_ctrl_reg |= - (uint64_t)softsp->upa_id << 51; + (uint64_t)softsp->upa_id << 51; /* Program in the interrupt group number */ *softsp->sysio_ctrl_reg |= - (uint64_t)softsp->upa_id << SYSIO_IGN; + (uint64_t)softsp->upa_id << SYSIO_IGN; #endif /* _STARFIRE */ /* @@ -850,10 +850,10 @@ sbus_resume_init(struct sbus_soft_state *softsp, int resume) /* Calculate our burstsizes now so we don't have to do it later */ sbus_burst_sizes = (SYSIO64_BURST_RANGE << SYSIO64_BURST_SHIFT) - | SYSIO_BURST_RANGE; + | SYSIO_BURST_RANGE; sbus_burst_sizes = ddi_getprop(DDI_DEV_T_ANY, softsp->dip, - DDI_PROP_DONTPASS, "up-burst-sizes", sbus_burst_sizes); + DDI_PROP_DONTPASS, "up-burst-sizes", sbus_burst_sizes); softsp->sbus_burst_sizes = sbus_burst_sizes & SYSIO_BURST_MASK; softsp->sbus64_burst_sizes = sbus_burst_sizes & SYSIO64_BURST_MASK; @@ -1415,7 +1415,7 @@ sbus_ctlops(dev_info_t *dip, dev_info_t *rdip, ddi_ctl_enum_t op, void *arg, void *result) { struct sbus_soft_state *softsp = (struct sbus_soft_state *) - ddi_get_soft_state(sbusp, ddi_get_instance(dip)); + ddi_get_soft_state(sbusp, ddi_get_instance(dip)); switch (op) { @@ -1821,7 +1821,7 @@ sbus_add_intr_impl(dev_info_t *dip, dev_info_t *rdip, #ifdef _STARFIRE tmp_mondo_vec = pc_translate_tgtid( softsp->ittrans_cookie, cpu_id, - mondo_vec_reg) << IMR_TID_SHIFT; + mondo_vec_reg) << IMR_TID_SHIFT; #else tmp_mondo_vec = cpu_id << IMR_TID_SHIFT; @@ -2082,7 +2082,7 @@ sbus_xlate_intrs(dev_info_t *dip, dev_info_t *rdip, uint32_t *intr, /* The sunfire i/o board has a soc in the printer slot */ if ((ino_table[ino]->clear_reg == PP_CLEAR) && ((strcmp(ddi_get_name(rdip), "soc") == 0) || - (strcmp(ddi_get_name(rdip), "SUNW,soc") == 0))) { + (strcmp(ddi_get_name(rdip), "SUNW,soc") == 0))) { *pil = SOC_PRIORITY; } else { /* Figure out the pil associated with this interrupt */ @@ -2230,7 +2230,7 @@ sbus_intrdist(void *arg) continue; mondo_vec_reg = (softsp->intr_mapping_reg + - ino_table[mondo]->mapping_reg); + ino_table[mondo]->mapping_reg); /* Don't reprogram the same register twice */ if (mondo_vec_reg == last_mondo_vec_reg) @@ -2353,7 +2353,7 @@ sbus_intr_reset(void *arg) for (mondo = 0; mondo < SZ_INO_TABLE; mondo++) { if (ino_table[mondo] == NULL || - ino_table[mondo]->clear_reg == NULL) { + ino_table[mondo]->clear_reg == NULL) { continue; } @@ -2431,10 +2431,10 @@ sbus_add_picN_kstats(dev_info_t *dip) */ (void) sprintf(pic_name, "pic%d", pic); /* pic0, pic1 ... */ if ((sbus_picN_ksp[pic] = kstat_create("sbus", - instance, pic_name, "bus", KSTAT_TYPE_NAMED, - SBUS_NUM_EVENTS + 1, NULL)) == NULL) { + instance, pic_name, "bus", KSTAT_TYPE_NAMED, + SBUS_NUM_EVENTS + 1, NULL)) == NULL) { cmn_err(CE_WARN, "sbus %s: kstat_create failed", - pic_name); + pic_name); /* remove pic0 kstat if pic1 create fails */ if (pic == 1) { @@ -2445,7 +2445,7 @@ sbus_add_picN_kstats(dev_info_t *dip) } sbus_pic_named_data = - (struct kstat_named *)(sbus_picN_ksp[pic]->ks_data); + (struct kstat_named *)(sbus_picN_ksp[pic]->ks_data); /* * when we are writing pcr_masks to the kstat we need to @@ -2462,12 +2462,12 @@ sbus_add_picN_kstats(dev_info_t *dip) /* pcr_mask */ sbus_pic_named_data[event].value.ui64 = - sbus_events_arr[event].pcr_mask << pic_shift; + sbus_events_arr[event].pcr_mask << pic_shift; /* event-name */ kstat_named_init(&sbus_pic_named_data[event], - sbus_events_arr[event].event_name, - KSTAT_DATA_UINT64); + sbus_events_arr[event].event_name, + KSTAT_DATA_UINT64); } /* @@ -2476,12 +2476,12 @@ sbus_add_picN_kstats(dev_info_t *dip) */ /* pcr mask */ sbus_pic_named_data[SBUS_NUM_EVENTS].value.ui64 = - sbus_clear_pic[pic].pcr_mask; + sbus_clear_pic[pic].pcr_mask; /* event-name */ kstat_named_init(&sbus_pic_named_data[SBUS_NUM_EVENTS], - sbus_clear_pic[pic].event_name, - KSTAT_DATA_UINT64); + sbus_clear_pic[pic].event_name, + KSTAT_DATA_UINT64); kstat_install(sbus_picN_ksp[pic]); } @@ -2514,27 +2514,27 @@ sbus_add_kstats(struct sbus_soft_state *softsp) * The size of this kstat is SBUS_NUM_PICS + 1 for %pcr */ if ((sbus_counters_ksp = kstat_create("sbus", - ddi_get_instance(softsp->dip), "counters", - "bus", KSTAT_TYPE_NAMED, SBUS_NUM_PICS + 1, - KSTAT_FLAG_WRITABLE)) == NULL) { + ddi_get_instance(softsp->dip), "counters", + "bus", KSTAT_TYPE_NAMED, SBUS_NUM_PICS + 1, + KSTAT_FLAG_WRITABLE)) == NULL) { cmn_err(CE_WARN, "sbus%d counters: kstat_create" - " failed", ddi_get_instance(softsp->dip)); + " failed", ddi_get_instance(softsp->dip)); return; } sbus_counters_named_data = - (struct kstat_named *)(sbus_counters_ksp->ks_data); + (struct kstat_named *)(sbus_counters_ksp->ks_data); /* initialize the named kstats */ kstat_named_init(&sbus_counters_named_data[0], - "pcr", KSTAT_DATA_UINT64); + "pcr", KSTAT_DATA_UINT64); kstat_named_init(&sbus_counters_named_data[1], - "pic0", KSTAT_DATA_UINT64); + "pic0", KSTAT_DATA_UINT64); kstat_named_init(&sbus_counters_named_data[2], - "pic1", KSTAT_DATA_UINT64); + "pic1", KSTAT_DATA_UINT64); sbus_counters_ksp->ks_update = sbus_counters_kstat_update; sbus_counters_ksp->ks_private = (void *)softsp; @@ -2564,7 +2564,7 @@ sbus_counters_kstat_update(kstat_t *ksp, int rw) */ *softsp->sbus_pcr = - (uint32_t)sbus_counters_data[0].value.ui64; + (uint32_t)sbus_counters_data[0].value.ui64; } else { /* @@ -2589,7 +2589,7 @@ sbus_counters_kstat_update(kstat_t *ksp, int rw) sbus_counters_data[1].value.ui64 = pic_register >> 32; /* pic1 */ sbus_counters_data[2].value.ui64 = - pic_register & SBUS_PIC0_MASK; + pic_register & SBUS_PIC0_MASK; } return (0); diff --git a/usr/src/uts/sun4u/io/todds1287.c b/usr/src/uts/sun4u/io/todds1287.c index 7436ecd5c2..be095bcb6f 100644 --- a/usr/src/uts/sun4u/io/todds1287.c +++ b/usr/src/uts/sun4u/io/todds1287.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * The "todds1287" module has implementation for both tod @@ -148,7 +147,8 @@ static struct dev_ops ds1287_ops = { nodev, /* reset */ &ds1287_cbops, /* cb_ops */ (struct bus_ops *)NULL, /* bus_ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; diff --git a/usr/src/uts/sun4u/io/todds1337.c b/usr/src/uts/sun4u/io/todds1337.c index 1a826fc279..a3f071c409 100644 --- a/usr/src/uts/sun4u/io/todds1337.c +++ b/usr/src/uts/sun4u/io/todds1337.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -131,12 +130,14 @@ static struct dev_ops ds1337_ops = { todds1337_detach, /* detach */ nodev, /* reset */ &ds1337_cbops, /* cb_ops - ds1337 does not need this(?) */ - NULL + NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv todds1337_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "tod driver for DS1337 %I%", /* Name of the module. */ + "tod driver for DS1337 1.12", /* Name of the module. */ &ds1337_ops, /* Pointer to dev_ops */ }; diff --git a/usr/src/uts/sun4u/io/upa64s.c b/usr/src/uts/sun4u/io/upa64s.c index 7d5afc38b2..9bd21bfc9b 100644 --- a/usr/src/uts/sun4u/io/upa64s.c +++ b/usr/src/uts/sun4u/io/upa64s.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -120,7 +119,8 @@ static struct dev_ops upa64s_ops = { nodev, (struct cb_ops *)0, &upa64s_bus_ops, - upa64s_power + upa64s_power, + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -131,7 +131,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* type of module */ - "UPA64S nexus driver %I%", /* name of module */ + "UPA64S nexus driver", /* name of module */ &upa64s_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4u/javelin/io/envctrltwo.c b/usr/src/uts/sun4u/javelin/io/envctrltwo.c index 3f38e62028..83ae6b477c 100644 --- a/usr/src/uts/sun4u/javelin/io/envctrltwo.c +++ b/usr/src/uts/sun4u/javelin/io/envctrltwo.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * ENVCTRLTWO_ Environment Monitoring driver for i2c on Javelin @@ -210,22 +209,23 @@ static struct cb_ops envctrl_cb_ops = { struct dev_ops envctrltwo_ops = { DEVO_REV, /* devo_rev */ 0, /* devo_refcnt */ - envctrl_getinfo, /* devo_getinfo */ + envctrl_getinfo, /* devo_getinfo */ nulldev, /* devo_identify */ nulldev, /* devo_probe */ envctrl_attach, /* devo_attach */ envctrl_detach, /* devo_detach */ nodev, /* devo_reset */ - &envctrl_cb_ops, /* devo_cb_ops */ + &envctrl_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv envctrlmodldrv = { &mod_driverops, /* type of module - driver */ - "I2C ENVCTRLTWO_driver: %I%", + "I2C ENVCTRLTWO_driver", &envctrltwo_ops, }; @@ -242,7 +242,7 @@ _init(void) if ((error = mod_install(&envctrlmodlinkage)) == 0) { (void) ddi_soft_state_init(&envctrlsoft_statep, - sizeof (struct envctrlunit), 1); + sizeof (struct envctrlunit), 1); } return (error); @@ -317,28 +317,28 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) overtemp_timeout_hz = drv_usectohz(ENVCTRL_UE250_OVERTEMP_TIMEOUT_USEC); blink_timeout_hz = drv_usectohz(ENVCTRL_UE250_BLINK_TIMEOUT_USEC); pshotplug_timeout_hz = - drv_usectohz(ENVCTRL_UE250_BLINK_TIMEOUT_USEC * 2); + drv_usectohz(ENVCTRL_UE250_BLINK_TIMEOUT_USEC * 2); /* * On a cooling failure, either a fan failure or temperature * exceeding a WARNING level, the temperature poll thread * will run every 6 seconds. */ warning_timeout_hz = - drv_usectohz(ENVCTRL_UE250_OVERTEMP_TIMEOUT_USEC / 6); + drv_usectohz(ENVCTRL_UE250_OVERTEMP_TIMEOUT_USEC / 6); if (ddi_soft_state_zalloc(envctrlsoft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); goto failed; } unitp = ddi_get_soft_state(envctrlsoft_statep, instance); if (ddi_regs_map_setup(dip, 0, (caddr_t *)&unitp->bus_ctl_regs, 0, - sizeof (struct ehc_pcd8584_regs), &attr, - &unitp->ctlr_handle) != DDI_SUCCESS) { + sizeof (struct ehc_pcd8584_regs), &attr, + &unitp->ctlr_handle) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: failed to map in bus_control regs\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -356,28 +356,28 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* add interrupts */ if (ddi_get_iblock_cookie(dip, 1, - &unitp->ic_trap_cookie) != DDI_SUCCESS) { + &unitp->ic_trap_cookie) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: ddi_get_iblock_cookie FAILED \n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); goto failed; } mutex_init(&unitp->umutex, NULL, MUTEX_DRIVER, - (void *)unitp->ic_trap_cookie); + (void *)unitp->ic_trap_cookie); if (ddi_add_intr(dip, 0, &unitp->ic_trap_cookie, NULL, envctrl_bus_isr, - (caddr_t)unitp) != DDI_SUCCESS) { + (caddr_t)unitp) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: failed to add hard intr \n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); goto remlock; } if (ddi_add_intr(dip, 1, &unitp->ic_trap_cookie, NULL, envctrl_dev_isr, - (caddr_t)unitp) != DDI_SUCCESS) { + (caddr_t)unitp) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: failed to add hard intr \n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); goto remhardintr; } @@ -406,7 +406,7 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } envctrl_probe_cpus(unitp); if ((unitp->cpu_pr_location[ENVCTRL_CPU0] == B_FALSE) || - (unitp->cpu_pr_location[ENVCTRL_CPU1] == B_FALSE)) + (unitp->cpu_pr_location[ENVCTRL_CPU1] == B_FALSE)) /* Only one CPU in the system */ unitp->num_temps_present = 5; else @@ -419,8 +419,8 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, "cpu-temp-factors", &creg_prop, &len) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, - "%s%d: Unable to read cpu-temp-factors property", - ddi_get_name(dip), instance); + "%s%d: Unable to read cpu-temp-factors property", + ddi_get_name(dip), instance); return (DDI_NOT_WELL_FORMED); } tblsz = (sizeof (_cpu_temps) / sizeof (uchar_t)); @@ -437,8 +437,8 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, "cpu-fan-speeds", &creg_prop, &len) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, - "%s%d: Unable to read cpu-fan-speeds property", - ddi_get_name(dip), instance); + "%s%d: Unable to read cpu-fan-speeds property", + ddi_get_name(dip), instance); return (DDI_NOT_WELL_FORMED); } tblsz = (sizeof (_cpu_fan_speeds) / sizeof (uchar_t)); @@ -455,8 +455,8 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, "thermisters", &creg_prop, &len) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, - "%s%d: Unable to read thermisters property", - ddi_get_name(dip), instance); + "%s%d: Unable to read thermisters property", + ddi_get_name(dip), instance); return (DDI_NOT_WELL_FORMED); } @@ -468,42 +468,43 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) unitp->temp_kstats[k].type = sensor_types[i]; /* Address */ t_addr[k] = creg_prop[j] << 24 | creg_prop[j+1] << 16 | - creg_prop[j+2] << 8 | creg_prop[j+3]; + creg_prop[j+2] << 8 | creg_prop[j+3]; j += 4; /* Port */ t_port[k] = creg_prop[j] << 24 | creg_prop[j+1] << 16 | - creg_prop[j+2] << 8 | creg_prop[j+3]; + creg_prop[j+2] << 8 | creg_prop[j+3]; j += 4; /* Min */ unitp->temp_kstats[k].min = - creg_prop[j] << 24 | creg_prop[j+1] << 16 | - creg_prop[j+2] << 8 | creg_prop[j+3]; + creg_prop[j] << 24 | creg_prop[j+1] << 16 | + creg_prop[j+2] << 8 | creg_prop[j+3]; j += 4; /* Warning threshold */ unitp->temp_kstats[k].warning_threshold = - creg_prop[j] << 24 | creg_prop[j+1] << 16 | - creg_prop[j+2] << 8 | creg_prop[j+3]; + creg_prop[j] << 24 | creg_prop[j+1] << 16 | + creg_prop[j+2] << 8 | creg_prop[j+3]; j += 4; /* Shutdown threshold */ unitp->temp_kstats[k].shutdown_threshold = - creg_prop[j] << 24 | creg_prop[j+1] << 16 | - creg_prop[j+2] << 8 | creg_prop[j+3]; + creg_prop[j] << 24 | creg_prop[j+1] << 16 | + creg_prop[j+2] << 8 | creg_prop[j+3]; j += 4; /* Numerator of scale factor */ t_scale_num[k] = creg_prop[j] << 24 | creg_prop[j+1] << 16 | - creg_prop[j+2] << 8 | creg_prop[j+3]; + creg_prop[j+2] << 8 | creg_prop[j+3]; j += 4; /* Denominator of scale factor */ t_scale_den[k] = creg_prop[j] << 24 | creg_prop[j+1] << 16 | - creg_prop[j+2] << 8 | creg_prop[j+3]; + creg_prop[j+2] << 8 | creg_prop[j+3]; j += 4; bcopy((caddr_t)&creg_prop[j], unitp->temp_kstats[k].label, - (size_t)sizeof (&creg_prop[j])); + (size_t)sizeof (&creg_prop[j])); while (creg_prop[j] != '\0') j++; j++; if (t_addr[k] == ENVCTRL_UE250_CPU_TEMP_DEV) { if (((t_port[k] == ENVCTRL_UE250_CPU0_PORT) && - (unitp->cpu_pr_location[ENVCTRL_CPU0] == B_FALSE)) || + (unitp->cpu_pr_location[ENVCTRL_CPU0] == + B_FALSE)) || ((t_port[k] == ENVCTRL_UE250_CPU1_PORT) && (unitp->cpu_pr_location[ENVCTRL_CPU1] == B_FALSE))) /* Don't increment the kstat line count */ @@ -546,10 +547,10 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ fanspeed = 0x0; status = envctrl_write_chip(unitp, ENVCTRL_PCF8591, EHC_DEV2, 0, - &fanspeed, 1); + &fanspeed, 1); if (status == DDI_FAILURE) cmn_err(CE_WARN, "%s%d: Write to PCF8591 (SETFAN) failed\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); /* * we need to init the fan kstats before the tempr_poll @@ -658,11 +659,11 @@ envctrl_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) case DDI_SUSPEND: if (!(unitp = ddi_get_soft_state(envctrlsoft_statep, instance))) - return (DDI_FAILURE); + return (DDI_FAILURE); mutex_enter(&unitp->umutex); if (unitp->suspended) { cmn_err(CE_WARN, "%s%d: envctrltwo already suspended\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); mutex_exit(&unitp->umutex); return (DDI_FAILURE); } @@ -672,7 +673,7 @@ envctrl_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) default: cmn_err(CE_WARN, "%s%d: suspend general fault\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -696,8 +697,8 @@ envctrl_getinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, switch (infocmd) { case DDI_INFO_DEVT2DEVINFO: if ((unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, - instance)) != NULL) { + ddi_get_soft_state(envctrlsoft_statep, + instance)) != NULL) { *result = unitp->dip; ret = DDI_SUCCESS; } else { @@ -729,7 +730,7 @@ envctrl_open(dev_t *dev, int flag, int otyp, cred_t *cred_p) if (instance < 0) return (ENXIO); unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, instance); + ddi_get_soft_state(envctrlsoft_statep, instance); if (unitp == NULL) return (ENXIO); @@ -763,7 +764,7 @@ envctrl_close(dev_t dev, int flag, int otyp, cred_t *cred_p) if (instance < 0) return (ENXIO); unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, instance); + ddi_get_soft_state(envctrlsoft_statep, instance); if (unitp == NULL) return (ENXIO); @@ -798,7 +799,7 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, #endif instance = getminor(dev); unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, instance); + ddi_get_soft_state(envctrlsoft_statep, instance); if ((cmd == ENVCTRL_IOC_SETFAN2) || (cmd == ENVCTRL_IOC_GETFAN2) || @@ -817,12 +818,12 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, case ENVCTRL_IOC_SETMODE: /* Set mode */ if (ddi_copyin((caddr_t)arg, (caddr_t)&wdval, sizeof (uint8_t), - flag)) { + flag)) { rval = EFAULT; break; } if (wdval == ENVCTRL_DIAG_MODE || - wdval == ENVCTRL_NORMAL_MODE) { + wdval == ENVCTRL_NORMAL_MODE) { mutex_enter(&unitp->umutex); unitp->current_mode = wdval; if (unitp->timeout_id != 0 && @@ -838,12 +839,13 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, */ tempr = 0x0; status = envctrl_write_chip(unitp, - ENVCTRL_PCF8591, EHC_DEV2, 0, - &tempr, 1); + ENVCTRL_PCF8591, EHC_DEV2, 0, + &tempr, 1); if (status == DDI_FAILURE) - cmn_err(CE_WARN, - "%s%d: Write to PCF8591 (SETMODE) failed\n", - driver_name, unitp->instance); + cmn_err(CE_WARN, + "%s%d: Write to PCF8591 " + "(SETMODE) failed\n", + driver_name, unitp->instance); /* * This delay allows the fans to time to @@ -863,7 +865,7 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, case ENVCTRL_IOC_GETMODE: wdval = unitp->current_mode; if (ddi_copyout((caddr_t)&wdval, (caddr_t)arg, - sizeof (uint8_t), flag)) { + sizeof (uint8_t), flag)) { rval = EFAULT; } break; @@ -891,19 +893,19 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, break; } if (((temp.chip_num != ENVCTRL_DEV2) && - (temp.chip_num != ENVCTRL_DEV7)) || - (temp.index > EHC_PCF8591_CH_3)) { + (temp.chip_num != ENVCTRL_DEV7)) || + (temp.index > EHC_PCF8591_CH_3)) { rval = EINVAL; break; } mutex_enter(&unitp->umutex); status = envctrl_read_chip(unitp, ENVCTRL_PCF8591, - temp.chip_num, temp.index, &temp.val, 1); + temp.chip_num, temp.index, &temp.val, 1); mutex_exit(&unitp->umutex); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read from PCF8591 (IOC_GETTEMP) failed", - driver_name, unitp->instance); + "%s%d: Read from PCF8591 (IOC_GETTEMP) failed", + driver_name, unitp->instance); rval = EINVAL; break; } @@ -927,8 +929,8 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, break; } if ((fanspeed.type != ENVCTRL_PCF8591) || - (fanspeed.chip_num != ENVCTRL_DEV2) || - (fanspeed.index > EHC_PCF8591_CH_3)) { + (fanspeed.chip_num != ENVCTRL_DEV2) || + (fanspeed.index > EHC_PCF8591_CH_3)) { rval = EINVAL; break; } @@ -936,8 +938,9 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, status = envctrl_set_fanspeed(unitp, &fanspeed); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Write to PCF8591 (IOC_SETFAN) failed", - driver_name, unitp->instance); + "%s%d: Write to PCF8591 " + "(IOC_SETFAN) failed", + driver_name, unitp->instance); rval = EINVAL; } mutex_exit(&unitp->umutex); @@ -952,20 +955,20 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, break; } if ((a_fanspeed.type != ENVCTRL_PCF8591) || - (a_fanspeed.chip_num != ENVCTRL_DEV2) || - (a_fanspeed.index != EHC_PCF8591_CH_1)) { + (a_fanspeed.chip_num != ENVCTRL_DEV2) || + (a_fanspeed.index != EHC_PCF8591_CH_1)) { rval = EINVAL; break; } mutex_enter(&unitp->umutex); status = envctrl_read_chip(unitp, ENVCTRL_PCF8591, - a_fanspeed.chip_num, a_fanspeed.index, - &a_fanspeed.val, 1); + a_fanspeed.chip_num, a_fanspeed.index, + &a_fanspeed.val, 1); mutex_exit(&unitp->umutex); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read of PCF8591 (IOC_GETFAN) failed", - driver_name, unitp->instance); + "%s%d: Read of PCF8591 (IOC_GETFAN) failed", + driver_name, unitp->instance); rval = EINVAL; break; } @@ -976,7 +979,7 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, * to more closely match the set value. */ if ((tfanspeed = ((int)a_fanspeed.val * JAV_FAN_SPEED_SF_NUM) / - JAV_FAN_SPEED_SF_DEN) > 255) + JAV_FAN_SPEED_SF_DEN) > 255) a_fanspeed.val = 255; else a_fanspeed.val = tfanspeed & 0xFF; @@ -993,7 +996,7 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, break; } if ((envcchip.type != ENVCTRL_PCF8574A) || - (envcchip.chip_num != ENVCTRL_DEV6)) { + (envcchip.chip_num != ENVCTRL_DEV6)) { rval = EINVAL; break; } @@ -1019,8 +1022,8 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, mutex_exit(&unitp->umutex); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read of PCF8574A (IOC_SETFSP) failed", - driver_name, unitp->instance); + "%s%d: Read of PCF8574A (IOC_SETFSP) failed", + driver_name, unitp->instance); rval = EINVAL; } break; @@ -1031,7 +1034,7 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, break; } if ((envcchip.type != ENVCTRL_PCF8574A) || - (envcchip.chip_num != ENVCTRL_DEV6)) { + (envcchip.chip_num != ENVCTRL_DEV6)) { rval = EINVAL; break; } @@ -1040,8 +1043,8 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, mutex_exit(&unitp->umutex); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read of PCF8574A (IOC_GETFSP) failed", - driver_name, unitp->instance); + "%s%d: Read of PCF8574A (IOC_GETFSP) failed", + driver_name, unitp->instance); rval = EINVAL; } else { envcchip.val = wdval; @@ -1058,7 +1061,7 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, break; } if ((ledchip.type != ENVCTRL_PCF8574A) || - (ledchip.chip_num != ENVCTRL_DEV7)) { + (ledchip.chip_num != ENVCTRL_DEV7)) { rval = EINVAL; break; } @@ -1075,7 +1078,7 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, break; } if ((ledchip.type != ENVCTRL_PCF8574A) || - (ledchip.chip_num != ENVCTRL_DEV7)) { + (ledchip.chip_num != ENVCTRL_DEV7)) { rval = EINVAL; break; } @@ -1102,11 +1105,11 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, } mutex_enter(&unitp->umutex); status = envctrl_write_chip(unitp, temp.type, temp.chip_num, - temp.index, &temp.val, 1); + temp.index, &temp.val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Write to chip (IOC_SETRAW) failed", - driver_name, unitp->instance); + "%s%d: Write to chip (IOC_SETRAW) failed", + driver_name, unitp->instance); rval = EINVAL; } mutex_exit(&unitp->umutex); @@ -1119,11 +1122,11 @@ envctrl_ioctl(dev_t dev, int cmd, intptr_t arg, int flag, cred_t *cred_p, } mutex_enter(&unitp->umutex); status = envctrl_read_chip(unitp, temp.type, temp.chip_num, - temp.index, &temp.val, 1); + temp.index, &temp.val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read of chip (IOC_GETRAW) failed", - driver_name, unitp->instance); + "%s%d: Read of chip (IOC_GETRAW) failed", + driver_name, unitp->instance); rval = EINVAL; } mutex_exit(&unitp->umutex); @@ -1193,8 +1196,8 @@ envctrl_dev_isr(caddr_t arg) do { status = ehc_read_pcf8574a((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, - &recv_data, 1); + ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, + &recv_data, 1); /* * This extra read is needed since the first read is discarded @@ -1202,8 +1205,8 @@ envctrl_dev_isr(caddr_t arg) */ if (recv_data == 0xFF) { status = ehc_read_pcf8574a((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, - &recv_data, 1); + ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, + &recv_data, 1); } /* @@ -1218,8 +1221,8 @@ envctrl_dev_isr(caddr_t arg) retrys++; } else { cmn_err(CE_WARN, - "%s%d: Read of PCF8574A (INT) failed\n", - driver_name, unitp->instance); + "%s%d: Read of PCF8574A (INT) failed\n", + driver_name, unitp->instance); ehc_init_pcf8584((struct ehc_envcunit *)unitp); mutex_exit(&unitp->umutex); ic = DDI_INTR_CLAIMED; @@ -1295,8 +1298,8 @@ envctrl_dev_isr(caddr_t arg) if ((recv_data == 0xFF)) { if (spurious_intr_count == 255) cmn_err(CE_WARN, - "%s%d: Received 256 spurious interrupts\n", - driver_name, unitp->instance); + "%s%d: Received 256 spurious interrupts\n", + driver_name, unitp->instance); spurious_intr_count++; ic = DDI_INTR_CLAIMED; } else @@ -1324,16 +1327,16 @@ envctrl_read_chip(struct envctrlunit *unitp, int type, int chip_num, int port, do { if (type == ENVCTRL_PCF8574A) { status = ehc_read_pcf8574a((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574A_BASE_ADDR | chip_num, - data, num); + ENVCTRL_UE250_PCF8574A_BASE_ADDR | chip_num, + data, num); } else if (type == ENVCTRL_PCF8574) { status = ehc_read_pcf8574((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574_BASE_ADDR | chip_num, - data, num); + ENVCTRL_UE250_PCF8574_BASE_ADDR | chip_num, + data, num); } else if (type == ENVCTRL_PCF8591) { status = ehc_read_pcf8591((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8591_BASE_ADDR | chip_num, - port, autoincr, 0, 1, data, num); + ENVCTRL_UE250_PCF8591_BASE_ADDR | chip_num, + port, autoincr, 0, 1, data, num); } /* * If the bus hangs, attempt a recovery @@ -1373,17 +1376,17 @@ envctrl_write_chip(struct envctrlunit *unitp, int type, int chip_num, int port, do { if (type == ENVCTRL_PCF8574A) { status = ehc_write_pcf8574a( - (struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574A_BASE_ADDR | chip_num, - data, num); + (struct ehc_envcunit *)unitp, + ENVCTRL_UE250_PCF8574A_BASE_ADDR | chip_num, + data, num); } else if (type == ENVCTRL_PCF8574) { status = ehc_write_pcf8574((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574_BASE_ADDR | chip_num, - data, num); + ENVCTRL_UE250_PCF8574_BASE_ADDR | chip_num, + data, num); } else if (type == ENVCTRL_PCF8591) { status = ehc_write_pcf8591((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8591_BASE_ADDR | chip_num, - port, autoincr, 0, 1, data, num); + ENVCTRL_UE250_PCF8591_BASE_ADDR | chip_num, + port, autoincr, 0, 1, data, num); } /* @@ -1421,10 +1424,10 @@ envctrl_get_cpu_temp(struct envctrlunit *unitp, int cpunum) */ status = envctrl_read_chip(unitp, ENVCTRL_PCF8591, EHC_DEV7, cpunum, - &recv_data, 1); + &recv_data, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: CPU TEMP read failed\n", - driver_name, unitp->instance); + driver_name, unitp->instance); return (ENVCTRL_UE250_MAX_CPU_TEMP - 10); } @@ -1461,7 +1464,7 @@ envctrl_tempr_poll(void *arg) if (envctrl_debug_flags) { cmn_err(CE_WARN, "%s%d: " "Tempr poll went off while in DIAG MODE\n", - driver_name, unitp->instance); + driver_name, unitp->instance); } } unitp->current_mode = ENVCTRL_NORMAL_MODE; @@ -1469,8 +1472,8 @@ envctrl_tempr_poll(void *arg) status = envctrl_check_sys_temperatures(unitp); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Failure detected during temperature poll", - driver_name, unitp->instance); + "%s%d: Failure detected during temperature poll", + driver_name, unitp->instance); } if (diag_flag == 0) { @@ -1489,14 +1492,14 @@ envctrl_tempr_poll(void *arg) if (unitp->timeout_id != 0) (void) untimeout(unitp->timeout_id); unitp->timeout_id = (timeout(envctrl_tempr_poll, - (caddr_t)unitp, warning_timeout_hz)); + (caddr_t)unitp, warning_timeout_hz)); } else { /* * No thermal warning or fan failure condition exists. * This thread is set to run every 60 seconds. */ unitp->timeout_id = (timeout(envctrl_tempr_poll, - (caddr_t)unitp, overtemp_timeout_hz)); + (caddr_t)unitp, overtemp_timeout_hz)); } mutex_exit(&unitp->umutex); @@ -1512,13 +1515,13 @@ envctrl_led_blink(void *arg) mutex_enter(&unitp->umutex); status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV6, - 0, &val, 1); + 0, &val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Failed to read FSP LEDs", - driver_name, unitp->instance); + driver_name, unitp->instance); /* now have this thread sleep for a while */ unitp->blink_timeout_id = (timeout(envctrl_led_blink, - (caddr_t)unitp, blink_timeout_hz)); + (caddr_t)unitp, blink_timeout_hz)); mutex_exit(&unitp->umutex); return; } @@ -1556,13 +1559,13 @@ envctrl_led_blink(void *arg) val = ~tmpval; status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV6, - 0, &val, 1); + 0, &val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Failed to blink activity LED", - driver_name, unitp->instance); + driver_name, unitp->instance); /* now have this thread sleep for a while */ unitp->blink_timeout_id = (timeout(envctrl_led_blink, - (caddr_t)unitp, blink_timeout_hz)); + (caddr_t)unitp, blink_timeout_hz)); mutex_exit(&unitp->umutex); return; } @@ -1584,15 +1587,15 @@ envctrl_check_sys_temperatures(struct envctrlunit *unitp) retrytemp1: status = envctrl_read_chip(unitp, ENVCTRL_PCF8591, EHC_DEV2, - 0, buf, 4); + 0, buf, 4); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Temperature read failed (PDB)", - driver_name, unitp->instance); + driver_name, unitp->instance); return (status); } warning_level = envctrl_check_tempr_levels(unitp, EHC_DEV2, - buf, warning_count); + buf, warning_count); level = warning_level; if (warning_level != green) { @@ -1613,15 +1616,15 @@ retrytemp1: warning_count = 0; retrytemp2: status = envctrl_read_chip(unitp, ENVCTRL_PCF8591, EHC_DEV7, - 0, buf+4, 4); + 0, buf+4, 4); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Temperature read failed (MBD)", - driver_name, unitp->instance); + driver_name, unitp->instance); return (status); } warning_level = envctrl_check_tempr_levels(unitp, EHC_DEV7, - buf+4, warning_count); + buf+4, warning_count); if (warning_level != green) { if (warning_count == 0) { @@ -1650,27 +1653,27 @@ retrytemp2: status = envctrl_get_fpm_status(unitp, &fspval); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read of Front Status Panel LEDs failed", - driver_name, unitp->instance); + "%s%d: Read of Front Status Panel LEDs failed", + driver_name, unitp->instance); } if ((unitp->tempr_warning == B_TRUE) || (unitp->shutdown == B_TRUE)) fspval |= (ENVCTRL_UE250_FSP_TEMP_ERR | - ENVCTRL_UE250_FSP_GEN_ERR); + ENVCTRL_UE250_FSP_GEN_ERR); else { if (envctrl_isother_fault_led(unitp, fspval, - ENVCTRL_UE250_FSP_TEMP_ERR)) { + ENVCTRL_UE250_FSP_TEMP_ERR)) { fspval &= ~(ENVCTRL_UE250_FSP_TEMP_ERR); } else { fspval &= ~(ENVCTRL_UE250_FSP_TEMP_ERR | - ENVCTRL_UE250_FSP_GEN_ERR); + ENVCTRL_UE250_FSP_GEN_ERR); } } status = envctrl_set_fsp(unitp, &fspval); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Setting of Front Status Panel LEDs failed", - driver_name, unitp->instance); + "%s%d: Setting of Front Status Panel LEDs failed", + driver_name, unitp->instance); } /* @@ -1680,7 +1683,7 @@ retrytemp2: if (unitp->timeout_id != 0) { (void) untimeout(unitp->timeout_id); unitp->timeout_id = (timeout(envctrl_tempr_poll, - (caddr_t)unitp, warning_timeout_hz)); + (caddr_t)unitp, warning_timeout_hz)); } } @@ -1703,32 +1706,32 @@ envctrl_check_tempr_levels(struct envctrlunit *unitp, int chip_num, if (chip_num == EHC_DEV2) { if (i == 1) { tval = ((int)data[i] * JAV_FAN_SPEED_SF_NUM) / - JAV_FAN_SPEED_SF_DEN; + JAV_FAN_SPEED_SF_DEN; if (tval > 255) unitp->fan_kstats.fanspeed = 255; else unitp->fan_kstats.fanspeed = tval; DPRINTF1("device %X, fan = %d %d\n", chip_num, - unitp->fan_kstats.fanspeed, data[i]); + unitp->fan_kstats.fanspeed, data[i]); continue; } else if (i == 2) continue; } if ((chip_num == EHC_DEV7) && ((i == ENVCTRL_UE250_CPU0_PORT) || - (i == ENVCTRL_UE250_CPU1_PORT))) + (i == ENVCTRL_UE250_CPU1_PORT))) if (unitp->cpu_pr_location[i] == B_FALSE) continue; j = 0; while ((((t_addr[j] & 0xF) != chip_num) || (t_port[j] != i)) && - (j < unitp->num_temps_present)) + (j < unitp->num_temps_present)) j++; if ((chip_num == EHC_DEV7) && ((i == ENVCTRL_UE250_CPU0_PORT) || - (i == ENVCTRL_UE250_CPU1_PORT))) + (i == ENVCTRL_UE250_CPU1_PORT))) temp_degree_c = _cpu_temps[data[i]]; else temp_degree_c = ((int)data[i] * t_scale_num[j]) / - t_scale_den[j]; + t_scale_den[j]; /* * Javelin hardware will not control fan speeds based on @@ -1740,29 +1743,31 @@ envctrl_check_tempr_levels(struct envctrlunit *unitp, int chip_num, * if cpu temperatures rise. */ if ((chip_num == EHC_DEV7) && ((i == ENVCTRL_UE250_CPU0_PORT) || - (i == ENVCTRL_UE250_CPU1_PORT)) && - (unitp->current_mode == ENVCTRL_NORMAL_MODE)) { + (i == ENVCTRL_UE250_CPU1_PORT)) && + (unitp->current_mode == ENVCTRL_NORMAL_MODE)) { if (_cpu_fan_speeds[data[ENVCTRL_UE250_CPU0_PORT]] > - _cpu_fan_speeds[data[ENVCTRL_UE250_CPU1_PORT]]) + _cpu_fan_speeds[data[ENVCTRL_UE250_CPU1_PORT]]) fanspeed = - _cpu_fan_speeds[data[ENVCTRL_UE250_CPU0_PORT]]; + _cpu_fan_speeds[ + data[ENVCTRL_UE250_CPU0_PORT]]; else fanspeed = - _cpu_fan_speeds[data[ENVCTRL_UE250_CPU1_PORT]]; + _cpu_fan_speeds[ + data[ENVCTRL_UE250_CPU1_PORT]]; status = envctrl_write_chip(unitp, ENVCTRL_PCF8591, - EHC_DEV2, 0, &fanspeed, 1); + EHC_DEV2, 0, &fanspeed, 1); if (status == DDI_FAILURE) cmn_err(CE_WARN, - "%s%d: Write to PCF8591 (SETFAN) failed\n", - driver_name, unitp->instance); + "%s%d: Write to PCF8591 (SETFAN) failed\n", + driver_name, unitp->instance); status = envctrl_read_chip(unitp, ENVCTRL_PCF8591, - EHC_DEV2, 0, buf, 4); + EHC_DEV2, 0, buf, 4); if (status == DDI_FAILURE) cmn_err(CE_WARN, - "%s%d: Fan speed read failed (PDB)", - driver_name, unitp->instance); + "%s%d: Fan speed read failed (PDB)", + driver_name, unitp->instance); tval = ((int)buf[1] * JAV_FAN_SPEED_SF_NUM) / - JAV_FAN_SPEED_SF_DEN; + JAV_FAN_SPEED_SF_DEN; if (tval > 255) unitp->fan_kstats.fanspeed = 255; else @@ -1770,30 +1775,33 @@ envctrl_check_tempr_levels(struct envctrlunit *unitp, int chip_num, } DPRINTF1("device %X, temp = %d %d loc = %s\n", chip_num, - temp_degree_c, data[i], unitp->temp_kstats[j].label); + temp_degree_c, data[i], unitp->temp_kstats[j].label); unitp->temp_kstats[j].value = temp_degree_c; if ((temp_degree_c >= - unitp->temp_kstats[j].warning_threshold) || - (temp_degree_c < unitp->temp_kstats[j].min)) { + unitp->temp_kstats[j].warning_threshold) || + (temp_degree_c < unitp->temp_kstats[j].min)) { if (warning_level < yellow) warning_level = yellow; if (count != 0) cmn_err(CE_WARN, - "TEMPERATURE WARNING: %d degrees celsius at location %s", - temp_degree_c, unitp->temp_kstats[j].label); + "TEMPERATURE WARNING: %d degrees " + "celsius at location %s", + temp_degree_c, unitp->temp_kstats[j].label); } if (temp_degree_c >= - unitp->temp_kstats[j].shutdown_threshold) { + unitp->temp_kstats[j].shutdown_threshold) { if (warning_level < red) warning_level = red; if (count != 0) { cmn_err(CE_WARN, - "TEMPERATURE CRITICAL: %d degrees celsius at location %s", - temp_degree_c, unitp->temp_kstats[j].label); + "TEMPERATURE CRITICAL: %d " + "degrees celsius at location %s", + temp_degree_c, unitp->temp_kstats[j].label); if (!envctrl_power_off_overide) cmn_err(CE_WARN, - "System shutdown in 10 seconds ..."); + "System shutdown in " + "10 seconds ..."); } } } @@ -1808,14 +1816,14 @@ envctrl_update_fanspeed(struct envctrlunit *unitp) int status; status = envctrl_read_chip(unitp, ENVCTRL_PCF8591, EHC_DEV2, - 0, buf, 4); + 0, buf, 4); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Fan speed read failed ", - driver_name, unitp->instance); + driver_name, unitp->instance); } tval = ((int)buf[ENVCTRL_PORT1] * JAV_FAN_SPEED_SF_NUM) / - JAV_FAN_SPEED_SF_DEN; + JAV_FAN_SPEED_SF_DEN; if (tval > 255) unitp->fan_kstats.fanspeed = 255; else @@ -1844,16 +1852,16 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) do { status = ehc_read_pcf8574a((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, - &recv_data, 1); + ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, + &recv_data, 1); /* * This extra read is needed since the first read is discarded * and the second read seems to return 0xFF. */ if (recv_data == 0xFF) { status = ehc_read_pcf8574a((struct ehc_envcunit *)unitp, - ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, - &recv_data, 1); + ENVCTRL_UE250_PCF8574A_BASE_ADDR | EHC_DEV0, + &recv_data, 1); } if (status == DDI_FAILURE) { @@ -1863,7 +1871,7 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) } else { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (INTFAN) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); ehc_init_pcf8584((struct ehc_envcunit *)unitp); return; } @@ -1875,7 +1883,7 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) if (unitp->fan_failed == B_TRUE) { if (unitp->current_mode == ENVCTRL_NORMAL_MODE) cmn_err(CE_CONT, - "Fan failure has been cleared\n"); + "Fan failure has been cleared\n"); unitp->fan_kstats.fans_ok = B_TRUE; /* * Clear general fault LED if no other faults @@ -1883,8 +1891,9 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) status = envctrl_get_fpm_status(unitp, &fpmstat); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read of Front Status Panel LEDs failed", - driver_name, unitp->instance); + "%s%d: Read of Front Status " + "Panel LEDs failed", + driver_name, unitp->instance); } if (!(envctrl_isother_fault_led(unitp, fpmstat, 0))) { fpmstat &= ~(ENVCTRL_UE250_FSP_GEN_ERR); @@ -1893,8 +1902,9 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) status = envctrl_set_fsp(unitp, &fpmstat); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: " - "Setting of Front Status Panel LEDs failed", - driver_name, unitp->instance); + "Setting of Front Status " + "Panel LEDs failed", + driver_name, unitp->instance); } } /* @@ -1907,7 +1917,7 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) if (unitp->fan_failed == B_FALSE) { if (unitp->current_mode == ENVCTRL_NORMAL_MODE) cmn_err(CE_WARN, - "Fan failure has been detected"); + "Fan failure has been detected"); unitp->fan_failed = B_TRUE; unitp->fan_kstats.fans_ok = B_FALSE; /* @@ -1916,16 +1926,17 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) status = envctrl_get_fpm_status(unitp, &fpmstat); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Read of Front Status Panel LEDs failed", - driver_name, unitp->instance); + "%s%d: Read of Front Status " + "Panel LEDs failed", + driver_name, unitp->instance); return; } fpmstat |= ENVCTRL_UE250_FSP_GEN_ERR; status = envctrl_set_fsp(unitp, &fpmstat); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: " - "Setting of Front Status Panel LEDs failed", - driver_name, unitp->instance); + "Setting of Front Status Panel LEDs failed", + driver_name, unitp->instance); } /* * A fan failure condition exists. @@ -1933,8 +1944,9 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) */ if (unitp->timeout_id != 0) { (void) untimeout(unitp->timeout_id); - unitp->timeout_id = (timeout(envctrl_tempr_poll, - (caddr_t)unitp, warning_timeout_hz)); + unitp->timeout_id = + (timeout(envctrl_tempr_poll, + (caddr_t)unitp, warning_timeout_hz)); } } } @@ -1999,18 +2011,18 @@ envctrl_reset_dflop(struct envctrlunit *unitp) value = ENVCTRL_UE250_DFLOP_INIT0; status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV0, - 0, &value, 1); + 0, &value, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (DFLOP_INIT0) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } value = ENVCTRL_UE250_DFLOP_INIT1; status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV0, - 0, &value, 1); + 0, &value, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (DFLOP_INIT1) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } } @@ -2025,18 +2037,18 @@ envctrl_enable_devintrs(struct envctrlunit *unitp) value = ENVCTRL_UE250_DEVINTR_INIT0; status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV0, - 0, &value, 1); + 0, &value, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (INTR_INIT0) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } value = ENVCTRL_UE250_DEVINTR_INIT1; status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV0, - 0, &value, 1); + 0, &value, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (INTR_INIT1) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } } @@ -2050,18 +2062,18 @@ envctrl_intr_latch_clr(struct envctrlunit *unitp) value = ENVCTRL_UE250_INTR_LATCH_INIT0; status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV0, - 0, &value, 1); + 0, &value, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (INTR_LATCH0) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } value = ENVCTRL_UE250_INTR_LATCH_INIT1; status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV0, - 0, &value, 1); + 0, &value, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (INTR_LATCH1) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } } @@ -2081,10 +2093,10 @@ envctrl_ps_probe(struct envctrlunit *unitp) unitp->num_ps_present = 0; status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV1, - 0, &recv_data, 1); + 0, &recv_data, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574 (PS) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return; } @@ -2126,7 +2138,7 @@ envctrl_ps_probe(struct envctrlunit *unitp) if (pspr[i] == 0) { cmn_err(CE_NOTE, - "Power Supply %d inserted\n", i); + "Power Supply %d inserted\n", i); } pspr[i] = 1; @@ -2140,7 +2152,7 @@ envctrl_ps_probe(struct envctrlunit *unitp) unitp->ps_kstats[j].ps_ok = B_TRUE; if (psok[i] == 0) cmn_err(CE_NOTE, - "Power Supply %d okay\n", i); + "Power Supply %d okay\n", i); psok[i] = 1; } @@ -2171,7 +2183,7 @@ envctrl_ps_probe(struct envctrlunit *unitp) } else { if (pspr[i] == 1) { cmn_err(CE_NOTE, - "Power Supply %d removed\n", i); + "Power Supply %d removed\n", i); } pspr[i] = 0; } @@ -2180,14 +2192,14 @@ envctrl_ps_probe(struct envctrlunit *unitp) status = envctrl_get_fpm_status(unitp, &fpmstat); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of Front Status Panel LEDs failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } if (ps_error) { fpmstat |= (ENVCTRL_UE250_FSP_PS_ERR | - ENVCTRL_UE250_FSP_GEN_ERR); + ENVCTRL_UE250_FSP_GEN_ERR); } else { if (envctrl_isother_fault_led(unitp, fpmstat, - ENVCTRL_UE250_FSP_PS_ERR)) { + ENVCTRL_UE250_FSP_PS_ERR)) { fpmstat &= ~(ENVCTRL_UE250_FSP_PS_ERR); } else { fpmstat &= ~(ENVCTRL_UE250_FSP_PS_ERR | @@ -2197,8 +2209,8 @@ envctrl_ps_probe(struct envctrlunit *unitp) status = envctrl_set_fsp(unitp, &fpmstat); if (status == DDI_FAILURE) { cmn_err(CE_WARN, - "%s%d: Setting of Front Status Panel LEDs failed", - driver_name, unitp->instance); + "%s%d: Setting of Front Status Panel LEDs failed", + driver_name, unitp->instance); } if (ps_error) { @@ -2225,7 +2237,7 @@ envctrl_abort_seq_handler(char *msg) */ for (i = 0; i < MAX_DEVS; i++) { if (unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, i)) + ddi_get_soft_state(envctrlsoft_statep, i)) break; } @@ -2234,14 +2246,14 @@ envctrl_abort_seq_handler(char *msg) secure = unitp->encl_kstats.value; if ((secure & ENVCTRL_UE250_FSP_KEYMASK) == - ENVCTRL_UE250_FSP_KEYLOCKED) { + ENVCTRL_UE250_FSP_KEYLOCKED) { cmn_err(CE_CONT, - "%s%d: ignoring debug enter sequence\n", - driver_name, unitp->instance); + "%s%d: ignoring debug enter sequence\n", + driver_name, unitp->instance); } else { if (envctrl_debug_flags) { cmn_err(CE_CONT, "%s%d: allowing debug enter\n", - driver_name, unitp->instance); + driver_name, unitp->instance); } debug_enter(msg); } @@ -2261,10 +2273,10 @@ envctrl_get_fpm_status(struct envctrlunit *unitp, uint8_t *val) ASSERT(MUTEX_HELD(&unitp->umutex)); status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV6, - 0, &recv_data, 1); + 0, &recv_data, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read from PCF8574A (FSP) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return (status); } @@ -2294,7 +2306,7 @@ envctrl_set_fsp(struct envctrlunit *unitp, uint8_t *val) * strip off bits that are R/O */ value = (~(ENVCTRL_UE250_FSP_KEYMASK | ENVCTRL_UE250_FSP_POMASK) & - (*val)); + (*val)); confirm_val_hold = value; @@ -2302,10 +2314,10 @@ envctrl_set_fsp(struct envctrlunit *unitp, uint8_t *val) while (confirm_count < confirm_max) { status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV6, - 0, &value, 1); + 0, &value, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (FSP) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); break; } else { /* @@ -2317,11 +2329,11 @@ envctrl_set_fsp(struct envctrlunit *unitp, uint8_t *val) */ status = envctrl_get_fpm_status(unitp, &confirm_val); confirm_val = ~(ENVCTRL_UE250_FSP_KEYMASK | - ENVCTRL_UE250_FSP_POMASK) & confirm_val; + ENVCTRL_UE250_FSP_POMASK) & confirm_val; if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (FSP) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); break; } else if (confirm_val != confirm_val_hold) { confirm_count++; @@ -2350,15 +2362,15 @@ envctrl_get_dskled(struct envctrlunit *unitp, struct envctrl_chip *chip) ASSERT(MUTEX_HELD(&unitp->umutex)); if (chip->chip_num != EHC_DEV7 || - chip->type != ENVCTRL_PCF8574A) { + chip->type != ENVCTRL_PCF8574A) { return (DDI_FAILURE); } status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV7, - 0, &chip->val, 1); + 0, &chip->val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (DISKFL) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } chip->val = ~chip->val; @@ -2389,42 +2401,42 @@ envctrl_set_dskled(struct envctrlunit *unitp, struct envctrl_chip *chip) return (DDI_FAILURE); status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV6, - 0, &val, 1); + 0, &val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (FSP) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return (status); } val = ~val; if ((chip->val & 0x3F) == 0) { if (!(envctrl_isother_fault_led(unitp, val, - ENVCTRL_UE250_FSP_DISK_ERR))) { + ENVCTRL_UE250_FSP_DISK_ERR))) { val &= ~(ENVCTRL_UE250_FSP_DISK_ERR); } else { val &= ~(ENVCTRL_UE250_FSP_DISK_ERR | ENVCTRL_UE250_FSP_GEN_ERR); } val = (val & ~(ENVCTRL_UE250_FSP_DISK_ERR | - ENVCTRL_UE250_FSP_GEN_ERR)); + ENVCTRL_UE250_FSP_GEN_ERR)); } else { val = (val | (ENVCTRL_UE250_FSP_DISK_ERR | - ENVCTRL_UE250_FSP_GEN_ERR)); + ENVCTRL_UE250_FSP_GEN_ERR)); } status = envctrl_set_fsp(unitp, &val); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write to PCF8574A (FSP) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return (status); } status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV5, - 0, &val, 1); + 0, &val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (DISKFL) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return (status); } @@ -2443,10 +2455,10 @@ envctrl_set_dskled(struct envctrlunit *unitp, struct envctrl_chip *chip) while (confirm_count < confirm_max) { status = envctrl_write_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV7, - 0, &chip->val, 1); + 0, &chip->val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Write PCF8574A (DISKFL) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return (status); } else { /* @@ -2497,12 +2509,12 @@ envctrl_set_fanspeed(struct envctrlunit *unitp, struct envctrl_chip *fanspeed) fanspeed_hold = fanspeed->val; while (confirm_count < confirm_max) { status = envctrl_write_chip(unitp, ENVCTRL_PCF8591, - EHC_DEV2, 0, &fanspeed->val, 1); + EHC_DEV2, 0, &fanspeed->val, 1); if (status == DDI_FAILURE) { envctrl_fan_fail_service(unitp); cmn_err(CE_WARN, "%s%d: Set fanspeed failed", driver_name, - unitp->instance); + unitp->instance); return (status); } else { drv_usecwait(100000); @@ -2510,11 +2522,12 @@ envctrl_set_fanspeed(struct envctrlunit *unitp, struct envctrl_chip *fanspeed) readback_speed = unitp->fan_kstats.fanspeed; if (fanspeed_hold > idle_fanspeed) { max_speed = - (fanspeed->val + FAN_DRIFT > MAX_FAN_SPEED) ? - MAX_FAN_SPEED : (fanspeed->val + FAN_DRIFT); + (fanspeed->val + FAN_DRIFT > + MAX_FAN_SPEED) ? MAX_FAN_SPEED : + (fanspeed->val + FAN_DRIFT); if ((readback_speed < fanspeed->val - - FAN_DRIFT) || - (readback_speed > max_speed)) { + FAN_DRIFT) || + (readback_speed > max_speed)) { confirm_count++; drv_usecwait(1000); continue; @@ -2541,7 +2554,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->encl_kstats), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "%s%d: encl raw kstat_create failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return; } @@ -2555,7 +2568,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->fan_kstats), KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) == NULL) { cmn_err(CE_WARN, "%s%d: fans kstat_create failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return; } @@ -2568,7 +2581,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->ps_kstats), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "%s%d: ps name kstat_create failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return; } @@ -2581,7 +2594,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->temp_kstats), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "%s%d: temp name kstat_create failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return; } @@ -2594,7 +2607,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->disk_kstats), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "%s%d: disk name kstat_create failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return; } @@ -2679,7 +2692,7 @@ envctrl_encl_kstat_update(kstat_t *ksp, int rw) status = envctrl_get_fpm_status(unitp, (uint8_t *)NULL); if (status == DDI_SUCCESS) bcopy((caddr_t)&unitp->encl_kstats, kstatp, - sizeof (unitp->encl_kstats)); + sizeof (unitp->encl_kstats)); } mutex_exit(&unitp->umutex); return (DDI_SUCCESS); @@ -2742,10 +2755,10 @@ envctrl_init_encl_kstats(struct envctrlunit *unitp) ASSERT(MUTEX_HELD(&unitp->umutex)); status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV6, - 0, &val, 1); + 0, &val, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (FSP) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); return; } @@ -2761,17 +2774,17 @@ envctrl_check_disk_kstats(struct envctrlunit *unitp) ASSERT(MUTEX_HELD(&unitp->umutex)); status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV5, - 0, &diskpr, 1); + 0, &diskpr, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (DISKPR) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } status = envctrl_read_chip(unitp, ENVCTRL_PCF8574A, EHC_DEV7, - 0, &diskfl, 1); + 0, &diskfl, 1); if (status == DDI_FAILURE) { cmn_err(CE_WARN, "%s%d: Read of PCF8574A (DISKFL) failed", - driver_name, unitp->instance); + driver_name, unitp->instance); } envctrl_update_disk_kstats(unitp, diskpr, diskfl); @@ -2837,12 +2850,12 @@ envctrl_match_cpu(dev_info_t *dip, void *arg) (void) sprintf(name1, "%s", ENVCTRL_ULTRA2CPU_STRING); if ((strcmp(ddi_node_name(dip), name) == 0) || - (strcmp(ddi_node_name(dip), name1) == 0)) { + (strcmp(ddi_node_name(dip), name1) == 0)) { if ((cpu_slot = (int)ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "upa-portid", - -1)) == -1) { + DDI_PROP_DONTPASS, "upa-portid", + -1)) == -1) { cmn_err(CE_WARN, "%s%d: no cpu upa-portid", - driver_name, unitp->instance); + driver_name, unitp->instance); } else { unitp->cpu_pr_location[cpu_slot] = B_TRUE; unitp->num_cpus_present++; diff --git a/usr/src/uts/sun4u/littleneck/io/pcf8574_lneck.c b/usr/src/uts/sun4u/littleneck/io/pcf8574_lneck.c index 6ce9a186a0..8b0bcd007e 100644 --- a/usr/src/uts/sun4u/littleneck/io/pcf8574_lneck.c +++ b/usr/src/uts/sun4u/littleneck/io/pcf8574_lneck.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/stat.h> /* ddi_create_minor_node S_IFCHR */ @@ -98,14 +96,16 @@ static struct dev_ops pcf8574_ops = { pcf8574_detach, nodev, &pcf8574_cbops, - NULL + NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv pcf8574_modldrv = { &mod_driverops, /* type of module - driver */ - "PCF8574 i2c device driver: v%I%", + "PCF8574 i2c device driver: v1.9", &pcf8574_ops }; @@ -131,7 +131,7 @@ _init(void) if (!error) (void) ddi_soft_state_init(&pcf8574soft_statep, - sizeof (struct pcf8574_unit), 1); + sizeof (struct pcf8574_unit), 1); return (error); } @@ -170,7 +170,7 @@ pcf8574_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574soft_statep, instance); + ddi_get_soft_state(pcf8574soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -214,7 +214,7 @@ pcf8574_close(dev_t dev, int flags, int otyp, cred_t *credp) return (ENXIO); } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574soft_statep, instance); + ddi_get_soft_state(pcf8574soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -308,14 +308,14 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if (arg == NULL) { D2CMN_ERR((CE_WARN, "PCF8574: ioctl: arg passed in to ioctl " - "= NULL\n")); + "= NULL\n")); err = EINVAL; return (err); } instance = getminor(dev); unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574soft_statep, instance); + ddi_get_soft_state(pcf8574soft_statep, instance); if (unitp == NULL) { cmn_err(CE_WARN, "PCF8574: ioctl: unitp not filled\n"); return (ENOMEM); @@ -326,10 +326,10 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, switch (cmd) { case I2C_GET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_PORT" - " ddi_copyin routine\n", - unitp->pcf8574_name)); + " ddi_copyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } @@ -337,30 +337,30 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_PORT" - " pcf8574_get routine\n", - unitp->pcf8574_name)); + " pcf8574_get routine\n", + unitp->pcf8574_name)); break; } ioctl_port.value = byte; if (ddi_copyout((caddr_t)&ioctl_port, (caddr_t)arg, - sizeof (i2c_port_t), mode) != DDI_SUCCESS) { + sizeof (i2c_port_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_PORT " - "ddi_copyout routine\n", - unitp->pcf8574_name)); + "ddi_copyout routine\n", + unitp->pcf8574_name)); err = EFAULT; } D1CMN_ERR((CE_NOTE, "%s: contains %x\n", unitp->pcf8574_name, - byte)); + byte)); break; case I2C_SET_PORT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_port, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_PORT" - "ddi_cpoyin routine\n", - unitp->pcf8574_name)); + "ddi_cpoyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } @@ -368,26 +368,26 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_set(unitp, ioctl_port.value); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_PORT" - " pcf8574_set routine\n", - unitp->pcf8574_name)); + " pcf8574_set routine\n", + unitp->pcf8574_name)); break; } break; case I2C_GET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_BIT" - " ddi_copyin routine\n", - unitp->pcf8574_name)); + " ddi_copyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } if (ioctl_bit.bit_num > 7) { D2CMN_ERR((CE_WARN, "%s: In I2C_GET_BIT bit num" - " was not between 0 and 7\n", - unitp->pcf8574_name)); + " was not between 0 and 7\n", + unitp->pcf8574_name)); err = EIO; break; } @@ -395,41 +395,41 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_GET_BIT" - " pcf8574_get routine\n", - unitp->pcf8574_name)); + " pcf8574_get routine\n", + unitp->pcf8574_name)); break; } D1CMN_ERR((CE_NOTE, "%s: byte returned from device is %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); ioctl_bit.bit_value = (boolean_t)PCF8574_BIT_READ_MASK(byte, - ioctl_bit.bit_num); + ioctl_bit.bit_num); D1CMN_ERR((CE_NOTE, "%s: byte now contains %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); if (ddi_copyout((caddr_t)&ioctl_bit, (caddr_t)arg, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_GET_BIT" - " ddi_copyout routine\n", - unitp->pcf8574_name)); + " ddi_copyout routine\n", + unitp->pcf8574_name)); err = EFAULT; } break; case I2C_SET_BIT: if (ddi_copyin((caddr_t)arg, (caddr_t)&ioctl_bit, - sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { + sizeof (i2c_bit_t), mode) != DDI_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in I2C_SET_BIT" - " ddi_copyin routine\n", - unitp->pcf8574_name)); + " ddi_copyin routine\n", + unitp->pcf8574_name)); err = EFAULT; break; } if (ioctl_bit.bit_num > 7) { D2CMN_ERR((CE_WARN, "%s: I2C_SET_BIT: bit_num sent" - " in was not between 0 and 7", - unitp->pcf8574_name)); + " in was not between 0 and 7", + unitp->pcf8574_name)); err = EIO; break; } @@ -437,30 +437,30 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, err = pcf8574_get(unitp, &byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_BIT" - " pcf8574_get routine\n", - unitp->pcf8574_name)); + " pcf8574_get routine\n", + unitp->pcf8574_name)); break; } D1CMN_ERR((CE_NOTE, "%s: byte returned from device is %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); byte = PCF8574_BIT_WRITE_MASK(byte, ioctl_bit.bit_num, - ioctl_bit.bit_value); + ioctl_bit.bit_value); D1CMN_ERR((CE_NOTE, "%s: byte after shifting is %x\n", - unitp->pcf8574_name, byte)); + unitp->pcf8574_name, byte)); err = pcf8574_set(unitp, byte); if (err != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in the I2C_SET_BIT" - " pcf8574_set routine\n", - unitp->pcf8574_name)); + " pcf8574_set routine\n", + unitp->pcf8574_name)); break; } break; default: D2CMN_ERR((CE_WARN, "%s: Invalid IOCTL cmd: %x\n", - unitp->pcf8574_name, cmd)); + unitp->pcf8574_name, cmd)); err = EINVAL; } @@ -506,7 +506,7 @@ pcf8574_do_attach(dev_info_t *dip) if (ddi_soft_state_zalloc(pcf8574soft_statep, instance) != 0) { cmn_err(CE_WARN, "%s%d: failed to zalloc softstate\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (DDI_FAILURE); } @@ -514,18 +514,18 @@ pcf8574_do_attach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } (void) snprintf(unitp->pcf8574_name, sizeof (unitp->pcf8574_name), - "%s%d", ddi_node_name(dip), instance); + "%s%d", ddi_node_name(dip), instance); if (ddi_create_minor_node(dip, "pcf8574", S_IFCHR, instance, - "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { + "ddi_i2c:ioexp", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "%s ddi_create_minor_node failed for " - "%s\n", unitp->pcf8574_name, "pcf8574"); + "%s\n", unitp->pcf8574_name, "pcf8574"); ddi_soft_state_free(pcf8574soft_statep, instance); return (DDI_FAILURE); @@ -539,8 +539,8 @@ pcf8574_do_attach(dev_info_t *dip) } err = ddi_prop_lookup_int_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, - "reg", (int **)®s, &len); + DDI_PROP_DONTPASS, + "reg", (int **)®s, &len); if (err != DDI_PROP_SUCCESS) { return (DDI_FAILURE); } @@ -553,7 +553,7 @@ pcf8574_do_attach(dev_info_t *dip) if (regs[0] == 0 && regs[1] == 0x7c) { abort_seq_handler = littleneck_abort_seq_handler; keypoll_timeout_hz = - drv_usectohz(LNECK_KEY_POLL_INTVL * MICROSEC); + drv_usectohz(LNECK_KEY_POLL_INTVL * MICROSEC); littleneck_ks_poll(unitp); } @@ -592,7 +592,7 @@ pcf8574_do_detach(dev_info_t *dip) if (unitp == NULL) { cmn_err(CE_WARN, "%s%d: unitp not filled\n", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); return (ENOMEM); } @@ -620,7 +620,7 @@ littleneck_ks_poll(void *arg) if (pcf8574_get(unitp, &byte) != I2C_SUCCESS) { D2CMN_ERR((CE_WARN, "%s: Failed in littleneck_ks_poll" - " pcf8574_get routine\n", unitp->pcf8574_name)); + " pcf8574_get routine\n", unitp->pcf8574_name)); mutex_exit(&unitp->pcf8574_mutex); return; } @@ -629,10 +629,10 @@ littleneck_ks_poll(void *arg) * 5th bit in the byte is the key LOCKED position */ key_locked_bit = (boolean_t)PCF8574_BIT_READ_MASK(byte, - LNECK_KEY_POLL_BIT); + LNECK_KEY_POLL_BIT); keypoll_timeout_id = (timeout(littleneck_ks_poll, - (caddr_t)unitp, keypoll_timeout_hz)); + (caddr_t)unitp, keypoll_timeout_hz)); mutex_exit(&unitp->pcf8574_mutex); } @@ -643,7 +643,7 @@ littleneck_abort_seq_handler(char *msg) if (key_locked_bit == 0) cmn_err(CE_CONT, "KEY in LOCKED position, " - "ignoring debug enter sequence\n"); + "ignoring debug enter sequence\n"); else { D1CMN_ERR((CE_CONT, "debug enter sequence \n")); debug_enter(msg); diff --git a/usr/src/uts/sun4u/lw2plus/io/lombus.c b/usr/src/uts/sun4u/lw2plus/io/lombus.c index 0ea088fb64..dc556e20df 100644 --- a/usr/src/uts/sun4u/lw2plus/io/lombus.c +++ b/usr/src/uts/sun4u/lw2plus/io/lombus.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * The "lombus" driver provides access to the LOMlite2 virtual registers, @@ -32,7 +32,6 @@ * registers signify - only the clients need this information. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Header files @@ -2235,13 +2234,15 @@ static struct dev_ops lombus_dev_ops = lombus_detach, /* detach */ lombus_reset, /* reset */ &lombus_cb_ops, /* driver operations */ - &lombus_bus_ops /* bus operations */ + &lombus_bus_ops, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "lombus driver, v%I%", + "lombus driver", &lombus_dev_ops }; diff --git a/usr/src/uts/sun4u/lw8/io/lw8.c b/usr/src/uts/sun4u/lw8/io/lw8.c index 473a1f340c..ca2048a49a 100644 --- a/usr/src/uts/sun4u/lw8/io/lw8.c +++ b/usr/src/uts/sun4u/lw8/io/lw8.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/time.h> #include <sys/errno.h> @@ -121,7 +120,8 @@ static struct dev_ops lw8_ops = { nodev, /* reset */ &lw8_cb_ops, /* pointer to cb_ops structure */ (struct bus_ops *)NULL, - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_needed, /* quiesce() */ }; /* @@ -131,7 +131,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is a driver */ - "Netra-T12 control driver v%I%", /* Name of the module */ + "Netra-T12 control driver", /* Name of the module */ &lw8_ops /* pointer to the dev_ops structure */ }; @@ -367,7 +367,7 @@ lw8_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) return (DDI_FAILURE); err = ddi_create_minor_node(dip, "lw8", S_IFCHR, - instance, DDI_PSEUDO, NULL); + instance, DDI_PSEUDO, NULL); if (err != DDI_SUCCESS) return (DDI_FAILURE); @@ -462,17 +462,17 @@ lw8_add_intr_handlers() &lw8_shutdown_payload_msg, NULL, &lw8_shutdown_hdlr_lock); if (err != 0) { cmn_err(CE_WARN, "Failed to register MBOX_EVENT_LW8 " - " handler. Err=%d", err); + " handler. Err=%d", err); return (DDI_FAILURE); } lw8_dr_payload_msg.msg_buf = (caddr_t)&lw8_dr_payload; lw8_dr_payload_msg.msg_len = sizeof (lw8_dr_payload); err = sbbc_mbox_reg_intr(MBOX_EVENT_GENERIC, lw8_dr_data_handler, - &lw8_dr_payload_msg, NULL, &lw8_dr_hdlr_lock); + &lw8_dr_payload_msg, NULL, &lw8_dr_hdlr_lock); if (err != 0) { cmn_err(CE_WARN, "Failed to register MBOX_EVENT_GENERIC " - " handler. Err=%d", err); + " handler. Err=%d", err); sbbc_mbox_unreg_intr(MBOX_EVENT_LW8, lw8_event_data_handler); return (DDI_FAILURE); } @@ -480,10 +480,10 @@ lw8_add_intr_handlers() lw8_env_payload_msg.msg_buf = (caddr_t)&lw8_env_payload; lw8_env_payload_msg.msg_len = sizeof (lw8_env_payload); err = sbbc_mbox_reg_intr(MBOX_EVENT_ENV, lw8_env_data_handler, - &lw8_env_payload_msg, NULL, &lw8_env_hdlr_lock); + &lw8_env_payload_msg, NULL, &lw8_env_hdlr_lock); if (err != 0) { cmn_err(CE_WARN, "Failed to register MBOX_EVENT_ENV " - " handler. Err=%d", err); + " handler. Err=%d", err); sbbc_mbox_unreg_intr(MBOX_EVENT_GENERIC, lw8_dr_data_handler); sbbc_mbox_unreg_intr(MBOX_EVENT_LW8, lw8_event_data_handler); return (DDI_FAILURE); @@ -514,19 +514,19 @@ lw8_remove_intr_handlers(void) err = sbbc_mbox_unreg_intr(MBOX_EVENT_LW8, lw8_event_data_handler); if (err != 0) { cmn_err(CE_WARN, "Failed to unregister MBOX_EVENT_LW8 " - "handler. Err=%d", err); + "handler. Err=%d", err); rv = DDI_FAILURE; } err = sbbc_mbox_unreg_intr(MBOX_EVENT_GENERIC, lw8_dr_data_handler); if (err != 0) { cmn_err(CE_WARN, "Failed to unregister MBOX_EVENT_GENERIC " - "handler. Err=%d", err); + "handler. Err=%d", err); rv = DDI_FAILURE; } err = sbbc_mbox_unreg_intr(MBOX_EVENT_ENV, lw8_env_data_handler); if (err != 0) { cmn_err(CE_WARN, "Failed to unregister MBOX_EVENT_ENV " - "handler. Err=%d", err); + "handler. Err=%d", err); rv = DDI_FAILURE; } err = sbbc_mbox_unreg_intr(INFO_MBOX, lw8_cap_ecc_msg_handler); @@ -1394,7 +1394,7 @@ lw8_logger(caddr_t arg) /* Ensure NUL termination */ lw8_logmsgp->msg[ - sizeof (lw8_logmsgp->msg) - 1] = '\0'; + sizeof (lw8_logmsgp->msg) - 1] = '\0'; strlog(0, 0, 0, SL_CONSOLE | level, lw8_logmsgp->msg); } diff --git a/usr/src/uts/sun4u/lw8/io/sgenv.c b/usr/src/uts/sun4u/lw8/io/sgenv.c index 663efa6a6f..a00f2b741a 100644 --- a/usr/src/uts/sun4u/lw8/io/sgenv.c +++ b/usr/src/uts/sun4u/lw8/io/sgenv.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Serengeti Environmental Information driver (sgenv) @@ -168,7 +167,8 @@ static struct dev_ops sgenv_ops = { nodev, /* reset */ &sgenv_cb_ops, /* pointer to cb_ops structure */ (struct bus_ops *)NULL, - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_needed, /* quiesce() */ }; /* @@ -178,7 +178,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is a driver */ - "Environmental Driver v%I%", /* Name of the module */ + "Environmental Driver", /* Name of the module */ &sgenv_ops /* pointer to the dev_ops structure */ }; @@ -416,7 +416,7 @@ _init(void) int error = 0; error = ddi_soft_state_init(&sgenv_statep, - sizeof (sgenv_soft_state_t), 1); + sizeof (sgenv_soft_state_t), 1); if (error) return (error); @@ -497,7 +497,7 @@ sgenv_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) err = ddi_soft_state_zalloc(sgenv_statep, instance); if (err != DDI_SUCCESS) { cmn_err(CE_WARN, "attach: could not allocate state " - "structure for inst %d.", instance); + "structure for inst %d.", instance); return (DDI_FAILURE); } @@ -505,7 +505,7 @@ sgenv_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (softsp == NULL) { ddi_soft_state_free(sgenv_statep, instance); cmn_err(CE_WARN, "attach: could not get state " - "structure for inst %d.", instance); + "structure for inst %d.", instance); return (DDI_FAILURE); } @@ -546,7 +546,7 @@ sgenv_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } err = ddi_create_minor_node(dip, SGENV_DRV_NAME, S_IFCHR, - instance, DDI_PSEUDO, NULL); + instance, DDI_PSEUDO, NULL); if (err != DDI_SUCCESS) { sgenv_remove_kstats(softsp); sgenv_remove_cache_update_threads(); @@ -597,7 +597,7 @@ sgenv_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) softsp = ddi_get_soft_state(sgenv_statep, instance); if (softsp == NULL) { cmn_err(CE_WARN, "detach: could not get state " - "structure for inst %d.", instance); + "structure for inst %d.", instance); return (DDI_FAILURE); } @@ -644,15 +644,15 @@ sgenv_add_kstats(sgenv_soft_state_t *softsp) * Create the 'keyswitch position' named kstat. */ ksp = kstat_create(SGENV_DRV_NAME, inst, SG_KEYSWITCH_KSTAT_NAME, - "misc", KSTAT_TYPE_NAMED, 1, NULL); + "misc", KSTAT_TYPE_NAMED, 1, NULL); if (ksp != NULL) { /* initialize the named kstat */ keyswitch_named_data = (struct kstat_named *)(ksp->ks_data); kstat_named_init(&keyswitch_named_data[0], - POSITION_KSTAT_NAME, - KSTAT_DATA_INT32); + POSITION_KSTAT_NAME, + KSTAT_DATA_INT32); ksp->ks_update = sgenv_keyswitch_kstat_update; kstat_install(ksp); @@ -670,8 +670,8 @@ sgenv_add_kstats(sgenv_soft_state_t *softsp) * Environmental Information. */ ksp = kstat_create(SGENV_DRV_NAME, inst, SG_ENV_INFO_KSTAT_NAME, - "misc", KSTAT_TYPE_RAW, 0, - KSTAT_FLAG_VIRTUAL | KSTAT_FLAG_VAR_SIZE); + "misc", KSTAT_TYPE_RAW, 0, + KSTAT_FLAG_VIRTUAL | KSTAT_FLAG_VAR_SIZE); if (ksp != NULL) { ksp->ks_data = NULL; @@ -695,8 +695,8 @@ sgenv_add_kstats(sgenv_soft_state_t *softsp) * Board Status Information. */ ksp = kstat_create(SGENV_DRV_NAME, inst, SG_BOARD_STATUS_KSTAT_NAME, - "misc", KSTAT_TYPE_RAW, 0, - KSTAT_FLAG_VIRTUAL | KSTAT_FLAG_VAR_SIZE); + "misc", KSTAT_TYPE_RAW, 0, + KSTAT_FLAG_VIRTUAL | KSTAT_FLAG_VAR_SIZE); if (ksp != NULL) { ksp->ks_data = NULL; @@ -775,10 +775,10 @@ sgenv_add_intr_handlers(void) keysw_payload_msg.msg_len = sizeof (keysw_payload); err = sbbc_mbox_reg_intr(MBOX_EVENT_KEY_SWITCH, sgenv_keyswitch_handler, - &keysw_payload_msg, NULL, &keysw_hdlr_lock); + &keysw_payload_msg, NULL, &keysw_hdlr_lock); if (err != 0) { cmn_err(CE_WARN, "Failed to register MBOX_EVENT_KEY_SWITCH " - "handler. Err=%d", err); + "handler. Err=%d", err); return (DDI_FAILURE); } @@ -792,10 +792,10 @@ sgenv_add_intr_handlers(void) env_payload_msg.msg_len = sizeof (env_payload); err = sbbc_mbox_reg_intr(MBOX_EVENT_ENV, sgenv_env_data_handler, - &env_payload_msg, NULL, &env_hdlr_lock); + &env_payload_msg, NULL, &env_hdlr_lock); if (err != 0) { cmn_err(CE_WARN, "Failed to register MBOX_EVENT_ENV " - "(env) handler. Err=%d", err); + "(env) handler. Err=%d", err); return (DDI_FAILURE); } @@ -809,10 +809,10 @@ sgenv_add_intr_handlers(void) fan_payload_msg.msg_len = sizeof (fan_payload); err = sbbc_mbox_reg_intr(MBOX_EVENT_ENV, sgenv_fan_status_handler, - &fan_payload_msg, NULL, &env_hdlr_lock); + &fan_payload_msg, NULL, &env_hdlr_lock); if (err != 0) { cmn_err(CE_WARN, "Failed to register MBOX_EVENT_ENV (fan)" - "handler. Err=%d", err); + "handler. Err=%d", err); return (DDI_FAILURE); } @@ -825,10 +825,10 @@ sgenv_add_intr_handlers(void) dr_payload_msg.msg_len = sizeof (dr_payload); err = sbbc_mbox_reg_intr(MBOX_EVENT_GENERIC, sgenv_dr_event_handler, - &dr_payload_msg, NULL, &dr_hdlr_lock); + &dr_payload_msg, NULL, &dr_hdlr_lock); if (err != 0) { cmn_err(CE_WARN, "Failed to register MBOX_EVENT_GENERIC (DR)" - "handler. Err=%d", err); + "handler. Err=%d", err); return (DDI_FAILURE); } @@ -849,31 +849,31 @@ sgenv_remove_intr_handlers(void) int err; err = sbbc_mbox_unreg_intr(MBOX_EVENT_KEY_SWITCH, - sgenv_keyswitch_handler); + sgenv_keyswitch_handler); if (err != 0) { cmn_err(CE_WARN, "Failed to unregister MBOX_EVENT_KEY_SWITCH " - "handler. Err=%d", err); + "handler. Err=%d", err); rv = DDI_FAILURE; } err = sbbc_mbox_unreg_intr(MBOX_EVENT_ENV, sgenv_env_data_handler); if (err != 0) { cmn_err(CE_WARN, "Failed to unregister MBOX_EVENT_ENV (env)" - "handler. Err=%d", err); + "handler. Err=%d", err); rv = DDI_FAILURE; } err = sbbc_mbox_unreg_intr(MBOX_EVENT_ENV, sgenv_fan_status_handler); if (err != 0) { cmn_err(CE_WARN, "Failed to unregister MBOX_EVENT_ENV (fan)" - "handler. Err=%d", err); + "handler. Err=%d", err); rv = DDI_FAILURE; } err = sbbc_mbox_unreg_intr(MBOX_EVENT_GENERIC, sgenv_dr_event_handler); if (err != 0) { cmn_err(CE_WARN, "Failed to unregister MBOX_EVENT_GENERIC (DR) " - "handler. Err=%d", err); + "handler. Err=%d", err); rv = DDI_FAILURE; } @@ -973,7 +973,7 @@ sgenv_keyswitch_kstat_update(kstat_t *ksp, int rw) rv = -1; } else if ((rv = iosram_read(SBBC_KEYSWITCH_KEY, 0, - (char *)&posn, size)) != 0) { + (char *)&posn, size)) != 0) { posn = SG_KEYSWITCH_POSN_UNKNOWN; } else { @@ -1126,9 +1126,9 @@ sgenv_env_info_kstat_update(kstat_t *ksp, int rw) * it here. */ if ((env_cache_snapshot != NULL) && - (env_cache_snapshot_size > 0)) { + (env_cache_snapshot_size > 0)) { DCMN_ERR_CACHE(CE_NOTE, "%s freeing " - "env_cache_snapshot buf", f); + "env_cache_snapshot buf", f); kmem_free(env_cache_snapshot, env_cache_snapshot_size); } @@ -1137,7 +1137,7 @@ sgenv_env_info_kstat_update(kstat_t *ksp, int rw) */ env_cache_snapshot_size = ksp->ks_data_size; env_cache_snapshot = kmem_zalloc( - env_cache_snapshot_size, KM_SLEEP); + env_cache_snapshot_size, KM_SLEEP); /* * We need to take a fresh snapshot of the env_cache here. @@ -1151,7 +1151,7 @@ sgenv_env_info_kstat_update(kstat_t *ksp, int rw) continue; ASSERT(vol_sensor_count[key_posn] <= - SGENV_MAX_SENSORS_PER_KEY); + SGENV_MAX_SENSORS_PER_KEY); /* * <env_cache> entry should have been allocated @@ -1163,7 +1163,7 @@ sgenv_env_info_kstat_update(kstat_t *ksp, int rw) */ if (env_cache[key_posn] == NULL) { DCMN_ERR(CE_NOTE, "!Cache entry %d has " - "disappeared", key_posn); + "disappeared", key_posn); vol_sensor_count[key_posn] = 0; continue; } @@ -1412,8 +1412,8 @@ sgenv_board_info_kstat_snapshot(kstat_t *ksp, void *buf, int rw) for (i = 0; i < SG_MAX_BDS; i++) { bdp = &board_cache_snapshot[i]; DCMN_ERR_CACHE(CE_NOTE, "%s: looking at " - "cache_snapshot entry[%d], node=%d", - f, i, bdp->node_id); + "cache_snapshot entry[%d], node=%d", + f, i, bdp->node_id); if (bdp->node_id >= 0) { /* * Need a check to ensure that the buf @@ -1432,9 +1432,9 @@ sgenv_board_info_kstat_snapshot(kstat_t *ksp, void *buf, int rw) } DCMN_ERR_CACHE(CE_NOTE, "%s: about to bcopy" - " cache_snapshot entry[%d], node=%d," - " board=%d", f, i, bdp->node_id, - bdp->board_num); + " cache_snapshot entry[%d], node=%d," + " board=%d", f, i, bdp->node_id, + bdp->board_num); bcopy(bdp, buf, sizeof (sg_board_info_t)); buf = ((sg_board_info_t *)buf) + 1; } @@ -1503,11 +1503,11 @@ sgenv_get_env_info_data(void) */ ASSERT(env_cache[i] != NULL); ASSERT(env_cache[i][0].sd_id.id.sensor_part == - SG_SENSOR_PART_SCAPP); + SG_SENSOR_PART_SCAPP); ASSERT(env_cache[i][0].sd_id.id.sensor_type == - SG_SENSOR_TYPE_ENVDB); + SG_SENSOR_TYPE_ENVDB); ASSERT(SG_INFO_VALUESTATUS(env_cache[i][0].sd_infostamp) - == SG_INFO_VALUE_OK); + == SG_INFO_VALUE_OK); old_key = env_cache[i][0].sd_value; } @@ -1589,10 +1589,10 @@ sgenv_get_env_info_data(void) } err = sgenv_get_env_data(new_keys[i], i, - SG_GET_ENV_CONSTANTS, &status); + SG_GET_ENV_CONSTANTS, &status); if (err) { err = sgenv_handle_env_data_error(err, status, - i, old_key, "Constant Data"); + i, old_key, "Constant Data"); mutex_exit(&env_cache_lock); if (err != DDI_FAILURE) { continue; @@ -1604,10 +1604,10 @@ sgenv_get_env_info_data(void) } err = sgenv_get_env_data(new_keys[i], i, - SG_GET_ENV_THRESHOLDS, &status); + SG_GET_ENV_THRESHOLDS, &status); if (err) { err = sgenv_handle_env_data_error(err, status, - i, old_key, "Threshold Data"); + i, old_key, "Threshold Data"); mutex_exit(&env_cache_lock); if (err != DDI_FAILURE) { continue; @@ -1619,10 +1619,10 @@ sgenv_get_env_info_data(void) } err = sgenv_get_env_data(new_keys[i], i, - SG_GET_ENV_VOLATILES, &status); + SG_GET_ENV_VOLATILES, &status); if (err) { err = sgenv_handle_env_data_error(err, status, - i, old_key, "Volatile Data (fresh)"); + i, old_key, "Volatile Data (fresh)"); mutex_exit(&env_cache_lock); if (err != DDI_FAILURE) { continue; @@ -1662,10 +1662,10 @@ sgenv_get_env_info_data(void) /* Update the volatile data */ err = sgenv_get_env_data(new_keys[i], i, - SG_GET_ENV_VOLATILES, &status); + SG_GET_ENV_VOLATILES, &status); if (err) { err = sgenv_handle_env_data_error(err, status, - i, old_key, "Volatile Data (update)"); + i, old_key, "Volatile Data (update)"); mutex_exit(&env_cache_lock); if (err == DDI_FAILURE) { return (0); @@ -1765,12 +1765,12 @@ sgenv_get_board_info_data(void) * Any incorrect values are reset to the default time. */ if (sgenv_max_mbox_wait_time <= - max(sbbc_mbox_min_timeout, 0)) + max(sbbc_mbox_min_timeout, 0)) sgenv_max_mbox_wait_time = - sbbc_mbox_default_timeout; + sbbc_mbox_default_timeout; rv = sbbc_mbox_request_response(&req, &resp, - sgenv_max_mbox_wait_time); + sgenv_max_mbox_wait_time); status = resp.msg_status; if ((rv) || (status != SG_MBOX_STATUS_SUCCESS)) { @@ -1779,7 +1779,7 @@ sgenv_get_board_info_data(void) */ if (status > SG_MBOX_STATUS_SUCCESS) { sgenv_mbox_error_msg("Board Info", rv, - resp.msg_status); + resp.msg_status); return (rv); } @@ -1788,9 +1788,9 @@ sgenv_get_board_info_data(void) */ if (status == SG_MBOX_STATUS_ILLEGAL_NODE) { sgenv_mbox_error_msg("Board Info", rv, - resp.msg_status); + resp.msg_status); node_present[node] = - SGENV_NO_NODE_EXISTS; + SGENV_NO_NODE_EXISTS; /* * No point looping through the rest of @@ -1799,7 +1799,7 @@ sgenv_get_board_info_data(void) break; } else if (status == - SG_MBOX_STATUS_ILLEGAL_SLOT) { + SG_MBOX_STATUS_ILLEGAL_SLOT) { /* * We clear the bit representing <board> @@ -1807,11 +1807,11 @@ sgenv_get_board_info_data(void) * cannot exist on this chassis. */ node_present[node] &= (~(1 << board) & - SGENV_NODE_TYPE_DS); + SGENV_NODE_TYPE_DS); continue; } else if (status == - SG_MBOX_STATUS_BOARD_ACCESS_DENIED) { + SG_MBOX_STATUS_BOARD_ACCESS_DENIED) { /* * We cannot access data for this slot, * however we may be able to do so in @@ -1822,9 +1822,9 @@ sgenv_get_board_info_data(void) char err_msg[40]; sprintf(err_msg, "Board data for " - "Node%d/Slot%d", node, board); + "Node%d/Slot%d", node, board); sgenv_mbox_error_msg(err_msg, rv, - resp.msg_status); + resp.msg_status); if (rv == 0) rv = status; @@ -1855,8 +1855,8 @@ sgenv_get_board_info_data(void) */ ptr->node_id = -1; DCMN_ERR_CACHE(CE_NOTE, "%s: " - "Clearing cache line %d [%p]", - f, board, ptr); + "Clearing cache line %d [%p]", + f, board, ptr); } } else { /* @@ -1871,9 +1871,9 @@ sgenv_get_board_info_data(void) * update the board_cache entry */ DCMN_ERR_CACHE(CE_NOTE, "%s: " - "Writing data for bd=%d into " - " the board_cache at [%p]", - f, board, ptr); + "Writing data for bd=%d into " + " the board_cache at [%p]", + f, board, ptr); ptr->node_id = node; ptr->board_num = board; ptr->condition = shbp->s_cond; @@ -1881,7 +1881,7 @@ sgenv_get_board_info_data(void) ptr->claimed = shbp->s_claimed; ptr->present = shbp->s_present; ptr->led.led_status = - shbp->s_ledstatus; + shbp->s_ledstatus; last_board_read_time = gethrtime(); } mutex_exit(&board_cache_lock); @@ -2058,25 +2058,25 @@ sgenv_get_env_data(envresp_key_t key, int key_posn, uint16_t flag, int *status) if (flag == SG_GET_ENV_CONSTANTS) { env_cache[key_posn][i].sd_id.tag_id = - buf.con[i].id.tag_id; + buf.con[i].id.tag_id; env_cache[key_posn][i].sd_lo = - buf.con[i].lo; + buf.con[i].lo; env_cache[key_posn][i].sd_hi = - buf.con[i].hi; + buf.con[i].hi; } else if (flag == SG_GET_ENV_VOLATILES) { env_cache[key_posn][i].sd_value = - buf.vol[i].value; + buf.vol[i].value; env_cache[key_posn][i].sd_infostamp = - buf.vol[i].info; + buf.vol[i].info; sgenv_set_sensor_status(&env_cache[key_posn][i]); } else if (flag == SG_GET_ENV_THRESHOLDS) { env_cache[key_posn][i].sd_lo_warn = - buf.thr[i].lo_warn; + buf.thr[i].lo_warn; env_cache[key_posn][i].sd_hi_warn = - buf.thr[i].hi_warn; + buf.thr[i].hi_warn; } } @@ -2126,7 +2126,7 @@ sgenv_handle_env_data_error(int err, int status, int key_posn, * correct key values and we can get the correct data. */ DCMN_ERR_CACHE(CE_NOTE, "key @ posn %d has changed from %d" - " while %s", key_posn, key, str); + " while %s", key_posn, key, str); rv = ENXIO; break; @@ -2158,7 +2158,7 @@ sgenv_clear_env_cache_entry(int key_posn) if (env_cache[key_posn] != NULL) { kmem_free(env_cache[key_posn], sizeof (env_sensor_t) * - SGENV_MAX_SENSORS_PER_KEY); + SGENV_MAX_SENSORS_PER_KEY); env_cache[key_posn] = NULL; vol_sensor_count[key_posn] = 0; } @@ -2184,15 +2184,15 @@ sgenv_mbox_error_msg(char *str, int err, int status) switch (err) { case ENOTSUP: DCMN_ERR(CE_WARN, "!This system configuration does not " - "support SGENV"); + "support SGENV"); break; case ETIMEDOUT: DCMN_ERR(CE_WARN, "!Mailbox timed out while servicing " - "SGENV request for %s", str); + "SGENV request for %s", str); break; default: DCMN_ERR(CE_WARN, "!Error occurred reading %s, Errno=%d," - " Status=%d", str, err, status); + " Status=%d", str, err, status); break; } #endif @@ -2218,10 +2218,10 @@ sgenv_create_env_cache_entry(int key_posn) ASSERT(key_posn >= 0); env_cache[key_posn] = (env_sensor_t *)kmem_zalloc( - sizeof (env_sensor_t) * SGENV_MAX_SENSORS_PER_KEY, KM_NOSLEEP); + sizeof (env_sensor_t) * SGENV_MAX_SENSORS_PER_KEY, KM_NOSLEEP); if (env_cache[key_posn] == NULL) { cmn_err(CE_WARN, "Failed to allocate memory for env_cache[%d]", - key_posn); + key_posn); return (DDI_FAILURE); } @@ -2242,7 +2242,7 @@ sgenv_destroy_env_cache(void) for (i = 0; i < SGENV_MAX_HPU_KEYS; i++) { if (env_cache[i] != NULL) { kmem_free(env_cache[i], sizeof (env_sensor_t) * - SGENV_MAX_SENSORS_PER_KEY); + SGENV_MAX_SENSORS_PER_KEY); env_cache[i] = NULL; vol_sensor_count[i] = 0; } @@ -2273,7 +2273,7 @@ sgenv_update_env_kstat_size(kstat_t *ksp) * sensors in the collection <i>. */ ksp->ks_data_size += vol_sensor_count[i] * - sizeof (env_sensor_t); + sizeof (env_sensor_t); } ASSERT(ksp->ks_data_size >= 0); } @@ -2310,7 +2310,7 @@ sgenv_check_sensor_thresholds(void) status = sensor.sd_status; if (SG_GET_SENSOR_STATUS(status) == - SG_GET_PREV_SENSOR_STATUS(status)) { + SG_GET_PREV_SENSOR_STATUS(status)) { continue; } @@ -2363,12 +2363,12 @@ sgenv_set_valid_node_positions(uint_t *node_present) rdip = ddi_root_node(); for (dip = ddi_get_child(rdip); dip != NULL; - dip = ddi_get_next_sibling(dip)) { + dip = ddi_get_next_sibling(dip)) { if (strncmp("ssm", ddi_node_name(dip), 3) == 0) { int value; value = ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "nodeid", 0); + DDI_PROP_DONTPASS, "nodeid", 0); /* * If we get a valid nodeID which has not already @@ -2388,8 +2388,8 @@ sgenv_set_valid_node_positions(uint_t *node_present) * this out from the msg_status from the mailbox. */ if ((value >= 0) && - (value < SSM_MAX_INSTANCES) && - (node_present[value] == SGENV_NO_NODE_EXISTS)) { + (value < SSM_MAX_INSTANCES) && + (node_present[value] == SGENV_NO_NODE_EXISTS)) { node_present[value] = SGENV_NODE_TYPE_DS; } @@ -2428,7 +2428,7 @@ sgenv_set_sensor_status(env_sensor_t *sensor) */ if (sensor->sd_value == SGENV_FAN_SPEED_HIGH) { SG_SET_SENSOR_STATUS(*status, - SG_SENSOR_STATUS_FAN_HIGH); + SG_SENSOR_STATUS_FAN_HIGH); } else if (sensor->sd_value == SGENV_FAN_SPEED_LOW) { SG_SET_SENSOR_STATUS(*status, SG_SENSOR_STATUS_FAN_LOW); @@ -2438,7 +2438,7 @@ sgenv_set_sensor_status(env_sensor_t *sensor) } else { SG_SET_SENSOR_STATUS(*status, - SG_SENSOR_STATUS_FAN_FAIL); + SG_SENSOR_STATUS_FAN_FAIL); } /* @@ -2460,14 +2460,14 @@ sgenv_set_sensor_status(env_sensor_t *sensor) default: if (sensor->sd_value > sensor->sd_hi) { SG_SET_SENSOR_STATUS(*status, - SG_SENSOR_STATUS_HI_DANGER); + SG_SENSOR_STATUS_HI_DANGER); } else if (sensor->sd_value > sensor->sd_hi_warn) { SG_SET_SENSOR_STATUS(*status, SG_SENSOR_STATUS_HI_WARN); } else if (sensor->sd_value < sensor->sd_lo) { SG_SET_SENSOR_STATUS(*status, - SG_SENSOR_STATUS_LO_DANGER); + SG_SENSOR_STATUS_LO_DANGER); } else if (sensor->sd_value < sensor->sd_lo_warn) { SG_SET_SENSOR_STATUS(*status, SG_SENSOR_STATUS_LO_WARN); @@ -2557,14 +2557,14 @@ sgenv_tagid_to_string(sensor_id_t id, char *str) type_str = sgenv_get_type_str(id.id.sensor_type); sprintf(str, "Sensor: Node=%d, Board=%s%d, Device=%s%d, Type=%s%d" - ": reading has ", - id.id.node_id, - ((hpu_str != NULL) ? hpu_str : ""), - id.id.hpu_slot, - ((part_str != NULL) ? part_str : ""), - id.id.sensor_partnum, - ((type_str != NULL) ? type_str : ""), - id.id.sensor_typenum); + ": reading has ", + id.id.node_id, + ((hpu_str != NULL) ? hpu_str : ""), + id.id.hpu_slot, + ((part_str != NULL) ? part_str : ""), + id.id.sensor_partnum, + ((type_str != NULL) ? type_str : ""), + id.id.sensor_typenum); } @@ -2613,10 +2613,10 @@ sgenv_keyswitch_handler(char *arg) * Allocate memory for sysevent buffer. */ ev = sysevent_alloc(EC_DOMAIN, ESC_DOMAIN_STATE_CHANGE, - EP_SGENV, SE_NOSLEEP); + EP_SGENV, SE_NOSLEEP); if (ev == NULL) { cmn_err(CE_WARN, "%s: Failed to alloc mem for %s/%s event", - f, EC_DOMAIN, ESC_DOMAIN_STATE_CHANGE); + f, EC_DOMAIN, ESC_DOMAIN_STATE_CHANGE); return (DDI_INTR_CLAIMED); } @@ -2627,11 +2627,11 @@ sgenv_keyswitch_handler(char *arg) se_val.value_type = SE_DATA_TYPE_STRING; se_val.value.sv_string = DOMAIN_KEYSWITCH; err = sysevent_add_attr(&ev_attr_list, DOMAIN_WHAT_CHANGED, - &se_val, SE_NOSLEEP); + &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - DOMAIN_WHAT_CHANGED, EC_DOMAIN, - ESC_DOMAIN_STATE_CHANGE); + DOMAIN_WHAT_CHANGED, EC_DOMAIN, + ESC_DOMAIN_STATE_CHANGE); sysevent_free(ev); return (DDI_INTR_CLAIMED); } @@ -2642,7 +2642,7 @@ sgenv_keyswitch_handler(char *arg) */ if (sysevent_attach_attributes(ev, ev_attr_list) != 0) { cmn_err(CE_WARN, "Failed to attach attr list for %s/%s event", - EC_DOMAIN, ESC_DOMAIN_STATE_CHANGE); + EC_DOMAIN, ESC_DOMAIN_STATE_CHANGE); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_INTR_CLAIMED); @@ -2650,7 +2650,7 @@ sgenv_keyswitch_handler(char *arg) err = log_sysevent(ev, SE_NOSLEEP, &eid); if (err != 0) { cmn_err(CE_WARN, "Failed to log %s/%s event", - EC_DOMAIN, ESC_DOMAIN_STATE_CHANGE); + EC_DOMAIN, ESC_DOMAIN_STATE_CHANGE); sysevent_free(ev); return (DDI_INTR_CLAIMED); } @@ -2765,7 +2765,7 @@ sgenv_fan_status_handler(char *arg) ev = sysevent_alloc(EC_ENV, ESC_ENV_FAN, EP_SGENV, SE_NOSLEEP); if (ev == NULL) { cmn_err(CE_WARN, "%s: Failed to alloc mem for %s/%s event", - f, EC_ENV, ESC_ENV_FAN); + f, EC_ENV, ESC_ENV_FAN); return (DDI_INTR_CLAIMED); } @@ -2785,7 +2785,7 @@ sgenv_fan_status_handler(char *arg) err = sysevent_add_attr(&ev_attr_list, ENV_FRU_ID, &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_FRU_ID, EC_ENV, ESC_ENV_FAN); + ENV_FRU_ID, EC_ENV, ESC_ENV_FAN); sysevent_free(ev); return (DDI_INTR_CLAIMED); } @@ -2793,10 +2793,10 @@ sgenv_fan_status_handler(char *arg) se_val.value_type = SE_DATA_TYPE_STRING; se_val.value.sv_string = ENV_RESERVED_ATTR; err = sysevent_add_attr(&ev_attr_list, ENV_FRU_RESOURCE_ID, - &se_val, SE_NOSLEEP); + &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_FRU_RESOURCE_ID, EC_ENV, ESC_ENV_FAN); + ENV_FRU_RESOURCE_ID, EC_ENV, ESC_ENV_FAN); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_INTR_CLAIMED); @@ -2805,10 +2805,10 @@ sgenv_fan_status_handler(char *arg) se_val.value_type = SE_DATA_TYPE_STRING; se_val.value.sv_string = ENV_RESERVED_ATTR; err = sysevent_add_attr(&ev_attr_list, ENV_FRU_DEVICE, - &se_val, SE_NOSLEEP); + &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_FRU_DEVICE, EC_ENV, ESC_ENV_FAN); + ENV_FRU_DEVICE, EC_ENV, ESC_ENV_FAN); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_INTR_CLAIMED); @@ -2832,10 +2832,10 @@ sgenv_fan_status_handler(char *arg) } err = sysevent_add_attr(&ev_attr_list, ENV_FRU_STATE, - &se_val, SE_NOSLEEP); + &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_FRU_STATE, EC_ENV, ESC_ENV_FAN); + ENV_FRU_STATE, EC_ENV, ESC_ENV_FAN); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_INTR_CLAIMED); @@ -2846,7 +2846,7 @@ sgenv_fan_status_handler(char *arg) * Create the message to be sent to sysevent. */ sprintf(fan_str, "The status of the fan in Node%d/Slot%d is now ", - payload->node_id, payload->slot_number); + payload->node_id, payload->slot_number); switch (payload->fan_speed) { case SGENV_FAN_SPEED_OFF: strcat(fan_str, SGENV_FAN_SPEED_OFF_STR); @@ -2873,7 +2873,7 @@ sgenv_fan_status_handler(char *arg) err = sysevent_add_attr(&ev_attr_list, ENV_MSG, &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_MSG, EC_ENV, ESC_ENV_FAN); + ENV_MSG, EC_ENV, ESC_ENV_FAN); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_INTR_CLAIMED); @@ -2885,7 +2885,7 @@ sgenv_fan_status_handler(char *arg) */ if (sysevent_attach_attributes(ev, ev_attr_list) != 0) { cmn_err(CE_WARN, "Failed to attach attr list for %s/%s event", - EC_ENV, ESC_ENV_FAN); + EC_ENV, ESC_ENV_FAN); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_INTR_CLAIMED); @@ -2893,7 +2893,7 @@ sgenv_fan_status_handler(char *arg) err = log_sysevent(ev, SE_NOSLEEP, &eid); if (err != 0) { cmn_err(CE_WARN, "Failed to log %s/%s event", - EC_ENV, ESC_ENV_FAN); + EC_ENV, ESC_ENV_FAN); sysevent_free(ev); return (DDI_INTR_CLAIMED); } @@ -2946,7 +2946,7 @@ sgenv_process_threshold_event(env_sensor_t sensor) ev = sysevent_alloc(EC_ENV, ESC_ENV_TEMP, EP_SGENV, SE_NOSLEEP); if (ev == NULL) { cmn_err(CE_WARN, "Failed to allocate sysevent buffer " - "for %s/%s event", EC_ENV, ESC_ENV_TEMP); + "for %s/%s event", EC_ENV, ESC_ENV_TEMP); return (DDI_FAILURE); } break; @@ -2954,10 +2954,10 @@ sgenv_process_threshold_event(env_sensor_t sensor) default: temp_event_type = FALSE; ev = sysevent_alloc(EC_ENV, ESC_ENV_POWER, - EP_SGENV, SE_NOSLEEP); + EP_SGENV, SE_NOSLEEP); if (ev == NULL) { cmn_err(CE_WARN, "Failed to allocate sysevent buffer " - "for %s/%s event", EC_ENV, ESC_ENV_POWER); + "for %s/%s event", EC_ENV, ESC_ENV_POWER); return (DDI_FAILURE); } break; @@ -2979,8 +2979,8 @@ sgenv_process_threshold_event(env_sensor_t sensor) err = sysevent_add_attr(&ev_attr_list, ENV_FRU_ID, &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_FRU_ID, EC_ENV, - (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); + ENV_FRU_ID, EC_ENV, + (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); sysevent_free(ev); return (DDI_FAILURE); } @@ -2988,11 +2988,11 @@ sgenv_process_threshold_event(env_sensor_t sensor) se_val.value_type = SE_DATA_TYPE_STRING; se_val.value.sv_string = ENV_RESERVED_ATTR; err = sysevent_add_attr(&ev_attr_list, ENV_FRU_RESOURCE_ID, - &se_val, SE_NOSLEEP); + &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_FRU_RESOURCE_ID, EC_ENV, - (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); + ENV_FRU_RESOURCE_ID, EC_ENV, + (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_FAILURE); @@ -3001,11 +3001,11 @@ sgenv_process_threshold_event(env_sensor_t sensor) se_val.value_type = SE_DATA_TYPE_STRING; se_val.value.sv_string = ENV_RESERVED_ATTR; err = sysevent_add_attr(&ev_attr_list, ENV_FRU_DEVICE, - &se_val, SE_NOSLEEP); + &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_FRU_DEVICE, EC_ENV, - (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); + ENV_FRU_DEVICE, EC_ENV, + (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_FAILURE); @@ -3037,12 +3037,12 @@ sgenv_process_threshold_event(env_sensor_t sensor) * Add ENV_FRU_STATE attribute. */ err = sysevent_add_attr(&ev_attr_list, ENV_FRU_STATE, - &se_val, SE_NOSLEEP); + &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr[%s] for %s/%s event " - "(Err=%d)", ENV_FRU_STATE, EC_ENV, - (temp_event_type ? ESC_ENV_TEMP: ESC_ENV_POWER), - err); + "(Err=%d)", ENV_FRU_STATE, EC_ENV, + (temp_event_type ? ESC_ENV_TEMP: ESC_ENV_POWER), + err); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_FAILURE); @@ -3095,8 +3095,8 @@ sgenv_process_threshold_event(env_sensor_t sensor) err = sysevent_add_attr(&ev_attr_list, ENV_MSG, &se_val, SE_NOSLEEP); if (err != 0) { cmn_err(CE_WARN, "Failed to add attr [%s] for %s/%s event", - ENV_MSG, EC_ENV, - (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); + ENV_MSG, EC_ENV, + (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_FAILURE); @@ -3108,8 +3108,8 @@ sgenv_process_threshold_event(env_sensor_t sensor) */ if (sysevent_attach_attributes(ev, ev_attr_list) != 0) { cmn_err(CE_WARN, "Failed to attach attr list for %s/%s event", - EC_ENV, - (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); + EC_ENV, + (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); sysevent_free_attr(ev_attr_list); sysevent_free(ev); return (DDI_FAILURE); @@ -3117,7 +3117,7 @@ sgenv_process_threshold_event(env_sensor_t sensor) err = log_sysevent(ev, SE_NOSLEEP, &eid); if (err != 0) { cmn_err(CE_WARN, "Failed to log %s/%s event", EC_ENV, - (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); + (temp_event_type ? ESC_ENV_TEMP : ESC_ENV_POWER)); sysevent_free(ev); return (DDI_FAILURE); } @@ -3180,7 +3180,7 @@ sgenv_dr_event_handler(char *arg) * env_cache and the board_cache to be updated. */ DCMN_ERR_EVENT(CE_NOTE, "%s: about to signal to background " - "threads due to event %d.", f, payload->event_details); + "threads due to event %d.", f, payload->event_details); sgenv_indicate_cache_update_needed(ENV_CACHE); sgenv_indicate_cache_update_needed(BOARD_CACHE); @@ -3222,12 +3222,12 @@ sgenv_indicate_cache_update_needed(int cache_type) mutex_enter(&env_flag_lock); if (env_cache_updating) { DCMN_ERR_THREAD(CE_NOTE, "%s: Thread already " - "updating env cache", f); + "updating env cache", f); env_cache_update_needed = B_TRUE; } else { DCMN_ERR_THREAD(CE_NOTE, "%s: Sending signal " - "to env thread", f); + "to env thread", f); cv_signal(&env_flag_cond); } mutex_exit(&env_flag_lock); @@ -3237,12 +3237,12 @@ sgenv_indicate_cache_update_needed(int cache_type) mutex_enter(&board_flag_lock); if (board_cache_updating) { DCMN_ERR_THREAD(CE_NOTE, "%s: Thread already " - "updating board cache", f); + "updating board cache", f); board_cache_update_needed = B_TRUE; } else { DCMN_ERR_THREAD(CE_NOTE, "%s: Sending signal " - "to board thread", f); + "to board thread", f); cv_signal(&board_flag_cond); } mutex_exit(&board_flag_lock); diff --git a/usr/src/uts/sun4u/lw8/io/sgfru.c b/usr/src/uts/sun4u/lw8/io/sgfru.c index 1aa481b334..431d9bfda7 100644 --- a/usr/src/uts/sun4u/lw8/io/sgfru.c +++ b/usr/src/uts/sun4u/lw8/io/sgfru.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -103,18 +102,19 @@ static struct dev_ops sgfru_ops = { nodev, /* reset */ &sgfru_cb_ops, /* driver operations */ (struct bus_ops *)0, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* * Loadable module support. This is located in sgfru.c so as to - * pick up the %I% version of sgfru.c. + * pick up the 1.8 version of sgfru.c. */ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "FRU Driver %I%", + "FRU Driver", &sgfru_ops, /* driver ops */ }; @@ -694,10 +694,10 @@ sgfru_addsegment(const sgfru_init_arg_t *iargp) return (EFAULT); } PR_SEGMENT("sgfru:%s: handle %lx, max cnt %d\n", - f, seg.fru_hdl, seg.fru_cnt); + f, seg.fru_hdl, seg.fru_cnt); PR_SEGMENT("sgfru:%s: handle %lx, name %s, descriptor 0x%x, " - "offset 0x%x, length 0x%x\n", f, segment.handle, segment.name, - segment.descriptor, segment.offset, segment.length); + "offset 0x%x, length 0x%x\n", f, segment.handle, segment.name, + segment.descriptor, segment.offset, segment.length); /* allocate buffer for unpadded section_hdl_t + segment_t */ size = (size_t)(SECTION_HDL_SIZE + SEGMENT_SIZE); @@ -753,7 +753,7 @@ sgfru_readsegment(const sgfru_init_arg_t *iargp) return (EINVAL); } PR_SEGMENT("sgfru:%s: handle %lx, max cnt %d\n", - f, segs.fru_hdl, segs.fru_cnt); + f, segs.fru_hdl, segs.fru_cnt); /* allocate unpadded buffer for raw data */ size = (size_t)(FRU_INFO_SIZE + max_cnt); @@ -768,7 +768,7 @@ sgfru_readsegment(const sgfru_init_arg_t *iargp) /* translate unpadded to padded fru_info_t */ tdatap = sgfru_fru_pad(datap, &sinfo); PR_SEGMENT("sgfru:%s: handle %lx, actual cnt %d\n", - f, sinfo.hdl, sinfo.cnt); + f, sinfo.hdl, sinfo.cnt); /* copyout actual fru_cnt */ if (sgfru_copyout_fru(iargp, &sinfo) != 0) { @@ -809,7 +809,7 @@ sgfru_writesegment(const sgfru_init_arg_t *iargp) return (EINVAL); } PR_SEGMENT("sgfru:%s: handle %lx, max cnt %d\n", - f, segs.fru_hdl, segs.fru_cnt); + f, segs.fru_hdl, segs.fru_cnt); /* allocate unpadded buffer for fru_info_t + raw data */ size = (size_t)(FRU_INFO_SIZE + max_cnt); @@ -833,7 +833,7 @@ sgfru_writesegment(const sgfru_init_arg_t *iargp) kmem_free(datap, size); PR_SEGMENT("sgfru:%s: handle %lx, actual cnt %d\n", - f, segs.fru_hdl, segs.fru_cnt); + f, segs.fru_hdl, segs.fru_cnt); /* copyout updated segment handle and actual fru_cnt */ if (sgfru_copyout_fru(iargp, &segs.fru_info) != 0) { return (EFAULT); @@ -989,7 +989,7 @@ sgfru_getpayload(const sgfru_init_arg_t *iargp) return (EFAULT); } PR_PAYLOAD("sgfru:%s: handle %lx, max cnt %d\n", - f, payld.fru_hdl, payld.fru_cnt); + f, payld.fru_hdl, payld.fru_cnt); /* check on kmem_alloc space requirements */ max_cnt = payld.fru_cnt; @@ -1011,7 +1011,7 @@ sgfru_getpayload(const sgfru_init_arg_t *iargp) /* translate unpadded to padded fru_info_t */ tdatap = sgfru_fru_pad(datap, &pinfo); PR_PAYLOAD("sgfru:%s: handle %lx, max cnt %d\n", - f, pinfo.hdl, pinfo.cnt); + f, pinfo.hdl, pinfo.cnt); /* copyout actual fru_cnt */ if (sgfru_copyout_fru(iargp, &pinfo) != 0) { @@ -1066,7 +1066,7 @@ sgfru_updatepayload(const sgfru_init_arg_t *iargp) return (EFAULT); } PR_PAYLOAD("sgfru_updatepayload: handle %lx, actual cnt %d\n", - payld.fru_hdl, payld.fru_cnt); + payld.fru_hdl, payld.fru_cnt); /* call mailbox */ if ((ret = sgfru_mbox(iargp->cmd, datap, size, &payld.fru_info)) @@ -1083,7 +1083,7 @@ sgfru_updatepayload(const sgfru_init_arg_t *iargp) return (EFAULT); } PR_PAYLOAD("sgfru:%s: new handle %lx, cnt %d\n", - f, payld.fru_hdl, payld.fru_cnt); + f, payld.fru_hdl, payld.fru_cnt); return (ret); } @@ -1515,8 +1515,8 @@ sgfru_copyin_append(const sgfru_init_arg_t *argp, append_info_t *app) return (EFAULT); } PR_PAYLOAD("sgfru:%s: hdl %lx, cnt %d pkt hdl %lx " - "tag %lx\n", f, app->payload_hdl, app->payload_cnt, - app->packet.handle, app->packet.tag); + "tag %lx\n", f, app->payload_hdl, app->payload_cnt, + app->packet.handle, app->packet.tag); return (0); } diff --git a/usr/src/uts/sun4u/montecarlo/io/acebus.c b/usr/src/uts/sun4u/montecarlo/io/acebus.c index 162bba9352..5c7ffcf8ba 100644 --- a/usr/src/uts/sun4u/montecarlo/io/acebus.c +++ b/usr/src/uts/sun4u/montecarlo/io/acebus.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -135,7 +134,9 @@ static struct dev_ops acebus_ops = { acebus_detach, nodev, (struct cb_ops *)0, - &acebus_bus_ops + &acebus_bus_ops, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -146,7 +147,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Alarm Card ebus nexus v%I%", /* Name of module. */ + "Alarm Card ebus nexus", /* Name of module. */ &acebus_ops, /* driver ops */ }; @@ -233,7 +234,7 @@ acebus_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ instance = ddi_get_instance(dip); if (ddi_soft_state_zalloc(per_acebus_state, instance) - != DDI_SUCCESS) { + != DDI_SUCCESS) { DBG(D_ATTACH, NULL, "failed to alloc soft state\n"); return (DDI_FAILURE); } @@ -250,7 +251,7 @@ acebus_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } (void) ddi_prop_create(DDI_DEV_T_NONE, dip, - DDI_PROP_CANSLEEP, "no-dma-interrupt-sync", NULL, 0); + DDI_PROP_CANSLEEP, "no-dma-interrupt-sync", NULL, 0); /* Get our ranges property for mapping child registers. */ if (acebus_get_ranges_prop(ebus_p) != DDI_SUCCESS) { free_acebus_soft_state(instance); @@ -334,16 +335,17 @@ acebus_get_ranges_prop(ebus_devstate_t *ebus_p) } #ifdef DEBUG - /* */ { - int i; + { + int i; - for (i = 0; i < nrange; i++) { - DBG5(D_MAP, ebus_p, "ebus range addr 0x%x.0x%x PCI range " - "addr 0x%x.0x%x.0x%x ", rangep[i].ebus_phys_hi, + for (i = 0; i < nrange; i++) { + DBG5(D_MAP, ebus_p, + "ebus range addr 0x%x.0x%x PCI range " + "addr 0x%x.0x%x.0x%x ", rangep[i].ebus_phys_hi, rangep[i].ebus_phys_low, rangep[i].pci_phys_hi, rangep[i].pci_phys_mid, rangep[i].pci_phys_low); - DBG1(D_MAP, ebus_p, "Size 0x%x\n", rangep[i].rng_size); - } + DBG1(D_MAP, ebus_p, "Size 0x%x\n", rangep[i].rng_size); + } } #endif /* DEBUG */ @@ -390,8 +392,8 @@ acebus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, * the request to our parent. */ DBG3(D_MAP, ebus_p, "rdip=%s%d: REGSPEC - handlep=%x\n", - ddi_get_name(rdip), ddi_get_instance(rdip), - mp->map_handlep); + ddi_get_name(rdip), ddi_get_instance(rdip), + mp->map_handlep); ebus_rp = (ebus_regspec_t *)mp->map_obj.rp; break; @@ -403,8 +405,8 @@ acebus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, */ rnumber = mp->map_obj.rnumber; DBG4(D_MAP, ebus_p, "rdip=%s%d: rnumber=%x handlep=%x\n", - ddi_get_name(rdip), ddi_get_instance(rdip), - rnumber, mp->map_handlep); + ddi_get_name(rdip), ddi_get_instance(rdip), + rnumber, mp->map_handlep); if (getprop(rdip, "reg", &ebus_regs, &i) != DDI_SUCCESS) { DBG(D_MAP, ebus_p, "can't get reg property\n"); @@ -461,11 +463,11 @@ acebus_map(dev_info_t *dip, dev_info_t *rdip, ddi_map_req_t *mp, #endif #ifdef DEBUG DBG5(D_MAP, ebus_p, "(%x,%x,%x)(%x,%x)\n", - pci_reg.pci_phys_hi, - pci_reg.pci_phys_mid, - pci_reg.pci_phys_low, - pci_reg.pci_size_hi, - pci_reg.pci_size_low); + pci_reg.pci_phys_hi, + pci_reg.pci_phys_mid, + pci_reg.pci_phys_low, + pci_reg.pci_size_hi, + pci_reg.pci_size_low); #endif p_map_request = *mp; @@ -499,8 +501,8 @@ acebus_apply_range(ebus_devstate_t *ebus_p, dev_info_t *rdip, if ((ebus_rp->addr_low >= rangep->ebus_phys_low) && ((ebus_rp->addr_low + ebus_rp->size - 1) - <= (rangep->ebus_phys_low + - rangep->rng_size - 1))) { + <= (rangep->ebus_phys_low + + rangep->rng_size - 1))) { uint_t addr_offset = ebus_rp->addr_low - rangep->ebus_phys_low; /* @@ -516,17 +518,17 @@ acebus_apply_range(ebus_devstate_t *ebus_p, dev_info_t *rdip, rp->pci_size_hi = 0; rp->pci_size_low = min(ebus_rp->size, (rangep->rng_size - - addr_offset)); + addr_offset)); DBG2(D_MAP, ebus_p, "Child hi0x%x lo0x%x ", rangep->ebus_phys_hi, rangep->ebus_phys_low); DBG4(D_MAP, ebus_p, "Parent hi0x%x " - "mid0x%x lo0x%x size 0x%x\n", - rangep->pci_phys_hi, - rangep->pci_phys_mid, - rangep->pci_phys_low, - rangep->rng_size); + "mid0x%x lo0x%x size 0x%x\n", + rangep->pci_phys_hi, + rangep->pci_phys_mid, + rangep->pci_phys_low, + rangep->rng_size); break; } @@ -596,8 +598,8 @@ acebus_ctlops(dev_info_t *dip, dev_info_t *rdip, case DDI_CTLOPS_UNINITCHILD: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_UNINITCHILD: rdip=%s%d\n", - ddi_get_name((dev_info_t *)arg), - ddi_get_instance((dev_info_t *)arg)); + ddi_get_name((dev_info_t *)arg), + ddi_get_instance((dev_info_t *)arg)); ddi_set_name_addr((dev_info_t *)arg, NULL); ddi_remove_minor_node((dev_info_t *)arg, NULL); impl_rem_dev_props((dev_info_t *)arg); @@ -606,17 +608,17 @@ acebus_ctlops(dev_info_t *dip, dev_info_t *rdip, case DDI_CTLOPS_REPORTDEV: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_REPORTDEV: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); cmn_err(CE_CONT, "?%s%d at %s%d: offset %s\n", - ddi_driver_name(rdip), ddi_get_instance(rdip), - ddi_driver_name(dip), ddi_get_instance(dip), - ddi_get_name_addr(rdip)); + ddi_driver_name(rdip), ddi_get_instance(rdip), + ddi_driver_name(dip), ddi_get_instance(dip), + ddi_get_name_addr(rdip)); return (DDI_SUCCESS); case DDI_CTLOPS_REGSIZE: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_REGSIZE: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); if (getprop(rdip, "reg", &ebus_rp, &i) != DDI_SUCCESS) { DBG(D_CTLOPS, ebus_p, "can't get reg property\n"); return (DDI_FAILURE); @@ -634,7 +636,7 @@ acebus_ctlops(dev_info_t *dip, dev_info_t *rdip, case DDI_CTLOPS_NREGS: DBG2(D_CTLOPS, ebus_p, "DDI_CTLOPS_NREGS: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); if (getprop(rdip, "reg", &ebus_rp, &i) != DDI_SUCCESS) { DBG(D_CTLOPS, ebus_p, "can't get reg property\n"); return (DDI_FAILURE); @@ -648,7 +650,7 @@ acebus_ctlops(dev_info_t *dip, dev_info_t *rdip, * Now pass the request up to our parent. */ DBG2(D_CTLOPS, ebus_p, "passing request to parent: rdip=%s%d\n", - ddi_get_name(rdip), ddi_get_instance(rdip)); + ddi_get_name(rdip), ddi_get_instance(rdip)); return (ddi_ctlops(dip, rdip, op, arg, result)); } @@ -796,7 +798,7 @@ acebus_config(ebus_devstate_t *ebus_p) pci_config_put16(conf_handle, PCI_CONF_COMM, comm), #ifdef DEBUG DBG1(D_MAP, ebus_p, "command register is now 0x%x\n", - pci_config_get16(conf_handle, PCI_CONF_COMM)); + pci_config_get16(conf_handle, PCI_CONF_COMM)); #endif pci_config_put8(conf_handle, PCI_CONF_CACHE_LINESZ, (uchar_t)acebus_cache_line_size); @@ -822,54 +824,54 @@ acebus_config(ebus_devstate_t *ebus_p) #ifdef DEBUG if (acebus_debug_flags) { DBG3(D_ATTACH, ebus_p, "tcr[123] = %x,%x,%x\n", - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR1_OFF)), - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR2_OFF)), - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR3_OFF))); + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + TCR1_OFF)), + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + TCR2_OFF)), + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + TCR3_OFF))); DBG2(D_ATTACH, ebus_p, "pmd-aux=%x, freq-aux=%x\n", - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - PMD_AUX_OFF)), - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - FREQ_AUX_OFF))); + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + PMD_AUX_OFF)), + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + FREQ_AUX_OFF))); #ifdef ACEBUS_DEBUG for (comm = 0; comm < 4; comm++) prom_printf("dcsr%d=%x, dacr%d=%x, dbcr%d=%x\n", comm, - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - 0x700000+(0x2000*comm))), comm, - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - 0x700000+(0x2000*comm)+4)), comm, - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - 0x700000+(0x2000*comm)+8))); + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + 0x700000+(0x2000*comm))), comm, + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + 0x700000+(0x2000*comm)+4)), comm, + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + 0x700000+(0x2000*comm)+8))); #endif } /* acebus_debug_flags */ #endif /* If TCR registers are not initialized, initialize them here */ tcr_reg = ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR1_OFF)); + TCR1_OFF)); if ((tcr_reg == 0) || (tcr_reg == -1)) ddi_put32(csr_handle, (uint32_t *)((caddr_t)csr_io + TCR1_OFF), - TCR1_REGVAL); + TCR1_REGVAL); tcr_reg = ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR2_OFF)); + TCR2_OFF)); if ((tcr_reg == 0) || (tcr_reg == -1)) ddi_put32(csr_handle, (uint32_t *)((caddr_t)csr_io + TCR2_OFF), - TCR2_REGVAL); + TCR2_REGVAL); tcr_reg = ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR3_OFF)); + TCR3_OFF)); if ((tcr_reg == 0) || (tcr_reg == -1)) ddi_put32(csr_handle, (uint32_t *)((caddr_t)csr_io + TCR3_OFF), - TCR3_REGVAL); + TCR3_REGVAL); #ifdef DEBUG if (acebus_debug_flags) { DBG3(D_ATTACH, ebus_p, "wrote tcr[123] = %x,%x,%x\n", - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR1_OFF)), - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR2_OFF)), - ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + - TCR3_OFF))); + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + TCR1_OFF)), + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + TCR2_OFF)), + ddi_get32(csr_handle, (uint32_t *)((caddr_t)csr_io + + TCR3_OFF))); } #endif @@ -902,8 +904,8 @@ acebus_debug(uint_t flag, ebus_devstate_t *ebus_p, char *fmt, } if (ebus_p) cmn_err(CE_CONT, "%s%d: %s: ", - ddi_get_name(ebus_p->dip), - ddi_get_instance(ebus_p->dip), s); + ddi_get_name(ebus_p->dip), + ddi_get_instance(ebus_p->dip), s); else cmn_err(CE_CONT, "ebus: "); cmn_err(CE_CONT, fmt, a1, a2, a3, a4, a5); @@ -951,11 +953,10 @@ acebus_update_props(ebus_devstate_t *ebus_p) * ie. there are 2 entries in its ranges property. */ if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "assigned-addresses", - (int **)&pci_rp, (uint_t *)&length) - != DDI_PROP_SUCCESS) { + DDI_PROP_DONTPASS, "assigned-addresses", + (int **)&pci_rp, (uint_t *)&length) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "%s%d: Could not get assigned-addresses", - ddi_driver_name(dip), ddi_get_instance(dip)); + ddi_driver_name(dip), ddi_get_instance(dip)); return (DDI_FAILURE); } /* @@ -1011,7 +1012,7 @@ acebus_update_props(ebus_devstate_t *ebus_p) if (ddi_prop_update_int_array(DDI_DEV_T_NONE, dip, "ranges", (int *)er, length) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "%s%d: Could not create ranges property", - ddi_driver_name(dip), ddi_get_instance(dip)); + ddi_driver_name(dip), ddi_get_instance(dip)); return (DDI_FAILURE); } /* The following properties are as defined by PCI 1275 bindings. */ @@ -1089,7 +1090,7 @@ acebus_set_imap(dev_info_t *dip) tdip = ddi_get_parent(tdip); if (tdip == NULL) { cmn_err(CE_WARN, "%s%d: Could not get imap parent", - ddi_driver_name(dip), ddi_get_instance(dip)); + ddi_driver_name(dip), ddi_get_instance(dip)); if (!default_ival) ddi_prop_free(imapp); return (DDI_FAILURE); @@ -1101,9 +1102,9 @@ acebus_set_imap(dev_info_t *dip) } if (ddi_prop_update_int_array(DDI_DEV_T_NONE, dip, - "interrupt-map", imapp, ilength) != DDI_PROP_SUCCESS) { + "interrupt-map", imapp, ilength) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "%s%d: Could not update AC imap property", - ddi_driver_name(dip), ddi_get_instance(dip)); + ddi_driver_name(dip), ddi_get_instance(dip)); if (!default_ival) ddi_prop_free(imapp); return (DDI_FAILURE); diff --git a/usr/src/uts/sun4u/montecarlo/io/pcf8574_nct.c b/usr/src/uts/sun4u/montecarlo/io/pcf8574_nct.c index a627ed055d..6a95f15cff 100644 --- a/usr/src/uts/sun4u/montecarlo/io/pcf8574_nct.c +++ b/usr/src/uts/sun4u/montecarlo/io/pcf8574_nct.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/param.h> @@ -162,14 +160,16 @@ static struct dev_ops pcf8574_ops = { pcf8574_detach, nodev, &pcf8574_cbops, - NULL + NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv pcf8574_modldrv = { &mod_driverops, /* type of module - driver */ - "Netract pcf8574 (gpio) %I% ", + "Netract pcf8574 (gpio)", &pcf8574_ops, }; @@ -189,7 +189,7 @@ _init(void) error = mod_install(&pcf8574_modlinkage); if (!error) { (void) ddi_soft_state_init(&pcf8574_soft_statep, - sizeof (struct pcf8574_unit), PCF8574_MAX_DEVS); + sizeof (struct pcf8574_unit), PCF8574_MAX_DEVS); } return (error); @@ -227,7 +227,7 @@ pcf8574_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574_soft_statep, instance); + ddi_get_soft_state(pcf8574_soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -277,7 +277,7 @@ pcf8574_close(dev_t dev, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574_soft_statep, instance); + ddi_get_soft_state(pcf8574_soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -316,7 +316,7 @@ pcf8574_io(dev_t dev, struct uio *uiop, int rw) } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574_soft_statep, instance); + ddi_get_soft_state(pcf8574_soft_statep, instance); if (unitp == NULL) { return (ENXIO); } @@ -328,18 +328,18 @@ pcf8574_io(dev_t dev, struct uio *uiop, int rw) if (rw == B_WRITE) { err = uiomove(unitp->i2c_tran->i2c_wbuf, - bytes_to_rw, UIO_WRITE, uiop); + bytes_to_rw, UIO_WRITE, uiop); if (!err) { err = pcf8574_write_chip(unitp, bytes_to_rw, - unitp->writemask); + unitp->writemask); } } else { err = pcf8574_read_chip(unitp, bytes_to_rw); if (!err) { err = uiomove(unitp->i2c_tran->i2c_rbuf, - bytes_to_rw, UIO_READ, uiop); + bytes_to_rw, UIO_READ, uiop); } } @@ -355,7 +355,7 @@ pcf8574_do_resume(dev_info_t *dip) { int instance = ddi_get_instance(dip); struct pcf8574_unit *unitp = - ddi_get_soft_state(pcf8574_soft_statep, instance); + ddi_get_soft_state(pcf8574_soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -392,7 +392,7 @@ pcf8574_do_detach(dev_info_t *dip) } scsb_fru_unregister((void *)unitp, - (fru_id_t)unitp->props.slave_address); + (fru_id_t)unitp->props.slave_address); if (attach_flag & PCF8574_ALLOC_TRANSFER) { /* @@ -414,11 +414,11 @@ pcf8574_do_detach(dev_info_t *dip) if (attach_flag & PCF8574_PROPS_READ) { if (unitp->pcf8574_type == PCF8574_ADR_CPUVOLTAGE && - unitp->props.num_chans_used != 0) { + unitp->props.num_chans_used != 0) { ddi_prop_free(unitp->props.channels_in_use); } else { ddi_prop_remove(DDI_DEV_T_NONE, dip, - "interrupt-priorities"); + "interrupt-priorities"); } } @@ -458,11 +458,11 @@ pcf8574_do_attach(dev_info_t *dip) #ifdef DEBUG if (pcf8574_debug & 0x04) cmn_err(CE_NOTE, "pcf8574_attach: instance=%d\n", - instance); + instance); #endif /* DEBUG */ if (ddi_soft_state_zalloc(pcf8574_soft_statep, instance) != - DDI_SUCCESS) { + DDI_SUCCESS) { return (DDI_FAILURE); } unitp = ddi_get_soft_state(pcf8574_soft_statep, instance); @@ -489,12 +489,12 @@ pcf8574_do_attach(dev_info_t *dip) unitp->current_mode = ENVCTRL_NORMAL_MODE; snprintf(unitp->pcf8574_name, PCF8574_NAMELEN, - "%s%d", ddi_driver_name(dip), instance); + "%s%d", ddi_driver_name(dip), instance); if (unitp->pcf8574_type == PCF8574_TYPE_PWRSUPP) { (void) sprintf(name, "pwrsuppply"); if (ddi_create_minor_node(dip, name, S_IFCHR, instance, - PCF8574_NODE_TYPE, NULL) == DDI_FAILURE) { + PCF8574_NODE_TYPE, NULL) == DDI_FAILURE) { ddi_remove_minor_node(dip, NULL); pcf8574_do_detach(dip); @@ -505,7 +505,7 @@ pcf8574_do_attach(dev_info_t *dip) if (unitp->pcf8574_type == PCF8574_TYPE_FANTRAY) { (void) sprintf(name, "fantray"); if (ddi_create_minor_node(dip, name, S_IFCHR, instance, - PCF8574_NODE_TYPE, NULL) == DDI_FAILURE) { + PCF8574_NODE_TYPE, NULL) == DDI_FAILURE) { ddi_remove_minor_node(dip, NULL); pcf8574_do_detach(dip); @@ -516,7 +516,7 @@ pcf8574_do_attach(dev_info_t *dip) if (unitp->pcf8574_type == PCF8574_TYPE_CPUVOLTAGE) { (void) sprintf(name, "cpuvoltage"); if (ddi_create_minor_node(dip, name, S_IFCHR, instance, - PCF8574_NODE_TYPE, NULL) == DDI_FAILURE) { + PCF8574_NODE_TYPE, NULL) == DDI_FAILURE) { ddi_remove_minor_node(dip, NULL); pcf8574_do_detach(dip); @@ -543,13 +543,13 @@ pcf8574_do_attach(dev_info_t *dip) } for (i = unitp->props.num_chans_used, - chp = unitp->props.channels_in_use; i; --i, ++chp) { + chp = unitp->props.channels_in_use; i; --i, ++chp) { unitp->readmask |= (uint8_t)( - (chp->io_dir == I2C_PROP_IODIR_IN || - chp->io_dir == I2C_PROP_IODIR_INOUT) << chp->port); + (chp->io_dir == I2C_PROP_IODIR_IN || + chp->io_dir == I2C_PROP_IODIR_INOUT) << chp->port); unitp->writemask |= (uint8_t)( - (chp->io_dir == I2C_PROP_IODIR_OUT || - chp->io_dir == I2C_PROP_IODIR_INOUT) << chp->port); + (chp->io_dir == I2C_PROP_IODIR_OUT || + chp->io_dir == I2C_PROP_IODIR_INOUT) << chp->port); } #ifdef DEBUG @@ -558,7 +558,7 @@ pcf8574_do_attach(dev_info_t *dip) #endif /* DEBUG */ if (i2c_client_register(dip, &unitp->pcf8574_hdl) - != I2C_SUCCESS) { + != I2C_SUCCESS) { pcf8574_do_detach(dip); return (DDI_FAILURE); @@ -570,8 +570,8 @@ pcf8574_do_attach(dev_info_t *dip) * is used throughout the driver. */ if (i2c_transfer_alloc(unitp->pcf8574_hdl, &unitp->i2c_tran, - MAX_WLEN, MAX_RLEN, KM_SLEEP) - != I2C_SUCCESS) { + MAX_WLEN, MAX_RLEN, KM_SLEEP) + != I2C_SUCCESS) { pcf8574_do_detach(dip); return (DDI_FAILURE); } @@ -599,10 +599,10 @@ pcf8574_do_attach(dev_info_t *dip) * the returned value to check that the device instance exists. */ dev_presence = scsb_fru_register(pcf8574_callback, (void *)unitp, - (fru_id_t)unitp->props.slave_address); + (fru_id_t)unitp->props.slave_address); if (dev_presence == FRU_NOT_AVAILABLE) { scsb_fru_unregister((void *)unitp, - (fru_id_t)unitp->props.slave_address); + (fru_id_t)unitp->props.slave_address); } /* @@ -637,10 +637,10 @@ pcf8574_do_attach(dev_info_t *dip) #ifdef DEBUG if (pcf8574_debug & 0x0004) cmn_err(CE_NOTE, "registering pcf9574 interrupt " - "handler"); + "handler"); #endif /* DEBUG */ if (scsb_intr_register(pcf8574_intr, (void *)unitp, - (fru_id_t)unitp->props.slave_address) == DDI_SUCCESS) { + (fru_id_t)unitp->props.slave_address) == DDI_SUCCESS) { unitp->pcf8574_canintr |= PCF8574_INTR_ENABLED; unitp->attach_flag |= PCF8574_INTR_ADDED; } else { @@ -673,7 +673,7 @@ pcf8574_do_suspend(dev_info_t *dip) { int instance = ddi_get_instance(dip); struct pcf8574_unit *unitp = - ddi_get_soft_state(pcf8574_soft_statep, instance); + ddi_get_soft_state(pcf8574_soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -710,7 +710,7 @@ pcf8574_chpoll(dev_t dev, short events, int anyyet, short *reventsp, instance = getminor(dev); if ((unitp = (struct pcf8574_unit *)ddi_get_soft_state( - pcf8574_soft_statep, instance)) == NULL) { + pcf8574_soft_statep, instance)) == NULL) { return (ENXIO); } *reventsp = 0; @@ -743,7 +743,7 @@ pcf8574_intr(caddr_t arg) ic = DDI_INTR_CLAIMED; #ifdef DEBUG cmn_err(CE_NOTE, " In the interrupt service routine, %x", - unitp->props.slave_address); + unitp->props.slave_address); #endif /* @@ -768,13 +768,13 @@ pcf8574_intr(caddr_t arg) } case PCF8574_TYPE_PWRSUPP: { envctrl_pwrsupp_t *envp = - (envctrl_pwrsupp_t *)unitp->envctrl_kstat; + (envctrl_pwrsupp_t *)unitp->envctrl_kstat; dev_presence = envp->ps_present; break; } case PCF8574_TYPE_FANTRAY: { envctrl_fantray_t *envp = - (envctrl_fantray_t *)unitp->envctrl_kstat; + (envctrl_fantray_t *)unitp->envctrl_kstat; dev_presence = envp->fan_present; break; } @@ -803,12 +803,12 @@ pcf8574_intr(caddr_t arg) case PCF8574_TYPE_PWRSUPP: { envctrl_pwrsupp_t *envp = - (envctrl_pwrsupp_t *)unitp->envctrl_kstat; + (envctrl_pwrsupp_t *)unitp->envctrl_kstat; if (PCF8574_PS_FAULT(value) || - PCF8574_PS_TEMPOK(value) || - PCF8574_PS_ONOFF(value) || - PCF8574_PS_FANOK(value)) { + PCF8574_PS_TEMPOK(value) || + PCF8574_PS_ONOFF(value) || + PCF8574_PS_FANOK(value)) { envp->ps_ok = PCF8574_PS_FAULT(value); envp->temp_ok = PCF8574_PS_TEMPOK(value); @@ -817,13 +817,13 @@ pcf8574_intr(caddr_t arg) envp->ps_ver = PCF8574_PS_TYPE(value); tp->i2c_wbuf[0] = - PCF8574_PS_DEFAULT | PCF8574_PS_MASKINTR; + PCF8574_PS_DEFAULT | PCF8574_PS_MASKINTR; tp->i2c_wlen = 1; tp->i2c_rlen = 0; tp->i2c_flags = I2C_WR; unitp->i2c_status = - nct_i2c_transfer(unitp->pcf8574_hdl, tp); + nct_i2c_transfer(unitp->pcf8574_hdl, tp); unitp->poll_event = POLLIN; pollwakeup(&unitp->poll, POLLIN); @@ -836,7 +836,7 @@ pcf8574_intr(caddr_t arg) case PCF8574_TYPE_FANTRAY: { envctrl_fantray_t *envp = - (envctrl_fantray_t *)unitp->envctrl_kstat; + (envctrl_fantray_t *)unitp->envctrl_kstat; if (!PCF8574_FAN_FAULT(value)) { @@ -845,13 +845,13 @@ pcf8574_intr(caddr_t arg) envp->fanspeed = PCF8574_FAN_FANSPD(value); tp->i2c_wbuf[0] = - PCF8574_FAN_DEFAULT | PCF8574_FAN_MASKINTR; + PCF8574_FAN_DEFAULT | PCF8574_FAN_MASKINTR; tp->i2c_wlen = 1; tp->i2c_rlen = 0; tp->i2c_flags = I2C_WR; unitp->i2c_status = - nct_i2c_transfer(unitp->pcf8574_hdl, tp); + nct_i2c_transfer(unitp->pcf8574_hdl, tp); unitp->poll_event = POLLIN; pollwakeup(&unitp->poll, POLLIN); @@ -885,7 +885,7 @@ call_copyin(caddr_t arg, struct pcf8574_unit *unitp, int mode) if (ddi_copyin((void *)arg, (caddr_t)&i2ct, - sizeof (i2c_transfer_t), mode) != DDI_SUCCESS) { + sizeof (i2c_transfer_t), mode) != DDI_SUCCESS) { return (I2C_FAILURE); } @@ -909,7 +909,7 @@ call_copyin(caddr_t arg, struct pcf8574_unit *unitp, int mode) if (i2ct.i2c_wlen != 0) { if (ddi_copyin(i2ct.i2c_wbuf, (caddr_t)i2ctp->i2c_wbuf, - i2ct.i2c_wlen, mode) != DDI_SUCCESS) { + i2ct.i2c_wlen, mode) != DDI_SUCCESS) { return (I2C_FAILURE); } } @@ -930,7 +930,7 @@ call_copyout(caddr_t arg, struct pcf8574_unit *unitp, int mode) */ int uskip = sizeof (i2c_transfer_t) - 3*sizeof (int16_t), - kskip = sizeof (i2c_transfer_t) - 3*sizeof (int16_t); + kskip = sizeof (i2c_transfer_t) - 3*sizeof (int16_t); /* * First copyin the user structure to the temporary i2ct, @@ -944,8 +944,8 @@ call_copyout(caddr_t arg, struct pcf8574_unit *unitp, int mode) */ if (ddi_copyout((void *)((intptr_t)i2ctp+kskip), (void *) - ((intptr_t)arg + uskip), 3*sizeof (uint16_t), mode) - != DDI_SUCCESS) { + ((intptr_t)arg + uskip), 3*sizeof (uint16_t), mode) + != DDI_SUCCESS) { return (I2C_FAILURE); } @@ -957,7 +957,7 @@ call_copyout(caddr_t arg, struct pcf8574_unit *unitp, int mode) if (i2ctp->i2c_rlen > i2ctp->i2c_r_resid) { if (ddi_copyin((void *)arg, &i2ct, - sizeof (i2c_transfer_t), mode) != DDI_SUCCESS) { + sizeof (i2c_transfer_t), mode) != DDI_SUCCESS) { return (I2C_FAILURE); } @@ -966,8 +966,8 @@ call_copyout(caddr_t arg, struct pcf8574_unit *unitp, int mode) */ if (ddi_copyout(i2ctp->i2c_rbuf, i2ct.i2c_rbuf, - i2ctp->i2c_rlen - i2ctp->i2c_r_resid, mode) - != DDI_SUCCESS) { + i2ctp->i2c_rlen - i2ctp->i2c_r_resid, mode) + != DDI_SUCCESS) { return (I2C_FAILURE); } } @@ -992,14 +992,14 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, return (ENXIO); } unitp = (struct pcf8574_unit *) - ddi_get_soft_state(pcf8574_soft_statep, instance); + ddi_get_soft_state(pcf8574_soft_statep, instance); if (unitp == NULL) { return (ENXIO); } dev_presence = - scsb_fru_status((uchar_t)unitp->props.slave_address); + scsb_fru_status((uchar_t)unitp->props.slave_address); CV_LOCK(EINTR) @@ -1010,7 +1010,7 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, } if (ddi_copyin((caddr_t)arg, (caddr_t)&inval, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } @@ -1019,9 +1019,9 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, err = EINVAL; } else { unitp->i2c_tran->i2c_wbuf[0] = - PCF8574_INT_MASK(inval); + PCF8574_INT_MASK(inval); if (pcf8574_write_chip(unitp, 1, PCF8574_INTRMASK_BIT) - != I2C_SUCCESS) { + != I2C_SUCCESS) { err = EFAULT; } } @@ -1037,12 +1037,12 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, break; } if (ddi_copyin((caddr_t)arg, (caddr_t)&inval, sizeof (uint8_t), - mode) != DDI_SUCCESS) { + mode) != DDI_SUCCESS) { err = EFAULT; break; } if (inval != PCF8574_FAN_SPEED_LOW && - inval != PCF8574_FAN_SPEED_HIGH) { + inval != PCF8574_FAN_SPEED_HIGH) { err = EINVAL; break; } @@ -1050,7 +1050,7 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, unitp->i2c_tran->i2c_wbuf[0] = PCF8574_FAN_SPEED(inval); if (pcf8574_write_chip(unitp, 1, PCF8574_FANSPEED_BIT) - != I2C_SUCCESS) { + != I2C_SUCCESS) { err = EFAULT; } break; @@ -1067,12 +1067,12 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, break; } if (ddi_copyin((caddr_t)arg, (caddr_t)&inval, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; } else { unitp->i2c_tran->i2c_wbuf[0] = inval & 0xff; if (pcf8574_write_chip(unitp, 1, 0xff) - != I2C_SUCCESS) { + != I2C_SUCCESS) { err = EFAULT; } } @@ -1091,7 +1091,7 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, break; } if (pcf8574_read_chip(unitp, 1) - != I2C_SUCCESS) { + != I2C_SUCCESS) { err = EFAULT; break; } @@ -1138,7 +1138,7 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, } if (ddi_copyout((caddr_t)&outval, (caddr_t)arg, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; } } @@ -1148,7 +1148,7 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, uint8_t curr_mode = unitp->current_mode; if (ddi_copyout((caddr_t)&curr_mode, (caddr_t)arg, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; @@ -1157,12 +1157,12 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, case ENVC_IOC_SETMODE: { uint8_t curr_mode; if (ddi_copyin((caddr_t)arg, (caddr_t)&curr_mode, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } if (curr_mode == ENVCTRL_DIAG_MODE || - curr_mode == ENVCTRL_NORMAL_MODE) { + curr_mode == ENVCTRL_NORMAL_MODE) { unitp->current_mode = curr_mode; /* Don't do anything */ } break; @@ -1175,13 +1175,13 @@ pcf8574_ioctl(dev_t dev, int cmd, intptr_t arg, break; } unitp->i2c_status = err = - nct_i2c_transfer(unitp->pcf8574_hdl, unitp->i2c_tran); + nct_i2c_transfer(unitp->pcf8574_hdl, unitp->i2c_tran); if (err != I2C_SUCCESS) { err = EIO; } else { if (call_copyout((caddr_t)arg, unitp, mode) - != DDI_SUCCESS) { + != DDI_SUCCESS) { err = EFAULT; break; } @@ -1214,13 +1214,13 @@ pcf8574_add_kstat(struct pcf8574_unit *unitp, scsb_fru_status_t dev_presence) case PCF8574_TYPE_CPUVOLTAGE: { if ((unitp->kstatp = kstat_create(I2C_PCF8574_NAME, - unitp->instance, I2C_KSTAT_CPUVOLTAGE, "misc", - KSTAT_TYPE_RAW, sizeof (envctrl_cpuvoltage_t), - KSTAT_FLAG_PERSISTENT)) != NULL) { + unitp->instance, I2C_KSTAT_CPUVOLTAGE, "misc", + KSTAT_TYPE_RAW, sizeof (envctrl_cpuvoltage_t), + KSTAT_FLAG_PERSISTENT)) != NULL) { if ((unitp->envctrl_kstat = kmem_zalloc( - sizeof (envctrl_cpuvoltage_t), KM_NOSLEEP)) == - NULL) { + sizeof (envctrl_cpuvoltage_t), KM_NOSLEEP)) == + NULL) { kstat_delete(unitp->kstatp); return (DDI_FAILURE); } @@ -1242,13 +1242,13 @@ pcf8574_add_kstat(struct pcf8574_unit *unitp, scsb_fru_status_t dev_presence) } sprintf(ksname, "%s%d", I2C_KSTAT_PWRSUPPLY, id); if ((unitp->kstatp = kstat_create(I2C_PCF8574_NAME, - unitp->instance, ksname, "misc", - KSTAT_TYPE_RAW, sizeof (envctrl_pwrsupp_t), - KSTAT_FLAG_PERSISTENT)) != NULL) { + unitp->instance, ksname, "misc", + KSTAT_TYPE_RAW, sizeof (envctrl_pwrsupp_t), + KSTAT_FLAG_PERSISTENT)) != NULL) { if ((unitp->envctrl_kstat = kmem_zalloc( - sizeof (envctrl_pwrsupp_t), KM_NOSLEEP)) == - NULL) { + sizeof (envctrl_pwrsupp_t), KM_NOSLEEP)) == + NULL) { kstat_delete(unitp->kstatp); return (DDI_FAILURE); } @@ -1282,13 +1282,13 @@ pcf8574_add_kstat(struct pcf8574_unit *unitp, scsb_fru_status_t dev_presence) } sprintf(ksname, "%s%d", I2C_KSTAT_FANTRAY, id); if ((unitp->kstatp = kstat_create(I2C_PCF8574_NAME, - unitp->instance, ksname, "misc", - KSTAT_TYPE_RAW, sizeof (envctrl_fantray_t), - KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) != NULL) { + unitp->instance, ksname, "misc", + KSTAT_TYPE_RAW, sizeof (envctrl_fantray_t), + KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) != NULL) { if ((unitp->envctrl_kstat = kmem_zalloc( - sizeof (envctrl_fantray_t), KM_NOSLEEP)) == - NULL) { + sizeof (envctrl_fantray_t), KM_NOSLEEP)) == + NULL) { kstat_delete(unitp->kstatp); return (DDI_FAILURE); } @@ -1343,7 +1343,7 @@ pcf8574_read_chip(struct pcf8574_unit *unitp, uint16_t size) * the driverwide lock. */ unitp->i2c_status = retval = - nct_i2c_transfer(unitp->pcf8574_hdl, unitp->i2c_tran); + nct_i2c_transfer(unitp->pcf8574_hdl, unitp->i2c_tran); if (retval != I2C_SUCCESS) { return (retval); @@ -1412,7 +1412,7 @@ pcf8574_write_chip(struct pcf8574_unit *unitp, tp->i2c_rbuf[i] |= ~(unitp->writemask); tp->i2c_wbuf[i] = tp->i2c_rbuf[i] | - (tp->i2c_wbuf[i] & bitpattern); + (tp->i2c_wbuf[i] & bitpattern); } tp->i2c_rlen = 0; @@ -1448,7 +1448,7 @@ pcf8574_kstat_update(kstat_t *ksp, int rw) dev_presence = FRU_PRESENT; } else { dev_presence = - scsb_fru_status((uchar_t)unitp->props.slave_address); + scsb_fru_status((uchar_t)unitp->props.slave_address); } kstatp = (char *)ksp->ks_data; @@ -1468,7 +1468,7 @@ pcf8574_kstat_update(kstat_t *ksp, int rw) } value = ((envctrl_fantray_t *)kstatp)->fanspeed; if (value != PCF8574_FAN_SPEED_LOW && - value != PCF8574_FAN_SPEED_HIGH) { + value != PCF8574_FAN_SPEED_HIGH) { err = EINVAL; goto kstat_exit; } @@ -1476,8 +1476,8 @@ pcf8574_kstat_update(kstat_t *ksp, int rw) unitp->i2c_tran->i2c_wbuf[0] = PCF8574_FAN_SPEED(value); if (dev_presence == FRU_PRESENT && - pcf8574_write_chip(unitp, 1, PCF8574_FANSPEED_BIT) - != I2C_SUCCESS) { + pcf8574_write_chip(unitp, 1, PCF8574_FANSPEED_BIT) + != I2C_SUCCESS) { err = EFAULT; goto kstat_exit; } @@ -1490,7 +1490,7 @@ pcf8574_kstat_update(kstat_t *ksp, int rw) * field is set to dev_presence from the SCSB driver. */ if (dev_presence == FRU_PRESENT && - pcf8574_read_chip(unitp, 1) != I2C_SUCCESS) { + pcf8574_read_chip(unitp, 1) != I2C_SUCCESS) { /* * Looks like a real IO error. */ @@ -1507,16 +1507,16 @@ pcf8574_kstat_update(kstat_t *ksp, int rw) switch (unitp->pcf8574_type) { case PCF8574_TYPE_CPUVOLTAGE: { envctrl_cpuvoltage_t *envp = - (envctrl_cpuvoltage_t *)unitp->envctrl_kstat; + (envctrl_cpuvoltage_t *)unitp->envctrl_kstat; envp->value = value; bcopy((caddr_t)envp, kstatp, - sizeof (envctrl_cpuvoltage_t)); + sizeof (envctrl_cpuvoltage_t)); break; } case PCF8574_TYPE_PWRSUPP: { envctrl_pwrsupp_t *envp = - (envctrl_pwrsupp_t *)unitp->envctrl_kstat; + (envctrl_pwrsupp_t *)unitp->envctrl_kstat; envp->ps_present = dev_presence; envp->ps_ok = PCF8574_PS_FAULT(value); @@ -1526,13 +1526,13 @@ pcf8574_kstat_update(kstat_t *ksp, int rw) envp->ps_ver = PCF8574_PS_TYPE(value); bcopy((caddr_t)envp, kstatp, - sizeof (envctrl_pwrsupp_t)); + sizeof (envctrl_pwrsupp_t)); break; } case PCF8574_TYPE_FANTRAY: { envctrl_fantray_t *envp = - (envctrl_fantray_t *)unitp->envctrl_kstat; + (envctrl_fantray_t *)unitp->envctrl_kstat; envp->fan_present = dev_presence; envp->fan_ver = PCF8574_FAN_TYPE(value); @@ -1540,7 +1540,7 @@ pcf8574_kstat_update(kstat_t *ksp, int rw) envp->fanspeed = PCF8574_FAN_FANSPD(value); bcopy((caddr_t)unitp->envctrl_kstat, kstatp, - sizeof (envctrl_fantray_t)); + sizeof (envctrl_fantray_t)); break; } @@ -1572,14 +1572,14 @@ pcf8574_delete_kstat(struct pcf8574_unit *unitp) case PCF8574_TYPE_CPUVOLTAGE: { if (unitp->envctrl_kstat != NULL) { kmem_free(unitp->envctrl_kstat, - sizeof (envctrl_cpuvoltage_t)); + sizeof (envctrl_cpuvoltage_t)); } break; } case PCF8574_TYPE_PWRSUPP: { if (unitp->envctrl_kstat != NULL) { kmem_free(unitp->envctrl_kstat, - sizeof (envctrl_pwrsupp_t)); + sizeof (envctrl_pwrsupp_t)); } break; @@ -1587,7 +1587,7 @@ pcf8574_delete_kstat(struct pcf8574_unit *unitp) case PCF8574_TYPE_FANTRAY: { if (unitp->envctrl_kstat != NULL) { kmem_free(unitp->envctrl_kstat, - sizeof (envctrl_fantray_t)); + sizeof (envctrl_fantray_t)); } break; } @@ -1614,7 +1614,7 @@ pcf8574_read_props(struct pcf8574_unit *unitp) */ if (ddi_prop_lookup_string(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "pcf8574_function", &function) != DDI_SUCCESS) { + "pcf8574_function", &function) != DDI_SUCCESS) { dbg_print(CE_WARN, "Couldn't find pcf8574_function property"); return (DDI_FAILURE); @@ -1628,8 +1628,8 @@ pcf8574_read_props(struct pcf8574_unit *unitp) if (nct_p10fan_patch) { #ifdef DEBUG cmn_err(CE_WARN, "nct_p10fan_patch set: will not load " - "fantary:address %x,%x", unitp->props.i2c_bus, - unitp->props.slave_address); + "fantary:address %x,%x", unitp->props.i2c_bus, + unitp->props.slave_address); #endif ddi_prop_free(function); return (DDI_FAILURE); @@ -1647,12 +1647,12 @@ pcf8574_read_props(struct pcf8574_unit *unitp) ddi_prop_free(function); retval = ddi_getlongprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, - "reg", (caddr_t)&prop_value, &prop_len); + DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, + "reg", (caddr_t)&prop_value, &prop_len); if (retval == DDI_PROP_SUCCESS) { unitp->props.i2c_bus = (uint16_t)prop_value[0]; unitp->props.slave_address = i2c_address = - (uint8_t)prop_value[1]; + (uint8_t)prop_value[1]; kmem_free(prop_value, prop_len); if (i2c_address>>4 == 7) @@ -1676,16 +1676,16 @@ pcf8574_read_props(struct pcf8574_unit *unitp) unitp->pcf8574_canintr = 0; retval = ddi_prop_get_int(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "interrupts", -1); + "interrupts", -1); if (retval >= 0) { int prop_len, intr_pri = 4; unitp->pcf8574_canintr |= PCF8574_INTR_ON; if (ddi_getproplen(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "interrupt-priorities", - &prop_len) == DDI_PROP_NOT_FOUND) { + DDI_PROP_DONTPASS, "interrupt-priorities", + &prop_len) == DDI_PROP_NOT_FOUND) { retval = ddi_prop_create(DDI_DEV_T_NONE, dip, - DDI_PROP_CANSLEEP, "interrupt-priorities", - (caddr_t)&intr_pri, sizeof (int)); + DDI_PROP_CANSLEEP, "interrupt-priorities", + (caddr_t)&intr_pri, sizeof (int)); #ifdef DEBUG if (retval != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "Failed to create interrupt- \ @@ -1701,17 +1701,17 @@ pcf8574_read_props(struct pcf8574_unit *unitp) unitp->props.num_chans_used = 0; if (i2c_address == PCF8574_ADR_CPUVOLTAGE) { if (ddi_getproplen(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "channels-in-use", &prop_len) == DDI_PROP_SUCCESS) { + "channels-in-use", &prop_len) == DDI_PROP_SUCCESS) { retval = ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, - dip, DDI_PROP_DONTPASS, - "channels-in-use", - (uchar_t **)&unitp->props.channels_in_use, - &unitp->props.num_chans_used); + dip, DDI_PROP_DONTPASS, + "channels-in-use", + (uchar_t **)&unitp->props.channels_in_use, + &unitp->props.num_chans_used); if (retval != DDI_PROP_SUCCESS) { unitp->props.num_chans_used = 0; } else { unitp->props.num_chans_used /= - sizeof (pcf8574_channel_t); + sizeof (pcf8574_channel_t); } } } @@ -1732,7 +1732,7 @@ pcf8574_callback(void *softstate, scsb_fru_event_t cb_event, #ifdef DEBUG if (pcf8574_debug & 0x00800001) cmn_err(CE_NOTE, "pcf8574_callback(unitp,%d,%d)", - (int)cb_event, (int)dev_presence); + (int)cb_event, (int)dev_presence); #endif /* DEBUG */ switch (unitp->pcf8574_type) { @@ -1755,7 +1755,7 @@ pcf8574_callback(void *softstate, scsb_fru_event_t cb_event, envp->ps_ver = 0; } else if (dev_presence == FRU_PRESENT && - envp->ps_present == FRU_NOT_PRESENT) { + envp->ps_present == FRU_NOT_PRESENT) { pcf8574_init_chip(unitp, 0); } envp->ps_present = dev_presence; @@ -1774,7 +1774,7 @@ pcf8574_callback(void *softstate, scsb_fru_event_t cb_event, envp->fan_ver = 0; } else if (dev_presence == FRU_PRESENT && - envp->fan_present == FRU_NOT_PRESENT) { + envp->fan_present == FRU_NOT_PRESENT) { pcf8574_init_chip(unitp, 0); } envp->fan_present = dev_presence; @@ -1800,7 +1800,7 @@ pcf8574_init_chip(struct pcf8574_unit *unitp, int intron) boolean_t device_faulty = B_FALSE; /* true is faulty */ if (unitp->pcf8574_type != PCF8574_TYPE_PWRSUPP && - unitp->pcf8574_type != PCF8574_TYPE_FANTRAY) { + unitp->pcf8574_type != PCF8574_TYPE_FANTRAY) { return (ret); } switch (unitp->pcf8574_type) { @@ -1838,7 +1838,7 @@ pcf8574_init_chip(struct pcf8574_unit *unitp, int intron) case PCF8574_TYPE_PWRSUPP: { envctrl_pwrsupp_t *envp = - (envctrl_pwrsupp_t *)unitp->envctrl_kstat; + (envctrl_pwrsupp_t *)unitp->envctrl_kstat; envp->ps_ok = PCF8574_PS_FAULT(value); envp->temp_ok = PCF8574_PS_TEMPOK(value); @@ -1847,7 +1847,7 @@ pcf8574_init_chip(struct pcf8574_unit *unitp, int intron) envp->ps_ver = PCF8574_PS_TYPE(value); if (envp->ps_ok || envp->temp_ok || - envp->psfan_ok || envp->on_state) + envp->psfan_ok || envp->on_state) device_faulty = B_TRUE; break; @@ -1855,7 +1855,7 @@ pcf8574_init_chip(struct pcf8574_unit *unitp, int intron) case PCF8574_TYPE_FANTRAY: { envctrl_fantray_t *envp = - (envctrl_fantray_t *)unitp->envctrl_kstat; + (envctrl_fantray_t *)unitp->envctrl_kstat; envp->fan_ver = PCF8574_FAN_TYPE(value); envp->fan_ok = PCF8574_FAN_FAULT(value); diff --git a/usr/src/uts/sun4u/montecarlo/io/pcf8591_nct.c b/usr/src/uts/sun4u/montecarlo/io/pcf8591_nct.c index 93e9121c80..9bacbb9f14 100644 --- a/usr/src/uts/sun4u/montecarlo/io/pcf8591_nct.c +++ b/usr/src/uts/sun4u/montecarlo/io/pcf8591_nct.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,12 +19,11 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" @@ -155,14 +153,16 @@ static struct dev_ops pcf8591_ops = { pcf8591_detach, nodev, &pcf8591_cbops, - NULL + NULL, + NULL, + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv pcf8591_modldrv = { &mod_driverops, /* type of module - driver */ - "Netract pcf8591 (adio) %I% ", + "Netract pcf8591 (adio)", &pcf8591_ops, }; @@ -185,7 +185,7 @@ _init(void) error = mod_install(&pcf8591_modlinkage); if (error == 0) { (void) ddi_soft_state_init(&pcf8591_soft_statep, - sizeof (struct pcf8591_unit), PCF8591_MAX_DEVS); + sizeof (struct pcf8591_unit), PCF8591_MAX_DEVS); } return (error); @@ -226,7 +226,7 @@ pcf8591_open(dev_t *devp, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591_soft_statep, instance); + ddi_get_soft_state(pcf8591_soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -277,7 +277,7 @@ pcf8591_close(dev_t devp, int flags, int otyp, cred_t *credp) } unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591_soft_statep, instance); + ddi_get_soft_state(pcf8591_soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -317,7 +317,7 @@ pcf8591_io(dev_t dev, struct uio *uiop, int rw) } unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591_soft_statep, instance); + ddi_get_soft_state(pcf8591_soft_statep, instance); if (unitp == NULL) { return (ENXIO); } @@ -359,14 +359,14 @@ pcf8591_io(dev_t dev, struct uio *uiop, int rw) unitp->i2c_tran->i2c_flags = I2C_WR_RD; unitp->i2c_tran->i2c_wlen = 1; unitp->i2c_tran->i2c_wbuf[0] = (unitp->pcf8591_inprog | - channel); + channel); /* * read extra byte to throw away the first, (PCF8591 datasheet) */ unitp->i2c_tran->i2c_rlen = bytes_to_rw + 1; if (nct_i2c_transfer(unitp->pcf8591_hdl, - unitp->i2c_tran) != I2C_SUCCESS) { + unitp->i2c_tran) != I2C_SUCCESS) { err = EIO; } else { /* @@ -375,17 +375,17 @@ pcf8591_io(dev_t dev, struct uio *uiop, int rw) */ if (translate) { unitp->i2c_tran->i2c_rbuf[0] = - translate_cputemp(unitp->i2c_tran->i2c_rbuf[1]); + translate_cputemp(unitp->i2c_tran->i2c_rbuf[1]); } else { unitp->i2c_tran->i2c_rbuf[0] = - unitp->i2c_tran->i2c_rbuf[1]; + unitp->i2c_tran->i2c_rbuf[1]; unitp->i2c_tran->i2c_rbuf[1] = 0; } err = uiomove(unitp->i2c_tran->i2c_rbuf, - bytes_to_rw, - UIO_READ, - uiop); + bytes_to_rw, + UIO_READ, + uiop); } mutex_enter(&unitp->umutex); unitp->pcf8591_flags = 0; @@ -413,7 +413,7 @@ call_copyin(caddr_t arg, struct pcf8591_unit *unitp, int mode) if (ddi_copyin((void *)arg, (caddr_t)&i2ct, sizeof (i2c_transfer_t), mode) != DDI_SUCCESS) { - return (I2C_FAILURE); + return (I2C_FAILURE); } /* @@ -436,7 +436,7 @@ call_copyin(caddr_t arg, struct pcf8591_unit *unitp, int mode) if (i2ct.i2c_wlen != 0) { if (ddi_copyin(i2ct.i2c_wbuf, (caddr_t)i2ctp->i2c_wbuf, - i2ct.i2c_wlen, mode) != DDI_SUCCESS) { + i2ct.i2c_wlen, mode) != DDI_SUCCESS) { return (I2C_FAILURE); } } @@ -458,7 +458,7 @@ call_copyout(caddr_t arg, struct pcf8591_unit *unitp, int mode) */ int uskip = sizeof (i2c_transfer_t) - 3*sizeof (int16_t), - kskip = sizeof (i2c_transfer_t) - 3*sizeof (int16_t); + kskip = sizeof (i2c_transfer_t) - 3*sizeof (int16_t); /* * First copyin the user structure to the temporary i2ct, @@ -472,8 +472,8 @@ call_copyout(caddr_t arg, struct pcf8591_unit *unitp, int mode) */ if (ddi_copyout((void *)((intptr_t)i2ctp+kskip), (void *) - ((intptr_t)arg + uskip), 3*sizeof (uint16_t), mode) - != DDI_SUCCESS) { + ((intptr_t)arg + uskip), 3*sizeof (uint16_t), mode) + != DDI_SUCCESS) { return (I2C_FAILURE); } @@ -485,7 +485,7 @@ call_copyout(caddr_t arg, struct pcf8591_unit *unitp, int mode) if (i2ctp->i2c_rlen - i2ctp->i2c_r_resid > 0) { if (ddi_copyin((void *)arg, &i2ct, - sizeof (i2c_transfer_t), mode) != DDI_SUCCESS) { + sizeof (i2c_transfer_t), mode) != DDI_SUCCESS) { return (I2C_FAILURE); } @@ -495,7 +495,7 @@ call_copyout(caddr_t arg, struct pcf8591_unit *unitp, int mode) i2c_actlen = i2ctp->i2c_rlen - i2ctp->i2c_r_resid; if (ddi_copyout(i2ctp->i2c_rbuf, i2ct.i2c_rbuf, - i2c_actlen, mode) != DDI_SUCCESS) { + i2c_actlen, mode) != DDI_SUCCESS) { return (I2C_FAILURE); } } @@ -528,7 +528,7 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, int channel = PCF8591_MINOR_TO_CHANNEL(minor); unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591_soft_statep, instance); + ddi_get_soft_state(pcf8591_soft_statep, instance); mutex_enter(&unitp->umutex); while (unitp->pcf8591_flags == PCF8591_BUSY) { @@ -550,7 +550,7 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, */ pcf8591_read_chip(unitp, channel, 1); if (ddi_copyout(unitp->i2c_tran->i2c_rbuf, - (caddr_t)arg, sizeof (uint8_t), mode) != DDI_SUCCESS) { + (caddr_t)arg, sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; @@ -560,7 +560,7 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, uint8_t curr_mode = unitp->current_mode; if (ddi_copyout((caddr_t)&curr_mode, (caddr_t)arg, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; } break; @@ -569,12 +569,12 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case ENVC_IOC_SETMODE: { uint8_t curr_mode; if (ddi_copyin((caddr_t)arg, (caddr_t)&curr_mode, - sizeof (uint8_t), mode) != DDI_SUCCESS) { + sizeof (uint8_t), mode) != DDI_SUCCESS) { err = EFAULT; break; } if (curr_mode == ENVCTRL_DIAG_MODE || - curr_mode == ENVCTRL_NORMAL_MODE) { + curr_mode == ENVCTRL_NORMAL_MODE) { unitp->current_mode = curr_mode; /* Don't do anything */ } break; @@ -587,7 +587,7 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, break; } if (nct_i2c_transfer(unitp->pcf8591_hdl, unitp->i2c_tran) - != I2C_SUCCESS) { + != I2C_SUCCESS) { err = EFAULT; break; } @@ -618,21 +618,22 @@ pcf8591_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, */ tp->i2c_rlen = 2; if (nct_i2c_transfer(unitp->pcf8591_hdl, unitp->i2c_tran) - != I2C_SUCCESS) { + != I2C_SUCCESS) { err = EFAULT; break; } #ifdef DEBUG if (pcf8591_debug & 0x0010) cmn_err(CE_NOTE, - "pcf8591_ioctl: i2c_rlen=%d; i2c_rbuf[0,1]=0x%x,0x%x\n", - tp->i2c_rlen, tp->i2c_rbuf[0], tp->i2c_rbuf[1]); + "pcf8591_ioctl: i2c_rlen=%d; " + "i2c_rbuf[0,1]=0x%x,0x%x\n", + tp->i2c_rlen, tp->i2c_rbuf[0], tp->i2c_rbuf[1]); #endif /* DEBUG */ /* * Throw away the first byte according to PCF8591 datasheet */ if ((tp->i2c_rbuf[0] = translate_cputemp(tp->i2c_rbuf[1])) - == 0) { + == 0) { err = EINVAL; break; } @@ -725,7 +726,7 @@ pcf8591_do_suspend(dev_info_t *dip) { int instance = ddi_get_instance(dip); struct pcf8591_unit *unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591_soft_statep, instance); + ddi_get_soft_state(pcf8591_soft_statep, instance); if (unitp == NULL) { return (ENXIO); @@ -738,7 +739,7 @@ pcf8591_do_suspend(dev_info_t *dip) mutex_enter(&unitp->umutex); while (unitp->pcf8591_flags == PCF8591_BUSY) { if (cv_wait_sig(&unitp->pcf8591_cv, - &unitp->umutex) <= 0) { + &unitp->umutex) <= 0) { mutex_exit(&unitp->umutex); return (DDI_FAILURE); @@ -755,7 +756,7 @@ pcf8591_do_resume(dev_info_t *dip) { int instance = ddi_get_instance(dip); struct pcf8591_unit *unitp = (struct pcf8591_unit *) - ddi_get_soft_state(pcf8591_soft_statep, instance); + ddi_get_soft_state(pcf8591_soft_statep, instance); if (unitp == NULL) { return (ENXIO); } @@ -806,7 +807,7 @@ pcf8591_do_attach(dev_info_t *dip) unitp->current_mode = ENVCTRL_NORMAL_MODE; /* normal mode */ snprintf(unitp->pcf8591_name, PCF8591_NAMELEN, - "%s%d", ddi_driver_name(dip), instance); + "%s%d", ddi_driver_name(dip), instance); /* * Create a minor node corresponding to channel 0 to 3 @@ -819,7 +820,7 @@ pcf8591_do_attach(dev_info_t *dip) } minor = PCF8591_MINOR_NUM(instance, i); if (ddi_create_minor_node(dip, name, S_IFCHR, minor, - PCF8591_NODE_TYPE, NULL) == DDI_FAILURE) { + PCF8591_NODE_TYPE, NULL) == DDI_FAILURE) { ddi_remove_minor_node(dip, NULL); pcf8591_do_detach(dip); @@ -830,7 +831,7 @@ pcf8591_do_attach(dev_info_t *dip) unitp->attach_flag |= PCF8591_MINORS_CREATED; if (i2c_client_register(dip, &unitp->pcf8591_hdl) - != I2C_SUCCESS) { + != I2C_SUCCESS) { pcf8591_do_detach(dip); return (DDI_FAILURE); @@ -843,7 +844,7 @@ pcf8591_do_attach(dev_info_t *dip) * i2c transactions. */ if (i2c_transfer_alloc(unitp->pcf8591_hdl, &unitp->i2c_tran, - MAX_WLEN, MAX_RLEN, KM_SLEEP) != I2C_SUCCESS) { + MAX_WLEN, MAX_RLEN, KM_SLEEP) != I2C_SUCCESS) { pcf8591_do_detach(dip); return (DDI_FAILURE); @@ -947,9 +948,9 @@ static int pcf8591_add_kstats(struct pcf8591_unit *unitp) { if ((unitp->tempksp = kstat_create(I2C_PCF8591_NAME, - unitp->instance, I2C_KSTAT_CPUTEMP, "misc", - KSTAT_TYPE_RAW, sizeof (unitp->temp_kstats), - KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) == NULL) { + unitp->instance, I2C_KSTAT_CPUTEMP, "misc", + KSTAT_TYPE_RAW, sizeof (unitp->temp_kstats), + KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) == NULL) { return (DDI_FAILURE); } @@ -962,7 +963,7 @@ pcf8591_add_kstats(struct pcf8591_unit *unitp) unitp->tempksp->ks_private = (void *)unitp; strcpy(unitp->temp_kstats.label, - unitp->props.channels_description[0]); + unitp->props.channels_description[0]); unitp->temp_kstats.type = ENVC_NETRACT_CPU_SENSOR; kstat_install(unitp->tempksp); @@ -991,7 +992,7 @@ pcf8591_temp_kstat_update(kstat_t *ksp, int rw) mutex_enter(&unitp->umutex); while (unitp->pcf8591_flags == PCF8591_BUSY) { if (cv_wait_sig(&unitp->pcf8591_cv, - &unitp->umutex) <= 0) { + &unitp->umutex) <= 0) { mutex_exit(&unitp->umutex); return (EINTR); @@ -1015,7 +1016,7 @@ pcf8591_temp_kstat_update(kstat_t *ksp, int rw) shutdown_temp = ((envctrl_temp_t *)kstatp)->shutdown_threshold; if (shutdown_temp < SHUTDOWN_TEMP_MIN || shutdown_temp > - SHUTDOWN_TEMP_MAX) { + SHUTDOWN_TEMP_MAX) { err = EIO; goto bail; } @@ -1033,9 +1034,9 @@ pcf8591_temp_kstat_update(kstat_t *ksp, int rw) pcf8591_read_chip(unitp, channel, 1); unitp->temp_kstats.value = - unitp->i2c_tran->i2c_rbuf[0]; + unitp->i2c_tran->i2c_rbuf[0]; bcopy((caddr_t)&unitp->temp_kstats, kstatp, - sizeof (unitp->temp_kstats)); + sizeof (unitp->temp_kstats)); } bail: @@ -1063,7 +1064,7 @@ int size) tp->i2c_rlen = size+1; tp->i2c_wlen = 1; tp->i2c_wbuf[0] = (unitp->pcf8591_inprog | - channel); + channel); retval = nct_i2c_transfer(unitp->pcf8591_hdl, tp); if (retval == I2C_SUCCESS) { @@ -1100,7 +1101,7 @@ pcf8591_read_props(struct pcf8591_unit *unitp) * cputemp. */ if (ddi_prop_lookup_string(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "pcf8591_function", &function) != DDI_SUCCESS) { + "pcf8591_function", &function) != DDI_SUCCESS) { dbg_print(CE_WARN, "Couldn't find pcf8591_function property"); return (DDI_FAILURE); @@ -1116,7 +1117,7 @@ pcf8591_read_props(struct pcf8591_unit *unitp) ddi_prop_free(function); retval = ddi_prop_lookup_string(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "name", &unitp->props.name); + "name", &unitp->props.name); if (retval != DDI_PROP_SUCCESS) { return (retval); @@ -1124,13 +1125,13 @@ pcf8591_read_props(struct pcf8591_unit *unitp) #ifdef DEBUG else if (pcf8591_debug & 0x02) cmn_err(CE_NOTE, - "pcf8591_read_props:ddi_prop_lookup_string(%s): \ + "pcf8591_read_props:ddi_prop_lookup_string(%s): \ found %s ", "name", unitp->props.name); #endif /* DEBUG */ retval = ddi_getlongprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, - "reg", (caddr_t)&prop_value, &prop_len); + DDI_PROP_DONTPASS | DDI_PROP_CANSLEEP, + "reg", (caddr_t)&prop_value, &prop_len); if (retval == DDI_PROP_SUCCESS) { unitp->props.i2c_bus = (uint16_t)prop_value[0]; unitp->props.slave_address = (uint16_t)prop_value[1]; @@ -1138,29 +1139,29 @@ pcf8591_read_props(struct pcf8591_unit *unitp) #ifdef DEBUG if (pcf8591_debug & 0x02) cmn_err(CE_NOTE, - "pcf8591:ddi_getlongprop(%s) returns %d," - " i2c_bus,slave=0x%x,0x%x", - "reg", retval, unitp->props.i2c_bus, - unitp->props.slave_address); + "pcf8591:ddi_getlongprop(%s) returns %d," + " i2c_bus,slave=0x%x,0x%x", + "reg", retval, unitp->props.i2c_bus, + unitp->props.slave_address); #endif /* DEBUG */ } else { unitp->props.i2c_bus = (uint16_t)-1; unitp->props.slave_address = (uint16_t)-1; #ifdef DEBUG cmn_err(CE_WARN, - "pcf8591_read_props:ddi_getlongprop(%s) returns %d," - " default it to 0x%x:0x%X", - "reg", retval, unitp->props.i2c_bus, - unitp->props.slave_address); + "pcf8591_read_props:ddi_getlongprop(%s) returns %d," + " default it to 0x%x:0x%X", + "reg", retval, unitp->props.i2c_bus, + unitp->props.slave_address); #endif /* DEBUG */ } ddi_getproplen(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "channels-in-use", &prop_len); + "channels-in-use", &prop_len); retval = ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, - dip, DDI_PROP_DONTPASS, - "channels-in-use", - (uchar_t **)&unitp->props.channels_in_use, - &unitp->props.num_chans_used); + dip, DDI_PROP_DONTPASS, + "channels-in-use", + (uchar_t **)&unitp->props.channels_in_use, + &unitp->props.num_chans_used); if (retval == DDI_PROP_SUCCESS) { unitp->props.num_chans_used /= sizeof (pcf8591_channel_t); } else { @@ -1170,17 +1171,17 @@ pcf8591_read_props(struct pcf8591_unit *unitp) #ifdef DEBUG if (pcf8591_debug & 0x0002) cmn_err(CE_NOTE, - "pcf8591_read_props:ddi_prop_lookup_byte_array(%s)" - "returns %d\n" - "\t\tlength=%d, #elements=%d", - "channels-in-use", retval, - prop_len, unitp->props.num_chans_used); + "pcf8591_read_props:ddi_prop_lookup_byte_array(%s)" + "returns %d\n" + "\t\tlength=%d, #elements=%d", + "channels-in-use", retval, + prop_len, unitp->props.num_chans_used); #endif /* DEBUG */ retval = ddi_prop_lookup_string_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "channels-description", - (char ***)&unitp->props.channels_description, - (uint_t *)&prop_len); + DDI_PROP_DONTPASS, "channels-description", + (char ***)&unitp->props.channels_description, + (uint_t *)&prop_len); if (retval != DDI_PROP_SUCCESS) { prop_len = 0; @@ -1190,12 +1191,12 @@ pcf8591_read_props(struct pcf8591_unit *unitp) #ifdef DEBUG if (pcf8591_debug & 0x0002) { cmn_err(CE_NOTE, - "pcf8591_read_props:ddi_prop_lookup_string_array(%s)" - "returns %d, length=%d", - "channels-description", retval, prop_len); + "pcf8591_read_props:ddi_prop_lookup_string_array(%s)" + "returns %d, length=%d", + "channels-description", retval, prop_len); for (i = 0; i < prop_len; ++i) { cmn_err(CE_NOTE, "channels-description[%d]=<%s>", - i, unitp->props.channels_description[i]); + i, unitp->props.channels_description[i]); } } #endif /* DEBUG */ @@ -1205,12 +1206,12 @@ pcf8591_read_props(struct pcf8591_unit *unitp) * I haven't yet investigated why the copy target is index + 2 */ retval = ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "tables", &creg_prop, (uint_t *)&prop_len); + DDI_PROP_DONTPASS, "tables", &creg_prop, (uint_t *)&prop_len); if (retval != DDI_PROP_SUCCESS) { #ifdef DEBUG cmn_err(CE_WARN, "%s%d: Unable to read pcf8591 tables property", - ddi_get_name(dip), instance); + ddi_get_name(dip), instance); #endif /* DEBUG */ return (DDI_NOT_WELL_FORMED); @@ -1225,7 +1226,7 @@ pcf8591_read_props(struct pcf8591_unit *unitp) #ifdef DEBUG if (pcf8591_debug & 0x0002) cmn_err(CE_NOTE, "pcf8591_read_props: _cpu_temps size=%d; " - "tables prop_len=%d\n", tblsz, prop_len); + "tables prop_len=%d\n", tblsz, prop_len); #endif /* DEBUG */ ddi_prop_free(creg_prop); @@ -1234,10 +1235,10 @@ pcf8591_read_props(struct pcf8591_unit *unitp) * Read shutdown temp and warning temp properties. */ warning_temp = (int)ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "warning-temp", PCF8591_WARNING_TEMP); + DDI_PROP_DONTPASS, "warning-temp", PCF8591_WARNING_TEMP); shutdown_temp = (int)ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "shutdown-temp", PCF8591_SHUTDOWN_TEMP); + DDI_PROP_DONTPASS, "shutdown-temp", PCF8591_SHUTDOWN_TEMP); /* * Fill up the warning and shutdown temp values in kstat structure. diff --git a/usr/src/uts/sun4u/montecarlo/io/scsb.c b/usr/src/uts/sun4u/montecarlo/io/scsb.c index 2b21cf6ee4..90a88578ae 100644 --- a/usr/src/uts/sun4u/montecarlo/io/scsb.c +++ b/usr/src/uts/sun4u/montecarlo/io/scsb.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Netra ct800 and Netra ct400 (MonteCarlo/Tonga) @@ -178,8 +177,9 @@ static struct dev_ops scsb_ops = { scsb_detach, /* detach */ nodev, /* reset */ &scsb_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* bus operations */ - + (struct bus_ops *)0, /* bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -191,7 +191,7 @@ static struct modldrv modldrv = { #ifdef DEBUG "SCB/SSB driver DBG" SCSB_BUILD_VERSION, #else - "v%I% Netra ct System Control/Status Board driver", + "v1.33 Netra ct System Control/Status Board driver", #endif &scsb_ops, /* driver ops */ }; @@ -315,7 +315,7 @@ _init(void) if (scsb_debug & 0x0005) cmn_err(CE_NOTE, "scsb: _init()"); ddi_soft_state_init(&scsb_state, sizeof (scsb_state_t), - SCSB_NO_OF_BOARDS); + SCSB_NO_OF_BOARDS); hsc_init(); if ((status = mod_install(&modlinkage)) != 0) { if (scsb_debug & 0x0006) @@ -384,14 +384,14 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) if (cmd != DDI_ATTACH) { if (scsb_debug & 0x0006) cmn_err(CE_NOTE, - "scsb_attach[%d]: cmd 0x%x != DDI_ATTACH", - instance, cmd); + "scsb_attach[%d]: cmd 0x%x != DDI_ATTACH", + instance, cmd); return (DDI_FAILURE); } if (ddi_soft_state_zalloc(scsb_state, instance) != DDI_SUCCESS) { cmn_err(CE_WARN, "scsb%d: cannot allocate soft state", - instance); + instance); return (DDI_FAILURE); } @@ -408,16 +408,16 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * make sure this is the SCB's known address */ if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, dip, DDI_PROP_DONTPASS, - "reg", ®s, &len) != DDI_PROP_SUCCESS) { + "reg", ®s, &len) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, - "scsb%d: Failed to get \"reg\" property", instance); + "scsb%d: Failed to get \"reg\" property", instance); ddi_soft_state_free(scsb_state, instance); return (DDI_FAILURE); } scsb->scsb_i2c_addr = regs[1] & SCSB_I2C_ADDR_MASK; if (scsb->scsb_i2c_addr != SCSB_I2C_ADDR) { cmn_err(CE_WARN, "scsb%d: I2C Addr reg %x %x must be %x", - instance, regs[0], regs[1], SCSB_I2C_ADDR); + instance, regs[0], regs[1], SCSB_I2C_ADDR); ddi_soft_state_free(scsb_state, instance); ddi_prop_free(regs); return (DDI_FAILURE); @@ -440,17 +440,17 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ /* 1 */ if (ddi_prop_exists(DDI_DEV_T_ANY, dip, - DDI_PROP_NOTPROM | DDI_PROP_DONTPASS, - "interrupt-priorities") != 1) { + DDI_PROP_NOTPROM | DDI_PROP_DONTPASS, + "interrupt-priorities") != 1) { int tmp[2]; tmp[0] = scsb_pil; tmp[1] = hsc_pil; (void) ddi_prop_update_int_array(DDI_DEV_T_NONE, dip, - "interrupt-priorities", tmp, 2); + "interrupt-priorities", tmp, 2); scsb->scsb_state |= SCSB_PROP_CREATE; } if ((i = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "interrupts", -1)) >= 0) + DDI_PROP_DONTPASS, "interrupts", -1)) >= 0) scsb->scsb_state |= SCSB_P06_INTR_ON; else scsb->scsb_state |= SCSB_P06_NOINT_KLUGE; @@ -461,11 +461,11 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * health. The scsb_err_threshold is 10 by default. */ if ((i = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "device-err-threshold", -1)) >= 0) { + DDI_PROP_DONTPASS, "device-err-threshold", -1)) >= 0) { scsb_err_threshold = i; #ifdef DEBUG cmn_err(CE_NOTE, "?scsb_attach: Found device-err-threshold" - " property, value %d", scsb_err_threshold); + " property, value %d", scsb_err_threshold); #endif } scsb->scsb_i2c_errcnt = 0; @@ -476,7 +476,7 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * If all went well, create the minor node for user level access. */ if (ddi_create_minor_node(dip, scsb_name, S_IFCHR, instance, - "ddi_ctl:pcihpc", NULL) == DDI_FAILURE) { + "ddi_ctl:pcihpc", NULL) == DDI_FAILURE) { cmn_err(CE_WARN, "scsb_attach: Failed to create minor node"); free_resources(dip, scsb, instance); return (DDI_FAILURE); @@ -484,8 +484,8 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) scsb->scsb_state |= SCSB_MINOR_NODE; scsb->scsb_dev = dip; if (ddi_create_minor_node(dip, scsb_clone_name, S_IFCHR, - instance|SCSB_CLONE, "ddi_ctl:pcihpc", NULL) - == DDI_FAILURE) { + instance|SCSB_CLONE, "ddi_ctl:pcihpc", NULL) + == DDI_FAILURE) { cmn_err(CE_WARN, "scsb_attach: Failed to create clone node"); free_resources(dip, scsb, instance); return (DDI_FAILURE); @@ -495,16 +495,16 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* 2 */ if (i2c_client_register(dip, &scsb->scsb_phandle) != I2C_SUCCESS) { cmn_err(CE_WARN, - "scsb_attach: Failed I2C Services registration"); + "scsb_attach: Failed I2C Services registration"); free_resources(dip, scsb, instance); return (DDI_FAILURE); } scsb->scsb_state |= SCSB_I2C_PHANDLE; /* 3 */ if ((scsb->scsb_i2ctp = scsb_alloc_i2ctx(scsb->scsb_phandle, - I2C_SLEEP)) == NULL) { + I2C_SLEEP)) == NULL) { cmn_err(CE_WARN, - "scsb%d: i2c_transfer allocation failed", instance); + "scsb%d: i2c_transfer allocation failed", instance); free_resources(dip, scsb, instance); return (DDI_FAILURE); } @@ -560,16 +560,16 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ if (scsb->scsb_state & SCSB_P06_INTR_ON) { if (ddi_get_iblock_cookie(dip, instance, - &scsb->scsb_iblock) == DDI_SUCCESS) { + &scsb->scsb_iblock) == DDI_SUCCESS) { mutex_init(&scsb->scsb_imutex, NULL, MUTEX_DRIVER, - (void *)scsb->scsb_iblock); + (void *)scsb->scsb_iblock); scsb->scsb_state |= SCSB_IMUTEX; if (ddi_add_intr(dip, instance, &scsb->scsb_iblock, - NULL, scsb_intr_preprocess, - (caddr_t)scsb) != DDI_SUCCESS) { + NULL, scsb_intr_preprocess, + (caddr_t)scsb) != DDI_SUCCESS) { cmn_err(CE_WARN, - "scsb_attach: failed interrupt " - "handler registration"); + "scsb_attach: failed interrupt " + "handler registration"); free_resources(dip, scsb, instance); return (DDI_FAILURE); } @@ -577,7 +577,7 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) nct_mutex_init |= MUTEX_INIT; } else { cmn_err(CE_WARN, "scsb_attach: failed interrupt " - "mutex initialization"); + "mutex initialization"); if (scsb_debug) { scsb->scsb_state |= SCSB_P06_NOINT_KLUGE; scsb->scsb_state &= ~SCSB_P06_INTR_ON; @@ -590,7 +590,7 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* 9. */ if (i = scsb_clear_intmasks(scsb)) { cmn_err(CE_WARN, - "scsb%d: I2C TRANSFER Failed", instance); + "scsb%d: I2C TRANSFER Failed", instance); if (!scsb_debug) { free_resources(dip, scsb, instance); return (DDI_FAILURE); @@ -605,11 +605,11 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) rmask = 0x00; wdata = 1 << SYS_OFFSET(SCTRL_SYS_PSM_INT_ENABLE); i = SYS_REG_INDEX(SCTRL_SYS_PSM_INT_ENABLE, - SCTRL_SYS_CMD_BASE); + SCTRL_SYS_CMD_BASE); reg = SCSB_REG_ADDR(i); if (i = scsb_write_mask(scsb, reg, rmask, wdata, (uchar_t)0)) { cmn_err(CE_WARN, - "scsb%d: I2C TRANSFER Failed", instance); + "scsb%d: I2C TRANSFER Failed", instance); if (!scsb_debug) { free_resources(dip, scsb, instance); return (DDI_FAILURE); @@ -629,24 +629,24 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) mutex_enter(&scsb->scsb_mutex); if (scsb_readall_regs(scsb)) cmn_err(CE_WARN, - "scsb_attach: scsb_readall FAILED"); + "scsb_attach: scsb_readall FAILED"); mutex_exit(&scsb->scsb_mutex); } /* 11. */ /* Check if Alarm Card present at boot and set flags */ if (scsb_fru_op(scsb, ALARM, 1, SCTRL_SYSCFG_BASE, - SCSB_FRU_OP_GET_BITVAL)) + SCSB_FRU_OP_GET_BITVAL)) scsb->scsb_hsc_state |= SCSB_ALARM_CARD_PRES; /* 12. */ if (scsb_debug & 0x0004) cmn_err(CE_NOTE, - "scsb_attach: registering cPCI slots"); + "scsb_attach: registering cPCI slots"); if (scsb_hsc_attach(dip, scsb, instance) != DDI_SUCCESS) { if (scsb_debug & 0x00008000) { cmn_err(CE_WARN, "scsb: Hotswap controller initialisation" - " failed\n"); + " failed\n"); } } else scsb->scsb_hsc_state |= SCSB_HSC_INIT; @@ -664,13 +664,13 @@ scsb_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) ddi_report_dev(scsb->scsb_dev); cmn_err(CE_CONT, "?%s%d: " "Prom Version %s, Midplane Id %x\n", - ddi_driver_name(scsb->scsb_dev), - scsb->scsb_instance, - (scsb->scsb_state & SCSB_P06_PROM) ? "0.6" : - (scsb->scsb_state & SCSB_P10_PROM) ? "1.0" : - (scsb->scsb_state & SCSB_P15_PROM) ? "1.5" : - (scsb->scsb_state & SCSB_P20_PROM) ? "2.0" : "Unknown", - mct_system_info.mid_plane.fru_id); + ddi_driver_name(scsb->scsb_dev), + scsb->scsb_instance, + (scsb->scsb_state & SCSB_P06_PROM) ? "0.6" : + (scsb->scsb_state & SCSB_P10_PROM) ? "1.0" : + (scsb->scsb_state & SCSB_P15_PROM) ? "1.5" : + (scsb->scsb_state & SCSB_P20_PROM) ? "2.0" : "Unknown", + mct_system_info.mid_plane.fru_id); return (DDI_SUCCESS); } @@ -693,14 +693,14 @@ scb_check_version(scsb_state_t *scsb) } /* Read the SCB PROM ID */ if (scsb_rdwr_register(scsb, I2C_WR_RD, (uchar_t)SCTRL_PROM_VERSION, 1, - &data, 1)) { + &data, 1)) { if (!(hotswap && scsb->scsb_state & SCSB_FROZEN)) cmn_err(CE_WARN, "scsb%d: I2C TRANSFER Failed", - scsb->scsb_instance); + scsb->scsb_instance); if (scsb_debug & 0x0006) { cmn_err(CE_WARN, "scsb_attach(%d): failed read of PROM ID", - scsb->scsb_instance); + scsb->scsb_instance); } return (DDI_FAILURE); } @@ -710,15 +710,15 @@ scb_check_version(scsb_state_t *scsb) */ if (hotswap) { if (((mct_system_info.fru_info_list[SCB])[0].fru_version & 0xf) - == (data & 0xf)) { + == (data & 0xf)) { return (DDI_SUCCESS); } if (scsb_debug & 0x00020000) { cmn_err(CE_NOTE, - "scb_check_version: SCB version %d " - "replacing version %d", data, - (mct_system_info.fru_info_list[SCB])[0]. - fru_version & 0xf); + "scb_check_version: SCB version %d " + "replacing version %d", data, + (mct_system_info.fru_info_list[SCB])[0]. + fru_version & 0xf); } } if ((data & 0xf) == SCTRL_PROM_P06) { @@ -745,7 +745,7 @@ scb_check_version(scsb_state_t *scsb) } if (!(IS_SCB_P15) && !(IS_SCB_P10)) { cmn_err(CE_WARN, "scsb%d: SCB Version %d not recognized", - scsb->scsb_instance, data); + scsb->scsb_instance, data); if (hotswap) scsb->scsb_state |= SCSB_FROZEN; if (!(scsb_debug)) { @@ -783,10 +783,10 @@ initialize_scb(scsb_state_t *scsb) reg = SCSB_REG_ADDR(i); if (i = scsb_write_mask(scsb, reg, rmask, wdata, 0)) { cmn_err(CE_WARN, - "scsb%d: I2C TRANSFER Failed", scsb->scsb_instance); + "scsb%d: I2C TRANSFER Failed", scsb->scsb_instance); if (scsb_debug & 0x0006) { cmn_err(CE_NOTE, - "scsb_attach: failed to set SCB_INIT"); + "scsb_attach: failed to set SCB_INIT"); } return (DDI_FAILURE); } @@ -794,25 +794,25 @@ initialize_scb(scsb_state_t *scsb) if (IS_SCB_P10) { if (scsb_debug & 0x0004) { cmn_err(CE_NOTE, "scsb_attach(%d): turning LEDs off", - scsb->scsb_instance); + scsb->scsb_instance); } if (i = scsb_leds_switch(scsb, OFF)) { cmn_err(CE_WARN, "scsb%d: I2C TRANSFER Failed", - scsb->scsb_instance); + scsb->scsb_instance); return (DDI_FAILURE); } } /* 4. Read the SYSCFG registers, update FRU info and SSB LEDs */ if (scsb_debug & 0x0004) cmn_err(CE_NOTE, "scsb_attach(%d): reading config registers", - scsb->scsb_instance); + scsb->scsb_instance); if ((i = scsb_check_config_status(scsb)) == 0) { if (!(scsb->scsb_state & SCSB_TOPOLOGY)) { scsb_set_topology(scsb); if (scsb_debug & 0x0004) cmn_err(CE_NOTE, "scsb_attach(%d): mpid = 0x%x", - scsb->scsb_instance, - mct_system_info.mid_plane.fru_id); + scsb->scsb_instance, + mct_system_info.mid_plane.fru_id); } else { fru_info_t *fru_ptr; /* @@ -830,17 +830,17 @@ initialize_scb(scsb_state_t *scsb) } if (i) { cmn_err(CE_WARN, "scsb%d: I2C TRANSFER Failed", - scsb->scsb_instance); + scsb->scsb_instance); return (DDI_FAILURE); } /* 5. read the Board Healthy registers */ if (scsb_debug & 0x0004) cmn_err(CE_NOTE, "scsb_attach(%d): reading Brd_Hlthy registers", - scsb->scsb_instance); + scsb->scsb_instance); i = scsb_read_bhealthy(scsb); if (i) { cmn_err(CE_WARN, "scsb%d: I2C TRANSFER Failed", - scsb->scsb_instance); + scsb->scsb_instance); return (DDI_FAILURE); } /* 6. Clear Interrupt Source registers */ @@ -858,19 +858,19 @@ initialize_scb(scsb_state_t *scsb) reg = SCSB_REG_ADDR(i); if (i = scsb_write_mask(scsb, reg, rmask, (uchar_t)0, wdata)) { cmn_err(CE_WARN, "scsb%d: Cannot turn off PSM_INT", - scsb->scsb_instance); + scsb->scsb_instance); return (DDI_FAILURE); } /* Mask all interrupt sources */ if (i = scsb_setall_intmasks(scsb)) { cmn_err(CE_WARN, "scsb%d: I2C TRANSFER Failed", - scsb->scsb_instance); + scsb->scsb_instance); return (DDI_FAILURE); } /* Clear any latched interrupts */ if (i = scsb_clear_intptrs(scsb)) { cmn_err(CE_WARN, "scsb%d: I2C TRANSFER Failed", - scsb->scsb_instance); + scsb->scsb_instance); return (DDI_FAILURE); } /* 7. set SCB EEPROM address: NOT USED */ @@ -899,8 +899,8 @@ scsb_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) if (cmd != DDI_DETACH) { if (scsb_debug & 0x0006) cmn_err(CE_NOTE, - "scsb_detach(%d): command %x is not DDI_DETACH\n", - instance, cmd); + "scsb_detach(%d): command %x is not DDI_DETACH\n", + instance, cmd); return (DDI_FAILURE); } scsb = (scsb_state_t *)ddi_get_soft_state(scsb_state, instance); @@ -916,10 +916,10 @@ scsb_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) */ wdata = 1 << SYS_OFFSET(SCTRL_SYS_PSM_INT_ENABLE); reg = SYS_REG_INDEX(SCTRL_SYS_PSM_INT_ENABLE, - SCTRL_SYS_CMD_BASE); + SCTRL_SYS_CMD_BASE); if (scsb_write_mask(scsb, reg, (uchar_t)0, (uchar_t)0, wdata)) { cmn_err(CE_WARN, - "scsb%d: Cannot turn off PSM_INT", instance); + "scsb%d: Cannot turn off PSM_INT", instance); if (!scsb_debug) { (void) free_resources(dip, scsb, instance); return (DDI_FAILURE); @@ -928,7 +928,7 @@ scsb_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) /* Mask all interrupts */ if (scsb_setall_intmasks(scsb)) { cmn_err(CE_WARN, - "scsb%d: I2C TRANSFER Failed", instance); + "scsb%d: I2C TRANSFER Failed", instance); if (!scsb_debug) { (void) free_resources(dip, scsb, instance); return (DDI_FAILURE); @@ -937,7 +937,7 @@ scsb_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) /* Clear all latched interrupts */ if (scsb_clear_intptrs(scsb)) { cmn_err(CE_WARN, - "scsb%d: I2C TRANSFER Failed", instance); + "scsb%d: I2C TRANSFER Failed", instance); if (!scsb_debug) { (void) free_resources(dip, scsb, instance); return (DDI_FAILURE); @@ -960,11 +960,11 @@ free_resources(dev_info_t *dip, scsb_state_t *scsb, int instance) { if (scsb_debug & 0x0005) { cmn_err(CE_NOTE, "free_resources[%d], scsb_state=0x%x", - instance, scsb->scsb_state); + instance, scsb->scsb_state); drv_usecwait(500000); } if (scsb->scsb_state & SCSB_P06_INTR_ON && - scsb->scsb_state & SCSB_IMUTEX) { + scsb->scsb_state & SCSB_IMUTEX) { scsb->scsb_state &= ~SCSB_P06_INTR_ON; ddi_remove_intr(dip, 0, scsb->scsb_iblock); } @@ -997,7 +997,7 @@ free_resources(dev_info_t *dip, scsb_state_t *scsb, int instance) if (scsb->scsb_state & SCSB_PROP_CREATE) { scsb->scsb_state &= ~SCSB_PROP_CREATE; (void) ddi_prop_remove(DDI_DEV_T_NONE, dip, - "interrupt-priorities"); + "interrupt-priorities"); } /* ddi_prop_remove_all(dip); */ if (scsb->scsb_state & SCSB_CONDVAR) { @@ -1023,7 +1023,7 @@ scsb_fake_intr(scsb_state_t *scsb, uint32_t evcode) scsb_event_code = evcode; if (scsb_debug & 0x4001) { cmn_err(CE_NOTE, "scsb_fake_intr: event = 0x%x, scsb_rq=0x%p", - scsb_event_code, scsb->scsb_rq); + scsb_event_code, scsb->scsb_rq); } /* * Allow access to shadow registers even though SCB is removed @@ -1038,7 +1038,7 @@ scsb_fake_intr(scsb_state_t *scsb, uint32_t evcode) } /* just inform user-level via poll about this event */ if (scsb_queue_ops(scsb, QPUT_INT32, 1, &evcode, "scsb_fake_intr") - == QOP_FAILED) + == QOP_FAILED) return (ENOMEM); return (0); } @@ -1138,10 +1138,10 @@ sm_open(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *credp) */ if (scsb_debug & 0x0008) cmn_err(CE_NOTE, - "sm_open(%d): SCSB_CLONE OPEN", instance); + "sm_open(%d): SCSB_CLONE OPEN", instance); mutex_enter(&scsb->scsb_mutex); if ((clone = scsb_queue_ops(scsb, QFIRST_AVAILABLE, 0, NULL, - "scsb_open")) == QOP_FAILED) { + "scsb_open")) == QOP_FAILED) { mutex_exit(&scsb->scsb_mutex); return (ENXIO); } @@ -1153,9 +1153,9 @@ sm_open(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *credp) scsb->scsb_clopens++; if (scsb_debug & 0x0008) cmn_err(CE_NOTE, - "sm_open(%d): new clone device minor: 0x%x" - " stream queue is 0x%p", - instance, clptr->cl_minor, q); + "sm_open(%d): new clone device minor: 0x%x" + " stream queue is 0x%p", + instance, clptr->cl_minor, q); } else { /* scsb is being opened as a regular driver */ if (scsb_debug & 0x0008) @@ -1172,23 +1172,23 @@ sm_open(queue_t *q, dev_t *devp, int flag, int sflag, cred_t *credp) if (flag & FEXCL) { if (scsb_debug & 0x0008) cmn_err(CE_NOTE, "sm_open(%d): is EXCL", - instance); + instance); if (scsb->scsb_state & SCSB_OPEN) { if (scsb_debug & 0x0008) cmn_err(CE_NOTE, - "sm_open(%d): cannot open EXCL", - instance); + "sm_open(%d): cannot open EXCL", + instance); mutex_exit(&scsb->scsb_mutex); return (EBUSY); } scsb->scsb_state |= SCSB_EXCL; } if (scsb->scsb_opens && scsb->scsb_rq != NULL && - scsb->scsb_rq != RD(q)) { + scsb->scsb_rq != RD(q)) { if (scsb_debug & 0x000a) cmn_err(CE_WARN, "sm_open[%d]: q (0x%p) != " - "scsb_rq (0x%p)", - instance, RD(q), scsb->scsb_rq); + "scsb_rq (0x%p)", + instance, RD(q), scsb->scsb_rq); } scsb->scsb_rq = RD(q); scsb->scsb_opens++; @@ -1214,7 +1214,7 @@ sm_close(queue_t *q, int flag, int otyp, cred_t *credp) if (scsb->scsb_clopens) { mutex_enter(&scsb->scsb_mutex); if ((clone = scsb_queue_ops(scsb, QFIND_QUEUE, 0, - (void *) RD(q), "scsb_close")) != QOP_FAILED) { + (void *) RD(q), "scsb_close")) != QOP_FAILED) { clptr = &scsb->clone_devs[clone]; clptr->cl_flags = 0; clptr->cl_rq = NULL; @@ -1222,19 +1222,19 @@ sm_close(queue_t *q, int flag, int otyp, cred_t *credp) } mutex_exit(&scsb->scsb_mutex); if (scsb_debug & 0x0008 && clone < SCSB_CLONES_MAX && - clone >= SCSB_CLONES_FIRST) + clone >= SCSB_CLONES_FIRST) cmn_err(CE_NOTE, "sm_close(%d): SCSB_CLONE 0x%x", - scsb->scsb_instance, clptr->cl_minor); + scsb->scsb_instance, clptr->cl_minor); } if (clptr == NULL && scsb->scsb_opens) { if (scsb_debug & 0x0008) cmn_err(CE_NOTE, "sm_close(%d): DEVOPEN, opens=%d", - scsb->scsb_instance, scsb->scsb_opens); + scsb->scsb_instance, scsb->scsb_opens); if (RD(q) != scsb->scsb_rq) { if (scsb_debug & 0x0008) cmn_err(CE_WARN, - "sm_close(%d): DEVOPEN, q != scsb_rq", - scsb->scsb_instance); + "sm_close(%d): DEVOPEN, q != scsb_rq", + scsb->scsb_instance); } mutex_enter(&scsb->scsb_mutex); scsb->scsb_opens = 0; @@ -1291,7 +1291,7 @@ sm_wput(queue_t *q, mblk_t *mp) case M_IOCTL: if (scsb_debug & 0x0010) cmn_err(CE_NOTE, "sm_wput(%d): M_IOCTL", - scsb->scsb_instance); + scsb->scsb_instance); /* do ioctl */ smf_ioctl(q, mp); break; @@ -1299,7 +1299,7 @@ sm_wput(queue_t *q, mblk_t *mp) case M_DATA: if (scsb_debug & 0x0010) cmn_err(CE_NOTE, "sm_wput(%d): M_DATA", - scsb->scsb_instance); + scsb->scsb_instance); if (!(scsb->scsb_state & SCSB_UP)) { freemsg(mp); return (0); @@ -1310,7 +1310,7 @@ sm_wput(queue_t *q, mblk_t *mp) case M_CTL: if (scsb_debug & 0x0010) cmn_err(CE_NOTE, "sm_wput(%d): M_CTL", - scsb->scsb_instance); + scsb->scsb_instance); freemsg(mp); break; } @@ -1355,7 +1355,7 @@ smf_ioctl(queue_t *q, mblk_t *mp) /* if we don't understand the ioctl */ if (scsb_debug & 0x0022) cmn_err(CE_NOTE, "smf_ioctl(%d):unkown ioctl %x", - scsb->scsb_instance, iocp->ioc_cmd); + scsb->scsb_instance, iocp->ioc_cmd); iocp->ioc_error = EINVAL; break; @@ -1377,7 +1377,7 @@ smf_ioctl(queue_t *q, mblk_t *mp) if (scsb_debug & 0x20) { cmn_err(CE_NOTE, "IOC_GETMODE: returning mode 0x%x", - *curr_mode); + *curr_mode); } break; } @@ -1394,7 +1394,7 @@ smf_ioctl(queue_t *q, mblk_t *mp) switch (*curr_mode) { case ENVCTRL_NORMAL_MODE: scsb->scsb_state &= - ~(SCSB_DEBUG_MODE | SCSB_DIAGS_MODE); + ~(SCSB_DEBUG_MODE | SCSB_DIAGS_MODE); break; case ENVCTRL_DIAG_MODE: scsb->scsb_state |= SCSB_DIAGS_MODE; @@ -1402,7 +1402,7 @@ smf_ioctl(queue_t *q, mblk_t *mp) break; case ENVC_DEBUG_MODE: if (scsb->scsb_state & - (SCSB_DIAGS_MODE | SCSB_DEBUG_MODE)) { + (SCSB_DIAGS_MODE | SCSB_DEBUG_MODE)) { scsb->scsb_state &= ~SCSB_DIAGS_MODE; scsb->scsb_state |= SCSB_DEBUG_MODE; } else { @@ -1450,7 +1450,7 @@ smf_ioctl(queue_t *q, mblk_t *mp) ppromid = (uint8_t *)mp->b_cont->b_rptr; *ppromid = (uint8_t)(mct_system_info. - fru_info_list[SCB])->fru_version; + fru_info_list[SCB])->fru_version; promid = *ppromid; } else { iocp->ioc_error = miocpullup(mp, sizeof (scsb_ids_t)); @@ -1581,7 +1581,7 @@ smf_ioctl(queue_t *q, mblk_t *mp) /* for now we don't understand these ioctls */ if (scsb_debug & 0x0022) cmn_err(CE_NOTE, "smf_ioctl(%d):unknown ioctl %x", - scsb->scsb_instance, iocp->ioc_cmd); + scsb->scsb_instance, iocp->ioc_cmd); iocp->ioc_error = EINVAL; break; #endif /* DEBUG */ @@ -1857,7 +1857,7 @@ scsb_fru_register(void (*cb_func)(void *, scsb_fru_event_t, scsb_fru_status_t), if (scsb_debug & 0x00800001) { cmn_err(CE_NOTE, - "scsb_fru_register: FRU_ID 0x%x", (int)fru_id); + "scsb_fru_register: FRU_ID 0x%x", (int)fru_id); } if (!(scsb_global_state & SCSB_UP)) { return (FRU_NOT_AVAILABLE); @@ -1866,13 +1866,13 @@ scsb_fru_register(void (*cb_func)(void *, scsb_fru_event_t, scsb_fru_status_t), return (FRU_NOT_AVAILABLE); if (scsb_cb_table == NULL) scsb_cb_table = (struct scsb_cb_entry *) - kmem_zalloc(sizeof (struct scsb_cb_entry), KM_SLEEP); + kmem_zalloc(sizeof (struct scsb_cb_entry), KM_SLEEP); cbe_ptr = scsb_cb_table; while (cbe_ptr->cb_softstate_ptr != NULL) { if (cbe_ptr->cb_next == (struct scsb_cb_entry *)NULL) { cbe_ptr->cb_next = (struct scsb_cb_entry *) - kmem_zalloc(sizeof (struct scsb_cb_entry), - KM_SLEEP); + kmem_zalloc(sizeof (struct scsb_cb_entry), + KM_SLEEP); cbe_ptr = cbe_ptr->cb_next; break; } @@ -1888,10 +1888,10 @@ scsb_fru_register(void (*cb_func)(void *, scsb_fru_event_t, scsb_fru_status_t), #endif if (scsb_debug & 0x00800000) { cmn_err(CE_NOTE, - "scsb_fru_register: FRU_ID 0x%x, status=%d", - (int)fru_id, - (cbe_ptr->cb_fru_ptr == (fru_info_t *)NULL) ? - 0xff : cbe_ptr->cb_fru_ptr->fru_status); + "scsb_fru_register: FRU_ID 0x%x, status=%d", + (int)fru_id, + (cbe_ptr->cb_fru_ptr == (fru_info_t *)NULL) ? + 0xff : cbe_ptr->cb_fru_ptr->fru_status); } if (cbe_ptr->cb_fru_ptr == (fru_info_t *)NULL) return (FRU_NOT_AVAILABLE); @@ -1907,14 +1907,14 @@ scsb_fru_unregister(void *soft_ptr, fru_id_t fru_id) if (scsb_debug & 0x00800001) { cmn_err(CE_NOTE, "scsb_fru_unregister(0x%p, 0x%x)", - soft_ptr, (int)fru_id); + soft_ptr, (int)fru_id); } if ((cbe_ptr = scsb_cb_table) == NULL || fru_id == (fru_id_t)0) return; prev_ptr = cbe_ptr; do { if (cbe_ptr->cb_softstate_ptr == soft_ptr && - cbe_ptr->cb_fru_id == fru_id) { + cbe_ptr->cb_fru_id == fru_id) { if (cbe_ptr == scsb_cb_table) scsb_cb_table = cbe_ptr->cb_next; else @@ -1941,8 +1941,8 @@ scsb_fru_status(uchar_t fru_id) fru_ptr = find_fru_info(fru_id); if (scsb_debug & 0x00800001) { cmn_err(CE_NOTE, "scsb_fru_status(0x%x): status=0x%x", - fru_id, (fru_ptr == (fru_info_t *)NULL) ? 0xff : - (int)fru_ptr->fru_status); + fru_id, (fru_ptr == (fru_info_t *)NULL) ? 0xff : + (int)fru_ptr->fru_status); } if (fru_ptr == (fru_info_t *)NULL) return (FRU_NOT_AVAILABLE); @@ -1975,7 +1975,7 @@ scsb_intr_register(int (*intr_handler)(void *), void * soft_ptr, { struct fru_intr_entry *intr_table_entry; intr_table_entry = (struct fru_intr_entry *) - kmem_zalloc(sizeof (struct fru_intr_entry), KM_SLEEP); + kmem_zalloc(sizeof (struct fru_intr_entry), KM_SLEEP); if (intr_table_entry == NULL) { return (DDI_FAILURE); @@ -2002,7 +2002,7 @@ void scsb_intr_unregister(fru_id_t fru_id) { struct fru_intr_entry *intr_entry = fru_intr_table, - *prev_entry = intr_entry; + *prev_entry = intr_entry; if (fru_id == 0) { return; @@ -2015,10 +2015,10 @@ scsb_intr_unregister(fru_id_t fru_id) fru_intr_table = intr_entry->fru_intr_next; else prev_entry->fru_intr_next = - intr_entry->fru_intr_next; + intr_entry->fru_intr_next; kmem_free(intr_entry, - sizeof (struct fru_intr_entry)); + sizeof (struct fru_intr_entry)); return; } prev_entry = intr_entry; @@ -2040,7 +2040,7 @@ scsb_invoke_intr_chain() while (intr_entry != NULL) { retval = (*intr_entry-> - fru_intr_handler)(intr_entry->softstate_ptr); + fru_intr_handler)(intr_entry->softstate_ptr); if (retval == DDI_INTR_CLAIMED) { return (retval); } @@ -2080,7 +2080,7 @@ sm_ioc_rdwr(queue_t *q, mblk_t *mp, int op) */ reg = iocrdwrp->ioc_regindex; if (reg < SCSB_REG_ADDR_START || (reg + len) > - (SCSB_REG_ADDR_START + SCTRL_TOTAL_NUMREGS)) + (SCSB_REG_ADDR_START + SCTRL_TOTAL_NUMREGS)) error = EINVAL; else error = scsb_rdwr_register(scsb, op, reg, len, uc, 1); @@ -2125,8 +2125,8 @@ scsb_get_led_regnum(scsb_state_t *scsb, error = 0; if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "get_led_regnum: suip <%x, %x, %x, %x>\n", - suip->unit_type, suip->unit_number, - led_type, suip->unit_state); + suip->unit_type, suip->unit_number, + led_type, suip->unit_state); } /* * It was requested that the scsb driver allow accesses to SCB device @@ -2138,8 +2138,8 @@ scsb_get_led_regnum(scsb_state_t *scsb, switch (suip->unit_type) { case SLOT: if (suip->unit_number < 1 || suip->unit_number > - ((scsb->scsb_state & SCSB_IS_TONGA) ? - TG_MAX_SLOTS : MC_MAX_SLOTS)) { + ((scsb->scsb_state & SCSB_IS_TONGA) ? + TG_MAX_SLOTS : MC_MAX_SLOTS)) { error = EINVAL; break; } @@ -2148,12 +2148,12 @@ scsb_get_led_regnum(scsb_state_t *scsb, case PDU: if (suip->unit_number < 1 || suip->unit_number > - ((scsb->scsb_state & SCSB_IS_TONGA) ? - TG_MAX_PDU : MC_MAX_PDU)) { + ((scsb->scsb_state & SCSB_IS_TONGA) ? + TG_MAX_PDU : MC_MAX_PDU)) { if (scsb_debug & 0x0002) { cmn_err(CE_WARN, - "get_led_regnum: unit number %d " - "is out of range", suip->unit_number); + "get_led_regnum: unit number %d " + "is out of range", suip->unit_number); } error = EINVAL; break; @@ -2163,12 +2163,12 @@ scsb_get_led_regnum(scsb_state_t *scsb, case PS: if ((suip->unit_number < 1 || suip->unit_number > - ((scsb->scsb_state & SCSB_IS_TONGA) ? - TG_MAX_PS : MC_MAX_PS))) { + ((scsb->scsb_state & SCSB_IS_TONGA) ? + TG_MAX_PS : MC_MAX_PS))) { if (scsb_debug & 0x0002) { cmn_err(CE_WARN, - "get_led_regnum: unit number %d " - "is out of range", suip->unit_number); + "get_led_regnum: unit number %d " + "is out of range", suip->unit_number); } error = EINVAL; break; @@ -2178,12 +2178,12 @@ scsb_get_led_regnum(scsb_state_t *scsb, case DISK: if ((suip->unit_number < 1 || suip->unit_number > - ((scsb->scsb_state & SCSB_IS_TONGA) ? - TG_MAX_DISK : MC_MAX_DISK))) { + ((scsb->scsb_state & SCSB_IS_TONGA) ? + TG_MAX_DISK : MC_MAX_DISK))) { if (scsb_debug & 0x0002) { cmn_err(CE_WARN, - "get_led_regnum: unit number %d " - "is out of range", suip->unit_number); + "get_led_regnum: unit number %d " + "is out of range", suip->unit_number); } if (!(scsb_debug & 0x20000000)) { error = EINVAL; @@ -2195,12 +2195,12 @@ scsb_get_led_regnum(scsb_state_t *scsb, case FAN: if (suip->unit_number < 1 || suip->unit_number > - ((scsb->scsb_state & SCSB_IS_TONGA) ? - TG_MAX_FAN : MC_MAX_FAN)) { + ((scsb->scsb_state & SCSB_IS_TONGA) ? + TG_MAX_FAN : MC_MAX_FAN)) { if (scsb_debug & 0x0002) { cmn_err(CE_WARN, - "get_led_regnum: unit number %d " - "is out of range", suip->unit_number); + "get_led_regnum: unit number %d " + "is out of range", suip->unit_number); } error = EINVAL; break; @@ -2210,12 +2210,12 @@ scsb_get_led_regnum(scsb_state_t *scsb, case CFTM: if (suip->unit_number < 1 || suip->unit_number > - ((scsb->scsb_state & SCSB_IS_TONGA) ? - TG_MAX_CFTM : MC_MAX_CFTM)) { + ((scsb->scsb_state & SCSB_IS_TONGA) ? + TG_MAX_CFTM : MC_MAX_CFTM)) { if (scsb_debug & 0x0002) { cmn_err(CE_WARN, - "get_led_regnum: unit number %d " - "is out of range", suip->unit_number); + "get_led_regnum: unit number %d " + "is out of range", suip->unit_number); } error = EINVAL; break; @@ -2225,12 +2225,12 @@ scsb_get_led_regnum(scsb_state_t *scsb, case SCB: if (suip->unit_number < 1 || suip->unit_number > - ((scsb->scsb_state & SCSB_IS_TONGA) ? - TG_MAX_SCB : MC_MAX_SCB)) { + ((scsb->scsb_state & SCSB_IS_TONGA) ? + TG_MAX_SCB : MC_MAX_SCB)) { if (scsb_debug & 0x0002) { cmn_err(CE_WARN, - "get_led_regnum: unit number %d " - "is out of range", suip->unit_number); + "get_led_regnum: unit number %d " + "is out of range", suip->unit_number); } error = EINVAL; break; @@ -2245,8 +2245,8 @@ scsb_get_led_regnum(scsb_state_t *scsb, default: if (scsb_debug & 0x0102) { cmn_err(CE_WARN, - "scsb_get_led_regnum(): unknown unit type %d", - suip->unit_type); + "scsb_get_led_regnum(): unknown unit type %d", + suip->unit_type); } error = EINVAL; break; @@ -2256,8 +2256,8 @@ scsb_get_led_regnum(scsb_state_t *scsb, *regptr = FRU_REG_ADDR(code, base); if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "get_led_regnum: unitptr=%x, " - "regptr=%x, code = %x\n", - *unitptr, *regptr, code); + "regptr=%x, code = %x\n", + *unitptr, *regptr, code); } } return (error); @@ -2301,7 +2301,7 @@ tonga_pslotnum_to_cfgbit(scsb_state_t *scsb, int sln) #ifdef DEBUG if (scsb_debug & 0x10000000) { cmn_err(CE_NOTE, "tonga_pslotnum_to_cfgbit: old/new: %d/%d", - sln, psl2sco[sln]); + sln, psl2sco[sln]); } #endif return (psl2sco[sln]); @@ -2330,7 +2330,7 @@ static void tonga_slotnum_check(scsb_state_t *scsb, scsb_uinfo_t *suip) { if (!(scsb->scsb_state & SCSB_IS_TONGA && scsb->scsb_state & - (SCSB_P10_PROM | SCSB_P15_PROM | SCSB_P20_PROM))) { + (SCSB_P10_PROM | SCSB_P15_PROM | SCSB_P20_PROM))) { return; } if (suip->unit_number < 1 || suip->unit_number > TG_MAX_SLOTS) { @@ -2339,7 +2339,7 @@ tonga_slotnum_check(scsb_state_t *scsb, scsb_uinfo_t *suip) #ifdef DEBUG if (scsb_debug & 0x10000000) { cmn_err(CE_NOTE, "tonga_slotnum_check: old/new: %d/%d", - suip->unit_number, psl2ssl[suip->unit_number]); + suip->unit_number, psl2ssl[suip->unit_number]); } #endif suip->unit_number = psl2ssl[suip->unit_number]; @@ -2352,7 +2352,7 @@ static int tonga_psl_to_ssl(scsb_state_t *scsb, int slotnum) { if (!(scsb->scsb_state & SCSB_IS_TONGA && scsb->scsb_state & - (SCSB_P10_PROM | SCSB_P15_PROM | SCSB_P20_PROM))) { + (SCSB_P10_PROM | SCSB_P15_PROM | SCSB_P20_PROM))) { return (slotnum); } if (slotnum < 1 || slotnum > TG_MAX_SLOTS) { @@ -2361,7 +2361,7 @@ tonga_psl_to_ssl(scsb_state_t *scsb, int slotnum) #ifdef DEBUG if (scsb_debug & 0x10000000) { cmn_err(CE_NOTE, "tonga_psl_to_ssl: old/new: %d/%d", - slotnum, psl2ssl[slotnum]); + slotnum, psl2ssl[slotnum]); } #endif return (psl2ssl[slotnum]); @@ -2374,7 +2374,7 @@ static int tonga_ssl_to_psl(scsb_state_t *scsb, int slotnum) { if (!(scsb->scsb_state & SCSB_IS_TONGA && scsb->scsb_state & - (SCSB_P10_PROM | SCSB_P15_PROM | SCSB_P20_PROM))) { + (SCSB_P10_PROM | SCSB_P15_PROM | SCSB_P20_PROM))) { return (slotnum); } if (slotnum < 1 || slotnum > TG_MAX_SLOTS) { @@ -2383,7 +2383,7 @@ tonga_ssl_to_psl(scsb_state_t *scsb, int slotnum) #ifdef DEBUG if (scsb_debug & 0x10000000) { cmn_err(CE_NOTE, "tonga_ssl_to_psl: old/new: %d/%d", - slotnum, ssl2psl[slotnum]); + slotnum, ssl2psl[slotnum]); } #endif return (ssl2psl[slotnum]); @@ -2437,7 +2437,7 @@ tonga_slotnum_led_shift(scsb_state_t *scsb, uchar_t data) #ifdef DEBUG if (scsb_debug & 0x10000000) { cmn_err(CE_NOTE, "tonga_slotnum_led_shift: old/new: 0x%x/0x%x", - old_data, new_data); + old_data, new_data); } #endif return (new_data); @@ -2469,14 +2469,14 @@ scsb_led_get(scsb_state_t *scsb, scsb_uinfo_t *suip, scsb_led_t led_type) } if (led_type != OK && led_type != NOK) { cmn_err(CE_NOTE, "scsb_led_get(%d): unknown led type %x", - scsb->scsb_instance, led_type); + scsb->scsb_instance, led_type); return (EINVAL); } error = 0; if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "scsb_led_get: %s %s %d", - led_name[led_type], unit_type_name[suip->unit_type], - suip->unit_number); + led_name[led_type], unit_type_name[suip->unit_type], + suip->unit_number); } /* * Map to Tonga Slot Number, if NOT P1.0 SCB @@ -2487,18 +2487,18 @@ scsb_led_get(scsb_state_t *scsb, scsb_uinfo_t *suip, scsb_led_t led_type) } /* discover the register and index we need to operate on */ if ((error = scsb_get_led_regnum(scsb, suip, ®, &unit_number, - led_type)) == 0) { + led_type)) == 0) { index = SCSB_REG_INDEX(reg); mutex_enter(&scsb->scsb_mutex); if (scsb->scsb_data_reg[index] & (1 << unit_number)) { suip->unit_state = ON; if (led_type == OK) { int code = FRU_UNIT_TO_EVCODE(suip->unit_type, - suip->unit_number); + suip->unit_number); reg = FRU_REG_ADDR(code, SCTRL_BLINK_OK_BASE); index = SCSB_REG_INDEX(reg); if (scsb->scsb_data_reg[index] & - (1 << unit_number)) + (1 << unit_number)) suip->unit_state = BLINK; } } else { @@ -2533,9 +2533,9 @@ scsb_led_set(scsb_state_t *scsb, scsb_uinfo_t *suip, scsb_led_t led_type) if (led_type == NOUSE) { led_type = suip->led_type; } else if (suip->unit_type == SLOT && - scsb->scsb_state & SCSB_APP_SLOTLED_CTRL && - !(scsb->scsb_state & - (SCSB_DIAGS_MODE | SCSB_DEBUG_MODE))) { + scsb->scsb_state & SCSB_APP_SLOTLED_CTRL && + !(scsb->scsb_state & + (SCSB_DIAGS_MODE | SCSB_DEBUG_MODE))) { /* * kernel modules using this interface need to think they are * succeeding, so we won't return an error for this @@ -2547,23 +2547,23 @@ scsb_led_set(scsb_state_t *scsb, scsb_uinfo_t *suip, scsb_led_t led_type) return (EINVAL); } if (suip->unit_state != OFF && suip->unit_state != ON && - suip->unit_state != BLINK) { + suip->unit_state != BLINK) { return (EINVAL); } if (suip->unit_state == BLINK) { if (led_type != OK) return (EINVAL); if (suip->unit_type != SLOT && scsb->scsb_state & - (SCSB_P06_PROM | SCSB_P10_PROM)) + (SCSB_P06_PROM | SCSB_P10_PROM)) return (EINVAL); } if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, - "scsb_led_set: led %s, type %s, unit %d, state %s", - led_name[led_type], - unit_type_name[suip->unit_type], suip->unit_number, - suip->unit_state == ON ? "ON": - suip->unit_state == OFF ? "OFF": "BLINK"); + "scsb_led_set: led %s, type %s, unit %d, state %s", + led_name[led_type], + unit_type_name[suip->unit_type], suip->unit_number, + suip->unit_state == ON ? "ON": + suip->unit_state == OFF ? "OFF": "BLINK"); } /* * Map to Tonga Slot Number, if NOT P1.0 SCB @@ -2576,7 +2576,7 @@ scsb_led_set(scsb_state_t *scsb, scsb_uinfo_t *suip, scsb_led_t led_type) * discover the register and index we need to access */ if ((error = scsb_get_led_regnum(scsb, suip, ®, &unit_number, - led_type)) == 0) { + led_type)) == 0) { index = SCSB_REG_INDEX(reg); mutex_enter(&scsb->scsb_mutex); if (suip->unit_state == ON || suip->unit_state == BLINK) @@ -2586,23 +2586,23 @@ scsb_led_set(scsb_state_t *scsb, scsb_uinfo_t *suip, scsb_led_t led_type) if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "Writing %x to Reg %x", - scsb->scsb_data_reg[index], reg); + scsb->scsb_data_reg[index], reg); } error = scsb_rdwr_register(scsb, I2C_WR, reg, 1, - &scsb->scsb_data_reg[index], 1); + &scsb->scsb_data_reg[index], 1); if (error) { cmn_err(CE_WARN, "%s#%d: Could not Update %s LEDs.", - ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev), - led_name[led_type]); + ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev), + led_name[led_type]); goto ledset_done; } if (led_type != OK || - (IS_SCB_P10 && suip->unit_type != SLOT) || - suip->unit_type == ALARM || - suip->unit_type == SSB || - suip->unit_type == CRTM || - suip->unit_type == PRTM) { + (IS_SCB_P10 && suip->unit_type != SLOT) || + suip->unit_type == ALARM || + suip->unit_type == SSB || + suip->unit_type == CRTM || + suip->unit_type == PRTM) { goto ledset_done; } code = FRU_UNIT_TO_EVCODE(suip->unit_type, suip->unit_number); @@ -2614,15 +2614,15 @@ scsb_led_set(scsb_state_t *scsb, scsb_uinfo_t *suip, scsb_led_t led_type) scsb->scsb_data_reg[index] &= ~(1 << unit_number); if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "Writing %x to Reg %x", - scsb->scsb_data_reg[index], reg); + scsb->scsb_data_reg[index], reg); } error = scsb_rdwr_register(scsb, I2C_WR, reg, 1, - &scsb->scsb_data_reg[index], 1); + &scsb->scsb_data_reg[index], 1); if (error) { cmn_err(CE_WARN, "%s#%d: Could not Blink %s LEDs.", - ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev), - led_name[led_type]); + ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev), + led_name[led_type]); } ledset_done: mutex_exit(&scsb->scsb_mutex); @@ -2655,7 +2655,7 @@ scsb_ps_auto_on(void *arg) sysreg = SCSB_REG_ADDR(tmp); if (scsb_write_mask(ppao->scsb, sysreg, rmask, ondata, (uchar_t)0)) { cmn_err(CE_WARN, "scsb%d: " "I2C TRANSFER Failed", - ppao->scsb->scsb_instance); + ppao->scsb->scsb_instance); } ppao->scsb->scsb_btid = 0; } @@ -2678,7 +2678,7 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) fru_info_t *fru_ptr; if (scsb->scsb_state & SCSB_FROZEN && - !(scsb->scsb_state & SCSB_IN_INTR)) { + !(scsb->scsb_state & SCSB_IN_INTR)) { return (EAGAIN); } for (i = 0; i < SCTRL_LED_OK_NUMREGS; ++i) { @@ -2699,7 +2699,7 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) for (; fru_ptr != NULL; fru_ptr = fru_ptr->next) { is_present = 0; if (fru_type == SLOT && (scsb->scsb_state & - SCSB_APP_SLOTLED_CTRL)) + SCSB_APP_SLOTLED_CTRL)) break; if (fru_ptr->i2c_info == NULL) continue; @@ -2731,7 +2731,7 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) cfg_idx = SCSB_REG_INDEX(reg); cfg_bit = fru_ptr->i2c_info->syscfg_bit; if (scsb->scsb_data_reg[cfg_idx] & - (1 << cfg_bit)) { + (1 << cfg_bit)) { is_present = 1; } } @@ -2743,7 +2743,7 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) * turn it on. */ if (fru_type == PS && (int_fru_ptr == NULL || - (int_fru_ptr == fru_ptr))) { + (int_fru_ptr == fru_ptr))) { pao.scsb = scsb; pao.utype = fru_type; pao.unit = fru_ptr->fru_unit; @@ -2764,9 +2764,11 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) */ if (!scsb->scsb_btid) scsb->scsb_btid = - timeout(scsb_ps_auto_on, - &pao, (4 * - drv_usectohz(1000000))); + timeout( + scsb_ps_auto_on, + &pao, (4 * + drv_usectohz( + 1000000))); } else #endif /* PS_ON_DELAY */ scsb_ps_auto_on((void *)&pao); @@ -2778,10 +2780,10 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) * Both will report as FRU_PRESENT. */ if (fru_type != SLOT || (fru_type == SLOT && - (fru_ptr->fru_type == - (scsb_utype_t)OC_CPU || - fru_ptr->fru_type == - (scsb_utype_t)OC_CTC))) { + (fru_ptr->fru_type == + (scsb_utype_t)OC_CPU || + fru_ptr->fru_type == + (scsb_utype_t)OC_CTC))) { /* * Set OK (green) LED register bit */ @@ -2817,12 +2819,12 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) } if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "scsb_set_scfg_pres(): writing %d bytes " - "to 0x%x", i, reg); + "to 0x%x", i, reg); } if ((error = scsb_rdwr_register(scsb, I2C_WR, reg, i, puc, 1)) != 0) { if (scsb_debug & 0x0102) cmn_err(CE_NOTE, "scsb_set_scfg_pres(): " - "I2C write to 0x%x failed", reg); + "I2C write to 0x%x failed", reg); error = EIO; } else { /* @@ -2838,14 +2840,14 @@ scsb_set_scfg_pres_leds(scsb_state_t *scsb, fru_info_t *int_fru_ptr) } if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "scsb_set_scfg_pres(): turn " - "OFF Blink bits 0x%x in 0x%x", - blink[i], reg); + "OFF Blink bits 0x%x in 0x%x", + blink[i], reg); } if (scsb_write_mask(scsb, reg, 0, 0, blink[i])) { if (scsb_debug & 0x0102) cmn_err(CE_NOTE, - "scsb_set_scfg_pres(): " - "Write to 0x%x failed", reg); + "scsb_set_scfg_pres(): " + "Write to 0x%x failed", reg); error = EIO; break; } @@ -2876,7 +2878,7 @@ scsb_check_config_status(scsb_state_t *scsb) p06 = 2; do { if (error = scsb_rdwr_register(scsb, I2C_WR_RD, reg, - SCTRL_CFG_NUMREGS, &scsb->scsb_data_reg[index], 1)) { + SCTRL_CFG_NUMREGS, &scsb->scsb_data_reg[index], 1)) { break; } if (p06 == 1) { @@ -2896,7 +2898,7 @@ scsb_check_config_status(scsb_state_t *scsb) if (!(scsb->scsb_state & SCSB_SCB_PRESENT)) scsb->scsb_state |= SCSB_SCB_PRESENT; if (scsb_fru_op(scsb, SSB, 1, SCTRL_SYSCFG_BASE, - SCSB_FRU_OP_GET_BITVAL)) + SCSB_FRU_OP_GET_BITVAL)) scsb->scsb_state |= SCSB_SSB_PRESENT; else scsb->scsb_state &= ~SCSB_SSB_PRESENT; @@ -2926,7 +2928,7 @@ scsb_set_topology(scsb_state_t *scsb) mct_system_info.mid_plane.fru_version = (fru_version_t)0; t = SYS_OFFSET(SCTRL_CFG_MPID0); mct_system_info.mid_plane.fru_id = (int)((scsb->scsb_data_reg[index] & - (SCTRL_MPID_MASK << t)) >> t); + (SCTRL_MPID_MASK << t)) >> t); switch (mct_system_info.mid_plane.fru_id) { case SCTRL_MPID_HALF: /* Monte Carlo */ if (scsb_debug & 0x00100005) @@ -2954,9 +2956,9 @@ scsb_set_topology(scsb_state_t *scsb) ctcslot_ptr = NULL; if (scsb_debug & 0x00100005) cmn_err(CE_NOTE, "scsb_set_topology: Tonga%s", - mct_system_info.mid_plane.fru_id == - SCTRL_MPID_QUARTER_NODSK ? - ", no disk" : " with disk"); + mct_system_info.mid_plane.fru_id == + SCTRL_MPID_QUARTER_NODSK ? + ", no disk" : " with disk"); cpu_slot_num = SC_TG_CPU_SLOT; alarm_slot_num = scsb->ac_slotnum = SC_TG_AC_SLOT; mct_system_info.max_units[SLOT] = TG_MAX_SLOTS; @@ -2973,12 +2975,12 @@ scsb_set_topology(scsb_state_t *scsb) break; default: cmn_err(CE_WARN, "%s#%d: Unknown MidPlane Id %x", - ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev), - mct_system_info.mid_plane.fru_id); + ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev), + mct_system_info.mid_plane.fru_id); if (scsb_debug & 0x00100005) cmn_err(CE_NOTE, "scsb_set_topology: 0x%x: unknown!", - mct_system_info.mid_plane.fru_id); + mct_system_info.mid_plane.fru_id); return; } /* @@ -2990,9 +2992,8 @@ scsb_set_topology(scsb_state_t *scsb) * release. */ mct_system_info.fru_info_list[SLOT] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[SLOT] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[SLOT] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[SLOT]; for (unit = 1; unit <= mct_system_info.max_units[SLOT]; ++unit) { int iunit; @@ -3049,11 +3050,11 @@ scsb_set_topology(scsb_state_t *scsb) } fru_ptr->fru_unit = (scsb_unum_t)unit; fru_ptr->fru_id = fru_id_table[event_to_index( - FRU_UNIT_TO_EVCODE(SLOT, unit))]; + FRU_UNIT_TO_EVCODE(SLOT, unit))]; fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = led_reg; @@ -3069,9 +3070,8 @@ scsb_set_topology(scsb_state_t *scsb) * PDU */ mct_system_info.fru_info_list[PDU] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[PDU] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[PDU] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[PDU]; for (unit = 1; unit <= mct_system_info.max_units[PDU]; ++unit) { fru_ptr->fru_type = PDU; @@ -3114,7 +3114,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_id = fru_id_table[event_to_index(t)]; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = led_reg; @@ -3130,9 +3130,8 @@ scsb_set_topology(scsb_state_t *scsb) * Power Supplies */ mct_system_info.fru_info_list[PS] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[PS] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[PS] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[PS]; for (unit = 1; unit <= mct_system_info.max_units[PS]; ++unit) { /* @@ -3173,7 +3172,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = led_reg; @@ -3189,9 +3188,8 @@ scsb_set_topology(scsb_state_t *scsb) * SCSI Disks and removable media */ mct_system_info.fru_info_list[DISK] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[DISK] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[DISK] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[DISK]; for (unit = 1; unit <= mct_system_info.max_units[DISK]; ++unit) { /* SCB15 */ @@ -3232,7 +3230,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_id = fru_id_table[event_to_index(t)]; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = led_reg; @@ -3248,9 +3246,8 @@ scsb_set_topology(scsb_state_t *scsb) * Fan Trays */ mct_system_info.fru_info_list[FAN] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[FAN] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[FAN] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[FAN]; for (unit = 1; unit <= mct_system_info.max_units[FAN]; ++unit) { int bit_num; @@ -3293,7 +3290,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = led_reg; @@ -3309,9 +3306,8 @@ scsb_set_topology(scsb_state_t *scsb) * Alarm Cards */ mct_system_info.fru_info_list[ALARM] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[ALARM] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[ALARM] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[ALARM]; for (unit = 1; unit <= mct_system_info.max_units[ALARM]; ++unit) { int bit_num; @@ -3335,11 +3331,11 @@ scsb_set_topology(scsb_state_t *scsb) if (scsb->scsb_data_reg[index] & (1 << bit_num)) { fru_ptr->fru_status = FRU_PRESENT; if (acslot_ptr != NULL && acslot_ptr->fru_status == - FRU_PRESENT) { + FRU_PRESENT) { acslot_ptr->fru_type = (scsb_utype_t)OC_AC; /* * acslot_ptr->fru_id = - * fru_id_table[event_to_index(t)]; + * fru_id_table[event_to_index(t)]; */ } } else { @@ -3352,7 +3348,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = 0; @@ -3368,9 +3364,8 @@ scsb_set_topology(scsb_state_t *scsb) * SCB */ mct_system_info.fru_info_list[SCB] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[SCB] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[SCB] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[SCB]; unit = 1; /* SCB15 */ @@ -3410,7 +3405,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)t_uchar; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = 0; fru_ptr->i2c_info->syscfg_bit = 0; fru_ptr->i2c_info->ledata_reg = led_reg; @@ -3422,9 +3417,8 @@ scsb_set_topology(scsb_state_t *scsb) * SSB */ mct_system_info.fru_info_list[SSB] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[SSB] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[SSB] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[SSB]; unit = 1; /* SCB15 */ @@ -3455,7 +3449,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = 0; @@ -3467,9 +3461,8 @@ scsb_set_topology(scsb_state_t *scsb) * CFTM */ mct_system_info.fru_info_list[CFTM] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[CFTM] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[CFTM] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[CFTM]; unit = 1; /* SCB15 */ @@ -3503,7 +3496,7 @@ scsb_set_topology(scsb_state_t *scsb) if (scsb->scsb_data_reg[index] & (1 << bit_num)) { fru_ptr->fru_status = FRU_PRESENT; if (ctcslot_ptr != NULL && ctcslot_ptr->fru_status == - FRU_PRESENT) { + FRU_PRESENT) { ctcslot_ptr->fru_type = (scsb_utype_t)OC_CTC; scsb->scsb_hsc_state |= SCSB_HSC_CTC_PRES; } @@ -3516,7 +3509,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = led_reg; @@ -3528,9 +3521,9 @@ scsb_set_topology(scsb_state_t *scsb) * CRTM */ mct_system_info.fru_info_list[CRTM] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[CRTM] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[CRTM] + pad), + KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[CRTM]; unit = 1; /* SCB15 */ @@ -3561,7 +3554,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = 0; @@ -3573,9 +3566,8 @@ scsb_set_topology(scsb_state_t *scsb) * PRTM */ mct_system_info.fru_info_list[PRTM] = (fru_info_t *) - kmem_zalloc(sizeof (fru_info_t) * - (mct_system_info.max_units[PRTM] + pad), - KM_SLEEP); + kmem_zalloc(sizeof (fru_info_t) * + (mct_system_info.max_units[PRTM] + pad), KM_SLEEP); fru_ptr = mct_system_info.fru_info_list[PRTM]; unit = 1; /* @@ -3606,7 +3598,7 @@ scsb_set_topology(scsb_state_t *scsb) fru_ptr->fru_version = (fru_version_t)0; fru_ptr->type_list = (fru_options_t *)NULL; fru_ptr->i2c_info = (fru_i2c_info_t *) - kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); + kmem_zalloc(sizeof (fru_i2c_info_t), KM_SLEEP); fru_ptr->i2c_info->syscfg_reg = syscfg; fru_ptr->i2c_info->syscfg_bit = bit_num; fru_ptr->i2c_info->ledata_reg = 0; @@ -3635,13 +3627,13 @@ scsb_free_topology(scsb_state_t *scsb) while (fru_ptr != NULL) { if (fru_ptr->i2c_info != (fru_i2c_info_t *)NULL) kmem_free(fru_ptr->i2c_info, - sizeof (fru_i2c_info_t)); + sizeof (fru_i2c_info_t)); fru_ptr = fru_ptr->next; } if ((fru_ptr = mct_system_info.fru_info_list[i]) != - (fru_info_t *)NULL) { + (fru_info_t *)NULL) { kmem_free(fru_ptr, sizeof (fru_info_t) * - mct_system_info.max_units[i]); + mct_system_info.max_units[i]); mct_system_info.fru_info_list[i] = (fru_info_t *)NULL; } } @@ -3667,47 +3659,47 @@ mct_topology_dump(scsb_state_t *scsb, int force) switch ((scsb_utype_t)i) { case SLOT: cmn_err(CE_NOTE, "MCT: Number of Slots: %d", - mct_system_info.max_units[SLOT]); + mct_system_info.max_units[SLOT]); break; case ALARM: cmn_err(CE_NOTE, "MCT: MAX Number of Alarm Cards: %d", - mct_system_info.max_units[ALARM]); + mct_system_info.max_units[ALARM]); break; case DISK: cmn_err(CE_NOTE, "MCT: MAX Number of SCSI Devices: %d", - mct_system_info.max_units[DISK]); + mct_system_info.max_units[DISK]); break; case FAN: cmn_err(CE_NOTE, "MCT: MAX Number of Fan Trays: %d", - mct_system_info.max_units[FAN]); + mct_system_info.max_units[FAN]); break; case PDU: cmn_err(CE_NOTE, "MCT: MAX Number of PDUs: %d", - mct_system_info.max_units[PDU]); + mct_system_info.max_units[PDU]); break; case PS: cmn_err(CE_NOTE, - "MCT: MAX Number of Power Supplies: %d", - mct_system_info.max_units[PS]); + "MCT: MAX Number of Power Supplies: %d", + mct_system_info.max_units[PS]); break; case SCB: cmn_err(CE_NOTE, "MCT: MAX Number of SCBs: %d", - mct_system_info.max_units[SCB]); + mct_system_info.max_units[SCB]); break; case SSB: cmn_err(CE_NOTE, "MCT: MAX Number of SSBs: %d", - mct_system_info.max_units[SSB]); + mct_system_info.max_units[SSB]); break; } while (fru_ptr != NULL) { if (fru_ptr->fru_status & FRU_PRESENT) { cmn_err(CE_NOTE, - "MCT: type=%d, unit=%d, id=0x%x, " - "version=0x%x", - fru_ptr->fru_type, - fru_ptr->fru_unit, - fru_ptr->fru_id, - fru_ptr->fru_version); + "MCT: type=%d, unit=%d, id=0x%x, " + "version=0x%x", + fru_ptr->fru_type, + fru_ptr->fru_unit, + fru_ptr->fru_id, + fru_ptr->fru_version); } fru_ptr = fru_ptr->next; } @@ -3725,7 +3717,7 @@ scsb_failing_event(scsb_state_t *scsb) add_event_code(scsb, scsb_event_code); (void) scsb_queue_ops(scsb, QPUT_INT32, 1, &scsb_event_code, - "scsb_intr"); + "scsb_intr"); } #endif @@ -3742,7 +3734,7 @@ scsb_read_bhealthy(scsb_state_t *scsb) reg = SCSB_REG_ADDR(SCTRL_BHLTHY_BASE); index = SCSB_REG_INDEX(reg); error = scsb_rdwr_register(scsb, I2C_WR_RD, reg, - SCTRL_BHLTHY_NUMREGS, &scsb->scsb_data_reg[index], 1); + SCTRL_BHLTHY_NUMREGS, &scsb->scsb_data_reg[index], 1); return (error); } @@ -3754,7 +3746,7 @@ scsb_read_slot_health(scsb_state_t *scsb, int pslotnum) { int slotnum = tonga_psl_to_ssl(scsb, pslotnum); return (scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_BHLTHY_BASE, SCSB_FRU_OP_GET_BITVAL)); + SCTRL_BHLTHY_BASE, SCSB_FRU_OP_GET_BITVAL)); } /* @@ -3779,7 +3771,7 @@ scsb_bhealthy_slot(scsb_state_t *scsb, scsb_uinfo_t *suip) if (scsb_debug & 0x8001) cmn_err(CE_NOTE, "scsb_bhealthy_slot: slot %d", - suip->unit_number); + suip->unit_number); if (suip->unit_number > mct_system_info.max_units[SLOT]) { return (EINVAL); } @@ -3823,11 +3815,11 @@ scsb_reset_unit(scsb_state_t *scsb, scsb_uinfo_t *suip) return (EAGAIN); if (scsb_debug & 0x8001) { cmn_err(CE_NOTE, "scsb_reset_slot(%d): slot %d, state %d\n", - scsb->scsb_instance, suip->unit_number, - suip->unit_state); + scsb->scsb_instance, suip->unit_number, + suip->unit_state); } if (suip->unit_type != ALARM && !(scsb->scsb_state & - (SCSB_DIAGS_MODE | SCSB_DEBUG_MODE))) { + (SCSB_DIAGS_MODE | SCSB_DEBUG_MODE))) { return (EINVAL); } if (suip->unit_state != ON && suip->unit_state != OFF) { @@ -3849,17 +3841,17 @@ scsb_reset_unit(scsb_state_t *scsb, scsb_uinfo_t *suip) case SLOT: slotnum = suip->unit_number; reset_state = (suip->unit_state == ON) ? SCSB_RESET_SLOT : - SCSB_UNRESET_SLOT; + SCSB_UNRESET_SLOT; if (scsb->scsb_state & SCSB_IS_TONGA) { if (slotnum > TG_MAX_SLOTS || - slotnum == SC_TG_CPU_SLOT) { + slotnum == SC_TG_CPU_SLOT) { return (EINVAL); } } else { if (slotnum > MC_MAX_SLOTS || - slotnum == SC_MC_CPU_SLOT || - (scsb->scsb_hsc_state & SCSB_HSC_CTC_PRES && - slotnum == SC_MC_CTC_SLOT)) { + slotnum == SC_MC_CPU_SLOT || + (scsb->scsb_hsc_state & SCSB_HSC_CTC_PRES && + slotnum == SC_MC_CTC_SLOT)) { return (EINVAL); } } @@ -3874,10 +3866,10 @@ scsb_reset_unit(scsb_state_t *scsb, scsb_uinfo_t *suip) else /* OFF */ scsb->scsb_data_reg[index] &= ~(1 << unit_number); if ((error = scsb_rdwr_register(scsb, I2C_WR, reg, 1, - &scsb->scsb_data_reg[index], 0)) != 0) { + &scsb->scsb_data_reg[index], 0)) != 0) { if (scsb_debug & 0x8002) cmn_err(CE_WARN, - "scsb_leds: write failure to 0x%x", reg); + "scsb_leds: write failure to 0x%x", reg); return (error); } mutex_exit(&scsb->scsb_mutex); @@ -3904,7 +3896,7 @@ scsb_slot_occupancy(scsb_state_t *scsb, scsb_uinfo_t *suip) switch (suip->unit_type) { case ALARM: if (suip->unit_number != - (mct_system_info.fru_info_list[ALARM])->fru_unit) { + (mct_system_info.fru_info_list[ALARM])->fru_unit) { return (EINVAL); } break; @@ -3914,7 +3906,7 @@ scsb_slot_occupancy(scsb_state_t *scsb, scsb_uinfo_t *suip) * All slots are acceptable, except slots 11 & 12. */ if (suip->unit_number < 1 || suip->unit_number > - mct_system_info.max_units[ALARM]) { + mct_system_info.max_units[ALARM]) { error = EINVAL; break; } @@ -3932,11 +3924,11 @@ scsb_slot_occupancy(scsb_state_t *scsb, scsb_uinfo_t *suip) return (error); if (suip->unit_state == ON) { if (hsc_slot_occupancy(saved_unit_number, B_TRUE, 0, B_TRUE) - != 0) + != 0) error = EFAULT; } else { if (hsc_slot_occupancy(saved_unit_number, B_FALSE, 0, B_FALSE) - != 0) + != 0) error = EFAULT; } @@ -3953,12 +3945,12 @@ scsb_clear_intptrs(scsb_state_t *scsb) wbuf[i] = 0xff; } if (error = scsb_rdwr_register(scsb, I2C_WR, - SCSB_REG_ADDR(SCTRL_INTSRC_BASE), - SCTRL_INTR_NUMREGS, wbuf, 1)) { + SCSB_REG_ADDR(SCTRL_INTSRC_BASE), + SCTRL_INTR_NUMREGS, wbuf, 1)) { if (scsb_debug & 0x0402) cmn_err(CE_NOTE, "scsb_clear_intptrs(): " - "write to 0x%x failed", - SCSB_REG_ADDR(SCTRL_INTSRC_BASE)); + "write to 0x%x failed", + SCSB_REG_ADDR(SCTRL_INTSRC_BASE)); } return (error); } @@ -3983,7 +3975,7 @@ scsb_setall_intmasks(scsb_state_t *scsb) if (error = scsb_write_mask(scsb, reg, rmask, wdata, 0)) { if (scsb_debug & 0x0402) cmn_err(CE_NOTE, "scsb_setall_intmasks: " - "write to 0x%x failed: %d", reg, error); + "write to 0x%x failed: %d", reg, error); error = EIO; break; } @@ -4014,7 +4006,7 @@ scsb_clear_intmasks(scsb_state_t *scsb) fru_info_t *fru_ptr; if (scsb->scsb_state & SCSB_FROZEN && - !(scsb->scsb_state & SCSB_IN_INTR)) { + !(scsb->scsb_state & SCSB_IN_INTR)) { return (EAGAIN); } error = 0; @@ -4024,7 +4016,7 @@ scsb_clear_intmasks(scsb_state_t *scsb) mbid = SCSB_REG_INDEX(msk_reg); /* the Mask Base Index Delta */ if (scsb_debug & 0x0400) { cmn_err(CE_NOTE, "clear_intmasks: msk_reg=0x%x; mbid=%d", - msk_reg, mbid); + msk_reg, mbid); } for (fru_type = 0; fru_type < SCSB_UNIT_TYPES; ++fru_type) { if (fru_type == SCB) @@ -4041,7 +4033,7 @@ scsb_clear_intmasks(scsb_state_t *scsb) if (scsb_debug & 0x0400) cmn_err(CE_NOTE, "clear_intmasks:%d:%d: PRES mask[%d]:0x%x", - fru_type, unit, tmp, mask_data[tmp]); + fru_type, unit, tmp, mask_data[tmp]); if ((fru_type == SLOT) && (IS_SCB_P15)) { /* * Unmask the corresponding Slot HLTHY mask @@ -4049,7 +4041,7 @@ scsb_clear_intmasks(scsb_state_t *scsb) * but with SCTRL_INTMASK_HLTHY_BASE */ reg = FRU_REG_ADDR(code, - SCTRL_INTMASK_HLTHY_BASE); + SCTRL_INTMASK_HLTHY_BASE); idx = SCSB_REG_INDEX(reg); tmp = idx - mbid; mask_data[tmp] |= (1 << offset); @@ -4057,8 +4049,8 @@ scsb_clear_intmasks(scsb_state_t *scsb) cmn_err(CE_NOTE, "clear_intmasks:Slot:%d: HLTHY mask[%d]:0x%x" "; reg=0x%x, idx=%d, mbid=%d", - unit, tmp, mask_data[tmp], - reg, idx, mbid); + unit, tmp, mask_data[tmp], + reg, idx, mbid); } } } @@ -4095,15 +4087,15 @@ scsb_clear_intmasks(scsb_state_t *scsb) wdata = mask_data[tmp]; if (scsb_debug & 0x0400) cmn_err(CE_NOTE, "clear_intmasks:0x%x: ~(0x%x),0x%x", - msk_reg, (~wdata) & 0xff, wdata); + msk_reg, (~wdata) & 0xff, wdata); mutex_enter(&scsb->scsb_mutex); if (error = scsb_write_mask(scsb, msk_reg, rmask, - (~wdata) & 0xff, wdata)) { + (~wdata) & 0xff, wdata)) { mutex_exit(&scsb->scsb_mutex); if (scsb_debug & 0x0402) cmn_err(CE_NOTE, "scsb_clear_intmasks: " - "write to 0x%x failed: %d", - msk_reg, error); + "write to 0x%x failed: %d", + msk_reg, error); error = EIO; break; } @@ -4122,17 +4114,17 @@ scsb_get_status(scsb_state_t *scsb, scsb_status_t *smp) return (EFAULT); } if (scsb_debug & 0x40000000 && - (scsb->scsb_state & SCSB_DEBUG_MODE || - scsb->scsb_state & SCSB_DIAGS_MODE)) { + (scsb->scsb_state & SCSB_DEBUG_MODE || + scsb->scsb_state & SCSB_DIAGS_MODE)) { if (scsb->scsb_state & SCSB_FROZEN) { return (EAGAIN); } mutex_enter(&scsb->scsb_mutex); if (scsb_debug & 0x80000000) { if ((i = scsb_readall_regs(scsb)) != 0 && - scsb->scsb_state & SCSB_DEBUG_MODE) + scsb->scsb_state & SCSB_DEBUG_MODE) cmn_err(CE_WARN, "scsb_get_status: " - "scsb_readall_regs() FAILED"); + "scsb_readall_regs() FAILED"); } else { if ((i = scsb_check_config_status(scsb)) == 0) { i = scsb_set_scfg_pres_leds(scsb, NULL); @@ -4141,7 +4133,7 @@ scsb_get_status(scsb_state_t *scsb, scsb_status_t *smp) mutex_exit(&scsb->scsb_mutex); if (i) { cmn_err(CE_WARN, - "scsb_get_status: FAILED Presence LEDs update"); + "scsb_get_status: FAILED Presence LEDs update"); return (EIO); } } @@ -4205,7 +4197,7 @@ scsb_freeze_check(scsb_state_t *scsb) if (fru_ptr[unit - 1].fru_status == FRU_PRESENT) { slots_in_reset[unit - 1] = unit; cmn_err(CE_NOTE, BAD_BOARD_MSG, - scsb->scsb_instance, unit); + scsb->scsb_instance, unit); } } } @@ -4218,7 +4210,7 @@ scsb_freeze(scsb_state_t *scsb) uint32_t code; if (scsb_debug & 0x00020002) { cmn_err(CE_WARN, "scsb_freeze: SCB%d possibly removed", - scsb->scsb_instance); + scsb->scsb_instance); } if (scsb->scsb_state & SCSB_FROZEN) return; @@ -4257,7 +4249,7 @@ scsb_restore(scsb_state_t *scsb) /* 9. Clear all Interrupts */ if (scsb_clear_intmasks(scsb)) { cmn_err(CE_WARN, - "scsb%d: I2C TRANSFER Failed", scsb->scsb_instance); + "scsb%d: I2C TRANSFER Failed", scsb->scsb_instance); if (scsb_debug & 0x00020002) { cmn_err(CE_WARN, "scsb_restore: clear_intmasks Failed"); } @@ -4267,7 +4259,7 @@ scsb_restore(scsb_state_t *scsb) /* 10. */ /* Check if Alarm Card present at boot and set flags */ if (scsb_fru_op(scsb, ALARM, 1, SCTRL_SYSCFG_BASE, - SCSB_FRU_OP_GET_BITVAL)) + SCSB_FRU_OP_GET_BITVAL)) scsb->scsb_hsc_state |= SCSB_ALARM_CARD_PRES; else scsb->scsb_hsc_state &= ~SCSB_ALARM_CARD_PRES; @@ -4363,7 +4355,7 @@ scsb_intr_preprocess(caddr_t arg) * interrupt. */ scsb_intr_tid = timeout((void (*)(void *))scsb_intr, arg, - drv_usectohz(1000)); + drv_usectohz(1000)); intr_end: @@ -4415,7 +4407,7 @@ scsb_intr(caddr_t arg) if (scb_check_version(scsb) != DDI_SUCCESS) { #ifdef DEBUG if (scsb->scsb_state & SCSB_SSB_PRESENT && - scsb->scsb_i2c_errcnt > scsb_err_threshold) + scsb->scsb_i2c_errcnt > scsb_err_threshold) scsb_failing_event(scsb); #endif goto intr_error; @@ -4440,12 +4432,12 @@ scsb_intr(caddr_t arg) intr_addr = SCSB_REG_ADDR(SCTRL_INTSRC_BASE); /* read the interrupt register from scsb */ if (scsb_rdwr_register(scsb, I2C_WR_RD, intr_addr, - SCTRL_INTR_NUMREGS - 1, scb_intr_regs, 1)) { + SCTRL_INTR_NUMREGS - 1, scb_intr_regs, 1)) { cmn_err(CE_WARN, "scsb_intr: " - " Failed read of interrupt registers."); + " Failed read of interrupt registers."); #ifdef DEBUG if (scsb->scsb_state & SCSB_SSB_PRESENT && - scsb->scsb_i2c_errcnt > scsb_err_threshold) + scsb->scsb_i2c_errcnt > scsb_err_threshold) scsb_failing_event(scsb); #endif goto intr_error; @@ -4464,7 +4456,7 @@ scsb_intr(caddr_t arg) if (scsb_debug & 0x08000000) { if (tmp_reg || scb_intr_regs[i]) { cmn_err(CE_NOTE, "scsb_intr: INTSRC%d=0x%x", - i + 1, scb_intr_regs[i]); + i + 1, scb_intr_regs[i]); ++tmp_reg; } } @@ -4504,8 +4496,8 @@ scsb_intr(caddr_t arg) */ if (scsb_debug & 0x00023000) { cmn_err(CE_NOTE, - "scsb_intr(%d): INIT_SCB INT", - scsb->scsb_instance); + "scsb_intr(%d): INIT_SCB INT", + scsb->scsb_instance); } scsb_restore(scsb); retval |= (SCSB_INTR_CLAIMED | SCSB_INTR_EVENT); @@ -4525,7 +4517,7 @@ scsb_intr(caddr_t arg) * of the request to make sure it's not an I2C noise */ offset = FRU_OFFSET(SCTRL_EVENT_PWRDWN, - SCTRL_INTPTR_BASE); + SCTRL_INTPTR_BASE); clr_bits = 1 << offset; intr_reg = scb_intr_regs[intr_idx]; if (intr_reg & clr_bits) { @@ -4537,15 +4529,15 @@ scsb_intr(caddr_t arg) for (i = 0; i < scsb_shutdown_count; i++) { drv_usecwait(1000); if (scsb_rdwr_register(scsb, I2C_WR_RD, tmp_reg, - 1, &intr_reg, 1)) { + 1, &intr_reg, 1)) { cmn_err(CE_WARN, "Failed to read " - " interrupt register"); + " interrupt register"); goto intr_error; } if (scsb_debug & 0x08000000) { cmn_err(CE_NOTE, "scsb_intr: " - " INTSRC6[%d]=0x%x", i, - intr_reg); + " INTSRC6[%d]=0x%x", i, + intr_reg); } if (!(intr_reg & clr_bits)) { scb_intr_regs[intr_idx] &= ~clr_bits; @@ -4562,7 +4554,7 @@ scsb_intr(caddr_t arg) */ if (retval == 0 && scsb_check_config_status(scsb)) { cmn_err(CE_WARN, - "scsb_intr: Failed read of config/status registers"); + "scsb_intr: Failed read of config/status registers"); if (scsb->scsb_state & SCSB_P06_NOINT_KLUGE) { if (!scsb_debug) { goto intr_error; @@ -4570,7 +4562,7 @@ scsb_intr(caddr_t arg) } #ifdef DEBUG if (scsb->scsb_state & SCSB_SSB_PRESENT && - scsb->scsb_i2c_errcnt > scsb_err_threshold) { + scsb->scsb_i2c_errcnt > scsb_err_threshold) { scsb_failing_event(scsb); } #endif @@ -4589,17 +4581,17 @@ scsb_intr(caddr_t arg) index = SCSB_REG_INDEX(intr_addr); for (i = 0; i < SCTRL_BHLTHY_NUMREGS; ++i, ++intr_idx) { scsb->scsb_data_reg[index++] = - scb_intr_regs[intr_idx] & int_masks[intr_idx]; + scb_intr_regs[intr_idx] & int_masks[intr_idx]; intr_reg |= scb_intr_regs[i]; } if (intr_reg && scsb_read_bhealthy(scsb) != 0) { cmn_err(CE_WARN, "%s#%d: Error Reading Healthy# " - " Registers", ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev)); + " Registers", ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev)); #ifdef DEBUG if (scsb->scsb_state & SCSB_SSB_PRESENT && - scsb->scsb_i2c_errcnt > scsb_err_threshold) { + scsb->scsb_i2c_errcnt > scsb_err_threshold) { scsb_failing_event(scsb); } #endif @@ -4615,12 +4607,12 @@ scsb_intr(caddr_t arg) */ if (IS_SCB_P15) { if (scsb_rdwr_register(scsb, I2C_WR, intr_addr, - SCTRL_INTR_NUMREGS, scb_intr_regs, 1)) { + SCTRL_INTR_NUMREGS, scb_intr_regs, 1)) { cmn_err(CE_WARN, "scsb_intr: Failed write to interrupt" - " registers."); + " registers."); #ifdef DEBUG if (scsb->scsb_state & SCSB_SSB_PRESENT && - scsb->scsb_i2c_errcnt > scsb_err_threshold) { + scsb->scsb_i2c_errcnt > scsb_err_threshold) { scsb_failing_event(scsb); } #endif @@ -4693,7 +4685,7 @@ scsb_intr(caddr_t arg) */ offset_base = FRU_OFFSET_BASE(SCTRL_INTPTR_BASE); for (offset = 0; intr_idx < numregs; - ++offset, ++intr_idx, ++intr_addr, ++index) { + ++offset, ++intr_idx, ++intr_addr, ++index) { scsb->scsb_data_reg[index] = scb_intr_regs[intr_idx]; intr_reg = scb_intr_regs[intr_idx]; while (intr_reg) { /* for each INTSRC bit that's set */ @@ -4718,7 +4710,7 @@ scsb_intr(caddr_t arg) if (j != FRU_INDEX(SCTRL_EVENT_SCB)) continue; if (offset != ((uc >> 4) & 0xf) - + SCB_INT_OFFSET) + + SCB_INT_OFFSET) continue; } if (idx == (uc & 0xf)) @@ -4744,12 +4736,12 @@ scsb_intr(caddr_t arg) if (code == SCTRL_EVENT_PWRDWN) { if (scsb_debug & 0x1002) { cmn_err(CE_NOTE, - "scsb_intr(%d): power down req." - " INT.", scsb->scsb_instance); + "scsb_intr(%d): power down req." + " INT.", scsb->scsb_instance); } scsb_event_code |= code; if (scsb->scsb_state & SCSB_OPEN && - scsb->scsb_rq != (queue_t *)NULL) { + scsb->scsb_rq != (queue_t *)NULL) { /* * inform applications using poll(2) * about this event, and provide the @@ -4757,16 +4749,16 @@ scsb_intr(caddr_t arg) */ if (!(scsb_debug & 0x00040000)) (void) scsb_queue_put(scsb->scsb_rq, 1, - &scsb_event_code, "scsb_intr"); + &scsb_event_code, "scsb_intr"); goto intr_error; } continue; } else if (code == SCTRL_EVENT_REPLACE) { if (scsb_debug & 0x1002) { cmn_err(CE_NOTE, - "scsb_intr(%d): replacement " - "req. INT.", - scsb->scsb_instance); + "scsb_intr(%d): replacement " + "req. INT.", + scsb->scsb_instance); } scsb_freeze_check(scsb); scsb_freeze(scsb); @@ -4781,8 +4773,8 @@ scsb_intr(caddr_t arg) */ if (scsb_debug & 0x1002) { cmn_err(CE_NOTE, - "scsb_intr(%d): INIT SCB INTR", - scsb->scsb_instance); + "scsb_intr(%d): INIT SCB INTR", + scsb->scsb_instance); } /* * SCB initialization already handled, but we @@ -4794,7 +4786,7 @@ scsb_intr(caddr_t arg) * so we won't do it again. */ tmp = FRU_OFFSET(SCTRL_EVENT_SCB, - SCTRL_INTPTR_BASE); + SCTRL_INTPTR_BASE); clr_bits &= ~(1 << tmp); scsb_event_code |= code; retval |= (SCSB_INTR_CLAIMED | SCSB_INTR_EVENT); @@ -4809,8 +4801,8 @@ scsb_intr(caddr_t arg) } if (scsb_debug & 0x1002) { cmn_err(CE_NOTE, - "scsb_intr(%d): Alarm INT.", - scsb->scsb_instance); + "scsb_intr(%d): Alarm INT.", + scsb->scsb_instance); } scsb_event_code |= code; retval |= (SCSB_INTR_CLAIMED | SCSB_INTR_EVENT); @@ -4836,8 +4828,8 @@ scsb_intr(caddr_t arg) unit = (ui >> 8) & 0xff; if (scsb_debug & 0x00002000) { cmn_err(CE_NOTE, "scsb_intr: " - "FRU type/unit/code %d/%d/0x%x", - fru_type, unit, code); + "FRU type/unit/code %d/%d/0x%x", + fru_type, unit, code); } switch (fru_type) { case PDU: @@ -4866,8 +4858,8 @@ scsb_intr(caddr_t arg) slotnum = tonga_ssl_to_psl(scsb, unit); if (scsb_debug & 0x00002000) { cmn_err(CE_NOTE, "scsb_intr: " - "unit/slot %d/%d", - unit, slotnum); + "unit/slot %d/%d", + unit, slotnum); } /* @@ -4875,7 +4867,7 @@ scsb_intr(caddr_t arg) */ if (scsb->scsb_state & SCSB_IS_TONGA) { if (slotnum > TG_MAX_SLOTS || - slotnum == SC_TG_CPU_SLOT) { + slotnum == SC_TG_CPU_SLOT) { continue; } /* @@ -4884,13 +4876,13 @@ scsb_intr(caddr_t arg) * actual physical slot */ code = FRU_UNIT_TO_EVCODE(SLOT, - slotnum); + slotnum); } else { if (slotnum > MC_MAX_SLOTS || - slotnum == SC_MC_CPU_SLOT || - (scsb->scsb_hsc_state & - SCSB_HSC_CTC_PRES && - slotnum == SC_MC_CTC_SLOT)) { + slotnum == SC_MC_CPU_SLOT || + (scsb->scsb_hsc_state & + SCSB_HSC_CTC_PRES && + slotnum == SC_MC_CTC_SLOT)) { continue; } } @@ -4909,11 +4901,11 @@ scsb_intr(caddr_t arg) if (fru_type == ALARM) { DEBUG2("AC Intr %d(%d)\n", scsb->ac_slotnum, idx+1); val = scsb_fru_op(scsb, SLOT, - tonga_ssl_to_psl(scsb, scsb->ac_slotnum), - SCTRL_SYSCFG_BASE, SCSB_FRU_OP_GET_BITVAL); + tonga_ssl_to_psl(scsb, scsb->ac_slotnum), + SCTRL_SYSCFG_BASE, SCSB_FRU_OP_GET_BITVAL); ac_present = scsb_fru_op(scsb, ALARM, 1, - SCTRL_SYSCFG_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCTRL_SYSCFG_BASE, + SCSB_FRU_OP_GET_BITVAL); /* * It is observed that slot presence and Alarm * presence bits do not go ON at the same time. @@ -4921,13 +4913,13 @@ scsb_intr(caddr_t arg) */ #ifdef DEBUG if ((((val) && (!ac_present)) || - ((!val) && (ac_present))) && - (scsb->scsb_hsc_state & - SCSB_AC_SLOT_INTR_DONE)) + ((!val) && (ac_present))) && + (scsb->scsb_hsc_state & + SCSB_AC_SLOT_INTR_DONE)) cmn_err(CE_WARN, "?Alarm and Slot presence " - "state bits do not match! (%x,%x)", - val, ac_present); + "state bits do not match! (%x,%x)", + val, ac_present); #endif if (scsb->scsb_hsc_state & SCSB_AC_SLOT_INTR_DONE) scsb->scsb_hsc_state &= ~SCSB_AC_SLOT_INTR_DONE; @@ -4941,14 +4933,14 @@ scsb_intr(caddr_t arg) */ if (scsb->scsb_state & SCSB_IS_TONGA) { if (slotnum > TG_MAX_SLOTS || - slotnum == SC_TG_CPU_SLOT) { + slotnum == SC_TG_CPU_SLOT) { continue; } } else { if (slotnum > MC_MAX_SLOTS || - slotnum == SC_MC_CPU_SLOT || - (scsb->scsb_hsc_state & SCSB_HSC_CTC_PRES && - slotnum == SC_MC_CTC_SLOT)) { + slotnum == SC_MC_CPU_SLOT || + (scsb->scsb_hsc_state & SCSB_HSC_CTC_PRES && + slotnum == SC_MC_CTC_SLOT)) { continue; } } @@ -4957,20 +4949,20 @@ scsb_intr(caddr_t arg) ac_slot = B_TRUE; } val = scsb_fru_op(scsb, SLOT, unit, SCTRL_SYSCFG_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); if (ac_slot == B_TRUE) { ac_present = scsb_fru_op(scsb, ALARM, 1, - SCTRL_SYSCFG_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCTRL_SYSCFG_BASE, + SCSB_FRU_OP_GET_BITVAL); #ifdef DEBUG if ((((val) && (!ac_present)) || - ((!val) && (ac_present))) && - (scsb->scsb_hsc_state & - SCSB_AC_SLOT_INTR_DONE)) { + ((!val) && (ac_present))) && + (scsb->scsb_hsc_state & + SCSB_AC_SLOT_INTR_DONE)) { cmn_err(CE_WARN, "?Alarm and Slot presence " - "state bits do not match! (%x,%x)", - val, ac_present); + "state bits do not match! (%x,%x)", + val, ac_present); } #endif if (scsb->scsb_hsc_state & SCSB_AC_SLOT_INTR_DONE) @@ -4983,7 +4975,7 @@ scsb_intr(caddr_t arg) DEBUG1("AC insertion on slot %d!\n", slotnum); if (scsb_debug & 0x00010000) { cmn_err(CE_NOTE, "scsb_intr: " - "AC_PRES slot %d", slotnum); + "AC_PRES slot %d", slotnum); } scsb->scsb_hsc_state |= SCSB_ALARM_CARD_PRES; } @@ -5000,14 +4992,14 @@ scsb_intr(caddr_t arg) (void) scsb_connect_slot(scsb, slotnum, B_FALSE); } else { if ((ac_slot == B_TRUE) && - (scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) { + (scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) { DEBUG1("AC Removal on slot %d!\n", slotnum); #ifdef DEBUG if (scsb_debug & 0x00010000) { cmn_err(CE_NOTE, "scsb_intr: " - "!AC_PRES slot %d", - slotnum); + "!AC_PRES slot %d", + slotnum); } #endif /* DEBUG */ scsb->scsb_hsc_state &= ~SCSB_ALARM_CARD_PRES; @@ -5029,8 +5021,8 @@ scsb_intr(caddr_t arg) */ if (scsb_debug & 0x00000002) { cmn_err(CE_WARN, - "scsb_intr: FRU type %d" - " not recognized", fru_type); + "scsb_intr: FRU type %d" + " not recognized", fru_type); } continue; } @@ -5044,16 +5036,16 @@ scsb_intr(caddr_t arg) if (unit != fru_ptr->fru_unit) continue; if (fru_ptr->i2c_info == NULL || - (tmp_reg = fru_ptr->i2c_info-> - ledata_reg) == 0) + (tmp_reg = fru_ptr->i2c_info-> + ledata_reg) == 0) continue; error = scsb_set_scfg_pres_leds(scsb, fru_ptr); if (error) { cmn_err(CE_WARN, "scsb_intr(): " - "I2C write error to 0x%x", - tmp_reg); + "I2C write error to 0x%x", + tmp_reg); if (!(scsb->scsb_state & - SCSB_DEBUG_MODE)) { + SCSB_DEBUG_MODE)) { goto intr_error; } } @@ -5074,7 +5066,7 @@ scsb_intr(caddr_t arg) index = SCSB_REG_INDEX(intr_addr); if (IS_SCB_P15) { for (i = 0; i < SCTRL_BHLTHY_NUMREGS; - ++i, ++intr_idx, ++intr_addr) { + ++i, ++intr_idx, ++intr_addr) { scsb->scsb_data_reg[index++] = scb_intr_regs[intr_idx]; intr_reg = scb_intr_regs[i]; while (intr_reg) { @@ -5086,15 +5078,15 @@ scsb_intr(caddr_t arg) slotnum = tonga_ssl_to_psl(scsb, idx + 1); if (scsb->scsb_state & SCSB_IS_TONGA) { if (slotnum > TG_MAX_SLOTS || - slotnum == SC_TG_CPU_SLOT) { + slotnum == SC_TG_CPU_SLOT) { continue; } } else { if (slotnum > MC_MAX_SLOTS || - slotnum == SC_MC_CPU_SLOT || - (scsb->scsb_hsc_state & - SCSB_HSC_CTC_PRES && - slotnum == SC_MC_CTC_SLOT)) { + slotnum == SC_MC_CPU_SLOT || + (scsb->scsb_hsc_state & + SCSB_HSC_CTC_PRES && + slotnum == SC_MC_CTC_SLOT)) { continue; } } @@ -5107,11 +5099,11 @@ scsb_intr(caddr_t arg) } code = scsb_event_code; if (retval & SCSB_INTR_EVENT && - !(scsb->scsb_state & SCSB_P06_NOINT_KLUGE)) { + !(scsb->scsb_state & SCSB_P06_NOINT_KLUGE)) { check_fru_info(scsb, code); add_event_code(scsb, code); (void) scsb_queue_ops(scsb, QPUT_INT32, 1, &scsb_event_code, - "scsb_intr"); + "scsb_intr"); } intr_error: scb_post_e = gethrtime(); @@ -5119,7 +5111,7 @@ intr_error: if (scsb_debug & 0x8000000) cmn_err(CE_NOTE, "Summary of times in nsec: pre_time %llu, \ post_time %llu", scb_pre_e - scb_pre_s, - scb_post_e - scb_post_s); + scb_post_e - scb_post_s); mutex_enter(&scsb->scsb_mutex); @@ -5175,18 +5167,18 @@ scsb_leds_switch(scsb_state_t *scsb, scsb_ustate_t op) uchar_t reg, idata, rwbuf[SCTRL_MAX_GROUP_NUMREGS]; if (scsb->scsb_state & SCSB_FROZEN && - !(scsb->scsb_state & SCSB_IN_INTR)) { + !(scsb->scsb_state & SCSB_IN_INTR)) { return (EAGAIN); } if (scsb_debug & 0x0101) { cmn_err(CE_NOTE, "scsb_leds_switch(%s):", - op == ON ? "ON" : "OFF"); + op == ON ? "ON" : "OFF"); } /* Step 1: turn ON/OFF all NOK LEDs. */ if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "scsb%d: turning all NOK LEDs %s", - scsb->scsb_instance, - op == ON ? "ON" : "OFF"); + scsb->scsb_instance, + op == ON ? "ON" : "OFF"); } if (op == ON) idata = 0xff; @@ -5200,19 +5192,19 @@ scsb_leds_switch(scsb_state_t *scsb, scsb_ustate_t op) } mutex_enter(&scsb->scsb_mutex); i = scsb_rdwr_register(scsb, I2C_WR, reg, SCTRL_LED_NOK_NUMREGS, - rwbuf, 1); + rwbuf, 1); mutex_exit(&scsb->scsb_mutex); if (i) { if (scsb_debug & 0x0102) cmn_err(CE_WARN, "scsb_leds_switch(): " - "Failed to turn %s NOK LEDs", - op == ON ? "ON" : "OFF"); + "Failed to turn %s NOK LEDs", + op == ON ? "ON" : "OFF"); } /* Step 2: turn ON/OFF all OK LEDs. */ if (scsb_debug & 0x0100) { cmn_err(CE_NOTE, "scsb%d: turning all OK LEDs %s", - scsb->scsb_instance, - op == ON ? "ON" : "OFF"); + scsb->scsb_instance, + op == ON ? "ON" : "OFF"); } reg = SCSB_REG_ADDR(SCTRL_LED_OK_BASE); index = SCSB_REG_INDEX(reg); @@ -5222,13 +5214,13 @@ scsb_leds_switch(scsb_state_t *scsb, scsb_ustate_t op) } mutex_enter(&scsb->scsb_mutex); i = scsb_rdwr_register(scsb, I2C_WR, reg, SCTRL_LED_OK_NUMREGS, - rwbuf, 1); + rwbuf, 1); mutex_exit(&scsb->scsb_mutex); if (i) { if (scsb_debug & 0x0102) cmn_err(CE_WARN, "scsb_leds_switch(): " - "Failed to turn %s NOK LEDs", - op == ON ? "ON" : "OFF"); + "Failed to turn %s NOK LEDs", + op == ON ? "ON" : "OFF"); } /* Step 3: turn OFF all BLINK LEDs. */ if (op == OFF) { @@ -5240,13 +5232,13 @@ scsb_leds_switch(scsb_state_t *scsb, scsb_ustate_t op) } mutex_enter(&scsb->scsb_mutex); i = scsb_rdwr_register(scsb, I2C_WR, reg, SCTRL_BLINK_NUMREGS, - rwbuf, 1); + rwbuf, 1); mutex_exit(&scsb->scsb_mutex); if (i) { if (scsb_debug & 0x0102) cmn_err(CE_WARN, "scsb_leds_switch(): " - "Failed to turn %s BLINK BITs", - op == ON ? "ON" : "OFF"); + "Failed to turn %s BLINK BITs", + op == ON ? "ON" : "OFF"); } } return (0); @@ -5270,7 +5262,7 @@ scsb_readall_regs(scsb_state_t *scsb) reg = SCSB_REG_ADDR_START; /* 1st register in set */ index = SCSB_REG_INDEX(reg); error = scsb_rdwr_register(scsb, I2C_WR_RD, reg, SCSB_DATA_REGISTERS, - &scsb->scsb_data_reg[index], 1); + &scsb->scsb_data_reg[index], 1); return (error); } @@ -5294,10 +5286,10 @@ scsb_write_mask(scsb_state_t *scsb, if (scsb_debug & 0x0800) { cmn_err(CE_NOTE, "scsb_write_mask(,%x,,%x,%x):", - reg, on_mask, off_mask); + reg, on_mask, off_mask); } if (scsb->scsb_state & SCSB_FROZEN && - !(scsb->scsb_state & SCSB_IN_INTR)) { + !(scsb->scsb_state & SCSB_IN_INTR)) { return (EAGAIN); } /* select the register address and read the register */ @@ -5315,7 +5307,7 @@ scsb_write_mask(scsb_state_t *scsb, scsb->scsb_i2c_errcnt = 0; if (scsb_debug & 0x0800) cmn_err(CE_NOTE, "scsb_write_mask() read 0x%x", - i2cxferp->i2c_rbuf[0]); + i2cxferp->i2c_rbuf[0]); reg_data = i2cxferp->i2c_rbuf[0]; if (rmask) reg_data &= rmask; @@ -5345,11 +5337,11 @@ wm_error: if (scsb->scsb_state & SCSB_SSB_PRESENT) { if (scsb_debug & 0x0802) cmn_err(CE_WARN, - "scsb_write_mask(): reg %x %s error, data=%x", - reg, - i2cxferp->i2c_flags & I2C_WR ? "write" : "read", - i2cxferp->i2c_flags & I2C_WR ? - i2cxferp->i2c_wbuf[1] : i2cxferp->i2c_rbuf[0]); + "scsb_write_mask(): reg %x %s error, data=%x", + reg, + i2cxferp->i2c_flags & I2C_WR ? "write" : "read", + i2cxferp->i2c_flags & I2C_WR ? + i2cxferp->i2c_wbuf[1] : i2cxferp->i2c_rbuf[0]); } else { if (scsb->scsb_i2c_errcnt >= scsb_freeze_count) scsb_freeze(scsb); @@ -5371,10 +5363,10 @@ scsb_rdwr_register(scsb_state_t *scsb, int op, uchar_t reg, int len, if (scsb_debug & 0x0800) { cmn_err(CE_NOTE, "scsb_rdwr_register(scsb,%s,%x,%x,buf):", - (op == I2C_WR) ? "write" : "read", reg, len); + (op == I2C_WR) ? "write" : "read", reg, len); } if (scsb->scsb_state & SCSB_FROZEN && - !(scsb->scsb_state & SCSB_IN_INTR)) { + !(scsb->scsb_state & SCSB_IN_INTR)) { return (EAGAIN); } if (i2c_alloc) { @@ -5382,7 +5374,7 @@ scsb_rdwr_register(scsb_state_t *scsb, int op, uchar_t reg, int len, if (i2cxferp == NULL) { if (scsb_debug & 0x0042) cmn_err(CE_WARN, "scsb_rdwr_register: " - "i2ctx allocation failure"); + "i2ctx allocation failure"); return (ENOMEM); } } else { @@ -5396,11 +5388,11 @@ scsb_rdwr_register(scsb_state_t *scsb, int op, uchar_t reg, int len, i2cxferp->i2c_wbuf[0] = reg; for (i = 0; i < len; ++i) { scsb->scsb_data_reg[index + i] = - i2cxferp->i2c_wbuf[1 + i] = rwbuf[i]; + i2cxferp->i2c_wbuf[1 + i] = rwbuf[i]; if (scsb_debug & 0x0080) cmn_err(CE_NOTE, "scsb_rdwr_register: writing rwbuf[%d]=0x%x", - i, rwbuf[i]); + i, rwbuf[i]); } break; case I2C_WR_RD: @@ -5425,11 +5417,11 @@ scsb_rdwr_register(scsb_state_t *scsb, int op, uchar_t reg, int len, /* copy to rwbuf[] and keep shadow registers updated */ for (i = 0; i < len; ++i) { scsb->scsb_data_reg[index + i] = rwbuf[i] = - i2cxferp->i2c_rbuf[i]; + i2cxferp->i2c_rbuf[i]; if (scsb_debug & 0x0080) cmn_err(CE_NOTE, "scsb_rdwr_register: read rwbuf[%d]=0x%x", - i, rwbuf[i]); + i, rwbuf[i]); } } if (i2c_alloc) @@ -5444,8 +5436,8 @@ scsb_rdwr_register(scsb_state_t *scsb, int op, uchar_t reg, int len, return (EAGAIN); } else { cmn_err(CE_WARN, - "scsb_rdwr_register(): I2C read error from %x", - reg); + "scsb_rdwr_register(): I2C read error from %x", + reg); } } else { scsb->scsb_i2c_errcnt = 0; @@ -5479,7 +5471,7 @@ check_fru_info(scsb_state_t *scsb, int evcode) if (i > MCT_MAX_FRUS) { if (scsb_debug & 0x00100000) cmn_err(CE_NOTE, - "check_fru_info: index %d out of range", i); + "check_fru_info: index %d out of range", i); check_fru_info(scsb, new_evcode); return; } @@ -5506,20 +5498,20 @@ check_fru_info(scsb_state_t *scsb, int evcode) * check for an entry in the CallBack table */ for (cbe_ptr = scsb_cb_table; cbe_ptr != NULL; - cbe_ptr = cbe_ptr->cb_next) { + cbe_ptr = cbe_ptr->cb_next) { if (cbe_ptr->cb_fru_id == fru_id && - cbe_ptr->cb_fru_ptr == fru_ptr) { + cbe_ptr->cb_fru_ptr == fru_ptr) { if (scsb_debug & 0x00800000) cmn_err(CE_NOTE, - "check_fru_info: callback for FRU_ID " - "0x%x; device is %spresent", - (int)fru_id, - fru_status == FRU_PRESENT ? - "" : "not "); + "check_fru_info: callback for FRU_ID " + "0x%x; device is %spresent", + (int)fru_id, + fru_status == FRU_PRESENT ? + "" : "not "); (*cbe_ptr->cb_func)( - cbe_ptr->cb_softstate_ptr, - cbe_ptr->cb_event, - fru_status); + cbe_ptr->cb_softstate_ptr, + cbe_ptr->cb_event, + fru_status); break; } } @@ -5543,12 +5535,12 @@ scsb_alloc_kstats(scsb_state_t *scsb) */ if (scsb_debug & 0x00080001) cmn_err(CE_NOTE, - "scsb_alloc_kstats: create scsb_leddata: %lu bytes", - sizeof (scsb_ks_leddata_t)); + "scsb_alloc_kstats: create scsb_leddata: %lu bytes", + sizeof (scsb_ks_leddata_t)); if ((scsb->ks_leddata = kstat_create(scsb_name, scsb->scsb_instance, - SCSB_KS_LEDDATA, "misc", KSTAT_TYPE_RAW, - sizeof (scsb_ks_leddata_t), KSTAT_FLAG_PERSISTENT)) - == NULL) { + SCSB_KS_LEDDATA, "misc", KSTAT_TYPE_RAW, + sizeof (scsb_ks_leddata_t), KSTAT_FLAG_PERSISTENT)) + == NULL) { scsb->scsb_state |= SCSB_KSTATS; scsb_free_kstats(scsb); return (DDI_FAILURE); @@ -5566,12 +5558,12 @@ scsb_alloc_kstats(scsb_state_t *scsb) */ if (scsb_debug & 0x00080000) cmn_err(CE_NOTE, - "scsb_alloc_kstats: create scsb_state: %lu bytes", - sizeof (scsb_ks_state_t)); + "scsb_alloc_kstats: create scsb_state: %lu bytes", + sizeof (scsb_ks_state_t)); if ((scsb->ks_state = kstat_create(scsb_name, scsb->scsb_instance, - SCSB_KS_STATE, "misc", KSTAT_TYPE_RAW, - sizeof (scsb_ks_state_t), KSTAT_FLAG_PERSISTENT)) - == NULL) { + SCSB_KS_STATE, "misc", KSTAT_TYPE_RAW, + sizeof (scsb_ks_state_t), KSTAT_FLAG_PERSISTENT)) + == NULL) { scsb->scsb_state |= SCSB_KSTATS; scsb_free_kstats(scsb); return (DDI_FAILURE); @@ -5589,12 +5581,12 @@ scsb_alloc_kstats(scsb_state_t *scsb) */ if (scsb_debug & 0x00080000) cmn_err(CE_NOTE, - "scsb_alloc_kstats: create env_toploogy: %lu bytes", - sizeof (mct_topology_t)); + "scsb_alloc_kstats: create env_toploogy: %lu bytes", + sizeof (mct_topology_t)); if ((scsb->ks_topology = kstat_create(scsb_name, scsb->scsb_instance, - SCSB_KS_TOPOLOGY, "misc", KSTAT_TYPE_RAW, - sizeof (mct_topology_t), KSTAT_FLAG_PERSISTENT)) - == NULL) { + SCSB_KS_TOPOLOGY, "misc", KSTAT_TYPE_RAW, + sizeof (mct_topology_t), KSTAT_FLAG_PERSISTENT)) + == NULL) { scsb->scsb_state |= SCSB_KSTATS; scsb_free_kstats(scsb); return (DDI_FAILURE); @@ -5613,10 +5605,10 @@ scsb_alloc_kstats(scsb_state_t *scsb) if (scsb_debug & 0x00080001) cmn_err(CE_NOTE, "scsb_alloc_kstats: create scsb_evc_register: %lu bytes", - sizeof (kstat_named_t) * 2); + sizeof (kstat_named_t) * 2); if ((scsb->ks_evcreg = kstat_create(scsb_name, scsb->scsb_instance, - SCSB_KS_EVC_REGISTER, "misc", KSTAT_TYPE_NAMED, 2, - KSTAT_FLAG_PERSISTENT|KSTAT_FLAG_WRITABLE)) == NULL) { + SCSB_KS_EVC_REGISTER, "misc", KSTAT_TYPE_NAMED, 2, + KSTAT_FLAG_PERSISTENT|KSTAT_FLAG_WRITABLE)) == NULL) { scsb->scsb_state |= SCSB_KSTATS; scsb_free_kstats(scsb); return (DDI_FAILURE); @@ -5645,7 +5637,7 @@ update_ks_leddata(kstat_t *ksp, int rw) scsb = (scsb_state_t *)ksp->ks_private; if (scsb_debug & 0x00080001) cmn_err(CE_NOTE, "update_ks_leddata: KS_UPDATE%sset", - scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); + scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); /* * Since this is satisfied from the shadow registers, let it succeed * even if the SCB is not present. It would be nice to return the @@ -5730,8 +5722,8 @@ update_ks_evcreg(kstat_t *ksp, int rw) scsb = (scsb_state_t *)ksp->ks_private; if (scsb_debug & 0x00080001) cmn_err(CE_NOTE, "update_ks_evcreg: %s(%d), KS_UPDATE%sset", - rw == KSTAT_READ ? "read" : "write", rw, - scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); + rw == KSTAT_READ ? "read" : "write", rw, + scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); /* * Let this registration succeed * @@ -5760,9 +5752,9 @@ update_ks_evcreg(kstat_t *ksp, int rw) if (add_event_proc(scsb, pid)) { if (scsb_debug & 0x02000002) { cmn_err(CE_WARN, - "update_ks_evcreg: " - "process add failed for %d", - pid); + "update_ks_evcreg: " + "process add failed for %d", + pid); } error = EOVERFLOW; } @@ -5771,9 +5763,9 @@ update_ks_evcreg(kstat_t *ksp, int rw) if (del_event_proc(scsb, pid)) { if (scsb_debug & 0x02000000) { cmn_err(CE_NOTE, - "update_ks_evcreg: " - "process delete failed for %d", - pid); + "update_ks_evcreg: " + "process delete failed for %d", + pid); } error = EOVERFLOW; } @@ -5806,7 +5798,7 @@ update_ks_state(kstat_t *ksp, int rw) scsb = (scsb_state_t *)ksp->ks_private; if (scsb_debug & 0x00080001) cmn_err(CE_NOTE, "update_ks_state: KS_UPDATE%sset", - scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); + scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); /* * Let this succeed based on last known data * @@ -5831,14 +5823,14 @@ update_ks_state(kstat_t *ksp, int rw) * scsb_freeze() will be called to update SCB info and scsb state. */ if (!(scsb->scsb_state & SCSB_SSB_PRESENT) && - !(scsb->scsb_state & SCSB_FROZEN)) { + !(scsb->scsb_state & SCSB_FROZEN)) { uchar_t data; /* Read the SCB PROM ID */ if (data = scsb_rdwr_register(scsb, I2C_WR_RD, - (uchar_t)SCTRL_PROM_VERSION, 1, &data, 1)) + (uchar_t)SCTRL_PROM_VERSION, 1, &data, 1)) if (scsb_debug & 0x00080002) cmn_err(CE_NOTE, "update_ks_state: SCB/I2C " - "failure %d", data); + "failure %d", data); } mutex_exit(&scsb->scsb_mutex); pks_state = (scsb_ks_state_t *)ksp->ks_data; @@ -5894,7 +5886,7 @@ update_ks_topology(kstat_t *ksp, int rw) scsb = (scsb_state_t *)ksp->ks_private; if (scsb_debug & 0x00080001) cmn_err(CE_NOTE, "update_ks_topology: KS_UPDATE%sset", - scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); + scsb->scsb_state & SCSB_KS_UPDATE ? " " : " not "); /* * Let this succeed based on last known data * @@ -5919,14 +5911,14 @@ update_ks_topology(kstat_t *ksp, int rw) * scsb_freeze() will be called to update SCB info and scsb state. */ if (!(scsb->scsb_state & SCSB_SSB_PRESENT) && - !(scsb->scsb_state & SCSB_FROZEN)) { + !(scsb->scsb_state & SCSB_FROZEN)) { uchar_t data; /* Read the SCB PROM ID */ if (data = scsb_rdwr_register(scsb, I2C_WR_RD, - (uchar_t)SCTRL_PROM_VERSION, 1, &data, 1)) + (uchar_t)SCTRL_PROM_VERSION, 1, &data, 1)) if (scsb_debug & 0x00080002) cmn_err(CE_NOTE, "update_ks_topology: SCB/I2C " - "failure %d", data); + "failure %d", data); } mutex_exit(&scsb->scsb_mutex); pks_topo = (mct_topology_t *)ksp->ks_data; @@ -5952,9 +5944,9 @@ update_ks_topology(kstat_t *ksp, int rw) */ slotnum = tonga_psl_to_ssl(scsb, i+1); val = scsb_fru_op(scsb, SLOT, slotnum, SCTRL_BHLTHY_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); pks_topo->mct_slots[i].fru_health = (val) ? - MCT_HEALTH_OK : MCT_HEALTH_NOK; + MCT_HEALTH_OK : MCT_HEALTH_NOK; } fru_ptr = mct_system_info.fru_info_list[PDU]; for (i = 0; i < pks_topo->max_units[PDU]; ++i, ++fru_ptr) { @@ -6006,15 +5998,15 @@ update_ks_topology(kstat_t *ksp, int rw) if (scsb->scsb_kstat_flag == B_FALSE) { uchar_t data; scsb_blind_read(scsb, I2C_WR_RD, - (uchar_t)SCTRL_PROM_VERSION, 1, &data, 1); + (uchar_t)SCTRL_PROM_VERSION, 1, &data, 1); } pks_topo->mct_scb[i].fru_health = ((scsb->scsb_err_flag == - B_TRUE || scsb->scsb_i2c_errcnt > scsb_err_threshold) - ? MCT_HEALTH_NOK : MCT_HEALTH_OK); + B_TRUE || scsb->scsb_i2c_errcnt > scsb_err_threshold) + ? MCT_HEALTH_NOK : MCT_HEALTH_OK); #ifdef DEBUG if (pks_topo->mct_scb[i].fru_health == MCT_HEALTH_NOK) cmn_err(CE_WARN, "SCSB kstat health:%d", pks_topo-> - mct_scb[i].fru_health); + mct_scb[i].fru_health); #endif scsb->scsb_err_flag = B_FALSE; /* clear error flag once read */ scsb->scsb_kstat_flag = B_FALSE; /* false? read from i2c */ @@ -6112,7 +6104,7 @@ scsb_alloc_i2ctx(i2c_client_hdl_t phandle, uint_t sleep) i2c_transfer_t *tp; if (i2c_transfer_alloc(phandle, &tp, SCSB_DATA_REGISTERS + 2, - SCSB_DATA_REGISTERS + 2, sleep) == I2C_FAILURE) { + SCSB_DATA_REGISTERS + 2, sleep) == I2C_FAILURE) { return (NULL); } return (tp); @@ -6137,7 +6129,7 @@ update_fru_info(scsb_state_t *scsb, fru_info_t *fru_ptr) if (scsb_debug & 0x00100001) cmn_err(CE_NOTE, "update_fru_info(scsb,0x%p)", fru_ptr); if (fru_ptr == (fru_info_t *)NULL || - fru_ptr->i2c_info == (fru_i2c_info_t *)NULL) + fru_ptr->i2c_info == (fru_i2c_info_t *)NULL) return; /* * If this is an Alarm Card update, then we also need to get @@ -6188,19 +6180,19 @@ update_fru_info(scsb_state_t *scsb, fru_info_t *fru_ptr) if (acslot_ptr->fru_status == FRU_PRESENT) /* for now it's unknown */ acslot_ptr->fru_type = - (scsb_utype_t)OC_UNKN; + (scsb_utype_t)OC_UNKN; else acslot_ptr->fru_type = - (scsb_utype_t)OC_UNKN; + (scsb_utype_t)OC_UNKN; } } } if (scsb_debug & 0x00100000) cmn_err(CE_NOTE, - "update_fru_info: type %d unit %d is %spresent", - fru_ptr->fru_type, fru_ptr->fru_unit, - fru_ptr->fru_status == FRU_PRESENT - ? "" : "not "); + "update_fru_info: type %d unit %d is %spresent", + fru_ptr->fru_type, fru_ptr->fru_unit, + fru_ptr->fru_status == FRU_PRESENT + ? "" : "not "); } /* @@ -6224,7 +6216,7 @@ scsb_debug_prnt(char *fmt, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5) { if (scsb_debug & 0x8000 || - (*fmt == 'X' && scsb_debug & 0x00010000)) { + (*fmt == 'X' && scsb_debug & 0x00010000)) { if (*fmt == 'X') ++fmt; prom_printf("scsb: "); @@ -6255,18 +6247,19 @@ signal_evc_procs(scsb_state_t *scsb) if (proc_signal(evc_procs[i], SIGPOLL)) { if (scsb_debug & 0x02000002) cmn_err(CE_WARN, - "scsb:signal_evc_procs: " - "signal to %d failed", - ((struct pid *)evc_procs[i])->pid_id); + "scsb:signal_evc_procs: " + "signal to %d failed", + ((struct pid *) + evc_procs[i])->pid_id); (void) del_event_proc(scsb, - ((struct pid *)evc_procs[i])->pid_id); + ((struct pid *)evc_procs[i])->pid_id); } if (++c >= evc_proc_count) { if (scsb_debug & 0x02000000) { cmn_err(CE_NOTE, - "signal_evc_procs: signaled " - "%d/%d processes", c, - evc_proc_count); + "signal_evc_procs: signaled " + "%d/%d processes", c, + evc_proc_count); } break; } @@ -6313,7 +6306,7 @@ add_event_code(scsb_state_t *scsb, uint32_t event_code) } if (scsb_debug & 0x01000000) { cmn_err(CE_NOTE, "add_event_code: 0x%x, FIFO size = %d", - event_code, evc_fifo_count); + event_code, evc_fifo_count); } signal_evc_procs(scsb); } @@ -6333,7 +6326,7 @@ del_event_code() --evc_fifo_count; if (scsb_debug & 0x01000000) { cmn_err(CE_NOTE, "del_event_code: 0x%x, FIFO size = %d", - evc, evc_fifo_count); + evc, evc_fifo_count); } return (evc); } @@ -6372,8 +6365,8 @@ add_event_proc(scsb_state_t *scsb, pid_t pid) if (curr_pid != pid) { if (scsb_debug & 0x02000000) { cmn_err(CE_WARN, - "add_event_proc: current %d != requestor %d", - curr_pid, pid); + "add_event_proc: current %d != requestor %d", + curr_pid, pid); } else { proc_unref(curr_proc); return (1); @@ -6385,8 +6378,8 @@ add_event_proc(scsb_state_t *scsb, pid_t pid) evc_proc_count++; if (scsb_debug & 0x02000000) { cmn_err(CE_NOTE, - "add_event_proc: %d; evc_proc_count=%d", - pid, evc_proc_count); + "add_event_proc: %d; evc_proc_count=%d", + pid, evc_proc_count); } return (0); } @@ -6425,8 +6418,8 @@ del_event_proc(scsb_state_t *scsb, pid_t pid) } if (scsb_debug & 0x02000000) { cmn_err(CE_NOTE, - "del_event_proc: %d; evc_proc_count=%d", - pid, evc_proc_count); + "del_event_proc: %d; evc_proc_count=%d", + pid, evc_proc_count); } proc_unref(this_proc); return (0); @@ -6449,7 +6442,7 @@ rew_event_proc(scsb_state_t *scsb) int i = 0; if (scsb_debug & 0x02000001) { cmn_err(CE_NOTE, "rew_event_proc: evc_proc_count=%d", - evc_proc_count); + evc_proc_count); } for (; i < EVC_PROCS_MAX; ++i) { if (evc_procs[i] != NULL) { @@ -6536,8 +6529,8 @@ check_event_procs(uint32_t *return_evc) } if (scsb_debug & 0x02000000) { cmn_err(CE_NOTE, "check_event_procs: pid=%d, evc=0x%x, " - "requests=%d, returning 0x%x", curr_pid, - *return_evc, evc_requests, return_val); + "requests=%d, returning 0x%x", curr_pid, + *return_evc, evc_requests, return_val); } return (return_val); } @@ -6548,12 +6541,12 @@ scsb_queue_put(queue_t *rq, int count, uint32_t *data, char *caller) mblk_t *mp; if (scsb_debug & 0x4001) { cmn_err(CE_NOTE, "scsb_queue_put(0x%p, %d, 0x%x, %s)", - rq, count, *data, caller); + rq, count, *data, caller); } mp = allocb(sizeof (uint32_t) * count, BPRI_HI); if (mp == NULL) { cmn_err(CE_WARN, "%s: allocb failed", - caller); + caller); return (B_FALSE); } while (count--) { @@ -6579,8 +6572,8 @@ scsb_queue_ops(scsb_state_t *scsb, switch (op) { case QPUT_INT32: if (scsb->scsb_opens && scsb->scsb_rq != NULL && - scsb_queue_put(scsb->scsb_rq, oparg, - (uint32_t *)opdata, caller) == B_FALSE) { + scsb_queue_put(scsb->scsb_rq, oparg, + (uint32_t *)opdata, caller) == B_FALSE) { return (QOP_FAILED); } /*FALLTHROUGH*/ /* to look for opened clones */ @@ -6602,7 +6595,7 @@ scsb_queue_ops(scsb_state_t *scsb, if (find_open && clptr->cl_flags & SCSB_OPEN) { if (clptr->cl_rq == NULL) { cmn_err(CE_WARN, "%s: Clone %d has no queue", - caller, clptr->cl_minor); + caller, clptr->cl_minor); return (QOP_FAILED); } switch (op) { @@ -6611,8 +6604,8 @@ scsb_queue_ops(scsb_state_t *scsb, break; case QPUT_INT32: if (scsb_queue_put(clptr->cl_rq, oparg, - (uint32_t *)opdata, caller) - == B_FALSE) { + (uint32_t *)opdata, caller) + == B_FALSE) { retval = QOP_FAILED; } break; @@ -6666,14 +6659,14 @@ scsb_fru_op(scsb_state_t *scsb, scsb_utype_t fru_type, int unit, int base, /* get the global index of the register in this SCSB's address space */ idx = SCSB_REG_INDEX(reg); DEBUG4("scsb_fru_op(start): code=%x, offset=%x, tmp=%x, reg=%x\n", - code, offset, tmp, reg); + code, offset, tmp, reg); switch (op) { case SCSB_FRU_OP_GET_REG: rc = reg; break; case SCSB_FRU_OP_GET_BITVAL: rc = (scsb->scsb_data_reg[idx] & (1 << offset)) - >> offset; + >> offset; break; case SCSB_FRU_OP_GET_REGDATA: rc = scsb->scsb_data_reg[idx]; @@ -6685,7 +6678,7 @@ scsb_fru_op(scsb_state_t *scsb, scsb_utype_t fru_type, int unit, int base, break; } DEBUG4("scsb_fru_op: unit=%x, base=%x, op=%d, rc=%x\n", unit, base, - op, rc); + op, rc); return (rc); } @@ -6712,7 +6705,7 @@ scsb_get_slot_state(scsb_state_t *scsb, int pslotnum, int *rstate) return (DDI_FAILURE); slotnum = tonga_psl_to_ssl(scsb, pslotnum); val = scsb_fru_op(scsb, SLOT, slotnum, SCTRL_SYSCFG_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); if (! val) { *rstate = HPC_SLOT_EMPTY; return (0); @@ -6726,18 +6719,18 @@ scsb_get_slot_state(scsb_state_t *scsb, int pslotnum, int *rstate) if ((rc != EAGAIN) && (rc != DDI_SUCCESS)) return (DDI_FAILURE); val = scsb_fru_op(scsb, SLOT, slotnum, SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); if (val) *rstate = HPC_SLOT_DISCONNECTED; else { if (scsb_fru_op(scsb, SLOT, slotnum, SCTRL_BHLTHY_BASE, - SCSB_FRU_OP_GET_BITVAL)) { + SCSB_FRU_OP_GET_BITVAL)) { *rstate = HPC_SLOT_CONNECTED; } else { cmn_err(CE_WARN, "%s#%d: Reset Not Asserted on " - "Healthy# Failed slot %d!", - ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev), slotnum); + "Healthy# Failed slot %d!", + ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev), slotnum); *rstate = HPC_SLOT_DISCONNECTED; } } @@ -6754,11 +6747,11 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) if (scsb_debug & 0x8001) cmn_err(CE_NOTE, "scsb_reset_slot(%d), flag %x", pslotnum, - reset_flag); + reset_flag); if (scsb->scsb_state & SCSB_FROZEN) return (EAGAIN); if ((i2cxferp = scsb_alloc_i2ctx(scsb->scsb_phandle, - I2C_NOSLEEP)) == NULL) { + I2C_NOSLEEP)) == NULL) { return (ENOMEM); } slotnum = tonga_psl_to_ssl(scsb, pslotnum); @@ -6795,14 +6788,14 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) mutex_enter(&scsb->scsb_mutex); } cmn_err(CE_WARN, "%s#%d: scsb_reset_slot: error" - " reading Reset regs\n", - ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev)); + " reading Reset regs\n", + ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev)); error = DDI_FAILURE; } DEBUG2("pre-reset regs = %x,%x\n", scsb->scsb_data_reg[index], - scsb->scsb_data_reg[index+1]); + scsb->scsb_data_reg[index+1]); if ((reset_flag == SCSB_GET_SLOT_RESET_STATUS) || (error)) { mutex_exit(&scsb->scsb_mutex); scsb_free_i2ctx(scsb->scsb_phandle, i2cxferp); @@ -6810,10 +6803,10 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) } val = scsb_fru_op(scsb, SLOT, slotnum, SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); if (alarm_card) { ac_val = scsb_fru_op(scsb, ALARM, 1, SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); } if (val && (reset_flag == SCSB_RESET_SLOT)) { if (alarm_card) { @@ -6824,7 +6817,7 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) #ifndef lint else DEBUG1("Alarm_RST# not active! " - "Slot%d_RST# active!\n", pslotnum); + "Slot%d_RST# active!\n", pslotnum); #endif } else { condition_exists = 1; @@ -6841,13 +6834,13 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) #ifndef lint else DEBUG1("Alarm_RST# active" - " Slot%d_RST# not active!\n", - pslotnum); + " Slot%d_RST# not active!\n", + pslotnum); #endif } else { condition_exists = 1; DEBUG1("Slot%d_RST# already not active!\n", - pslotnum); + pslotnum); } } @@ -6855,36 +6848,36 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) i2cxferp->i2c_flags = I2C_WR; i2cxferp->i2c_wlen = 2; i2cxferp->i2c_wbuf[0] = scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_RESET_BASE, SCSB_FRU_OP_GET_REG); + SCTRL_RESET_BASE, SCSB_FRU_OP_GET_REG); if (reset_flag == SCSB_RESET_SLOT) { i2cxferp->i2c_wbuf[1] = - scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_REGDATA) | - scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_RESET_BASE, - SCSB_FRU_OP_SET_REGBIT); + scsb_fru_op(scsb, SLOT, slotnum, + SCTRL_RESET_BASE, + SCSB_FRU_OP_GET_REGDATA) | + scsb_fru_op(scsb, SLOT, slotnum, + SCTRL_RESET_BASE, + SCSB_FRU_OP_SET_REGBIT); #ifdef DEBUG /* dont reset Alarm Card line unless in debug mode */ if (alarm_card) i2cxferp->i2c_wbuf[1] |= - scsb_fru_op(scsb, ALARM, 1, - SCTRL_RESET_BASE, - SCSB_FRU_OP_SET_REGBIT); + scsb_fru_op(scsb, ALARM, 1, + SCTRL_RESET_BASE, + SCSB_FRU_OP_SET_REGBIT); #endif } else { i2cxferp->i2c_wbuf[1] = - scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_REGDATA) & - ~(scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_RESET_BASE, - SCSB_FRU_OP_SET_REGBIT)); + scsb_fru_op(scsb, SLOT, slotnum, + SCTRL_RESET_BASE, + SCSB_FRU_OP_GET_REGDATA) & + ~(scsb_fru_op(scsb, SLOT, slotnum, + SCTRL_RESET_BASE, + SCSB_FRU_OP_SET_REGBIT)); #ifdef DEBUG /* dont Unreset Alarm Card line unless in debug mode */ if (alarm_card) i2cxferp->i2c_wbuf[1] &= - scsb_fru_op(scsb, ALARM, 1, - SCTRL_RESET_BASE, - SCSB_FRU_OP_SET_REGBIT); + scsb_fru_op(scsb, ALARM, 1, + SCTRL_RESET_BASE, + SCSB_FRU_OP_SET_REGBIT); #endif } @@ -6898,10 +6891,10 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) scsb_freeze(scsb); } cmn_err(CE_WARN, "%s#%d: reset_slot: error writing to" - " Reset regs (op=%d, data=%x)\n", - ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev), - reset_flag, i2cxferp->i2c_wbuf[1]); + " Reset regs (op=%d, data=%x)\n", + ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev), + reset_flag, i2cxferp->i2c_wbuf[1]); scsb_free_i2ctx(scsb->scsb_phandle, i2cxferp); return (DDI_FAILURE); } @@ -6913,7 +6906,7 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) i2cxferp->i2c_wbuf[0] = reg; i2cxferp->i2c_wlen = 1; if ((error = nct_i2c_transfer(scsb->scsb_phandle, - i2cxferp)) == 0) { + i2cxferp)) == 0) { scsb->scsb_i2c_errcnt = 0; scsb->scsb_data_reg[index] = i2cxferp->i2c_rbuf[0]; scsb->scsb_data_reg[index+1] = i2cxferp->i2c_rbuf[1]; @@ -6927,48 +6920,48 @@ scsb_reset_slot(scsb_state_t *scsb, int pslotnum, int reset_flag) scsb_freeze(scsb); } cmn_err(CE_WARN, "%s#%d: scsb_reset_slot: error" - " reading Reset regs (post reset)\n", - ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev)); + " reading Reset regs (post reset)\n", + ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev)); scsb_free_i2ctx(scsb->scsb_phandle, i2cxferp); return (DDI_FAILURE); } /* XXX: P1.5 */ DEBUG2("post-reset regs = %x,%x\n", scsb->scsb_data_reg[index], - scsb->scsb_data_reg[index+1]); + scsb->scsb_data_reg[index+1]); val = scsb_fru_op(scsb, SLOT, slotnum, SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); #ifdef DEBUG if (alarm_card) ac_val = scsb_fru_op(scsb, ALARM, 1, SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); #endif if (val && (reset_flag == SCSB_UNRESET_SLOT)) { cmn_err(CE_WARN, "Cannot UnReset Slot %d (reg=%x)\n", - pslotnum, - scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_REGDATA)); + pslotnum, + scsb_fru_op(scsb, SLOT, slotnum, + SCTRL_RESET_BASE, + SCSB_FRU_OP_GET_REGDATA)); #ifdef DEBUG if (alarm_card) { if (ac_val) cmn_err(CE_WARN, "Cannot Unreset " - "Alarm_RST#.\n"); + "Alarm_RST#.\n"); } #endif } else if ((val == 0) && (reset_flag == SCSB_RESET_SLOT)) { cmn_err(CE_WARN, "Cannot Reset Slot %d, " - "reg=%x\n", pslotnum, - scsb_fru_op(scsb, SLOT, slotnum, - SCTRL_RESET_BASE, - SCSB_FRU_OP_GET_REGDATA)); + "reg=%x\n", pslotnum, + scsb_fru_op(scsb, SLOT, slotnum, + SCTRL_RESET_BASE, + SCSB_FRU_OP_GET_REGDATA)); #ifdef DEBUG if (alarm_card) { if (!ac_val) cmn_err(CE_WARN, "Cannot reset " - "Alarm_RST#.\n"); + "Alarm_RST#.\n"); } #endif } @@ -7009,7 +7002,7 @@ scsb_connect_slot(scsb_state_t *scsb, int pslotnum, int healthy) if (scsb_read_bhealthy(scsb) != 0) return (DDI_FAILURE); val = scsb_fru_op(scsb, SLOT, slotnum, SCTRL_BHLTHY_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); if (val) { healthy = B_TRUE; break; @@ -7021,12 +7014,12 @@ scsb_connect_slot(scsb_state_t *scsb, int pslotnum, int healthy) if (healthy == B_FALSE && count == scsb_healthy_poll_count) { if (scsb_debug & 0x00004000) cmn_err(CE_WARN, "%s#%d: no HEALTHY# signal on" - " slot %d", ddi_driver_name(scsb->scsb_dev), - ddi_get_instance(scsb->scsb_dev), pslotnum); + " slot %d", ddi_driver_name(scsb->scsb_dev), + ddi_get_instance(scsb->scsb_dev), pslotnum); } if ((scsb_is_alarm_card_slot(scsb, pslotnum) == B_TRUE) && - (scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) + (scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) slot_flag = ALARM_CARD_ON_SLOT; return (hsc_slot_occupancy(pslotnum, 1, slot_flag, healthy)); } @@ -7054,7 +7047,7 @@ scsb_disconnect_slot(scsb_state_t *scsb, int occupied, int slotnum) * However, hsc module doesn't depend on slot_flag during removal. */ if ((scsb_is_alarm_card_slot(scsb, slotnum) == B_TRUE) && - (scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) + (scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) slot_flag = ALARM_CARD_ON_SLOT; return (hsc_slot_occupancy(slotnum, occupied, slot_flag, B_FALSE)); } @@ -7080,9 +7073,9 @@ scsb_hsc_ac_op(scsb_state_t *scsb, int pslotnum, int op) uint32_t event_code; if (!(scsb->scsb_hsc_state & SCSB_HSC_INIT && - scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) { + scsb->scsb_hsc_state & SCSB_ALARM_CARD_PRES)) { cmn_err(CE_WARN, - "scsb: HSC not initialized or AC not present!"); + "scsb: HSC not initialized or AC not present!"); return (rc); } switch (op) { @@ -7102,7 +7095,7 @@ scsb_hsc_ac_op(scsb_state_t *scsb, int pslotnum, int op) DEBUG0("AC SET BUSY\n"); if (scsb_debug & 0x00010000) { cmn_err(CE_NOTE, - "scsb_hsc_ac_op(SCSB_HSC_AC_SET_BUSY)"); + "scsb_hsc_ac_op(SCSB_HSC_AC_SET_BUSY)"); } scsb->scsb_hsc_state |= SCSB_ALARM_CARD_IN_USE; rc = B_TRUE; @@ -7122,7 +7115,7 @@ scsb_hsc_ac_op(scsb_state_t *scsb, int pslotnum, int op) */ event_code = SCTRL_EVENT_ALARM_INSERTION; (void) scsb_queue_ops(scsb, QPUT_INT32, 1, - &event_code, "scsb_hsc_ac_op"); + &event_code, "scsb_hsc_ac_op"); rc = B_TRUE; break; @@ -7140,7 +7133,7 @@ scsb_hsc_ac_op(scsb_state_t *scsb, int pslotnum, int op) */ event_code = SCTRL_EVENT_ALARM_REMOVAL; (void) scsb_queue_ops(scsb, QPUT_INT32, 1, - &event_code, "scsb_hsc_ac_op"); + &event_code, "scsb_hsc_ac_op"); rc = B_TRUE; break; @@ -7149,8 +7142,8 @@ scsb_hsc_ac_op(scsb_state_t *scsb, int pslotnum, int op) DEBUG0("AC unconfigure\n"); if (scsb_debug & 0x00010000) { cmn_err(CE_NOTE, - "scsb_hsc_ac_op(SCSB_HSC_AC_UNCONFIG" - "URE), AC NOT BUSY"); + "scsb_hsc_ac_op(SCSB_HSC_AC_UNCONFIG" + "URE), AC NOT BUSY"); } /* * send notification back to HSC to @@ -7159,7 +7152,7 @@ scsb_hsc_ac_op(scsb_state_t *scsb, int pslotnum, int op) */ scsb->scsb_hsc_state &= ~SCSB_ALARM_CARD_IN_USE; hsc_ac_op(scsb->scsb_instance, pslotnum, - SCSB_HSC_AC_UNCONFIGURE, NULL); + SCSB_HSC_AC_UNCONFIGURE, NULL); rc = B_TRUE; break; default: @@ -7186,16 +7179,16 @@ scsb_healthy_intr(scsb_state_t *scsb, int pslotnum) if (pslotnum > TG_MAX_SLOTS || pslotnum == SC_TG_CPU_SLOT) { if (scsb_debug & 0x08000000) cmn_err(CE_NOTE, "Healthy interrupt bit set for" - " slot %d", pslotnum); + " slot %d", pslotnum); return; } } else { if (pslotnum > MC_MAX_SLOTS || pslotnum == SC_MC_CPU_SLOT || - (scsb->scsb_hsc_state & SCSB_HSC_CTC_PRES && - pslotnum == SC_MC_CTC_SLOT)) { + (scsb->scsb_hsc_state & SCSB_HSC_CTC_PRES && + pslotnum == SC_MC_CTC_SLOT)) { if (scsb_debug & 0x08000000) cmn_err(CE_NOTE, "Healthy interrupt bit set for" - " slot %d", pslotnum); + " slot %d", pslotnum); return; } } @@ -7210,7 +7203,7 @@ scsb_healthy_intr(scsb_state_t *scsb, int pslotnum) * P1.5. Following works since slots 1 through 8 are in the same reg */ val = scsb_fru_op(scsb, SLOT, slotnum, SCTRL_BHLTHY_BASE, - SCSB_FRU_OP_GET_BITVAL); + SCSB_FRU_OP_GET_BITVAL); if (val) healthy = B_TRUE; scsb_hsc_board_healthy(pslotnum, healthy); @@ -7229,7 +7222,7 @@ scsb_blind_read(scsb_state_t *scsb, int op, uchar_t reg, int len, if (scsb_debug & 0x0800) { cmn_err(CE_NOTE, "scsb_rdwr_register(scsb,%s,%x,%x,buf):", - (op == I2C_WR) ? "write" : "read", reg, len); + (op == I2C_WR) ? "write" : "read", reg, len); } if (i2c_alloc) { @@ -7237,7 +7230,7 @@ scsb_blind_read(scsb_state_t *scsb, int op, uchar_t reg, int len, if (i2cxferp == NULL) { if (scsb_debug & 0x0042) cmn_err(CE_WARN, "scsb_rdwr_register: " - "i2ctx allocation failure"); + "i2ctx allocation failure"); return (ENOMEM); } } else { @@ -7253,7 +7246,7 @@ scsb_blind_read(scsb_state_t *scsb, int op, uchar_t reg, int len, if (scsb_debug & 0x0080) cmn_err(CE_NOTE, "scsb_rdwr_register: writing rwbuf[%d]=0x%x", - i, rwbuf[i]); + i, rwbuf[i]); } break; case I2C_WR_RD: @@ -7281,7 +7274,7 @@ scsb_blind_read(scsb_state_t *scsb, int op, uchar_t reg, int len, if (scsb_debug & 0x0080) cmn_err(CE_NOTE, "scsb_rdwr_register: read rwbuf[%d]=0x%x", - i, rwbuf[i]); + i, rwbuf[i]); } } if (i2c_alloc) @@ -7328,7 +7321,7 @@ scsb_quiesce_psmint(scsb_state_t *scsb) clr_bits = 1 << offset; error = scsb_rdwr_register(scsb, I2C_WR_RD, tmp_reg, - 1, &scb_intr_regs[intr_idx], 0); + 1, &scb_intr_regs[intr_idx], 0); /* * Now mask the global PSM_INT and write INIT_SCB in case * this is an INIT_SCB interrupt @@ -7337,7 +7330,7 @@ scsb_quiesce_psmint(scsb_state_t *scsb) i = SYS_REG_INDEX(SCTRL_SYS_SCB_INIT, SCTRL_SYS_CMD_BASE); reg = SCSB_REG_ADDR(i); error = scsb_rdwr_register(scsb, I2C_WR, reg, 1, - &wdata, 0); + &wdata, 0); if (scb_intr_regs[intr_idx] & clr_bits) { /* @@ -7345,15 +7338,15 @@ scsb_quiesce_psmint(scsb_state_t *scsb) * first to keep SCB_INIT from keeping PSM_INT asserted. */ error = scsb_rdwr_register(scsb, I2C_WR, tmp_reg, - 1, &clr_bits, 0); + 1, &clr_bits, 0); } if (error) { cmn_err(CE_WARN, "scsb%d:scsb_quiesce_psmint: " - " I2C TRANSFER Failed", scsb->scsb_instance); + " I2C TRANSFER Failed", scsb->scsb_instance); if (scsb_debug & 0x0006) { cmn_err(CE_NOTE, "scsb_attach: " - " failed to set SCB_INIT"); + " failed to set SCB_INIT"); } } scsb->scsb_state &= ~SCSB_PSM_INT_ENABLED; @@ -7364,9 +7357,9 @@ scsb_quiesce_psmint(scsb_state_t *scsb) */ /* read the interrupt register from scsb */ if (error = scsb_rdwr_register(scsb, I2C_WR_RD, intr_addr, - SCTRL_INTR_NUMREGS, scb_intr_regs, 0)) { + SCTRL_INTR_NUMREGS, scb_intr_regs, 0)) { cmn_err(CE_WARN, "scsb_intr: " - " Failed read of interrupt registers."); + " Failed read of interrupt registers."); scsb->scsb_state &= ~SCSB_IN_INTR; } @@ -7375,9 +7368,9 @@ scsb_quiesce_psmint(scsb_state_t *scsb) * from interrupting. */ if (error = scsb_rdwr_register(scsb, I2C_WR, intr_addr, - SCTRL_INTR_NUMREGS, scb_intr_regs, 0)) { + SCTRL_INTR_NUMREGS, scb_intr_regs, 0)) { cmn_err(CE_WARN, "scsb_intr: Failed write to interrupt" - " registers."); + " registers."); scsb->scsb_state &= ~SCSB_IN_INTR; } @@ -7409,7 +7402,7 @@ scsb_toggle_psmint(scsb_state_t *scsb, int enable) reg = SCSB_REG_ADDR(i); if (scsb_write_mask(scsb, reg, rmask, on, off)) { cmn_err(CE_WARN, "scsb_toggle_psmint: Cannot turn %s PSM_INT", - enable == 1 ? "on" : "off"); + enable == 1 ? "on" : "off"); return (DDI_FAILURE); } if (enable == 0) { diff --git a/usr/src/uts/sun4u/mpxu/io/tsalarm.c b/usr/src/uts/sun4u/mpxu/io/tsalarm.c index 101eab2d35..7c56f1d63f 100644 --- a/usr/src/uts/sun4u/mpxu/io/tsalarm.c +++ b/usr/src/uts/sun4u/mpxu/io/tsalarm.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/stat.h> @@ -92,7 +90,8 @@ static struct dev_ops tsalarm_ops = { nodev, /* reset */ &tsalarm_cb_ops, /* pointer to cb_ops structure */ (struct bus_ops *)NULL, - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_needed, /* quiesce() */ }; /* @@ -103,7 +102,7 @@ static void *statep; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is a driver */ - "tsalarm control driver v%I%", /* Name of the module */ + "tsalarm control driver", /* Name of the module */ &tsalarm_ops /* pointer to the dev_ops structure */ }; @@ -212,7 +211,7 @@ tsalarm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * the device's softc, is used to direct peculiar behavior. */ if (ddi_create_minor_node(dip, "lom", S_IFCHR, 0, - DDI_PSEUDO, NULL) == DDI_FAILURE) + DDI_PSEUDO, NULL) == DDI_FAILURE) goto attach_failed; ddi_report_dev(dip); @@ -308,14 +307,14 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case LOMIOCALSTATE_OLD: { if (ddi_copyin((caddr_t)arg, (caddr_t)&ts_alinfo, - sizeof (ts_aldata_t), mode) != 0) { + sizeof (ts_aldata_t), mode) != 0) { retval = EFAULT; goto end; } alarm_type = ts_alinfo.alarm_no; if ((alarm_type < ALARM_CRITICAL) || - (alarm_type > ALARM_USER)) { + (alarm_type > ALARM_USER)) { retval = EINVAL; goto end; } @@ -332,7 +331,7 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, ts_alinfo.alarm_state = alarm_state; if (ddi_copyout((caddr_t)&ts_alinfo, (caddr_t)arg, - sizeof (ts_aldata_t), mode) != 0) { + sizeof (ts_aldata_t), mode) != 0) { retval = EFAULT; goto end; } @@ -344,7 +343,7 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case LOMIOCALCTL_OLD: { if (ddi_copyin((caddr_t)arg, (caddr_t)&ts_alinfo, - sizeof (ts_aldata_t), mode) != 0) { + sizeof (ts_aldata_t), mode) != 0) { retval = EFAULT; goto end; } @@ -353,12 +352,12 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, alarm_state = ts_alinfo.alarm_state; if ((alarm_type < ALARM_CRITICAL) || - (alarm_type > ALARM_USER)) { + (alarm_type > ALARM_USER)) { retval = EINVAL; goto end; } if ((alarm_state < ALARM_OFF) || - (alarm_state > ALARM_ON)) { + (alarm_state > ALARM_ON)) { retval = EINVAL; goto end; } diff --git a/usr/src/uts/sun4u/ngdr/io/dr.c b/usr/src/uts/sun4u/ngdr/io/dr.c index 6eb5d588fd..e25d84cdc6 100644 --- a/usr/src/uts/sun4u/ngdr/io/dr.c +++ b/usr/src/uts/sun4u/ngdr/io/dr.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * PIM-DR layer of DR driver. Provides interface between user @@ -416,14 +415,15 @@ struct dev_ops dr_dev_ops = { nodev, /* reset */ &dr_cb_ops, /* cb_ops */ (struct bus_ops *)NULL, /* bus ops */ - NULL /* power */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "Dynamic Reconfiguration %I%", + "Dynamic Reconfiguration", &dr_dev_ops }; @@ -449,7 +449,7 @@ _init(void) * soft state structure each time a node is attached. */ err = ddi_soft_state_init((void **)&dr_g.softsp, - sizeof (dr_softstate_t), 1); + sizeof (dr_softstate_t), 1); if (err) return (err); @@ -608,12 +608,12 @@ dr_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, /* translate canonical name to component type */ if (hp->h_sbdcmd.cmd_cm.c_id.c_name[0] != '\0') { hp->h_sbdcmd.cmd_cm.c_id.c_type = - dr_dev_type_to_nt(hp->h_sbdcmd.cmd_cm.c_id.c_name); + dr_dev_type_to_nt(hp->h_sbdcmd.cmd_cm.c_id.c_name); PR_ALL("%s: c_name = %s, c_type = %d\n", - f, - hp->h_sbdcmd.cmd_cm.c_id.c_name, - hp->h_sbdcmd.cmd_cm.c_id.c_type); + f, + hp->h_sbdcmd.cmd_cm.c_id.c_name, + hp->h_sbdcmd.cmd_cm.c_id.c_type); } else { /*EMPTY*/ PR_ALL("%s: c_name is NULL\n", f); @@ -678,7 +678,7 @@ dr_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, /* Board changed state. Log a sysevent. */ if (rv == 0) (void) drmach_log_sysevent(hp->h_bd->b_num, "", - SE_SLEEP, 1); + SE_SLEEP, 1); /* Fall through */ default: @@ -721,7 +721,7 @@ dr_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) rv = ddi_soft_state_zalloc(dr_g.softsp, instance); if (rv != DDI_SUCCESS) { cmn_err(CE_WARN, "dr%d: failed to alloc soft-state", - instance); + instance); return (DDI_FAILURE); } @@ -768,7 +768,7 @@ dr_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) minor_num = DR_MAKE_MINOR(instance, bd); rv = ddi_create_minor_node(dip, name, S_IFCHR, - minor_num, DDI_NT_SBD_ATTACHMENT_POINT, NULL); + minor_num, DDI_NT_SBD_ATTACHMENT_POINT, NULL); if (rv != DDI_SUCCESS) rv = DDI_FAILURE; } @@ -786,9 +786,9 @@ dr_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ dr_unsafe_devs.devnames = NULL; rv2 = ddi_prop_lookup_string_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, - "unsupported-io-drivers", &dr_unsafe_devs.devnames, - &dr_unsafe_devs.ndevs); + DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, + "unsupported-io-drivers", &dr_unsafe_devs.devnames, + &dr_unsafe_devs.ndevs); if (rv2 != DDI_PROP_SUCCESS) dr_unsafe_devs.ndevs = 0; @@ -900,16 +900,16 @@ dr_copyin_iocmd(dr_handle_t *hp) bzero((caddr_t)&scmd32, sizeof (sbd_cmd32_t)); if (ddi_copyin((void *)hp->h_iap, (void *)&scmd32, - sizeof (sbd_cmd32_t), hp->h_mode)) { + sizeof (sbd_cmd32_t), hp->h_mode)) { cmn_err(CE_WARN, - "%s: (32bit) failed to copyin " - "sbdcmd-struct", f); + "%s: (32bit) failed to copyin " + "sbdcmd-struct", f); return (EFAULT); } scp->cmd_cm.c_id.c_type = scmd32.cmd_cm.c_id.c_type; scp->cmd_cm.c_id.c_unit = scmd32.cmd_cm.c_id.c_unit; bcopy(&scmd32.cmd_cm.c_id.c_name[0], - &scp->cmd_cm.c_id.c_name[0], OBP_MAXPROPNAME); + &scp->cmd_cm.c_id.c_name[0], OBP_MAXPROPNAME); scp->cmd_cm.c_flags = scmd32.cmd_cm.c_flags; scp->cmd_cm.c_len = scmd32.cmd_cm.c_len; scp->cmd_cm.c_opts = (caddr_t)(uintptr_t)scmd32.cmd_cm.c_opts; @@ -918,7 +918,7 @@ dr_copyin_iocmd(dr_handle_t *hp) case SBD_CMD_STATUS: scp->cmd_stat.s_nbytes = scmd32.cmd_stat.s_nbytes; scp->cmd_stat.s_statp = - (caddr_t)(uintptr_t)scmd32.cmd_stat.s_statp; + (caddr_t)(uintptr_t)scmd32.cmd_stat.s_statp; break; default: break; @@ -927,9 +927,9 @@ dr_copyin_iocmd(dr_handle_t *hp) } else #endif /* _MULTI_DATAMODEL */ if (ddi_copyin((void *)hp->h_iap, (void *)scp, - sizeof (sbd_cmd_t), hp->h_mode) != 0) { + sizeof (sbd_cmd_t), hp->h_mode) != 0) { cmn_err(CE_WARN, - "%s: failed to copyin sbdcmd-struct", f); + "%s: failed to copyin sbdcmd-struct", f); return (EFAULT); } @@ -937,8 +937,8 @@ dr_copyin_iocmd(dr_handle_t *hp) hp->h_opts.copts = GETSTRUCT(char, scp->cmd_cm.c_len + 1); ++hp->h_opts.size; if (ddi_copyin((void *)scp->cmd_cm.c_opts, - (void *)hp->h_opts.copts, - scp->cmd_cm.c_len, hp->h_mode) != 0) { + (void *)hp->h_opts.copts, + scp->cmd_cm.c_len, hp->h_mode) != 0) { cmn_err(CE_WARN, "%s: failed to copyin options", f); return (EFAULT); } @@ -962,7 +962,7 @@ dr_copyout_iocmd(dr_handle_t *hp) scmd32.cmd_cm.c_id.c_type = scp->cmd_cm.c_id.c_type; scmd32.cmd_cm.c_id.c_unit = scp->cmd_cm.c_id.c_unit; bcopy(&scp->cmd_cm.c_id.c_name[0], - &scmd32.cmd_cm.c_id.c_name[0], OBP_MAXPROPNAME); + &scmd32.cmd_cm.c_id.c_name[0], OBP_MAXPROPNAME); scmd32.cmd_cm.c_flags = scp->cmd_cm.c_flags; scmd32.cmd_cm.c_len = scp->cmd_cm.c_len; @@ -977,18 +977,18 @@ dr_copyout_iocmd(dr_handle_t *hp) } if (ddi_copyout((void *)&scmd32, (void *)hp->h_iap, - sizeof (sbd_cmd32_t), hp->h_mode)) { + sizeof (sbd_cmd32_t), hp->h_mode)) { cmn_err(CE_WARN, - "%s: (32bit) failed to copyout " - "sbdcmd-struct", f); + "%s: (32bit) failed to copyout " + "sbdcmd-struct", f); return (EFAULT); } } else #endif /* _MULTI_DATAMODEL */ if (ddi_copyout((void *)scp, (void *)hp->h_iap, - sizeof (sbd_cmd_t), hp->h_mode) != 0) { + sizeof (sbd_cmd_t), hp->h_mode) != 0) { cmn_err(CE_WARN, - "%s: failed to copyout sbdcmd-struct", f); + "%s: failed to copyout sbdcmd-struct", f); return (EFAULT); } @@ -1005,7 +1005,7 @@ dr_copyout_errs(dr_handle_t *hp) if (hp->h_err->e_code) { PR_ALL("%s: error %d %s", - f, hp->h_err->e_code, hp->h_err->e_rsc); + f, hp->h_err->e_code, hp->h_err->e_rsc); } #ifdef _MULTI_DATAMODEL @@ -1016,22 +1016,22 @@ dr_copyout_errs(dr_handle_t *hp) serr32p->e_code = hp->h_err->e_code; bcopy(&hp->h_err->e_rsc[0], &serr32p->e_rsc[0], - MAXPATHLEN); + MAXPATHLEN); if (ddi_copyout((void *)serr32p, - (void *)&((sbd_ioctl_arg32_t *)hp->h_iap)->i_err, - sizeof (sbd_error32_t), hp->h_mode)) { + (void *)&((sbd_ioctl_arg32_t *)hp->h_iap)->i_err, + sizeof (sbd_error32_t), hp->h_mode)) { cmn_err(CE_WARN, - "%s: (32bit) failed to copyout", f); + "%s: (32bit) failed to copyout", f); return (EFAULT); } FREESTRUCT(serr32p, sbd_error32_t, 1); } else #endif /* _MULTI_DATAMODEL */ if (ddi_copyout((void *)hp->h_err, - (void *)&hp->h_iap->i_err, - sizeof (sbd_error_t), hp->h_mode)) { + (void *)&hp->h_iap->i_err, + sizeof (sbd_error_t), hp->h_mode)) { cmn_err(CE_WARN, - "%s: failed to copyout", f); + "%s: failed to copyout", f); return (EFAULT); } @@ -1063,7 +1063,7 @@ dr_pre_op(dr_handle_t *hp) hp->h_err = drmach_pre_op(cmd, bp->b_id, &hp->h_opts); if (hp->h_err != NULL) { PR_ALL("drmach_pre_op failed for cmd %s(%d)\n", - SBD_CMD_STR(cmd), cmd); + SBD_CMD_STR(cmd), cmd); return (-1); } @@ -1086,19 +1086,19 @@ dr_pre_op(dr_handle_t *hp) dr_op_err(CE_IGNORE, hp, ESBD_INVAL, NULL); serr = -1; PR_ALL("%s: invalid devset (0x%x)\n", - f, (uint_t)devset); + f, (uint_t)devset); } else if (state_err != 0) { /* * State transition is not a valid one. */ dr_op_err(CE_IGNORE, hp, - transp->x_op[state_err].x_err, NULL); + transp->x_op[state_err].x_err, NULL); serr = transp->x_op[state_err].x_rv; PR_ALL("%s: invalid state %s(%d) for cmd %s(%d)\n", - f, state_str[state_err], state_err, - SBD_CMD_STR(cmd), cmd); + f, state_str[state_err], state_err, + SBD_CMD_STR(cmd), cmd); } else { shp->h_devset = devset; } @@ -1129,7 +1129,7 @@ dr_post_op(dr_handle_t *hp) hp->h_err = drmach_post_op(cmd, bp->b_id, &hp->h_opts); if (hp->h_err != NULL) { PR_ALL("drmach_post_op failed for cmd %s(%d)\n", - SBD_CMD_STR(cmd), cmd); + SBD_CMD_STR(cmd), cmd); return (-1); } @@ -1214,8 +1214,8 @@ dr_exec_op(dr_handle_t *hp) default: cmn_err(CE_WARN, - "%s: unknown command (%d)", - f, hp->h_cmd); + "%s: unknown command (%d)", + f, hp->h_cmd); break; } @@ -1355,7 +1355,7 @@ dr_connect(dr_handle_t *hp) * Board already has devices present. */ PR_ALL("%s: devices already present (0x%lx)\n", - f, DR_DEVS_PRESENT(bp)); + f, DR_DEVS_PRESENT(bp)); return; } @@ -1391,7 +1391,7 @@ dr_disconnect(dr_handle_t *hp) * unattached can be disconnected. */ devset = hp->h_devset & DR_DEVS_PRESENT(bp) & - DR_DEVS_UNATTACHED(bp); + DR_DEVS_UNATTACHED(bp); if ((devset == 0) && DR_DEVS_PRESENT(bp)) { dr_op_err(CE_IGNORE, hp, ESBD_EMPTY_BD, bp->b_path); @@ -1475,11 +1475,11 @@ dr_disconnect(dr_handle_t *hp) * changed to avoid the e_code testing. */ if ((hp->h_err->e_code == ESTC_MBXRPLY) || - (hp->h_err->e_code == ESTC_MBXRQST) || - (hp->h_err->e_code == ESTC_SMS_ERR_UNRECOVERABLE) || - (hp->h_err->e_code == ESTC_SMS_ERR_RECOVERABLE) || - (hp->h_err->e_code == ESTC_DEPROBE) || - (hp->h_err->e_code == EOPL_DEPROBE)) { + (hp->h_err->e_code == ESTC_MBXRQST) || + (hp->h_err->e_code == ESTC_SMS_ERR_UNRECOVERABLE) || + (hp->h_err->e_code == ESTC_SMS_ERR_RECOVERABLE) || + (hp->h_err->e_code == ESTC_DEPROBE) || + (hp->h_err->e_code == EOPL_DEPROBE)) { bp->b_ostate = SBD_STAT_UNCONFIGURED; bp->b_busy = 0; (void) drv_getparm(TIME, (void *)&bp->b_time); @@ -1752,7 +1752,7 @@ dr_attach_update_state(dr_handle_t *hp, if (dr_check_unit_attached(cp) == -1) { PR_ALL("%s: ERROR %s not attached\n", - f, cp->sbdev_path); + f, cp->sbdev_path); continue; } @@ -1817,25 +1817,25 @@ dr_dev_configure(dr_handle_t *hp) int rv; rv = dr_dev_walk(hp, SBD_COMP_CPU, 1, - dr_pre_attach_cpu, - dr_attach_cpu, - dr_post_attach_cpu, - dr_attach_update_state); + dr_pre_attach_cpu, + dr_attach_cpu, + dr_post_attach_cpu, + dr_attach_update_state); if (rv >= 0) { rv = dr_dev_walk(hp, SBD_COMP_MEM, 1, - dr_pre_attach_mem, - dr_attach_mem, - dr_post_attach_mem, - dr_attach_update_state); + dr_pre_attach_mem, + dr_attach_mem, + dr_post_attach_mem, + dr_attach_update_state); } if (rv >= 0) { (void) dr_dev_walk(hp, SBD_COMP_IO, 1, - dr_pre_attach_io, - dr_attach_io, - dr_post_attach_io, - dr_attach_update_state); + dr_pre_attach_io, + dr_attach_io, + dr_post_attach_io, + dr_attach_update_state); } } @@ -1853,7 +1853,7 @@ dr_release_update_state(dr_handle_t *hp, * unreferenced then transfer it to the UNREFERENCED state. */ if ((bp->b_state != DR_STATE_RELEASE) && - (DR_DEVS_RELEASED(bp) == DR_DEVS_ATTACHED(bp))) { + (DR_DEVS_RELEASED(bp) == DR_DEVS_ATTACHED(bp))) { dr_board_transition(bp, DR_STATE_RELEASE); hp->h_bd->b_busy = 1; } @@ -1914,7 +1914,7 @@ dr_release_done(dr_handle_t *hp, dr_common_unit_t *cp) * attached, then transfer the board to the RELEASE state. */ if ((bp->b_state == DR_STATE_RELEASE) && - (DR_DEVS_RELEASED(bp) == DR_DEVS_UNREFERENCED(bp))) { + (DR_DEVS_RELEASED(bp) == DR_DEVS_UNREFERENCED(bp))) { dr_board_transition(bp, DR_STATE_UNREFERENCED); bp->b_busy = 1; (void) drv_getparm(TIME, (void *)&bp->b_time); @@ -1936,25 +1936,25 @@ dr_dev_release(dr_handle_t *hp) hp->h_bd->b_busy = 1; rv = dr_dev_walk(hp, SBD_COMP_CPU, 0, - dr_pre_release_cpu, - dr_release_done, - dr_dev_noop, - dr_release_update_state); + dr_pre_release_cpu, + dr_release_done, + dr_dev_noop, + dr_release_update_state); if (rv >= 0) { rv = dr_dev_walk(hp, SBD_COMP_MEM, 0, - dr_pre_release_mem, - dr_dev_release_mem, - dr_dev_noop, - dr_release_update_state); + dr_pre_release_mem, + dr_dev_release_mem, + dr_dev_noop, + dr_release_update_state); } if (rv >= 0) { rv = dr_dev_walk(hp, SBD_COMP_IO, 0, - dr_pre_release_io, - dr_release_done, - dr_dev_noop, - dr_release_update_state); + dr_pre_release_io, + dr_release_done, + dr_dev_noop, + dr_release_update_state); } @@ -1981,7 +1981,7 @@ dr_detach_update_state(dr_handle_t *hp, * to an error. Need to keep track of it. */ PR_ALL("%s: ERROR %s not detached\n", - f, cp->sbdev_path); + f, cp->sbdev_path); continue; } @@ -2002,8 +2002,8 @@ dr_detach_update_state(dr_handle_t *hp, hp->h_bd->b_ostate = SBD_STAT_UNCONFIGURED; (void) drv_getparm(TIME, (void *)&hp->h_bd->b_time); } else if ((bp->b_state != DR_STATE_PARTIAL) && - (DR_DEVS_ATTACHED(bp) != - DR_DEVS_PRESENT(bp))) { + (DR_DEVS_ATTACHED(bp) != + DR_DEVS_PRESENT(bp))) { /* * Some devices remain attached. */ @@ -2035,24 +2035,24 @@ dr_dev_unconfigure(dr_handle_t *hp) mutex_exit(&bp->b_slock); (void) dr_dev_walk(hp, SBD_COMP_IO, 0, - dr_pre_detach_io, - dr_detach_io, - dr_post_detach_io, - dr_detach_update_state); + dr_pre_detach_io, + dr_detach_io, + dr_post_detach_io, + dr_detach_update_state); dr_unlock_status(bp); (void) dr_dev_walk(hp, SBD_COMP_CPU, 0, - dr_pre_detach_cpu, - dr_detach_cpu, - dr_post_detach_cpu, - dr_detach_update_state); + dr_pre_detach_cpu, + dr_detach_cpu, + dr_post_detach_cpu, + dr_detach_update_state); (void) dr_dev_walk(hp, SBD_COMP_MEM, 0, - dr_pre_detach_mem, - dr_detach_mem, - dr_post_detach_mem, - dr_detach_update_state); + dr_pre_detach_mem, + dr_detach_mem, + dr_post_detach_mem, + dr_detach_update_state); return (0); } @@ -2194,8 +2194,8 @@ dr_dev_status(dr_handle_t *hp) * receptacle buffer at copyout time. */ ncm = MAX_CPU_UNITS_PER_BOARD + - MAX_MEM_UNITS_PER_BOARD + - MAX_IO_UNITS_PER_BOARD; + MAX_MEM_UNITS_PER_BOARD + + MAX_IO_UNITS_PER_BOARD; } else { /* @@ -2233,7 +2233,7 @@ dr_dev_status(dr_handle_t *hp) if (ncm > 1) sz32 += sizeof (sbd_dev_stat32_t) * (ncm - 1); pnstat = (pbsz - sizeof (sbd_stat32_t))/ - sizeof (sbd_dev_stat32_t); + sizeof (sbd_dev_stat32_t); } sz += sz32; @@ -2328,7 +2328,7 @@ dr_dev_status(dr_handle_t *hp) /* Alignment Paranoia */ if ((ulong_t)dstat32p & 0x1) { PR_ALL("%s: alignment: sz=0x%lx dstat32p=0x%p\n", - f, sizeof (sbd_stat32_t), dstat32p); + f, sizeof (sbd_stat32_t), dstat32p); DR_OP_INTERNAL_ERROR(hp); rv = EINVAL; goto status_done; @@ -2336,7 +2336,7 @@ dr_dev_status(dr_handle_t *hp) /* paranoia: detect buffer overrun */ if ((caddr_t)&dstat32p->s_stat[dstatp->s_nstat] > - ((caddr_t)dstatp) + sz) { + ((caddr_t)dstatp) + sz) { DR_OP_INTERNAL_ERROR(hp); rv = EINVAL; goto status_done; @@ -2354,9 +2354,9 @@ dr_dev_status(dr_handle_t *hp) _SBD_STAT(uint32_t, s_assigned); _SBD_STAT(int32_t, s_nstat); bcopy(&dstatp->s_type[0], &dstat32p->s_type[0], - SBD_TYPE_LEN); + SBD_TYPE_LEN); bcopy(&dstatp->s_info[0], &dstat32p->s_info[0], - SBD_MAX_INFO); + SBD_MAX_INFO); #undef _SBD_STAT for (i = 0; i < dstatp->s_nstat; i++) { @@ -2398,8 +2398,8 @@ dr_dev_status(dr_handle_t *hp) _SBD_DEV_STAT(int32_t, d_mem.ms_cage_enabled); _SBD_DEV_STAT(int32_t, d_mem.ms_peer_is_target); bcopy(&dsp->d_mem.ms_peer_ap_id[0], - &ds32p->d_mem.ms_peer_ap_id[0], - sizeof (ds32p->d_mem.ms_peer_ap_id)); + &ds32p->d_mem.ms_peer_ap_id[0], + sizeof (ds32p->d_mem.ms_peer_ap_id)); break; case SBD_COMP_IO: @@ -2409,7 +2409,7 @@ dr_dev_status(dr_handle_t *hp) for (j = 0; j < SBD_MAX_UNSAFE; j++) _SBD_DEV_STAT(int32_t, - d_io.is_unsafe_list[j]); + d_io.is_unsafe_list[j]); bcopy(&dsp->d_io.is_pathname[0], &ds32p->d_io.is_pathname[0], MAXPATHLEN); @@ -2418,8 +2418,8 @@ dr_dev_status(dr_handle_t *hp) case SBD_COMP_CMP: /* copy sbd_cmp_stat_t structure members */ bcopy(&dsp->d_cmp.ps_cpuid[0], - &ds32p->d_cmp.ps_cpuid[0], - sizeof (ds32p->d_cmp.ps_cpuid)); + &ds32p->d_cmp.ps_cpuid[0], + sizeof (ds32p->d_cmp.ps_cpuid)); _SBD_DEV_STAT(int32_t, d_cmp.ps_ncores); _SBD_DEV_STAT(int32_t, d_cmp.ps_speed); _SBD_DEV_STAT(int32_t, d_cmp.ps_ecache); @@ -2436,10 +2436,10 @@ dr_dev_status(dr_handle_t *hp) if (ddi_copyout((void *)dstat32p, - hp->h_sbdcmd.cmd_stat.s_statp, pbsz, mode) != 0) { + hp->h_sbdcmd.cmd_stat.s_statp, pbsz, mode) != 0) { cmn_err(CE_WARN, - "%s: failed to copyout status " - "for board %d", f, bp->b_num); + "%s: failed to copyout status " + "for board %d", f, bp->b_num); rv = EFAULT; goto status_done; } @@ -2447,10 +2447,10 @@ dr_dev_status(dr_handle_t *hp) #endif /* _MULTI_DATAMODEL */ if (ddi_copyout((void *)dstatp, hp->h_sbdcmd.cmd_stat.s_statp, - pbsz, mode) != 0) { + pbsz, mode) != 0) { cmn_err(CE_WARN, - "%s: failed to copyout status for board %d", - f, bp->b_num); + "%s: failed to copyout status for board %d", + f, bp->b_num); rv = EFAULT; goto status_done; } @@ -2474,7 +2474,7 @@ dr_get_ncm(dr_handle_t *hp) devset = DR_DEVS_PRESENT(hp->h_bd); if (hp->h_sbdcmd.cmd_cm.c_id.c_type != SBD_COMP_NONE) devset &= DEVSET(hp->h_sbdcmd.cmd_cm.c_id.c_type, - DEVSET_ANYUNIT); + DEVSET_ANYUNIT); /* * Handle CPUs first to deal with possible CMP @@ -2588,8 +2588,8 @@ dr_dev2devset(sbd_comp_id_t *cid) case SBD_COMP_CPU: if ((unit > MAX_CPU_UNITS_PER_BOARD) || (unit < 0)) { cmn_err(CE_WARN, - "%s: invalid cpu unit# = %d", - f, unit); + "%s: invalid cpu unit# = %d", + f, unit); devset = 0; } else { /* @@ -2614,8 +2614,8 @@ dr_dev2devset(sbd_comp_id_t *cid) if ((unit > MAX_MEM_UNITS_PER_BOARD) || (unit < 0)) { cmn_err(CE_WARN, - "%s: invalid mem unit# = %d", - f, unit); + "%s: invalid mem unit# = %d", + f, unit); devset = 0; } else devset = DEVSET(cid->c_type, unit); @@ -2626,8 +2626,8 @@ dr_dev2devset(sbd_comp_id_t *cid) case SBD_COMP_IO: if ((unit > MAX_IO_UNITS_PER_BOARD) || (unit < 0)) { cmn_err(CE_WARN, - "%s: invalid io unit# = %d", - f, unit); + "%s: invalid io unit# = %d", + f, unit); devset = 0; } else devset = DEVSET(cid->c_type, unit); @@ -2752,7 +2752,7 @@ dr_check_transition(dr_board_t *bp, dr_devset_t *devsetp, } PR_ALL("%s: requested devset = 0x%x, final devset = 0x%x\n", - f, (uint_t)*devsetp, (uint_t)devset); + f, (uint_t)*devsetp, (uint_t)devset); *devsetp = devset; /* @@ -2772,9 +2772,9 @@ void dr_device_transition(dr_common_unit_t *cp, dr_state_t st) { PR_STATE("%s STATE %s(%d) -> %s(%d)\n", - cp->sbdev_path, - state_str[cp->sbdev_state], cp->sbdev_state, - state_str[st], st); + cp->sbdev_path, + state_str[cp->sbdev_state], cp->sbdev_state, + state_str[st], st); cp->sbdev_state = st; if (st == DR_STATE_CONFIGURED) { @@ -2782,7 +2782,7 @@ dr_device_transition(dr_common_unit_t *cp, dr_state_t st) if (cp->sbdev_bp->b_ostate != SBD_STAT_CONFIGURED) { cp->sbdev_bp->b_ostate = SBD_STAT_CONFIGURED; (void) drv_getparm(TIME, - (void *) &cp->sbdev_bp->b_time); + (void *) &cp->sbdev_bp->b_time); } } else cp->sbdev_ostate = SBD_STAT_UNCONFIGURED; @@ -2794,9 +2794,9 @@ static void dr_board_transition(dr_board_t *bp, dr_state_t st) { PR_STATE("BOARD %d STATE: %s(%d) -> %s(%d)\n", - bp->b_num, - state_str[bp->b_state], bp->b_state, - state_str[st], st); + bp->b_num, + state_str[bp->b_state], bp->b_state, + state_str[st], st); bp->b_state = st; } @@ -2843,7 +2843,7 @@ dr_dev_found(void *data, const char *name, int unum, drmachid_t id) static fn_t f = "dr_dev_found"; PR_ALL("%s (board = %d, name = %s, unum = %d, id = %p)...\n", - f, bp->b_num, name, unum, id); + f, bp->b_num, name, unum, id); nt = dr_dev_type_to_nt((char *)name); if (nt == SBD_COMP_UNKNOWN) { @@ -2864,9 +2864,9 @@ dr_dev_found(void *data, const char *name, int unum, drmachid_t id) /* render dynamic attachment point path of this unit */ (void) snprintf(dp->du_common.sbdev_path, - sizeof (dp->du_common.sbdev_path), - (nt == SBD_COMP_MEM ? "%s::%s" : "%s::%s%d"), - bp->b_path, name, DR_UNUM2SBD_UNUM(unum, nt)); + sizeof (dp->du_common.sbdev_path), + (nt == SBD_COMP_MEM ? "%s::%s" : "%s::%s%d"), + bp->b_path, name, DR_UNUM2SBD_UNUM(unum, nt)); dp->du_common.sbdev_id = id; DR_DEV_SET_PRESENT(&dp->du_common); @@ -2933,7 +2933,7 @@ dr_init_devlists(dr_board_t *bp) if (bp->b_id) { /* find devices on this board */ err = drmach_board_find_devices( - bp->b_id, bp, dr_dev_found); + bp->b_id, bp, dr_dev_found); } return (err); @@ -2996,7 +2996,7 @@ dr_check_unit_attached(dr_common_unit_t *cp) memlist_read_lock(); for (ml = phys_install; ml; ml = ml->next) if ((endpa <= ml->address) || - (basepa >= (ml->address + ml->size))) + (basepa >= (ml->address + ml->size))) continue; else break; @@ -3017,7 +3017,7 @@ dr_check_unit_attached(dr_common_unit_t *cp) default: PR_ALL("%s: unexpected nodetype(%d) for id 0x%p\n", - f, cp->sbdev_type, cp->sbdev_id); + f, cp->sbdev_type, cp->sbdev_id); rv = -1; break; } @@ -3114,7 +3114,7 @@ dr_board_discovery(dr_board_t *bp) if (DR_DEVS_PRESENT(bp) == 0) { PR_ALL("%s: board %d has no devices present\n", - f, bp->b_num); + f, bp->b_num); return; } @@ -3131,7 +3131,7 @@ dr_board_discovery(dr_board_t *bp) DR_DEV_SET_ATTACHED(&cp->sbc_cm); DEVSET_ADD(devs_attached, SBD_COMP_CPU, i); PR_ALL("%s: board %d, cpu-unit %d - attached\n", - f, bp->b_num, i); + f, bp->b_num, i); } dr_init_cpu_unit(cp); } @@ -3149,7 +3149,7 @@ dr_board_discovery(dr_board_t *bp) DR_DEV_SET_ATTACHED(&mp->sbm_cm); DEVSET_ADD(devs_attached, SBD_COMP_MEM, i); PR_ALL("%s: board %d, mem-unit %d - attached\n", - f, bp->b_num, i); + f, bp->b_num, i); } dr_init_mem_unit(mp); } @@ -3170,7 +3170,7 @@ dr_board_discovery(dr_board_t *bp) DR_DEV_SET_ATTACHED(&ip->sbi_cm); DEVSET_ADD(devs_attached, SBD_COMP_IO, i); PR_ALL("%s: board %d, io-unit %d - attached\n", - f, bp->b_num, i); + f, bp->b_num, i); } dr_init_io_unit(ip); } @@ -3241,13 +3241,13 @@ dr_board_init(dr_board_t *bp, dev_info_t *dip, int bd) bp->b_dip = dip; bp->b_dev[NIX(SBD_COMP_CPU)] = GETSTRUCT(dr_dev_unit_t, - MAX_CPU_UNITS_PER_BOARD); + MAX_CPU_UNITS_PER_BOARD); bp->b_dev[NIX(SBD_COMP_MEM)] = GETSTRUCT(dr_dev_unit_t, - MAX_MEM_UNITS_PER_BOARD); + MAX_MEM_UNITS_PER_BOARD); bp->b_dev[NIX(SBD_COMP_IO)] = GETSTRUCT(dr_dev_unit_t, - MAX_IO_UNITS_PER_BOARD); + MAX_IO_UNITS_PER_BOARD); /* * Initialize the devlists @@ -3303,7 +3303,7 @@ static void dr_board_destroy(dr_board_t *bp) { PR_ALL("dr_board_destroy: num %d, path %s\n", - bp->b_num, bp->b_path); + bp->b_num, bp->b_path); dr_board_transition(bp, DR_STATE_EMPTY); bp->b_rstate = SBD_STAT_EMPTY; @@ -3313,19 +3313,19 @@ dr_board_destroy(dr_board_t *bp) * Free up MEM unit structs. */ FREESTRUCT(bp->b_dev[NIX(SBD_COMP_MEM)], - dr_dev_unit_t, MAX_MEM_UNITS_PER_BOARD); + dr_dev_unit_t, MAX_MEM_UNITS_PER_BOARD); bp->b_dev[NIX(SBD_COMP_MEM)] = NULL; /* * Free up CPU unit structs. */ FREESTRUCT(bp->b_dev[NIX(SBD_COMP_CPU)], - dr_dev_unit_t, MAX_CPU_UNITS_PER_BOARD); + dr_dev_unit_t, MAX_CPU_UNITS_PER_BOARD); bp->b_dev[NIX(SBD_COMP_CPU)] = NULL; /* * Free up IO unit structs. */ FREESTRUCT(bp->b_dev[NIX(SBD_COMP_IO)], - dr_dev_unit_t, MAX_IO_UNITS_PER_BOARD); + dr_dev_unit_t, MAX_IO_UNITS_PER_BOARD); bp->b_dev[NIX(SBD_COMP_IO)] = NULL; mutex_destroy(&bp->b_lock); diff --git a/usr/src/uts/sun4u/opl/io/dm2s.c b/usr/src/uts/sun4u/opl/io/dm2s.c index bf039110c0..5dd4f3d626 100644 --- a/usr/src/uts/sun4u/opl/io/dm2s.c +++ b/usr/src/uts/sun4u/opl/io/dm2s.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * DM2S - Domain side Mailbox to synchronous serial device driver. @@ -180,12 +179,12 @@ struct streamtab dm2s_streamtab = { DDI_DEFINE_STREAM_OPS(dm2s_ops, nulldev, nulldev, dm2s_attach, \ dm2s_detach, nodev, dm2s_info, D_NEW | D_MP | D_MTPERMOD, \ - &dm2s_streamtab); + &dm2s_streamtab, ddi_quiesce_not_supported); struct modldrv modldrv = { &mod_driverops, - "OPL Mbox to Serial Driver %I%", + "OPL Mbox to Serial Driver", &dm2s_ops }; @@ -1268,7 +1267,7 @@ dm2s_dump_bytes(char *str, uint32_t total_len, tlen += len; } sprintf(bytestr, "%s Packet: Size=%d Digest=%d\n", - str, total_len, digest); + str, total_len, digest); DTRACE_PROBE1(dm2s_dump_digest, unsigned char *, bytestr); tlen = 0; diff --git a/usr/src/uts/sun4u/opl/io/mc-opl.c b/usr/src/uts/sun4u/opl/io/mc-opl.c index 7a4a26afe4..84c2fd3dae 100644 --- a/usr/src/uts/sun4u/opl/io/mc-opl.c +++ b/usr/src/uts/sun4u/opl/io/mc-opl.c @@ -26,7 +26,6 @@ * All Rights Reserved, Copyright (c) FUJITSU LIMITED 2008 */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/sysmacros.h> @@ -151,7 +150,8 @@ static struct dev_ops mc_ops = { nulldev, /* reset */ &mc_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -312,7 +312,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* module type, this one is a driver */ - "OPL Memory-controller %I%", /* module name */ + "OPL Memory-controller", /* module name */ &mc_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4u/opl/io/oplkmdrv.c b/usr/src/uts/sun4u/opl/io/oplkmdrv.c index a23690aea5..bb2b7909cf 100644 --- a/usr/src/uts/sun4u/opl/io/oplkmdrv.c +++ b/usr/src/uts/sun4u/opl/io/oplkmdrv.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * OPL IPSec Key Management Driver. @@ -135,12 +134,14 @@ struct dev_ops okm_ops = { okm_detach, /* detach */ nodev, /* reset */ &okm_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* no bus operations */ + (struct bus_ops *)0, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; struct modldrv modldrv = { &mod_driverops, - "OPL Key Management Driver v%I%", + "OPL Key Management Driver", &okm_ops, }; diff --git a/usr/src/uts/sun4u/opl/io/oplmsu/oplmsu.c b/usr/src/uts/sun4u/opl/io/oplmsu/oplmsu.c index 95bf02db81..74cebd3309 100644 --- a/usr/src/uts/sun4u/opl/io/oplmsu/oplmsu.c +++ b/usr/src/uts/sun4u/opl/io/oplmsu/oplmsu.c @@ -18,11 +18,16 @@ * * CDDL HEADER END */ + /* * All Rights Reserved, Copyright (c) FUJITSU LIMITED 2006 */ -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + #include <sys/errno.h> #include <sys/modctl.h> @@ -136,12 +141,13 @@ static struct dev_ops oplmsu_ops = { (nodev), /* devo_reset */ &(cb_oplmsu_ops), /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* dev_quiesce */ }; struct modldrv modldrv = { &mod_driverops, - "OPL serial mux driver %I%", + "OPL serial mux driver", &oplmsu_ops }; @@ -927,22 +933,23 @@ oplmsu_lrsrv(queue_t *lrq) mutex_enter(&oplmsu_uinst->l_lock); lpath = lrq->q_ptr; while (rx_char != mp->b_wptr) { - if (*rx_char == *lpath->abt_char) { + if (*rx_char == *lpath->abt_char) { lpath->abt_char++; if (*lpath->abt_char == '\0') { - abort_sequence_enter((char *)NULL); - lpath->abt_char - = oplmsu_uinst->abts; - aborted = B_TRUE; - break; + abort_sequence_enter((char *) + NULL); + lpath->abt_char + = oplmsu_uinst->abts; + aborted = B_TRUE; + break; } - } else { + } else { lpath->abt_char = (*rx_char == *oplmsu_uinst->abts) ? - oplmsu_uinst->abts + 1 : - oplmsu_uinst->abts; - } - rx_char++; + oplmsu_uinst->abts + 1 : + oplmsu_uinst->abts; + } + rx_char++; } mutex_exit(&oplmsu_uinst->l_lock); } diff --git a/usr/src/uts/sun4u/opl/io/oplpanel/oplpanel.c b/usr/src/uts/sun4u/opl/io/oplpanel/oplpanel.c index ced6c15455..b104dbc316 100644 --- a/usr/src/uts/sun4u/opl/io/oplpanel/oplpanel.c +++ b/usr/src/uts/sun4u/opl/io/oplpanel/oplpanel.c @@ -18,11 +18,16 @@ * * CDDL HEADER END */ + /* * All Rights Reserved, Copyright (c) FUJITSU LIMITED 2006 */ -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + #include <sys/types.h> #include <sys/time.h> @@ -106,7 +111,8 @@ static struct dev_ops panel_dev_ops = { nulldev, /* reset */ &panel_cb_ops, /* cb_ops */ NULL, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* module configuration stuff */ @@ -115,7 +121,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, - "OPL panel driver %I%", + "OPL panel driver", &panel_dev_ops }; diff --git a/usr/src/uts/sun4u/opl/io/pcicmu/pcicmu.c b/usr/src/uts/sun4u/opl/io/pcicmu/pcicmu.c index a02b6fbd59..0322efb51c 100644 --- a/usr/src/uts/sun4u/opl/io/pcicmu/pcicmu.c +++ b/usr/src/uts/sun4u/opl/io/pcicmu/pcicmu.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * OPL CMU-CH PCI nexus driver. @@ -218,7 +217,9 @@ static struct dev_ops pcmu_ops = { nodev, &pcmu_cb_ops, &pcmu_bus_ops, - 0 + 0, + ddi_quiesce_not_needed, /* quiesce */ + }; /* @@ -228,7 +229,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module - driver */ - "OPL CMU-CH PCI Nexus driver %I%", /* Name of module. */ + "OPL CMU-CH PCI Nexus driver", /* Name of module. */ &pcmu_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4u/serengeti/io/sgcn.c b/usr/src/uts/sun4u/serengeti/io/sgcn.c index e50085acb8..4e2e43dc44 100644 --- a/usr/src/uts/sun4u/serengeti/io/sgcn.c +++ b/usr/src/uts/sun4u/serengeti/io/sgcn.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Serengeti console driver, see sys/sgcn.h for more information @@ -173,12 +172,13 @@ static struct dev_ops sgcn_ops = { nodev, /* reset() */ &sgcn_cb_ops, /* cb_ops */ (struct bus_ops *)NULL, /* bus_ops */ - NULL /* power() */ + NULL, /* power() */ + ddi_quiesce_not_supported, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "Serengeti console driver v%I%", + "Serengeti console driver", &sgcn_ops }; @@ -253,7 +253,7 @@ sgcn_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * All we can do is stopping. */ rv = iosram_read(SBBC_CONSOLE_KEY, 0, (caddr_t)&header, - sizeof (cnsram_header)); + sizeof (cnsram_header)); if (rv != 0) cmn_err(CE_PANIC, "sgcn_attach(): Reading from IOSRAM failed"); if (header.cnsram_magic != CNSRAM_MAGIC) @@ -268,12 +268,12 @@ sgcn_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* Allocate console input buffer */ sgcn_state->sgcn_inbuf_size = - header.cnsram_in_end - header.cnsram_in_begin; + header.cnsram_in_end - header.cnsram_in_begin; sgcn_state->sgcn_inbuf = - kmem_alloc(sgcn_state->sgcn_inbuf_size, KM_SLEEP); + kmem_alloc(sgcn_state->sgcn_inbuf_size, KM_SLEEP); #ifdef SGCN_DEBUG prom_printf("Allocated %d(0x%X) bytes for console\n", - sgcn_state->sgcn_inbuf_size); + sgcn_state->sgcn_inbuf_size); #endif (void) prom_serengeti_set_console_input(SGCN_CLNT_STR); @@ -433,7 +433,7 @@ sgcn_wput(queue_t *q, mblk_t *mp) #ifdef SGCN_DEBUG prom_printf("sgcn_wput(): SGCN wput q=%X mp=%X rd=%X wr=%X type=%X\n", - q, mp, mp->b_rptr, mp->b_wptr, mp->b_datap->db_type); + q, mp, mp->b_rptr, mp->b_wptr, mp->b_datap->db_type); #endif switch (mp->b_datap->db_type) { @@ -442,7 +442,7 @@ sgcn_wput(queue_t *q, mblk_t *mp) #ifdef SGCN_DEBUG iocp = (struct iocblk *)mp->b_rptr; prom_printf("sgcn_wput(): M_IOCTL cmd=%X TIOC=%X\n", - iocp->ioc_cmd, TIOC); + iocp->ioc_cmd, TIOC); #endif switch (((struct iocblk *)mp->b_rptr)->ioc_cmd) { case TCSETSW: @@ -498,7 +498,7 @@ sgcn_wput(queue_t *q, mblk_t *mp) #ifdef SGCN_DEBUG if (mp->b_rptr < mp->b_wptr) { prom_printf("sgcn_wput(): DATA q=%X mp=%X rd=%X wr=%X\n", - q, mp, mp->b_rptr, mp->b_wptr); + q, mp, mp->b_rptr, mp->b_wptr); prom_printf("sgcn_wput(): [[[[["); for (i = 0; i < mp->b_wptr-mp->b_rptr; i++) { prom_printf("%c", *(mp->b_rptr+i)); @@ -545,7 +545,7 @@ sgcn_ioctl(queue_t *q, mblk_t *mp) unbufcall(sgcn_state->sgcn_wbufcid); /* call sgcn_reioctl() */ sgcn_state->sgcn_wbufcid = - bufcall(data_size, BPRI_HI, sgcn_reioctl, sgcn_state); + bufcall(data_size, BPRI_HI, sgcn_reioctl, sgcn_state); return; } @@ -725,7 +725,7 @@ sgcn_flush() q = sgcn_state->sgcn_writeq; prom_printf("sgcn_flush(): WARNING console output is dropped " - "time=%lX\n", gethrestime_sec()); + "time=%lX\n", gethrestime_sec()); while (mp = getq(q)) { freemsg(mp); } @@ -783,7 +783,7 @@ sgcn_data_in_handler(caddr_t arg) /* leave our perimeter */ leavesq(sgcn_state->sgcn_readq->q_syncq, - SQ_CALLBACK); + SQ_CALLBACK); return; } else { mutex_exit(&sgcn_state->sgcn_sbbc_in_lock); @@ -914,7 +914,7 @@ sgcn_read_header(int rw, cnsram_header *header) /* check IOSRAM contents and read pointers */ rv = iosram_read(SBBC_CONSOLE_KEY, 0, (caddr_t)header, - sizeof (cnsram_header)); + sizeof (cnsram_header)); if (rv != 0) { return (-1); } @@ -927,14 +927,14 @@ sgcn_read_header(int rw, cnsram_header *header) */ if (rw == RW_CONSOLE_READ) { rv = iosram_read(SBBC_CONSOLE_KEY, - OFFSETOF((*header), cnsram_in_wrptr), - POINTER((*header), cnsram_in_wrptr), - sizeof (header->cnsram_in_wrptr)); + OFFSETOF((*header), cnsram_in_wrptr), + POINTER((*header), cnsram_in_wrptr), + sizeof (header->cnsram_in_wrptr)); } else if (rw == RW_CONSOLE_WRITE) { rv = iosram_read(SBBC_CONSOLE_KEY, - OFFSETOF((*header), cnsram_out_rdptr), - POINTER((*header), cnsram_out_rdptr), - sizeof (header->cnsram_out_rdptr)); + OFFSETOF((*header), cnsram_out_rdptr), + POINTER((*header), cnsram_out_rdptr), + sizeof (header->cnsram_out_rdptr)); } else rv = -1; @@ -949,7 +949,7 @@ sgcn_rw(int rw, caddr_t buf, int len) #ifdef SGCN_DEBUG prom_printf("sgcn_rw() rw = %X buf = %p len = %d\n", - rw, buf, len); + rw, buf, len); #endif /* SGCN_DEBUG */ if (len == 0) return (0); @@ -982,16 +982,16 @@ sgcn_rw(int rw, caddr_t buf, int len) if (rw == RW_CONSOLE_READ) nbytes = circular_buffer_read( - header.cnsram_in_begin, - header.cnsram_in_end, - header.cnsram_in_rdptr, - header.cnsram_in_wrptr, buf, len); + header.cnsram_in_begin, + header.cnsram_in_end, + header.cnsram_in_rdptr, + header.cnsram_in_wrptr, buf, len); else if (rw == RW_CONSOLE_WRITE) nbytes = circular_buffer_write( - header.cnsram_out_begin, - header.cnsram_out_end, - header.cnsram_out_rdptr, - header.cnsram_out_wrptr, buf, len); + header.cnsram_out_begin, + header.cnsram_out_end, + header.cnsram_out_rdptr, + header.cnsram_out_wrptr, buf, len); /* * error log was done in circular buffer routines, @@ -1006,21 +1006,21 @@ sgcn_rw(int rw, caddr_t buf, int len) if (rw == RW_CONSOLE_READ) { header.cnsram_in_rdptr = (header.cnsram_in_rdptr - header.cnsram_in_begin - + nbytes) + + nbytes) % size + header.cnsram_in_begin; rv = iosram_write(SBBC_CONSOLE_KEY, - OFFSETOF(header, cnsram_in_rdptr), - POINTER(header, cnsram_in_rdptr), - sizeof (header.cnsram_in_rdptr)); + OFFSETOF(header, cnsram_in_rdptr), + POINTER(header, cnsram_in_rdptr), + sizeof (header.cnsram_in_rdptr)); } else if (rw == RW_CONSOLE_WRITE) { header.cnsram_out_wrptr = (header.cnsram_out_wrptr - header.cnsram_out_begin - + nbytes) + + nbytes) % size + header.cnsram_out_begin; rv = iosram_write(SBBC_CONSOLE_KEY, - OFFSETOF(header, cnsram_out_wrptr), - POINTER(header, cnsram_out_wrptr), - sizeof (header.cnsram_out_wrptr)); + OFFSETOF(header, cnsram_out_wrptr), + POINTER(header, cnsram_out_wrptr), + sizeof (header.cnsram_out_wrptr)); } if (rv != 0) { sgcn_log_error(rw, EIO); diff --git a/usr/src/uts/sun4u/serengeti/io/sghsc.c b/usr/src/uts/sun4u/serengeti/io/sghsc.c index c318ba79c4..ae28ecf8c2 100644 --- a/usr/src/uts/sun4u/serengeti/io/sghsc.c +++ b/usr/src/uts/sun4u/serengeti/io/sghsc.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * @@ -124,12 +123,14 @@ static struct dev_ops sghsc_dev_ops = { sghsc_detach, /* detach */ nodev, /* reset */ &sghsc_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* no bus operations */ + (struct bus_ops *)0, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "Serengeti CompactPCI HSC v%I%", + "Serengeti CompactPCI HSC", &sghsc_dev_ops, }; @@ -328,7 +329,7 @@ sghsc_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) break; default: cmn_err(CE_WARN, "sghsc%d: unsupported cmd %d", - instance, cmd); + instance, cmd); return (DDI_FAILURE); } @@ -497,7 +498,7 @@ sghsc_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) return (DDI_FAILURE); switch (cmd) { - case DDI_DETACH: + case DDI_DETACH: /* * We don't allow to detach in case the pci nexus * didn't run pcihp_uninit(). The buses should be @@ -531,10 +532,10 @@ sghsc_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) mutex_exit(&sghsc_event_thread_mutex); return (DDI_SUCCESS); - case DDI_SUSPEND: + case DDI_SUSPEND: return (DDI_SUCCESS); - default: + default: return (DDI_FAILURE); } } @@ -653,7 +654,7 @@ sghsc_register_slots(sghsc_t *sghsc, int board_type) slot_info->pci_dev_num = slot2bus[i].pcidev; sprintf(slot_info->pci_slot_name, - "sg%dslot%d", sghsc->sghsc_board, i); + "sg%dslot%d", sghsc->sghsc_board, i); DEBUGF(1, (CE_NOTE, "pci_slot_name is %s at pci_dev_num %d" " on node %d / board %d", slot_info->pci_slot_name, slot_info->pci_dev_num, sghsc->sghsc_node_id, @@ -738,7 +739,7 @@ sghsc_connect(caddr_t op_arg, hpc_slot_t sloth, void *data, switch (flag) { - case SGHSC_ALL_SLOTS_ENABLE: + case SGHSC_ALL_SLOTS_ENABLE: for (i = 0; i < sghsc->sghsc_num_slots; i++) { /* * All slots will be marked 'empty' as HP Framework @@ -827,7 +828,7 @@ sghsc_disconnect(caddr_t op_arg, hpc_slot_t sloth, void *data, int slot_num = sghsc_get_slotnum(sghsc, sloth); switch (flag) { - case SGHSC_ALL_SLOTS_DISABLE: + case SGHSC_ALL_SLOTS_DISABLE: return (HPC_SUCCESS); } @@ -995,9 +996,9 @@ sghsc_control(caddr_t op_arg, hpc_slot_t sloth, int request, sghsc->sghsc_slot_table[slot].slot_status = HPC_SLOT_CONNECTED; } else if (sghsc->sghsc_slot_table[slot].slot_status == - HPC_SLOT_EMPTY || - sghsc->sghsc_slot_table[slot].slot_status == - HPC_SLOT_UNKNOWN) { + HPC_SLOT_EMPTY || + sghsc->sghsc_slot_table[slot].slot_status == + HPC_SLOT_UNKNOWN) { sghsc->sghsc_slot_table[slot].slot_status = HPC_SLOT_DISCONNECTED; } @@ -1005,7 +1006,7 @@ sghsc_control(caddr_t op_arg, hpc_slot_t sloth, int request, * No change */ *(hpc_slot_state_t *)arg = - sghsc->sghsc_slot_table[slot].slot_status; + sghsc->sghsc_slot_table[slot].slot_status; break; } @@ -1345,7 +1346,8 @@ sghsc_scctl(int cmd, int node_id, int board, int slot, int *resultp) #ifdef DEBUG_EXTENDED if (cmd == SGHSC_GET_NUM_SLOTS) { DEBUGF(1, (CE_NOTE, "sghsc: node %d / board %d has %d slots", - cmd_infop->node_id, cmd_infop->board, cmd_info_r_p->result); + cmd_infop->node_id, cmd_infop->board, + cmd_info_r_p->result)); *resultp = cmd_info_r_p->result; return (0); } @@ -1419,9 +1421,9 @@ sghsc_freemem(sghsc_t *sghsc) */ for (i = 0; i < sghsc->sghsc_num_slots; i++) { if (sghsc->sghsc_slot_table[i].slot_ops) - hpc_free_slot_ops(sghsc->sghsc_slot_table[i].slot_ops); + hpc_free_slot_ops(sghsc->sghsc_slot_table[i].slot_ops); if (sghsc->sghsc_slot_table[i].handle) - hpc_slot_unregister(&sghsc->sghsc_slot_table[i].handle); + hpc_slot_unregister(&sghsc->sghsc_slot_table[i].handle); } /* finally free up slot_table */ @@ -1575,7 +1577,7 @@ sghsc_event_handler(char *arg) */ if (sghsc_rb_put(&sghsc_rb_header, rsp_data) != DDI_SUCCESS) { - cmn_err(CE_WARN, "sghsc: no space to store #ENUM info"); + cmn_err(CE_WARN, "sghsc: no space to store #ENUM info"); return (DDI_INTR_UNCLAIMED); } diff --git a/usr/src/uts/sun4u/serengeti/io/sgsbbc.c b/usr/src/uts/sun4u/serengeti/io/sgsbbc.c index 9e10112ea0..7206d5db7b 100644 --- a/usr/src/uts/sun4u/serengeti/io/sgsbbc.c +++ b/usr/src/uts/sun4u/serengeti/io/sgsbbc.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * PCI SBBC Device Driver that provides interfaces into @@ -132,7 +131,8 @@ struct dev_ops sbbc_ops = { nodev, /* devo_reset */ &sbbc_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -142,7 +142,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* type of module - driver */ - "PCI SBBC %I%", + "PCI SBBC", &sbbc_ops, }; @@ -158,7 +158,7 @@ _init(void) int error; if ((error = ddi_soft_state_init(&sbbcp, - sizeof (sbbc_softstate_t), 1)) != 0) + sizeof (sbbc_softstate_t), 1)) != 0) return (error); if ((error = mod_install(&modlinkage)) != 0) { @@ -251,10 +251,10 @@ sbbc_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * this device. If not, this instance will be ignored. */ if (ddi_getproplen(DDI_DEV_T_ANY, softsp->dip, - DDI_PROP_DONTPASS, "interrupts", - &len) != DDI_PROP_SUCCESS) { + DDI_PROP_DONTPASS, "interrupts", + &len) != DDI_PROP_SUCCESS) { SBBC_ERR1(CE_WARN, "No 'interrupts' property for the " - "SBBC instance %d\n", instance); + "SBBC instance %d\n", instance); return (DDI_FAILURE); } /* @@ -285,7 +285,7 @@ sbbc_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) (void) sprintf(name, "sbbc%d", instance); if (ddi_create_minor_node(devi, name, S_IFCHR, instance, - NULL, NULL) == DDI_FAILURE) { + NULL, NULL) == DDI_FAILURE) { mutex_destroy(&softsp->sbbc_lock); ddi_remove_minor_node(devi, NULL); ddi_soft_state_free(sbbcp, instance); @@ -308,20 +308,20 @@ sbbc_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * Enable Interrupts now, turn on both INT#A lines */ pci_intr_enable_reg = (uint32_t *) - ((char *)softsp->sbbc_regs + - SBBC_PCI_INT_ENABLE); + ((char *)softsp->sbbc_regs + + SBBC_PCI_INT_ENABLE); ddi_put32(softsp->sbbc_reg_handle1, - pci_intr_enable_reg, - (uint32_t)SBBC_PCI_ENABLE_INT_A); + pci_intr_enable_reg, + (uint32_t)SBBC_PCI_ENABLE_INT_A); /* * Reset intr_in_enabled to the original value * so the SC can send us interrupt. */ if (iosram_write(SBBC_SC_INTR_ENABLED_KEY, - 0, (caddr_t)&intr_in_enabled, - sizeof (intr_in_enabled))) { + 0, (caddr_t)&intr_in_enabled, + sizeof (intr_in_enabled))) { mutex_exit(&softsp->sbbc_lock); return (DDI_FAILURE); @@ -388,19 +388,19 @@ sbbc_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) * Disable Interrupts now, turn OFF both INT#A lines */ pci_intr_enable_reg = (uint32_t *) - ((char *)softsp->sbbc_regs + - SBBC_PCI_INT_ENABLE); + ((char *)softsp->sbbc_regs + + SBBC_PCI_INT_ENABLE); ddi_put32(softsp->sbbc_reg_handle1, - pci_intr_enable_reg, 0); + pci_intr_enable_reg, 0); /* * Set intr_in_enabled to 0 so the SC won't send * us interrupt. */ rc = iosram_read(SBBC_SC_INTR_ENABLED_KEY, - 0, (caddr_t)&intr_in_enabled, - sizeof (intr_in_enabled)); + 0, (caddr_t)&intr_in_enabled, + sizeof (intr_in_enabled)); if (rc) { mutex_exit(&softsp->sbbc_lock); @@ -408,8 +408,8 @@ sbbc_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) } rc = iosram_write(SBBC_SC_INTR_ENABLED_KEY, - 0, (caddr_t)&tmp_intr_enabled, - sizeof (tmp_intr_enabled)); + 0, (caddr_t)&tmp_intr_enabled, + sizeof (tmp_intr_enabled)); if (rc) { mutex_exit(&softsp->sbbc_lock); @@ -444,7 +444,7 @@ softsp_init(sbbc_softstate_t *softsp, dev_info_t *devi) (void) ddi_get_iblock_cookie(devi, 0, &softsp->iblock); mutex_init(&softsp->sbbc_lock, NULL, MUTEX_DRIVER, - (void *)softsp->iblock); + (void *)softsp->iblock); softsp->suspended = FALSE; softsp->chosen = FALSE; @@ -465,10 +465,10 @@ sbbc_find_dip(dev_info_t *dip, void *arg) */ node_name = ddi_node_name(dip); if (strcmp(node_name, "bootbus-controller") == 0 && DDI_CF2(dip) && - (prom_getprop(ddi_get_nodeid(dip), - "status", (caddr_t)status) == -1) && - (prom_getprop(ddi_get_nodeid(ddi_get_parent(dip)), - "status", (caddr_t)status) == -1)) { + (prom_getprop(ddi_get_nodeid(dip), + "status", (caddr_t)status) == -1) && + (prom_getprop(ddi_get_nodeid(ddi_get_parent(dip)), + "status", (caddr_t)status) == -1)) { if (dip != dip_struct->cur_dip) { dip_struct->new_dip = (void *)dip; @@ -534,7 +534,7 @@ sbbc_intr_handler(caddr_t arg) */ if (iosram_read(SBBC_SC_INTR_ENABLED_KEY, 0, - (caddr_t)&intr_enabled, sizeof (intr_enabled))) { + (caddr_t)&intr_enabled, sizeof (intr_enabled))) { goto intr_handler_exit; } @@ -554,7 +554,7 @@ sbbc_intr_handler(caddr_t arg) if (intr_reason & intr_mask) { intr = &softsp->intr_hdlrs[i]; if ((intr != NULL) && - (intr->sbbc_intr_id != 0)) { + (intr->sbbc_intr_id != 0)) { /* * XXXX * The model we agree with a handler @@ -580,10 +580,10 @@ sbbc_intr_handler(caddr_t arg) */ mutex_enter(intr->sbbc_intr_lock); if (*(intr->sbbc_intr_state) == - SBBC_INTR_IDLE) { + SBBC_INTR_IDLE) { mutex_exit(intr->sbbc_intr_lock); ddi_trigger_softintr( - intr->sbbc_intr_id); + intr->sbbc_intr_id); } else { /* * The handler is running @@ -605,8 +605,8 @@ sbbc_intr_handler(caddr_t arg) * in SRAM must be as close as possible. */ ddi_put32(intr_in_handle, intr_in_reason, - ddi_get32(intr_in_handle, - intr_in_reason) & ~intr_mask); + ddi_get32(intr_in_handle, + intr_in_reason) & ~intr_mask); } } if (intr_reason == 0) /* No more interrupts to be processed */ @@ -679,7 +679,7 @@ sbbc_chosen_init(sbbc_softstate_t *softsp) * get the full OBP pathname of this node */ if (prom_phandle_to_path((phandle_t)nodeid, master_sbbc, - sizeof (master_sbbc)) < 0) { + sizeof (master_sbbc)) < 0) { SBBC_ERR1(CE_PANIC, "prom_phandle_to_path(%d) failed\n", nodeid); @@ -702,7 +702,7 @@ sbbc_chosen_init(sbbc_softstate_t *softsp) */ if (iosram_tunnel_init(softsp) == DDI_FAILURE) { SBBC_ERR(CE_PANIC, "Can't create the SRAM <-> SC " - "comm. tunnel \n"); + "comm. tunnel \n"); } master_chosen = TRUE; @@ -713,11 +713,11 @@ sbbc_chosen_init(sbbc_softstate_t *softsp) */ if (ddi_getproplen(DDI_DEV_T_ANY, softsp->dip, - DDI_PROP_DONTPASS, "interrupts", - &len) != DDI_PROP_SUCCESS) { + DDI_PROP_DONTPASS, "interrupts", + &len) != DDI_PROP_SUCCESS) { SBBC_ERR(CE_PANIC, "No 'interrupts' property for the " - "'chosen' SBBC \n"); + "'chosen' SBBC \n"); } /* @@ -728,7 +728,7 @@ sbbc_chosen_init(sbbc_softstate_t *softsp) */ if (sbbc_add_intr(softsp) == DDI_FAILURE) { SBBC_ERR(CE_PANIC, "Can't add interrupt handler for " - "'chosen' SBBC \n"); + "'chosen' SBBC \n"); } sbbc_enable_intr(softsp); @@ -813,7 +813,7 @@ sbbc_send_intr(sbbc_softstate_t *softsp, int send_intr) ASSERT(MUTEX_HELD(&master_iosram->iosram_lock)); if ((softsp == (sbbc_softstate_t *)NULL) || - (softsp->epld_regs == (struct sbbc_epld_regs *)NULL)) + (softsp->epld_regs == (struct sbbc_epld_regs *)NULL)) return (ENXIO); /* @@ -831,7 +831,7 @@ sbbc_send_intr(sbbc_softstate_t *softsp, int send_intr) if (send_intr == TRUE) ddi_put8(softsp->sbbc_reg_handle2, epld_int, - (epld_status | INTERRUPT_ON)); + (epld_status | INTERRUPT_ON)); return (0); } @@ -858,12 +858,12 @@ sbbc_map_regs(sbbc_softstate_t *softsp) * SBCC offset 0x0 */ if (ddi_regs_map_setup(softsp->dip, RNUM_SBBC_REGS, - (caddr_t *)&softsp->sbbc_regs, - SBBC_REGS_OFFSET, SBBC_REGS_SIZE, - &attr, &softsp->sbbc_reg_handle1) != DDI_SUCCESS) { + (caddr_t *)&softsp->sbbc_regs, + SBBC_REGS_OFFSET, SBBC_REGS_SIZE, + &attr, &softsp->sbbc_reg_handle1) != DDI_SUCCESS) { cmn_err(CE_WARN, "sbbc%d: unable to map interrupt " - "registers", ddi_get_instance(softsp->dip)); + "registers", ddi_get_instance(softsp->dip)); return (DDI_FAILURE); } /* @@ -871,12 +871,12 @@ sbbc_map_regs(sbbc_softstate_t *softsp) * SBCC offset 0xe000 */ if (ddi_regs_map_setup(softsp->dip, RNUM_SBBC_REGS, - (caddr_t *)&softsp->epld_regs, - SBBC_EPLD_OFFSET, SBBC_EPLD_SIZE, - &attr, &softsp->sbbc_reg_handle2) != DDI_SUCCESS) { + (caddr_t *)&softsp->epld_regs, + SBBC_EPLD_OFFSET, SBBC_EPLD_SIZE, + &attr, &softsp->sbbc_reg_handle2) != DDI_SUCCESS) { cmn_err(CE_WARN, "sbbc%d: unable to map EPLD " - "registers", ddi_get_instance(softsp->dip)); + "registers", ddi_get_instance(softsp->dip)); return (DDI_FAILURE); } @@ -884,7 +884,7 @@ sbbc_map_regs(sbbc_softstate_t *softsp) * Set up pointers for registers */ softsp->port_int_regs = (uint32_t *)((char *)softsp->sbbc_regs + - SBBC_PCI_INT_STATUS); + SBBC_PCI_INT_STATUS); map_regs_exit: return (DDI_SUCCESS); @@ -944,11 +944,11 @@ sbbc_add_intr(sbbc_softstate_t *softsp) */ if (ddi_add_intr(softsp->dip, 0, &softsp->iblock, - &softsp->idevice, sbbc_intr_handler, - (caddr_t)softsp) != DDI_SUCCESS) { + &softsp->idevice, sbbc_intr_handler, + (caddr_t)softsp) != DDI_SUCCESS) { cmn_err(CE_WARN, "Can't register SBBC " - " interrupt handler\n"); + " interrupt handler\n"); rc = DDI_FAILURE; } @@ -964,9 +964,9 @@ sbbc_enable_intr(sbbc_softstate_t *softsp) * Enable Interrupts now, turn on both INT#A lines */ pci_intr_enable_reg = (uint32_t *)((char *)softsp->sbbc_regs + - SBBC_PCI_INT_ENABLE); + SBBC_PCI_INT_ENABLE); ddi_put32(softsp->sbbc_reg_handle1, pci_intr_enable_reg, - (uint32_t)SBBC_PCI_ENABLE_INT_A); + (uint32_t)SBBC_PCI_ENABLE_INT_A); } void @@ -978,6 +978,6 @@ sbbc_disable_intr(sbbc_softstate_t *softsp) * Disable Interrupts now, turn off both INT#A lines */ pci_intr_enable_reg = (uint32_t *)((char *)softsp->sbbc_regs + - SBBC_PCI_INT_ENABLE); + SBBC_PCI_INT_ENABLE); ddi_put32(softsp->sbbc_reg_handle1, pci_intr_enable_reg, 0); } diff --git a/usr/src/uts/sun4u/serengeti/io/ssm.c b/usr/src/uts/sun4u/serengeti/io/ssm.c index 0334c9fefe..e43657f7ff 100644 --- a/usr/src/uts/sun4u/serengeti/io/ssm.c +++ b/usr/src/uts/sun4u/serengeti/io/ssm.c @@ -23,7 +23,6 @@ * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - #include <sys/types.h> #include <sys/conf.h> #include <sys/ddi.h> @@ -219,7 +218,8 @@ static struct dev_ops ssm_ops = { nulldev, /* reset */ &ssm_cb_ops, /* driver operations */ &ssm_bus_ops, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -231,7 +231,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "SSM Nexus v1.8", /* name of module */ + "SSM Nexus", /* name of module */ &ssm_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4u/snowbird/io/todds1307/todds1307.c b/usr/src/uts/sun4u/snowbird/io/todds1307/todds1307.c index dbe082e0e2..2e70b888c1 100644 --- a/usr/src/uts/sun4u/snowbird/io/todds1307/todds1307.c +++ b/usr/src/uts/sun4u/snowbird/io/todds1307/todds1307.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -137,12 +136,14 @@ static struct dev_ops ds1307_ops = { todds1307_detach, /* detach */ nodev, /* reset */ &ds1307_cbops, /* cb_ops - ds1307 does not need this(?) */ - NULL + NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv todds1307_modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "tod driver for DS1307 v%I%", /* Name of the module */ + "tod driver for DS1307 v1.12", /* Name of the module */ &ds1307_ops, /* Pointer to dev_ops */ }; diff --git a/usr/src/uts/sun4u/starcat/io/axq.c b/usr/src/uts/sun4u/starcat/io/axq.c index a12a10b669..3984d860e0 100644 --- a/usr/src/uts/sun4u/starcat/io/axq.c +++ b/usr/src/uts/sun4u/starcat/io/axq.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> @@ -103,7 +102,8 @@ static struct dev_ops axq_ops = { nulldev, /* reset */ &axq_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; @@ -127,7 +127,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "AXQ driver v%I%", /* name of module */ + "AXQ driver", /* name of module */ &axq_ops, /* driver ops */ }; @@ -238,7 +238,7 @@ _init(void) int error; if ((error = ddi_soft_state_init(&axq_softp, - sizeof (struct axq_soft_state), 1)) != 0) + sizeof (struct axq_soft_state), 1)) != 0) return (error); rw_init(&axq_array_lock, NULL, RW_DEFAULT, NULL); @@ -328,9 +328,9 @@ axq_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* Get the "portid" property */ if ((softsp->portid = (int)ddi_getprop(DDI_DEV_T_ANY, softsp->dip, - DDI_PROP_DONTPASS, "portid", -1)) == -1) { + DDI_PROP_DONTPASS, "portid", -1)) == -1) { cmn_err(CE_WARN, "Unable to retrieve safari portid" - "property."); + "property."); goto bad; } @@ -350,10 +350,10 @@ axq_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) attr.devacc_attr_dataorder = DDI_STRICTORDER_ACC; attr.devacc_attr_endian_flags = DDI_NEVERSWAP_ACC; if (ddi_regs_map_setup(softsp->dip, 0, &softsp->address, 0, 0, - &attr, &softsp->ac0) != DDI_SUCCESS) { + &attr, &softsp->ac0) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: unable to map reg set 0\n", - ddi_get_name(softsp->dip), - ddi_get_instance(softsp->dip)); + ddi_get_name(softsp->dip), + ddi_get_instance(softsp->dip)); goto bad; } @@ -377,11 +377,11 @@ axq_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if (!axq_local.initflag) { /* initialize and map in the local space */ if (ddi_regs_map_setup(softsp->dip, 1, - &axq_local.laddress, 0, 0, - &attr, &axq_local.ac) != DDI_SUCCESS) { + &axq_local.laddress, 0, 0, + &attr, &axq_local.ac) != DDI_SUCCESS) { cmn_err(CE_WARN, "%s%d: unable to map reg set 1\n", - ddi_get_name(softsp->dip), - ddi_get_instance(softsp->dip)); + ddi_get_name(softsp->dip), + ddi_get_instance(softsp->dip)); ddi_regs_map_free(&softsp->ac0); mutex_exit(&axq_local.axq_local_lock); goto bad; @@ -423,64 +423,64 @@ axq_init(struct axq_soft_state *softsp) if (softsp->slotnum == 0) { /* This is a slot type 0 AXQ */ softsp->axq_domain_ctrl = REG_ADDR(softsp->address, - AXQ_SLOT0_DOMCTRL); + AXQ_SLOT0_DOMCTRL); softsp->axq_cdc_addrtest = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_ADR_TEST); + AXQ_SLOT0_CDC_ADR_TEST); softsp->axq_cdc_ctrltest = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_CTL_TEST); + AXQ_SLOT0_CDC_CTL_TEST); softsp->axq_cdc_datawrite0 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_DATA_WR0); + AXQ_SLOT0_CDC_DATA_WR0); softsp->axq_cdc_datawrite1 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_DATA_WR1); + AXQ_SLOT0_CDC_DATA_WR1); softsp->axq_cdc_datawrite2 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_DATA_WR2); + AXQ_SLOT0_CDC_DATA_WR2); softsp->axq_cdc_datawrite3 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_DATA_WR3); + AXQ_SLOT0_CDC_DATA_WR3); softsp->axq_cdc_counter = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_CNT_TEST); + AXQ_SLOT0_CDC_CNT_TEST); softsp->axq_cdc_readdata0 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_RD_DATA0); + AXQ_SLOT0_CDC_RD_DATA0); softsp->axq_cdc_readdata1 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_RD_DATA1); + AXQ_SLOT0_CDC_RD_DATA1); softsp->axq_cdc_readdata2 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_RD_DATA2); + AXQ_SLOT0_CDC_RD_DATA2); softsp->axq_cdc_readdata3 = REG_ADDR(softsp->address, - AXQ_SLOT0_CDC_RD_DATA3); + AXQ_SLOT0_CDC_RD_DATA3); softsp->axq_pcr = REG_ADDR(softsp->address, - AXQ_SLOT0_PERFCNT_SEL); + AXQ_SLOT0_PERFCNT_SEL); softsp->axq_pic0 = REG_ADDR(softsp->address, - AXQ_SLOT0_PERFCNT0); + AXQ_SLOT0_PERFCNT0); softsp->axq_pic1 = REG_ADDR(softsp->address, - AXQ_SLOT0_PERFCNT1); + AXQ_SLOT0_PERFCNT1); softsp->axq_pic2 = REG_ADDR(softsp->address, - AXQ_SLOT0_PERFCNT2); + AXQ_SLOT0_PERFCNT2); softsp->axq_nasm = REG_ADDR(softsp->address, AXQ_SLOT0_NASM); } else { /* slot type 1 AXQ */ softsp->axq_domain_ctrl = REG_ADDR(softsp->address, - AXQ_SLOT1_DOMCTRL); + AXQ_SLOT1_DOMCTRL); softsp->axq_pcr = REG_ADDR(softsp->address, - AXQ_SLOT1_PERFCNT_SEL); + AXQ_SLOT1_PERFCNT_SEL); softsp->axq_pic0 = REG_ADDR(softsp->address, - AXQ_SLOT1_PERFCNT0); + AXQ_SLOT1_PERFCNT0); softsp->axq_pic1 = REG_ADDR(softsp->address, - AXQ_SLOT1_PERFCNT1); + AXQ_SLOT1_PERFCNT1); softsp->axq_pic2 = REG_ADDR(softsp->address, - AXQ_SLOT1_PERFCNT2); + AXQ_SLOT1_PERFCNT2); softsp->axq_nasm = REG_ADDR(softsp->address, AXQ_SLOT1_NASM); } /* setup CASM slots */ for (i = 0; i < AXQ_MAX_EXP; i++) { softsp->axq_casm_slot[i] = REG_ADDR(softsp->address, - (AXQ_CASM_SLOT_START + AXQ_REGOFF(i))); + (AXQ_CASM_SLOT_START + AXQ_REGOFF(i))); } /* setup SDI timeout register accesses */ softsp->axq_sdi_timeout_rd = REG_ADDR(softsp->address, - AXQ_SLOT_SDI_TIMEOUT_RD); + AXQ_SLOT_SDI_TIMEOUT_RD); softsp->axq_sdi_timeout_rdclr = REG_ADDR(softsp->address, - AXQ_SLOT_SDI_TIMEOUT_RDCLR); + AXQ_SLOT_SDI_TIMEOUT_RDCLR); /* * Save the CDC state (enabled or disabled) @@ -488,7 +488,7 @@ axq_init(struct axq_soft_state *softsp) */ if (softsp->slotnum == 0) { softsp->axq_cdc_state = *softsp->axq_cdc_ctrltest & - AXQ_CDC_DIS; + AXQ_CDC_DIS; } #ifndef _AXQ_LOCAL_ACCESS_SUPPORTED @@ -498,7 +498,7 @@ axq_init(struct axq_soft_state *softsp) * we'll use explicit addressing for now. */ softsp->axq_cpu2ssc_intr = REG_ADDR(softsp->address, - AXQ_SLOT_CPU2SSC_INTR); + AXQ_SLOT_CPU2SSC_INTR); #endif /* _AXQ_LOCAL_ACCESS_SUPPORTED */ } @@ -513,7 +513,7 @@ axq_init_local(struct axq_local_regs *localregs) * Set it up here for now. */ localregs->axq_cpu2ssc_intr = REG_ADDR(localregs->laddress, - AXQ_SLOT_CPU2SSC_INTR); + AXQ_SLOT_CPU2SSC_INTR); } /* ARGSUSED */ @@ -551,7 +551,7 @@ axq_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) mutex_enter(&cpu_lock); for (i = 0; i < STARCAT_SLOT1_CPU_MAX; i++) { cpuid = MAKE_CPUID(softsp->expid, - softsp->slotnum, i); + softsp->slotnum, i); if (cpu[cpuid]) { mutex_exit(&cpu_lock); return (DDI_SUCCESS); @@ -579,7 +579,7 @@ axq_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) case DDI_DETACH: rw_enter(&axq_array_lock, RW_WRITER); ASSERT(axq_array[softsp->expid][softsp->slotnum] - != NULL); + != NULL); axq_array[softsp->expid][softsp->slotnum] = NULL; rw_exit(&axq_array_lock); @@ -675,14 +675,14 @@ axq_cdc_flush(uint32_t expid, int held, int disabled) /* disable sram and setup the ctrl test reg for flushing */ tmpval = axq_ctrl_test_save0 & (AXQ_CDC_DATA_ECC_CHK_EN | - AXQ_CDC_ADR_PAR_CHK_EN | - AXQ_CDC_DATA_ECC_GEN_EN | - AXQ_CDC_ADR_PAR_GEN_EN); + AXQ_CDC_ADR_PAR_CHK_EN | + AXQ_CDC_DATA_ECC_GEN_EN | + AXQ_CDC_ADR_PAR_GEN_EN); *softsp->axq_cdc_ctrltest = tmpval | AXQ_CDC_TMODE_WR - | AXQ_CDC_DATA2PAR_MUX_SEL_DATA - | AXQ_CDC_ADR2SRAM_MUX_SEL_TEST - | AXQ_CDC_ADR_INCR_XOR_CTRL - | AXQ_CDC_DIS; + | AXQ_CDC_DATA2PAR_MUX_SEL_DATA + | AXQ_CDC_ADR2SRAM_MUX_SEL_TEST + | AXQ_CDC_ADR_INCR_XOR_CTRL + | AXQ_CDC_DIS; /* Enable CDC test in the CDC Address test reg */ *softsp->axq_cdc_addrtest = AXQ_CDC_ADR_TEST_EN; @@ -701,14 +701,14 @@ axq_cdc_flush(uint32_t expid, int held, int disabled) for (i = 0; i < AXQ_CDC_FLUSH_WAIT; i++) { DELAY(3000); /* should take only 1750 usecs */ if (((*softsp->axq_cdc_counter) & - AXQ_CDC_CNT_TEST_DONE) != 0) { + AXQ_CDC_CNT_TEST_DONE) != 0) { break; } } if (i >= AXQ_CDC_FLUSH_WAIT) { retval = DDI_FAILURE; cmn_err(CE_WARN, "axq_cdc_flush failed on expander %d", - expid); + expid); } /* @@ -1147,13 +1147,13 @@ axq_casm_write_all(int casmslot, uint32_t value) for (i = 0; i < AXQ_MAX_EXP; i++) { if ((softsp = axq_array[i][SLOT0_AXQ]) != NULL) { if (*(softsp->axq_casm_slot[casmslot]) - == 0) { + == 0) { break; } } if ((softsp = axq_array[i][SLOT1_AXQ]) != NULL) { if (*(softsp->axq_casm_slot[casmslot]) - == 0) { + == 0) { break; } } @@ -1219,17 +1219,17 @@ axq_do_casm_rename_script(uint64_t **script_elm, int casmslot0, * they should be non-zero. */ for (slot = SLOT0_AXQ; slot <= SLOT1_AXQ; slot++) { - for (i = 0; i < AXQ_MAX_EXP; i++) { + for (i = 0; i < AXQ_MAX_EXP; i++) { if ((softsp = axq_array[i][slot]) != NULL) { paddr = softsp->axq_phyaddr; val0 = *(softsp->axq_casm_slot[casmslot0]); val1 = *(softsp->axq_casm_slot[casmslot1]); if (val0 != 0 && val1 != 0) { *s_elm++ = paddr + AXQ_CASM_SLOT_START + - AXQ_REGOFF(casmslot0); + AXQ_REGOFF(casmslot0); *s_elm++ = val1; *s_elm++ = paddr + AXQ_CASM_SLOT_START + - AXQ_REGOFF(casmslot1); + AXQ_REGOFF(casmslot1); *s_elm++ = val0; } else { /* @@ -1239,8 +1239,8 @@ axq_do_casm_rename_script(uint64_t **script_elm, int casmslot0, break; } } - } - if (i < AXQ_MAX_EXP) break; + } + if (i < AXQ_MAX_EXP) break; } rw_exit(&axq_array_lock); @@ -1373,13 +1373,13 @@ axq_add_picN_kstats(dev_info_t *dip) (void) sprintf(pic_name, "pic%d", pic); num_events = (pic <= 1) ? AXQ_PIC0_1_NUM_EVENTS : - AXQ_PIC2_NUM_EVENTS; + AXQ_PIC2_NUM_EVENTS; if ((axq_picN_ksp[pic] = kstat_create("axq", - instance, pic_name, "bus", KSTAT_TYPE_NAMED, - num_events + 1, NULL)) == NULL) { + instance, pic_name, "bus", KSTAT_TYPE_NAMED, + num_events + 1, NULL)) == NULL) { cmn_err(CE_WARN, "axq %s: kstat_create failed", - pic_name); + pic_name); /* remove pic kstats that was created earlier */ for (i = 0; i < pic; i++) { @@ -1390,7 +1390,7 @@ axq_add_picN_kstats(dev_info_t *dip) } axq_pic_named_data = - (struct kstat_named *)(axq_picN_ksp[pic]->ks_data); + (struct kstat_named *)(axq_picN_ksp[pic]->ks_data); pic_shift = pic * AXQ_PIC_SHIFT; @@ -1401,12 +1401,12 @@ axq_add_picN_kstats(dev_info_t *dip) for (event = 0; event < num_events; event++) { /* pcr_mask */ axq_pic_named_data[event].value.ui64 = - axq_events[event].pcr_mask << pic_shift; + axq_events[event].pcr_mask << pic_shift; /* event name */ kstat_named_init(&axq_pic_named_data[event], - axq_events[event].event_name, - KSTAT_DATA_UINT64); + axq_events[event].event_name, + KSTAT_DATA_UINT64); } /* @@ -1414,10 +1414,10 @@ axq_add_picN_kstats(dev_info_t *dip) * record in the kstat. */ axq_pic_named_data[num_events].value.ui64 = - (uint32_t)~(AXQ_PIC_CLEAR_MASK << pic_shift); + (uint32_t)~(AXQ_PIC_CLEAR_MASK << pic_shift); kstat_named_init(&axq_pic_named_data[num_events], - "clear_pic", KSTAT_DATA_UINT64); + "clear_pic", KSTAT_DATA_UINT64); kstat_install(axq_picN_ksp[pic]); } @@ -1450,29 +1450,29 @@ axq_add_kstats(struct axq_soft_state *softsp) * The size of this kstat is AXQ_NUM_PICS + 1 for %pcr */ if ((axq_counters_ksp = kstat_create("axq", - ddi_get_instance(softsp->dip), "counters", - "bus", KSTAT_TYPE_NAMED, AXQ_NUM_PICS + 1, - KSTAT_FLAG_WRITABLE)) == NULL) { + ddi_get_instance(softsp->dip), "counters", + "bus", KSTAT_TYPE_NAMED, AXQ_NUM_PICS + 1, + KSTAT_FLAG_WRITABLE)) == NULL) { cmn_err(CE_WARN, "axq%d counters: kstat_create" " failed", ddi_get_instance(softsp->dip)); return; } axq_counters_named_data = - (struct kstat_named *)(axq_counters_ksp->ks_data); + (struct kstat_named *)(axq_counters_ksp->ks_data); /* initialize the named kstats */ kstat_named_init(&axq_counters_named_data[0], - "pcr", KSTAT_DATA_UINT32); + "pcr", KSTAT_DATA_UINT32); kstat_named_init(&axq_counters_named_data[1], - "pic0", KSTAT_DATA_UINT32); + "pic0", KSTAT_DATA_UINT32); kstat_named_init(&axq_counters_named_data[2], - "pic1", KSTAT_DATA_UINT32); + "pic1", KSTAT_DATA_UINT32); kstat_named_init(&axq_counters_named_data[3], - "pic2", KSTAT_DATA_UINT32); + "pic2", KSTAT_DATA_UINT32); axq_counters_ksp->ks_update = axq_counters_kstat_update; axq_counters_ksp->ks_private = (void *)softsp; @@ -1509,19 +1509,19 @@ axq_counters_kstat_update(kstat_t *ksp, int rw) /* pcr */ axq_counters_data[0].value.ui64 = (uint64_t) - (*softsp->axq_pcr); + (*softsp->axq_pcr); /* pic0 */ axq_counters_data[1].value.ui64 = (uint64_t) - (*softsp->axq_pic0); + (*softsp->axq_pic0); /* pic1 */ axq_counters_data[2].value.ui64 = (uint64_t) - *softsp->axq_pic1; + *softsp->axq_pic1; /* pic2 */ axq_counters_data[3].value.ui64 = (uint64_t) - *softsp->axq_pic2; + *softsp->axq_pic2; } return (0); } @@ -1580,7 +1580,7 @@ starcat_axq_pio_workaround(dev_info_t *dip) pdip = ddi_root_node(); ndi_devi_enter(pdip, &circ); for (cdip = ddi_get_child(pdip); cdip != NULL; - cdip = ddi_get_next_sibling(cdip)) { + cdip = ddi_get_next_sibling(cdip)) { if (ddi_getlongprop(DDI_DEV_T_ANY, cdip, DDI_PROP_DONTPASS, "name", (caddr_t)&name, &size) @@ -1730,7 +1730,7 @@ axq_unmap_phys(ddi_acc_handle_t *handlep) mr.map_vers = DDI_MAP_VERSION; (void) ddi_map(hp->ah_dip, &mr, hp->ah_offset, - hp->ah_len, &hp->ah_addr); + hp->ah_len, &hp->ah_addr); impl_acc_hdl_free(*handlep); kmem_free(ph, sizeof (struct regspec)); /* Free the cached copy */ diff --git a/usr/src/uts/sun4u/starcat/io/cvc.c b/usr/src/uts/sun4u/starcat/io/cvc.c index 44bc9aed75..d236908251 100644 --- a/usr/src/uts/sun4u/starcat/io/cvc.c +++ b/usr/src/uts/sun4u/starcat/io/cvc.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * MT STREAMS Virtual Console Device Driver @@ -171,14 +169,15 @@ static void cvc_dbg(uint32_t flag, char *fmt, */ DDI_DEFINE_STREAM_OPS(cvcops, nulldev, nulldev, cvc_attach, cvc_detach, - nodev, cvc_info, (D_NEW|D_MTPERQ|D_MP), &cvcinfo); + nodev, cvc_info, (D_NEW|D_MTPERQ|D_MP), &cvcinfo, + ddi_quiesce_not_supported); extern int nodev(), nulldev(); extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "CVC driver 'cvc' v%I%", + "CVC driver 'cvc'", &cvcops, /* driver ops */ }; @@ -239,8 +238,8 @@ cvc_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) } else { #if defined(DEBUG) cmn_err(CE_NOTE, - "cvc_attach: called multiple times!! (instance = %d)", - ddi_get_instance(devi)); + "cvc_attach: called multiple times!! (instance = %d)", + ddi_get_instance(devi)); #endif /* DEBUG */ mutex_exit(&cvcmutex); return (DDI_SUCCESS); @@ -412,7 +411,7 @@ cvc_wput(queue_t *q, mblk_t *mp) rw_enter(&cvclock, RW_READER); CVC_DBG2(CVC_DBG_WPUT, "mp 0x%x db_type 0x%x", - mp, mp->b_datap->db_type); + mp, mp->b_datap->db_type); switch (mp->b_datap->db_type) { @@ -764,7 +763,7 @@ cvc_register(queue_t *q) cmn_err(CE_WARN, "cvc_register: duplicate q!"); else cmn_err(CE_WARN, "cvc_register: nondup q = 0x%p", - q); + q); return (error); } rw_exit(&cvclock); @@ -1144,7 +1143,8 @@ cvc_getstr(char *cp) */ rval = iosram_get_flag(IOSRAM_KEY_CONI, &dvalid, &intrpending); if ((rval != 0) && (rval != EAGAIN)) { - cmn_err(CE_WARN, "cvc_getstr: get flag for inbuf ret %d", + cmn_err(CE_WARN, + "cvc_getstr: get flag for inbuf ret %d", rval); } if ((rval != 0) || (dvalid != IOSRAM_DATA_VALID)) { diff --git a/usr/src/uts/sun4u/starcat/io/cvcredir.c b/usr/src/uts/sun4u/starcat/io/cvcredir.c index d6ef8ac356..49abd0337b 100644 --- a/usr/src/uts/sun4u/starcat/io/cvcredir.c +++ b/usr/src/uts/sun4u/starcat/io/cvcredir.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * MT STREAMS Virtual Console Redirection Device Driver @@ -106,13 +104,14 @@ struct streamtab cvcrinfo = { }; DDI_DEFINE_STREAM_OPS(cvcrops, nulldev, nulldev, cvcr_attach, - cvcr_detach, nodev, cvcr_info, (D_MTPERQ|D_MP), &cvcrinfo); + cvcr_detach, nodev, cvcr_info, (D_MTPERQ|D_MP), &cvcrinfo, + ddi_quiesce_not_supported); extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "CVC redirect driver 'cvcredir' v%I%", + "CVC redirect driver 'cvcredir'", &cvcrops, /* driver ops */ }; @@ -214,7 +213,7 @@ cvcr_open(queue_t *q, dev_t *dev, int flag, int sflag, cred_t *cred) */ if (cvc_register(RD(q)) == -1) { cmn_err(CE_WARN, "cvcr_open: cvc_register failed for q = 0x%p", - q); + q); } return (0); } diff --git a/usr/src/uts/sun4u/starcat/io/dman.c b/usr/src/uts/sun4u/starcat/io/dman.c index 4d2e65026d..b8ff98fb37 100644 --- a/usr/src/uts/sun4u/starcat/io/dman.c +++ b/usr/src/uts/sun4u/starcat/io/dman.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Starcat Management Network Driver @@ -719,13 +718,14 @@ static struct streamtab man_maninfo = { #define MAN_MDEV_FLAGS (D_MP|D_MTPERMOD|D_MTPUTSHARED) DDI_DEFINE_STREAM_OPS(man_ops, nulldev, nulldev, man_attach, - man_detach, nodev, man_info, MAN_MDEV_FLAGS, &man_maninfo); + man_detach, nodev, man_info, MAN_MDEV_FLAGS, &man_maninfo, + ddi_quiesce_not_supported); extern int nodev(), nulldev(); static struct modldrv modldrv = { &mod_driverops, /* Module type. This one is a pseudo driver */ - "MAN MetaDriver v%I%", + "MAN MetaDriver", &man_ops, /* driver ops */ }; @@ -748,14 +748,14 @@ _init(void) status = mod_install(&modlinkage); if (status != 0) { cmn_err(CE_WARN, "man_init: mod_install failed" - " error = %d", status); + " error = %d", status); return (status); } status = ddi_soft_state_init(&man_softstate, sizeof (man_t), 4); if (status != 0) { cmn_err(CE_WARN, "man_init: ddi_soft_state_init failed" - " error = %d", status); + " error = %d", status); mod_remove(&modlinkage); return (status); } @@ -971,7 +971,7 @@ man_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) manp->man_eaddr_v = 1; MAN_DBG(MAN_INIT, ("man_attach: set ether to %s", - ether_sprintf(&manp->man_eaddr))); + ether_sprintf(&manp->man_eaddr))); /* * Initialize failover-related fields (timers and such), @@ -1002,7 +1002,7 @@ man_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) "man_dlpireset_time", MAN_DLPIRESET_TIME); if (ddi_create_internal_pathname(dip, MAN_IDNAME, S_IFCHR, - ddi_get_instance(dip)) == DDI_SUCCESS) { + ddi_get_instance(dip)) == DDI_SUCCESS) { minor_node_created = 1; } else { cmn_err(CE_WARN, "man_attach: failed for instance %d", @@ -1011,7 +1011,7 @@ man_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } if (ddi_create_minor_node(dip, MAN_IDNAME, S_IFCHR, - ddi_get_instance(dip), DDI_NT_NET, CLONE_DEV) == DDI_SUCCESS) { + ddi_get_instance(dip), DDI_NT_NET, CLONE_DEV) == DDI_SUCCESS) { minor_node_created = 1; } else { cmn_err(CE_WARN, "man_attach: failed for instance %d", @@ -1028,12 +1028,12 @@ man_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) flag |= KSTAT_FLAG_PERSISTENT; #endif ksp = kstat_create(MAN_IDNAME, ddi_get_instance(dip), NULL, "net", - KSTAT_TYPE_NAMED, MAN_NUMSTATS, flag); + KSTAT_TYPE_NAMED, MAN_NUMSTATS, flag); if (ksp == NULL) { cmn_err(CE_WARN, "man_attach(%d): kstat_create failed" - " - manp(0x%p)", manp->man_meta_ppa, - (void *)manp); + " - manp(0x%p)", manp->man_meta_ppa, + (void *)manp); goto exit; } @@ -1046,7 +1046,7 @@ man_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) ddi_report_dev(dip); MAN_DBG(MAN_INIT, ("man_attach(%d) returns DDI_SUCCESS", - ddi_get_instance(dip))); + ddi_get_instance(dip))); return (DDI_SUCCESS); @@ -1057,7 +1057,7 @@ exit: ddi_soft_state_free(man_softstate, instance); MAN_DBG(MAN_INIT, ("man_attach(%d) eaddr returns DDI_FAILIRE", - ddi_get_instance(dip))); + ddi_get_instance(dip))); return (DDI_FAILURE); @@ -1116,8 +1116,8 @@ man_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) mutex_exit(&man_lock); cmn_err(CE_WARN, "man_detach: unable to get softstate" - " for instance = %d, dip = 0x%p!\n", instance, - (void *)dip); + " for instance = %d, dip = 0x%p!\n", instance, + (void *)dip); return (DDI_FAILURE); } @@ -1125,7 +1125,7 @@ man_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) mutex_exit(&man_lock); cmn_err(CE_WARN, "man_detach: %s%d refcnt %d", MAN_IDNAME, - instance, manp->man_refcnt); + instance, manp->man_refcnt); MAN_DBGCALL(MAN_INIT, man_print_man(manp)); return (DDI_FAILURE); @@ -1321,7 +1321,7 @@ man_open(queue_t *rq, dev_t *devp, int flag, int sflag, cred_t *credp) exit: MAN_DBG(MAN_OCLOSE, ("man_open: exit rq(0x%p) minor %d errno %d\n", - (void *)rq, minordev, status)); + (void *)rq, minordev, status)); /* * Clean up on error. @@ -1570,8 +1570,8 @@ man_uwput(register queue_t *wq, register mblk_t *mp) msp = (manstr_t *)wq->q_ptr; MAN_DBG(MAN_UWPUT, ("man_uwput: wq(0x%p) mp(0x%p) db_type(0x%x)" - " msp(0x%p)\n", - (void *)wq, (void *)mp, DB_TYPE(mp), (void *)msp)); + " msp(0x%p)\n", + (void *)wq, (void *)mp, DB_TYPE(mp), (void *)msp)); #if DEBUG if (man_debug & MAN_UWPUT) { if (DB_TYPE(mp) == M_IOCTL) { @@ -1594,8 +1594,8 @@ man_uwput(register queue_t *wq, register mblk_t *mp) manp = msp->ms_manp; if (((msp->ms_flags & (MAN_SFLAG_FAST | MAN_SFLAG_RAW)) == 0) || - (msp->ms_dlpistate != DL_IDLE) || - (manp == NULL)) { + (msp->ms_dlpistate != DL_IDLE) || + (manp == NULL)) { merror(wq, mp, EPROTO); break; @@ -1697,7 +1697,7 @@ man_start(register queue_t *wq, register mblk_t *mp, eaddr_t *eap) msp = (manstr_t *)wq->q_ptr; MAN_DBG(MAN_DATA, ("man_start: msp(0x%p) ether_addr(%s)\n", - (void *)msp, ether_sprintf(eap))); + (void *)msp, ether_sprintf(eap))); if (msp->ms_dests == NULL) { cmn_err(CE_WARN, "man_start: no destinations"); @@ -1742,7 +1742,7 @@ man_start(register queue_t *wq, register mblk_t *mp, eaddr_t *eap) } else { MAN_DBG(MAN_DATA, ("man_start: no destination" - " for eaddr %s\n", ether_sprintf(eap))); + " for eaddr %s\n", ether_sprintf(eap))); freemsg(mp); } } else { @@ -1758,17 +1758,17 @@ man_start(register queue_t *wq, register mblk_t *mp, eaddr_t *eap) if ((tmp = copymsg(mp)) != NULL) { (void) man_start_lower(mdp, tmp, - NULL, MAN_UPPER); + NULL, MAN_UPPER); } else { MAN_DBG(MAN_DATA, ("man_start: copymsg" - " failed!")); + " failed!")); } } freemsg(mp); } else { if (mdp->md_state == MAN_DSTATE_READY) status = man_start_lower(mdp, mp, wq, - MAN_UPPER); + MAN_UPPER); else freemsg(mp); } @@ -1804,7 +1804,7 @@ man_start_lower(man_dest_t *mdp, mblk_t *mp, queue_t *flow_wq, int caller) * stream. */ if (mdp->md_dmp_head == NULL && - wq->q_first == NULL && canputnext(wq)) { + wq->q_first == NULL && canputnext(wq)) { (void) putnext(wq, mp); @@ -1824,7 +1824,7 @@ man_start_lower(man_dest_t *mdp, mblk_t *mp, queue_t *flow_wq, int caller) mdp->md_dmp_tail->b_next = mp; mdp->md_dmp_tail = mp; mdp->md_dmp_count += - msgsize(mp); + msgsize(mp); } mutex_exit(&mdp->md_lock); /* @@ -1861,8 +1861,8 @@ man_start_lower(man_dest_t *mdp, mblk_t *mp, queue_t *flow_wq, int caller) qenable(wq); } else { MAN_DBG(MAN_DATA, ("man_start_lower:" - " lower q flow controlled -" - " discarding packet")); + " lower q flow controlled -" + " discarding packet")); freemsg(mp); goto exit; } @@ -1888,8 +1888,8 @@ man_start_lower(man_dest_t *mdp, mblk_t *mp, queue_t *flow_wq, int caller) if (mdp->md_state == MAN_DSTATE_NOTPRESENT) { nodest: cmn_err(CE_WARN, - "man_start_lower: no dest for mdp(0x%p), caller(%d)!", - (void *)mdp, caller); + "man_start_lower: no dest for mdp(0x%p), caller(%d)!", + (void *)mdp, caller); if (caller == MAN_UPPER) freemsg(mp); goto exit; @@ -1897,7 +1897,7 @@ nodest: if (mdp->md_state & MAN_DSTATE_CLOSING) { MAN_DBG(MAN_DATA, ("man_start_lower: mdp(0x%p) closing", - (void *)mdp)); + (void *)mdp)); if (caller == MAN_UPPER) freemsg(mp); goto exit; @@ -1962,13 +1962,13 @@ man_ioctl(register queue_t *wq, register mblk_t *mp) sprintf(ioc_cmd, "not handled IOCTL 0x%x", iocp->ioc_cmd); MAN_DBG((MAN_SWITCH | MAN_PATH | MAN_DLPI), - ("man_ioctl: wq(0x%p) mp(0x%p) cmd(%s)\n", - (void *)wq, (void *)mp, - (iocp->ioc_cmd == I_PLINK) ? "I_PLINK" : - (iocp->ioc_cmd == I_PUNLINK) ? "I_PUNLINK" : - (iocp->ioc_cmd == MAN_SETPATH) ? "MAN_SETPATH" : - (iocp->ioc_cmd == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : - (iocp->ioc_cmd == DLIOCRAW) ? "DLIOCRAW" : ioc_cmd)); + ("man_ioctl: wq(0x%p) mp(0x%p) cmd(%s)\n", + (void *)wq, (void *)mp, + (iocp->ioc_cmd == I_PLINK) ? "I_PLINK" : + (iocp->ioc_cmd == I_PUNLINK) ? "I_PUNLINK" : + (iocp->ioc_cmd == MAN_SETPATH) ? "MAN_SETPATH" : + (iocp->ioc_cmd == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : + (iocp->ioc_cmd == DLIOCRAW) ? "DLIOCRAW" : ioc_cmd)); } #endif /* DEBUG */ @@ -2026,7 +2026,7 @@ man_ioctl(register queue_t *wq, register mblk_t *mp) default: MAN_DBG(MAN_DDI, ("man_ioctl: unknown ioc_cmd %d\n", - (unsigned int)iocp->ioc_cmd)); + (unsigned int)iocp->ioc_cmd)); miocnak(wq, mp, 0, EINVAL); break; } @@ -2235,12 +2235,12 @@ man_set_sc_ipaddrs(queue_t *wq, mblk_t *mp) char buf[INET_ADDRSTRLEN]; (void) inet_ntop(AF_INET, - (void *) &man_sc_ipaddrs.ip_other_sc_ipaddr, - buf, INET_ADDRSTRLEN); + (void *) &man_sc_ipaddrs.ip_other_sc_ipaddr, + buf, INET_ADDRSTRLEN); MAN_DBG(MAN_CONFIG, ("ip_other_sc_ipaddr = %s", buf)); (void) inet_ntop(AF_INET, - (void *) &man_sc_ipaddrs.ip_my_sc_ipaddr, - buf, INET_ADDRSTRLEN); + (void *) &man_sc_ipaddrs.ip_my_sc_ipaddr, + buf, INET_ADDRSTRLEN); MAN_DBG(MAN_CONFIG, ("ip_my_sc_ipaddr = %s", buf)); } #endif /* DEBUG */ @@ -2270,12 +2270,12 @@ man_set_sc_ip6addrs(queue_t *wq, mblk_t *mp) char buf[INET6_ADDRSTRLEN]; (void) inet_ntop(AF_INET6, - (void *) &man_sc_ip6addrs.ip6_other_sc_ipaddr, - buf, INET6_ADDRSTRLEN); + (void *) &man_sc_ip6addrs.ip6_other_sc_ipaddr, + buf, INET6_ADDRSTRLEN); MAN_DBG(MAN_CONFIG, ("ip6_other_sc_ipaddr = %s", buf)); (void) inet_ntop(AF_INET6, - (void *) &man_sc_ip6addrs.ip6_my_sc_ipaddr, - buf, INET6_ADDRSTRLEN); + (void *) &man_sc_ip6addrs.ip6_my_sc_ipaddr, + buf, INET6_ADDRSTRLEN); MAN_DBG(MAN_CONFIG, ("ip6_my_sc_ipaddr = %s", buf)); } #endif /* DEBUG */ @@ -2364,7 +2364,7 @@ man_dl_ioc_hdr_info(queue_t *wq, mblk_t *mp) exit: MAN_DBG(MAN_DLPI, ("man_dl_ioc_hdr_info: returns, status = %d", - status)); + status)); if (status) { miocnak(wq, mp, 0, status); @@ -2440,7 +2440,7 @@ man_uwsrv(queue_t *wq) default: MAN_DBG(MAN_UWSRV, ("man_uwsrv: discarding mp(0x%p)", - (void *)mp)); + (void *)mp)); freemsg(mp); break; } @@ -2452,7 +2452,7 @@ break_loop: * perimeter. */ if ((msp->ms_flags & MAN_SFLAG_CONTROL) && - man_iwork_q->q_work != NULL) { + man_iwork_q->q_work != NULL) { man_iwork(); } @@ -2485,8 +2485,8 @@ man_proto(queue_t *wq, mblk_t *mp) dlp = (union DL_primitives *)mp->b_rptr; MAN_DBG((MAN_UWSRV | MAN_DLPI), - ("man_proto: mp(0x%p) prim(%s)\n", (void *)mp, - dps[dlp->dl_primitive])); + ("man_proto: mp(0x%p) prim(%s)\n", (void *)mp, + dps[dlp->dl_primitive])); switch (dlp->dl_primitive) { case DL_UNITDATA_REQ: @@ -2539,7 +2539,7 @@ man_proto(queue_t *wq, mblk_t *mp) default: MAN_DBG((MAN_UWSRV | MAN_DLPI), ("man_proto: prim(%d)\n", - dlp->dl_primitive)); + dlp->dl_primitive)); dlerrorack(wq, mp, dlp->dl_primitive, DL_UNSUPPORTED, 0); break; @@ -2701,7 +2701,7 @@ man_areq(queue_t *wq, mblk_t *mp) } MAN_DBG(MAN_DLPI, ("man_areq: ppa 0x%x man_refcnt: %d\n", - ppa, manp->man_refcnt)); + ppa, manp->man_refcnt)); SETSTATE(msp, DL_UNBOUND); @@ -2785,7 +2785,7 @@ man_start_dest(man_dest_t *mdp, manstr_t *msp, man_pg_t *mpg) mdp->md_linkstate = MAN_LINKFAIL; mdp->md_state = MAN_DSTATE_INITIALIZING; mdp->md_lc_timer_id = qtimeout(man_ctl_wq, man_linkcheck_timer, - (void *)mdp, man_gettimer(MAN_TIMER_INIT, mdp)); + (void *)mdp, man_gettimer(MAN_TIMER_INIT, mdp)); /* * As an optimization, if there is only one destination, @@ -2884,11 +2884,11 @@ man_dl_catch(mblk_t **mplist, mblk_t *mp) prim = DL_PRIM(mp); MAN_DBG(MAN_DLPI, - ("man_dl_catch: adding %s\n", - (prim == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : - (prim == DLIOCRAW) ? "DLIOCRAW" : - (prim == DL_PROMISCON_REQ) ? promisc[DL_PROMISCON_TYPE(mp)] : - dps[prim])); + ("man_dl_catch: adding %s\n", + (prim == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : + (prim == DLIOCRAW) ? "DLIOCRAW" : + (prim == DL_PROMISCON_REQ) ? promisc[DL_PROMISCON_TYPE(mp)] : + dps[prim])); exit: @@ -2987,11 +2987,11 @@ man_dlpi_replay(man_dest_t *mdp, mblk_t *rmp) dlp = (union DL_primitives *)mp->b_rptr; MAN_DBG(MAN_DLPI, - ("man_dlpi_replay: mdp(0x%p) sending %s\n", - (void *)mdp, - (dlp->dl_primitive == DL_IOC_HDR_INFO) ? - "DL_IOC_HDR_INFO" : (dlp->dl_primitive == DLIOCRAW) ? - "DLIOCRAW" : dps[(unsigned)(dlp->dl_primitive)])); + ("man_dlpi_replay: mdp(0x%p) sending %s\n", + (void *)mdp, + (dlp->dl_primitive == DL_IOC_HDR_INFO) ? + "DL_IOC_HDR_INFO" : (dlp->dl_primitive == DLIOCRAW) ? + "DLIOCRAW" : dps[(unsigned)(dlp->dl_primitive)])); if (dlp->dl_primitive == DL_ATTACH_REQ) { /* @@ -3111,9 +3111,9 @@ exit: if (matched) { MAN_DBG(MAN_DLPI, ("man_dl_release: release %s", - (DL_PRIM(mp) == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : - (DL_PRIM(mp) == DLIOCRAW) ? "DLIOCRAW" : - dps[(int)DL_PRIM(mp)])); + (DL_PRIM(mp) == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : + (DL_PRIM(mp) == DLIOCRAW) ? "DLIOCRAW" : + dps[(int)DL_PRIM(mp)])); freemsg(tmp); } @@ -3449,8 +3449,8 @@ man_emreq(queue_t *wq, mblk_t *mp) addrp = (struct ether_addr *)(mp->b_rptr + off); if ((len != ETHERADDRL) || - !MBLKIN(mp, off, len) || - ((addrp->ether_addr_octet[0] & 01) == 0)) { + !MBLKIN(mp, off, len) || + ((addrp->ether_addr_octet[0] & 01) == 0)) { dlerrorack(wq, mp, DL_ENABMULTI_REQ, DL_BADADDR, 0); return; } @@ -3495,8 +3495,8 @@ man_dmreq(queue_t *wq, mblk_t *mp) addrp = (struct ether_addr *)(mp->b_rptr + off); if ((len != ETHERADDRL) || - !MBLKIN(mp, off, len) || - ((addrp->ether_addr_octet[0] & 01) == 0)) { + !MBLKIN(mp, off, len) || + ((addrp->ether_addr_octet[0] & 01) == 0)) { dlerrorack(wq, mp, DL_ENABMULTI_REQ, DL_BADADDR, 0); return; } @@ -3587,8 +3587,8 @@ man_spareq(queue_t *wq, mblk_t *mp) * specified is a multicast or broadcast address. */ if ((len != ETHERADDRL) || - ((addrp->ether_addr_octet[0] & 01) == 1) || - (ether_cmp(addrp, ðerbroadcast) == 0)) { + ((addrp->ether_addr_octet[0] & 01) == 1) || + (ether_cmp(addrp, ðerbroadcast) == 0)) { dlerrorack(wq, mp, DL_SET_PHYS_ADDR_REQ, DL_BADADDR, 0); return; } @@ -3612,7 +3612,7 @@ man_spareq(queue_t *wq, mblk_t *mp) ether_copy(addrp, msp->ms_manp->man_eaddr.ether_addr_octet); MAN_DBG(MAN_DLPI, ("man_sareq: snagged %s\n", - ether_sprintf(&msp->ms_manp->man_eaddr))); + ether_sprintf(&msp->ms_manp->man_eaddr))); dlokack(wq, mp, DL_SET_PHYS_ADDR_REQ); @@ -3639,8 +3639,8 @@ man_lwsrv(queue_t *wq) mdp = (man_dest_t *)wq->q_ptr; MAN_DBG(MAN_LWSRV, ("man_lwsrv: wq(0x%p) mdp(0x%p)" - " md_rq(0x%p)\n", (void *)wq, (void *)mdp, - mdp ? (void *)mdp->md_rq : NULL)); + " md_rq(0x%p)\n", (void *)wq, (void *)mdp, + mdp ? (void *)mdp->md_rq : NULL)); if (mdp == NULL) goto exit; @@ -3729,12 +3729,12 @@ man_lrput(queue_t *rq, mblk_t *mp) } prim_str = (prim > MAN_DLPI_MAX_PRIM) ? "NON DLPI" : - (prim == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : - (prim == DLIOCRAW) ? "DLIOCRAW" : - dps[(unsigned int)prim]; + (prim == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : + (prim == DLIOCRAW) ? "DLIOCRAW" : + dps[(unsigned int)prim]; MAN_DBG(MAN_LRPUT, ("man_lrput: rq(0x%p) mp(0x%p) mdp(0x%p)" - " db_type(0x%x) dl_prim %s", (void *)rq, - (void *)mp, (void *)mdp, DB_TYPE(mp), prim_str)); + " db_type(0x%x) dl_prim %s", (void *)rq, + (void *)mp, (void *)mdp, DB_TYPE(mp), prim_str)); MAN_DBGCALL(MAN_LRPUT2, man_print_mdp(mdp)); #endif /* DEBUG */ @@ -3751,7 +3751,7 @@ man_lrput(queue_t *rq, mblk_t *mp) if (mdp == NULL || mdp->md_state != MAN_DSTATE_READY) { MAN_DBG(MAN_LRPUT, ("man_lrput: not ready mdp(0x%p)," - " state(%d)", (void *)mdp, mdp ? mdp->md_state : -1)); + " state(%d)", (void *)mdp, mdp ? mdp->md_state : -1)); freemsg(mp); return (0); } @@ -3769,7 +3769,7 @@ man_lrput(queue_t *rq, mblk_t *mp) * go put mblk_t directly up to next queue. */ MAN_DBG(MAN_LRPUT, ("man_lrput: putnext to rq(0x%p)", - (void *)mdp->md_rq)); + (void *)mdp->md_rq)); (void) putnext(mdp->md_rq, mp); } else { freemsg(mp); @@ -3823,7 +3823,7 @@ man_lrsrv(queue_t *rq) if (MAN_IS_DATA(mp) || mdp->md_state != MAN_DSTATE_READY) { MAN_DBG(MAN_LRSRV, ("man_lrsrv: dropping mblk mdp(0x%p)" - " is_data(%d)", (void *)mdp, MAN_IS_DATA(mp))); + " is_data(%d)", (void *)mdp, MAN_IS_DATA(mp))); freemsg(mp); continue; } @@ -3850,9 +3850,9 @@ man_lrsrv(queue_t *rq) sprintf(ioc_cmd, "0x%x", iocp->ioc_cmd); MAN_DBG(MAN_LRSRV, ("man_lrsrv: M_IOCNAK err %d for cmd(%s)\n", - iocp->ioc_error, - (iocp->ioc_cmd == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : - (iocp->ioc_cmd == DLIOCRAW) ? "DLIOCRAW" : ioc_cmd)); + iocp->ioc_error, + (iocp->ioc_cmd == DL_IOC_HDR_INFO) ? "DL_IOC_HDR_INFO" : + (iocp->ioc_cmd == DLIOCRAW) ? "DLIOCRAW" : ioc_cmd)); #endif /* DEBUG */ /* FALLTHRU */ @@ -3917,12 +3917,12 @@ man_lrsrv(queue_t *rq) ASSERT(mdp->md_bc_id == 0); if (mdp->md_lc_timer_id != 0) { (void) quntimeout(man_ctl_wq, - mdp->md_lc_timer_id); + mdp->md_lc_timer_id); mdp->md_lc_timer_id = 0; } } MAN_DBG(MAN_DLPI, - (" cprim %s", dps[(int)cprim])); + (" cprim %s", dps[(int)cprim])); break; case DL_BIND_ACK: @@ -3935,8 +3935,8 @@ man_lrsrv(queue_t *rq) mdp->md_linkstate = MAN_LINKGOOD; if (man_needs_linkcheck(mdp)) { mdp->md_lc_timer_id = qtimeout(man_ctl_wq, - man_linkcheck_timer, (void *)mdp, - man_gettimer(MAN_TIMER_LINKCHECK, mdp)); + man_linkcheck_timer, (void *)mdp, + man_gettimer(MAN_TIMER_LINKCHECK, mdp)); } break; @@ -3963,16 +3963,16 @@ man_lrsrv(queue_t *rq) } MAN_DBG(MAN_DLPI, - ("\tdl_errno %d dl_unix_errno %d cprim %s", - dlp->error_ack.dl_errno, dlp->error_ack.dl_unix_errno, - dps[(int)cprim])); + ("\tdl_errno %d dl_unix_errno %d cprim %s", + dlp->error_ack.dl_errno, dlp->error_ack.dl_unix_errno, + dps[(int)cprim])); break; case DL_UDERROR_IND: MAN_DBG(MAN_DLPI, - ("\tdl_errno %d unix_errno %d", - dlp->uderror_ind.dl_errno, - dlp->uderror_ind.dl_unix_errno)); + ("\tdl_errno %d unix_errno %d", + dlp->uderror_ind.dl_errno, + dlp->uderror_ind.dl_unix_errno)); break; case DL_INFO_ACK: @@ -3983,7 +3983,7 @@ man_lrsrv(queue_t *rq) * We should not get here. */ cmn_err(CE_WARN, "man_lrsrv: unexpected DL prim 0x%lx!", - prim); + prim); need_dl_reset = TRUE; break; } @@ -4011,15 +4011,15 @@ dl_reset: ASSERT(mdp->md_msp != NULL); ASSERT(mdp->md_msp->ms_manp != NULL); mpg = man_find_pg_by_id(mdp->md_msp->ms_manp->man_pg, - mdp->md_pg_id); + mdp->md_pg_id); ASSERT(mpg != NULL); mp = man_find_path_by_ppa(mpg->mpg_pathp, - mdp->md_device.mdev_ppa); + mdp->md_device.mdev_ppa); ASSERT(mp != NULL); mp->mp_device.mdev_state |= MDEV_FAILED; if ((mdp->md_dlpierrors >= MAN_MAX_DLPIERRORS) && - (man_is_on_domain || - mdp->md_msp->ms_manp->man_meta_ppa == 1)) { + (man_is_on_domain || + mdp->md_msp->ms_manp->man_meta_ppa == 1)) { /* * Autoswitching is disabled for instance 0 * on the SC as we expect the domain to @@ -4027,12 +4027,12 @@ dl_reset: */ (void) man_do_autoswitch((man_dest_t *)mdp); MAN_DBG(MAN_WARN, ("man_lrsrv: dlpi failure(%d,%d)," - " switching path", mdp->md_device.mdev_major, - mdp->md_device.mdev_ppa)); + " switching path", mdp->md_device.mdev_major, + mdp->md_device.mdev_ppa)); } else { mdp->md_lc_timer_id = qtimeout(man_ctl_wq, - man_reset_dlpi, (void *)mdp, - man_gettimer(MAN_TIMER_DLPIRESET, mdp)); + man_reset_dlpi, (void *)mdp, + man_gettimer(MAN_TIMER_DLPIRESET, mdp)); } mutex_exit(&man_lock); } @@ -4094,7 +4094,7 @@ man_iwork() int wp_finished; MAN_DBG(MAN_SWITCH, ("man_iwork: q_work(0x%p)", - (void *)man_iwork_q->q_work)); + (void *)man_iwork_q->q_work)); mutex_enter(&man_lock); @@ -4107,7 +4107,7 @@ man_iwork() mutex_exit(&man_lock); MAN_DBG(MAN_SWITCH, ("man_iwork: type %s", - _mw_type[wp->mw_type])); + _mw_type[wp->mw_type])); wp_finished = TRUE; @@ -4526,7 +4526,7 @@ man_iswitch(man_work_t *wp) * Never got switch-to destinations open, free them. */ man_kfree(adp->a_mdp, - sizeof (man_dest_t) * adp->a_ndests); + sizeof (man_dest_t) * adp->a_ndests); } /* @@ -4567,7 +4567,7 @@ man_iswitch(man_work_t *wp) ASSERT(adp->a_st_dev.mdev_major != 0); mp = man_find_path_by_ppa(mpg->mpg_pathp, - adp->a_st_dev.mdev_ppa); + adp->a_st_dev.mdev_ppa); ASSERT(mp != NULL); @@ -4646,12 +4646,12 @@ man_ifail_dest(man_dest_t *mdp) * DL_IDLE, restart the linktimer. */ if ((mdp->md_state & MAN_DSTATE_INITIALIZING) || - ((mdp->md_msp->ms_sap == ETHERTYPE_IPV6 || - mdp->md_msp->ms_sap == ETHERTYPE_IP) && - mdp->md_msp->ms_dlpistate == DL_IDLE)) { + ((mdp->md_msp->ms_sap == ETHERTYPE_IPV6 || + mdp->md_msp->ms_sap == ETHERTYPE_IP) && + mdp->md_msp->ms_dlpistate == DL_IDLE)) { mdp->md_lc_timer_id = qtimeout(man_ctl_wq, man_linkcheck_timer, - (void *)mdp, man_gettimer(MAN_TIMER_LINKCHECK, mdp)); + (void *)mdp, man_gettimer(MAN_TIMER_LINKCHECK, mdp)); } } @@ -4721,7 +4721,7 @@ fail: * qtimeout anyway. */ mdp->md_lc_timer_id = qtimeout(man_ctl_wq, man_reset_dlpi, - (void *)mdp, man_gettimer(MAN_TIMER_LINKCHECK, mdp)); + (void *)mdp, man_gettimer(MAN_TIMER_LINKCHECK, mdp)); } /* @@ -4857,7 +4857,7 @@ man_alloc_physreq_mp(eaddr_t *man_eap) exit: MAN_DBG(MAN_DLPI, ("man_alloc_physreq: physaddr %s\n", - ether_sprintf(eap))); + ether_sprintf(eap))); return (mp); } @@ -4994,9 +4994,9 @@ man_str_uses_pg(manstr_t *msp, man_pg_t *mpg) int status; status = ((msp->ms_flags & MAN_SFLAG_CONTROL) || - (msp->ms_dests == NULL) || - (msp->ms_manp == NULL) || - (msp->ms_manp->man_meta_ppa != mpg->mpg_man_ppa)); + (msp->ms_dests == NULL) || + (msp->ms_manp == NULL) || + (msp->ms_manp->man_meta_ppa != mpg->mpg_man_ppa)); return (!status); } @@ -5099,8 +5099,8 @@ man_linkcheck_timer(void *argp) if (!man_needs_linkcheck(mdp)) { cmn_err(CE_NOTE, - "man_linkcheck_timer: unneeded linkcheck on mdp(0x%p)", - (void *)mdp); + "man_linkcheck_timer: unneeded linkcheck on mdp(0x%p)", + (void *)mdp); mutex_exit(&man_lock); return; } @@ -5151,7 +5151,7 @@ man_linkcheck_timer(void *argp) newstate = MAN_LINKSTALE; mdp->md_linkstales++; mdp->md_linkstale_retries = - mdp->md_msp->ms_manp->man_linkstale_retries; + mdp->md_msp->ms_manp->man_linkstale_retries; break; case MAN_LINKSTALE: @@ -5162,7 +5162,7 @@ man_linkcheck_timer(void *argp) newstate = MAN_LINKFAIL; mdp->md_linkfails++; mdp->md_linkstale_retries = - mdp->md_msp->ms_manp->man_linkstale_retries; + mdp->md_msp->ms_manp->man_linkstale_retries; /* * Mark the destination as FAILED and * update lru. @@ -5176,7 +5176,7 @@ man_linkcheck_timer(void *argp) default: cmn_err(CE_WARN, "man_linkcheck_timer: illegal link" - " state %d", oldstate); + " state %d", oldstate); break; } done: @@ -5184,8 +5184,8 @@ done: if (oldstate != newstate) { MAN_DBG(MAN_LINK, ("man_linkcheck_timer" - " link state %s -> %s", lss[oldstate], - lss[newstate])); + " link state %s -> %s", lss[oldstate], + lss[newstate])); mdp->md_linkstate = newstate; } @@ -5210,7 +5210,7 @@ do_switch: if (restart_timer) mdp->md_lc_timer_id = qtimeout(man_ctl_wq, man_linkcheck_timer, - (void *)mdp, man_gettimer(MAN_TIMER_LINKCHECK, mdp)); + (void *)mdp, man_gettimer(MAN_TIMER_LINKCHECK, mdp)); exit: MAN_DBG(MAN_LINK, ("man_linkcheck_timer: returns")); @@ -5262,8 +5262,8 @@ man_do_autoswitch(man_dest_t *mdp) mdp->md_link_updown_msg = MAN_LINK_DOWN_MSG; MAN_DBG(MAN_LINK, ("man_linkcheck_timer: link failure on %s%d", - ddi_major_to_name(mdp->md_device.mdev_major), - mdp->md_device.mdev_ppa)); + ddi_major_to_name(mdp->md_device.mdev_major), + mdp->md_device.mdev_ppa)); ap = man_find_alternate_path(mpg->mpg_pathp); @@ -5372,7 +5372,7 @@ man_prep_dests_for_switch(man_pg_t *mpg, man_dest_t **mdpp, int *cntp) int status = 0; MAN_DBG(MAN_SWITCH, ("man_prep_dests_for_switch: pg_id %d", - mpg->mpg_pg_id)); + mpg->mpg_pg_id)); /* * Count up number of streams, there is one destination that needs @@ -5418,7 +5418,7 @@ man_prep_dests_for_switch(man_pg_t *mpg, man_dest_t **mdpp, int *cntp) */ if (mdp->md_lc_timer_id) { (void) quntimeout(man_ctl_wq, - mdp->md_lc_timer_id); + mdp->md_lc_timer_id); mdp->md_lc_timer_id = 0; } if (mdp->md_bc_id) { @@ -5434,7 +5434,7 @@ man_prep_dests_for_switch(man_pg_t *mpg, man_dest_t **mdpp, int *cntp) exit: MAN_DBG(MAN_SWITCH, ("man_prep_dests_for_switch: returns %d" - " sdp(0x%p) sdp_cnt(%d)", status, (void *)sdp, sdp_cnt)); + " sdp(0x%p) sdp_cnt(%d)", status, (void *)sdp, sdp_cnt)); return (status); @@ -5473,7 +5473,7 @@ man_do_icmp_bcast(man_dest_t *mdp, t_uscalar_t sap) mp = man_pinger(sap); MAN_DBG(MAN_LINK, ("man_do_icmp_bcast: sap=0x%x mp=0x%p", - sap, (void *)mp)); + sap, (void *)mp)); if (mp == NULL) return; @@ -5530,7 +5530,7 @@ man_pinger(t_uscalar_t sap) if (ipver == IPV4_VERSION) { ipha = (ipha_t *)mp->b_cont->b_rptr; ipha->ipha_version_and_hdr_length = (IP_VERSION << 4) - | IP_SIMPLE_HDR_LENGTH_IN_WORDS; + | IP_SIMPLE_HDR_LENGTH_IN_WORDS; ipha->ipha_type_of_service = 0; ipha->ipha_length = size; ipha->ipha_fragment_offset_and_flags = IPH_DF; @@ -5572,7 +5572,7 @@ man_pinger(t_uscalar_t sap) */ ip6h->ip6_flow = (IPV6_VERSION << 28); ip6h->ip6_plen = - htons((short)(size - iph_hdr_len)); + htons((short)(size - iph_hdr_len)); ip6h->ip6_nxt = IPPROTO_ICMPV6; ip6h->ip6_hlim = 1; /* stay on link */ @@ -5628,7 +5628,7 @@ man_pinger(t_uscalar_t sap) sum = htons(IPPROTO_ICMPV6) + ip6h->ip6_plen; icmph->icmph_checksum = IP_CSUM(mp->b_cont, iph_hdr_len - 32, - (sum & 0xffff) + (sum >> 16)); + (sum & 0xffff) + (sum >> 16)); } /* @@ -5754,7 +5754,7 @@ man_bwork() wp_finished = TRUE; MAN_DBG(MAN_SWITCH, ("man_bwork: type %s", - _mw_type[wp->mw_type])); + _mw_type[wp->mw_type])); switch (wp->mw_type) { case MAN_WORK_OPEN_CTL: @@ -5845,7 +5845,7 @@ man_open_ctl() status = ldi_ident_from_mod(&modlinkage, &li); if (status) { cmn_err(CE_WARN, - "man_open_ctl: ident alloc failed, error %d", status); + "man_open_ctl: ident alloc failed, error %d", status); goto exit; } @@ -5853,7 +5853,7 @@ man_open_ctl() kcred, &ctl_lh, li); if (status) { cmn_err(CE_WARN, - "man_open_ctl: eri open failed, error %d", status); + "man_open_ctl: eri open failed, error %d", status); ctl_lh = NULL; goto exit; } @@ -5874,8 +5874,8 @@ man_open_ctl() kcred, &ctl_lh, li); if (status) { cmn_err(CE_WARN, - "man_open_ctl: man control dev open failed, " - "error %d", status); + "man_open_ctl: man control dev open failed, " + "error %d", status); goto exit; } @@ -5897,7 +5897,7 @@ exit: ldi_ident_release(li); MAN_DBG(MAN_CONFIG, ("man_open_ctl: man_ctl_lh(0x%p) errno = %d\n", - (void *)man_ctl_lh, status)); + (void *)man_ctl_lh, status)); return (status); } @@ -5975,7 +5975,7 @@ man_cancel_timers(man_adest_t *adp) cnt = adp->a_ndests; MAN_DBG(MAN_SWITCH, ("man_cancel_timers: mdp(0x%p) cnt %d", - (void *)mdp, cnt)); + (void *)mdp, cnt)); for (i = 0; i < cnt; i++) { @@ -6023,7 +6023,7 @@ man_bswitch(man_adest_t *adp, man_work_t *wp) */ tdp = man_kzalloc(sizeof (man_dest_t) * adp->a_ndests, - KM_SLEEP); + KM_SLEEP); bcopy(adp->a_mdp, tdp, sizeof (man_dest_t) * adp->a_ndests); /* @@ -6115,8 +6115,8 @@ man_plumb(man_dest_t *mdp) ldi_ident_t li = NULL; MAN_DBG(MAN_SWITCH, ("man_plumb: mdp(0x%p) %s%d exp(%d)", - (void *)mdp, ddi_major_to_name(mdp->md_device.mdev_major), - mdp->md_device.mdev_ppa, mdp->md_device.mdev_exp_id)); + (void *)mdp, ddi_major_to_name(mdp->md_device.mdev_major), + mdp->md_device.mdev_ppa, mdp->md_device.mdev_exp_id)); /* * Control stream should already be open. @@ -6141,7 +6141,7 @@ man_plumb(man_dest_t *mdp) * mdev_major) which should always map to /devices/pseudo/clone@0:eri */ ASSERT(strcmp(ERI_IDNAME, - ddi_major_to_name(mdp->md_device.mdev_major)) == 0); + ddi_major_to_name(mdp->md_device.mdev_major)) == 0); status = ldi_open_by_name(ERI_PATH, FREAD | FWRITE | FNOCTTY, kcred, &lh, li); @@ -6157,7 +6157,7 @@ man_plumb(man_dest_t *mdp) ASSERT(mdp->md_muxid == -1); status = ldi_ioctl(man_ctl_lh, I_PLINK, (intptr_t)lh, - FREAD+FWRITE+FNOCTTY+FKIOCTL, kcred, &muxid); + FREAD+FWRITE+FNOCTTY+FKIOCTL, kcred, &muxid); if (status) { cmn_err(CE_WARN, "man_plumb: ldi_ioctl(I_PLINK) failed, error %d", status); @@ -6209,10 +6209,10 @@ man_unplumb(man_dest_t *mdp) * I_PUNLINK causes the multiplexor resources to be freed. */ status = ldi_ioctl(man_ctl_lh, I_PUNLINK, (intptr_t)mdp->md_muxid, - FREAD+FWRITE+FNOCTTY+FKIOCTL, kcred, &rval); + FREAD+FWRITE+FNOCTTY+FKIOCTL, kcred, &rval); if (status) { cmn_err(CE_WARN, "man_unplumb: ldi_ioctl(I_PUNLINK) failed" - " errno %d\n", status); + " errno %d\n", status); } /* * Delete linkrec if it exists. @@ -6261,7 +6261,7 @@ man_pg_cmd(mi_path_t *mip, man_work_t *waiter_wp) if (mip->mip_ndevs < 0) { status = EINVAL; cmn_err(CE_WARN, "man_pg_cmd: EINVAL: mip_ndevs %d", - mip->mip_ndevs); + mip->mip_ndevs); goto exit; } @@ -6378,9 +6378,9 @@ man_pg_assign(man_pg_t **mplpp, mi_path_t *mip, int add_only) cmn_err(CE_WARN, "man_pg_assign: ethernet address mismatch"); cmn_err(CE_CONT, "existing %s", - ether_sprintf(&mpg->mpg_dst_eaddr)); + ether_sprintf(&mpg->mpg_dst_eaddr)); cmn_err(CE_CONT, "new %s", - ether_sprintf(&mip->mip_eaddr)); + ether_sprintf(&mip->mip_eaddr)); status = EINVAL; goto exit; @@ -6680,7 +6680,7 @@ man_pg_read(man_pg_t *plp, mi_path_t *mip) } MAN_DBG(MAN_PATH, ("man_pg_read: pg(0x%p) id(%d) found %d paths", - (void *)mpg, mpg->mpg_pg_id, cnt)); + (void *)mpg, mpg->mpg_pg_id, cnt)); mip->mip_ndevs = cnt; @@ -6716,7 +6716,7 @@ man_pg_create(man_pg_t **mplpp, man_pg_t **mpgp, mi_path_t *mip) if (ether_cmp(&mip->mip_eaddr, &zero_ether_addr) == 0) { cmn_err(CE_NOTE, "man_ioctl: man_pg_create: ether" - " addresss not set!"); + " addresss not set!"); status = EINVAL; goto exit; } @@ -6970,7 +6970,7 @@ man_path_kstat_init(man_path_t *mpp) * Create named kstats for accounting purposes. */ dev_knp = man_kzalloc(MAN_NUMSTATS * sizeof (kstat_named_t), - KM_NOSLEEP); + KM_NOSLEEP); if (dev_knp == NULL) { status = ENOMEM; goto exit; @@ -7082,7 +7082,7 @@ man_param_register(param_t *manpa, int cnt) int status = B_TRUE; MAN_DBG(MAN_CONFIG, ("man_param_register: manpa(0x%p) cnt %d\n", - (void *)manpa, cnt)); + (void *)manpa, cnt)); getp = man_param_get; @@ -7101,7 +7101,7 @@ man_param_register(param_t *manpa, int cnt) } if (!nd_load(&man_ndlist, manpa->param_name, getp, - setp, (caddr_t)manpa)) { + setp, (caddr_t)manpa)) { (void) man_nd_free(&man_ndlist); status = B_FALSE; @@ -7110,7 +7110,7 @@ man_param_register(param_t *manpa, int cnt) } if (!nd_load(&man_ndlist, "man_pathgroups_report", - man_pathgroups_report, NULL, NULL)) { + man_pathgroups_report, NULL, NULL)) { (void) man_nd_free(&man_ndlist); status = B_FALSE; @@ -7118,7 +7118,7 @@ man_param_register(param_t *manpa, int cnt) } if (!nd_load(&man_ndlist, "man_set_active_path", - NULL, man_set_active_path, NULL)) { + NULL, man_set_active_path, NULL)) { (void) man_nd_free(&man_ndlist); status = B_FALSE; @@ -7126,7 +7126,7 @@ man_param_register(param_t *manpa, int cnt) } if (!nd_load(&man_ndlist, "man_get_hostinfo", - man_get_hostinfo, NULL, NULL)) { + man_get_hostinfo, NULL, NULL)) { (void) man_nd_free(&man_ndlist); status = B_FALSE; @@ -7163,11 +7163,11 @@ man_pathgroups_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) MAN_DBG(MAN_PATH, ("man_pathgroups_report: wq(0x%p) mp(0x%p)" - " caddr 0x%p", (void *)wq, (void *)mp, (void *)cp)); + " caddr 0x%p", (void *)wq, (void *)mp, (void *)cp)); (void) mi_mpprintf(mp, "MAN Pathgroup report: (* == failed)"); (void) mi_mpprintf(mp, "=====================================" - "=========================================="); + "=========================================="); mutex_enter(&man_lock); @@ -7177,35 +7177,36 @@ man_pathgroups_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) continue; (void) mi_mpprintf(mp, - "Interface\tDestination\t\tActive Path\tAlternate Paths"); + "Interface\tDestination\t\tActive Path\tAlternate Paths"); (void) mi_mpprintf(mp, "---------------------------------------" - "----------------------------------------"); + "----------------------------------------"); for (mpg = manp->man_pg; mpg != NULL; mpg = mpg->mpg_next) { (void) mi_mpprintf(mp, "%s%d\t\t", - ddi_major_to_name(manp->man_meta_major), - manp->man_meta_ppa); + ddi_major_to_name(manp->man_meta_major), + manp->man_meta_ppa); if (man_is_on_domain) { (void) mi_mpprintf_nr(mp, "Master SSC\t"); man_preport(mpg->mpg_pathp, mp); } else { if (i == 0) { - pad_end = 17 - strlen(ether_sprintf( - &mpg->mpg_dst_eaddr)); - if (pad_end < 0 || pad_end > 16) + pad_end = 17 - strlen(ether_sprintf( + &mpg->mpg_dst_eaddr)); + if (pad_end < 0 || pad_end > 16) pad_end = 0; - pad[pad_end] = '\0'; + pad[pad_end] = '\0'; - (void) mi_mpprintf_nr(mp, "%c %s%s", - mpg->mpg_pg_id + 'A', - ether_sprintf(&mpg->mpg_dst_eaddr), - pad); + (void) mi_mpprintf_nr(mp, "%c %s%s", + mpg->mpg_pg_id + 'A', + ether_sprintf(&mpg->mpg_dst_eaddr), + pad); - pad[pad_end] = ' '; + pad[pad_end] = ' '; } else { - (void) mi_mpprintf_nr(mp, "Other SSC\t"); + (void) mi_mpprintf_nr(mp, + "Other SSC\t"); } man_preport(mpg->mpg_pathp, mp); } @@ -7230,8 +7231,8 @@ man_preport(man_path_t *plist, mblk_t *mp) */ if (ap != NULL) { (void) mi_mpprintf_nr(mp, "\t%s%d\t\t", - ddi_major_to_name(ap->mp_device.mdev_major), - ap->mp_device.mdev_ppa); + ddi_major_to_name(ap->mp_device.mdev_major), + ap->mp_device.mdev_ppa); } else { (void) mi_mpprintf_nr(mp, "None \t"); } @@ -7241,9 +7242,9 @@ man_preport(man_path_t *plist, mblk_t *mp) */ while (plist != NULL) { (void) mi_mpprintf_nr(mp, "%s%d exp %d", - ddi_major_to_name(plist->mp_device.mdev_major), - plist->mp_device.mdev_ppa, - plist->mp_device.mdev_exp_id); + ddi_major_to_name(plist->mp_device.mdev_major), + plist->mp_device.mdev_ppa, + plist->mp_device.mdev_exp_id); if (plist->mp_device.mdev_state & MDEV_FAILED) (void) mi_mpprintf_nr(mp, "*"); plist = plist->mp_next; @@ -7274,7 +7275,7 @@ man_set_active_path(queue_t *wq, mblk_t *mp, char *value, caddr_t cp, int status = 0; MAN_DBG(MAN_PATH, ("man_set_active_path: wq(0x%p) mp(0x%p)" - " args %s", (void *)wq, (void *)mp, value)); + " args %s", (void *)wq, (void *)mp, value)); meta_ppap = value; @@ -7384,14 +7385,14 @@ man_get_hostinfo(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) mi_mpprintf(mp, "manc_ip_type = AF_INET6"); (void) inet_ntop(AF_INET6, (void *)&manc.manc_dom_ipv6addr, - ipv6addr, INET6_ADDRSTRLEN); + ipv6addr, INET6_ADDRSTRLEN); mi_mpprintf(mp, "manc_dom_ipv6addr = %s", ipv6addr); mi_mpprintf(mp, "manc_dom_ipv6_netmask = %d", - manc.manc_dom_ipv6_netmask.s6_addr[0]); + manc.manc_dom_ipv6_netmask.s6_addr[0]); (void) inet_ntop(AF_INET6, (void *)&manc.manc_sc_ipv6addr, - ipv6addr, INET6_ADDRSTRLEN); + ipv6addr, INET6_ADDRSTRLEN); mi_mpprintf(mp, "manc_sc_ipv6addr = %s", ipv6addr); } else { @@ -7400,12 +7401,12 @@ man_get_hostinfo(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) } mi_mpprintf(mp, "manc_dom_eaddr = %s", - ether_sprintf(&manc.manc_dom_eaddr)); + ether_sprintf(&manc.manc_dom_eaddr)); mi_mpprintf(mp, "manc_sc_eaddr = %s", - ether_sprintf(&manc.manc_sc_eaddr)); + ether_sprintf(&manc.manc_sc_eaddr)); mi_mpprintf(mp, "manc_iob_bitmap = 0x%x\tio boards = ", - manc.manc_iob_bitmap); + manc.manc_iob_bitmap); for (i = 0; i < MAN_MAX_EXPANDERS; i++) { if ((manc.manc_iob_bitmap >> i) & 0x1) { mi_mpprintf_nr(mp, "%d.1, ", i); @@ -7517,7 +7518,7 @@ man_kstat_update(kstat_t *ksp, int rw) int i; MAN_DBG(MAN_KSTAT, ("man_kstat_update: %s\n", rw ? "KSTAT_WRITE" : - "KSTAT_READ")); + "KSTAT_READ")); mutex_enter(&man_lock); manp = (man_t *)ksp->ks_private; @@ -7549,7 +7550,7 @@ man_kstat_update(kstat_t *ksp, int rw) status = EINTR; else { MAN_DBG(MAN_KSTAT, ("man_kstat_update: " - "timedout, returning stale stats.")); + "timedout, returning stale stats.")); status = 0; } } @@ -7597,7 +7598,7 @@ man_do_kstats(man_work_t *wp) * Sync mp_last_knp for each path associated with the MAN instance. */ manp = (man_t *)ddi_get_soft_state(man_softstate, - wp->mw_arg.a_man_ppa); + wp->mw_arg.a_man_ppa); for (mpg = manp->man_pg; mpg != NULL; mpg = mpg->mpg_next) { ASSERT(mpg->mpg_man_ppa == manp->man_meta_ppa); @@ -7676,8 +7677,8 @@ man_update_dev_kstats(kstat_named_t *man_knp, man_path_t *mp) } else { MAN_DBG(MAN_KSTAT, - ("man_update_dev_kstats: no kstat data found for %s(%d,%d)", - buf, major, instance)); + ("man_update_dev_kstats: no kstat data found for %s(%d,%d)", + buf, major, instance)); } } @@ -7744,11 +7745,11 @@ man_kstat_named_init(kstat_named_t *knp, int num_stats) int i; MAN_DBG(MAN_KSTAT, ("man_kstat_named_init: knp(0x%p) num_stats = %d", - (void *)knp, num_stats)); + (void *)knp, num_stats)); for (i = 0; i < num_stats; i++) { kstat_named_init(&knp[i], man_kstat_info[i].mk_name, - man_kstat_info[i].mk_type); + man_kstat_info[i].mk_type); } MAN_DBG(MAN_KSTAT, ("man_kstat_named_init: returns")); @@ -7786,7 +7787,7 @@ man_kstat_byname(kstat_t *ksp, char *s, kstat_named_t *res) found++; MAN_DBG(MAN_KSTAT2, ("\t%s: %d\n", knp->name, - (int)knp->value.ul)); + (int)knp->value.ul)); } } } else { @@ -7846,8 +7847,8 @@ man_sum_kstats(kstat_named_t *sum_knp, kstat_t *phys_ksp, int i; MAN_DBG(MAN_KSTAT, ("man_sum_kstats: sum_knp(0x%p) phys_ksp(0x%p)" - " phys_last_knp(0x%p)\n", (void *)sum_knp, (void *)phys_ksp, - (void *)phys_last_knp)); + " phys_last_knp(0x%p)\n", (void *)sum_knp, (void *)phys_ksp, + (void *)phys_last_knp)); /* * Now for each entry in man_kstat_info, sum the named kstat. @@ -7894,12 +7895,12 @@ man_sum_kstats(kstat_named_t *sum_knp, kstat_t *phys_ksp, */ if (phys_ksp) { if (man_kstat_byname(phys_ksp, physname, - &phys_kn_entry)) { + &phys_kn_entry)) { found = 1; } else if ((physalias) && (man_kstat_byname(phys_ksp, - physalias, &phys_kn_entry))) { + physalias, &phys_kn_entry))) { found = 1; } @@ -7933,18 +7934,18 @@ man_sum_kstats(kstat_named_t *sum_knp, kstat_t *phys_ksp, * this handles 32-bit wrapping */ if (phys_kn_entry.value.ui32 < - phys_last_knp[i].value.ui32) { + phys_last_knp[i].value.ui32) { /* * we've wrapped! */ delta64 += (UINT_MAX - - phys_last_knp[i].value.ui32); + phys_last_knp[i].value.ui32); phys_last_knp[i].value.ui32 = 0; } delta64 += phys_kn_entry.value.ui32 - - phys_last_knp[i].value.ui32; + phys_last_knp[i].value.ui32; phys_last_knp[i].value.ui32 = phys_kn_entry.value.ui32; break; @@ -7957,7 +7958,7 @@ man_sum_kstats(kstat_named_t *sum_knp, kstat_t *phys_ksp, * hundred years without a reboot...) */ delta64 = phys_kn_entry.value.ui64 - - phys_last_knp[i].value.ui64; + phys_last_knp[i].value.ui64; phys_last_knp[i].value.ui64 = phys_kn_entry.value.ui64; } @@ -8015,8 +8016,8 @@ man_print_msp(manstr_t *msp) return; cmn_err(CE_CONT, "\t%s%d SAP(0x%x):\n", - ddi_major_to_name(msp->ms_meta_maj), msp->ms_meta_ppa, - msp->ms_sap); + ddi_major_to_name(msp->ms_meta_maj), msp->ms_meta_ppa, + msp->ms_sap); buf[0] = '\0'; prbuf[0] = '\0'; @@ -8066,13 +8067,13 @@ man_print_mdp(man_dest_t *mdp) cmn_err(CE_CONT, "\tmd_pg_id: %d\n", mdp->md_pg_id); cmn_err(CE_CONT, "\tmd_dst_eaddr: %s\n", - ether_sprintf(&mdp->md_dst_eaddr)); + ether_sprintf(&mdp->md_dst_eaddr)); cmn_err(CE_CONT, "\tmd_src_eaddr: %s\n", - ether_sprintf(&mdp->md_src_eaddr)); + ether_sprintf(&mdp->md_src_eaddr)); cmn_err(CE_CONT, "\tmd_dlpistate: %s", dss[mdp->md_dlpistate]); cmn_err(CE_CONT, "\tmd_muxid: 0x%u", mdp->md_muxid); cmn_err(CE_CONT, "\tmd_rcvcnt %lu md_lastrcvcnt %lu", mdp->md_rcvcnt, - mdp->md_lastrcvcnt); + mdp->md_lastrcvcnt); /* * Print out state as text. @@ -8112,8 +8113,8 @@ man_print_man(man_t *manp) if (ddi_major_to_name(manp->man_meta_major)) { sprintf(buf, "\t man_device: %s%d\n", - ddi_major_to_name(manp->man_meta_major), - manp->man_meta_ppa); + ddi_major_to_name(manp->man_meta_major), + manp->man_meta_ppa); } else { sprintf(buf, "\t major: %d", manp->man_meta_major); sprintf(buf, "\t ppa: %d", manp->man_meta_ppa); @@ -8149,8 +8150,8 @@ number: sprintf(buf, "\t mdev_major: %d\n", mdevp->mdev_major); } else if (ddi_major_to_name(mdevp->mdev_major)) { sprintf(buf, "\t mdev_device: %s%d\n", - ddi_major_to_name(mdevp->mdev_major), - mdevp->mdev_ppa); + ddi_major_to_name(mdevp->mdev_major), + mdevp->mdev_ppa); } else goto number; @@ -8236,7 +8237,7 @@ man_print_mpg(man_pg_t *mpg) cmn_err(CE_CONT, "\tmpg_man_ppa: %d\n", mpg->mpg_man_ppa); cmn_err(CE_CONT, "\tmpg_dst_eaddr: %s\n", - ether_sprintf(&mpg->mpg_dst_eaddr)); + ether_sprintf(&mpg->mpg_dst_eaddr)); cmn_err(CE_CONT, "\tmpg_pathp: 0x%p\n", (void *)mpg->mpg_pathp); @@ -8304,7 +8305,7 @@ man_dbg_kzalloc(int line, size_t size, int kmflags) tmp = kmem_zalloc(size, kmflags); MAN_DBG(MAN_KMEM, ("0x%p %lu\tzalloc'd @ %d\n", (void *)tmp, - size, line)); + size, line)); return (tmp); diff --git a/usr/src/uts/sun4u/starcat/io/iosram.c b/usr/src/uts/sun4u/starcat/io/iosram.c index 4d6987dc6a..e0b0f4a10b 100644 --- a/usr/src/uts/sun4u/starcat/io/iosram.c +++ b/usr/src/uts/sun4u/starcat/io/iosram.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * IOSRAM leaf driver to SBBC nexus driver. This driver is used @@ -189,7 +188,8 @@ struct dev_ops iosram_ops = { nodev, /* devo_reset */ &iosram_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -199,7 +199,7 @@ extern struct mod_ops mod_driverops; static struct modldrv iosrammodldrv = { &mod_driverops, /* type of module - driver */ - "IOSRAM Leaf driver v%I%", + "IOSRAM Leaf driver", &iosram_ops, }; @@ -354,7 +354,7 @@ iosram_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) } if ((softp = ddi_get_soft_state(iosramsoft_statep, instance)) == NULL) { - return (DDI_FAILURE); + return (DDI_FAILURE); } softp->dip = dip; softp->instance = instance; @@ -776,7 +776,8 @@ iosram_rd(uint32_t key, uint32_t off, uint32_t len, caddr_t dptr) } if (len != 0) { - ddi_rep_get8(handle, buf, iosramp, len, DDI_DEV_AUTOINCR); + ddi_rep_get8(handle, buf, iosramp, len, + DDI_DEV_AUTOINCR); } } else if ((len >= UINT32SZ) && ((((uintptr_t)iosramp | (uintptr_t)buf) & (UINT32SZ - 1)) == 0)) { @@ -798,7 +799,8 @@ iosram_rd(uint32_t key, uint32_t off, uint32_t len, caddr_t dptr) * copy the remainder using byte access */ if (len != 0) { - ddi_rep_get8(handle, buf, iosramp, len, DDI_DEV_AUTOINCR); + ddi_rep_get8(handle, buf, iosramp, len, + DDI_DEV_AUTOINCR); } } else if (len != 0) { /* @@ -1702,7 +1704,7 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, switch (cmd) { #if defined(DEBUG) case IOSRAM_GET_FLAG: - { + { iosram_io_t req; uint8_t data_valid, int_pending; @@ -1725,10 +1727,10 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } return (error); - } + } case IOSRAM_SET_FLAG: - { + { iosram_io_t req; if (ddi_copyin((void *)arg, &req, sizeof (req), mode)) { @@ -1749,10 +1751,10 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } return (error); - } + } case IOSRAM_RD: - { + { caddr_t bufp; int len; iosram_io_t req; @@ -1781,10 +1783,10 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, kmem_free(bufp, len); return (error); - } + } case IOSRAM_WR: - { + { caddr_t bufp; iosram_io_t req; int len; @@ -1810,10 +1812,10 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } kmem_free(bufp, len); return (error); - } + } case IOSRAM_TOC: - { + { caddr_t bufp; int len; iosram_io_t req; @@ -1844,10 +1846,10 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } kmem_free(bufp, len); return (error); - } + } case IOSRAM_SEND_INTR: - { + { DPRINTF(2, ("IOSRAM_SEND_INTR\n")); switch ((int)arg) { @@ -1870,7 +1872,7 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } return (error); - } + } case IOSRAM_PRINT_CBACK: iosram_print_cback(); @@ -1901,7 +1903,7 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, break; case IOSRAM_REG_CBACK: - { + { iosram_io_t req; if (ddi_copyin((void *)arg, &req, sizeof (req), mode)) { @@ -1917,10 +1919,10 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } return (error); - } + } case IOSRAM_UNREG_CBACK: - { + { iosram_io_t req; if (ddi_copyin((void *)arg, &req, sizeof (req), mode)) { @@ -1935,7 +1937,7 @@ iosram_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, } return (error); - } + } case IOSRAM_SEMA_ACQUIRE: { @@ -2283,7 +2285,7 @@ iosram_abort_tswitch() } IOSRAMLOG(1, "ABORT: Instance %d selected as master\n", - iosram_master->instance, NULL, NULL, NULL); + iosram_master->instance, NULL, NULL, NULL); } diff --git a/usr/src/uts/sun4u/starcat/io/schpc.c b/usr/src/uts/sun4u/starcat/io/schpc.c index 8fe32af0b3..b5a8275a5b 100644 --- a/usr/src/uts/sun4u/starcat/io/schpc.c +++ b/usr/src/uts/sun4u/starcat/io/schpc.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Starcat IOSRAM/Tunnel PCI Hot Plug Controller Driver @@ -238,16 +237,18 @@ static int schpc_detach(dev_info_t *, ddi_detach_cmd_t); static int schpc_info(dev_info_t *, ddi_info_cmd_t, void *, void **); static struct dev_ops schpc_dev_ops = { - DEVO_REV, /* devo_rev, */ - 0, /* refcnt */ - schpc_info, /* get_dev_info */ - nulldev, /* identify */ - nulldev, /* probe */ - schpc_attach, /* attach */ - schpc_detach, /* detach */ - nodev, /* reset */ - &schpc_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* no bus operations */ + DEVO_REV, /* devo_rev, */ + 0, /* refcnt */ + schpc_info, /* get_dev_info */ + nulldev, /* identify */ + nulldev, /* probe */ + schpc_attach, /* attach */ + schpc_detach, /* detach */ + nodev, /* reset */ + &schpc_cb_ops, /* driver operations */ + (struct bus_ops *)0, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* @@ -255,7 +256,7 @@ static struct dev_ops schpc_dev_ops = { */ static struct modldrv modldrv = { &mod_driverops, - "PCI Hot Plug Controller Driver (schpc) %I%", + "PCI Hot Plug Controller Driver (schpc)", &schpc_dev_ops, }; @@ -299,13 +300,13 @@ _init(void) if (schpc_timeout_putmsg < schpc_putmsg_timeout_range.min_timeout) { schpc_timeout_putmsg = schpc_putmsg_timeout_range.min_timeout; cmn_err(CE_WARN, " schpc: resetting putmsg timeout to %ld\n", - schpc_timeout_putmsg); + schpc_timeout_putmsg); } if (schpc_timeout_putmsg > schpc_putmsg_timeout_range.max_timeout) { schpc_timeout_putmsg = schpc_putmsg_timeout_range.max_timeout; cmn_err(CE_WARN, " schpc: resetting putmsg timeout to %ld\n", - schpc_timeout_putmsg); + schpc_timeout_putmsg); } /* @@ -340,36 +341,36 @@ _init(void) if (schpc_timeout_getmsg < schpc_getmsg_timeout_range.min_timeout) { schpc_timeout_getmsg = schpc_getmsg_timeout_range.min_timeout; cmn_err(CE_WARN, " schpc: resetting getmsg timeout to %ld\n", - schpc_timeout_getmsg); + schpc_timeout_getmsg); } if (schpc_timeout_getmsg > schpc_getmsg_timeout_range.max_timeout) { schpc_timeout_getmsg = schpc_getmsg_timeout_range.max_timeout; cmn_err(CE_WARN, " schpc: resetting putmsg timeout to %ld\n", - schpc_timeout_putmsg); + schpc_timeout_putmsg); } if (schpc_timeout_event < schpc_getmsg_timeout_range.min_timeout) { schpc_timeout_event = schpc_getmsg_timeout_range.min_timeout; cmn_err(CE_WARN, " schpc: resetting event timeout to %ld\n", - schpc_timeout_event); + schpc_timeout_event); } if (schpc_timeout_event > schpc_getmsg_timeout_range.max_timeout) { schpc_timeout_event = schpc_getmsg_timeout_range.max_timeout; cmn_err(CE_WARN, " schpc: resetting event timeout to %ld\n", - schpc_timeout_event); + schpc_timeout_event); } ret = mod_install(&modlinkage); if (ret != 0) { if ((rv = mboxsc_fini(KEY_PCSC)) != 0) { cmn_err(CE_WARN, "schpc: _init() - " - "mboxsc_fini(KEY_PCSC) failed: 0x%x", rv); + "mboxsc_fini(KEY_PCSC) failed: 0x%x", rv); } if ((rv = mboxsc_fini(KEY_SCPC)) != 0) { cmn_err(CE_WARN, "schpc: _init() - " - "mboxsc_fini(KEY_SCPC) failed: 0x%x", rv); + "mboxsc_fini(KEY_SCPC) failed: 0x%x", rv); } taskq_destroy(schpc_event_taskq); ddi_soft_state_fini(&per_schpc_state); @@ -385,7 +386,7 @@ _init(void) */ mutex_init(&schpc_replylist_mutex, NULL, MUTEX_DRIVER, NULL); (void) thread_create(NULL, 0, schpc_msg_thread, - NULL, 0, &p0, TS_RUN, minclsyspri); + NULL, 0, &p0, TS_RUN, minclsyspri); SCHPC_DEBUG0(D_ATTACH, "_init() started schpc_msg_thread"); @@ -862,7 +863,7 @@ schpc_connect(caddr_t ops_arg, hpc_slot_t slot_hdl, void *data, uint_t flags) find_dev.cname = schpc_p->schpc_slot[slot].nexus_path; find_dev.caddr = (char *)kmem_alloc(MAXPATHLEN, - KM_SLEEP); + KM_SLEEP); find_dev.dip = NULL; /* root node doesn't have to be held */ @@ -2449,7 +2450,7 @@ schpc_event_handler(void *arg) SCHPC_SLOTSTATE_OCC_GOOD; schpc_p->schpc_slot[slot].state &= - ~SCHPC_SLOTSTATE_PRESENT; + ~SCHPC_SLOTSTATE_PRESENT; hpc_slot_event_notify( schpc_p->schpc_slot[slot].slot_handle, @@ -2762,8 +2763,8 @@ schpc_msg_thread(void) bzero(&msg, sizeof (pcimsg_t)); err = mboxsc_getmsg(KEY_SCPC, &type, &cmd, - &transid, &length, (void *)&msg, - schpc_timeout_getmsg); + &transid, &length, (void *)&msg, + schpc_timeout_getmsg); if (err) { switch (err) { @@ -2890,7 +2891,7 @@ schpc_putrequest(uint32_t key, uint32_t type, uint32_t cmd, uint64_t *transidp, /* wait synchronously for request to be sent */ rval = mboxsc_putmsg(key, type, cmd, transidp, length, - (void *)datap, timeout); + (void *)datap, timeout); SCHPC_DEBUG2(D_GETSLOTSTATUS|D_SETSLOTSTATUS, "schpc_putrequest() - " "0x%lx transid mboxsc_putmsg returned 0x%x", *transidp, rval); @@ -2932,7 +2933,7 @@ schpc_getreply(uint32_t key, uint32_t *typep, uint32_t *cmdp, * wait for reply or timeout */ rc = cv_timedwait(&listp->reply_cv, &listp->reply_lock, - ddi_get_lbolt() + drv_usectohz(timeout * 1000)); + ddi_get_lbolt() + drv_usectohz(timeout * 1000)); switch (rc) { case -1: /* most likely a timeout, but check anyway */ @@ -3131,7 +3132,7 @@ schpc_getslotstatus(uint32_t expander, uint32_t board, uint32_t slot, "0x%lx transid schpc_getreply called", transid); rval = schpc_getreply(KEY_SCPC, &type, &cmd, &transid, &length, - (void *)&reply, schpc_timeout_getmsg, entry); + (void *)&reply, schpc_timeout_getmsg, entry); SCHPC_DEBUG2(D_GETSLOTSTATUS, "schpc_getslotstatus() - " "0x%lx transid schpc_getreply returned 0x%x", transid, rval); @@ -3231,7 +3232,7 @@ schpc_setslotstatus(uint32_t expander, uint32_t board, uint32_t slot, "0x%lx transid schpc_getreply called", transid); rval = schpc_getreply(KEY_SCPC, &type, &cmd, &transid, &length, - (void *)&reply, schpc_timeout_getmsg, entry); + (void *)&reply, schpc_timeout_getmsg, entry); SCHPC_DEBUG2(D_SETSLOTSTATUS, "schpc_setslotstatus() - " "0x%lx transid schpc_getreply returned 0x%x", transid, rval); @@ -3550,7 +3551,7 @@ schpc_add_pci(dev_info_t *bdip) leaf = 1; name = ddi_binding_name(sdip); if ((strcmp(name, "pci108e,8002") == 0) && - (schizo == 0)) { + (schizo == 0)) { int circ; dev_info_t *cdip; /* @@ -3562,9 +3563,9 @@ schpc_add_pci(dev_info_t *bdip) cdip = ddi_get_child(sdip); if (cdip == NULL) { cmn_err(CE_WARN, - "schpc_add_pci(dip=0x%p) - " - "Invalid pci name addr %s\n", - sdip, naddr); + "schpc_add_pci(dip=0x%p) - " + "Invalid pci name addr %s\n", + sdip, naddr); ndi_devi_exit(sdip, circ); return (DDI_FAILURE); } diff --git a/usr/src/uts/sun4u/starcat/io/sckmdrv.c b/usr/src/uts/sun4u/starcat/io/sckmdrv.c index 662ac17dc0..64e58b3207 100644 --- a/usr/src/uts/sun4u/starcat/io/sckmdrv.c +++ b/usr/src/uts/sun4u/starcat/io/sckmdrv.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Starcat IPSec Key Management Driver. @@ -131,12 +130,14 @@ static struct dev_ops sckm_ops = { sckm_detach, /* detach */ nodev, /* reset */ &sckm_cb_ops, /* driver operations */ - (struct bus_ops *)0 /* no bus operations */ + (struct bus_ops *)0, /* no bus operations */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "Key Management Driver v%I%", + "Key Management Driver", &sckm_ops, }; @@ -572,7 +573,7 @@ sckm_ioctl(dev_t dev, int cmd, intptr_t data, int flag, } } SCKM_DEBUG1(D_IOCTL, "sckm_ioctl: msg available " - "transid = 0x%lx", sckm_udata.transid); + "transid = 0x%lx", sckm_udata.transid); arg.transid = sckm_udata.transid; arg.type = sckm_udata.type; diff --git a/usr/src/uts/sun4u/starfire/cvc/cvc.c b/usr/src/uts/sun4u/starfire/cvc/cvc.c index 7371a82cda..8d1441bc16 100644 --- a/usr/src/uts/sun4u/starfire/cvc/cvc.c +++ b/usr/src/uts/sun4u/starfire/cvc/cvc.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * MT STREAMS Virtual Console Device Driver @@ -189,11 +187,12 @@ static processorid_t cvc_iocpu = -1; /* cpu id of cpu zero */ */ DDI_DEFINE_STREAM_OPS(cvcops, nulldev, nulldev, cvc_attach, cvc_detach, - nodev, cvc_info, (D_MTPERQ | D_MP), &cvcinfo); + nodev, cvc_info, (D_MTPERQ | D_MP), &cvcinfo, + ddi_quiesce_not_supported); static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "CVC driver 'cvc' v%I%", + "CVC driver 'cvc'", &cvcops, /* driver ops */ }; @@ -250,14 +249,14 @@ cvc_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) rw_init(&cvclock, NULL, RW_DRIVER, NULL); rw_enter(&cvclock, RW_WRITER); cvc_timeout_id = timeout(cvc_flush_buf, NULL, - drv_usectohz(TIMEOUT_DELAY)); + drv_usectohz(TIMEOUT_DELAY)); rw_exit(&cvclock); cvc_instance = ddi_get_instance(devi); } else { #if defined(DEBUG) cmn_err(CE_NOTE, - "cvc_attach: called multiple times!! (instance = %d)", - ddi_get_instance(devi)); + "cvc_attach: called multiple times!! (instance = %d)", + ddi_get_instance(devi)); #endif /* DEBUG */ return (DDI_SUCCESS); } @@ -452,7 +451,7 @@ cvc_wput(register queue_t *q, register mblk_t *mp) default: cmn_err(CE_WARN, "cvc_wput: illegal mblk = 0x%p", mp); cmn_err(CE_WARN, "cvc_wput: type = 0x%x", - mp->b_datap->db_type); + mp->b_datap->db_type); /* FALLTHROUGH */ #ifdef lint break; @@ -710,7 +709,7 @@ cvc_register(queue_t *q) cmn_err(CE_WARN, "cvc_register: duplicate q!"); else cmn_err(CE_WARN, "cvc_register: nondup q = 0x%p", - q); + q); return (error); } @@ -754,7 +753,7 @@ cvc_unregister(queue_t *q) if (cvc_timeout_id == (timeout_id_t)-1) { stop_timeout = 0; cvc_timeout_id = timeout(cvc_flush_buf, NULL, - drv_usectohz(TIMEOUT_DELAY)); + drv_usectohz(TIMEOUT_DELAY)); } rw_exit(&cvclock); } @@ -854,7 +853,7 @@ cvc_bbsram_ops(volatile unsigned char *op_reg) break; default: cmn_err(CE_WARN, "cvc: unknown BBSRAM opcode %d\n", - (unsigned int)op); + (unsigned int)op); break; } *op_reg = 0; @@ -905,8 +904,8 @@ cvc_putc(register int c) DELAY(1000); } bcopy((caddr_t)cvc_output_buffer, - (caddr_t)(BBSRAM_OUTPUT_BUF - cvc_output_count), - cvc_output_count); + (caddr_t)(BBSRAM_OUTPUT_BUF - cvc_output_count), + cvc_output_count); BBSRAM_OUTPUT_COUNT = cvc_output_count; cvc_output_count = 0; @@ -942,8 +941,8 @@ cvc_flush_buf(void *notused) } bcopy((caddr_t)cvc_output_buffer, - (caddr_t)BBSRAM_OUTPUT_BUF - cvc_output_count, - cvc_output_count); + (caddr_t)BBSRAM_OUTPUT_BUF - cvc_output_count, + cvc_output_count); BBSRAM_OUTPUT_COUNT = cvc_output_count; cvc_output_count = 0; @@ -952,7 +951,7 @@ exit: mutex_exit(&cvc_buf_mutex); /* rw_enter(&cvclock, RW_WRITER); */ cvc_timeout_id = timeout(cvc_flush_buf, NULL, - drv_usectohz(TIMEOUT_DELAY)); + drv_usectohz(TIMEOUT_DELAY)); /* rw_exit(&cvclock); */ } @@ -1154,7 +1153,7 @@ cvc_iobuf_mapin(processorid_t cpu_id) /* Calculate how many pages we need to map in */ num_pages = mmu_btopr(((uint_t)(cvc_iobuf_physaddr - & MMU_PAGEOFFSET) + sizeof (sigb_cvc_t))); + & MMU_PAGEOFFSET) + sizeof (sigb_cvc_t))); /* * Map in the cvc iobuf @@ -1165,7 +1164,7 @@ cvc_iobuf_mapin(processorid_t cpu_id) PROT_READ | PROT_WRITE, HAT_LOAD_LOCK); return ((caddr_t)(cvaddr + (uint_t)(cvc_iobuf_physaddr - & MMU_PAGEOFFSET))); + & MMU_PAGEOFFSET))); } @@ -1186,7 +1185,7 @@ cvc_iobuf_mapout(processorid_t cpu_id) /* Calculate how many pages we need to map out */ num_pages = mmu_btopr(((size_t)((uint64_t)cvaddr & MMU_PAGEOFFSET) + - sizeof (sigb_cvc_t))); + sizeof (sigb_cvc_t))); /* Get cvaddr to the start of the page boundary */ cvaddr = (caddr_t)(((uint64_t)cvaddr & MMU_PAGEMASK)); diff --git a/usr/src/uts/sun4u/starfire/cvcredir/cvcredir.c b/usr/src/uts/sun4u/starfire/cvcredir/cvcredir.c index ee50179c70..4f9503c9a9 100644 --- a/usr/src/uts/sun4u/starfire/cvcredir/cvcredir.c +++ b/usr/src/uts/sun4u/starfire/cvcredir/cvcredir.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * MT STREAMS Virtual Console Redirection Device Driver @@ -106,13 +104,14 @@ struct streamtab cvcrinfo = { }; DDI_DEFINE_STREAM_OPS(cvcrops, nulldev, nulldev, cvcr_attach, - cvcr_detach, nodev, cvcr_info, (D_MTPERQ | D_MP), &cvcrinfo); + cvcr_detach, nodev, cvcr_info, (D_MTPERQ | D_MP), &cvcrinfo, + ddi_quiesce_not_supported); char _depends_on[] = "drv/cvc"; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "CVC redirect driver 'cvcredir' v%I%", + "CVC redirect driver 'cvcredir'", &cvcrops, /* driver ops */ }; @@ -210,7 +209,7 @@ cvcr_open(queue_t *q, dev_t *dev, int flag, int sflag, cred_t *cred) */ if (cvc_register(RD(q)) == -1) { cmn_err(CE_WARN, "cvcr_open: cvc_register failed for q = 0x%p", - q); + q); } return (0); } diff --git a/usr/src/uts/sun4u/starfire/io/idn.c b/usr/src/uts/sun4u/starfire/io/idn.c index 5820008e0b..a7c206d8a8 100644 --- a/usr/src/uts/sun4u/starfire/io/idn.c +++ b/usr/src/uts/sun4u/starfire/io/idn.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/sysmacros.h> @@ -565,14 +564,15 @@ static struct dev_ops idnops = { nodev, /* devo_reset */ &cb_idnops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - NULL /* devo_power */ + NULL, /* devo_power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern cpuset_t cpu_ready_set; static struct modldrv modldrv = { &mod_driverops, /* This module is a pseudo driver */ - IDNDESC " %I%", + IDNDESC " 1.58", &idnops }; @@ -640,8 +640,8 @@ idnattach(dev_info_t *dip, ddi_attach_cmd_t cmd) IDN_GLOCK_SHARED(); if (idn.state != IDNGS_OFFLINE) { cmn_err(CE_WARN, - "IDN: 101: not in expected OFFLINE state " - "for DDI_RESUME"); + "IDN: 101: not in expected OFFLINE state " + "for DDI_RESUME"); ASSERT(0); } IDN_GUNLOCK(); @@ -680,7 +680,7 @@ idnattach(dev_info_t *dip, ddi_attach_cmd_t cmd) mutex_enter(&idn.siplock); if (ddi_create_minor_node(dip, IDNNAME, S_IFCHR, instance, - DDI_NT_NET, CLONE_DEV) == DDI_FAILURE) { + DDI_NT_NET, CLONE_DEV) == DDI_FAILURE) { mutex_exit(&idn.siplock); return (DDI_FAILURE); } @@ -693,9 +693,9 @@ idnattach(dev_info_t *dip, ddi_attach_cmd_t cmd) #endif /* DEBUG */ } else { cmn_err(CE_NOTE, - "!IDN: 102: driver disabled " - "- check OBP environment " - "(idn-smr-size)"); + "!IDN: 102: driver disabled " + "- check OBP environment " + "(idn-smr-size)"); mutex_exit(&idn.siplock); return (DDI_SUCCESS); } @@ -801,7 +801,7 @@ idnattach(dev_info_t *dip, ddi_attach_cmd_t cmd) ddi_remove_minor_node(dip, NULL); cmn_err(CE_WARN, - "IDN: 103: unable to reference sigblock area"); + "IDN: 103: unable to reference sigblock area"); return (DDI_FAILURE); } @@ -846,9 +846,9 @@ idndetach(dev_info_t *dip, ddi_detach_cmd_t cmd) int d; cmn_err(CE_WARN, - "IDN: 104: cannot suspend while active " - "(state = %s)", - idngs_str[idn.state]); + "IDN: 104: cannot suspend while active " + "(state = %s)", + idngs_str[idn.state]); for (d = 0; d < MAX_DOMAINS; d++) { idn_domain_t *dp; @@ -858,10 +858,10 @@ idndetach(dev_info_t *dip, ddi_detach_cmd_t cmd) continue; cmn_err(CE_CONT, - "IDN: 121: domain %d (CPU %d, name " - "\"%s\", state %s)\n", - d, dp->dcpu, dp->dname, - idnds_str[dp->dstate]); + "IDN: 121: domain %d (CPU %d, name " + "\"%s\", state %s)\n", + d, dp->dcpu, dp->dname, + idnds_str[dp->dstate]); } err = 1; } @@ -943,7 +943,7 @@ idndetach(dev_info_t *dip, ddi_detach_cmd_t cmd) idn.sip = sip->si_nextp; } else { for (; hsip && (sip != hsip); tsip = hsip, - hsip = hsip->si_nextp) + hsip = hsip->si_nextp) ; if (hsip) tsip->si_nextp = hsip->si_nextp; @@ -985,16 +985,16 @@ idn_check_conf(dev_info_t *dip, processorid_t *cpuid) ASSERT(str && var); val = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS | - DDI_PROP_NOTPROM, - str, v_def); + DDI_PROP_DONTPASS | + DDI_PROP_NOTPROM, + str, v_def); if ((v_min != v_max) && - ((val < v_min) || (val > v_max))) { + ((val < v_min) || (val > v_max))) { cmn_err(CE_WARN, - "IDN: 105: driver parameter " - "(%s) specified (%d) out of " - "range [%d - %d]", - str, val, v_min, v_max); + "IDN: 105: driver parameter " + "(%s) specified (%d) out of " + "range [%d - %d]", + str, val, v_min, v_max); global_props = IDN_GPROPS_ERROR; } else { *var = val; @@ -1003,8 +1003,8 @@ idn_check_conf(dev_info_t *dip, processorid_t *cpuid) } *cpuid = ddi_prop_get_int(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, - "bind_cpu", -1); + DDI_PROP_DONTPASS | DDI_PROP_NOTPROM, + "bind_cpu", -1); return (global_props); } @@ -1023,23 +1023,23 @@ idn_size_check() if (IDN_NWR_SIZE > IDN_SMR_SIZE) { cmn_err(CE_WARN, - "IDN: 106: idn_nwr_size(%d) > idn_smr_size(%d)" - " - Limiting to %d MB", - IDN_NWR_SIZE, IDN_SMR_SIZE, IDN_SMR_SIZE); + "IDN: 106: idn_nwr_size(%d) > idn_smr_size(%d)" + " - Limiting to %d MB", + IDN_NWR_SIZE, IDN_SMR_SIZE, IDN_SMR_SIZE); IDN_NWR_SIZE = IDN_SMR_SIZE; } if (MB2B(IDN_NWR_SIZE) < IDN_SLAB_SIZE) { cmn_err(CE_WARN, - "IDN: 107: memory region(%lu) < slab size(%u)", - MB2B(IDN_NWR_SIZE), IDN_SLAB_SIZE); + "IDN: 107: memory region(%lu) < slab size(%u)", + MB2B(IDN_NWR_SIZE), IDN_SLAB_SIZE); rv = -1; } if (IDN_LOWAT >= IDN_HIWAT) { cmn_err(CE_WARN, - "IDN: 108: idn_lowat(%d) >= idn_hiwat(%d)", - IDN_LOWAT, IDN_HIWAT); + "IDN: 108: idn_lowat(%d) >= idn_hiwat(%d)", + IDN_LOWAT, IDN_HIWAT); rv = -1; } @@ -1048,27 +1048,27 @@ idn_size_check() #ifdef DEBUG if ((ulong_t)IDN_SLAB_SIZE < mboxareasize) { PR_DRV("%s: slab size(%d) < mailbox area(%ld)", - proc, IDN_SLAB_SIZE, mboxareasize); + proc, IDN_SLAB_SIZE, mboxareasize); /* not fatal */ } #endif /* DEBUG */ if ((mboxareasize + (ulong_t)IDN_SLAB_SIZE) > MB2B(IDN_NWR_SIZE)) { cmn_err(CE_WARN, - "IDN: 109: mailbox area(%lu) + slab size(%u) " - "> nwr region(%lu)", - mboxareasize, IDN_SLAB_SIZE, - MB2B(IDN_NWR_SIZE)); + "IDN: 109: mailbox area(%lu) + slab size(%u) " + "> nwr region(%lu)", + mboxareasize, IDN_SLAB_SIZE, + MB2B(IDN_NWR_SIZE)); rv = -1; } max_num_slabs = (int)((MB2B(IDN_NWR_SIZE) - mboxareasize) / - (ulong_t)IDN_SLAB_SIZE); + (ulong_t)IDN_SLAB_SIZE); if (max_num_slabs < IDN_SLAB_MINTOTAL) { cmn_err(CE_WARN, - "IDN: 110: maximum number of slabs(%d) < " - "minimum required(%d)", - max_num_slabs, IDN_SLAB_MINTOTAL); + "IDN: 110: maximum number of slabs(%d) < " + "minimum required(%d)", + max_num_slabs, IDN_SLAB_MINTOTAL); rv = -1; } else { IDN_SLAB_MAXPERDOMAIN = max_num_slabs / IDN_SLAB_MINTOTAL; @@ -1077,50 +1077,50 @@ idn_size_check() #if 0 if ((IDN_MTU + sizeof (struct ether_header)) > IDN_DATA_SIZE) { cmn_err(CE_WARN, - "IDN: (IDN_MTU(%d) + ether_header(%d)) " - "> IDN_DATA_SIZE(%lu)", - IDN_MTU, sizeof (struct ether_header), - IDN_DATA_SIZE); + "IDN: (IDN_MTU(%d) + ether_header(%d)) " + "> IDN_DATA_SIZE(%lu)", + IDN_MTU, sizeof (struct ether_header), + IDN_DATA_SIZE); rv = -1; } #endif /* 0 */ if (IDN_SMR_BUFSIZE & (IDN_ALIGNSIZE - 1)) { cmn_err(CE_WARN, - "IDN: 111: idn_smr_bufsize(%d) not on a " - "64 byte boundary", IDN_SMR_BUFSIZE); + "IDN: 111: idn_smr_bufsize(%d) not on a " + "64 byte boundary", IDN_SMR_BUFSIZE); rv = -1; } for (i = cnt = 0; - (cnt <= 1) && (((ulong_t)1 << i) < MB2B(IDN_NWR_SIZE)); - i++) + (cnt <= 1) && (((ulong_t)1 << i) < MB2B(IDN_NWR_SIZE)); + i++) if ((1 << i) & IDN_SMR_BUFSIZE) cnt++; if ((i > 0) && (!cnt || (cnt > 1))) { cmn_err(CE_WARN, - "IDN: 112: idn_smr_bufsize(%d) not a power of 2", - IDN_SMR_BUFSIZE); + "IDN: 112: idn_smr_bufsize(%d) not a power of 2", + IDN_SMR_BUFSIZE); rv = -1; } if ((IDN_MBOX_PER_NET & 1) == 0) { cmn_err(CE_WARN, - "IDN: 113: idn_mbox_per_net(%d) must be an " - "odd number", IDN_MBOX_PER_NET); + "IDN: 113: idn_mbox_per_net(%d) must be an " + "odd number", IDN_MBOX_PER_NET); rv = -1; } if (idn.nchannels > 0) IDN_WINDOW_EMAX = IDN_WINDOW_MAX + - ((idn.nchannels - 1) * IDN_WINDOW_INCR); + ((idn.nchannels - 1) * IDN_WINDOW_INCR); if (IDN_NETSVR_WAIT_MIN > IDN_NETSVR_WAIT_MAX) { cmn_err(CE_WARN, - "IDN: 115: idn_netsvr_wait_min(%d) cannot be " - "greater than idn_netsvr_wait_max(%d)", - IDN_NETSVR_WAIT_MIN, - IDN_NETSVR_WAIT_MAX); + "IDN: 115: idn_netsvr_wait_min(%d) cannot be " + "greater than idn_netsvr_wait_max(%d)", + IDN_NETSVR_WAIT_MIN, + IDN_NETSVR_WAIT_MAX); rv = -1; } @@ -1143,7 +1143,7 @@ idn_init_smr() return (-1); PR_PROTO("%s: smr_size = %d, obp_paddr = 0x%lx, obp_size = 0x%lx\n", - proc, smr_size, obp_paddr, obp_size); + proc, smr_size, obp_paddr, obp_size); if (IDN_SMR_SIZE) smr_size = MIN(smr_size, IDN_SMR_SIZE); @@ -1221,13 +1221,13 @@ idn_init(dev_info_t *dip) if (!idn.enabled) { cmn_err(CE_WARN, - "IDN: 117: IDN not enabled"); + "IDN: 117: IDN not enabled"); return (-1); } if (idn.dip != NULL) { PR_DRV("%s: already initialized (dip = 0x%p)\n", - proc, idn.dip); + proc, idn.dip); return (0); } @@ -1236,7 +1236,7 @@ idn_init(dev_info_t *dip) */ if (get_hw_config(&local_hw)) { cmn_err(CE_WARN, - "IDN: 118: hardware config not appropriate"); + "IDN: 118: hardware config not appropriate"); return (-1); } @@ -1261,10 +1261,10 @@ idn_init(dev_info_t *dip) ; idn.bframe_shift = s; PR_DRV("%s: idn.bframe_shift = %d, minbuf = %d\n", - proc, idn.bframe_shift, IDN_SMR_BUFSIZE_MIN); + proc, idn.bframe_shift, IDN_SMR_BUFSIZE_MIN); ASSERT((uint_t)IDN_OFFSET2BFRAME(MB2B(idn_smr_size)) < - (1 << 24)); + (1 << 24)); } idn_xmit_monitor_init(); @@ -1304,8 +1304,8 @@ idn_init(dev_info_t *dip) */ if (idn_protocol_init(idn_protocol_nservers) <= 0) { cmn_err(CE_WARN, - "IDN: 119: failed to initialize %d protocol servers", - idn_protocol_nservers); + "IDN: 119: failed to initialize %d protocol servers", + idn_protocol_nservers); idn_domains_deinit(); idn_retrytask_deinit(); smr_slabwaiter_deinit(); @@ -1355,8 +1355,8 @@ idn_deinit() int d; cmn_err(CE_WARN, - "IDN: 120: cannot deinit while active " - "(state = %s)", idngs_str[idn.state]); + "IDN: 120: cannot deinit while active " + "(state = %s)", idngs_str[idn.state]); for (d = 0; d < MAX_DOMAINS; d++) { idn_domain_t *dp; @@ -1366,10 +1366,10 @@ idn_deinit() continue; cmn_err(CE_CONT, - "IDN: 121: domain %d (CPU %d, " - "name \"%s\", state %s)\n", - d, dp->dcpu, dp->dname, - idnds_str[dp->dstate]); + "IDN: 121: domain %d (CPU %d, " + "name \"%s\", state %s)\n", + d, dp->dcpu, dp->dname, + idnds_str[dp->dstate]); } IDN_GUNLOCK(); return (-1); @@ -1494,7 +1494,7 @@ idnopen(register queue_t *rq, dev_t *devp, int flag, int sflag, cred_t *crp) if (idn.enabled == 0) { PR_DRV("%s: Driver disabled (check OBP:idn-smr-size)\n", - proc); + proc); mutex_exit(&idn.sipwenlock); rw_exit(&idn.struprwlock); IDN_GUNLOCK(); @@ -1638,10 +1638,10 @@ idnwput(register queue_t *wq, register mblk_t *mp) case M_DATA: if (((stp->ss_flags & (IDNSFAST|IDNSRAW)) == 0) || - (stp->ss_state != DL_IDLE) || - (sip == NULL)) { + (stp->ss_state != DL_IDLE) || + (sip == NULL)) { PR_DLPI("%s: fl=0x%x, st=0x%x, ret(EPROTO)\n", - proc, stp->ss_flags, stp->ss_state); + proc, stp->ss_flags, stp->ss_state); merror(wq, mp, EPROTO); } else if (wq->q_first) { @@ -1666,7 +1666,7 @@ idnwput(register queue_t *wq, register mblk_t *mp) } else { PR_DLPI("%s: idndl_start(sip=0x%p)\n", - proc, sip); + proc, sip); rw_enter(&stp->ss_rwlock, RW_READER); (void) idndl_start(wq, mp, sip); rw_exit(&stp->ss_rwlock); @@ -1689,7 +1689,7 @@ idnwput(register queue_t *wq, register mblk_t *mp) case M_FLUSH: PR_STR("%s: M_FLUSH request (flush = %d)\n", - proc, (int)*mp->b_rptr); + proc, (int)*mp->b_rptr); if (*mp->b_rptr & FLUSHW) { flushq(wq, FLUSHALL); *mp->b_rptr &= ~FLUSHW; @@ -1702,7 +1702,7 @@ idnwput(register queue_t *wq, register mblk_t *mp) default: PR_STR("%s: unexpected DB_TYPE 0x%x\n", - proc, DB_TYPE(mp)); + proc, DB_TYPE(mp)); freemsg(mp); break; } @@ -1730,7 +1730,7 @@ idnwsrv(queue_t *wq) case M_DATA: if (sip) { PR_DLPI("%s: idndl_start(sip=0x%p)\n", - proc, sip); + proc, sip); rw_enter(&stp->ss_rwlock, RW_READER); err = idndl_start(wq, mp, sip); rw_exit(&stp->ss_rwlock); @@ -1750,7 +1750,7 @@ idnwsrv(queue_t *wq) default: ASSERT(0); PR_STR("%s: unexpected db_type (%d)\n", - proc, DB_TYPE(mp)); + proc, DB_TYPE(mp)); freemsg(mp); break; } @@ -1775,15 +1775,15 @@ idnrput(register queue_t *rq, register mblk_t *mp) * if running DLPI. */ cmn_err(CE_WARN, - "IDN: 123: unexpected M_DATA packets for " - "q_stream 0x%p", rq->q_stream); + "IDN: 123: unexpected M_DATA packets for " + "q_stream 0x%p", rq->q_stream); freemsg(mp); err = ENXIO; break; case M_FLUSH: PR_STR("%s: M_FLUSH request (flush = %d)\n", - proc, (int)*mp->b_rptr); + proc, (int)*mp->b_rptr); if (*mp->b_rptr & FLUSHR) flushq(rq, FLUSHALL); (void) putnext(rq, mp); @@ -1791,12 +1791,12 @@ idnrput(register queue_t *rq, register mblk_t *mp) case M_ERROR: PR_STR("%s: M_ERROR (error = %d) coming through\n", - proc, (int)*mp->b_rptr); + proc, (int)*mp->b_rptr); (void) putnext(rq, mp); break; default: PR_STR("%s: unexpected DB_TYPE 0x%x\n", - proc, DB_TYPE(mp)); + proc, DB_TYPE(mp)); freemsg(mp); err = ENXIO; break; @@ -1929,7 +1929,7 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) sbp = *sbpp; PR_PROTO("%s: KICKED OFF (sigbintr pointer = 0x%p)\n", - proc, sbp); + proc, sbp); ASSERT(sbp == &idn.sigbintr); @@ -1939,10 +1939,10 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) cpu_sgnblk_t *sigbp; while ((sbp->sb_busy != IDNSIGB_ACTIVE) && - (sbp->sb_busy != IDNSIGB_DIE)) { + (sbp->sb_busy != IDNSIGB_DIE)) { cv_wait(&sbp->sb_cv, &idn.sigbintr.sb_mutex); PR_PROTO("%s: AWAKENED (busy = %d)\n", - proc, (int)sbp->sb_busy); + proc, (int)sbp->sb_busy); } if (sbp->sb_busy == IDNSIGB_DIE) { PR_PROTO("%s: DIE REQUESTED\n", proc); @@ -1951,8 +1951,8 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) if ((sigbp = cpu_sgnblkp[sbp->sb_cpuid]) == NULL) { cmn_err(CE_WARN, - "IDN: 124: sigblk for CPU ID %d " - "is NULL", sbp->sb_cpuid); + "IDN: 124: sigblk for CPU ID %d " + "is NULL", sbp->sb_cpuid); sbp->sb_busy = IDNSIGB_INACTIVE; continue; } @@ -1961,7 +1961,7 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) if (mbp->flag != SIGB_MBOX_BUSY) { PR_PROTO("%s: sigblk mbox flag (%d) != BUSY (%d)\n", - proc, mbp->flag, SIGB_MBOX_BUSY); + proc, mbp->flag, SIGB_MBOX_BUSY); sbp->sb_busy = IDNSIGB_INACTIVE; continue; } @@ -1980,8 +1980,8 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) if (mbp->len != sizeof (idnsb_data_t)) { PR_PROTO("%s: sigblk mbox length (%d) != " - "expected (%lu)\n", proc, mbp->len, - sizeof (idnsb_data_t)); + "expected (%lu)\n", proc, mbp->len, + sizeof (idnsb_data_t)); SET_IDNKERR_ERRNO(sep, EINVAL); SET_IDNKERR_IDNERR(sep, IDNKERR_DATA_LEN); SET_IDNKERR_PARAM0(sep, sizeof (idnsb_data_t)); @@ -1992,14 +1992,14 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) if (idn.enabled == 0) { #ifdef DEBUG cmn_err(CE_NOTE, - "IDN: 102: driver disabled " - "- check OBP environment " - "(idn-smr-size)"); + "IDN: 102: driver disabled " + "- check OBP environment " + "(idn-smr-size)"); #else /* DEBUG */ cmn_err(CE_NOTE, - "!IDN: 102: driver disabled " - "- check OBP environment " - "(idn-smr-size)"); + "!IDN: 102: driver disabled " + "- check OBP environment " + "(idn-smr-size)"); #endif /* DEBUG */ SET_IDNKERR_ERRNO(sep, EACCES); SET_IDNKERR_IDNERR(sep, IDNKERR_DRV_DISABLED); @@ -2034,12 +2034,12 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) } PR_PROTO("%s: SSI_LINK(cpuid = %d, domid = %d, " - "pri = %d (req = %d), t/o = %d)\n", - proc, slp.cpuid, slp.domid, pri, - slp.master_pri, slp.timeout); + "pri = %d (req = %d), t/o = %d)\n", + proc, slp.cpuid, slp.domid, pri, + slp.master_pri, slp.timeout); rv = idn_link(slp.domid, slp.cpuid, pri, - slp.timeout, sep); + slp.timeout, sep); SET_IDNKERR_ERRNO(sep, rv); (void) idn_info(&sdp->ssb_info); break; @@ -2054,15 +2054,15 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) bcopy(&sdp->ssb_unlink, &sup, sizeof (sup)); PR_PROTO("%s: SSI_UNLINK(c = %d, d = %d, bs = 0x%x, " - "f = %d, is = 0x%x, t/o = %d)\n", - proc, sup.cpuid, sup.domid, sup.boardset, - sup.force, sup.idnset, sup.timeout); + "f = %d, is = 0x%x, t/o = %d)\n", + proc, sup.cpuid, sup.domid, sup.boardset, + sup.force, sup.idnset, sup.timeout); domset = idn.domset.ds_trans_on | - idn.domset.ds_connected | - idn.domset.ds_trans_off | - idn.domset.ds_awol | - idn.domset.ds_relink; + idn.domset.ds_connected | + idn.domset.ds_trans_off | + idn.domset.ds_awol | + idn.domset.ds_relink; if (VALID_DOMAINID(sup.domid)) { dp = &idn_domain[sup.domid]; @@ -2075,7 +2075,7 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) continue; if (CPU_IN_SET(xdp->dcpuset, - sup.cpuid)) + sup.cpuid)) break; } dp = (d == MAX_DOMAINS) ? NULL : xdp; @@ -2089,7 +2089,7 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) continue; if (xdp->dhw.dh_boardset & - sup.boardset) + sup.boardset) break; } dp = (d == MAX_DOMAINS) ? NULL : xdp; @@ -2126,7 +2126,7 @@ idn_sigbhandler_thread(struct sigbintr **sbpp) } rv = idn_unlink(sup.domid, sup.idnset, fintype, - IDNFIN_OPT_UNLINK, sup.timeout, sep); + IDNFIN_OPT_UNLINK, sup.timeout, sep); SET_IDNKERR_ERRNO(sep, rv); (void) idn_info(&sdp->ssb_info); break; @@ -2157,32 +2157,32 @@ sberr: if (GET_IDNKERR_ERRNO(sep) != 0) { cmn_err(CE_WARN, #ifdef DEBUG - "IDN: 125: op (%s) failed, returning " - "(%d/0x%x [%d, %d, %d])", + "IDN: 125: op (%s) failed, returning " + "(%d/0x%x [%d, %d, %d])", #else /* DEBUG */ - "!IDN: 125: op (%s) failed, returning " - "(%d/0x%x [%d, %d, %d])", + "!IDN: 125: op (%s) failed, returning " + "(%d/0x%x [%d, %d, %d])", #endif /* DEBUG */ - (mbp->cmd == SSI_LINK) ? "LINK" : - (mbp->cmd == SSI_UNLINK) ? "UNLINK" : - (mbp->cmd == SSI_INFO) ? - "INFO" : "UNKNOWN", - GET_IDNKERR_ERRNO(sep), - GET_IDNKERR_IDNERR(sep), - GET_IDNKERR_PARAM0(sep), - GET_IDNKERR_PARAM1(sep), - GET_IDNKERR_PARAM2(sep)); + (mbp->cmd == SSI_LINK) ? "LINK" : + (mbp->cmd == SSI_UNLINK) ? "UNLINK" : + (mbp->cmd == SSI_INFO) ? + "INFO" : "UNKNOWN", + GET_IDNKERR_ERRNO(sep), + GET_IDNKERR_IDNERR(sep), + GET_IDNKERR_PARAM0(sep), + GET_IDNKERR_PARAM1(sep), + GET_IDNKERR_PARAM2(sep)); } PR_PROTO("%s: returning errno = %d, idnerr = %d, " - "params = [%d, %d, %d]\n", - proc, GET_IDNKERR_ERRNO(sep), GET_IDNKERR_IDNERR(sep), - GET_IDNKERR_PARAM0(sep), GET_IDNKERR_PARAM1(sep), - GET_IDNKERR_PARAM2(sep)); + "params = [%d, %d, %d]\n", + proc, GET_IDNKERR_ERRNO(sep), GET_IDNKERR_IDNERR(sep), + GET_IDNKERR_PARAM0(sep), GET_IDNKERR_PARAM1(sep), + GET_IDNKERR_PARAM2(sep)); mutex_enter(&idn.sigbintr.sb_mutex); ASSERT((sbp->sb_busy == IDNSIGB_ACTIVE) || - (sbp->sb_busy == IDNSIGB_DIE)); + (sbp->sb_busy == IDNSIGB_DIE)); mbp->cmd |= SSI_ACK; if (sbp->sb_busy == IDNSIGB_ACTIVE) sbp->sb_busy = IDNSIGB_INACTIVE; @@ -2212,8 +2212,8 @@ idn_sigbhandler_create() if (idn.sigb_threadp) { cmn_err(CE_WARN, - "IDN: 126: sigbhandler thread already " - "exists (0x%p)", idn.sigb_threadp); + "IDN: 126: sigbhandler thread already " + "exists (0x%p)", idn.sigb_threadp); return; } cv_init(&idn.sigbintr.sb_cv, NULL, CV_DEFAULT, NULL); @@ -2310,7 +2310,7 @@ idn_sigbhandler(processorid_t cpuid, cpu_sgnblk_t *sgnblkp) sigb_lock = 1; if ((idn.sigb_threadp == NULL) || - (sbp->sb_busy == IDNSIGB_NOTREADY)) { + (sbp->sb_busy == IDNSIGB_NOTREADY)) { cmd |= SSI_ACK; SET_IDNKERR_ERRNO(sep, EAGAIN); SET_IDNKERR_IDNERR(sep, IDNKERR_SIGBINTR_NOTRDY); @@ -2376,7 +2376,7 @@ idn_info(idnsb_info_t *sfp) case IDNGS_OFFLINE: sinfo.idn_active = SSISTATE_INACTIVE; PR_PROTO("%s: idn_state (%s) = INACTIVE\n", - proc, idngs_str[idn.state]); + proc, idngs_str[idn.state]); break; case IDNGS_IGNORE: @@ -2387,7 +2387,7 @@ idn_info(idnsb_info_t *sfp) default: sinfo.idn_active = SSISTATE_ACTIVE; PR_PROTO("%s: idn_state (%s) = ACTIVE\n", - proc, idngs_str[idn.state]); + proc, idngs_str[idn.state]); break; } master_id = IDN_GET_MASTERID(); @@ -2402,7 +2402,7 @@ idn_info(idnsb_info_t *sfp) sinfo.awol_domset = (ushort_t)idn.domset.ds_awol; sinfo.conn_domset = (ushort_t)(idn.domset.ds_connected & - ~idn.domset.ds_trans_on); + ~idn.domset.ds_trans_on); DOMAINSET_ADD(sinfo.conn_domset, idn.localid); count = 0; @@ -2414,7 +2414,7 @@ idn_info(idnsb_info_t *sfp) IDN_DLOCK_SHARED(d); if ((dp->dcpu == IDN_NIL_DCPU) || - (dp->dstate == IDNDS_CLOSED)) { + (dp->dstate == IDNDS_CLOSED)) { IDN_DUNLOCK(d); continue; } @@ -2424,13 +2424,13 @@ idn_info(idnsb_info_t *sfp) sinfo.local_index = (uchar_t)d; sinfo.local_cpuid = (uchar_t)dp->dcpu; PR_PROTO("%s: domid %d is LOCAL (cpuid = %d)\n", - proc, d, dp->dcpu); + proc, d, dp->dcpu); } if (d == master_id) { sinfo.master_index = (uchar_t)d; sinfo.master_cpuid = (uchar_t)dp->dcpu; PR_PROTO("%s: domid %d is MASTER (cpuid = %d)\n", - proc, d, dp->dcpu); + proc, d, dp->dcpu); } sinfo.domain_boardset[d] = (ushort_t)dp->dhw.dh_boardset; @@ -2494,21 +2494,21 @@ idn_param_set(queue_t *q, mblk_t *mp, char *value, caddr_t cp, cred_t *cr) new_value = (ulong_t)mi_strtol(value, &end, 10); if ((end == value) || - (new_value < idnpa->sp_min) || - (new_value > idnpa->sp_max)) + (new_value < idnpa->sp_min) || + (new_value > idnpa->sp_max)) return (EINVAL); if (idn.enabled == 0) { #ifdef DEBUG cmn_err(CE_NOTE, - "IDN: 102: driver disabled " - "- check OBP environment " - "(idn-smr-size)"); + "IDN: 102: driver disabled " + "- check OBP environment " + "(idn-smr-size)"); #else /* DEBUG */ cmn_err(CE_NOTE, - "!IDN: 102: driver disabled " - "- check OBP environment " - "(idn-smr-size)"); + "!IDN: 102: driver disabled " + "- check OBP environment " + "(idn-smr-size)"); #endif /* DEBUG */ return (EACCES); } @@ -2554,55 +2554,55 @@ idn_param_register(register idnparam_t *idnpa, int count) set_func = idn_param_set; if (!nd_load(&idn_ndlist, idnpa->sp_name, - idn_param_get, set_func, - (caddr_t)idnpa)) { + idn_param_get, set_func, + (caddr_t)idnpa)) { nd_free(&idn_ndlist); return (-1); } } } if (!nd_load(&idn_ndlist, "idn_slabpool", idn_slabpool_report, - NULL, NULL)) { + NULL, NULL)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_buffers", idn_buffer_report, - NULL, NULL)) { + NULL, NULL)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_mboxtbl", idn_mboxtbl_report, - NULL, MBXTBL_PART_REPORT)) { + NULL, MBXTBL_PART_REPORT)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_mboxtbl_all", idn_mboxtbl_report, - NULL, MBXTBL_FULL_REPORT)) { + NULL, MBXTBL_FULL_REPORT)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_mainmbox", idn_mainmbox_report, - NULL, NULL)) { + NULL, NULL)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_global", idn_global_report, - NULL, NULL)) { + NULL, NULL)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_domain", idn_domain_report, - NULL, (caddr_t)0)) { + NULL, (caddr_t)0)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_domain_all", idn_domain_report, - NULL, (caddr_t)1)) { + NULL, (caddr_t)1)) { nd_free(&idn_ndlist); return (-1); } if (!nd_load(&idn_ndlist, "idn_bind_net", idn_get_net_binding, - idn_set_net_binding, NULL)) { + idn_set_net_binding, NULL)) { nd_free(&idn_ndlist); return (-1); } @@ -2630,13 +2630,13 @@ idn_set_net_binding(queue_t *q, mblk_t *mp, char *value, caddr_t cp, cred_t *cr) net = mi_strtol(value, &end, 10); if ((end == value) || (net < 0) || (net >= IDN_MAX_NETS) || - !CHAN_IN_SET(idn.chanset, net)) + !CHAN_IN_SET(idn.chanset, net)) return (EINVAL); cpuid = (processorid_t)mi_strtol(cpup, &end, 10); if ((end == cpup) || ((cpuid != -1) && - (!VALID_CPUID(cpuid) || - !CPU_IN_SET(cpu_ready_set, cpuid)))) + (!VALID_CPUID(cpuid) || + !CPU_IN_SET(cpu_ready_set, cpuid)))) return (EINVAL); idn_chanserver_bind(net, cpuid); @@ -2656,8 +2656,8 @@ idn_get_net_binding(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *cr) ASSERT(IDN_GLOCK_IS_HELD()); (void) mi_mpprintf(mp, - "IDN network interfaces/channels active = %d", - idn.nchannels); + "IDN network interfaces/channels active = %d", + idn.nchannels); if (idn.nchannels == 0) return (0); @@ -2701,10 +2701,10 @@ idnioc_link(idnop_t *idnop) pri = IDNVOTE_DEFPRI; PR_DRV("%s: domid = %d, cpuid = %d, pri = %d\n", - proc, idnop->link.domid, idnop->link.cpuid, pri); + proc, idnop->link.domid, idnop->link.cpuid, pri); rv = idn_link(idnop->link.domid, idnop->link.cpuid, - pri, idnop->link.wait, &err); + pri, idnop->link.wait, &err); return (rv); } @@ -2720,8 +2720,8 @@ idnioc_unlink(idnop_t *idnop) procname_t proc = "idnioc_unlink"; PR_DRV("%s: domid = %d, cpuid = %d, force = %d\n", - proc, idnop->unlink.domid, idnop->unlink.cpuid, - idnop->unlink.force); + proc, idnop->unlink.domid, idnop->unlink.cpuid, + idnop->unlink.force); idnset = BOARDSET_ALL; domid = idnop->unlink.domid; @@ -2734,13 +2734,13 @@ idnioc_unlink(idnop_t *idnop) if (VALID_DOMAINID(domid)) { dp = &idn_domain[domid]; if (VALID_CPUID(cpuid) && (dp->dcpu != IDN_NIL_DCPU) && - !CPU_IN_SET(dp->dcpuset, cpuid)) { + !CPU_IN_SET(dp->dcpuset, cpuid)) { dp = NULL; PR_PROTO("%s: ERROR: invalid cpuid " - "(%d) for domain (%d) [cset = 0x%x.x%x]\n", - proc, cpuid, domid, - UPPER32_CPUMASK(dp->dcpuset), - LOWER32_CPUMASK(dp->dcpuset)); + "(%d) for domain (%d) [cset = 0x%x.x%x]\n", + proc, cpuid, domid, + UPPER32_CPUMASK(dp->dcpuset), + LOWER32_CPUMASK(dp->dcpuset)); } } else if (VALID_CPUID(cpuid)) { for (d = 0; d < MAX_DOMAINS; d++) { @@ -2774,12 +2774,12 @@ idnioc_unlink(idnop_t *idnop) break; default: PR_PROTO("%s: invalid force parameter \"%d\"", - proc, idnop->unlink.force); + proc, idnop->unlink.force); return (EINVAL); } rv = idn_unlink(domid, idnset, fintype, IDNFIN_OPT_UNLINK, - idnop->unlink.wait, &err); + idnop->unlink.wait, &err); return (rv); } @@ -2796,8 +2796,8 @@ idn_send_ping(idnop_t *idnop) if ((domid == IDN_NIL_DOMID) && (cpuid == IDN_NIL_DCPU)) { cmn_err(CE_WARN, - "IDN: %s: no valid domain ID or CPU ID given", - proc); + "IDN: %s: no valid domain ID or CPU ID given", + proc); return (EINVAL); } if (domid == IDN_NIL_DOMID) @@ -2807,8 +2807,8 @@ idn_send_ping(idnop_t *idnop) IDN_DLOCK_EXCL(domid); if ((dp->dcpu == IDN_NIL_DCPU) && (cpuid == IDN_NIL_DCPU)) { cmn_err(CE_WARN, - "IDN: %s: no valid target CPU specified", - proc); + "IDN: %s: no valid target CPU specified", + proc); IDN_DUNLOCK(domid); return (EINVAL); } @@ -2932,7 +2932,7 @@ idn_add_op(idn_opflag_t opflag, domainset_t domset) mutex_enter(&idn.dopers->dop_mutex); if ((idn.dopers->dop_waitcount == 0) || - ((idn.dopers->dop_domset & domset) == 0)) { + ((idn.dopers->dop_domset & domset) == 0)) { mutex_exit(&idn.dopers->dop_mutex); return; } @@ -2961,10 +2961,10 @@ idn_update_op(idn_opflag_t opflag, domainset_t domset, idnsb_error_t *sep) * just bail. */ if ((idn.dopers->dop_waitcount == 0) || - ((idn.dopers->dop_domset & domset) == 0)) { + ((idn.dopers->dop_domset & domset) == 0)) { mutex_exit(&idn.dopers->dop_mutex); PR_PROTO("%s: NO waiters exist (domset=0x%x)\n", - proc, domset); + proc, domset); return; } @@ -2983,7 +2983,7 @@ idn_update_op(idn_opflag_t opflag, domainset_t domset, idnsb_error_t *sep) continue; dw->dw_errors[d] = - (short)GET_IDNKERR_ERRNO(sep); + (short)GET_IDNKERR_ERRNO(sep); } bcopy(sep, dw->dw_idnerr, sizeof (*sep)); } @@ -3030,8 +3030,8 @@ idn_deinit_op(void *cookie) } } else { for (tw = idn.dopers->dop_waitlist, hw = tw->dw_next; - hw; - tw = hw, hw = hw->dw_next) { + hw; + tw = hw, hw = hw->dw_next) { if (dwl == hw) break; } @@ -3077,14 +3077,14 @@ idn_wait_op(void *cookie, domainset_t *domsetp, int wait_timeout) ASSERT(wait_timeout > 0); ASSERT((dwl->dw_op == IDNOP_CONNECTED) || - (dwl->dw_op == IDNOP_DISCONNECTED)); + (dwl->dw_op == IDNOP_DISCONNECTED)); mutex_enter(&idn.dopers->dop_mutex); while (((dwl->dw_domset | dwl->dw_errset) != dwl->dw_reqset) && !err) { rv = cv_timedwait_sig(&idn.dopers->dop_cv, - &idn.dopers->dop_mutex, - lbolt + (wait_timeout * hz)); + &idn.dopers->dop_mutex, + lbolt + (wait_timeout * hz)); if ((dwl->dw_domset | dwl->dw_errset) == dwl->dw_reqset) break; @@ -3095,10 +3095,10 @@ idn_wait_op(void *cookie, domainset_t *domsetp, int wait_timeout) * timed out */ cmn_err(CE_WARN, - "!IDN: 129: %s operation timed out", - (dwl->dw_op == IDNOP_CONNECTED) ? "LINK" : - (dwl->dw_op == IDNOP_DISCONNECTED) ? "UNLINK" : - "UNKNOWN"); + "!IDN: 129: %s operation timed out", + (dwl->dw_op == IDNOP_CONNECTED) ? "LINK" : + (dwl->dw_op == IDNOP_DISCONNECTED) ? "UNLINK" : + "UNKNOWN"); /*FALLTHROUGH*/ case 0: /* @@ -3144,8 +3144,8 @@ board_to_ready_cpu(int board, cpuset_t cpuset) board *= ncpu_board; for (base_cpuid = board; - base_cpuid < (board + ncpu_board); - base_cpuid++) + base_cpuid < (board + ncpu_board); + base_cpuid++) if (CPU_IN_SET(cpuset, base_cpuid)) return (base_cpuid); @@ -3195,7 +3195,7 @@ idn_domain_resetentry(idn_domain_t *dp) if (dp->dtimerq.tq_queue != NULL) { PR_PROTO("%s: WARNING: MSG timerq not empty (count = %d)\n", - proc, dp->dtimerq.tq_count); + proc, dp->dtimerq.tq_count); IDN_MSGTIMER_STOP(dp->domid, 0, 0); } @@ -3215,8 +3215,8 @@ idn_open_domain(int domid, int cpuid, uint_t ticket) if (!VALID_DOMAINID(domid)) { PR_PROTO("%s: INVALID domainid (%d) " - "[cpuid = %d, ticket = 0x%x]\n", - proc, domid, cpuid, ticket); + "[cpuid = %d, ticket = 0x%x]\n", + proc, domid, cpuid, ticket); return (-1); } @@ -3225,7 +3225,7 @@ idn_open_domain(int domid, int cpuid, uint_t ticket) if (dp->dcpu >= 0) { PR_PROTO("%s:%d: domain already OPEN (state = %s)\n", - proc, domid, idnds_str[dp->dstate]); + proc, domid, idnds_str[dp->dstate]); return (1); } @@ -3240,7 +3240,7 @@ idn_open_domain(int domid, int cpuid, uint_t ticket) if (new_cpuid == IDN_NIL_DCPU) { PR_PROTO("%s:%d: WARNING: invalid cpuid (%d) specified\n", - proc, domid, new_cpuid); + proc, domid, new_cpuid); return (-1); } @@ -3249,7 +3249,7 @@ idn_open_domain(int domid, int cpuid, uint_t ticket) idn_domain_resetentry(dp); PR_STATE("%s:%d: requested cpuid %d, assigning cpuid %d\n", - proc, domid, cpuid, new_cpuid); + proc, domid, cpuid, new_cpuid); idn_assign_cookie(domid); @@ -3280,7 +3280,7 @@ idn_open_domain(int domid, int cpuid, uint_t ticket) if (get_hw_config(&local_hw)) { dp->dcpu = IDN_NIL_DCPU; cmn_err(CE_WARN, - "IDN: 118: hardware config not appropriate"); + "IDN: 118: hardware config not appropriate"); if (domid != idn.localid) IDN_DUNLOCK(idn.localid); IDN_GUNLOCK(); @@ -3300,9 +3300,9 @@ idn_open_domain(int domid, int cpuid, uint_t ticket) if (domid != idn.localid) { dp->dmbox.m_send = idn_mainmbox_init(domid, - IDNMMBOX_TYPE_SEND); + IDNMMBOX_TYPE_SEND); dp->dmbox.m_recv = idn_mainmbox_init(domid, - IDNMMBOX_TYPE_RECV); + IDNMMBOX_TYPE_RECV); } else { /* * The local domain does not need send/recv @@ -3314,7 +3314,7 @@ idn_open_domain(int domid, int cpuid, uint_t ticket) IDN_MBOX_UNLOCK(domid); PR_PROTO("%s:%d: new domain (cpu = %d, vote = 0x%x)\n", - proc, domid, dp->dcpu, dp->dvote.ticket); + proc, domid, dp->dcpu, dp->dvote.ticket); return (0); } @@ -3340,7 +3340,7 @@ idn_close_domain(int domid) if (dp->dcpu == IDN_NIL_DCPU) { PR_PROTO("%s:%d: DOMAIN ALREADY CLOSED!\n", - proc, domid); + proc, domid); return; } @@ -3384,8 +3384,8 @@ idn_close_domain(int domid) IDN_MBOX_UNLOCK(domid); cmn_err(CE_NOTE, - "!IDN: 142: link (domain %d, CPU %d) disconnected", - dp->domid, dp->dcpu); + "!IDN: 142: link (domain %d, CPU %d) disconnected", + dp->domid, dp->dcpu); dp->dcpu = IDN_NIL_DCPU; /* ultimate demise */ @@ -3471,7 +3471,7 @@ idn_domains_init(struct hwconfig *local_hw) bcopy(local_hw, &ldp->dhw, sizeof (ldp->dhw)); ASSERT(idn.ndomains == 1); ASSERT((ldp->dhw.dh_nboards > 0) && - (ldp->dhw.dh_nboards <= MAX_BOARDS)); + (ldp->dhw.dh_nboards <= MAX_BOARDS)); ldp->dnetid = IDN_DOMID2NETID(ldp->domid); ldp->dmtu = IDN_MTU; ldp->dbufsize = IDN_SMR_BUFSIZE; @@ -3545,9 +3545,9 @@ idn_retrytask_init() mutex_init(&idn.retryqueue.rq_mutex, NULL, MUTEX_DEFAULT, NULL); idn.retryqueue.rq_cache = kmem_cache_create("idn_retryjob_cache", - sizeof (idn_retry_job_t), - 0, NULL, NULL, NULL, - NULL, NULL, 0); + sizeof (idn_retry_job_t), + 0, NULL, NULL, NULL, + NULL, NULL, 0); } static void @@ -3571,9 +3571,9 @@ idn_timercache_init() ASSERT(idn.timer_cache == NULL); idn.timer_cache = kmem_cache_create("idn_timer_cache", - sizeof (idn_timer_t), - 0, NULL, NULL, NULL, - NULL, NULL, 0); + sizeof (idn_timer_t), + 0, NULL, NULL, NULL, + NULL, NULL, 0); } static void @@ -3649,7 +3649,7 @@ idn_timer_get(idn_timerq_t *tq, int type, ushort_t tcookie) do { tpnext = tp->t_forw; if ((tp->t_type == type) && - (!tcookie || (tp->t_cookie == tcookie))) { + (!tcookie || (tp->t_cookie == tcookie))) { tp->t_forw->t_back = tp->t_back; tp->t_back->t_forw = tp->t_forw; if (tphead == NULL) { @@ -3699,7 +3699,7 @@ idn_timer_start(idn_timerq_t *tq, idn_timer_t *tp, clock_t tval) */ while ((tcookie = tp->t_cookie) == 0) { tp->t_cookie = (tp->t_type & 0xf) | - ((++tq->tq_cookie & 0xf) << 4); + ((++tq->tq_cookie & 0xf) << 4); /* * Calculated cookie must never conflict * with the public timer cookie. @@ -3735,7 +3735,7 @@ idn_timer_start(idn_timerq_t *tq, idn_timer_t *tp, clock_t tval) INUM2STR(tp->t_type, str); PR_TIMER("%s: started %s timer (domain = %d, cookie = 0x%x)\n", - proc, str, tp->t_domid, tcookie); + proc, str, tp->t_domid, tcookie); IDN_TIMERQ_UNLOCK(tq); @@ -3772,8 +3772,8 @@ idn_timer_stop(idn_timerq_t *tq, int type, ushort_t tcookie) #ifdef DEBUG if (tphead == NULL) PR_TIMER("%s: found no %s (cookie = 0x%x) " - "timers (count=%d)!!\n", - proc, str, tcookie, tq->tq_count); + "timers (count=%d)!!\n", + proc, str, tcookie, tq->tq_count); #endif /* DEBUG */ IDN_TIMERQ_UNLOCK(tq); @@ -3809,10 +3809,10 @@ idn_timer_stopall(idn_timer_t *tp) if (untimeout(tp->t_id) < 0) { nonactive++; PR_TIMER("%s: bad %s untimeout (domain=%d)\n", - proc, str, tp->t_domid); + proc, str, tp->t_domid); } else { PR_TIMER("%s: good %s untimeout (domain=%d)\n", - proc, str, tp->t_domid); + proc, str, tp->t_domid); } /* * There are two possible outcomes from @@ -3827,7 +3827,7 @@ idn_timer_stopall(idn_timer_t *tp) idn_timer_free(tp); } PR_TIMER("%s: stopped %d of %d %s timers\n", - proc, count - nonactive, count, str); + proc, count - nonactive, count, str); return (count); } @@ -3877,8 +3877,8 @@ idn_slabpool_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) if (idn.slabpool == NULL) { (void) mi_mpprintf(mp, - "IDN slabpool not initialized (masterid = %d)", - IDN_GET_MASTERID()); + "IDN slabpool not initialized (masterid = %d)", + IDN_GET_MASTERID()); return (0); } @@ -3886,11 +3886,11 @@ idn_slabpool_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) nfree += idn.slabpool->pool[p].nfree; (void) mi_mpprintf(mp, - "IDN slabpool (ntotal_slabs = %d, nalloc = %d, " - "npools = %d)", - idn.slabpool->ntotslabs, - idn.slabpool->ntotslabs - nfree, - idn.slabpool->npools); + "IDN slabpool (ntotal_slabs = %d, nalloc = %d, " + "npools = %d)", + idn.slabpool->ntotslabs, + idn.slabpool->ntotslabs - nfree, + idn.slabpool->npools); (void) mi_mpprintf(mp, "pool nslabs nfree domains"); @@ -3916,20 +3916,20 @@ idn_slabpool_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) (void) sprintf(dsetstr, "%d", d); else (void) sprintf(dsetstr, "%s %d", - dsetstr, d); + dsetstr, d); } } if (p < 10) (void) mi_mpprintf(mp, " %d %d %d %s", - p, idn.slabpool->pool[p].nslabs, - idn.slabpool->pool[p].nfree, - dsetstr); + p, idn.slabpool->pool[p].nslabs, + idn.slabpool->pool[p].nfree, + dsetstr); else (void) mi_mpprintf(mp, " %d %d %d %s", - p, idn.slabpool->pool[p].nslabs, - idn.slabpool->pool[p].nfree, - dsetstr); + p, idn.slabpool->pool[p].nslabs, + idn.slabpool->pool[p].nfree, + dsetstr); } return (0); } @@ -3947,12 +3947,12 @@ idn_buffer_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) if (idn.localid == IDN_NIL_DOMID) { (void) mi_mpprintf(mp, "IDN not initialized (localid = %d)", - idn.localid); + idn.localid); return (0); } (void) mi_mpprintf(mp, "Local domain has %d slabs allocated.", - idn_domain[idn.localid].dnslabs); + idn_domain[idn.localid].dnslabs); DSLAB_LOCK_SHARED(idn.localid); if ((sp = idn_domain[idn.localid].dslab) == NULL) { @@ -3988,10 +3988,10 @@ idn_buffer_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) if (bufcount[d]) { if (d < 10) (void) mi_mpprintf(mp, " %d %d", - d, bufcount[d]); + d, bufcount[d]); else (void) mi_mpprintf(mp, " %d %d", - d, bufcount[d]); + d, bufcount[d]); } return (0); @@ -4111,14 +4111,14 @@ idn_mboxtbl_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) if ((map = idn.mboxarea) == NULL) { (void) mi_mpprintf(mp, - "WARNING: Local domain is not master, " - "ASSUMING idn.smr.vaddr."); + "WARNING: Local domain is not master, " + "ASSUMING idn.smr.vaddr."); map = (idn_mboxtbl_t *)idn.smr.vaddr; } if (map) { (void) mi_mpprintf(mp, "Mailbox Area starts @ 0x%p", - map); + map); } else { (void) mi_mpprintf(mp, "Mailbox Area not found."); goto repdone; @@ -4138,44 +4138,44 @@ idn_mboxtbl_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) } (void) mi_mpprintf(mp, - "Channel %d ---------------------------" - "--------------------------" - "-----------------------------", c); + "Channel %d ---------------------------" + "--------------------------" + "-----------------------------", c); (void) mi_mpprintf(mp, - " Domain Header " - "Ready/Active Ptrs " - "rdy/actv cookie Queue " - "busy"); + " Domain Header " + "Ready/Active Ptrs " + "rdy/actv cookie Queue " + "busy"); for (domid = 0; domid < MAX_DOMAINS; domid++) { register int busy_count; if ((cp == MBXTBL_PART_REPORT) && - (idn_domain[domid].dcpu == IDN_NIL_DCPU)) + (idn_domain[domid].dcpu == IDN_NIL_DCPU)) continue; mtbasep = IDN_MBOXAREA_BASE(map, domid); for (subdomid = 0; subdomid < MAX_DOMAINS; - subdomid++) { + subdomid++) { mtp = IDN_MBOXTBL_PTR(mtbasep, subdomid); mtp = IDN_MBOXTBL_PTR_CHAN(mtp, c); if (subdomid == domid) { if (subdomid == 0) (void) mi_mpprintf(mp, - " %x.%x-%d%s%s", - domid, subdomid, c, + " %x.%x-%d%s%s", + domid, subdomid, c, /*CONSTCOND*/ - DECSPACE(c, 2, 2), - "-- unused --"); + DECSPACE(c, 2, 2), + "-- unused --"); else (void) mi_mpprintf(mp, - " .%x-%d%s%s", - subdomid, c, + " .%x-%d%s%s", + subdomid, c, /*CONSTCOND*/ - DECSPACE(c, 2, 2), - "-- unused --"); + DECSPACE(c, 2, 2), + "-- unused --"); continue; } busy_count = 0; @@ -4186,22 +4186,22 @@ idn_mboxtbl_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) } if (subdomid == 0) { (void) mi_mpprintf(mp, - " %x.%x-%d%s%p%s%x%s/ %x%s" - "%d%s/ %d%s%x%s%p%s%d%s", - domid, subdomid, c, + " %x.%x-%d%s%p%s%x%s/ %x%s" + "%d%s/ %d%s%x%s%p%s%d%s", + domid, subdomid, c, /*CONSTCOND*/ - DECSPACE(c, 2, 2), - MBXINFO(mtp), busy_count, - busy_count ? " <<<<<":""); + DECSPACE(c, 2, 2), + MBXINFO(mtp), busy_count, + busy_count ? " <<<<<":""); } else { (void) mi_mpprintf(mp, - " .%x-%d%s%p%s%x%s/ %x%s" - "%d%s/ %d%s%x%s%p%s%d%s", - subdomid, c, + " .%x-%d%s%p%s%x%s/ %x%s" + "%d%s/ %d%s%x%s%p%s%d%s", + subdomid, c, /*CONSTCOND*/ - DECSPACE(c, 2, 2), - MBXINFO(mtp), busy_count, - busy_count ? " <<<<<":""); + DECSPACE(c, 2, 2), + MBXINFO(mtp), busy_count, + busy_count ? " <<<<<":""); } } } @@ -4232,7 +4232,7 @@ idn_mainmbox_domain_report(queue_t *wq, mblk_t *mp, int domid, IDN_CHAN_LOCK_GLOBAL(&idn.chan_servers[c]); if (IDN_CHANNEL_IS_DETACHED(&idn.chan_servers[c])) { (void) mi_mpprintf(mp, " %x.%s %u -- not open --", - domid, mbxtype, (int)mmp->mm_channel); + domid, mbxtype, (int)mmp->mm_channel); IDN_CHAN_UNLOCK_GLOBAL(&idn.chan_servers[c]); continue; } @@ -4240,23 +4240,23 @@ idn_mainmbox_domain_report(queue_t *wq, mblk_t *mp, int domid, mm_count = ((mmp->mm_count < 0) ? 0 : mmp->mm_count) / 1000; (void) mi_mpprintf(mp, " %x.%s %d%s%d%s%d%s%p%s%p%s%p%s%d/%d", - domid, mbxtype, - (int)mmp->mm_channel, + domid, mbxtype, + (int)mmp->mm_channel, /*CONSTCOND*/ - DECSPACE((int)mmp->mm_channel, 5, 2), - mm_count, DECSPACE(mm_count, 8, 2), - mmp->mm_dropped, - DECSPACE(mmp->mm_dropped, 8, 2), - mmp->mm_smr_mboxp, - HEXSPACE(mmp->mm_smr_mboxp, - mmp->mm_smr_mboxp, 16, 2), - mmp->mm_smr_readyp, - HEXSPACE(mmp->mm_smr_readyp, - mmp->mm_smr_readyp, 16, 2), - mmp->mm_smr_activep, - HEXSPACE(mmp->mm_smr_activep, - mmp->mm_smr_activep, 16, 2), - mmp->mm_qiget, mmp->mm_qiput); + DECSPACE((int)mmp->mm_channel, 5, 2), + mm_count, DECSPACE(mm_count, 8, 2), + mmp->mm_dropped, + DECSPACE(mmp->mm_dropped, 8, 2), + mmp->mm_smr_mboxp, + HEXSPACE(mmp->mm_smr_mboxp, + mmp->mm_smr_mboxp, 16, 2), + mmp->mm_smr_readyp, + HEXSPACE(mmp->mm_smr_readyp, + mmp->mm_smr_readyp, 16, 2), + mmp->mm_smr_activep, + HEXSPACE(mmp->mm_smr_activep, + mmp->mm_smr_activep, 16, 2), + mmp->mm_qiget, mmp->mm_qiput); IDN_CHAN_UNLOCK_GLOBAL(&idn.chan_servers[c]); } } @@ -4286,28 +4286,28 @@ idn_mainmbox_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) } if (!header) { (void) mi_mpprintf(mp, - "Domain Chan PktCntK " - "PktDrop SMRMbox " - "ReadyPtr " - "ActvPtr Miget/Miput"); + "Domain Chan PktCntK " + "PktDrop SMRMbox " + "ReadyPtr " + "ActvPtr Miget/Miput"); header = 1; } mutex_enter(&dp->dmbox.m_mutex); idn_mainmbox_domain_report(wq, mp, domid, - idn_domain[domid].dmbox.m_send, - "snd"); + idn_domain[domid].dmbox.m_send, + "snd"); idn_mainmbox_domain_report(wq, mp, domid, - idn_domain[domid].dmbox.m_recv, - "rcv"); + idn_domain[domid].dmbox.m_recv, + "rcv"); mutex_exit(&dp->dmbox.m_mutex); IDN_DUNLOCK(domid); (void) mi_mpprintf(mp, - " ---------------------------------------" - "------------------------" - "----------------------------"); + " ---------------------------------------" + "------------------------" + "----------------------------"); } if (!header) @@ -4322,9 +4322,9 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) { int i, nactive, masterid, nretry; uint_t locpfn_upper, locpfn_lower, - rempfn_upper, rempfn_lower; + rempfn_upper, rempfn_lower; uint_t marea_upper, marea_lower, - iarea_upper, iarea_lower; + iarea_upper, iarea_lower; char alt_dbuffer[64]; idn_retry_job_t *rp; domainset_t retryset; @@ -4348,7 +4348,7 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) dbp = alt_dbuffer; (void) mi_mpprintf(mp, "IDN\n Global State = %s (%d)", - idngs_str[idn.state], idn.state); + idngs_str[idn.state], idn.state); (void) mi_mpprintf(mp, "SMR"); (void) mi_mpprintf(mp, " vaddr "); @@ -4365,10 +4365,10 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) rempfn_lower = (uint_t)(idn.smr.rempfn << PAGESHIFT); } (void) mi_mpprintf(mp, " 0x%x.%x%s0x%x.%x", - locpfn_upper, locpfn_lower, - HEXSPACE(locpfn_lower, locpfn_lower, 8, - (locpfn_upper < 0x10) ? 4 : 3), - rempfn_upper, rempfn_lower); + locpfn_upper, locpfn_lower, + HEXSPACE(locpfn_lower, locpfn_lower, 8, + (locpfn_upper < 0x10) ? 4 : 3), + rempfn_upper, rempfn_lower); (void) mi_mpprintf(mp, " SMR length = %d MBytes", IDN_SMR_SIZE); (void) mi_mpprintf(mp, " SMR bufsize = %d Bytes", IDN_SMR_BUFSIZE); @@ -4376,21 +4376,21 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) marea_upper = (uint_t)((uint64_t)IDN_MBOXAREA_SIZE >> 32); marea_lower = (uint_t)((uint64_t)IDN_MBOXAREA_SIZE & 0xffffffff); iarea_upper = (uint_t)((uint64_t)(MB2B(IDN_NWR_SIZE) - - (size_t)IDN_MBOXAREA_SIZE) >> 32); + (size_t)IDN_MBOXAREA_SIZE) >> 32); iarea_lower = (uint_t)((MB2B(IDN_NWR_SIZE) - - (size_t)IDN_MBOXAREA_SIZE) & 0xffffffff); + (size_t)IDN_MBOXAREA_SIZE) & 0xffffffff); (void) mi_mpprintf(mp, - " [ mbox area = 0x%x.%x Bytes, " - "iobuf area = 0x%x.%x Bytes ]", - marea_upper, marea_lower, iarea_upper, iarea_lower); + " [ mbox area = 0x%x.%x Bytes, " + "iobuf area = 0x%x.%x Bytes ]", + marea_upper, marea_lower, iarea_upper, iarea_lower); (void) mi_mpprintf(mp, - "\nIDNnet (local domain [id:%d] [name:%s] is %s)", - idn.localid, - idn_domain[idn.localid].dname, - (masterid == IDN_NIL_DOMID) ? "IDLE" : - (idn.localid == masterid) ? "MASTER" : - "SLAVE"); + "\nIDNnet (local domain [id:%d] [name:%s] is %s)", + idn.localid, + idn_domain[idn.localid].dname, + (masterid == IDN_NIL_DOMID) ? "IDLE" : + (idn.localid == masterid) ? "MASTER" : + "SLAVE"); nactive = 0; for (i = 0; i < IDN_MAX_NETS; i++) { IDN_CHAN_LOCK_GLOBAL(&idn.chan_servers[i]); @@ -4399,8 +4399,8 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) IDN_CHAN_UNLOCK_GLOBAL(&idn.chan_servers[i]); } (void) mi_mpprintf(mp, " I/O Networks: (Open = %d, " - "Active = %d, Max = %d)", - idn.nchannels, nactive, IDN_MAX_NETS); + "Active = %d, Max = %d)", + idn.nchannels, nactive, IDN_MAX_NETS); (void) mi_mpprintf(mp, " Number of Domains = %d", idn.ndomains); (void) mi_mpprintf(mp, " Number of AWOLs = %d", idn.nawols); /* @@ -4414,15 +4414,15 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) (void) mi_mpprintf(mp, " Connected Domains = %s", dbp); domainset2str(idn.domset.ds_trans_on, dbp); (void) mi_mpprintf(mp, " Pending Domain Links = %s", - idn.domset.ds_trans_on ? dbp : "<>"); + idn.domset.ds_trans_on ? dbp : "<>"); domainset2str(idn.domset.ds_trans_off, dbp); (void) mi_mpprintf(mp, " Pending Domain Unlinks = %s", - idn.domset.ds_trans_off ? dbp : "<>"); + idn.domset.ds_trans_off ? dbp : "<>"); mutex_enter(&idn.retryqueue.rq_mutex); nretry = idn.retryqueue.rq_count; retryset = 0; for (i = 0, rp = idn.retryqueue.rq_jobs; i < nretry; i++, - rp = rp->rj_next) { + rp = rp->rj_next) { int domid; domid = IDN_RETRY_TOKEN2DOMID(rp->rj_token); @@ -4433,16 +4433,16 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) mutex_exit(&idn.retryqueue.rq_mutex); domainset2str(retryset, dbp); (void) mi_mpprintf(mp, " Retry Jobs:Domains = %d:%s", - nretry, retryset ? dbp : "<>"); + nretry, retryset ? dbp : "<>"); domainset2str(idn.domset.ds_hitlist, dbp); (void) mi_mpprintf(mp, " Hitlist Domains = %s", - idn.domset.ds_hitlist ? dbp : "<>"); + idn.domset.ds_hitlist ? dbp : "<>"); domainset2str(idn.domset.ds_relink, dbp); (void) mi_mpprintf(mp, " Reconfig Domains = %s", - idn.domset.ds_relink ? dbp : "<>"); + idn.domset.ds_relink ? dbp : "<>"); if (idn.domset.ds_relink) (void) mi_mpprintf(mp, " new master id = %d", - IDN_GET_NEW_MASTERID()); + IDN_GET_NEW_MASTERID()); if (masterid == IDN_NIL_DOMID) { (void) mi_mpprintf(mp, " Master Domain: no master"); } else { @@ -4451,7 +4451,7 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) mdp = &idn_domain[masterid]; (void) mi_mpprintf(mp, - " Master Domain (id:name/brds - state):"); + " Master Domain (id:name/brds - state):"); if (strlen(mdp->dname) > 0) strcpy(dbp, mdp->dname); @@ -4459,12 +4459,12 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) boardset2str(mdp->dhw.dh_boardset, dbp); if (masterid < 10) (void) mi_mpprintf(mp, " %d: %s - %s", - masterid, dbp, - idnds_str[mdp->dstate]); + masterid, dbp, + idnds_str[mdp->dstate]); else (void) mi_mpprintf(mp, " %d: %s - %s", - masterid, dbp, - idnds_str[mdp->dstate]); + masterid, dbp, + idnds_str[mdp->dstate]); } if (idn.ndomains <= 1) { (void) mi_mpprintf(mp, " Slave Domains: none"); @@ -4472,7 +4472,7 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) int d; (void) mi_mpprintf(mp, - " Slave Domains (id:name/brds - state):"); + " Slave Domains (id:name/brds - state):"); for (d = 0; d < MAX_DOMAINS; d++) { dp = &idn_domain[d]; @@ -4485,12 +4485,12 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) boardset2str(dp->dhw.dh_boardset, dbp); if (d < 10) (void) mi_mpprintf(mp, " %d: %s - %s", - d, dbp, - idnds_str[dp->dstate]); + d, dbp, + idnds_str[dp->dstate]); else (void) mi_mpprintf(mp, " %d: %s - %s", - d, dbp, - idnds_str[dp->dstate]); + d, dbp, + idnds_str[dp->dstate]); } } @@ -4504,7 +4504,7 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) dp = &idn_domain[d]; if (!DOMAIN_IN_SET(idn.domset.ds_awol, d) || - (dp->dcpu == IDN_NIL_DCPU)) + (dp->dcpu == IDN_NIL_DCPU)) continue; if (strlen(dp->dname) > 0) @@ -4513,10 +4513,10 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) boardset2str(dp->dhw.dh_boardset, dbp); if (d < 10) (void) mi_mpprintf(mp, " %d: %s", - d, dbp); + d, dbp); else (void) mi_mpprintf(mp, " %d: %s", - d, dbp); + d, dbp); } } @@ -4527,19 +4527,19 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) (void) mi_mpprintf(mp, " Sync Zone (con): [empty]"); } else { (void) mi_mpprintf(mp, " Sync Zone (con): [%d domains]", - zp->sc_cnt); + zp->sc_cnt); sp = zp->sc_op; for (i = 0; (i < zp->sc_cnt) && sp; i++) { (void) mi_mpprintf(mp, - " " - "%x: x_set =%s0x%x, r_set =%s0x%x", - sp->s_domid, - HEXSPACE(sp->s_set_exp, - sp->s_set_exp, 4, 1), - sp->s_set_exp, - HEXSPACE(sp->s_set_rdy, - sp->s_set_rdy, 4, 1), - sp->s_set_rdy); + " " + "%x: x_set =%s0x%x, r_set =%s0x%x", + sp->s_domid, + HEXSPACE(sp->s_set_exp, + sp->s_set_exp, 4, 1), + sp->s_set_exp, + HEXSPACE(sp->s_set_rdy, + sp->s_set_rdy, 4, 1), + sp->s_set_rdy); sp = sp->s_next; } } @@ -4550,19 +4550,19 @@ idn_global_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) (void) mi_mpprintf(mp, " Sync Zone (dis): [empty]"); } else { (void) mi_mpprintf(mp, " Sync Zone (dis): [%d domains]", - zp->sc_cnt); + zp->sc_cnt); sp = zp->sc_op; for (i = 0; (i < zp->sc_cnt) && sp; i++) { (void) mi_mpprintf(mp, - " " - "%x: x_set =%s0x%x, r_set =%s0x%x", - sp->s_domid, - HEXSPACE(sp->s_set_exp, - sp->s_set_exp, 4, 1), - sp->s_set_exp, - HEXSPACE(sp->s_set_rdy, - sp->s_set_rdy, 4, 1), - sp->s_set_rdy); + " " + "%x: x_set =%s0x%x, r_set =%s0x%x", + sp->s_domid, + HEXSPACE(sp->s_set_exp, + sp->s_set_exp, 4, 1), + sp->s_set_exp, + HEXSPACE(sp->s_set_rdy, + sp->s_set_rdy, 4, 1), + sp->s_set_rdy); sp = sp->s_next; } } @@ -4622,12 +4622,12 @@ idn_domain_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) if (IDN_DLOCK_TRY_SHARED(d) == 0) { if (d < 10) (void) mi_mpprintf(mp, - "Domain %d (0x%p) busy...", - d, dp); + "Domain %d (0x%p) busy...", + d, dp); else (void) mi_mpprintf(mp, - "Domain %d (0x%p) busy...", - d, dp); + "Domain %d (0x%p) busy...", + d, dp); continue; } if (dp->dcpu == IDN_NIL_DCPU) { @@ -4636,22 +4636,22 @@ idn_domain_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) } if (d < 10) (void) mi_mpprintf(mp, "%sDomain %d (0x%p)", - (d && (idn.ndomains > 1)) ? "\n" : "", - d, dp); + (d && (idn.ndomains > 1)) ? "\n" : "", + d, dp); else (void) mi_mpprintf(mp, "%sDomain %d (0x%p)", - (d && (idn.ndomains > 1)) ? "\n" : "", - d, dp); + (d && (idn.ndomains > 1)) ? "\n" : "", + d, dp); if (d == idn.localid) (void) mi_mpprintf(mp, " (local) State = %s (%d)", - idnds_str[dp->dstate], dp->dstate); + idnds_str[dp->dstate], dp->dstate); else (void) mi_mpprintf(mp, " State = %s (%d)", - idnds_str[dp->dstate], dp->dstate); + idnds_str[dp->dstate], dp->dstate); (void) mi_mpprintf(mp, " Name = %s, Netid = %d", - (strlen(dp->dname) > 0) ? dp->dname : "<>", - (int)dp->dnetid); + (strlen(dp->dname) > 0) ? dp->dname : "<>", + (int)dp->dnetid); CHANSET_ZERO(chanset); nchan = idn_domain_is_registered(d, -1, &chanset); @@ -4660,7 +4660,7 @@ idn_domain_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) else (void) sprintf(dbp, "0x%x", chanset); (void) mi_mpprintf(mp, " Nchans = %d, Chanset = %s", - nchan, nchan ? dbp : "<>"); + nchan, nchan ? dbp : "<>"); pset_upper = UPPER32_CPUMASK(dp->dcpuset); pset_lower = LOWER32_CPUMASK(dp->dcpuset); if (dbuffer) @@ -4669,46 +4669,46 @@ idn_domain_report(queue_t *wq, mblk_t *mp, caddr_t cp, cred_t *cr) (void) sprintf(dbp, "0x%x", dp->dhw.dh_boardset); (void) mi_mpprintf(mp, " Nboards = %d, Brdset = %s", - dp->dhw.dh_nboards, - dp->dhw.dh_nboards ? dbp : "<>"); + dp->dhw.dh_nboards, + dp->dhw.dh_nboards ? dbp : "<>"); (void) sprintf(dbp, "0x%x.%x", pset_upper, pset_lower); (void) mi_mpprintf(mp, " Ncpus = %d, Cpuset = %s", - dp->dncpus, dp->dncpus ? dbp : "<>"); + dp->dncpus, dp->dncpus ? dbp : "<>"); (void) mi_mpprintf(mp, " Nmcadr = %d", - dp->dhw.dh_nmcadr); + dp->dhw.dh_nmcadr); (void) mi_mpprintf(mp, - " MsgTimer = %s (cnt = %d)", - (dp->dtimerq.tq_count > 0) - ? "active" : "idle", - dp->dtimerq.tq_count); + " MsgTimer = %s (cnt = %d)", + (dp->dtimerq.tq_count > 0) + ? "active" : "idle", + dp->dtimerq.tq_count); (void) mi_mpprintf(mp, " Dcpu = %d " - "(lastcpu = %d, cpuindex = %d)", - dp->dcpu, dp->dcpu_last, dp->dcpuindex); + "(lastcpu = %d, cpuindex = %d)", + dp->dcpu, dp->dcpu_last, dp->dcpuindex); (void) mi_mpprintf(mp, " Dio = %d " - "(ioerr = %d, iochk = %d, iowanted = %d)", - dp->dio, dp->dioerr, dp->diocheck ? 1 : 0, - dp->diowanted ? 1 : 0); + "(ioerr = %d, iochk = %d, iowanted = %d)", + dp->dio, dp->dioerr, dp->diocheck ? 1 : 0, + dp->diowanted ? 1 : 0); if (dp->dsync.s_cmd == IDNSYNC_NIL) { (void) mi_mpprintf(mp, " Dsync = %s", - idnsync_str[IDNSYNC_NIL]); + idnsync_str[IDNSYNC_NIL]); } else { (void) mi_mpprintf(mp, - " Dsync = %s " - "(x_set = 0x%x, r_set = 0x%x)", - idnsync_str[dp->dsync.s_cmd], - (uint_t)dp->dsync.s_set_exp, - (uint_t)dp->dsync.s_set_rdy); + " Dsync = %s " + "(x_set = 0x%x, r_set = 0x%x)", + idnsync_str[dp->dsync.s_cmd], + (uint_t)dp->dsync.s_set_exp, + (uint_t)dp->dsync.s_set_rdy); } (void) mi_mpprintf(mp, " Dvote = 0x%x", - dp->dvote.ticket); + dp->dvote.ticket); (void) mi_mpprintf(mp, " Dfin = %s (Sync = %s)", - idnfin_str[dp->dfin], - (dp->dfin_sync == IDNFIN_SYNC_OFF) ? "OFF" : - (dp->dfin_sync == IDNFIN_SYNC_YES) ? "YES" : - "NO"); + idnfin_str[dp->dfin], + (dp->dfin_sync == IDNFIN_SYNC_OFF) ? "OFF" : + (dp->dfin_sync == IDNFIN_SYNC_YES) ? "YES" : + "NO"); (void) mi_mpprintf(mp, " Dcookie_err = %s (cnt = %d)", - dp->dcookie_err ? "YES" : "NO", - dp->dcookie_errcnt); + dp->dcookie_err ? "YES" : "NO", + dp->dcookie_errcnt); IDN_DUNLOCK(d); } @@ -4778,7 +4778,7 @@ idn_init_handler() if (idn.intr.dmv_data != NULL) { cmn_err(CE_WARN, - "IDN: 130: IDN DMV handler already initialized"); + "IDN: 130: IDN DMV handler already initialized"); return (-1); } @@ -4792,7 +4792,7 @@ idn_init_handler() len = roundup(len, PAGESIZE); PR_PROTO("%s: sizeof (idn_dmv_data_t) = %lu\n", - proc, sizeof (idn_dmv_data_t)); + proc, sizeof (idn_dmv_data_t)); PR_PROTO("%s: allocating %lu bytes for dmv data area\n", proc, len); idn.intr.dmv_data_len = len; @@ -4802,8 +4802,8 @@ idn_init_handler() idn_dmv_data = (idn_dmv_data_t *)idn.intr.dmv_data; basep = (idn_dmv_msg_t *)roundup((size_t)idn.intr.dmv_data + - sizeof (idn_dmv_data_t), - sizeof (uint64_t)); + sizeof (idn_dmv_data_t), + sizeof (uint64_t)); idn_dmv_data->idn_dmv_qbase = (uint64_t)basep; ivp = basep; @@ -4837,7 +4837,7 @@ idn_init_handler() membar_stld_stst(); if (dmv_add_intr(idn.intr.dmv_inum, idn_dmv_handler, - (caddr_t)idn_dmv_data)) { + (caddr_t)idn_dmv_data)) { idn_deinit_handler(); cmn_err(CE_WARN, "IDN: 132: failed to add IDN DMV handler"); return (-1); @@ -4922,14 +4922,14 @@ idn_handler(caddr_t unused, caddr_t unused2) count++; PR_XDC("%s:%d:%d RECV: scpu = %d, msg = 0x%x(%s)\n", - proc, (int)xp->iv_domid, count, - (int)xp->iv_cpuid, mtype, mstr); + proc, (int)xp->iv_domid, count, + (int)xp->iv_cpuid, mtype, mstr); PR_XDC("%s:%d:%d R-DATA: a0 = 0x%x, a1 = 0x%x\n", - proc, (int)xp->iv_domid, count, - xp->iv_xargs0, xp->iv_xargs1); + proc, (int)xp->iv_domid, count, + xp->iv_xargs0, xp->iv_xargs1); PR_XDC("%s:%d:%d R-DATA: a2 = 0x%x, a3 = 0x%x\n", - proc, (int)xp->iv_domid, count, - xp->iv_xargs2, xp->iv_xargs3); + proc, (int)xp->iv_domid, count, + xp->iv_xargs2, xp->iv_xargs3); #endif /* DEBUG */ if (mtype == IDNP_DATA) { @@ -4944,7 +4944,7 @@ idn_handler(caddr_t unused, caddr_t unused2) * server to do it. */ idn_signal_data_server((int)xp->iv_domid, - (ushort_t)xp->iv_xargs0); + (ushort_t)xp->iv_xargs0); } else { jp = idn_protojob_alloc(KM_NOSLEEP); /* @@ -4961,8 +4961,8 @@ idn_handler(caddr_t unused, caddr_t unused2) jp->j_msg.m_acktype = atype; jp->j_msg.m_cookie = xp->iv_cookie; SET_XARGS(jp->j_msg.m_xargs, - xp->iv_xargs0, xp->iv_xargs1, - xp->iv_xargs2, xp->iv_xargs3); + xp->iv_xargs0, xp->iv_xargs1, + xp->iv_xargs2, xp->iv_xargs3); } } @@ -5000,15 +5000,15 @@ idn_awol_event_set(boardset_t boardset) if (sbp == NULL) { cmn_err(CE_WARN, "IDN: 133: sigblock event area missing"); cmn_err(CE_CONT, - "IDN: 134: unable to mark boardset (0x%x) AWOL\n", - boardset); + "IDN: 134: unable to mark boardset (0x%x) AWOL\n", + boardset); mutex_exit(&idn.idnsb_mutex); return; } if (boardset == 0) { PR_PROTO("%s: AWOL BOARDSET is 0, NO EVENT <<<<<<<<<<<<<<<\n", - proc); + proc); mutex_exit(&idn.idnsb_mutex); return; } else { @@ -5031,15 +5031,15 @@ idn_awol_event_clear(boardset_t boardset) if (sbp == NULL) { cmn_err(CE_WARN, "IDN: 133: sigblock event area missing"); cmn_err(CE_CONT, - "IDN: 134: unable to mark boardset (0x%x) AWOL\n", - boardset); + "IDN: 134: unable to mark boardset (0x%x) AWOL\n", + boardset); mutex_exit(&idn.idnsb_mutex); return; } if (boardset == 0) { PR_PROTO("%s: AWOL BOARDSET is 0, NO EVENT <<<<<<<<<<<<<<<\n", - proc); + proc); mutex_exit(&idn.idnsb_mutex); return; } else { @@ -5057,54 +5057,54 @@ idn_gkstat_init() #ifdef kstat if ((ksp = kstat_create(IDNNAME, ddi_get_instance(idn.dip), - IDNNAME, "net", KSTAT_TYPE_NAMED, - sizeof (struct idn_gkstat_named) / sizeof (kstat_named_t), - KSTAT_FLAG_PERSISTENT)) == NULL) { + IDNNAME, "net", KSTAT_TYPE_NAMED, + sizeof (struct idn_gkstat_named) / sizeof (kstat_named_t), + KSTAT_FLAG_PERSISTENT)) == NULL) { #else if ((ksp = kstat_create(IDNNAME, ddi_get_instance(idn.dip), - IDNNAME, "net", KSTAT_TYPE_NAMED, - sizeof (struct idn_gkstat_named) / - sizeof (kstat_named_t), 0)) == NULL) { + IDNNAME, "net", KSTAT_TYPE_NAMED, + sizeof (struct idn_gkstat_named) / + sizeof (kstat_named_t), 0)) == NULL) { #endif /* kstat */ cmn_err(CE_CONT, "IDN: 135: %s: %s\n", - IDNNAME, "kstat_create failed"); + IDNNAME, "kstat_create failed"); return; } idn.ksp = ksp; sgkp = (struct idn_gkstat_named *)(ksp->ks_data); kstat_named_init(&sgkp->sk_curtime, "curtime", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_reconfigs, "reconfigs", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_reconfig_last, "reconfig_last", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_reaps, "reaps", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_reap_last, "reap_last", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_links, "links", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_link_last, "link_last", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_unlinks, "unlinks", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_unlink_last, "unlink_last", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_buffail, "buf_fail", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_buffail_last, "buf_fail_last", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_slabfail, "slab_fail", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_slabfail_last, "slab_fail_last", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_slabfail_last, "slab_fail_last", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_reap_count, "reap_count", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); kstat_named_init(&sgkp->sk_dropped_intrs, "dropped_intrs", - KSTAT_DATA_ULONG); + KSTAT_DATA_ULONG); ksp->ks_update = idn_gkstat_update; ksp->ks_private = (void *)NULL; kstat_install(ksp); @@ -5212,8 +5212,8 @@ idn_rw_mem(idnop_t *idnop) } else if (!idnop->rwmem.goawol && (orig_gstate != IDNGS_IGNORE)) { IDN_GLOCK_EXCL(); cmn_err(CE_WARN, - "IDN: Local domain restoring original state %s(%d)", - idngs_str[orig_gstate], (int)orig_gstate); + "IDN: Local domain restoring original state %s(%d)", + idngs_str[orig_gstate], (int)orig_gstate); IDN_GSTATE_TRANSITION(orig_gstate); orig_gstate = IDNGS_IGNORE; IDN_GUNLOCK(); @@ -5244,7 +5244,7 @@ idn_rw_mem(idnop_t *idnop) } if (segp == NULL) { cmn_err(CE_WARN, - "IDN: blksize (%d) too large", blksize); + "IDN: blksize (%d) too large", blksize); return (EINVAL); } bcopy(segp->s_base, obuf, blksize); @@ -5254,9 +5254,9 @@ idn_rw_mem(idnop_t *idnop) cv_init(&scv, NULL, CV_DEFAULT, NULL); cmn_err(CE_NOTE, - "IDN: starting %s of %d blocks of %d bytes each...", - (rw == 1) ? "W-ONLY" : (rw == 2) ? "RW" : "R-ONLY", - num, blksize); + "IDN: starting %s of %d blocks of %d bytes each...", + (rw == 1) ? "W-ONLY" : (rw == 2) ? "RW" : "R-ONLY", + num, blksize); for (n = 0; n < num; n++) { uint_t rpos; @@ -5373,7 +5373,7 @@ cpuset2str(cpuset_t cset, char buffer[]) if (strlen(buffer) >= _DSTRLEN) { PR_PROTO("************* WARNING WARNING WARNING\n"); PR_PROTO("cpuset2str(cpu = %d) buffer " - "OVERFLOW <<<<<<\n", c); + "OVERFLOW <<<<<<\n", c); PR_PROTO("*******************************\n"); (void) sprintf(&buffer[_DSTRLEN-6], "*OVER"); return; @@ -5475,14 +5475,14 @@ idnxdc(int domid, idn_msgtype_t *mtp, dmv_word2 = ((uint64_t)arg3 << 32) | (uint64_t)arg4; ASSERT((dp->dcpu != IDN_NIL_DCPU) || - (dp->dcpu_last != IDN_NIL_DCPU)); + (dp->dcpu_last != IDN_NIL_DCPU)); tcpuid = (dp->dcpu == IDN_NIL_DCPU) ? - dp->dcpu_last : dp->dcpu; + dp->dcpu_last : dp->dcpu; if (tcpuid == IDN_NIL_DCPU) { PR_PROTO("%s:%d: cpu/cpu_last == NIL_DCPU\n", - proc, domid); + proc, domid); return (-1); } @@ -5555,13 +5555,13 @@ idn_prom_getsmr(uint_t *smrsz, uint64_t *paddrp, uint64_t *sizep) len = prom_getproplen(nodeid, IDN_PROP_SMRSIZE); if (len == sizeof (smrsize)) { (void) prom_getprop(nodeid, IDN_PROP_SMRSIZE, - (caddr_t)&smrsize); + (caddr_t)&smrsize); found |= PROM_SMRSIZE; } len = prom_getproplen(nodeid, IDN_PROP_SMRADDR); if (len == sizeof (smraddr)) { (void) prom_getprop(nodeid, IDN_PROP_SMRADDR, - (caddr_t)&smraddr); + (caddr_t)&smraddr); found |= PROM_SMRADDR; } } @@ -5569,14 +5569,14 @@ idn_prom_getsmr(uint_t *smrsz, uint64_t *paddrp, uint64_t *sizep) if (found != PROM_SMRPROPS) { if ((found & PROM_SMRSIZE) == 0) cmn_err(CE_WARN, - "IDN: 136: \"%s\" property not found, " - "disabling IDN", - IDN_PROP_SMRSIZE); + "IDN: 136: \"%s\" property not found, " + "disabling IDN", + IDN_PROP_SMRSIZE); if (smrsize && ((found & PROM_SMRADDR) == 0)) cmn_err(CE_WARN, - "IDN: 136: \"%s\" property not found, " - "disabling IDN", - IDN_PROP_SMRADDR); + "IDN: 136: \"%s\" property not found, " + "disabling IDN", + IDN_PROP_SMRADDR); return (-1); } @@ -5586,11 +5586,11 @@ idn_prom_getsmr(uint_t *smrsz, uint64_t *paddrp, uint64_t *sizep) } else if (smrsize > IDN_SMR_MAXSIZE) { PR_SMR("%s: IDN DISABLED (idn_smr_size too big %d > %d MB)\n", - proc, smrsize, IDN_SMR_MAXSIZE); + proc, smrsize, IDN_SMR_MAXSIZE); cmn_err(CE_WARN, - "!IDN: 138: SMR size (%dMB) is too big (max = %dMB), " - "disabling IDN", - smrsize, IDN_SMR_MAXSIZE); + "!IDN: 138: SMR size (%dMB) is too big (max = %dMB), " + "disabling IDN", + smrsize, IDN_SMR_MAXSIZE); smrsize = 0; } else { *smrsz = smrsize; @@ -5598,24 +5598,24 @@ idn_prom_getsmr(uint_t *smrsz, uint64_t *paddrp, uint64_t *sizep) } obpaddr = ((uint64_t)smraddr.hi_addr << 32) | - (uint64_t)smraddr.lo_addr; + (uint64_t)smraddr.lo_addr; obpsize = ((uint64_t)smraddr.hi_size << 32) | - (uint64_t)smraddr.lo_size; + (uint64_t)smraddr.lo_size; if (obpsize == 0) { if (smrsize > 0) { cmn_err(CE_WARN, "!IDN: 139: OBP region for " - "SMR is 0 length"); + "SMR is 0 length"); } } else if (obpsize < (uint64_t)MB2B(smrsize)) { cmn_err(CE_WARN, - "!IDN: 140: OBP region (%ld B) smaller " - "than requested size (%ld B)", - obpsize, MB2B(smrsize)); + "!IDN: 140: OBP region (%ld B) smaller " + "than requested size (%ld B)", + obpsize, MB2B(smrsize)); } else if ((obpaddr & ((uint64_t)IDN_SMR_ALIGN - 1)) != 0) { cmn_err(CE_WARN, - "!IDN: 141: OBP region (0x%lx) not on (0x%x) " - "boundary", obpaddr, IDN_SMR_ALIGN); + "!IDN: 141: OBP region (0x%lx) not on (0x%x) " + "boundary", obpaddr, IDN_SMR_ALIGN); } else { *sizep = obpsize; *paddrp = obpaddr; @@ -5645,7 +5645,7 @@ idn_init_autolink() sbp->idn_version = (uchar_t)idn.version; SSIEVENT_SET(sbp, SSIEVENT_BOOT, 0); (void) strncpy(sbp->idn_cookie_str, SSIEVENT_COOKIE, - SSIEVENT_COOKIE_LEN); + SSIEVENT_COOKIE_LEN); mutex_exit(&idn.idnsb_mutex); } @@ -5667,7 +5667,7 @@ idn_deinit_autolink() sbp->idn_version = (uchar_t)idn.version; SSIEVENT_CLEAR(sbp, SSIEVENT_BOOT, 0); (void) strncpy(sbp->idn_cookie_str, SSIEVENT_COOKIE, - SSIEVENT_COOKIE_LEN); + SSIEVENT_COOKIE_LEN); mutex_exit(&idn.idnsb_mutex); } @@ -5743,16 +5743,16 @@ debug_idnxdc(char *f, int domid, idn_msgtype_t *mtp, SNOOP_IDN(0, str, bd, a1, a2, a3, a4); PR_XDC("%s:%d:%d SENT: scpu = %d, msg = 0x%x(%s)\n", - f, domid, xx, cpuid, mtp->mt_mtype, str); + f, domid, xx, cpuid, mtp->mt_mtype, str); PR_XDC("%s:%d:%d S-DATA: a1 = 0x%x, a2 = 0x%x\n", - f, domid, xx, a1, a2); + f, domid, xx, a1, a2); PR_XDC("%s:%d:%d S-DATA: a3 = 0x%x, a4 = 0x%x\n", - f, domid, xx, a3, a4); + f, domid, xx, a3, a4); rv = idnxdc(domid, mtp, a1, a2, a3, a4); if (rv != 0) { PR_XDC("%s:%d:%d: WARNING: idnxdc(cpu %d) FAILED\n", - f, domid, xx, cpuid); + f, domid, xx, cpuid); } return (rv); @@ -5767,7 +5767,7 @@ _idn_getstruct(char *structname, int size) ptr = kmem_zalloc(size, KM_SLEEP); PR_ALLOC("%s: ptr 0x%p, struct(%s), size = %d\n", - proc, ptr, structname, size); + proc, ptr, structname, size); return (ptr); } @@ -5778,7 +5778,7 @@ _idn_freestruct(caddr_t ptr, char *structname, int size) procname_t proc = "FREESTRUCT"; PR_ALLOC("%s: ptr 0x%p, struct(%s), size = %d\n", - proc, ptr, structname, size); + proc, ptr, structname, size); ASSERT(ptr != NULL); kmem_free(ptr, size); diff --git a/usr/src/uts/sun4u/sunfire/io/ac.c b/usr/src/uts/sun4u/sunfire/io/ac.c index 5582afab13..db78853d83 100644 --- a/usr/src/uts/sun4u/sunfire/io/ac.c +++ b/usr/src/uts/sun4u/sunfire/io/ac.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -142,7 +141,8 @@ static struct dev_ops ac_ops = { nulldev, /* reset */ &ac_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -163,7 +163,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "AC Leaf v%I%", /* name of module */ + "AC Leaf", /* name of module */ &ac_ops, /* driver ops */ }; @@ -257,7 +257,7 @@ ac_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if (ddi_soft_state_zalloc(acp, instance) != DDI_SUCCESS) { cmn_err(CE_WARN, "ddi_soft_state_zalloc failed for ac%d", - instance); + instance); return (DDI_FAILURE); } @@ -271,12 +271,12 @@ ac_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if ((softsp->board = (int)ddi_getprop(DDI_DEV_T_ANY, softsp->pdip, DDI_PROP_DONTPASS, OBP_BOARDNUM, -1)) == -1) { cmn_err(CE_WARN, "ac%d: unable to retrieve %s property", - instance, OBP_BOARDNUM); + instance, OBP_BOARDNUM); goto bad; } DPRINTF(AC_ATTACH_DEBUG, ("ac%d: devi= 0x%p\n," - " softsp=0x%p\n", instance, devi, softsp)); + " softsp=0x%p\n", instance, devi, softsp)); /* map in the registers for this device. */ if (ddi_map_regs(softsp->dip, 0, (caddr_t *)&softsp->ac_base, 0, 0)) { @@ -287,26 +287,26 @@ ac_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* Setup the pointers to the hardware registers */ softsp->ac_id = (uint32_t *)softsp->ac_base; softsp->ac_memctl = (uint64_t *)((char *)softsp->ac_base + - AC_OFF_MEMCTL); + AC_OFF_MEMCTL); softsp->ac_memdecode0 = (uint64_t *)((char *)softsp->ac_base + - AC_OFF_MEMDEC0); + AC_OFF_MEMDEC0); softsp->ac_memdecode1 = (uint64_t *)((char *)softsp->ac_base + - AC_OFF_MEMDEC1); + AC_OFF_MEMDEC1); softsp->ac_counter = (uint64_t *)((char *)softsp->ac_base + - AC_OFF_CNTR); + AC_OFF_CNTR); softsp->ac_mccr = (uint32_t *)((char *)softsp->ac_base + - AC_OFF_MCCR); + AC_OFF_MCCR); /* nothing to suspend/resume here */ (void) ddi_prop_update_string(DDI_DEV_T_NONE, devi, - "pm-hardware-state", "no-suspend-resume"); + "pm-hardware-state", "no-suspend-resume"); /* setup the the AC counter registers to allow for hotplug. */ list = fhc_bdlist_lock(softsp->board); if (list == NULL) { cmn_err(CE_PANIC, "ac%d: Board %d not found in database", - instance, softsp->board); + instance, softsp->board); } /* set the AC rev into the bd list structure */ @@ -503,7 +503,7 @@ ac_pkt_init(ac_cfga_pkt_t *pkt, intptr_t arg, int flag) ac_cfga_cmd32_t ac_cmd32; if (ddi_copyin((void *)arg, &ac_cmd32, - sizeof (ac_cfga_cmd32_t), flag) != 0) { + sizeof (ac_cfga_cmd32_t), flag) != 0) { return (EFAULT); } pkt->cmd_cfga.force = ac_cmd32.force; @@ -511,13 +511,13 @@ ac_pkt_init(ac_cfga_pkt_t *pkt, intptr_t arg, int flag) pkt->cmd_cfga.arg = ac_cmd32.arg; pkt->cmd_cfga.errtype = ac_cmd32.errtype; pkt->cmd_cfga.outputstr = - (char *)(uintptr_t)ac_cmd32.outputstr; + (char *)(uintptr_t)ac_cmd32.outputstr; pkt->cmd_cfga.private = - (void *)(uintptr_t)ac_cmd32.private; + (void *)(uintptr_t)ac_cmd32.private; } else #endif /* _MULTI_DATAMODEL */ if (ddi_copyin((void *)arg, &(pkt->cmd_cfga), - sizeof (ac_cfga_cmd_t), flag) != 0) { + sizeof (ac_cfga_cmd_t), flag) != 0) { return (EFAULT); } pkt->errbuf = kmem_zalloc(SYSC_OUTPUT_LEN, KM_SLEEP); @@ -533,21 +533,21 @@ ac_pkt_fini(ac_cfga_pkt_t *pkt, intptr_t arg, int flag) if (ddi_model_convert_from(flag & FMODELS) == DDI_MODEL_ILP32) { if (ddi_copyout(&(pkt->cmd_cfga.errtype), - (void *)&(((ac_cfga_cmd32_t *)arg)->errtype), - sizeof (ac_err_t), flag) != 0) { + (void *)&(((ac_cfga_cmd32_t *)arg)->errtype), + sizeof (ac_err_t), flag) != 0) { ret = FALSE; } } else #endif if (ddi_copyout(&(pkt->cmd_cfga.errtype), - (void *)&(((ac_cfga_cmd_t *)arg)->errtype), - sizeof (ac_err_t), flag) != 0) { + (void *)&(((ac_cfga_cmd_t *)arg)->errtype), + sizeof (ac_err_t), flag) != 0) { ret = FALSE; } if ((ret != FALSE) && ((pkt->cmd_cfga.outputstr != NULL) && - (ddi_copyout(pkt->errbuf, pkt->cmd_cfga.outputstr, - SYSC_OUTPUT_LEN, flag) != 0))) { + (ddi_copyout(pkt->errbuf, pkt->cmd_cfga.outputstr, + SYSC_OUTPUT_LEN, flag) != 0))) { ret = FALSE; } @@ -630,10 +630,10 @@ ac_ioctl( retval = ac_add_memory(pkt); if (!retval) ac_policy_audit_messages( - AC_AUDIT_OSTATE_SUCCEEDED, pkt); + AC_AUDIT_OSTATE_SUCCEEDED, pkt); else ac_policy_audit_messages( - AC_AUDIT_OSTATE_CONFIGURE_FAILED, pkt); + AC_AUDIT_OSTATE_CONFIGURE_FAILED, pkt); break; case AC_MEM_UNCONFIGURE: @@ -650,10 +650,10 @@ ac_ioctl( retval = ac_del_memory(pkt); if (!retval) { ac_policy_audit_messages( - AC_AUDIT_OSTATE_SUCCEEDED, pkt); + AC_AUDIT_OSTATE_SUCCEEDED, pkt); } else ac_policy_audit_messages( - AC_AUDIT_OSTATE_UNCONFIGURE_FAILED, pkt); + AC_AUDIT_OSTATE_UNCONFIGURE_FAILED, pkt); break; case AC_MEM_STAT: @@ -737,7 +737,7 @@ ac_add_kstats(struct ac_soft_state *softsp) sizeof (struct ac_kstat) / sizeof (kstat_named_t), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "ac%d: kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); return; } @@ -745,32 +745,32 @@ ac_add_kstats(struct ac_soft_state *softsp) /* initialize the named kstats */ kstat_named_init(&ac_named_ksp->ac_memctl, - MEMCTL_KSTAT_NAMED, - KSTAT_DATA_UINT64); + MEMCTL_KSTAT_NAMED, + KSTAT_DATA_UINT64); kstat_named_init(&ac_named_ksp->ac_memdecode0, - MEMDECODE0_KSTAT_NAMED, - KSTAT_DATA_UINT64); + MEMDECODE0_KSTAT_NAMED, + KSTAT_DATA_UINT64); kstat_named_init(&ac_named_ksp->ac_memdecode1, - MEMDECODE1_KSTAT_NAMED, - KSTAT_DATA_UINT64); + MEMDECODE1_KSTAT_NAMED, + KSTAT_DATA_UINT64); kstat_named_init(&ac_named_ksp->ac_mccr, - MCCR_KSTAT_NAMED, - KSTAT_DATA_UINT32); + MCCR_KSTAT_NAMED, + KSTAT_DATA_UINT32); kstat_named_init(&ac_named_ksp->ac_counter, - CNTR_KSTAT_NAMED, - KSTAT_DATA_UINT64); + CNTR_KSTAT_NAMED, + KSTAT_DATA_UINT64); kstat_named_init(&ac_named_ksp->ac_bank0_status, - BANK_0_KSTAT_NAMED, - KSTAT_DATA_CHAR); + BANK_0_KSTAT_NAMED, + KSTAT_DATA_CHAR); kstat_named_init(&ac_named_ksp->ac_bank1_status, - BANK_1_KSTAT_NAMED, - KSTAT_DATA_CHAR); + BANK_1_KSTAT_NAMED, + KSTAT_DATA_CHAR); ac_ksp->ks_update = ac_misc_kstat_update; ac_ksp->ks_private = (void *)softsp; @@ -798,26 +798,26 @@ ac_add_kstats(struct ac_soft_state *softsp) * The size of this kstat is AC_NUM_PICS + 1 for %pcr */ if ((ac_counters_ksp = kstat_create("ac", - ddi_get_instance(softsp->dip), "counters", - "bus", KSTAT_TYPE_NAMED, AC_NUM_PICS + 1, - KSTAT_FLAG_WRITABLE)) == NULL) { + ddi_get_instance(softsp->dip), "counters", + "bus", KSTAT_TYPE_NAMED, AC_NUM_PICS + 1, + KSTAT_FLAG_WRITABLE)) == NULL) { cmn_err(CE_WARN, "ac%d counters: kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); return; } ac_counters_named_data = - (struct kstat_named *)(ac_counters_ksp->ks_data); + (struct kstat_named *)(ac_counters_ksp->ks_data); /* initialize the named kstats */ kstat_named_init(&ac_counters_named_data[0], - "pcr", KSTAT_DATA_UINT64); + "pcr", KSTAT_DATA_UINT64); kstat_named_init(&ac_counters_named_data[1], - "pic0", KSTAT_DATA_UINT64); + "pic0", KSTAT_DATA_UINT64); kstat_named_init(&ac_counters_named_data[2], - "pic1", KSTAT_DATA_UINT64); + "pic1", KSTAT_DATA_UINT64); ac_counters_ksp->ks_update = ac_counters_kstat_update; ac_counters_ksp->ks_private = (void *)softsp; @@ -920,11 +920,11 @@ ac_add_picN_kstats(dev_info_t *dip) */ (void) sprintf(pic_name, "pic%d", pic); /* pic0, pic1 ... */ if ((ac_picN_ksp[pic] = kstat_create("ac", - instance, pic_name, "bus", KSTAT_TYPE_NAMED, - AC_NUM_EVENTS + 1, NULL)) == NULL) { + instance, pic_name, "bus", KSTAT_TYPE_NAMED, + AC_NUM_EVENTS + 1, NULL)) == NULL) { cmn_err(CE_WARN, "ac %s: kstat_create failed", - pic_name); + pic_name); /* remove pic0 kstat if pic1 create fails */ if (pic == 1) { @@ -934,7 +934,7 @@ ac_add_picN_kstats(dev_info_t *dip) return; } ac_pic_named_data = - (struct kstat_named *)(ac_picN_ksp[pic]->ks_data); + (struct kstat_named *)(ac_picN_ksp[pic]->ks_data); /* * when we are storing pcr_masks we need to shift bits @@ -951,12 +951,12 @@ ac_add_picN_kstats(dev_info_t *dip) /* pcr_mask */ ac_pic_named_data[event].value.ui64 = - ac_events_arr[event].pcr_mask << pic_shift; + ac_events_arr[event].pcr_mask << pic_shift; /* event-name */ kstat_named_init(&ac_pic_named_data[event], - ac_events_arr[event].event_name, - KSTAT_DATA_UINT64); + ac_events_arr[event].event_name, + KSTAT_DATA_UINT64); } /* @@ -965,12 +965,12 @@ ac_add_picN_kstats(dev_info_t *dip) */ /* pcr mask */ ac_pic_named_data[AC_NUM_EVENTS].value.ui64 = - ac_clear_pic[pic].pcr_mask; + ac_clear_pic[pic].pcr_mask; /* event-name */ kstat_named_init(&ac_pic_named_data[AC_NUM_EVENTS], - ac_clear_pic[pic].event_name, - KSTAT_DATA_UINT64); + ac_clear_pic[pic].event_name, + KSTAT_DATA_UINT64); kstat_install(ac_picN_ksp[pic]); } @@ -1126,7 +1126,7 @@ ac_counters_kstat_update(kstat_t *ksp, int rw) * %pic. */ *softsp->ac_mccr = - (uint32_t)ac_counters_data[0].value.ui64; + (uint32_t)ac_counters_data[0].value.ui64; } else { /* * Read %pcr and %pic register values and write them @@ -1145,10 +1145,10 @@ ac_counters_kstat_update(kstat_t *ksp, int rw) /* pic0 */ ac_counters_data[1].value.ui64 = - AC_COUNTER_TO_PIC0(pic_register); + AC_COUNTER_TO_PIC0(pic_register); /* pic1 */ ac_counters_data[2].value.ui64 = - AC_COUNTER_TO_PIC1(pic_register); + AC_COUNTER_TO_PIC1(pic_register); } return (0); } @@ -1163,7 +1163,7 @@ ac_get_memory_status(struct ac_soft_state *softsp, enum ac_bank_id id) char *propval; int proplen; uint64_t memdec = (id == Bank0) ? - *(softsp->ac_memdecode0) : *(softsp->ac_memdecode1); + *(softsp->ac_memdecode0) : *(softsp->ac_memdecode1); uint_t grp_size; softsp->bank[id].busy = 0; @@ -1258,7 +1258,7 @@ static void ac_eval_memory_status(struct ac_soft_state *softsp, enum ac_bank_id id) { uint64_t memdec = (id == Bank0) ? - *(softsp->ac_memdecode0) : *(softsp->ac_memdecode1); + *(softsp->ac_memdecode0) : *(softsp->ac_memdecode1); uint64_t base_pa; /* @@ -1351,49 +1351,49 @@ ac_policy_audit_messages(ac_audit_evt_t event, ac_cfga_pkt_t *pkt) switch (event) { case AC_AUDIT_OSTATE_CONFIGURE: cmn_err(CE_NOTE, - "%s memory bank %d in slot %d", - ac_ostate_typestr(SYSC_CFGA_OSTATE_CONFIGURED, - event), pkt->bank, - softsp->board); + "%s memory bank %d in slot %d", + ac_ostate_typestr(SYSC_CFGA_OSTATE_CONFIGURED, + event), pkt->bank, + softsp->board); break; case AC_AUDIT_OSTATE_UNCONFIGURE: cmn_err(CE_NOTE, - "%s memory bank %d in slot %d", - ac_ostate_typestr( - SYSC_CFGA_OSTATE_UNCONFIGURED, - event), pkt->bank, - softsp->board); + "%s memory bank %d in slot %d", + ac_ostate_typestr( + SYSC_CFGA_OSTATE_UNCONFIGURED, + event), pkt->bank, + softsp->board); break; case AC_AUDIT_OSTATE_SUCCEEDED: cmn_err(CE_NOTE, - "memory bank %d in slot %d is %s", - pkt->bank, softsp->board, - ac_ostate_typestr( - softsp->bank[pkt->bank].ostate, - event)); + "memory bank %d in slot %d is %s", + pkt->bank, softsp->board, + ac_ostate_typestr( + softsp->bank[pkt->bank].ostate, + event)); break; case AC_AUDIT_OSTATE_CONFIGURE_FAILED: cmn_err(CE_NOTE, "memory bank %d in slot %d not %s", - pkt->bank, - softsp->board, - ac_ostate_typestr( - SYSC_CFGA_OSTATE_CONFIGURED, - event)); + pkt->bank, + softsp->board, + ac_ostate_typestr( + SYSC_CFGA_OSTATE_CONFIGURED, + event)); break; case AC_AUDIT_OSTATE_UNCONFIGURE_FAILED: cmn_err(CE_NOTE, - "memory bank %d in slot %d not %s", - pkt->bank, - softsp->board, - ac_ostate_typestr( - SYSC_CFGA_OSTATE_UNCONFIGURED, - event)); + "memory bank %d in slot %d not %s", + pkt->bank, + softsp->board, + ac_ostate_typestr( + SYSC_CFGA_OSTATE_UNCONFIGURED, + event)); break; default: cmn_err(CE_NOTE, - "unknown audit of memory bank %d in slot %d", - pkt->bank, softsp->board); + "unknown audit of memory bank %d in slot %d", + pkt->bank, softsp->board); break; } } diff --git a/usr/src/uts/sun4u/sunfire/io/central.c b/usr/src/uts/sun4u/sunfire/io/central.c index c349d50087..f47a5aafb3 100644 --- a/usr/src/uts/sun4u/sunfire/io/central.c +++ b/usr/src/uts/sun4u/sunfire/io/central.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -108,14 +107,15 @@ static struct dev_ops central_ops = { nulldev, /* reset */ (struct cb_ops *)0, /* cb_ops */ ¢ral_bus_ops, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Central Nexus %I%", /* Name of module. */ + "Central Nexus", /* Name of module. */ ¢ral_ops, /* driver ops */ }; @@ -168,7 +168,7 @@ central_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* nothing to suspend/resume here */ (void) ddi_prop_update_string(DDI_DEV_T_NONE, devi, - "pm-hardware-state", "no-suspend-resume"); + "pm-hardware-state", "no-suspend-resume"); ddi_report_dev(devi); return (DDI_SUCCESS); diff --git a/usr/src/uts/sun4u/sunfire/io/environ.c b/usr/src/uts/sun4u/sunfire/io/environ.c index 0c1c9146c6..db6dc8fe0c 100644 --- a/usr/src/uts/sun4u/sunfire/io/environ.c +++ b/usr/src/uts/sun4u/sunfire/io/environ.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -100,7 +99,8 @@ static struct dev_ops environ_ops = { nulldev, /* reset */ &environ_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; void *environp; /* environ soft state hook */ @@ -128,9 +128,9 @@ static int environ_overtemp_thread_started = 0; extern struct mod_ops mod_driverops; static struct modldrv modldrv = { - &mod_driverops, /* module type, this one is a driver */ - "Environment Leaf v%I%", /* name of module */ - &environ_ops, /* driver ops */ + &mod_driverops, /* module type, this one is a driver */ + "Environment Leaf", /* name of module */ + &environ_ops, /* driver ops */ }; static struct modlinkage modlinkage = { @@ -216,12 +216,12 @@ environ_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if ((softsp->board = (int)ddi_getprop(DDI_DEV_T_ANY, softsp->pdip, DDI_PROP_DONTPASS, OBP_BOARDNUM, -1)) == -1) { cmn_err(CE_WARN, "environ%d: unable to retrieve %s property", - instance, OBP_BOARDNUM); + instance, OBP_BOARDNUM); goto bad; } DPRINTF(ENVIRON_ATTACH_DEBUG, ("environ: devi= 0x%p\n, softsp=0x%p,", - devi, softsp)); + devi, softsp)); /* * Init the temperature device here. We start the overtemp @@ -232,7 +232,7 @@ environ_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* nothing to suspend/resume here */ (void) ddi_prop_update_string(DDI_DEV_T_NONE, devi, - "pm-hardware-state", "no-suspend-resume"); + "pm-hardware-state", "no-suspend-resume"); ddi_report_dev(devi); @@ -361,7 +361,7 @@ environ_init(struct environ_soft_state *softsp) if (ddi_map_regs(softsp->dip, 0, (caddr_t *)&softsp->temp_reg, 0, 0)) { cmn_err(CE_WARN, "environ%d: unable to map temperature " - "register", ddi_get_instance(softsp->dip)); + "register", ddi_get_instance(softsp->dip)); return (DDI_FAILURE); } @@ -441,7 +441,7 @@ environ_overtemp_poll(void) } update_temp(list->pdip, &list->tempstat, - *(list->temp_reg)); + *(list->temp_reg)); } CALLB_CPR_SAFE_BEGIN(&cprinfo); @@ -488,9 +488,9 @@ environ_add_temp_kstats(struct environ_soft_state *softsp) */ if ((ttsp = kstat_create("unix", softsp->board, TEMP_OVERRIDE_KSTAT_NAME, "misc", KSTAT_TYPE_RAW, sizeof (short), - KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) == NULL) { + KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) == NULL) { cmn_err(CE_WARN, "environ%d: temp override kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); } else { ttsp->ks_update = temp_override_kstat_update; ttsp->ks_private = (void *) &softsp->tempstat.override; diff --git a/usr/src/uts/sun4u/sunfire/io/fhc.c b/usr/src/uts/sun4u/sunfire/io/fhc.c index 3b49bb17ec..1f61540e93 100644 --- a/usr/src/uts/sun4u/sunfire/io/fhc.c +++ b/usr/src/uts/sun4u/sunfire/io/fhc.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -421,7 +420,8 @@ static struct dev_ops fhc_ops = { nulldev, /* reset */ &fhc_cb_ops, /* cb_ops */ &fhc_bus_ops, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -434,7 +434,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "FHC Nexus v%I%", /* Name of module. */ + "FHC Nexus", /* Name of module. */ &fhc_ops, /* driver ops */ }; @@ -547,7 +547,7 @@ fhc_handle_imr(struct fhc_soft_state *softsp) } } cmn_err(CE_NOTE, "central IGN corruption fixed: " - "got %x wanted %x", act_igr, want_igr); + "got %x wanted %x", act_igr, want_igr); } return; } @@ -768,7 +768,7 @@ fhc_board_type(struct fhc_soft_state *softsp, int board) if (cpu_on_board(board)) type = CPU_BOARD; else if ((*(softsp->bsr) & FHC_UPADATA64A) || - (*(softsp->bsr) & FHC_UPADATA64B)) + (*(softsp->bsr) & FHC_UPADATA64B)) type = IO_2SBUS_BOARD; else type = MEM_BOARD; @@ -792,26 +792,26 @@ fhc_unmap_regs(struct fhc_soft_state *softsp) } if (softsp->intr_regs[FHC_FANFAIL_INO].mapping_reg) { ddi_unmap_regs(dip, 2, - (caddr_t *)&softsp->intr_regs[FHC_FANFAIL_INO].mapping_reg, - 0, 0); + (caddr_t *)&softsp->intr_regs[FHC_FANFAIL_INO].mapping_reg, + 0, 0); softsp->intr_regs[FHC_FANFAIL_INO].mapping_reg = NULL; } if (softsp->intr_regs[FHC_SYS_INO].mapping_reg) { ddi_unmap_regs(dip, 3, - (caddr_t *)&softsp->intr_regs[FHC_SYS_INO].mapping_reg, - 0, 0); + (caddr_t *)&softsp->intr_regs[FHC_SYS_INO].mapping_reg, + 0, 0); softsp->intr_regs[FHC_SYS_INO].mapping_reg = NULL; } if (softsp->intr_regs[FHC_UART_INO].mapping_reg) { ddi_unmap_regs(dip, 4, - (caddr_t *)&softsp->intr_regs[FHC_UART_INO].mapping_reg, - 0, 0); + (caddr_t *)&softsp->intr_regs[FHC_UART_INO].mapping_reg, + 0, 0); softsp->intr_regs[FHC_UART_INO].mapping_reg = NULL; } if (softsp->intr_regs[FHC_TOD_INO].mapping_reg) { ddi_unmap_regs(dip, 5, - (caddr_t *)&softsp->intr_regs[FHC_TOD_INO].mapping_reg, - 0, 0); + (caddr_t *)&softsp->intr_regs[FHC_TOD_INO].mapping_reg, + 0, 0); softsp->intr_regs[FHC_TOD_INO].mapping_reg = NULL; } } @@ -832,7 +832,7 @@ fhc_init(struct fhc_soft_state *softsp) if (ddi_map_regs(softsp->dip, 0, (caddr_t *)&softsp->id, 0, 0)) { cmn_err(CE_WARN, "fhc%d: unable to map internal " - "registers", ddi_get_instance(softsp->dip)); + "registers", ddi_get_instance(softsp->dip)); goto bad; } @@ -841,21 +841,21 @@ fhc_init(struct fhc_soft_state *softsp) * fhc_soft_state structure. */ softsp->rctrl = (uint_t *)((char *)(softsp->id) + - FHC_OFF_RCTRL); + FHC_OFF_RCTRL); softsp->ctrl = (uint_t *)((char *)(softsp->id) + - FHC_OFF_CTRL); + FHC_OFF_CTRL); softsp->bsr = (uint_t *)((char *)(softsp->id) + - FHC_OFF_BSR); + FHC_OFF_BSR); softsp->jtag_ctrl = (uint_t *)((char *)(softsp->id) + - FHC_OFF_JTAG_CTRL); + FHC_OFF_JTAG_CTRL); softsp->jt_master.jtag_cmd = (uint_t *)((char *)(softsp->id) + - FHC_OFF_JTAG_CMD); + FHC_OFF_JTAG_CMD); /* map in register set 1 */ if (ddi_map_regs(softsp->dip, 1, (caddr_t *)&softsp->igr, 0, 0)) { cmn_err(CE_WARN, "fhc%d: unable to map IGR " - "register", ddi_get_instance(softsp->dip)); + "register", ddi_get_instance(softsp->dip)); goto bad; } @@ -868,7 +868,7 @@ fhc_init(struct fhc_soft_state *softsp) (caddr_t *)&softsp->intr_regs[FHC_FANFAIL_INO].mapping_reg, 0, 0)) { cmn_err(CE_WARN, "fhc%d: unable to map Fan Fail " - "IMR register", ddi_get_instance(softsp->dip)); + "IMR register", ddi_get_instance(softsp->dip)); goto bad; } @@ -877,7 +877,7 @@ fhc_init(struct fhc_soft_state *softsp) (caddr_t *)&softsp->intr_regs[FHC_SYS_INO].mapping_reg, 0, 0)) { cmn_err(CE_WARN, "fhc%d: unable to map System " - "IMR register\n", ddi_get_instance(softsp->dip)); + "IMR register\n", ddi_get_instance(softsp->dip)); goto bad; } @@ -886,7 +886,7 @@ fhc_init(struct fhc_soft_state *softsp) (caddr_t *)&softsp->intr_regs[FHC_UART_INO].mapping_reg, 0, 0)) { cmn_err(CE_WARN, "fhc%d: unable to map UART " - "IMR register\n", ddi_get_instance(softsp->dip)); + "IMR register\n", ddi_get_instance(softsp->dip)); goto bad; } @@ -895,7 +895,7 @@ fhc_init(struct fhc_soft_state *softsp) (caddr_t *)&softsp->intr_regs[FHC_TOD_INO].mapping_reg, 0, 0)) { cmn_err(CE_WARN, "fhc%d: unable to map FHC TOD " - "IMR register", ddi_get_instance(softsp->dip)); + "IMR register", ddi_get_instance(softsp->dip)); goto bad; } @@ -903,8 +903,8 @@ fhc_init(struct fhc_soft_state *softsp) /* TODO - Make sure we are calculating the ISMR correctly. */ for (i = 0; i < FHC_MAX_INO; i++) { softsp->intr_regs[i].clear_reg = - (uint_t *)((char *)(softsp->intr_regs[i].mapping_reg) + - FHC_OFF_ISMR); + (uint_t *)((char *)(softsp->intr_regs[i].mapping_reg) + + FHC_OFF_ISMR); /* Now clear the state machines to idle */ *(softsp->intr_regs[i].clear_reg) = ISM_IDLE; @@ -1324,7 +1324,7 @@ fhc_remove_intr_impl(dev_info_t *dip, dev_info_t *rdip, volatile uint_t tmpreg; int i; struct fhc_soft_state *softsp = (struct fhc_soft_state *) - ddi_get_soft_state(fhcp, ddi_get_instance(dip)); + ddi_get_soft_state(fhcp, ddi_get_instance(dip)); int ino; /* Xlate the interrupt */ @@ -1355,7 +1355,7 @@ fhc_remove_intr_impl(dev_info_t *dip, dev_info_t *rdip, /* If we did not find an entry, then we have a problem */ if (!intr_found) { cmn_err(CE_WARN, "fhc%d: Intrspec not found in" - " poll list", ddi_get_instance(dip)); + " poll list", ddi_get_instance(dip)); mutex_exit(&softsp->poll_list_lock); goto done; } @@ -1760,14 +1760,14 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) } else { /* Run the calibration function using this board type */ real_temp = calibrate_temp(softsp->list->sc.type, value, - softsp->list->sc.ac_compid); + softsp->list->sc.ac_compid); } envstat->l1[index % L1_SZ] = real_temp; /* check if the temperature state for this device needs to change */ temp_state = get_temp_state(softsp->list->sc.type, real_temp, - softsp->list->sc.board); + softsp->list->sc.board); /* has the state changed? Then get the board string ready */ if (temp_state != envstat->state) { @@ -1782,7 +1782,7 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) reg_fault(0, FT_OVERTEMP, FT_SYSTEM); } else { reg_fault(board, FT_OVERTEMP, - FT_BOARD); + FT_BOARD); } } @@ -1793,22 +1793,22 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) if (temp_state == TEMP_WARN) { /* now warn the user of the problem */ cmn_err(CE_WARN, - "%s is warm (temperature: %dC). " - "Please check system cooling", buffer, - real_temp); + "%s is warm (temperature: %dC). " + "Please check system cooling", buffer, + real_temp); fhc_bd_update(board, SYSC_EVT_BD_OVERTEMP); if (temperature_chamber == -1) temperature_chamber = check_for_chamber(); } else if (temp_state == TEMP_DANGER) { cmn_err(CE_WARN, - "%s is very hot (temperature: %dC)", - buffer, real_temp); + "%s is very hot (temperature: %dC)", + buffer, real_temp); envstat->shutdown_cnt = 1; if (temperature_chamber == -1) temperature_chamber = - check_for_chamber(); + check_for_chamber(); if ((temperature_chamber == 0) && enable_overtemp_powerdown) { /* @@ -1820,12 +1820,12 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) */ if (shutdown_msg == 0) { cmn_err(CE_WARN, "System " - "shutdown scheduled " - "in %d seconds due to " - "over-temperature " - "condition on %s", - SHUTDOWN_TIMEOUT_SEC, - buffer); + "shutdown scheduled " + "in %d seconds due to " + "over-temperature " + "condition on %s", + SHUTDOWN_TIMEOUT_SEC, + buffer); } shutdown_msg++; } @@ -1853,22 +1853,22 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) } else if (--envstat->temp_cnt == 0) { if (temp_state == TEMP_WARN) { cmn_err(CE_NOTE, - "%s is cooling " - "(temperature: %dC)", buffer, - real_temp); + "%s is cooling " + "(temperature: %dC)", buffer, + real_temp); } else if (temp_state == TEMP_OK) { cmn_err(CE_NOTE, - "%s has cooled down " - "(temperature: %dC), system OK", - buffer, real_temp); + "%s has cooled down " + "(temperature: %dC), system OK", + buffer, real_temp); if (type == CLOCK_BOARD) { clear_fault(0, FT_OVERTEMP, - FT_SYSTEM); + FT_SYSTEM); } else { clear_fault(board, FT_OVERTEMP, - FT_BOARD); + FT_BOARD); } } @@ -1883,9 +1883,9 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) (powerdown_started == 0) && (--shutdown_msg == 0)) { cmn_err(CE_NOTE, "System " - "shutdown due to over-" - "temperature " - "condition cancelled"); + "shutdown due to over-" + "temperature " + "condition cancelled"); } envstat->state = temp_state; @@ -1908,13 +1908,13 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) /* the system is still too hot */ build_bd_display_str(buffer, - softsp->list->sc.type, - softsp->list->sc.board); + softsp->list->sc.type, + softsp->list->sc.board); cmn_err(CE_WARN, "%s still too hot " - "(temperature: %dC)." - " Overtemp shutdown started", buffer, - real_temp); + "(temperature: %dC)." + " Overtemp shutdown started", buffer, + real_temp); fhc_reboot(); } @@ -1949,8 +1949,8 @@ update_temp(dev_info_t *pdip, struct temp_stats *envstat, uchar_t value) build_bd_display_str(buffer, type, board); cmn_err(CE_WARN, "%s temperature is rising rapidly! " - "Current temperature is %dC", buffer, - real_temp); + "Current temperature is %dC", buffer, + real_temp); } } } @@ -2331,7 +2331,7 @@ fhc_add_kstats(struct fhc_soft_state *softsp) sizeof (struct fhc_kstat) / sizeof (kstat_named_t), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "fhc%d kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); return; } @@ -2339,12 +2339,12 @@ fhc_add_kstats(struct fhc_soft_state *softsp) /* initialize the named kstats */ kstat_named_init(&fhc_named_ksp->csr, - CSR_KSTAT_NAMED, - KSTAT_DATA_UINT32); + CSR_KSTAT_NAMED, + KSTAT_DATA_UINT32); kstat_named_init(&fhc_named_ksp->bsr, - BSR_KSTAT_NAMED, - KSTAT_DATA_UINT32); + BSR_KSTAT_NAMED, + KSTAT_DATA_UINT32); fhc_ksp->ks_update = fhc_kstat_update; fhc_ksp->ks_private = (void *)softsp; @@ -2479,8 +2479,8 @@ check_for_chamber(void) if (strcmp(mfgmode, CHAMBER_VALUE) == 0) { chamber = 1; cmn_err(CE_WARN, "System in Temperature" - " Chamber Mode. Overtemperature" - " Shutdown disabled"); + " Chamber Mode. Overtemperature" + " Shutdown disabled"); } } kmem_free(mfgmode, mfgmode_len+1); @@ -2499,7 +2499,7 @@ build_bd_display_str(char *buffer, enum board_type type, int board) switch (type) { case UNINIT_BOARD: (void) sprintf(buffer, "Uninitialized Board type board %d", - board); + board); break; case UNKNOWN_BOARD: @@ -2537,7 +2537,7 @@ build_bd_display_str(char *buffer, enum board_type type, int board) default: (void) sprintf(buffer, "Unrecognized board type board %d", - board); + board); break; } } @@ -2743,7 +2743,7 @@ process_fault_list(void) bdlist->fault = 1; } else { cmn_err(CE_WARN, "No board %d list entry found", - ftlist->f.unit); + ftlist->f.unit); } } } @@ -2784,7 +2784,7 @@ fhc_add_memloc(int board, uint64_t pa, uint_t size) p->size = size; #ifdef DEBUG_MEMDEC cmn_err(CE_NOTE, "fhc_add_memloc: adding %d 0x%x 0x%x", - p->board, p->pa, p->size); + p->board, p->pa, p->size); #endif /* DEBUG_MEMDEC */ *pp = p; } @@ -2977,7 +2977,7 @@ create_ft_kstats(int instance) struct kstat *ksp; ksp = kstat_create("unix", instance, FT_LIST_KSTAT_NAME, "misc", - KSTAT_TYPE_RAW, 1, KSTAT_FLAG_VIRTUAL|KSTAT_FLAG_VAR_SIZE); + KSTAT_TYPE_RAW, 1, KSTAT_FLAG_VIRTUAL|KSTAT_FLAG_VAR_SIZE); if (ksp != NULL) { ksp->ks_data = NULL; @@ -3025,7 +3025,7 @@ ft_ks_update(struct kstat *ksp, int rw) } else { if (ft_nfaults) { ksp->ks_data_size = ft_nfaults * - sizeof (struct ft_list); + sizeof (struct ft_list); } else { ksp->ks_data_size = 1; } @@ -3197,7 +3197,7 @@ fhc_cpu_poweroff(struct cpu *cp) ASSERT(MUTEX_HELD(&cpu_lock)); ASSERT((cp->cpu_flags & (CPU_EXISTS | CPU_OFFLINE | CPU_QUIESCED)) == - (CPU_EXISTS | CPU_OFFLINE | CPU_QUIESCED)); + (CPU_EXISTS | CPU_OFFLINE | CPU_QUIESCED)); /* * Lock the board so that we can safely access the @@ -3227,7 +3227,7 @@ fhc_cpu_poweroff(struct cpu *cp) mp_cpu_quiesce(cp); xt_one_unchecked(cp->cpu_id, (xcfunc_t *)idle_stop_xcall, - (uint64_t)fhc_cpu_shutdown_self, (uint64_t)NULL); + (uint64_t)fhc_cpu_shutdown_self, (uint64_t)NULL); /* * Wait for slave cpu to shutdown. @@ -3347,7 +3347,7 @@ fhc_cpu_poweron(struct cpu *cp) ASSERT(bd_list->dev_softsp != NULL); state = ((struct environ_soft_state *) - bd_list->dev_softsp)->tempstat.state; + bd_list->dev_softsp)->tempstat.state; fhc_bdlist_unlock(); if ((state == TEMP_WARN) || (state == TEMP_DANGER)) @@ -3399,9 +3399,9 @@ os_completes_shutdown(void) /* force load i and d translations */ tte.tte_inthi = TTE_VALID_INT | TTE_SZ_INT(TTE8K) | - TTE_PFN_INTHI(pfn); + TTE_PFN_INTHI(pfn); tte.tte_intlo = TTE_PFN_INTLO(pfn) | - TTE_HWWR_INT | TTE_PRIV_INT | TTE_LCK_INT; /* un$ */ + TTE_HWWR_INT | TTE_PRIV_INT | TTE_LCK_INT; /* un$ */ sfmmu_dtlb_ld_kva(shutdown_va, &tte); /* load dtlb */ sfmmu_itlb_ld_kva(shutdown_va, &tte); /* load itlb */ @@ -3431,8 +3431,8 @@ os_completes_shutdown(void) * NOTE: the base flush address must be unique for each MID. */ ((void (*)(u_longlong_t, int))copy_addr)( - FHC_BASE_NOMEM + CPU->cpu_id * FHC_MAX_ECACHE_SIZE, - cpunodes[CPU->cpu_id].ecache_size); + FHC_BASE_NOMEM + CPU->cpu_id * FHC_MAX_ECACHE_SIZE, + cpunodes[CPU->cpu_id].ecache_size); } enum temp_state @@ -3473,7 +3473,7 @@ fhc_tod_fault(enum tod_fault_type tod_bad) /* if tod is not on clock board, */ /* it'd be on one of io boards */ board_num = (addr >> IO_BOARD_NUMBER_SHIFT) - & IO_BOARD_NUMBER_MASK; + & IO_BOARD_NUMBER_MASK; class = FT_BOARD; } diff --git a/usr/src/uts/sun4u/sunfire/io/simmstat.c b/usr/src/uts/sun4u/sunfire/io/simmstat.c index 4f5b967d45..35eea3f2cb 100644 --- a/usr/src/uts/sun4u/sunfire/io/simmstat.c +++ b/usr/src/uts/sun4u/sunfire/io/simmstat.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -97,7 +96,8 @@ static struct dev_ops simmstat_ops = { nulldev, /* reset */ &simmstat_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static uint_t simmstat_reg_read_delay_us = 10; @@ -111,7 +111,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* module type, this one is a driver */ - "SIMM-status Leaf v%I%", /* module name */ + "SIMM-status Leaf", /* module name */ &simmstat_ops, /* driver ops */ }; @@ -191,24 +191,24 @@ simmstat_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if ((softsp->board = (int)ddi_getprop(DDI_DEV_T_ANY, softsp->pdip, DDI_PROP_DONTPASS, OBP_BOARDNUM, -1)) == -1) { cmn_err(CE_WARN, "simmstat%d: unable to retrieve %s property", - instance, OBP_BOARDNUM); + instance, OBP_BOARDNUM); goto bad; } DPRINTF(SIMMSTAT_ATTACH_DEBUG, ("simmstat%d: devi= 0x%p\n, " - " softsp=0x%p\n", instance, devi, softsp)); + " softsp=0x%p\n", instance, devi, softsp)); /* map in the registers for this device. */ if (ddi_map_regs(softsp->dip, 0, (caddr_t *)&softsp->simmstat_base, 0, 0)) { cmn_err(CE_WARN, "simmstat%d: unable to map registers", - instance); + instance); goto bad; } /* nothing to suspend/resume here */ (void) ddi_prop_update_string(DDI_DEV_T_NONE, devi, - "pm-hardware-state", "no-suspend-resume"); + "pm-hardware-state", "no-suspend-resume"); /* create the kstats for this device */ simmstat_add_kstats(softsp); @@ -258,7 +258,7 @@ simmstat_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) /* unmap the registers */ ddi_unmap_regs(softsp->dip, 0, - (caddr_t *)&softsp->simmstat_base, 0, 0); + (caddr_t *)&softsp->simmstat_base, 0, 0); /* free up the soft state */ ddi_soft_state_free(simmstatp, instance); @@ -276,7 +276,7 @@ simmstat_add_kstats(struct simmstat_soft_state *softsp) SIMMSTAT_KSTAT_NAME, "misc", KSTAT_TYPE_RAW, SIMM_COUNT, KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "simmstat%d: kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); } simmstat_ksp->ks_update = simmstat_kstat_update; diff --git a/usr/src/uts/sun4u/sunfire/io/sram.c b/usr/src/uts/sun4u/sunfire/io/sram.c index 91326c3d98..132f4a874a 100644 --- a/usr/src/uts/sun4u/sunfire/io/sram.c +++ b/usr/src/uts/sun4u/sunfire/io/sram.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -92,7 +91,8 @@ static struct dev_ops sram_ops = { nulldev, /* reset */ &sram_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; @@ -107,7 +107,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Sram Leaf v%I%", /* name of module */ + "Sram Leaf", /* name of module */ &sram_ops, /* driver ops */ }; @@ -185,24 +185,24 @@ sram_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if ((softsp->board = (int)ddi_getprop(DDI_DEV_T_ANY, softsp->pdip, DDI_PROP_DONTPASS, OBP_BOARDNUM, -1)) == -1) { cmn_err(CE_WARN, "sram%d: unable to retrieve %s property", - instance, OBP_BOARDNUM); + instance, OBP_BOARDNUM); goto bad; } DPRINTF(SRAM_ATTACH_DEBUG, ("sram%d: devi= 0x%p\n, " - " softsp=0x%p\n", instance, devi, softsp)); + " softsp=0x%p\n", instance, devi, softsp)); /* map in the registers for this device. */ if (ddi_map_regs(softsp->dip, 0, (caddr_t *)&softsp->sram_base, 0, 0)) { cmn_err(CE_WARN, "sram%d: unable to map registers", - instance); + instance); goto bad; } /* nothing to suspend/resume here */ (void) ddi_prop_update_string(DDI_DEV_T_NONE, devi, - "pm-hardware-state", "no-suspend-resume"); + "pm-hardware-state", "no-suspend-resume"); /* create the kstats for this device. */ sram_add_kstats(softsp); @@ -256,7 +256,7 @@ sram_detach(dev_info_t *devi, ddi_detach_cmd_t cmd) /* unmap the registers */ ddi_unmap_regs(softsp->dip, 0, - (caddr_t *)&softsp->sram_base, 0, 0); + (caddr_t *)&softsp->sram_base, 0, 0); /* free the soft state structure */ ddi_soft_state_free(sramp, instance); @@ -328,20 +328,20 @@ sram_add_kstats(struct sram_soft_state *softsp) /* Check for illegal size values. */ if ((uint_t)reset_size > MX_RSTINFO_SZ) { cmn_err(CE_NOTE, "sram%d: illegal " - "reset_size: 0x%x", - ddi_get_instance(softsp->dip), - reset_size); + "reset_size: 0x%x", + ddi_get_instance(softsp->dip), + reset_size); return; } /* create the reset-info kstat */ resetinfo_ksp = kstat_create("unix", 0, - RESETINFO_KSTAT_NAME, "misc", KSTAT_TYPE_RAW, - reset_size, KSTAT_FLAG_PERSISTENT); + RESETINFO_KSTAT_NAME, "misc", KSTAT_TYPE_RAW, + reset_size, KSTAT_FLAG_PERSISTENT); if (resetinfo_ksp == NULL) { cmn_err(CE_WARN, "sram%d: kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); return; } diff --git a/usr/src/uts/sun4u/sunfire/io/sysctrl.c b/usr/src/uts/sun4u/sunfire/io/sysctrl.c index e8869e4daa..78005d8ced 100644 --- a/usr/src/uts/sun4u/sunfire/io/sysctrl.c +++ b/usr/src/uts/sun4u/sunfire/io/sysctrl.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/conf.h> @@ -204,7 +203,8 @@ static struct dev_ops sysctrl_ops = { nulldev, /* reset */ &sysctrl_cb_ops, /* cb_ops */ (struct bus_ops *)0, /* bus_ops */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; void *sysctrlp; /* sysctrl soft state hook */ @@ -316,7 +316,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a driver */ - "Clock Board %I%", /* name of module */ + "Clock Board", /* name of module */ &sysctrl_ops, /* driver ops */ }; @@ -433,7 +433,7 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) softsp->pdip = ddi_get_parent(softsp->dip); DPRINTF(SYSCTRL_ATTACH_DEBUG, ("sysctrl: devi= 0x%p\n, softsp=0x%p\n", - devi, softsp)); + devi, softsp)); /* First set all of the timeout values */ spur_timeout_hz = drv_usectohz(SPUR_TIMEOUT_USEC); @@ -461,14 +461,14 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) if (ddi_map_regs(softsp->dip, 0, (caddr_t *)&softsp->clk_freq1, 0, 0)) { cmn_err(CE_WARN, "sysctrl%d: unable to map clock frequency " - "registers", instance); + "registers", instance); goto bad0; } if (ddi_map_regs(softsp->dip, 1, (caddr_t *)&softsp->csr, 0, 0)) { cmn_err(CE_WARN, "sysctrl%d: unable to map internal" - "registers", instance); + "registers", instance); goto bad1; } @@ -486,25 +486,25 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) * avoid bugs down the road. */ softsp->clk_freq2 = (uchar_t *)((caddr_t)softsp->clk_freq1 + - SYS_OFF_CLK_FREQ2); + SYS_OFF_CLK_FREQ2); softsp->status1 = (uchar_t *)((caddr_t)softsp->csr + - SYS_OFF_STAT1); + SYS_OFF_STAT1); softsp->status2 = (uchar_t *)((caddr_t)softsp->csr + - SYS_OFF_STAT2); + SYS_OFF_STAT2); softsp->ps_stat = (uchar_t *)((caddr_t)softsp->csr + - SYS_OFF_PSSTAT); + SYS_OFF_PSSTAT); softsp->ps_pres = (uchar_t *)((caddr_t)softsp->csr + - SYS_OFF_PSPRES); + SYS_OFF_PSPRES); softsp->pppsr = (uchar_t *)((caddr_t)softsp->csr + - SYS_OFF_PPPSR); + SYS_OFF_PPPSR); softsp->temp_reg = (uchar_t *)((caddr_t)softsp->csr + - SYS_OFF_TEMP); + SYS_OFF_TEMP); set_clockbrd_info(); @@ -567,7 +567,7 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* shut off all interrupt sources */ *(softsp->csr) &= ~(SYS_PPS_FAN_FAIL_EN | SYS_PS_FAIL_EN | - SYS_AC_PWR_FAIL_EN | SYS_SBRD_PRES_EN); + SYS_AC_PWR_FAIL_EN | SYS_SBRD_PRES_EN); tmp_reg = *(softsp->csr); #ifdef lint tmp_reg = tmp_reg; @@ -597,7 +597,7 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) goto bad4; mutex_init(&softsp->spur_int_lock, NULL, MUTEX_DRIVER, - (void *)softsp->spur_int_c); + (void *)softsp->spur_int_c); if (ddi_add_softintr(devi, DDI_SOFTINT_LOW, &softsp->spur_high_id, @@ -629,7 +629,7 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) goto bad9; mutex_init(&softsp->ps_fail_lock, NULL, MUTEX_DRIVER, - (void *)softsp->ps_fail_c); + (void *)softsp->ps_fail_c); if (ddi_add_softintr(devi, DDI_SOFTINT_LOW, &softsp->ps_fail_poll_id, NULL, NULL, ps_fail_poll_handler, (caddr_t)softsp) != @@ -691,7 +691,7 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) (void) fhc_bdlist_lock(-1); DPRINTF(SYSCTRL_ATTACH_DEBUG, - ("attach: start bd_remove_poll()...")); + ("attach: start bd_remove_poll()...")); bd_remove_poll(softsp); fhc_bdlist_unlock(); @@ -715,11 +715,11 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) DDI_SUCCESS) goto bad15; mutex_init(&softsp->sys_led_lock, NULL, MUTEX_DRIVER, - (void *)softsp->sys_led_c); + (void *)softsp->sys_led_c); /* initialize the bit field for all pps fans to assumed good */ softsp->pps_fan_saved = softsp->pps_fan_external_state = - SYS_AC_FAN_OK | SYS_KEYSW_FAN_OK; + SYS_AC_FAN_OK | SYS_KEYSW_FAN_OK; /* prime the power supply state machines */ if (enable_sys_interrupt & SYS_PS_FAIL_EN) @@ -733,8 +733,8 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) /* Now enable selected interrupt sources */ mutex_enter(&softsp->csr_mutex); *(softsp->csr) |= enable_sys_interrupt & - (SYS_AC_PWR_FAIL_EN | SYS_PS_FAIL_EN | - SYS_PPS_FAN_FAIL_EN | SYS_SBRD_PRES_EN); + (SYS_AC_PWR_FAIL_EN | SYS_PS_FAIL_EN | + SYS_PPS_FAN_FAIL_EN | SYS_SBRD_PRES_EN); tmp_reg = *(softsp->csr); #ifdef lint tmp_reg = tmp_reg; @@ -814,8 +814,8 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) softsp->options_nodeid = (pnode_t)ddi_get_nodeid(dip); DPRINTF(SYSCTRL_ATTACH_DEBUG, - ("sysctrl: Creating devices start:%d, limit:%d, incr:%d\n", - start, limit, incr)); + ("sysctrl: Creating devices start:%d, limit:%d, incr:%d\n", + start, limit, incr)); /* * Create minor node for each system attachment points @@ -827,8 +827,8 @@ sysctrl_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) (PUTINSTANCE(instance) | slot_num), DDI_NT_ATTACHMENT_POINT, 0) == DDI_FAILURE) { cmn_err(CE_WARN, "sysctrl%d: \"%s\" " - "ddi_create_minor_node failed", - instance, name); + "ddi_create_minor_node failed", + instance, name); goto bad16; } } @@ -1168,7 +1168,7 @@ sysc_pkt_init(sysc_cfga_pkt_t *pkt, intptr_t arg, int flag) sysc_cfga_cmd32_t sysc_cmd32; if (ddi_copyin((void *)arg, &sysc_cmd32, - sizeof (sysc_cfga_cmd32_t), flag) != 0) { + sizeof (sysc_cfga_cmd32_t), flag) != 0) { return (EFAULT); } pkt->cmd_cfga.force = sysc_cmd32.force; @@ -1176,11 +1176,11 @@ sysc_pkt_init(sysc_cfga_pkt_t *pkt, intptr_t arg, int flag) pkt->cmd_cfga.arg = sysc_cmd32.arg; pkt->cmd_cfga.errtype = sysc_cmd32.errtype; pkt->cmd_cfga.outputstr = - (char *)(uintptr_t)sysc_cmd32.outputstr; + (char *)(uintptr_t)sysc_cmd32.outputstr; } else #endif /* _MULTI_DATAMODEL */ if (ddi_copyin((void *)arg, &(pkt->cmd_cfga), - sizeof (sysc_cfga_cmd_t), flag) != 0) { + sizeof (sysc_cfga_cmd_t), flag) != 0) { return (EFAULT); } pkt->errbuf = kmem_zalloc(SYSC_OUTPUT_LEN, KM_SLEEP); @@ -1196,21 +1196,21 @@ sysc_pkt_fini(sysc_cfga_pkt_t *pkt, intptr_t arg, int flag) if (ddi_model_convert_from(flag & FMODELS) == DDI_MODEL_ILP32) { if (ddi_copyout(&(pkt->cmd_cfga.errtype), - (void *)&(((sysc_cfga_cmd32_t *)arg)->errtype), - sizeof (sysc_err_t), flag) != 0) { + (void *)&(((sysc_cfga_cmd32_t *)arg)->errtype), + sizeof (sysc_err_t), flag) != 0) { ret = FALSE; } } else #endif if (ddi_copyout(&(pkt->cmd_cfga.errtype), - (void *)&(((sysc_cfga_cmd_t *)arg)->errtype), - sizeof (sysc_err_t), flag) != 0) { + (void *)&(((sysc_cfga_cmd_t *)arg)->errtype), + sizeof (sysc_err_t), flag) != 0) { ret = FALSE; } if ((ret != FALSE) && ((pkt->cmd_cfga.outputstr != NULL) && - (ddi_copyout(pkt->errbuf, pkt->cmd_cfga.outputstr, - SYSC_OUTPUT_LEN, flag) != 0))) { + (ddi_copyout(pkt->errbuf, pkt->cmd_cfga.outputstr, + SYSC_OUTPUT_LEN, flag) != 0))) { ret = FALSE; } @@ -1238,8 +1238,8 @@ sysctrl_ioctl(dev_t devt, int cmd, intptr_t arg, int flag, cred_t *cred_p, softsp = GETSOFTC(instance); if (softsp == NULL) { cmn_err(CE_CONT, - "sysctrl_ioctl(%d): NULL softstate ptr!\n", - (int)GETSLOT(devt)); + "sysctrl_ioctl(%d): NULL softstate ptr!\n", + (int)GETSLOT(devt)); return (ENXIO); } @@ -1290,7 +1290,7 @@ sysctrl_ioctl(dev_t devt, int cmd, intptr_t arg, int flag, cred_t *cred_p, /* grasp lock and set in_transition bit */ if (sysc_enter_transition(cmd == SYSC_CFGA_CMD_QUIESCE_TEST - ? -1 : slot) != TRUE) { + ? -1 : slot) != TRUE) { retval = EBUSY; SYSC_ERR_SET(&sysc_pkt, SYSC_ERR_INTRANS); goto cleanup_copyout; @@ -1320,7 +1320,7 @@ sysctrl_ioctl(dev_t devt, int cmd, intptr_t arg, int flag, cred_t *cred_p, else bdp->sc.no_detach = 0; bcopy((caddr_t)&bdp->sc, - &sc_list[i], sizeof (sysc_cfga_stat_t)); + &sc_list[i], sizeof (sysc_cfga_stat_t)); } else { sc_list[i].board = -1; sc_list[i].rstate = SYSC_CFGA_RSTATE_EMPTY; @@ -1392,8 +1392,8 @@ cleanup_copyout: switch (cmd) { case SYSC_CFGA_CMD_GETSTATUS: if (ddi_copyout(sc_list, (void *)arg, - sizeof (sysc_cfga_stat_t) * fhc_max_boards(), - flag) != 0) { + sizeof (sysc_cfga_stat_t) * fhc_max_boards(), + flag) != 0) { retval = EFAULT; } @@ -1473,7 +1473,7 @@ system_high_handler(caddr_t arg) if (csr & SYS_PS_FAIL_EN) { if ((*(softsp->ps_stat) != 0xff) || ((~status2) & (SYS_PPS0_OK | SYS_CLK_33_OK | - SYS_CLK_50_OK)) || + SYS_CLK_50_OK)) || (~(*(softsp->pppsr)) & SYS_PPPSR_BITS)) { /* disable this interrupt source */ @@ -1533,7 +1533,7 @@ system_high_handler(caddr_t arg) /* and then turn them off */ csr &= ~(SYS_AC_PWR_FAIL_EN | SYS_PS_FAIL_EN | - SYS_PPS_FAN_FAIL_EN | SYS_SBRD_PRES_EN); + SYS_PPS_FAN_FAIL_EN | SYS_SBRD_PRES_EN); /* and then bump the counter */ softsp->spur_count++; @@ -1582,7 +1582,7 @@ spur_delay(caddr_t arg) (void) strcat(buf, buf[0] ? "|PS FAIL" : "PS FAIL"); if (softsp->saved_en_state & SYS_SBRD_PRES_EN) (void) strcat(buf, - buf[0] ? "|BOARD INSERT" : "BOARD INSERT"); + buf[0] ? "|BOARD INSERT" : "BOARD INSERT"); /* * This is a high level mutex, therefore it needs to be @@ -1591,8 +1591,8 @@ spur_delay(caddr_t arg) mutex_exit(&softsp->csr_mutex); cmn_err(CE_WARN, "sysctrl%d: unserviced interrupt." - " possible sources [%s].", - ddi_get_instance(softsp->dip), buf); + " possible sources [%s].", + ddi_get_instance(softsp->dip), buf); } else mutex_exit(&softsp->csr_mutex); @@ -1653,8 +1653,8 @@ spur_reenable(caddr_t arg) /* reenable those who were spurious candidates */ *(softsp->csr) |= softsp->saved_en_state & - (SYS_AC_PWR_FAIL_EN | SYS_PS_FAIL_EN | - SYS_PPS_FAN_FAIL_EN | SYS_SBRD_PRES_EN); + (SYS_AC_PWR_FAIL_EN | SYS_PS_FAIL_EN | + SYS_PPS_FAN_FAIL_EN | SYS_SBRD_PRES_EN); tmp_reg = *(softsp->csr); #ifdef lint tmp_reg = tmp_reg; @@ -1748,7 +1748,7 @@ ac_fail_retry(void *arg) (void) timeout(ac_fail_retry, softsp, ac_timeout_hz); } else { cmn_err(CE_NOTE, "%s failure no longer detected", - ft_str_table[FT_AC_PWR]); + ft_str_table[FT_AC_PWR]); clear_fault(0, FT_AC_PWR, FT_SYSTEM); ddi_trigger_softintr(softsp->ac_fail_high_id); } @@ -1879,18 +1879,18 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) /* peripheral 5v */ case SYS_V5_P_INDEX: temp_pres = !(status1 & SYS_NOT_PPS0_PRES) || - ((IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) && - !(ps_pres & SYS_NOT_PPS1_PRES)); + ((IS4SLOT(softsp->nslots) || + IS5SLOT(softsp->nslots)) && + !(ps_pres & SYS_NOT_PPS1_PRES)); temp_psok = pppsr & SYS_V5_P_OK; break; /* peripheral 12v */ case SYS_V12_P_INDEX: temp_pres = !(status1 & SYS_NOT_PPS0_PRES) || - ((IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) && - !(ps_pres & SYS_NOT_PPS1_PRES)); + ((IS4SLOT(softsp->nslots) || + IS5SLOT(softsp->nslots)) && + !(ps_pres & SYS_NOT_PPS1_PRES)); temp_psok = pppsr & SYS_V12_P_OK; break; @@ -1931,10 +1931,10 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) /* peripheral fan assy */ case SYS_P_FAN_INDEX: temp_pres = (IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) && - !(status1 & SYS_NOT_P_FAN_PRES); + IS5SLOT(softsp->nslots)) && + !(status1 & SYS_NOT_P_FAN_PRES); temp_psok = softsp->pps_fan_saved & - SYS_AC_FAN_OK; + SYS_AC_FAN_OK; is_fan_assy = TRUE; break; } @@ -1955,16 +1955,16 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) pstatp->pctr = PS_PRES_CHANGE_TICKS; } else if (--pstatp->pctr == 0) { pstatp->pshadow = temp_pres ? - PRES_IN : PRES_OUT; + PRES_IN : PRES_OUT; pstatp->dcshadow = temp_pres ? - PS_UNKNOWN : PS_OUT; + PS_UNKNOWN : PS_OUT; /* * Now we know the state has * changed, so we should log it. */ ps_log_pres_change(softsp, - i, temp_pres); + i, temp_pres); } } } @@ -1987,14 +1987,14 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) case PS_UNKNOWN: pstatp->dcctr = is_fan_assy ? - PS_P_FAN_FROM_UNKNOWN_TICKS : - PS_FROM_UNKNOWN_TICKS; + PS_P_FAN_FROM_UNKNOWN_TICKS : + PS_FROM_UNKNOWN_TICKS; break; case PS_OK: pstatp->dcctr = is_precharge ? - PS_PCH_FROM_OK_TICKS : - PS_FROM_OK_TICKS; + PS_PCH_FROM_OK_TICKS : + PS_FROM_OK_TICKS; break; case PS_FAIL: @@ -2015,7 +2015,7 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) if (!((pstatp->dcshadow == PS_BOOT) && temp_psok)) { ps_log_state_change(softsp, - i, temp_psok); + i, temp_psok); } /* @@ -2046,7 +2046,7 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) /* always update board condition */ sysc_policy_update(softsp, NULL, - SYSC_EVT_BD_PS_CHANGE); + SYSC_EVT_BD_PS_CHANGE); } } @@ -2079,10 +2079,10 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) switch (current_power_state) { case BELOW_MINIMUM: cmn_err(CE_WARN, - "Insufficient power available to system"); + "Insufficient power available to system"); if (!disable_insufficient_power_reboot) { cmn_err(CE_WARN, "System reboot in %d seconds", - PS_INSUFFICIENT_COUNTDOWN_SEC); + PS_INSUFFICIENT_COUNTDOWN_SEC); } reg_fault(1, FT_INSUFFICIENT_POWER, FT_SYSTEM); softsp->power_countdown = PS_POWER_COUNTDOWN_TICKS; @@ -2096,7 +2096,7 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) } else if (softsp->power_state == BELOW_MINIMUM) { cmn_err(CE_NOTE, "Minimum power available"); clear_fault(1, FT_INSUFFICIENT_POWER, - FT_SYSTEM); + FT_SYSTEM); } break; @@ -2105,7 +2105,7 @@ ps_fail_handler(struct sysctrl_soft_state *softsp, int fromint) if (softsp->power_state != BOOT) { cmn_err(CE_NOTE, "Redundant power available"); clear_fault(1, FT_INSUFFICIENT_POWER, - FT_SYSTEM); + FT_SYSTEM); } break; @@ -2254,25 +2254,26 @@ ps_log_pres_change(struct sysctrl_soft_state *softsp, int index, int present) cmn_err(CE_NOTE, "%s %d %s", ft_str_table[FT_CORE_PS], index, trans); if (!present) { - clear_fault(index, FT_CORE_PS, FT_SYSTEM); - sysc_policy_update(softsp, NULL, SYSC_EVT_BD_PS_CHANGE); + clear_fault(index, FT_CORE_PS, FT_SYSTEM); + sysc_policy_update(softsp, NULL, SYSC_EVT_BD_PS_CHANGE); } break; /* power supply 7 / pps 1 */ case 7: if (IS4SLOT(softsp->nslots) || IS5SLOT(softsp->nslots)) { - cmn_err(CE_NOTE, "%s 1 %s", ft_str_table[FT_PPS], trans); - if (!present) { + cmn_err(CE_NOTE, "%s 1 %s", ft_str_table[FT_PPS], + trans); + if (!present) { clear_fault(1, FT_PPS, FT_SYSTEM); - } + } } else { - cmn_err(CE_NOTE, "%s %d %s", ft_str_table[FT_CORE_PS], - index, trans); - if (!present) { + cmn_err(CE_NOTE, "%s %d %s", ft_str_table[FT_CORE_PS], + index, trans); + if (!present) { clear_fault(7, FT_CORE_PS, FT_SYSTEM); sysc_policy_update(softsp, NULL, SYSC_EVT_BD_PS_CHANGE); - } + } } break; @@ -2329,7 +2330,7 @@ ps_log_state_change(struct sysctrl_soft_state *softsp, int index, int ps_ok) } } else { cmn_err(level, "%s %d %s", ft_str_table[FT_CORE_PS], - index, s); + index, s); if (ps_ok) { clear_fault(index, FT_CORE_PS, FT_SYSTEM); } else { @@ -2565,8 +2566,8 @@ pps_fan_poll(void *arg) * Rather, it is handled by the power supply loop. */ fanfail = !(IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) && - !(softsp->pps_fan_saved & SYS_AC_FAN_OK); + IS5SLOT(softsp->nslots)) && + !(softsp->pps_fan_saved & SYS_AC_FAN_OK); break; case KEYSW: @@ -2577,9 +2578,9 @@ pps_fan_poll(void *arg) * The 4 and 5 slot systems behave the same. */ fanfail = (!(IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) && + IS5SLOT(softsp->nslots)) && (softsp->ps_stats[SYS_V5_AUX_INDEX].dcshadow != - PS_OK)) || + PS_OK)) || !(softsp->pps_fan_saved & SYS_KEYSW_FAN_OK); break; @@ -2631,18 +2632,18 @@ pps_fan_state_change(struct sysctrl_soft_state *softsp, int index, int fan_ok) case RACK: /* 4 and 5 slot systems behave the same */ fan_type = (IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) ? - "Disk Drive" : "Rack Exhaust"; + IS5SLOT(softsp->nslots)) ? + "Disk Drive" : "Rack Exhaust"; if (fan_ok) { softsp->pps_fan_external_state &= ~SYS_RACK_FANFAIL; clear_fault(0, (IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) ? FT_DSK_FAN : - FT_RACK_EXH, FT_SYSTEM); + IS5SLOT(softsp->nslots)) ? FT_DSK_FAN : + FT_RACK_EXH, FT_SYSTEM); } else { softsp->pps_fan_external_state |= SYS_RACK_FANFAIL; reg_fault(0, (IS4SLOT(softsp->nslots) || - IS5SLOT(softsp->nslots)) ? FT_DSK_FAN : - FT_RACK_EXH, FT_SYSTEM); + IS5SLOT(softsp->nslots)) ? FT_DSK_FAN : + FT_RACK_EXH, FT_SYSTEM); } break; @@ -2697,10 +2698,10 @@ bd_remove_poll(struct sysctrl_soft_state *softsp) if (!bd_remove_to_id) { bd_remove_to_id = timeout(bd_remove_timeout, softsp, - bd_remove_timeout_hz); + bd_remove_timeout_hz); } else { DPRINTF(SYSCTRL_ATTACH_DEBUG, - ("bd_remove_poll ignoring start request")); + ("bd_remove_poll ignoring start request")); } } @@ -2936,12 +2937,12 @@ nvram_update_powerfail(struct sysctrl_soft_state *softsp) if (softsp->options_nodeid) { len = prom_setprop(softsp->options_nodeid, "powerfail-time", - buf, strlen(buf)+1); + buf, strlen(buf)+1); } if (len <= 0) { cmn_err(CE_WARN, "sysctrl%d: failed to set powerfail-time " - "to %s\n", ddi_get_instance(softsp->dip), buf); + "to %s\n", ddi_get_instance(softsp->dip), buf); } } @@ -2958,7 +2959,7 @@ sysctrl_add_kstats(struct sysctrl_soft_state *softsp) sizeof (struct sysctrl_kstat) / sizeof (kstat_named_t), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "sysctrl%d: kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); } else { struct sysctrl_kstat *sysksp; @@ -2966,28 +2967,28 @@ sysctrl_add_kstats(struct sysctrl_soft_state *softsp) /* now init the named kstats */ kstat_named_init(&sysksp->csr, CSR_KSTAT_NAMED, - KSTAT_DATA_CHAR); + KSTAT_DATA_CHAR); kstat_named_init(&sysksp->status1, STAT1_KSTAT_NAMED, - KSTAT_DATA_CHAR); + KSTAT_DATA_CHAR); kstat_named_init(&sysksp->status2, STAT2_KSTAT_NAMED, - KSTAT_DATA_CHAR); + KSTAT_DATA_CHAR); kstat_named_init(&sysksp->clk_freq2, CLK_FREQ2_KSTAT_NAMED, - KSTAT_DATA_CHAR); + KSTAT_DATA_CHAR); kstat_named_init(&sysksp->fan_status, FAN_KSTAT_NAMED, - KSTAT_DATA_CHAR); + KSTAT_DATA_CHAR); kstat_named_init(&sysksp->key_status, KEY_KSTAT_NAMED, - KSTAT_DATA_CHAR); + KSTAT_DATA_CHAR); kstat_named_init(&sysksp->power_state, POWER_KSTAT_NAMED, - KSTAT_DATA_INT32); + KSTAT_DATA_INT32); kstat_named_init(&sysksp->clk_ver, CLK_VER_KSTAT_NAME, - KSTAT_DATA_CHAR); + KSTAT_DATA_CHAR); ksp->ks_update = sysctrl_kstat_update; ksp->ks_private = (void *)softsp; @@ -3007,9 +3008,9 @@ sysctrl_add_kstats(struct sysctrl_soft_state *softsp) if ((ttsp = kstat_create("unix", CLOCK_BOARD_INDEX, TEMP_OVERRIDE_KSTAT_NAME, "misc", KSTAT_TYPE_RAW, sizeof (short), - KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) == NULL) { + KSTAT_FLAG_PERSISTENT | KSTAT_FLAG_WRITABLE)) == NULL) { cmn_err(CE_WARN, "sysctrl%d: kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); } else { ttsp->ks_update = temp_override_kstat_update; ttsp->ks_private = (void *)&softsp->tempstat.override; @@ -3020,7 +3021,7 @@ sysctrl_add_kstats(struct sysctrl_soft_state *softsp) PSSHAD_KSTAT_NAME, "misc", KSTAT_TYPE_RAW, SYS_PS_COUNT, KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "sysctrl%d: kstat_create failed", - ddi_get_instance(softsp->dip)); + ddi_get_instance(softsp->dip)); } else { pksp->ks_update = psstat_kstat_update; pksp->ks_private = (void *)softsp; @@ -3126,7 +3127,7 @@ sysctrl_overtemp_poll(void) for (list = sys_list; list != NULL; list = list->next) { if (list->temp_reg != NULL) { update_temp(list->pdip, &list->tempstat, - *(list->temp_reg)); + *(list->temp_reg)); } } @@ -3134,7 +3135,7 @@ sysctrl_overtemp_poll(void) /* now have this thread sleep for a while */ (void) timeout(sysctrl_thread_wakeup, (void *)OVERTEMP_POLL, - overtemp_timeout_hz); + overtemp_timeout_hz); cv_wait(&overtemp_cv, &sslist_mutex); @@ -3167,7 +3168,7 @@ sysctrl_keyswitch_poll(void) /* now have this thread sleep for a while */ (void) timeout(sysctrl_thread_wakeup, (void *)KEYSWITCH_POLL, - keyswitch_timeout_hz); + keyswitch_timeout_hz); cv_wait(&keyswitch_cv, &sslist_mutex); @@ -3261,7 +3262,7 @@ sysctrl_abort_seq_handler(char *msg) if (secure) { cmn_err(CE_CONT, - "!sysctrl(%s): ignoring debug enter sequence\n", buf); + "!sysctrl(%s): ignoring debug enter sequence\n", buf); } else { cmn_err(CE_CONT, "!sysctrl: allowing debug enter\n"); debug_enter(msg); @@ -3375,7 +3376,7 @@ rcons_reinit(struct sysctrl_soft_state *softsp) if (ddi_map_regs(softsp->dip, 1, (caddr_t *)&softsp->rcons_ctl, RMT_CONS_OFFSET, RMT_CONS_LEN)) { cmn_err(CE_WARN, "Unable to reinitialize " - "remote console."); + "remote console."); return; } diff --git a/usr/src/uts/sun4u/tazmo/io/envctrl.c b/usr/src/uts/sun4u/tazmo/io/envctrl.c index 1137a490f0..40e7f6532b 100644 --- a/usr/src/uts/sun4u/tazmo/io/envctrl.c +++ b/usr/src/uts/sun4u/tazmo/io/envctrl.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * ENVCTRL_ Environment Monitoring driver for i2c @@ -206,14 +205,15 @@ struct dev_ops envctrl_ops = { nodev, /* devo_reset */ &envctrl_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv envctrlmodldrv = { &mod_driverops, /* type of module - driver */ - "I2C ENVCTRL_driver: %I% %E%", + "I2C ENVCTRL_driver", &envctrl_ops, }; @@ -385,7 +385,7 @@ _init(void) if ((error = mod_install(&envctrlmodlinkage)) == 0) { (void) ddi_soft_state_init(&envctrlsoft_statep, - sizeof (struct envctrlunit), 1); + sizeof (struct envctrlunit), 1); } return (error); @@ -472,8 +472,8 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) unitp = ddi_get_soft_state(envctrlsoft_statep, instance); if (ddi_regs_map_setup(dip, 0, (caddr_t *)&unitp->bus_ctl_regs, 0, - sizeof (struct envctrl_pcd8584_regs), &attr, - &unitp->ctlr_handle) != DDI_SUCCESS) { + sizeof (struct envctrl_pcd8584_regs), &attr, + &unitp->ctlr_handle) != DDI_SUCCESS) { cmn_err(CE_WARN, "I2c failed to map in bus_control regs\n"); return (DDI_FAILURE); } @@ -492,27 +492,27 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) /* add interrupts */ if (ddi_get_iblock_cookie(dip, 1, - &unitp->ic_trap_cookie) != DDI_SUCCESS) { + &unitp->ic_trap_cookie) != DDI_SUCCESS) { cmn_err(CE_WARN, "ddi_get_iblock_cookie FAILED \n"); goto failed; } mutex_init(&unitp->umutex, NULL, MUTEX_DRIVER, - (void *)unitp->ic_trap_cookie); + (void *)unitp->ic_trap_cookie); if (ddi_add_intr(dip, 0, &unitp->ic_trap_cookie, NULL, envctrl_bus_isr, - (caddr_t)unitp) != DDI_SUCCESS) { + (caddr_t)unitp) != DDI_SUCCESS) { cmn_err(CE_WARN, "envctrl_attach failed to add hard intr %d\n", - instance); + instance); goto remlock; } if (ddi_add_intr(dip, 1, &unitp->ic_trap_cookie, NULL, envctrl_dev_isr, - (caddr_t)unitp) != DDI_SUCCESS) { + (caddr_t)unitp) != DDI_SUCCESS) { cmn_err(CE_WARN, "envctrl_attach failed to add hard intr %d\n", - instance); + instance); goto remhardintr; } @@ -520,7 +520,7 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) (void) sprintf(name, "envctrl%d", instance); if (ddi_create_minor_node(dip, name, S_IFCHR, instance, DDI_PSEUDO, - NULL) == DDI_FAILURE) { + NULL) == DDI_FAILURE) { ddi_remove_minor_node(dip, NULL); goto remhardintr1; } @@ -545,24 +545,24 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) #ifdef DEBUG if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, ENVCTRL_PANEL_LEDS_PR, - ®_prop, &len) == DDI_PROP_SUCCESS) + DDI_PROP_DONTPASS, ENVCTRL_PANEL_LEDS_PR, + ®_prop, &len) == DDI_PROP_SUCCESS) ddi_prop_free((void *)reg_prop); ASSERT(len != 0); len = 0; if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, ENVCTRL_PANEL_LEDS_STA, - ®_prop, &len) == DDI_PROP_SUCCESS) + DDI_PROP_DONTPASS, ENVCTRL_PANEL_LEDS_STA, + ®_prop, &len) == DDI_PROP_SUCCESS) ddi_prop_free((void *)reg_prop); ASSERT(len != 0); len = 0; if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, ENVCTRL_DISK_LEDS_STA, - ®_prop, &len) == DDI_PROP_SUCCESS) + DDI_PROP_DONTPASS, ENVCTRL_DISK_LEDS_STA, + ®_prop, &len) == DDI_PROP_SUCCESS) ddi_prop_free((void *)reg_prop); ASSERT(len != 0); #endif /* DEBUG */ @@ -573,8 +573,8 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) */ if (ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "cpu-fan-speeds", - &creg_prop, &len) == DDI_PROP_SUCCESS) { + DDI_PROP_DONTPASS, "cpu-fan-speeds", + &creg_prop, &len) == DDI_PROP_SUCCESS) { tblsz = (sizeof (acme_cpu_fanspd) / sizeof (short)); @@ -589,8 +589,8 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) len = 0; if (ddi_prop_lookup_byte_array(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "ps-fan-speeds", - &creg_prop, &len) == DDI_PROP_SUCCESS) { + DDI_PROP_DONTPASS, "ps-fan-speeds", + &creg_prop, &len) == DDI_PROP_SUCCESS) { tblsz = (sizeof (acme_ps_fanspd) / sizeof (short)); @@ -636,21 +636,21 @@ envctrl_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) buf[0] = ALARM_CTR_REG_MINS; buf[1] = 0x0; status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "write to PCF8583 failed\n"); buf[0] = ALARM_REG_MINS; buf[1] = 0x58; status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "write to PCF8583 failed\n"); buf[0] = ALARM_TIMER_REG; buf[1] = 0x80; status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "write to PCF8583 failed\n"); @@ -791,7 +791,7 @@ envctrl_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) case DDI_SUSPEND: if (!(unitp = ddi_get_soft_state(envctrlsoft_statep, instance))) - return (DDI_FAILURE); + return (DDI_FAILURE); mutex_enter(&unitp->umutex); if (unitp->suspended) { cmn_err(CE_WARN, "envctrl already suspended\n"); @@ -823,8 +823,8 @@ envctrl_getinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg, switch (infocmd) { case DDI_INFO_DEVT2DEVINFO: if ((unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, - instance)) != NULL) { + ddi_get_soft_state(envctrlsoft_statep, + instance)) != NULL) { *result = unitp->dip; ret = DDI_SUCCESS; } else { @@ -856,7 +856,7 @@ envctrl_open(queue_t *q, dev_t *dev, int flag, int sflag, cred_t *credp) if (instance < 0) return (ENXIO); unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, instance); + ddi_get_soft_state(envctrlsoft_statep, instance); if (unitp == NULL) return (ENXIO); @@ -1177,7 +1177,7 @@ envctrl_wput(queue_t *q, mblk_t *mp) (void *)mp->b_cont->b_rptr; mutex_enter(&unitp->umutex); envctrl_recv(unitp, (caddr_t *)(void *)a_fanspeed, - PCF8591); + PCF8591); mutex_exit(&unitp->umutex); mcopyout(mp, (void *)-1, sizeof (struct envctrl_pcf8591_chip), @@ -1232,7 +1232,8 @@ envctrl_wput(queue_t *q, mblk_t *mp) (void) untimeout(unitp->timeout_id); unitp->timeout_id = (timeout(envctrl_tempr_poll, - (caddr_t)unitp, overtemp_timeout_hz)); + (caddr_t)unitp, + overtemp_timeout_hz)); } if (*wdval == ENVCTRL_NORMAL_MODE) { @@ -1342,7 +1343,7 @@ envctrl_dev_isr(caddr_t arg) retry: status = eHc_read_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV0, &recv_data, 1); + PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV0, &recv_data, 1); /* * This extra read is needed since the first read is discarded @@ -1350,11 +1351,11 @@ retry: */ if (recv_data == 0xFF) { status = eHc_read_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV0, &recv_data, 1); + PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV0, &recv_data, 1); } if (envctrl_debug_flags) cmn_err(CE_WARN, "envctrl_dev_isr: status= %d, data = %x\n", - status, recv_data); + status, recv_data); /* * if the i2c bus is hung it is imperative that this @@ -1460,9 +1461,9 @@ envctrl_init_bus(struct envctrlunit *unitp) /* SET UP SLAVE ADDR XXX Required..send 0x80 */ ddi_put8(unitp->ctlr_handle, &unitp->bus_ctl_regs->s1, - ENVCTRL_BUS_INIT0); + ENVCTRL_BUS_INIT0); (void) ddi_put8(unitp->ctlr_handle, &unitp->bus_ctl_regs->s0, - ENVCTRL_BUS_INIT1); + ENVCTRL_BUS_INIT1); /* Set the clock now */ ddi_put8(unitp->ctlr_handle, @@ -1501,10 +1502,10 @@ envctrl_init_bus(struct envctrlunit *unitp) for (i = 0; i < sizeof (fans)/sizeof (int); i++) { fan.fan_num = fans[i]; if ((fans[i] == ENVCTRL_AFB_FANS) && - (unitp->AFB_present == B_FALSE)) + (unitp->AFB_present == B_FALSE)) continue; (void) envctrl_xmit(unitp, (caddr_t *)(void *)&fan, - TDA8444T); + TDA8444T); } } @@ -1553,8 +1554,8 @@ retry0: buf[0] = fanspeed->val; status = eHc_write_tda8444((struct eHc_envcunit *)unitp, - TDA8444T_BASE_ADDR | fanspeed->chip_num, 0xF, - fanspeed->fan_num, buf, 1); + TDA8444T_BASE_ADDR | fanspeed->chip_num, 0xF, + fanspeed->fan_num, buf, 1); if (status != DDI_SUCCESS) { drv_usecwait(1000); if (retrys < envctrl_max_retries) { @@ -1602,12 +1603,12 @@ retry: if (ioport->type == PCF8574A) { slave_addr = (PCF8574A_BASE_ADDR | ioport->chip_num); status = - eHc_write_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | ioport->chip_num, buf, 1); + eHc_write_pcf8574a((struct eHc_envcunit *)unitp, + PCF8574A_BASE_ADDR | ioport->chip_num, buf, 1); } else { slave_addr = (PCF8574_BASE_ADDR | ioport->chip_num); status = eHc_write_pcf8574((struct eHc_envcunit *)unitp, - PCF8574_BASE_ADDR | ioport->chip_num, buf, 1); + PCF8574_BASE_ADDR | ioport->chip_num, buf, 1); } if (status != DDI_SUCCESS) { @@ -1625,7 +1626,7 @@ retry: if (envctrl_debug_flags) cmn_err(CE_WARN, "envctrl_xmit: PCF8574\ dev = %d, port = %d\n", - ioport->chip_num, ioport->type); + ioport->chip_num, ioport->type); return (DDI_FAILURE); } } @@ -1658,8 +1659,8 @@ envctrl_recv(struct envctrlunit *unitp, caddr_t *data, int chip_type) retry: status = eHc_read_pcf8591((struct eHc_envcunit *)unitp, - PCF8591_BASE_ADDR | temp->chip_num & 0xF, - temp->sensor_num, 0, 0, 1, &recv_data, 1); + PCF8591_BASE_ADDR | temp->chip_num & 0xF, + temp->sensor_num, 0, 0, 1, &recv_data, 1); /* * another place to catch the i2c bus hang on an 8591 read @@ -1692,18 +1693,18 @@ retry: retry1: if (ioport->chip_num > ENVCTRL_PCF8574_DEV7) cmn_err(CE_WARN, "envctrl: dev out of range 0x%x\n", -ioport->chip_num); + ioport->chip_num); if (ioport->type == PCF8574A) { slave_addr = (PCF8574_READ_BIT | PCF8574A_BASE_ADDR | ioport->chip_num); status = eHc_read_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | ioport->chip_num, buf, 1); + PCF8574A_BASE_ADDR | ioport->chip_num, buf, 1); } else { slave_addr = (PCF8574_READ_BIT | PCF8574_BASE_ADDR | ioport->chip_num); status = eHc_read_pcf8574((struct eHc_envcunit *)unitp, - PCF8574_BASE_ADDR | ioport->chip_num, buf, 1); + PCF8574_BASE_ADDR | ioport->chip_num, buf, 1); } if (status != DDI_SUCCESS) { @@ -1721,7 +1722,7 @@ ioport->chip_num); if (envctrl_debug_flags) cmn_err(CE_WARN, "envctrl_recv: PCF8574\ dev = %d, port = %d\n", - ioport->chip_num, ioport->type); + ioport->chip_num, ioport->type); } } ioport->val = buf[0]; @@ -1746,7 +1747,7 @@ envctrl_get_ps_temp(struct envctrlunit *unitp, uint8_t psaddr) retry: status = eHc_read_pcf8591((struct eHc_envcunit *)unitp, - PCF8591_BASE_ADDR | psaddr & 0xF, 0, 1, 0, 1, buf, 4); + PCF8591_BASE_ADDR | psaddr & 0xF, 0, 1, 0, 1, buf, 4); tempr = 0; for (i = 0; i < PCF8591_MAX_PORTS; i++) { @@ -1812,8 +1813,8 @@ envctrl_get_cpu_temp(struct envctrlunit *unitp, int cpunum) retry: status = eHc_read_pcf8591((struct eHc_envcunit *)unitp, - PCF8591_BASE_ADDR | PCF8591_DEV7, cpunum, 0, 0, 0, - &recv_data, 1); + PCF8591_BASE_ADDR | PCF8591_DEV7, cpunum, 0, 0, 0, + &recv_data, 1); /* * We need to take a sledge hammer to the bus if we get back @@ -1859,7 +1860,7 @@ envctrl_get_lm75_temp(struct envctrlunit *unitp) ASSERT(MUTEX_HELD(&unitp->umutex)); status = eHc_read_lm75((struct eHc_envcunit *)unitp, - LM75_BASE_ADDR | LM75_CONFIG_ADDRA, buf, 2); + LM75_BASE_ADDR | LM75_CONFIG_ADDRA, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "read of LM75 failed\n"); @@ -1950,7 +1951,7 @@ envctrl_led_blink(void *arg) * and set it. */ fspchip.val = (fspchip.val & ~(ENVCTRL_PCF8574_PORT4) | - 0xC0); + 0xC0); unitp->present_led_state = B_FALSE; } else { fspchip.val = (fspchip.val | ENVCTRL_PCF8574_PORT4 | 0xC0); @@ -2018,7 +2019,7 @@ envctrl_get_sys_temperatures(struct envctrlunit *unitp, uint8_t *diag_tempr) */ if (unitp->current_mode == ENVCTRL_DIAG_MODE && diag_tempr != NULL) { if (unitp->timeout_id != 0) { - (void) untimeout(unitp->timeout_id); + (void) untimeout(unitp->timeout_id); } ambtemp = *diag_tempr; @@ -2056,7 +2057,7 @@ envctrl_get_sys_temperatures(struct envctrlunit *unitp, uint8_t *diag_tempr) } } else { if (envctrl_isother_fault_led(unitp, fspval, - ENVCTRL_FSP_TEMP_ERR)) { + ENVCTRL_FSP_TEMP_ERR)) { fspval &= ~(ENVCTRL_FSP_TEMP_ERR); } else { fspval &= ~(ENVCTRL_FSP_TEMP_ERR | ENVCTRL_FSP_GEN_ERR); @@ -2122,7 +2123,7 @@ envctrl_get_sys_temperatures(struct envctrlunit *unitp, uint8_t *diag_tempr) fan.val = fan_speed[temperature]; } if (envctrl_isother_fault_led(unitp, fspval, - ENVCTRL_FSP_TEMP_ERR)) { + ENVCTRL_FSP_TEMP_ERR)) { fspval &= ~(ENVCTRL_FSP_TEMP_ERR); } else { fspval &= ~(ENVCTRL_FSP_TEMP_ERR | ENVCTRL_FSP_GEN_ERR); @@ -2220,10 +2221,10 @@ envctrl_fan_fail_service(struct envctrlunit *unitp) retry: status = eHc_read_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV4, &recv_data, 1); + PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV4, &recv_data, 1); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "fan_fail_service: status = %d, data = %x\n", - status, recv_data); + status, recv_data); /* * If all fan ports are high (0xff) then we don't have any @@ -2298,7 +2299,7 @@ retry: } if (!(recv_data & ENVCTRL_PCF8574_PORT6) && - (unitp->AFB_present == B_TRUE)) { + (unitp->AFB_present == B_TRUE)) { /* * If the afb is present and the afb fan fails, * we need to power off or else it will melt! @@ -2340,8 +2341,8 @@ retry: } if ((cpufanflt > 0 || psfanflt > 0 || afbfanflt > 0 || - (status != DDI_SUCCESS)) && !unitp->initting && - unitp->current_mode == ENVCTRL_NORMAL_MODE) { + (status != DDI_SUCCESS)) && !unitp->initting && + unitp->current_mode == ENVCTRL_NORMAL_MODE) { if (status != DDI_SUCCESS) max_retry_count = envctrl_max_retries; else @@ -2394,7 +2395,7 @@ envctrl_PS_intr_service(struct envctrlunit *unitp, uint8_t psaddr) retry: status = eHc_read_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | psaddr & 0xF, &recv_data, 1); + PCF8574A_BASE_ADDR | psaddr & 0xF, &recv_data, 1); if (status != DDI_SUCCESS) { drv_usecwait(1000); if (retrys < envctrl_max_retries) { @@ -2406,8 +2407,8 @@ retry: mutex_enter(&unitp->umutex); if (envctrl_debug_flags) cmn_err(CE_WARN, - "PS_intr_service: Read from 8574A " \ - "failed\n"); + "PS_intr_service: Read from 8574A " \ + "failed\n"); } } @@ -2521,7 +2522,7 @@ envctrl_stop_clock(struct envctrlunit *unitp) buf[1] = CLOCK_DISABLE; status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "write to PCF8583 failed\n"); } @@ -2546,7 +2547,7 @@ envctrl_reset_watchdog(struct envctrlunit *unitp, uint8_t *wdval) buf[0] = ALARM_CTR_REG_MINS; buf[1] = 0x0; status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "write to PCF8583 failed\n"); @@ -2572,7 +2573,7 @@ envctrl_reset_watchdog(struct envctrlunit *unitp, uint8_t *wdval) /* STEP 10: End Transmission */ status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "Reset envctrl watchdog failed\n"); @@ -2608,7 +2609,7 @@ envctrl_reset_watchdog(struct envctrlunit *unitp, uint8_t *wdval) } status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "Reset envctrl watchdog failed\n"); @@ -2621,7 +2622,7 @@ envctrl_reset_watchdog(struct envctrlunit *unitp, uint8_t *wdval) buf[0] = CLOCK_CSR_REG; buf[1] = CLOCK_ENABLE; status = eHc_write_pcf8583((struct eHc_envcunit *)unitp, - PCF8583_BASE_ADDR | 0, buf, 2); + PCF8583_BASE_ADDR | 0, buf, 2); if (status != DDI_SUCCESS) cmn_err(CE_WARN, "Reset envctrl watchdog failed\n"); @@ -2666,7 +2667,7 @@ envctrl_ps_probe(struct envctrlunit *unitp) retrys = 0; retry: status = eHc_read_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | devaddr, &recv_data, 1); + PCF8574A_BASE_ADDR | devaddr, &recv_data, 1); if (status != DDI_SUCCESS) { drv_usecwait(1000); if (retrys < envctrl_max_retries) { @@ -2779,7 +2780,7 @@ retry: fpmstat |= (ENVCTRL_FSP_PS_ERR | ENVCTRL_FSP_GEN_ERR); } else { if (envctrl_isother_fault_led(unitp, fpmstat, - ENVCTRL_FSP_PS_ERR)) { + ENVCTRL_FSP_PS_ERR)) { fpmstat &= ~(ENVCTRL_FSP_PS_ERR); } else { fpmstat &= ~(ENVCTRL_FSP_PS_ERR | @@ -2816,7 +2817,7 @@ envctrl_abort_seq_handler(char *msg) */ for (i = 0; i < MAX_DEVS; i++) { if (unitp = (struct envctrlunit *) - ddi_get_soft_state(envctrlsoft_statep, i)) + ddi_get_soft_state(envctrlsoft_statep, i)) break; } @@ -2824,7 +2825,7 @@ envctrl_abort_seq_handler(char *msg) for (i = 0; i < MAX_DEVS; i++) { if ((unitp->encl_kstats[i].type == ENVCTRL_ENCL_FSP) && - (unitp->encl_kstats[i].instance != I2C_NODEV)) { + (unitp->encl_kstats[i].instance != I2C_NODEV)) { secure = unitp->encl_kstats[i].value; break; } @@ -2860,7 +2861,7 @@ envctrl_get_fpm_status(struct envctrlunit *unitp) retry: status = eHc_read_pcf8574a((struct eHc_envcunit *)unitp, - PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV6, &recv_data, 1); + PCF8574A_BASE_ADDR | ENVCTRL_PCF8574_DEV6, &recv_data, 1); /* * yet another place where a read can cause the @@ -2917,8 +2918,8 @@ envctrl_get_dskled(struct envctrlunit *unitp, struct envctrl_pcf8574_chip *chip) ASSERT(MUTEX_HELD(&unitp->umutex)); if (chip->chip_num > ENVCTRL_PCF8574_DEV2 || - chip->type != ENVCTRL_ENCL_BACKPLANE4 && - chip->type != ENVCTRL_ENCL_BACKPLANE8) { + chip->type != ENVCTRL_ENCL_BACKPLANE4 && + chip->type != ENVCTRL_ENCL_BACKPLANE8) { return (DDI_FAILURE); } oldtype = chip->type; @@ -2949,8 +2950,8 @@ envctrl_set_dskled(struct envctrlunit *unitp, struct envctrl_pcf8574_chip *chip) if (chip->chip_num > ENVCTRL_PCF8574_DEV2 || - chip->val > ENVCTRL_DISK8LED_ALLOFF || - chip->val < ENVCTRL_CHAR_ZERO) { + chip->val > ENVCTRL_DISK8LED_ALLOFF || + chip->val < ENVCTRL_CHAR_ZERO) { return (DDI_FAILURE); } @@ -2986,7 +2987,7 @@ envctrl_set_dskled(struct envctrlunit *unitp, struct envctrl_pcf8574_chip *chip) if (diskfault) { if (!(envctrl_isother_fault_led(unitp, fspchip.val & 0xFF, - ENVCTRL_FSP_DISK_ERR))) { + ENVCTRL_FSP_DISK_ERR))) { fspchip.val &= ~(ENVCTRL_FSP_DISK_ERR); } else { fspchip.val &= ~(ENVCTRL_FSP_DISK_ERR | @@ -3043,7 +3044,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->encl_kstats), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "envctrl%d: encl raw kstat_create failed", - unitp->instance); + unitp->instance); return; } @@ -3057,7 +3058,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->fan_kstats), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "envctrl%d: fans kstat_create failed", - unitp->instance); + unitp->instance); return; } @@ -3070,7 +3071,7 @@ envctrl_add_kstats(struct envctrlunit *unitp) sizeof (unitp->ps_kstats), KSTAT_FLAG_PERSISTENT)) == NULL) { cmn_err(CE_WARN, "envctrl%d: ps name kstat_create failed", - unitp->instance); + unitp->instance); return; } @@ -3176,7 +3177,7 @@ envctrl_init_fan_kstats(struct envctrlunit *unitp) unitp->fan_kstats[ENVCTRL_FAN_TYPE_CPU].type = ENVCTRL_FAN_TYPE_CPU; if (unitp->AFB_present == B_TRUE) unitp->fan_kstats[ENVCTRL_FAN_TYPE_AFB].type = - ENVCTRL_FAN_TYPE_AFB; + ENVCTRL_FAN_TYPE_AFB; } static void @@ -3212,16 +3213,16 @@ envctrl_init_encl_kstats(struct envctrlunit *unitp) envctrl_recv(unitp, (caddr_t *)(void *)&chip, PCF8574); envctrl_add_encl_kstats(unitp, ENVCTRL_ENCL_FSP, INSTANCE_0, - chip.val & 0xFF); + chip.val & 0xFF); val = envctrl_get_lm75_temp(unitp) & 0xFF; envctrl_add_encl_kstats(unitp, ENVCTRL_ENCL_AMBTEMPR, INSTANCE_0, val); if (ddi_prop_lookup_int_array(DDI_DEV_T_ANY, unitp->dip, - DDI_PROP_DONTPASS, ENVCTRL_DISK_LEDS_PR, - ®_prop, &len) != DDI_PROP_SUCCESS) { + DDI_PROP_DONTPASS, ENVCTRL_DISK_LEDS_PR, + ®_prop, &len) != DDI_PROP_SUCCESS) { cmn_err(CE_WARN, "prop lookup of %s failed\n", - ENVCTRL_DISK_LEDS_PR); + ENVCTRL_DISK_LEDS_PR); return; } @@ -3305,10 +3306,9 @@ envctrl_match_cpu(dev_info_t *dip, void *arg) (void) sprintf(name1, "%s", ENVCTRL_TAZBLKBRDCPU_STRING); if ((strcmp(ddi_node_name(dip), name) == 0) || - (strcmp(ddi_node_name(dip), name1) == 0)) { + (strcmp(ddi_node_name(dip), name1) == 0)) { if ((cpu_slot = (int)ddi_getprop(DDI_DEV_T_ANY, dip, - DDI_PROP_DONTPASS, "upa-portid", - -1)) == -1) { + DDI_PROP_DONTPASS, "upa-portid", -1)) == -1) { cmn_err(CE_WARN, "envctrl no cpu upa-portid"); } else { unitp->cpu_pr_location[cpu_slot] = B_TRUE; @@ -3385,7 +3385,7 @@ eHc_start_pcf8584(struct eHc_envcunit *ehcp, uint8_t byteaddress) do { drv_usecwait(1000); poll_status = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); + ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); i++; } while (((poll_status & EHC_S1_NBB) == 0) && i < EHC_MAX_WAIT); @@ -3409,14 +3409,14 @@ eHc_start_pcf8584(struct eHc_envcunit *ehcp, uint8_t byteaddress) /* generate the "start condition" and clock out the slave address */ ddi_put8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1, - EHC_S1_PIN | EHC_S1_ES0 | EHC_S1_STA | EHC_S1_ACK); + EHC_S1_PIN | EHC_S1_ES0 | EHC_S1_STA | EHC_S1_ACK); /* wait for completion of transmission */ i = 0; do { drv_usecwait(1000); poll_status = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); + ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); i++; } while ((poll_status & EHC_S1_PIN) && i < EHC_MAX_WAIT); @@ -3457,8 +3457,8 @@ eHc_start_pcf8584(struct eHc_envcunit *ehcp, uint8_t byteaddress) /* wait for completion of transmission */ do { drv_usecwait(1000); - poll_status = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); + poll_status = ddi_get8(ehcp->ctlr_handle, + &ehcp->bus_ctl_regs->s1); i++; } while ((poll_status & EHC_S1_PIN) && i < EHC_MAX_WAIT); @@ -3469,13 +3469,13 @@ eHc_start_pcf8584(struct eHc_envcunit *ehcp, uint8_t byteaddress) if (poll_status & EHC_S1_BER) { DCMN2ERR(CE_WARN, - "eHc_start_pcf8584: I2C bus error"); + "eHc_start_pcf8584: I2C bus error"); return (EHC_FAILURE); } if (poll_status & EHC_S1_LAB) { DCMN2ERR(CE_WARN, - "eHc_start_pcf8584: Lost arbitration"); + "eHc_start_pcf8584: Lost arbitration"); return (EHC_FAILURE); } } @@ -3490,7 +3490,7 @@ static void eHc_stop_pcf8584(struct eHc_envcunit *ehcp) { ddi_put8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1, - EHC_S1_PIN | EHC_S1_ES0 | EHC_S1_STO | EHC_S1_ACK); + EHC_S1_PIN | EHC_S1_ES0 | EHC_S1_STO | EHC_S1_ACK); } static int @@ -3506,7 +3506,7 @@ eHc_read_pcf8584(struct eHc_envcunit *ehcp, uint8_t *data) do { drv_usecwait(1000); poll_status = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); + ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); i++; } while ((poll_status & EHC_S1_PIN) && i < EHC_MAX_WAIT); @@ -3546,7 +3546,7 @@ eHc_write_pcf8584(struct eHc_envcunit *ehcp, uint8_t data) do { drv_usecwait(1000); poll_status = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); + ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); i++; } while ((poll_status & EHC_S1_PIN) && i < EHC_MAX_WAIT); @@ -3593,7 +3593,7 @@ eHc_after_read_pcf8584(struct eHc_envcunit *ehcp, uint8_t *data) do { drv_usecwait(1000); poll_status = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); + ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); i++; } while ((poll_status & EHC_S1_PIN) && i < EHC_MAX_WAIT); @@ -3604,7 +3604,7 @@ eHc_after_read_pcf8584(struct eHc_envcunit *ehcp, uint8_t *data) if (poll_status & EHC_S1_BER) { DCMN2ERR(CE_WARN, - "eHc_after_read_pcf8584: I2C bus error"); + "eHc_after_read_pcf8584: I2C bus error"); return (EHC_FAILURE); } @@ -3669,7 +3669,7 @@ eHc_write_tda8444(struct eHc_envcunit *ehcp, int byteaddress, int instruction, for (i = 0; i < size; i++) { if ((status = eHc_write_pcf8584(ehcp, (buf[i] & 0x3f))) != - EHC_SUCCESS) { + EHC_SUCCESS) { if (status == EHC_NO_SLAVE_ACK) eHc_stop_pcf8584(ehcp); return (EHC_FAILURE); @@ -3700,7 +3700,7 @@ eHc_read_pcf8574a(struct eHc_envcunit *ehcp, int byteaddress, uint8_t *buf, * Put the bus into the start condition */ if ((status = eHc_start_pcf8584(ehcp, EHC_BYTE_READ | byteaddress)) != - EHC_SUCCESS) { + EHC_SUCCESS) { if (status == EHC_NO_SLAVE_ACK) { /* * Send the "stop" condition. @@ -3709,8 +3709,8 @@ eHc_read_pcf8574a(struct eHc_envcunit *ehcp, int byteaddress, uint8_t *buf, /* * Read the last byte - discard it. */ - discard = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s0); + discard = ddi_get8(ehcp->ctlr_handle, + &ehcp->bus_ctl_regs->s0); #ifdef lint discard = discard; #endif @@ -3802,7 +3802,7 @@ eHc_read_pcf8574(struct eHc_envcunit *ehcp, int byteaddress, uint8_t *buf, * Put the bus into the start condition */ if ((status = eHc_start_pcf8584(ehcp, EHC_BYTE_READ | byteaddress)) != - EHC_SUCCESS) { + EHC_SUCCESS) { if (status == EHC_NO_SLAVE_ACK) { /* * Send the "stop" condition. @@ -3811,8 +3811,8 @@ eHc_read_pcf8574(struct eHc_envcunit *ehcp, int byteaddress, uint8_t *buf, /* * Read the last byte - discard it. */ - discard = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s0); + discard = ddi_get8(ehcp->ctlr_handle, + &ehcp->bus_ctl_regs->s0); #ifdef lint discard = discard; #endif @@ -3903,7 +3903,7 @@ eHc_read_lm75(struct eHc_envcunit *ehcp, int byteaddress, uint8_t *buf, * Put the bus into the start condition */ if ((status = eHc_start_pcf8584(ehcp, EHC_BYTE_READ | byteaddress)) != - EHC_SUCCESS) { + EHC_SUCCESS) { if (status == EHC_NO_SLAVE_ACK) { /* * Send the stop condition. @@ -3912,8 +3912,8 @@ eHc_read_lm75(struct eHc_envcunit *ehcp, int byteaddress, uint8_t *buf, /* * Read the last byte - discard it. */ - discard = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s0); + discard = ddi_get8(ehcp->ctlr_handle, + &ehcp->bus_ctl_regs->s0); #ifdef lint discard = discard; #endif @@ -4029,17 +4029,17 @@ eHc_read_pcf8591(struct eHc_envcunit *ehcp, int byteaddress, int channel, */ ddi_put8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1, - EHC_S1_ES0 | EHC_S1_STA | EHC_S1_ACK); + EHC_S1_ES0 | EHC_S1_STA | EHC_S1_ACK); ddi_put8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s0, - EHC_BYTE_READ | byteaddress); + EHC_BYTE_READ | byteaddress); i = 0; do { drv_usecwait(1000); status = - ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); + ddi_get8(ehcp->ctlr_handle, &ehcp->bus_ctl_regs->s1); i++; } while ((status & EHC_S1_PIN) && i < EHC_MAX_WAIT); diff --git a/usr/src/uts/sun4v/io/cnex.c b/usr/src/uts/sun4v/io/cnex.c index a38c311a36..6eff5823c0 100644 --- a/usr/src/uts/sun4v/io/cnex.c +++ b/usr/src/uts/sun4v/io/cnex.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Logical domain channel devices are devices implemented entirely @@ -243,7 +242,8 @@ static struct dev_ops cnex_ops = { nodev, /* reset */ &cnex_cb_ops, /* driver operations */ &cnex_bus_ops, /* bus operations */ - nulldev /* power */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -251,7 +251,7 @@ static struct dev_ops cnex_ops = { */ static struct modldrv modldrv = { &mod_driverops, - "sun4v channel-devices nexus 1.11", + "sun4v channel-devices nexus", &cnex_ops, }; diff --git a/usr/src/uts/sun4v/io/drctl.c b/usr/src/uts/sun4v/io/drctl.c index 1a49beba03..d5f96951de 100644 --- a/usr/src/uts/sun4v/io/drctl.c +++ b/usr/src/uts/sun4v/io/drctl.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * DR control module for LDoms @@ -95,11 +94,12 @@ static struct dev_ops drctl_ops = { &drctl_cb_ops, /* driver operations */ NULL, /* bus operations */ NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, /* type of module - driver */ - "DR Control pseudo driver v%I%", + "DR Control pseudo driver", &drctl_ops }; diff --git a/usr/src/uts/sun4v/io/ds_pri.c b/usr/src/uts/sun4v/io/ds_pri.c index 45e8adc376..b7abd6f0ca 100644 --- a/usr/src/uts/sun4v/io/ds_pri.c +++ b/usr/src/uts/sun4v/io/ds_pri.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sun4v domain services PRI driver @@ -191,12 +190,13 @@ static struct dev_ops ds_pri_dev_ops = { nodev, /* devo_reset */ &ds_pri_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "Domain Services PRI Driver 1.0", + "Domain Services PRI Driver", &ds_pri_dev_ops }; diff --git a/usr/src/uts/sun4v/io/ds_snmp.c b/usr/src/uts/sun4v/io/ds_snmp.c index d7342f8304..f11a9ba60d 100644 --- a/usr/src/uts/sun4v/io/ds_snmp.c +++ b/usr/src/uts/sun4v/io/ds_snmp.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sun4v domain services SNMP driver @@ -200,12 +199,13 @@ static struct dev_ops ds_snmp_dev_ops = { nodev, /* devo_reset */ &ds_snmp_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "Domain Services SNMP Driver 1.0", + "Domain Services SNMP Driver", &ds_snmp_dev_ops }; diff --git a/usr/src/uts/sun4v/io/glvc/glvc.c b/usr/src/uts/sun4v/io/glvc/glvc.c index 2b3b9e24a8..b8a1a8ffc6 100644 --- a/usr/src/uts/sun4v/io/glvc/glvc.c +++ b/usr/src/uts/sun4v/io/glvc/glvc.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/time.h> #include <sys/errno.h> @@ -127,7 +126,8 @@ static struct dev_ops glvc_ops = { nodev, /* reset */ &glvc_cb_ops, /* pointer to cb_ops structure */ (struct bus_ops *)NULL, - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -137,7 +137,7 @@ extern struct mod_ops mod_driverops; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is a driver */ - "Sun4v virtual channel driver 2.0", /* Name of the module */ + "Sun4v virtual channel driver", /* Name of the module */ &glvc_ops /* pointer to the dev_ops structure */ }; @@ -338,7 +338,7 @@ glvc_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) va_to_pa((caddr_t)softsp->mb_send_buf); err = ddi_create_minor_node(dip, "glvc", S_IFCHR, - instance, DDI_PSEUDO, NULL); + instance, DDI_PSEUDO, NULL); if (err != DDI_SUCCESS) { kmem_free(softsp->mb_recv_buf, softsp->mtu); kmem_free(softsp->mb_send_buf, softsp->mtu); diff --git a/usr/src/uts/sun4v/io/mdesc.c b/usr/src/uts/sun4v/io/mdesc.c index 6aca5946fc..61e4ea3af3 100644 --- a/usr/src/uts/sun4v/io/mdesc.c +++ b/usr/src/uts/sun4v/io/mdesc.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sun4v machine description driver @@ -119,12 +118,13 @@ static struct dev_ops mdesc_dev_ops = { nodev, /* devo_reset */ &mdesc_cb_ops, /* devo_cb_ops */ (struct bus_ops *)NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_needed, /* quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "Machine Description Driver 1.0", + "Machine Description Driver", &mdesc_dev_ops}; static struct modlinkage modlinkage = { @@ -462,7 +462,7 @@ mdesc_rw(dev_t dev, struct uio *uiop, enum uio_rw rw) return (ENXIO); retval = uiomove((void *)(buf + uiop->uio_offset), - len, rw, uiop); + len, rw, uiop); mutex_enter(&mdsp->lock); mdsp->flags &= ~MDESC_BUSY; diff --git a/usr/src/uts/sun4v/io/n2piupc/n2piupc.c b/usr/src/uts/sun4v/io/n2piupc/n2piupc.c index d6af5dd2d3..9ca7cbac90 100644 --- a/usr/src/uts/sun4v/io/n2piupc/n2piupc.c +++ b/usr/src/uts/sun4v/io/n2piupc/n2piupc.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Driver interconnect for the N2 PIU performance counter driver. @@ -80,14 +79,15 @@ static struct dev_ops n2piupc_ops = { nodev, NULL, NULL, - nodev + nodev, + ddi_quiesce_not_needed, }; extern struct mod_ops mod_driverops; static struct modldrv md = { &mod_driverops, - "N2 PIU Perf Counter %I%", + "N2 PIU Perf Counter", &n2piupc_ops, }; diff --git a/usr/src/uts/sun4v/io/n2rng/n2rng.c b/usr/src/uts/sun4v/io/n2rng/n2rng.c index de7354cf36..f7834c26b2 100644 --- a/usr/src/uts/sun4v/io/n2rng/n2rng.c +++ b/usr/src/uts/sun4v/io/n2rng/n2rng.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Niagara 2 Random Number Generator (RNG) driver @@ -76,7 +75,8 @@ static struct dev_ops devops = { nodev, /* devo_reset */ NULL, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - ddi_power /* devo_power */ + ddi_power, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* diff --git a/usr/src/uts/sun4v/io/niumx/niumx.c b/usr/src/uts/sun4v/io/niumx/niumx.c index 71f2864d75..3d538c01de 100644 --- a/usr/src/uts/sun4v/io/niumx/niumx.c +++ b/usr/src/uts/sun4v/io/niumx/niumx.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * Niagara2 Network Interface Unit (NIU) Nexus Driver @@ -116,13 +115,14 @@ static struct dev_ops niumx_ops = { nulldev, /* reset */ (struct cb_ops *)0, /* driver operations */ &niumx_bus_ops, /* bus operations */ - 0 + 0, /* power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; /* Module linkage information for the kernel. */ static struct modldrv modldrv = { &mod_driverops, /* Type of module */ - "NIU Nexus Driver %I%", + "NIU Nexus Driver", &niumx_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4v/io/ntwdt.c b/usr/src/uts/sun4v/io/ntwdt.c index fb0b8e7259..49f01eae17 100644 --- a/usr/src/uts/sun4v/io/ntwdt.c +++ b/usr/src/uts/sun4v/io/ntwdt.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sun4v application watchdog driver @@ -177,12 +176,13 @@ static struct dev_ops ntwdt_dev_ops = { nodev, /* devo_reset */ &ntwdt_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { &mod_driverops, - "Application Watchdog Driver 1.1", + "Application Watchdog Driver", &ntwdt_dev_ops }; @@ -399,9 +399,9 @@ ntwdt_detach(dev_info_t *dip, ddi_detach_cmd_t cmd) ddi_remove_softintr(ntwdt_cyclic_softint_id); mutex_destroy( - &ntwdt_ptr->ntwdt_run_state->ntwdt_runstate_mutex); + &ntwdt_ptr->ntwdt_run_state->ntwdt_runstate_mutex); kmem_free(ntwdt_ptr->ntwdt_run_state, - sizeof (ntwdt_runstate_t)); + sizeof (ntwdt_runstate_t)); ntwdt_ptr->ntwdt_run_state = NULL; mutex_destroy(&ntwdt_ptr->ntwdt_mutex); @@ -492,30 +492,30 @@ ntwdt_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); if (ddi_copyout((caddr_t)&lom_dogstate, (caddr_t)arg, - sizeof (lom_dogstate_t), mode) != 0) { + sizeof (lom_dogstate_t), mode) != 0) { retval = EFAULT; } break; case LOMIOCDOGCTL: if (ddi_copyin((caddr_t)arg, (caddr_t)&lom_dogctl, - sizeof (lom_dogctl_t), mode) != 0) { + sizeof (lom_dogctl_t), mode) != 0) { retval = EFAULT; break; } NTWDT_DBG(NTWDT_DBG_IOCTL, ("reset_enable: %d, and dog_enable: " - "%d, watchdog_timeout %d", lom_dogctl.reset_enable, - lom_dogctl.dog_enable, - ntwdt_state->ntwdt_watchdog_timeout)); + "%d, watchdog_timeout %d", lom_dogctl.reset_enable, + lom_dogctl.dog_enable, + ntwdt_state->ntwdt_watchdog_timeout)); /* * ignore request to enable reset while disabling watchdog. */ if (!lom_dogctl.dog_enable && lom_dogctl.reset_enable) { NTWDT_DBG(NTWDT_DBG_IOCTL, ("invalid combination of " - "reset_enable: %d, and dog_enable: %d", - lom_dogctl.reset_enable, - lom_dogctl.dog_enable)); + "reset_enable: %d, and dog_enable: %d", + lom_dogctl.reset_enable, + lom_dogctl.dog_enable)); retval = EINVAL; break; } @@ -528,8 +528,8 @@ ntwdt_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, * a valid timeout. */ NTWDT_DBG(NTWDT_DBG_IOCTL, ("timeout has not been set" - "watchdog_timeout: %d", - ntwdt_state->ntwdt_watchdog_timeout)); + "watchdog_timeout: %d", + ntwdt_state->ntwdt_watchdog_timeout)); retval = EINVAL; goto end; } @@ -567,22 +567,22 @@ ntwdt_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, case LOMIOCDOGTIME: if (ddi_copyin((caddr_t)arg, (caddr_t)&lom_dogtime, - sizeof (uint32_t), mode) != 0) { + sizeof (uint32_t), mode) != 0) { retval = EFAULT; break; } NTWDT_DBG(NTWDT_DBG_IOCTL, ("user set timeout: %d", - lom_dogtime)); + lom_dogtime)); /* * Ensure specified timeout is valid. */ if ((lom_dogtime == 0) || - (lom_dogtime > (uint32_t)NTWDT_MAX_TIMEOUT)) { + (lom_dogtime > (uint32_t)NTWDT_MAX_TIMEOUT)) { retval = EINVAL; NTWDT_DBG(NTWDT_DBG_IOCTL, ("user set invalid " - "timeout: %d", (int)TICK_TO_MSEC(lom_dogtime))); + "timeout: %d", (int)TICK_TO_MSEC(lom_dogtime))); break; } @@ -612,7 +612,7 @@ ntwdt_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, * running, exit. */ if (!(ntwdt_state->ntwdt_watchdog_enabled && - ntwdt_state->ntwdt_timer_running)) { + ntwdt_state->ntwdt_timer_running)) { NTWDT_DBG(NTWDT_DBG_IOCTL, ("PAT: AWDT not enabled")); goto end; } @@ -623,8 +623,8 @@ ntwdt_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, cred_t *credp, */ ntwdt_arm_watchdog(ntwdt_state); NTWDT_DBG(NTWDT_DBG_IOCTL, ("AWDT patted, " - "remainning seconds: %d", - ntwdt_state->ntwdt_time_remaining)); + "remainning seconds: %d", + ntwdt_state->ntwdt_time_remaining)); } mutex_exit(&ntwdt_state->ntwdt_runstate_mutex); @@ -663,14 +663,14 @@ ntwdt_cyclic_softint(caddr_t arg) } if ((ntwdt_state->ntwdt_timer_running == 0) || - (ntwdt_ptr->ntwdt_cycl_id == CYCLIC_NONE) || - (ntwdt_state->ntwdt_watchdog_enabled == 0)) { + (ntwdt_ptr->ntwdt_cycl_id == CYCLIC_NONE) || + (ntwdt_state->ntwdt_watchdog_enabled == 0)) { goto end; } NTWDT_DBG(NTWDT_DBG_IOCTL, ("cyclic_softint: %d" - "lbolt64: %d\n", ntwdt_state->ntwdt_watchdog_timeout, - (int)TICK_TO_MSEC(lbolt64))); + "lbolt64: %d\n", ntwdt_state->ntwdt_watchdog_timeout, + (int)TICK_TO_MSEC(lbolt64))); /* * Decrement the virtual watchdog timer and check if it has expired. @@ -701,7 +701,7 @@ ntwdt_cyclic_softint(caddr_t arg) } else { _NOTE(EMPTY) NTWDT_DBG(NTWDT_DBG_NTWDT, ("time remaining in AWDT: %d secs", - (int)TICK_TO_MSEC(ntwdt_state->ntwdt_time_remaining))); + (int)TICK_TO_MSEC(ntwdt_state->ntwdt_time_remaining))); } end: @@ -784,7 +784,7 @@ ntwdt_enforce_timeout() { if (ntwdt_disable_timeout_action != 0) { cmn_err(CE_NOTE, "Appication watchdog timer expired, " - "taking no action"); + "taking no action"); return; } diff --git a/usr/src/uts/sun4v/io/qcn.c b/usr/src/uts/sun4v/io/qcn.c index 6d9e45bbc6..52ad2f137b 100644 --- a/usr/src/uts/sun4v/io/qcn.c +++ b/usr/src/uts/sun4v/io/qcn.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* * sun4v console driver @@ -176,12 +175,13 @@ static struct dev_ops qcn_ops = { nodev, /* reset() */ &qcn_cb_ops, /* cb_ops */ (struct bus_ops *)NULL, /* bus_ops */ - NULL /* power() */ + NULL, /* power() */ + ddi_quiesce_not_needed, /* quiesce() */ }; static struct modldrv modldrv = { &mod_driverops, - "sun4v console driver v%I%", + "sun4v console driver", &qcn_ops }; @@ -215,16 +215,16 @@ _init(void) */ if (((hsvc_version(HSVC_GROUP_CORE, &major, &minor) == 0) && - (major == QCN_API_MAJOR) && (minor >= QCN_API_MINOR))) { + (major == QCN_API_MAJOR) && (minor >= QCN_API_MINOR))) { qcn_state->cons_write_buffer = - contig_mem_alloc(CONS_WR_BUF_SIZE); + contig_mem_alloc(CONS_WR_BUF_SIZE); if (qcn_state->cons_write_buffer != NULL) { qcn_state->cons_write_buf_ra = - va_to_pa(qcn_state->cons_write_buffer); + va_to_pa(qcn_state->cons_write_buffer); qcn_state->cons_transmit = qcn_transmit_write; qcn_state->cons_receive = qcn_receive_read; qcn_state->cons_read_buf_ra = - va_to_pa((char *)RING_ADDR(qcn_state)); + va_to_pa((char *)RING_ADDR(qcn_state)); } } if (qcn_state->cons_transmit == NULL) { @@ -596,7 +596,7 @@ qcn_wput(queue_t *q, mblk_t *mp) #ifdef QCN_DEBUG prom_printf("qcn_wput(): QCN wput q=%X mp=%X rd=%X wr=%X type=%X\n", - q, mp, mp->b_rptr, mp->b_wptr, mp->b_datap->db_type); + q, mp, mp->b_rptr, mp->b_wptr, mp->b_datap->db_type); #endif mutex_enter(&qcn_state->qcn_lock); @@ -665,7 +665,7 @@ qcn_wput(queue_t *q, mblk_t *mp) #ifdef QCN_DEBUG if (mp->b_rptr < mp->b_wptr) { prom_printf("qcn_wput(): DATA q=%X mp=%X rd=%X wr=%X\n", - q, mp, mp->b_rptr, mp->b_wptr); + q, mp, mp->b_rptr, mp->b_wptr); prom_printf("qcn_wput(): ["); for (i = 0; i < mp->b_wptr-mp->b_rptr; i++) { prom_printf("%c", *(mp->b_rptr+i)); @@ -985,9 +985,9 @@ qcn_trigger_softint(void) * (qcn_soft_pend == 0), trigger the service routine to run. */ if (atomic_swap_uint(&qcn_state->qcn_soft_pend, QCN_SP_DO) == - QCN_SP_IDL) { + QCN_SP_IDL) { (void) ddi_intr_trigger_softint( - qcn_state->qcn_softint_hdl, NULL); + qcn_state->qcn_softint_hdl, NULL); } } @@ -1057,7 +1057,7 @@ out: * called) while we were processing the loop */ } while (atomic_swap_uint(&qcn_state->qcn_soft_pend, QCN_SP_IDL) == - QCN_SP_DO); + QCN_SP_DO); return (DDI_INTR_CLAIMED); } @@ -1091,9 +1091,9 @@ qcn_receive_read(void) RING_INIT(qcn_state); } rv = hv_cnread(qcn_state->cons_read_buf_ra + - RING_POFF(qcn_state), - RING_LEFT(qcn_state), - &retcount); + RING_POFF(qcn_state), + RING_LEFT(qcn_state), + &retcount); bufp = RING_ADDR(qcn_state); if (rv == H_EOK) { /* @@ -1105,7 +1105,7 @@ qcn_receive_read(void) for (i = 0; i < retcount; i++) { if (abort_charseq_recognize(*bufp++)) { abort_sequence_enter( - (char *)NULL); + (char *)NULL); } } } diff --git a/usr/src/uts/sun4v/io/vcc.c b/usr/src/uts/sun4v/io/vcc.c index 23ca9bcbff..feeaf03e8f 100644 --- a/usr/src/uts/sun4v/io/vcc.c +++ b/usr/src/uts/sun4v/io/vcc.c @@ -20,11 +20,10 @@ */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/file.h> @@ -124,7 +123,9 @@ static struct dev_ops vcc_ops = { vcc_detach, /* detach */ nodev, /* reset */ &vcc_cb_ops, /* cb_ops */ - (struct bus_ops *)NULL /* bus_ops */ + (struct bus_ops *)NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; @@ -135,7 +136,7 @@ extern struct mod_ops mod_driverops; /* * This is the string displayed by modinfo(1m). */ -static char vcc_ident[] = "sun4v Virtual Console Concentrator Driver v%I%"; +static char vcc_ident[] = "sun4v Virtual Console Concentrator Driver"; static struct modldrv md = { &mod_driverops, /* Type - it is a driver */ @@ -426,9 +427,9 @@ i_vcc_ldc_init(vcc_t *vccp, vcc_port_t *vport) /* register it */ if ((rv = ldc_reg_callback(vport->ldc_handle, vcc_ldc_cb, - (caddr_t)vport)) != 0) { + (caddr_t)vport)) != 0) { cmn_err(CE_CONT, "i_vcc_ldc_init: port@%d ldc_register_cb" - "failed\n", vport->number); + "failed\n", vport->number); (void) ldc_fini(vport->ldc_handle); vport->ldc_id = VCC_INVALID_CHANNEL; return (rv); @@ -638,7 +639,7 @@ vcc_ldc_cb(uint64_t event, caddr_t arg) /* channel has space for write */ i_vcc_set_port_status(vport, &vport->write_cv, - VCC_PORT_LDC_WRITE_READY); + VCC_PORT_LDC_WRITE_READY); return (LDC_SUCCESS); } @@ -652,14 +653,14 @@ vcc_ldc_cb(uint64_t event, caddr_t arg) } i_vcc_set_port_status(vport, &vport->read_cv, - VCC_PORT_LDC_DATA_READY); + VCC_PORT_LDC_DATA_READY); return (LDC_SUCCESS); } if (event & LDC_EVT_DOWN) { /* channel is down */ i_vcc_set_port_status(vport, &vport->write_cv, - VCC_PORT_LDC_LINK_DOWN); + VCC_PORT_LDC_LINK_DOWN); cv_broadcast(&vport->read_cv); } @@ -743,7 +744,7 @@ i_vcc_add_port(vcc_t *vccp, char *group_name, uint64_t tcp_port, if (vport->status & VCC_PORT_AVAIL) { /* this port already exists */ cmn_err(CE_CONT, "i_vcc_add_port: invalid port - port@%d " - "exists\n", portno); + "exists\n", portno); return (MDEG_FAILURE); } @@ -763,7 +764,7 @@ i_vcc_add_port(vcc_t *vccp, char *group_name, uint64_t tcp_port, /* look up minor number */ for (minor_idx = 0; minor_idx < vccp->minors_assigned; minor_idx++) { if (strcmp(vccp->minor_tbl[minor_idx].domain_name, - domain_name) == 0) { + domain_name) == 0) { /* found previous assigned minor number */ break; } @@ -1000,7 +1001,7 @@ vcc_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) "reg", -1); if (inst == -1) { cmn_err(CE_CONT, "vcc_attach: vcc%d has no " - "'reg' property\n", + "'reg' property\n", ddi_get_instance(dip)); i_vcc_cleanup_port_table(vccp); @@ -1172,7 +1173,7 @@ vcc_open(dev_t *devp, int flag, int otyp, cred_t *cred) /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } @@ -1299,7 +1300,7 @@ vcc_close(dev_t dev, int flag, int otyp, cred_t *cred) /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } @@ -1370,7 +1371,7 @@ i_vcc_cons_tbl(vcc_t *vccp, uint_t num_ports, caddr_t buf, int mode) /* copy out data */ if (ddi_copyout(&cons, (void *)buf, - sizeof (vcc_console_t), mode)) { + sizeof (vcc_console_t), mode)) { mutex_exit(&vport->lock); return (EFAULT); } @@ -1401,7 +1402,7 @@ i_vcc_cons_tbl(vcc_t *vccp, uint_t num_ports, caddr_t buf, int mode) while (num_ports > 0) { /* fill vntsd buffer with no console */ if (ddi_copyout(&cons, (void *)buf, - sizeof (vcc_console_t), mode) != 0) { + sizeof (vcc_console_t), mode) != 0) { mutex_exit(&vport->lock); return (EFAULT); } @@ -1490,12 +1491,12 @@ i_vcc_cons_info(vcc_t *vccp, caddr_t buf, int mode) (void) ddi_pathname(vccp->dip, pathname), - /* copy device name */ - (void) snprintf(cons.dev_name, MAXPATHLEN-1, "%s:%s%s", + /* copy device name */ + (void) snprintf(cons.dev_name, MAXPATHLEN-1, "%s:%s%s", pathname, VCC_MINOR_NAME_PREFIX, cons.domain_name); /* copy data */ if (ddi_copyout(&cons, (void *)buf, - sizeof (vcc_console_t), mode) != 0) { + sizeof (vcc_console_t), mode) != 0) { mutex_exit(&vport->lock); return (EFAULT); } @@ -1539,9 +1540,9 @@ i_vcc_inquiry(vcc_t *vccp, caddr_t buf, int mode) msg.cons_no = i; if (ddi_copyout((void *)&msg, (void *)buf, - sizeof (msg), mode) == -1) { + sizeof (msg), mode) == -1) { cmn_err(CE_CONT, "i_vcc_find_changed_port:" - "ddi_copyout" + "ddi_copyout" " failed\n"); return (EFAULT); } @@ -1553,7 +1554,7 @@ i_vcc_inquiry(vcc_t *vccp, caddr_t buf, int mode) msg.reason = VCC_CONS_MISS_ADDED; if (ddi_copyout((void *)&msg, (void *)buf, - sizeof (msg), mode) == -1) { + sizeof (msg), mode) == -1) { cmn_err(CE_CONT, "i_vcc_find_changed_port: ddi_copyout" " failed\n"); return (EFAULT); @@ -1655,7 +1656,7 @@ i_vcc_cons_status(vcc_t *vccp, caddr_t buf, int mode) D1("i_vcc_cons_status@%d:\n", console.cons_no); if ((console.cons_no >= VCC_MAX_PORTS) || - (console.cons_no == VCC_CONTROL_PORT)) { + (console.cons_no == VCC_CONTROL_PORT)) { return (EINVAL); } @@ -1664,10 +1665,10 @@ i_vcc_cons_status(vcc_t *vccp, caddr_t buf, int mode) if ((vport->status & VCC_PORT_AVAIL) == 0) { console.cons_no = -1; } else if (strncmp(console.domain_name, vport->minorp->domain_name, - MAXPATHLEN)) { + MAXPATHLEN)) { console.cons_no = -1; } else if (strncmp(console.group_name, vport->group_name, - MAXPATHLEN)) { + MAXPATHLEN)) { console.cons_no = -1; } else if (console.tcp_port != vport->tcp_port) { console.cons_no = -1; @@ -1703,7 +1704,7 @@ i_vcc_ctrl_ioctl(vcc_t *vccp, int cmd, void* arg, int mode) /* number of consoles */ return (ddi_copyout((void *)&num_ports, arg, - sizeof (int), mode)); + sizeof (int), mode)); case VCC_CONS_TBL: /* console config table */ @@ -1812,7 +1813,7 @@ i_vcc_port_ioctl(vcc_t *vccp, minor_t minor, int portno, int cmd, void *arg, /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } @@ -1835,7 +1836,7 @@ i_vcc_port_ioctl(vcc_t *vccp, minor_t minor, int portno, int cmd, void *arg, /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } @@ -1852,7 +1853,7 @@ i_vcc_port_ioctl(vcc_t *vccp, minor_t minor, int portno, int cmd, void *arg, /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } @@ -1876,7 +1877,7 @@ i_vcc_port_ioctl(vcc_t *vccp, minor_t minor, int portno, int cmd, void *arg, mutex_exit(&vport->lock); i_vcc_set_port_status(vport, &vport->write_cv, - VCC_PORT_USE_WRITE_LDC); + VCC_PORT_USE_WRITE_LDC); return (0); case TCXONC: @@ -1889,7 +1890,7 @@ i_vcc_port_ioctl(vcc_t *vccp, minor_t minor, int portno, int cmd, void *arg, /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } @@ -1963,7 +1964,7 @@ vcc_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, if (portno >= VCC_MAX_PORTS) { cmn_err(CE_CONT, "vcc_ioctl:virtual-console-concentrator@%d" - " invalid portno\n", portno); + " invalid portno\n", portno); return (EINVAL); } @@ -2024,14 +2025,14 @@ vcc_read(dev_t dev, struct uio *uiop, cred_t *credp) /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } rv = i_vcc_wait_port_status(vport, &vport->read_cv, - VCC_PORT_TERM_RD|VCC_PORT_LDC_CHANNEL_READY| - VCC_PORT_USE_READ_LDC); + VCC_PORT_TERM_RD|VCC_PORT_LDC_CHANNEL_READY| + VCC_PORT_USE_READ_LDC); if (rv) { mutex_exit(&vport->lock); return (rv); @@ -2138,14 +2139,14 @@ vcc_write(dev_t dev, struct uio *uiop, cred_t *credp) /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } rv = i_vcc_wait_port_status(vport, &vport->write_cv, - VCC_PORT_TERM_WR|VCC_PORT_LDC_CHANNEL_READY| - VCC_PORT_USE_WRITE_LDC); + VCC_PORT_TERM_WR|VCC_PORT_LDC_CHANNEL_READY| + VCC_PORT_USE_WRITE_LDC); if (rv) { mutex_exit(&vport->lock); return (rv); @@ -2179,7 +2180,7 @@ vcc_write(dev_t dev, struct uio *uiop, cred_t *credp) /* check minor no and pid */ if ((rv = i_vcc_can_use_port(VCCMINORP(vccp, minor), - vport)) != 0) { + vport)) != 0) { mutex_exit(&vport->lock); return (rv); } @@ -2215,13 +2216,13 @@ i_vcc_md_remove_port(md_t *mdp, mde_cookie_t mdep, vcc_t *vccp) if ((portno >= VCC_MAX_PORTS) || (portno < 0)) { cmn_err(CE_CONT, "i_vcc_md_remove_port@%ld invalid port no\n", - portno); + portno); return (MDEG_FAILURE); } if (portno == VCC_CONTROL_PORT) { cmn_err(CE_CONT, "i_vcc_md_remove_port@%ld can not remove" - "control port\n", + "control port\n", portno); return (MDEG_FAILURE); } @@ -2261,8 +2262,8 @@ i_vcc_get_ldc_id(md_t *md, mde_cookie_t mdep, uint64_t *ldc_id) /* Look for channel endpoint child(ren) of the vdisk MD node */ if ((num_channels = md_scan_dag(md, mdep, - md_find_name(md, "channel-endpoint"), - md_find_name(md, "fwd"), channel)) <= 0) { + md_find_name(md, "channel-endpoint"), + md_find_name(md, "fwd"), channel)) <= 0) { cmn_err(CE_CONT, "i_vcc_get_ldc_id: No 'channel-endpoint'" " found for vcc"); kmem_free(channel, size); @@ -2299,14 +2300,14 @@ i_vcc_md_add_port(md_t *mdp, mde_cookie_t mdep, vcc_t *vccp) /* read in the port's reg property */ if (md_get_prop_val(mdp, mdep, "id", &portno)) { cmn_err(CE_CONT, "i_vcc_md_add_port_: port has no 'id' " - "property\n"); + "property\n"); return (MDEG_FAILURE); } /* read in the port's "vcc-doman-name" property */ if (md_get_prop_str(mdp, mdep, "vcc-domain-name", &domain_name)) { cmn_err(CE_CONT, "i_vcc_md_add_port: port%ld has " - "no 'vcc-domain-name' property\n", portno); + "no 'vcc-domain-name' property\n", portno); return (MDEG_FAILURE); } @@ -2314,7 +2315,7 @@ i_vcc_md_add_port(md_t *mdp, mde_cookie_t mdep, vcc_t *vccp) /* read in the port's "vcc-group-name" property */ if (md_get_prop_str(mdp, mdep, "vcc-group-name", &group_name)) { cmn_err(CE_CONT, "i_vcc_md_add_port: port%ld has no " - "'vcc-group-name'property\n", portno); + "'vcc-group-name'property\n", portno); return (MDEG_FAILURE); } @@ -2322,7 +2323,7 @@ i_vcc_md_add_port(md_t *mdp, mde_cookie_t mdep, vcc_t *vccp) /* read in the port's "vcc-tcp-port" property */ if (md_get_prop_val(mdp, mdep, "vcc-tcp-port", &tcp_port)) { cmn_err(CE_CONT, "i_vcc_md_add_port: port%ld has no" - "'vcc-tcp-port' property\n", portno); + "'vcc-tcp-port' property\n", portno); return (MDEG_FAILURE); } diff --git a/usr/src/uts/sun4v/io/vdc.c b/usr/src/uts/sun4v/io/vdc.c index 72796753bd..ecd75ba13a 100644 --- a/usr/src/uts/sun4v/io/vdc.c +++ b/usr/src/uts/sun4v/io/vdc.c @@ -311,7 +311,8 @@ static struct dev_ops vdc_ops = { nodev, /* devo_reset */ &vdc_cb_ops, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/sun4v/io/vds.c b/usr/src/uts/sun4v/io/vds.c index 4b13dbae5a..d2e29e45ed 100644 --- a/usr/src/uts/sun4v/io/vds.c +++ b/usr/src/uts/sun4v/io/vds.c @@ -7233,7 +7233,8 @@ static struct dev_ops vds_ops = { nodev, /* devo_reset */ NULL, /* devo_cb_ops */ NULL, /* devo_bus_ops */ - nulldev /* devo_power */ + nulldev, /* devo_power */ + ddi_quiesce_not_needed, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/sun4v/io/vldc.c b/usr/src/uts/sun4v/io/vldc.c index 703cccd34e..558db60bfc 100644 --- a/usr/src/uts/sun4v/io/vldc.c +++ b/usr/src/uts/sun4v/io/vldc.c @@ -24,7 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/file.h> @@ -139,14 +138,16 @@ static struct dev_ops vldc_ops = { vldc_detach, /* detach */ nodev, /* reset */ &vldc_cb_ops, /* cb_ops */ - (struct bus_ops *)NULL /* bus_ops */ + (struct bus_ops *)NULL, /* bus_ops */ + NULL, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; extern struct mod_ops mod_driverops; static struct modldrv md = { &mod_driverops, /* Type - it is a driver */ - "sun4v Virtual LDC Driver %I%", /* Name of the module */ + "sun4v Virtual LDC Driver", /* Name of the module */ &vldc_ops, /* driver specific ops */ }; diff --git a/usr/src/uts/sun4v/io/vnet.c b/usr/src/uts/sun4v/io/vnet.c index 3b05f1e502..5369721b50 100644 --- a/usr/src/uts/sun4v/io/vnet.c +++ b/usr/src/uts/sun4v/io/vnet.c @@ -218,7 +218,9 @@ static struct dev_ops vnetops = { vnetdetach, /* devo_detach */ nodev, /* devo_reset */ &cb_vnetops, /* devo_cb_ops */ - (struct bus_ops *)NULL /* devo_bus_ops */ + (struct bus_ops *)NULL, /* devo_bus_ops */ + NULL, /* devo_power */ + ddi_quiesce_not_supported, /* devo_quiesce */ }; static struct modldrv modldrv = { diff --git a/usr/src/uts/sun4v/io/vnex.c b/usr/src/uts/sun4v/io/vnex.c index 0a2b06f774..fe8bea5f54 100644 --- a/usr/src/uts/sun4v/io/vnex.c +++ b/usr/src/uts/sun4v/io/vnex.c @@ -23,7 +23,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4 5.0 */ #include <sys/types.h> #include <sys/cmn_err.h> @@ -158,8 +157,9 @@ static struct dev_ops pseudo_ops = { vnex_detach, /* detach */ nodev, /* reset */ (struct cb_ops *)0, /* driver operations */ - &vnex_bus_ops, /* bus operations */ - nulldev /* power */ + &vnex_bus_ops, /* bus operations */ + nulldev, /* power */ + ddi_quiesce_not_needed, /* quiesce */ }; /* @@ -168,7 +168,7 @@ static struct dev_ops pseudo_ops = { static struct modldrv modldrv = { &mod_driverops, /* Type of module. This one is a pseudo driver */ - "sun4v virtual-devices nexus driver v%I%", + "sun4v virtual-devices nexus driver", &pseudo_ops, /* driver ops */ }; diff --git a/usr/src/uts/sun4v/ontario/io/tsalarm.c b/usr/src/uts/sun4v/ontario/io/tsalarm.c index ea3ef0da73..7722326da3 100644 --- a/usr/src/uts/sun4v/ontario/io/tsalarm.c +++ b/usr/src/uts/sun4v/ontario/io/tsalarm.c @@ -19,11 +19,10 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" #include <sys/types.h> #include <sys/file.h> @@ -285,7 +284,8 @@ static struct dev_ops tsalarm_ops = { nodev, /* reset */ &tsalarm_cb_ops, /* pointer to cb_ops structure */ (struct bus_ops *)NULL, - nulldev /* power() */ + nulldev, /* power() */ + ddi_quiesce_not_needed, /* quiesce() */ }; /* @@ -296,7 +296,7 @@ static void *statep; static struct modldrv modldrv = { &mod_driverops, /* Type of module. This is a driver */ - "tsalarm control driver v1.0", /* Name of the module */ + "tsalarm control driver", /* Name of the module */ &tsalarm_ops /* pointer to the dev_ops structure */ }; @@ -410,7 +410,7 @@ tsalarm_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) * the device's softc, is used to direct peculiar behavior. */ if (ddi_create_minor_node(dip, "lom", S_IFCHR, 0, - DDI_PSEUDO, NULL) == DDI_FAILURE) { + DDI_PSEUDO, NULL) == DDI_FAILURE) { goto attach_failed; } @@ -490,7 +490,7 @@ tsalarm_open(dev_t *devp, int flag, int otyp, cred_t *credp) softc->flags |= TSAL_IDENTED; rv = ldi_open_by_name(ALARM_CHANNEL, FREAD | FWRITE, kcred, &softc->lh, - softc->li); + softc->li); if (rv != 0) { cmn_err(CE_WARN, "ldi_open_by_name failed\n"); goto FAIL; @@ -503,38 +503,38 @@ tsalarm_open(dev_t *devp, int flag, int otyp, cred_t *credp) channel_op.opt_val = 0; if ((rv = ldi_ioctl(softc->lh, GLVC_XPORT_IOCTL_OPT_OP, - (intptr_t)&channel_op, FKIOCTL, kcred, &rval)) < 0) { + (intptr_t)&channel_op, FKIOCTL, kcred, &rval)) < 0) { cmn_err(CE_WARN, "ldi_ioctl failed\n"); goto FAIL; } softc->mtu_size = channel_op.opt_val; if ((softc->req_ptr = (tsal_pcp_alarm_req_t *)kmem_zalloc( - sizeof (tsal_pcp_alarm_req_t), - KM_NOSLEEP)) == NULL) { + sizeof (tsal_pcp_alarm_req_t), + KM_NOSLEEP)) == NULL) { goto FAIL; } if ((softc->resp_ptr = (tsal_pcp_alarm_resp_t *)kmem_zalloc( - sizeof (tsal_pcp_alarm_resp_t), - KM_NOSLEEP)) == NULL) { + sizeof (tsal_pcp_alarm_resp_t), + KM_NOSLEEP)) == NULL) { goto FAIL; } if ((softc->req_msg_hdr = (tsal_pcp_req_msg_hdr_t *)kmem_zalloc( - sizeof (tsal_pcp_req_msg_hdr_t), - KM_NOSLEEP)) == NULL) { + sizeof (tsal_pcp_req_msg_hdr_t), + KM_NOSLEEP)) == NULL) { goto FAIL; } if ((softc->resp_msg_hdr = (tsal_pcp_resp_msg_hdr_t *)kmem_zalloc( - sizeof (tsal_pcp_resp_msg_hdr_t), - KM_NOSLEEP)) == NULL) { + sizeof (tsal_pcp_resp_msg_hdr_t), + KM_NOSLEEP)) == NULL) { goto FAIL; } if ((softc->peek_area = (uint8_t *)kmem_zalloc(softc->mtu_size, - KM_NOSLEEP)) == NULL) { + KM_NOSLEEP)) == NULL) { goto FAIL; } if ((softc->peek_read_area = (uint8_t *)kmem_zalloc(2*softc->mtu_size, - KM_NOSLEEP)) == NULL) { + KM_NOSLEEP)) == NULL) { goto FAIL; } @@ -549,16 +549,16 @@ FAIL: softc->flags &= ~(TSAL_OPENED | TSAL_IDENTED); if (softc->req_ptr != NULL) kmem_free(softc->req_ptr, - sizeof (tsal_pcp_alarm_req_t)); + sizeof (tsal_pcp_alarm_req_t)); if (softc->resp_ptr != NULL) kmem_free(softc->resp_ptr, - sizeof (tsal_pcp_alarm_resp_t)); + sizeof (tsal_pcp_alarm_resp_t)); if (softc->req_msg_hdr != NULL) kmem_free(softc->req_msg_hdr, - sizeof (tsal_pcp_req_msg_hdr_t)); + sizeof (tsal_pcp_req_msg_hdr_t)); if (softc->resp_msg_hdr != NULL) kmem_free(softc->resp_msg_hdr, - sizeof (tsal_pcp_resp_msg_hdr_t)); + sizeof (tsal_pcp_resp_msg_hdr_t)); if (softc->peek_area != NULL) kmem_free(softc->peek_area, softc->mtu_size); if (softc->peek_read_area != NULL) @@ -604,22 +604,22 @@ tsalarm_close(dev_t dev, int flag, int otyp, cred_t *credp) } if (softc->req_ptr != NULL) { kmem_free(softc->req_ptr, - sizeof (tsal_pcp_alarm_req_t)); + sizeof (tsal_pcp_alarm_req_t)); softc->req_ptr = NULL; } if (softc->resp_ptr != NULL) { kmem_free(softc->resp_ptr, - sizeof (tsal_pcp_alarm_resp_t)); + sizeof (tsal_pcp_alarm_resp_t)); softc->resp_ptr = NULL; } if (softc->req_msg_hdr != NULL) { kmem_free(softc->req_msg_hdr, - sizeof (tsal_pcp_req_msg_hdr_t)); + sizeof (tsal_pcp_req_msg_hdr_t)); softc->req_msg_hdr = NULL; } if (softc->resp_msg_hdr != NULL) { kmem_free(softc->resp_msg_hdr, - sizeof (tsal_pcp_resp_msg_hdr_t)); + sizeof (tsal_pcp_resp_msg_hdr_t)); softc->resp_msg_hdr = NULL; } if (softc->peek_area != NULL) { @@ -657,20 +657,20 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case LOMIOCALSTATE_OLD: { if (ddi_copyin((caddr_t)arg, (caddr_t)&ts_alinfo, - sizeof (ts_aldata_t), mode) != 0) { + sizeof (ts_aldata_t), mode) != 0) { retval = EFAULT; goto end; } alarm_type = ts_alinfo.alarm_no; if ((alarm_type < ALARM_CRITICAL) || - (alarm_type > ALARM_USER)) { + (alarm_type > ALARM_USER)) { retval = EINVAL; goto end; } retval = glvc_alarm_get(alarm_type, &alarm_state, - softc); + softc); if (retval != 0) goto end; @@ -682,7 +682,7 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, ts_alinfo.alarm_state = alarm_state; if (ddi_copyout((caddr_t)&ts_alinfo, (caddr_t)arg, - sizeof (ts_aldata_t), mode) != 0) { + sizeof (ts_aldata_t), mode) != 0) { retval = EFAULT; goto end; } @@ -693,7 +693,7 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, case LOMIOCALCTL_OLD: { if (ddi_copyin((caddr_t)arg, (caddr_t)&ts_alinfo, - sizeof (ts_aldata_t), mode) != 0) { + sizeof (ts_aldata_t), mode) != 0) { retval = EFAULT; goto end; } @@ -702,12 +702,12 @@ tsalarm_ioctl(dev_t dev, int cmd, intptr_t arg, int mode, alarm_state = ts_alinfo.alarm_state; if ((alarm_type < ALARM_CRITICAL) || - (alarm_type > ALARM_USER)) { + (alarm_type > ALARM_USER)) { retval = EINVAL; goto end; } if ((alarm_state < ALARM_OFF) || - (alarm_state > ALARM_ON)) { + (alarm_state > ALARM_ON)) { retval = EINVAL; goto end; } @@ -757,12 +757,12 @@ glvc_alarm_get(int alarm_type, int *alarm_state, tsalarm_softc_t *sc) * send the request, receive the response */ if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg, - PCP_COMM_TIMEOUT) < 0) { + PCP_COMM_TIMEOUT) < 0) { /* we either timed out or erred; either way try again */ (void) delay(PCP_COMM_TIMEOUT * drv_usectohz(1000000)); if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg, - PCP_COMM_TIMEOUT) < 0) { + PCP_COMM_TIMEOUT) < 0) { cmn_err(CE_WARN, "tsalarm: communication failure"); goto alarm_return; } @@ -809,8 +809,8 @@ glvc_alarm_set(int alarm_type, int new_state, tsalarm_softc_t *sc) */ if (sc->req_ptr == NULL) { if ((sc->req_ptr = (tsal_pcp_alarm_req_t *)kmem_zalloc( - sizeof (tsal_pcp_alarm_req_t), - KM_NOSLEEP)) == NULL) + sizeof (tsal_pcp_alarm_req_t), + KM_NOSLEEP)) == NULL) goto alarm_return; } @@ -832,12 +832,12 @@ glvc_alarm_set(int alarm_type, int new_state, tsalarm_softc_t *sc) * send the request, receive the response */ if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg, - PCP_COMM_TIMEOUT) < 0) { + PCP_COMM_TIMEOUT) < 0) { /* we either timed out or erred; either way try again */ (void) delay(PCP_COMM_TIMEOUT * drv_usectohz(1000000)); if (tsal_pcp_send_recv(sc, &send_msg, &recv_msg, - PCP_COMM_TIMEOUT) < 0) { + PCP_COMM_TIMEOUT) < 0) { goto alarm_return; } } @@ -863,11 +863,11 @@ glvc_alarm_set(int alarm_type, int new_state, tsalarm_softc_t *sc) * ensure the Alarm action taken is the one requested */ if ((req_ptr->alarm_action == PCP_ALARM_DISABLE) && - (resp_ptr->alarm_state != ALARM_STATE_OFF)) { + (resp_ptr->alarm_state != ALARM_STATE_OFF)) { cmn_err(CE_WARN, "tsalarm: failed to set alarm"); goto alarm_return; } else if ((req_ptr->alarm_action == PCP_ALARM_ENABLE) && - (resp_ptr->alarm_state != ALARM_STATE_ON)) { + (resp_ptr->alarm_state != ALARM_STATE_ON)) { cmn_err(CE_WARN, "tsalarm: failed to set alarm"); goto alarm_return; } else if (resp_ptr->alarm_state == ALARM_STATE_UNKNOWN) { @@ -941,7 +941,7 @@ tsal_pcp_send_recv(tsalarm_softc_t *sc, tsal_pcp_msg_t *req_msg, /* fill request header checksum */ req_msg_hdr->hdr_cksum = checksum((uint16_t *)req_msg_hdr, - sizeof (tsal_pcp_req_msg_hdr_t)); + sizeof (tsal_pcp_req_msg_hdr_t)); /* * send request message header @@ -955,7 +955,7 @@ tsal_pcp_send_recv(tsalarm_softc_t *sc, tsal_pcp_msg_t *req_msg, */ if (req_msg->msg_len != 0) { if ((ret = tsal_pcp_io_op(sc, datap, req_msg->msg_len, - PCP_IO_OP_WRITE))) { + PCP_IO_OP_WRITE))) { return (ret); } } @@ -988,7 +988,7 @@ tsal_pcp_send_recv(tsalarm_softc_t *sc, tsal_pcp_msg_t *req_msg, bkup_resp_hdr_cksum = resp_msg_hdr->hdr_cksum; resp_msg_hdr->hdr_cksum = 0; cksum = checksum((uint16_t *)resp_msg_hdr, - sizeof (tsal_pcp_resp_msg_hdr_t)); + sizeof (tsal_pcp_resp_msg_hdr_t)); if (cksum != bkup_resp_hdr_cksum) { return (TSAL_PCP_ERROR); @@ -1022,15 +1022,15 @@ tsal_pcp_send_recv(tsalarm_softc_t *sc, tsal_pcp_msg_t *req_msg, * Receive response message. */ if ((ret = tsal_pcp_io_op(sc, resp_msg_data, - resp_msg_hdr->msg_len, - PCP_IO_OP_READ))) { + resp_msg_hdr->msg_len, + PCP_IO_OP_READ))) { return (ret); } #ifdef PCP_CKSUM_ENABLE /* verify response message data checksum */ cksum = checksum((uint16_t *)resp_msg_data, - resp_msg_hdr->msg_len); + resp_msg_hdr->msg_len); if (cksum != resp_msg_hdr->msg_cksum) { return (TSAL_PCP_ERROR); } @@ -1141,7 +1141,7 @@ tsal_pcp_peek(tsalarm_softc_t *sc, uint8_t *buf, int bytes_cnt) peek_ctrl.flags = 0; if ((ret = ldi_ioctl(sc->lh, GLVC_XPORT_IOCTL_DATA_PEEK, - (intptr_t)&peek_ctrl, FKIOCTL, kcred, &rval)) < 0) { + (intptr_t)&peek_ctrl, FKIOCTL, kcred, &rval)) < 0) { return (ret); } @@ -1217,7 +1217,7 @@ tsal_pcp_read(tsalarm_softc_t *sc, uint8_t *buf, int byte_cnt) */ if (sc->read_area == NULL) { sc->read_area = (uint8_t *)kmem_zalloc(read_area_size, - KM_NOSLEEP); + KM_NOSLEEP); if (sc->read_area == NULL) { return (TSAL_PCP_ERROR); } @@ -1354,7 +1354,7 @@ tsal_pcp_send_req_msg_hdr(tsalarm_softc_t *sc, tsal_pcp_req_msg_hdr_t *req_hdr) hdr_sz = sizeof (tsal_pcp_req_msg_hdr_t); if ((hdrp = (tsal_pcp_req_msg_hdr_t *)kmem_zalloc(hdr_sz, - KM_NOSLEEP)) == NULL) { + KM_NOSLEEP)) == NULL) { return (TSAL_PCP_ERROR); } @@ -1370,7 +1370,7 @@ tsal_pcp_send_req_msg_hdr(tsalarm_softc_t *sc, tsal_pcp_req_msg_hdr_t *req_hdr) hdrp->hdr_cksum = htons(req_hdr->hdr_cksum); if ((ret = tsal_pcp_io_op(sc, (char *)hdrp, hdr_sz, - PCP_IO_OP_WRITE)) != 0) { + PCP_IO_OP_WRITE)) != 0) { kmem_free(hdrp, hdr_sz); return (ret); } @@ -1413,7 +1413,7 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* read magic number first */ if ((ret = tsal_pcp_io_op(sc, &magic_num, sizeof (magic_num), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1425,7 +1425,7 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* read version field */ if ((ret = tsal_pcp_io_op(sc, &proto_ver, sizeof (proto_ver), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1436,25 +1436,25 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* Read message type */ if ((ret = tsal_pcp_io_op(sc, &msg_type, sizeof (msg_type), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } /* Read message sub type */ if ((ret = tsal_pcp_io_op(sc, &sub_type, sizeof (sub_type), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } /* Read rcvd_pad bits */ if ((ret = tsal_pcp_io_op(sc, &rsvd_pad, sizeof (rsvd_pad), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } /* receive transaction id */ if ((ret = tsal_pcp_io_op(sc, &xid, sizeof (xid), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1462,7 +1462,7 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* receive timeout value */ if ((ret = tsal_pcp_io_op(sc, &timeout, sizeof (timeout), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1470,7 +1470,7 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* receive message length */ if ((ret = tsal_pcp_io_op(sc, &msg_len, sizeof (msg_len), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1478,7 +1478,7 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* receive status field */ if ((ret = tsal_pcp_io_op(sc, &status, sizeof (status), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1486,7 +1486,7 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* receive message checksum */ if ((ret = tsal_pcp_io_op(sc, &msg_cksum, sizeof (msg_cksum), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1494,7 +1494,7 @@ tsal_pcp_recv_resp_msg_hdr(tsalarm_softc_t *sc, /* receive header checksum */ if ((ret = tsal_pcp_io_op(sc, &hdr_cksum, sizeof (hdr_cksum), - PCP_IO_OP_READ)) != 0) { + PCP_IO_OP_READ)) != 0) { return (ret); } @@ -1576,11 +1576,11 @@ tsal_pcp_frame_error_handle(tsalarm_softc_t *sc) * if mathing not found, discard 1 byte and continue checking. */ if (!check_magic_byte_presence(sc, 4, &magic_num_buf[0], - &ispresent)) { + &ispresent)) { if (!ispresent) { /* remove 1 byte */ (void) tsal_pcp_io_op(sc, buf, 1, - PCP_IO_OP_READ); + PCP_IO_OP_READ); } } else { return (-1); |