Lines Matching refs:karg
126 static int mptctl_do_mpt_command(MPT_ADAPTER *iocp, struct mpt_ioctl_command karg, void __user *mfP…
1229 struct mpt_ioctl_iocinfo *karg; in mptctl_getiocinfo() local
1251 karg = memdup_user(uarg, data_size); in mptctl_getiocinfo()
1252 if (IS_ERR(karg)) { in mptctl_getiocinfo()
1254 __FILE__, __LINE__, PTR_ERR(karg)); in mptctl_getiocinfo()
1255 return PTR_ERR(karg); in mptctl_getiocinfo()
1259 if (karg->hdr.maxDataSize != data_size) { in mptctl_getiocinfo()
1263 kfree(karg); in mptctl_getiocinfo()
1274 karg->adapterType = MPT_IOCTL_INTERFACE_SAS; in mptctl_getiocinfo()
1276 karg->adapterType = MPT_IOCTL_INTERFACE_FC; in mptctl_getiocinfo()
1278 karg->adapterType = MPT_IOCTL_INTERFACE_SCSI; in mptctl_getiocinfo()
1280 if (karg->hdr.port > 1) { in mptctl_getiocinfo()
1281 kfree(karg); in mptctl_getiocinfo()
1284 port = karg->hdr.port; in mptctl_getiocinfo()
1286 karg->port = port; in mptctl_getiocinfo()
1289 karg->pciId = pdev->device; in mptctl_getiocinfo()
1290 karg->hwRev = pdev->revision; in mptctl_getiocinfo()
1291 karg->subSystemDevice = pdev->subsystem_device; in mptctl_getiocinfo()
1292 karg->subSystemVendor = pdev->subsystem_vendor; in mptctl_getiocinfo()
1297 karg->pciInfo.u.bits.busNumber = pdev->bus->number; in mptctl_getiocinfo()
1298 karg->pciInfo.u.bits.deviceNumber = PCI_SLOT( pdev->devfn ); in mptctl_getiocinfo()
1299 karg->pciInfo.u.bits.functionNumber = PCI_FUNC( pdev->devfn ); in mptctl_getiocinfo()
1303 karg->pciInfo.u.bits.busNumber = pdev->bus->number; in mptctl_getiocinfo()
1304 karg->pciInfo.u.bits.deviceNumber = PCI_SLOT( pdev->devfn ); in mptctl_getiocinfo()
1305 karg->pciInfo.u.bits.functionNumber = PCI_FUNC( pdev->devfn ); in mptctl_getiocinfo()
1306 karg->pciInfo.segmentID = pci_domain_nr(pdev->bus); in mptctl_getiocinfo()
1311 karg->numDevices = 0; in mptctl_getiocinfo()
1320 karg->numDevices++; in mptctl_getiocinfo()
1326 karg->FWVersion = ioc->facts.FWVersion.Word; in mptctl_getiocinfo()
1327 karg->BIOSVersion = ioc->biosVersion; in mptctl_getiocinfo()
1331 strscpy_pad(karg->driverVersion, MPT_LINUX_PACKAGE_NAME, in mptctl_getiocinfo()
1332 sizeof(karg->driverVersion)); in mptctl_getiocinfo()
1334 karg->busChangeEvent = 0; in mptctl_getiocinfo()
1335 karg->hostId = ioc->pfacts[port].PortSCSIID; in mptctl_getiocinfo()
1336 karg->rsvd[0] = karg->rsvd[1] = 0; in mptctl_getiocinfo()
1340 if (copy_to_user((char __user *)arg, karg, data_size)) { in mptctl_getiocinfo()
1344 kfree(karg); in mptctl_getiocinfo()
1348 kfree(karg); in mptctl_getiocinfo()
1366 struct mpt_ioctl_targetinfo karg; in mptctl_gettargetinfo() local
1376 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_targetinfo))) { in mptctl_gettargetinfo()
1385 numBytes = karg.hdr.maxDataSize - sizeof(mpt_ioctl_header); in mptctl_gettargetinfo()
1436 karg.numDevices = numDevices; in mptctl_gettargetinfo()
1440 if (copy_to_user((char __user *)arg, &karg, in mptctl_gettargetinfo()
1476 struct mpt_ioctl_test karg; in mptctl_readtest() local
1478 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_test))) { in mptctl_readtest()
1492 karg.chip_type = ioc->mfcnt; in mptctl_readtest()
1494 karg.chip_type = ioc->pcidev->device; in mptctl_readtest()
1496 strscpy_pad(karg.name, ioc->name, sizeof(karg.name)); in mptctl_readtest()
1497 strscpy_pad(karg.product, ioc->prod_name, sizeof(karg.product)); in mptctl_readtest()
1501 if (copy_to_user((char __user *)arg, &karg, sizeof(struct mpt_ioctl_test))) { in mptctl_readtest()
1526 struct mpt_ioctl_eventquery karg; in mptctl_eventquery() local
1528 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventquery))) { in mptctl_eventquery()
1537 karg.eventEntries = MPTCTL_EVENT_LOG_SIZE; in mptctl_eventquery()
1538 karg.eventTypes = ioc->eventTypes; in mptctl_eventquery()
1542 if (copy_to_user((char __user *)arg, &karg, sizeof(struct mpt_ioctl_eventquery))) { in mptctl_eventquery()
1556 struct mpt_ioctl_eventenable karg; in mptctl_eventenable() local
1558 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventenable))) { in mptctl_eventenable()
1585 ioc->eventTypes = karg.eventTypes; in mptctl_eventenable()
1595 struct mpt_ioctl_eventreport karg; in mptctl_eventreport() local
1598 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_eventreport))) { in mptctl_eventreport()
1608 numBytes = karg.hdr.maxDataSize - sizeof(mpt_ioctl_header); in mptctl_eventreport()
1641 struct mpt_ioctl_replace_fw karg; in mptctl_replace_fw() local
1644 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_replace_fw))) { in mptctl_replace_fw()
1662 newFwSize = ALIGN(karg.newImageSize, 4); in mptctl_replace_fw()
1700 struct mpt_ioctl_command karg; in mptctl_mpt_command() local
1704 if (copy_from_user(&karg, uarg, sizeof(struct mpt_ioctl_command))) { in mptctl_mpt_command()
1711 rc = mptctl_do_mpt_command (ioc, karg, &uarg->MF); in mptctl_mpt_command()
1729 mptctl_do_mpt_command (MPT_ADAPTER *ioc, struct mpt_ioctl_command karg, void __user *mfPtr) in mptctl_do_mpt_command() argument
1764 if (karg.maxReplyBytes < 0 || in mptctl_do_mpt_command()
1765 karg.dataInSize < 0 || in mptctl_do_mpt_command()
1766 karg.dataOutSize < 0 || in mptctl_do_mpt_command()
1767 karg.dataSgeOffset < 0 || in mptctl_do_mpt_command()
1768 karg.maxSenseBytes < 0 || in mptctl_do_mpt_command()
1769 karg.dataSgeOffset > ioc->req_sz / 4) in mptctl_do_mpt_command()
1774 sz = karg.dataSgeOffset * 4; in mptctl_do_mpt_command()
1775 if (karg.dataInSize > 0) in mptctl_do_mpt_command()
1777 if (karg.dataOutSize > 0) in mptctl_do_mpt_command()
1800 if (copy_from_user(mf, mfPtr, karg.dataSgeOffset * 4)) { in mptctl_do_mpt_command()
1820 karg.dataOutSize = karg.dataInSize = 0; in mptctl_do_mpt_command()
1881 if (karg.maxSenseBytes > MPT_SENSE_BUFFER_SIZE) in mptctl_do_mpt_command()
1884 pScsiReq->SenseBufferLength = karg.maxSenseBytes; in mptctl_do_mpt_command()
1906 if (karg.dataOutSize > 0) { in mptctl_do_mpt_command()
1908 dataSize = karg.dataOutSize; in mptctl_do_mpt_command()
1911 dataSize = karg.dataInSize; in mptctl_do_mpt_command()
1968 if (karg.maxSenseBytes > MPT_SENSE_BUFFER_SIZE) in mptctl_do_mpt_command()
1971 pScsiReq->SenseBufferLength = karg.maxSenseBytes; in mptctl_do_mpt_command()
1983 if (karg.dataOutSize > 0) { in mptctl_do_mpt_command()
1985 dataSize = karg.dataOutSize; in mptctl_do_mpt_command()
1988 dataSize = karg.dataInSize; in mptctl_do_mpt_command()
2082 psge = (char *) (((int *) mf) + karg.dataSgeOffset); in mptctl_do_mpt_command()
2085 if (karg.dataOutSize > 0) in mptctl_do_mpt_command()
2088 if (karg.dataInSize > 0) in mptctl_do_mpt_command()
2094 if (karg.dataOutSize > 0) { in mptctl_do_mpt_command()
2095 if (karg.dataInSize > 0) { in mptctl_do_mpt_command()
2103 flagsLength |= karg.dataOutSize; in mptctl_do_mpt_command()
2104 bufOut.len = karg.dataOutSize; in mptctl_do_mpt_command()
2122 karg.dataOutBufPtr, in mptctl_do_mpt_command()
2128 ioc->name, __FILE__, __LINE__,karg.dataOutBufPtr); in mptctl_do_mpt_command()
2135 if (karg.dataInSize > 0) { in mptctl_do_mpt_command()
2137 flagsLength |= karg.dataInSize; in mptctl_do_mpt_command()
2139 bufIn.len = karg.dataInSize; in mptctl_do_mpt_command()
2193 timeout = (karg.timeout > 0) ? karg.timeout : MPT_IOCTL_DEFAULT_TIMEOUT; in mptctl_do_mpt_command()
2230 if (karg.maxReplyBytes < ioc->reply_sz) { in mptctl_do_mpt_command()
2231 sz = min(karg.maxReplyBytes, in mptctl_do_mpt_command()
2237 if (copy_to_user(karg.replyFrameBufPtr, in mptctl_do_mpt_command()
2242 ioc->name, __FILE__, __LINE__, karg.replyFrameBufPtr); in mptctl_do_mpt_command()
2252 sz = min(karg.maxSenseBytes, MPT_SENSE_BUFFER_SIZE); in mptctl_do_mpt_command()
2254 if (copy_to_user(karg.senseDataPtr, in mptctl_do_mpt_command()
2259 karg.senseDataPtr); in mptctl_do_mpt_command()
2270 (karg.dataInSize > 0) && (bufIn.kptr)) { in mptctl_do_mpt_command()
2272 if (copy_to_user(karg.dataInBufPtr, in mptctl_do_mpt_command()
2273 bufIn.kptr, karg.dataInSize)) { in mptctl_do_mpt_command()
2277 karg.dataInBufPtr); in mptctl_do_mpt_command()
2326 hp_host_info_t karg; in mptctl_hp_hostinfo() local
2344 if (copy_from_user(&karg, uarg, sizeof(hp_host_info_t))) { in mptctl_hp_hostinfo()
2359 karg.vendor = pdev->vendor; in mptctl_hp_hostinfo()
2360 karg.device = pdev->device; in mptctl_hp_hostinfo()
2361 karg.subsystem_id = pdev->subsystem_device; in mptctl_hp_hostinfo()
2362 karg.subsystem_vendor = pdev->subsystem_vendor; in mptctl_hp_hostinfo()
2363 karg.devfn = pdev->devfn; in mptctl_hp_hostinfo()
2364 karg.bus = pdev->bus->number; in mptctl_hp_hostinfo()
2370 karg.host_no = ioc->sh->host_no; in mptctl_hp_hostinfo()
2372 karg.host_no = -1; in mptctl_hp_hostinfo()
2375 snprintf(karg.fw_version, sizeof(karg.fw_version), in mptctl_hp_hostinfo()
2395 strscpy_pad(karg.serial_number, " ", sizeof(karg.serial_number)); in mptctl_hp_hostinfo()
2409 strscpy_pad(karg.serial_number, in mptctl_hp_hostinfo()
2411 sizeof(karg.serial_number)); in mptctl_hp_hostinfo()
2424 karg.ioc_status = HP_STATUS_OK; in mptctl_hp_hostinfo()
2428 karg.ioc_status = HP_STATUS_FAILED; in mptctl_hp_hostinfo()
2434 karg.ioc_status = HP_STATUS_OTHER; in mptctl_hp_hostinfo()
2438 karg.base_io_addr = pci_resource_start(pdev, 0); in mptctl_hp_hostinfo()
2441 karg.bus_phys_width = HP_BUS_WIDTH_UNK; in mptctl_hp_hostinfo()
2443 karg.bus_phys_width = HP_BUS_WIDTH_16; in mptctl_hp_hostinfo()
2445 karg.hard_resets = 0; in mptctl_hp_hostinfo()
2446 karg.soft_resets = 0; in mptctl_hp_hostinfo()
2447 karg.timeouts = 0; in mptctl_hp_hostinfo()
2452 karg.hard_resets = ioc->hard_resets; in mptctl_hp_hostinfo()
2453 karg.soft_resets = ioc->soft_resets; in mptctl_hp_hostinfo()
2454 karg.timeouts = ioc->timeouts; in mptctl_hp_hostinfo()
2521 karg.rsvd = *(u32 *)pbuf; in mptctl_hp_hostinfo()
2532 if (copy_to_user((char __user *)arg, &karg, sizeof(hp_host_info_t))) { in mptctl_hp_hostinfo()
2561 hp_target_info_t karg; in mptctl_hp_targetinfo() local
2568 if (copy_from_user(&karg, uarg, sizeof(hp_target_info_t))) { in mptctl_hp_targetinfo()
2575 if (karg.hdr.id >= MPT_MAX_FC_DEVICES) in mptctl_hp_targetinfo()
2588 if (ioc->sh->host_no != karg.hdr.host) in mptctl_hp_targetinfo()
2608 cfg.pageAddr = (karg.hdr.channel << 8) | karg.hdr.id; in mptctl_hp_targetinfo()
2612 karg.negotiated_width = np & MPI_SCSIDEVPAGE0_NP_WIDE ? in mptctl_hp_targetinfo()
2618 karg.negotiated_speed = HP_DEV_SPEED_ULTRA320; in mptctl_hp_targetinfo()
2620 karg.negotiated_speed = HP_DEV_SPEED_ULTRA160; in mptctl_hp_targetinfo()
2622 karg.negotiated_speed = HP_DEV_SPEED_ULTRA2; in mptctl_hp_targetinfo()
2624 karg.negotiated_speed = HP_DEV_SPEED_ULTRA; in mptctl_hp_targetinfo()
2626 karg.negotiated_speed = HP_DEV_SPEED_FAST; in mptctl_hp_targetinfo()
2628 karg.negotiated_speed = HP_DEV_SPEED_ASYNC; in mptctl_hp_targetinfo()
2630 karg.negotiated_speed = HP_DEV_SPEED_ASYNC; in mptctl_hp_targetinfo()
2639 karg.message_rejects = -1; in mptctl_hp_targetinfo()
2640 karg.phase_errors = -1; in mptctl_hp_targetinfo()
2641 karg.parity_errors = -1; in mptctl_hp_targetinfo()
2642 karg.select_timeouts = -1; in mptctl_hp_targetinfo()
2664 cfg.pageAddr = (karg.hdr.channel << 8) | karg.hdr.id; in mptctl_hp_targetinfo()
2666 karg.message_rejects = (u32) le16_to_cpu(pg3_alloc->MsgRejectCount); in mptctl_hp_targetinfo()
2667 karg.phase_errors = (u32) le16_to_cpu(pg3_alloc->PhaseErrorCount); in mptctl_hp_targetinfo()
2668 karg.parity_errors = (u32) le16_to_cpu(pg3_alloc->ParityErrorCount); in mptctl_hp_targetinfo()
2676 karg.select_timeouts = hd->sel_timeout[karg.hdr.id]; in mptctl_hp_targetinfo()
2680 if (copy_to_user((char __user *)arg, &karg, sizeof(hp_target_info_t))) { in mptctl_hp_targetinfo()
2757 struct mpt_ioctl_command karg; in compat_mpt_command() local
2781 karg.hdr.iocnum = karg32.hdr.iocnum; in compat_mpt_command()
2782 karg.hdr.port = karg32.hdr.port; in compat_mpt_command()
2783 karg.timeout = karg32.timeout; in compat_mpt_command()
2784 karg.maxReplyBytes = karg32.maxReplyBytes; in compat_mpt_command()
2786 karg.dataInSize = karg32.dataInSize; in compat_mpt_command()
2787 karg.dataOutSize = karg32.dataOutSize; in compat_mpt_command()
2788 karg.maxSenseBytes = karg32.maxSenseBytes; in compat_mpt_command()
2789 karg.dataSgeOffset = karg32.dataSgeOffset; in compat_mpt_command()
2791 karg.replyFrameBufPtr = (char __user *)(unsigned long)karg32.replyFrameBufPtr; in compat_mpt_command()
2792 karg.dataInBufPtr = (char __user *)(unsigned long)karg32.dataInBufPtr; in compat_mpt_command()
2793 karg.dataOutBufPtr = (char __user *)(unsigned long)karg32.dataOutBufPtr; in compat_mpt_command()
2794 karg.senseDataPtr = (char __user *)(unsigned long)karg32.senseDataPtr; in compat_mpt_command()
2798 ret = mptctl_do_mpt_command (iocp, karg, &uarg->MF); in compat_mpt_command()