Lines Matching refs:karg

126 static int mptctl_do_mpt_command(struct mpt_ioctl_command karg, void __user *mfPtr);
1240 struct mpt_ioctl_iocinfo *karg; in mptctl_getiocinfo() local
1264 karg = memdup_user(uarg, data_size); in mptctl_getiocinfo()
1265 if (IS_ERR(karg)) { in mptctl_getiocinfo()
1267 __FILE__, __LINE__, PTR_ERR(karg)); in mptctl_getiocinfo()
1268 return PTR_ERR(karg); in mptctl_getiocinfo()
1271 if (((iocnum = mpt_verify_adapter(karg->hdr.iocnum, &ioc)) < 0) || in mptctl_getiocinfo()
1275 kfree(karg); in mptctl_getiocinfo()
1280 if (karg->hdr.maxDataSize != data_size) { in mptctl_getiocinfo()
1284 kfree(karg); in mptctl_getiocinfo()
1295 karg->adapterType = MPT_IOCTL_INTERFACE_SAS; in mptctl_getiocinfo()
1297 karg->adapterType = MPT_IOCTL_INTERFACE_FC; in mptctl_getiocinfo()
1299 karg->adapterType = MPT_IOCTL_INTERFACE_SCSI; in mptctl_getiocinfo()
1301 if (karg->hdr.port > 1) { in mptctl_getiocinfo()
1302 kfree(karg); in mptctl_getiocinfo()
1305 port = karg->hdr.port; in mptctl_getiocinfo()
1307 karg->port = port; in mptctl_getiocinfo()
1310 karg->pciId = pdev->device; in mptctl_getiocinfo()
1311 karg->hwRev = pdev->revision; in mptctl_getiocinfo()
1312 karg->subSystemDevice = pdev->subsystem_device; in mptctl_getiocinfo()
1313 karg->subSystemVendor = pdev->subsystem_vendor; in mptctl_getiocinfo()
1318 karg->pciInfo.u.bits.busNumber = pdev->bus->number; in mptctl_getiocinfo()
1319 karg->pciInfo.u.bits.deviceNumber = PCI_SLOT( pdev->devfn ); in mptctl_getiocinfo()
1320 karg->pciInfo.u.bits.functionNumber = PCI_FUNC( pdev->devfn ); in mptctl_getiocinfo()
1324 karg->pciInfo.u.bits.busNumber = pdev->bus->number; in mptctl_getiocinfo()
1325 karg->pciInfo.u.bits.deviceNumber = PCI_SLOT( pdev->devfn ); in mptctl_getiocinfo()
1326 karg->pciInfo.u.bits.functionNumber = PCI_FUNC( pdev->devfn ); in mptctl_getiocinfo()
1327 karg->pciInfo.segmentID = pci_domain_nr(pdev->bus); in mptctl_getiocinfo()
1332 karg->numDevices = 0; in mptctl_getiocinfo()
1341 karg->numDevices++; in mptctl_getiocinfo()
1347 karg->FWVersion = ioc->facts.FWVersion.Word; in mptctl_getiocinfo()
1348 karg->BIOSVersion = ioc->biosVersion; in mptctl_getiocinfo()
1352 strncpy (karg->driverVersion, MPT_LINUX_PACKAGE_NAME, MPT_IOCTL_VERSION_LENGTH); in mptctl_getiocinfo()
1353 karg->driverVersion[MPT_IOCTL_VERSION_LENGTH-1]='\0'; in mptctl_getiocinfo()
1355 karg->busChangeEvent = 0; in mptctl_getiocinfo()
1356 karg->hostId = ioc->pfacts[port].PortSCSIID; in mptctl_getiocinfo()
1357 karg->rsvd[0] = karg->rsvd[1] = 0; in mptctl_getiocinfo()
1361 if (copy_to_user((char __user *)arg, karg, data_size)) { in mptctl_getiocinfo()
1365 kfree(karg); in mptctl_getiocinfo()
1369 kfree(karg); in mptctl_getiocinfo()
1387 struct mpt_ioctl_targetinfo karg; in mptctl_gettargetinfo() local
1400 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_targetinfo))) { in mptctl_gettargetinfo()
1407 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_gettargetinfo()
1420 numBytes = karg.hdr.maxDataSize - sizeof(mpt_ioctl_header); in mptctl_gettargetinfo()
1422 port = karg.hdr.port; in mptctl_gettargetinfo()
1472 karg.numDevices = numDevices; in mptctl_gettargetinfo()
1476 if (copy_to_user((char __user *)arg, &karg, in mptctl_gettargetinfo()
1512 struct mpt_ioctl_test karg; in mptctl_readtest() local
1516 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_test))) { in mptctl_readtest()
1523 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_readtest()
1537 karg.chip_type = ioc->mfcnt; in mptctl_readtest()
1539 karg.chip_type = ioc->pcidev->device; in mptctl_readtest()
1541 strncpy (karg.name, ioc->name, MPT_MAX_NAME); in mptctl_readtest()
1542 karg.name[MPT_MAX_NAME-1]='\0'; in mptctl_readtest()
1543 strncpy (karg.product, ioc->prod_name, MPT_PRODUCT_LENGTH); in mptctl_readtest()
1544 karg.product[MPT_PRODUCT_LENGTH-1]='\0'; in mptctl_readtest()
1548 if (copy_to_user((char __user *)arg, &karg, sizeof(struct mpt_ioctl_test))) { in mptctl_readtest()
1573 struct mpt_ioctl_eventquery karg; in mptctl_eventquery() local
1577 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventquery))) { in mptctl_eventquery()
1584 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_eventquery()
1593 karg.eventEntries = MPTCTL_EVENT_LOG_SIZE; in mptctl_eventquery()
1594 karg.eventTypes = ioc->eventTypes; in mptctl_eventquery()
1598 if (copy_to_user((char __user *)arg, &karg, sizeof(struct mpt_ioctl_eventquery))) { in mptctl_eventquery()
1612 struct mpt_ioctl_eventenable karg; in mptctl_eventenable() local
1616 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventenable))) { in mptctl_eventenable()
1623 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_eventenable()
1650 ioc->eventTypes = karg.eventTypes; in mptctl_eventenable()
1660 struct mpt_ioctl_eventreport karg; in mptctl_eventreport() local
1665 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventreport))) { in mptctl_eventreport()
1672 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_eventreport()
1681 numBytes = karg.hdr.maxDataSize - sizeof(mpt_ioctl_header); in mptctl_eventreport()
1714 struct mpt_ioctl_replace_fw karg; in mptctl_replace_fw() local
1719 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_replace_fw))) { in mptctl_replace_fw()
1726 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_replace_fw()
1744 newFwSize = ALIGN(karg.newImageSize, 4); in mptctl_replace_fw()
1782 struct mpt_ioctl_command karg; in mptctl_mpt_command() local
1788 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_command))) { in mptctl_mpt_command()
1795 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_mpt_command()
1802 rc = mptctl_do_mpt_command (karg, &uarg->MF); in mptctl_mpt_command()
1820 mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) in mptctl_do_mpt_command() argument
1846 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_do_mpt_command()
1864 sz = karg.dataSgeOffset * 4; in mptctl_do_mpt_command()
1865 if (karg.dataInSize > 0) in mptctl_do_mpt_command()
1867 if (karg.dataOutSize > 0) in mptctl_do_mpt_command()
1890 if (copy_from_user(mf, mfPtr, karg.dataSgeOffset * 4)) { in mptctl_do_mpt_command()
1910 karg.dataOutSize = karg.dataInSize = 0; in mptctl_do_mpt_command()
1971 if (karg.maxSenseBytes > MPT_SENSE_BUFFER_SIZE) in mptctl_do_mpt_command()
1974 pScsiReq->SenseBufferLength = karg.maxSenseBytes; in mptctl_do_mpt_command()
1996 if (karg.dataOutSize > 0) { in mptctl_do_mpt_command()
1998 dataSize = karg.dataOutSize; in mptctl_do_mpt_command()
2001 dataSize = karg.dataInSize; in mptctl_do_mpt_command()
2058 if (karg.maxSenseBytes > MPT_SENSE_BUFFER_SIZE) in mptctl_do_mpt_command()
2061 pScsiReq->SenseBufferLength = karg.maxSenseBytes; in mptctl_do_mpt_command()
2073 if (karg.dataOutSize > 0) { in mptctl_do_mpt_command()
2075 dataSize = karg.dataOutSize; in mptctl_do_mpt_command()
2078 dataSize = karg.dataInSize; in mptctl_do_mpt_command()
2172 psge = (char *) (((int *) mf) + karg.dataSgeOffset); in mptctl_do_mpt_command()
2175 if (karg.dataOutSize > 0) in mptctl_do_mpt_command()
2178 if (karg.dataInSize > 0) in mptctl_do_mpt_command()
2184 if (karg.dataOutSize > 0) { in mptctl_do_mpt_command()
2185 if (karg.dataInSize > 0) { in mptctl_do_mpt_command()
2193 flagsLength |= karg.dataOutSize; in mptctl_do_mpt_command()
2194 bufOut.len = karg.dataOutSize; in mptctl_do_mpt_command()
2211 karg.dataOutBufPtr, in mptctl_do_mpt_command()
2217 ioc->name, __FILE__, __LINE__,karg.dataOutBufPtr); in mptctl_do_mpt_command()
2224 if (karg.dataInSize > 0) { in mptctl_do_mpt_command()
2226 flagsLength |= karg.dataInSize; in mptctl_do_mpt_command()
2228 bufIn.len = karg.dataInSize; in mptctl_do_mpt_command()
2281 timeout = (karg.timeout > 0) ? karg.timeout : MPT_IOCTL_DEFAULT_TIMEOUT; in mptctl_do_mpt_command()
2318 if (karg.maxReplyBytes < ioc->reply_sz) { in mptctl_do_mpt_command()
2319 sz = min(karg.maxReplyBytes, in mptctl_do_mpt_command()
2325 if (copy_to_user(karg.replyFrameBufPtr, in mptctl_do_mpt_command()
2330 ioc->name, __FILE__, __LINE__, karg.replyFrameBufPtr); in mptctl_do_mpt_command()
2340 sz = min(karg.maxSenseBytes, MPT_SENSE_BUFFER_SIZE); in mptctl_do_mpt_command()
2342 if (copy_to_user(karg.senseDataPtr, in mptctl_do_mpt_command()
2347 karg.senseDataPtr); in mptctl_do_mpt_command()
2358 (karg.dataInSize > 0) && (bufIn.kptr)) { in mptctl_do_mpt_command()
2360 if (copy_to_user(karg.dataInBufPtr, in mptctl_do_mpt_command()
2361 bufIn.kptr, karg.dataInSize)) { in mptctl_do_mpt_command()
2365 karg.dataInBufPtr); in mptctl_do_mpt_command()
2415 hp_host_info_t karg; in mptctl_hp_hostinfo() local
2435 if (copy_from_user(&karg, uarg, sizeof(hp_host_info_t))) { in mptctl_hp_hostinfo()
2442 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_hp_hostinfo()
2456 karg.vendor = pdev->vendor; in mptctl_hp_hostinfo()
2457 karg.device = pdev->device; in mptctl_hp_hostinfo()
2458 karg.subsystem_id = pdev->subsystem_device; in mptctl_hp_hostinfo()
2459 karg.subsystem_vendor = pdev->subsystem_vendor; in mptctl_hp_hostinfo()
2460 karg.devfn = pdev->devfn; in mptctl_hp_hostinfo()
2461 karg.bus = pdev->bus->number; in mptctl_hp_hostinfo()
2467 karg.host_no = ioc->sh->host_no; in mptctl_hp_hostinfo()
2469 karg.host_no = -1; in mptctl_hp_hostinfo()
2473 karg.fw_version[0] = ioc->facts.FWVersion.Struct.Major >= 10 ? in mptctl_hp_hostinfo()
2475 karg.fw_version[1] = (ioc->facts.FWVersion.Struct.Major % 10 ) + '0'; in mptctl_hp_hostinfo()
2476 karg.fw_version[2] = '.'; in mptctl_hp_hostinfo()
2477 karg.fw_version[3] = ioc->facts.FWVersion.Struct.Minor >= 10 ? in mptctl_hp_hostinfo()
2479 karg.fw_version[4] = (ioc->facts.FWVersion.Struct.Minor % 10 ) + '0'; in mptctl_hp_hostinfo()
2480 karg.fw_version[5] = '.'; in mptctl_hp_hostinfo()
2481 karg.fw_version[6] = ioc->facts.FWVersion.Struct.Unit >= 10 ? in mptctl_hp_hostinfo()
2483 karg.fw_version[7] = (ioc->facts.FWVersion.Struct.Unit % 10 ) + '0'; in mptctl_hp_hostinfo()
2484 karg.fw_version[8] = '.'; in mptctl_hp_hostinfo()
2485 karg.fw_version[9] = ioc->facts.FWVersion.Struct.Dev >= 10 ? in mptctl_hp_hostinfo()
2487 karg.fw_version[10] = (ioc->facts.FWVersion.Struct.Dev % 10 ) + '0'; in mptctl_hp_hostinfo()
2488 karg.fw_version[11] = '\0'; in mptctl_hp_hostinfo()
2503 strncpy(karg.serial_number, " ", 24); in mptctl_hp_hostinfo()
2515 strncpy(karg.serial_number, pdata->BoardTracerNumber, 24); in mptctl_hp_hostinfo()
2516 karg.serial_number[24-1]='\0'; in mptctl_hp_hostinfo()
2527 karg.ioc_status = HP_STATUS_OK; in mptctl_hp_hostinfo()
2531 karg.ioc_status = HP_STATUS_FAILED; in mptctl_hp_hostinfo()
2537 karg.ioc_status = HP_STATUS_OTHER; in mptctl_hp_hostinfo()
2541 karg.base_io_addr = pci_resource_start(pdev, 0); in mptctl_hp_hostinfo()
2544 karg.bus_phys_width = HP_BUS_WIDTH_UNK; in mptctl_hp_hostinfo()
2546 karg.bus_phys_width = HP_BUS_WIDTH_16; in mptctl_hp_hostinfo()
2548 karg.hard_resets = 0; in mptctl_hp_hostinfo()
2549 karg.soft_resets = 0; in mptctl_hp_hostinfo()
2550 karg.timeouts = 0; in mptctl_hp_hostinfo()
2555 karg.hard_resets = ioc->hard_resets; in mptctl_hp_hostinfo()
2556 karg.soft_resets = ioc->soft_resets; in mptctl_hp_hostinfo()
2557 karg.timeouts = ioc->timeouts; in mptctl_hp_hostinfo()
2626 karg.rsvd = *(u32 *)pbuf; in mptctl_hp_hostinfo()
2637 if (copy_to_user((char __user *)arg, &karg, sizeof(hp_host_info_t))) { in mptctl_hp_hostinfo()
2667 hp_target_info_t karg; in mptctl_hp_targetinfo() local
2675 if (copy_from_user(&karg, uarg, sizeof(hp_target_info_t))) { in mptctl_hp_targetinfo()
2682 if (((iocnum = mpt_verify_adapter(karg.hdr.iocnum, &ioc)) < 0) || in mptctl_hp_targetinfo()
2699 if (ioc->sh->host_no != karg.hdr.host) in mptctl_hp_targetinfo()
2718 cfg.pageAddr = (karg.hdr.channel << 8) | karg.hdr.id; in mptctl_hp_targetinfo()
2722 karg.negotiated_width = np & MPI_SCSIDEVPAGE0_NP_WIDE ? in mptctl_hp_targetinfo()
2728 karg.negotiated_speed = HP_DEV_SPEED_ULTRA320; in mptctl_hp_targetinfo()
2730 karg.negotiated_speed = HP_DEV_SPEED_ULTRA160; in mptctl_hp_targetinfo()
2732 karg.negotiated_speed = HP_DEV_SPEED_ULTRA2; in mptctl_hp_targetinfo()
2734 karg.negotiated_speed = HP_DEV_SPEED_ULTRA; in mptctl_hp_targetinfo()
2736 karg.negotiated_speed = HP_DEV_SPEED_FAST; in mptctl_hp_targetinfo()
2738 karg.negotiated_speed = HP_DEV_SPEED_ASYNC; in mptctl_hp_targetinfo()
2740 karg.negotiated_speed = HP_DEV_SPEED_ASYNC; in mptctl_hp_targetinfo()
2748 karg.message_rejects = -1; in mptctl_hp_targetinfo()
2749 karg.phase_errors = -1; in mptctl_hp_targetinfo()
2750 karg.parity_errors = -1; in mptctl_hp_targetinfo()
2751 karg.select_timeouts = -1; in mptctl_hp_targetinfo()
2773 cfg.pageAddr = (karg.hdr.channel << 8) | karg.hdr.id; in mptctl_hp_targetinfo()
2775 karg.message_rejects = (u32) le16_to_cpu(pg3_alloc->MsgRejectCount); in mptctl_hp_targetinfo()
2776 karg.phase_errors = (u32) le16_to_cpu(pg3_alloc->PhaseErrorCount); in mptctl_hp_targetinfo()
2777 karg.parity_errors = (u32) le16_to_cpu(pg3_alloc->ParityErrorCount); in mptctl_hp_targetinfo()
2784 karg.select_timeouts = hd->sel_timeout[karg.hdr.id]; in mptctl_hp_targetinfo()
2788 if (copy_to_user((char __user *)arg, &karg, sizeof(hp_target_info_t))) { in mptctl_hp_targetinfo()
2866 struct mpt_ioctl_command karg; in compat_mpt_command() local
2890 karg.hdr.iocnum = karg32.hdr.iocnum; in compat_mpt_command()
2891 karg.hdr.port = karg32.hdr.port; in compat_mpt_command()
2892 karg.timeout = karg32.timeout; in compat_mpt_command()
2893 karg.maxReplyBytes = karg32.maxReplyBytes; in compat_mpt_command()
2895 karg.dataInSize = karg32.dataInSize; in compat_mpt_command()
2896 karg.dataOutSize = karg32.dataOutSize; in compat_mpt_command()
2897 karg.maxSenseBytes = karg32.maxSenseBytes; in compat_mpt_command()
2898 karg.dataSgeOffset = karg32.dataSgeOffset; in compat_mpt_command()
2900 karg.replyFrameBufPtr = (char __user *)(unsigned long)karg32.replyFrameBufPtr; in compat_mpt_command()
2901 karg.dataInBufPtr = (char __user *)(unsigned long)karg32.dataInBufPtr; in compat_mpt_command()
2902 karg.dataOutBufPtr = (char __user *)(unsigned long)karg32.dataOutBufPtr; in compat_mpt_command()
2903 karg.senseDataPtr = (char __user *)(unsigned long)karg32.senseDataPtr; in compat_mpt_command()
2907 ret = mptctl_do_mpt_command (karg, &uarg->MF); in compat_mpt_command()