Lines Matching refs:karg
547 _ctl_set_task_mid(struct MPT3SAS_ADAPTER *ioc, struct mpt3_ioctl_command *karg, in _ctl_set_task_mid() argument
601 sz = min_t(u32, karg->max_reply_bytes, ioc->reply_sz); in _ctl_set_task_mid()
602 if (copy_to_user(karg->reply_frame_buf_ptr, ioc->ctl_cmds.reply, in _ctl_set_task_mid()
623 _ctl_do_mpt_command(struct MPT3SAS_ADAPTER *ioc, struct mpt3_ioctl_command karg, in _ctl_do_mpt_command() argument
684 if (karg.data_sge_offset * 4 > ioc->request_sz || in _ctl_do_mpt_command()
685 karg.data_sge_offset > (UINT_MAX / 4)) { in _ctl_do_mpt_command()
691 if (copy_from_user(mpi_request, mf, karg.data_sge_offset*4)) { in _ctl_do_mpt_command()
721 memcpy(request, mpi_request, karg.data_sge_offset*4); in _ctl_do_mpt_command()
723 data_out_sz = karg.data_out_size; in _ctl_do_mpt_command()
724 data_in_sz = karg.data_in_size; in _ctl_do_mpt_command()
748 if (copy_from_user(data_out, karg.data_out_buf_ptr, in _ctl_do_mpt_command()
770 psge = (void *)request + (karg.data_sge_offset*4); in _ctl_do_mpt_command()
810 if (_ctl_set_task_mid(ioc, &karg, tm_request)) { in _ctl_do_mpt_command()
898 if (karg.timeout < MPT3_IOCTL_DEFAULT_TIMEOUT) in _ctl_do_mpt_command()
901 timeout = karg.timeout; in _ctl_do_mpt_command()
919 _debug_dump_mf(mpi_request, karg.data_sge_offset); in _ctl_do_mpt_command()
943 if (copy_to_user(karg.data_in_buf_ptr, data_in, in _ctl_do_mpt_command()
953 if (karg.max_reply_bytes) { in _ctl_do_mpt_command()
954 sz = min_t(u32, karg.max_reply_bytes, ioc->reply_sz); in _ctl_do_mpt_command()
955 if (copy_to_user(karg.reply_frame_buf_ptr, ioc->ctl_cmds.reply, in _ctl_do_mpt_command()
965 if (karg.max_sense_bytes && (mpi_request->Function == in _ctl_do_mpt_command()
968 sz = min_t(u32, karg.max_sense_bytes, SCSI_SENSE_BUFFERSIZE); in _ctl_do_mpt_command()
969 if (copy_to_user(karg.sense_data_ptr, ioc->ctl_cmds.sense, in _ctl_do_mpt_command()
1022 struct mpt3_ioctl_iocinfo karg; in _ctl_getiocinfo() local
1024 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_getiocinfo()
1033 memset(&karg, 0 , sizeof(karg)); in _ctl_getiocinfo()
1035 karg.port_number = ioc->pfacts[0].PortNumber; in _ctl_getiocinfo()
1036 karg.hw_rev = ioc->pdev->revision; in _ctl_getiocinfo()
1037 karg.pci_id = ioc->pdev->device; in _ctl_getiocinfo()
1038 karg.subsystem_device = ioc->pdev->subsystem_device; in _ctl_getiocinfo()
1039 karg.subsystem_vendor = ioc->pdev->subsystem_vendor; in _ctl_getiocinfo()
1040 karg.pci_information.u.bits.bus = ioc->pdev->bus->number; in _ctl_getiocinfo()
1041 karg.pci_information.u.bits.device = PCI_SLOT(ioc->pdev->devfn); in _ctl_getiocinfo()
1042 karg.pci_information.u.bits.function = PCI_FUNC(ioc->pdev->devfn); in _ctl_getiocinfo()
1043 karg.pci_information.segment_id = pci_domain_nr(ioc->pdev->bus); in _ctl_getiocinfo()
1044 karg.firmware_version = ioc->facts.FWVersion.Word; in _ctl_getiocinfo()
1045 strcpy(karg.driver_version, ioc->driver_name); in _ctl_getiocinfo()
1046 strcat(karg.driver_version, "-"); in _ctl_getiocinfo()
1050 karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2_SSS6200; in _ctl_getiocinfo()
1052 karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2; in _ctl_getiocinfo()
1053 strcat(karg.driver_version, MPT2SAS_DRIVER_VERSION); in _ctl_getiocinfo()
1056 karg.adapter_type = MPT3_IOCTL_INTERFACE_SAS3; in _ctl_getiocinfo()
1057 strcat(karg.driver_version, MPT3SAS_DRIVER_VERSION); in _ctl_getiocinfo()
1060 karg.bios_version = le32_to_cpu(ioc->bios_pg3.BiosVersion); in _ctl_getiocinfo()
1062 if (copy_to_user(arg, &karg, sizeof(karg))) { in _ctl_getiocinfo()
1078 struct mpt3_ioctl_eventquery karg; in _ctl_eventquery() local
1080 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_eventquery()
1089 karg.event_entries = MPT3SAS_CTL_EVENT_LOG_SIZE; in _ctl_eventquery()
1090 memcpy(karg.event_types, ioc->event_type, in _ctl_eventquery()
1093 if (copy_to_user(arg, &karg, sizeof(karg))) { in _ctl_eventquery()
1109 struct mpt3_ioctl_eventenable karg; in _ctl_eventenable() local
1111 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_eventenable()
1120 memcpy(ioc->event_type, karg.event_types, in _ctl_eventenable()
1147 struct mpt3_ioctl_eventreport karg; in _ctl_eventreport() local
1151 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_eventreport()
1160 number_bytes = karg.hdr.max_data_size - in _ctl_eventreport()
1191 struct mpt3_ioctl_diag_reset karg; in _ctl_do_reset() local
1194 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_do_reset()
1294 struct mpt3_ioctl_btdh_mapping karg; in _ctl_btdh_mapping() local
1297 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_btdh_mapping()
1306 rc = _ctl_btdh_search_sas_device(ioc, &karg); in _ctl_btdh_mapping()
1308 _ctl_btdh_search_raid_device(ioc, &karg); in _ctl_btdh_mapping()
1310 if (copy_to_user(arg, &karg, sizeof(karg))) { in _ctl_btdh_mapping()
1597 struct mpt3_diag_register karg; in _ctl_diag_register() local
1600 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_diag_register()
1606 rc = _ctl_diag_register_2(ioc, &karg); in _ctl_diag_register()
1621 struct mpt3_diag_unregister karg; in _ctl_diag_unregister() local
1627 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_diag_unregister()
1636 buffer_type = karg.unique_id & 0x000000ff; in _ctl_diag_unregister()
1659 if (karg.unique_id != ioc->unique_id[buffer_type]) { in _ctl_diag_unregister()
1662 ioc->name, __func__, karg.unique_id); in _ctl_diag_unregister()
1695 struct mpt3_diag_query karg; in _ctl_diag_query() local
1700 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_diag_query()
1709 karg.application_flags = 0; in _ctl_diag_query()
1710 buffer_type = karg.buffer_type; in _ctl_diag_query()
1727 if (karg.unique_id & 0xffffff00) { in _ctl_diag_query()
1728 if (karg.unique_id != ioc->unique_id[buffer_type]) { in _ctl_diag_query()
1731 ioc->name, __func__, karg.unique_id); in _ctl_diag_query()
1745 karg.application_flags = (MPT3_APP_FLAGS_APP_OWNED | in _ctl_diag_query()
1748 karg.application_flags = (MPT3_APP_FLAGS_APP_OWNED | in _ctl_diag_query()
1753 karg.product_specific[i] = in _ctl_diag_query()
1756 karg.total_buffer_size = ioc->diag_buffer_sz[buffer_type]; in _ctl_diag_query()
1757 karg.driver_added_buffer_size = 0; in _ctl_diag_query()
1758 karg.unique_id = ioc->unique_id[buffer_type]; in _ctl_diag_query()
1759 karg.diagnostic_flags = ioc->diagnostic_flags[buffer_type]; in _ctl_diag_query()
1761 if (copy_to_user(arg, &karg, sizeof(struct mpt3_diag_query))) { in _ctl_diag_query()
1889 struct mpt3_diag_release karg; in _ctl_diag_release() local
1895 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_diag_release()
1904 buffer_type = karg.unique_id & 0x000000ff; in _ctl_diag_release()
1920 if (karg.unique_id != ioc->unique_id[buffer_type]) { in _ctl_diag_release()
1923 ioc->name, __func__, karg.unique_id); in _ctl_diag_release()
1975 struct mpt3_diag_read_buffer karg; in _ctl_diag_read_buffer() local
1987 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_diag_read_buffer()
1996 buffer_type = karg.unique_id & 0x000000ff; in _ctl_diag_read_buffer()
2004 if (karg.unique_id != ioc->unique_id[buffer_type]) { in _ctl_diag_read_buffer()
2007 ioc->name, __func__, karg.unique_id); in _ctl_diag_read_buffer()
2021 if ((karg.starting_offset % 4) || (karg.bytes_to_read % 4)) { in _ctl_diag_read_buffer()
2028 if (karg.starting_offset > request_size) in _ctl_diag_read_buffer()
2031 diag_data = (void *)(request_data + karg.starting_offset); in _ctl_diag_read_buffer()
2035 diag_data, karg.starting_offset, karg.bytes_to_read)); in _ctl_diag_read_buffer()
2038 if ((diag_data + karg.bytes_to_read < diag_data) || in _ctl_diag_read_buffer()
2039 (diag_data + karg.bytes_to_read > request_data + request_size)) in _ctl_diag_read_buffer()
2040 copy_size = request_size - karg.starting_offset; in _ctl_diag_read_buffer()
2042 copy_size = karg.bytes_to_read; in _ctl_diag_read_buffer()
2052 if ((karg.flags & MPT3_FLAGS_REREGISTER) == 0) in _ctl_diag_read_buffer()
2168 struct mpt3_ioctl_command karg; in _ctl_compat_mpt_command() local
2181 memset(&karg, 0, sizeof(struct mpt3_ioctl_command)); in _ctl_compat_mpt_command()
2182 karg.hdr.ioc_number = karg32.hdr.ioc_number; in _ctl_compat_mpt_command()
2183 karg.hdr.port_number = karg32.hdr.port_number; in _ctl_compat_mpt_command()
2184 karg.hdr.max_data_size = karg32.hdr.max_data_size; in _ctl_compat_mpt_command()
2185 karg.timeout = karg32.timeout; in _ctl_compat_mpt_command()
2186 karg.max_reply_bytes = karg32.max_reply_bytes; in _ctl_compat_mpt_command()
2187 karg.data_in_size = karg32.data_in_size; in _ctl_compat_mpt_command()
2188 karg.data_out_size = karg32.data_out_size; in _ctl_compat_mpt_command()
2189 karg.max_sense_bytes = karg32.max_sense_bytes; in _ctl_compat_mpt_command()
2190 karg.data_sge_offset = karg32.data_sge_offset; in _ctl_compat_mpt_command()
2191 karg.reply_frame_buf_ptr = compat_ptr(karg32.reply_frame_buf_ptr); in _ctl_compat_mpt_command()
2192 karg.data_in_buf_ptr = compat_ptr(karg32.data_in_buf_ptr); in _ctl_compat_mpt_command()
2193 karg.data_out_buf_ptr = compat_ptr(karg32.data_out_buf_ptr); in _ctl_compat_mpt_command()
2194 karg.sense_data_ptr = compat_ptr(karg32.sense_data_ptr); in _ctl_compat_mpt_command()
2195 return _ctl_do_mpt_command(ioc, karg, &uarg->mf); in _ctl_compat_mpt_command()
2261 struct mpt3_ioctl_command karg; in _ctl_ioctl_main() local
2269 if (copy_from_user(&karg, arg, sizeof(karg))) { in _ctl_ioctl_main()
2278 ret = _ctl_do_mpt_command(ioc, karg, &uarg->mf); in _ctl_ioctl_main()