Lines Matching refs:karg
571 * @karg: (struct mpt3_ioctl_command)
578 _ctl_set_task_mid(struct MPT3SAS_ADAPTER *ioc, struct mpt3_ioctl_command *karg,
640 sz = min_t(u32, karg->max_reply_bytes, ioc->reply_sz);
641 if (copy_to_user(karg->reply_frame_buf_ptr, ioc->ctl_cmds.reply,
658 * @karg: (struct mpt3_ioctl_command)
662 _ctl_do_mpt_command(struct MPT3SAS_ADAPTER *ioc, struct mpt3_ioctl_command karg,
704 if (karg.data_sge_offset * 4 > ioc->request_sz ||
705 karg.data_sge_offset > (UINT_MAX / 4)) {
711 if (copy_from_user(mpi_request, mf, karg.data_sge_offset*4)) {
735 memcpy(request, mpi_request, karg.data_sge_offset*4);
737 data_out_sz = karg.data_out_size;
738 data_in_sz = karg.data_in_size;
766 if (copy_from_user(data_out, karg.data_out_buf_ptr,
788 psge = (void *)request + (karg.data_sge_offset*4);
879 if (_ctl_set_task_mid(ioc, &karg, tm_request)) {
1026 if (karg.timeout < MPT3_IOCTL_DEFAULT_TIMEOUT)
1029 timeout = karg.timeout;
1046 karg.data_sge_offset, issue_reset);
1065 if (copy_to_user(karg.data_in_buf_ptr, data_in,
1075 if (karg.max_reply_bytes) {
1076 sz = min_t(u32, karg.max_reply_bytes, ioc->reply_sz);
1077 if (copy_to_user(karg.reply_frame_buf_ptr, ioc->ctl_cmds.reply,
1087 if (karg.max_sense_bytes && (mpi_request->Function ==
1091 if (karg.sense_data_ptr == NULL) {
1098 sz = min_t(u32, karg.max_sense_bytes, sz_arg);
1099 if (copy_to_user(karg.sense_data_ptr, ioc->ctl_cmds.sense,
1165 struct mpt3_ioctl_iocinfo karg;
1170 memset(&karg, 0 , sizeof(karg));
1172 karg.port_number = ioc->pfacts[0].PortNumber;
1173 karg.hw_rev = ioc->pdev->revision;
1174 karg.pci_id = ioc->pdev->device;
1175 karg.subsystem_device = ioc->pdev->subsystem_device;
1176 karg.subsystem_vendor = ioc->pdev->subsystem_vendor;
1177 karg.pci_information.u.bits.bus = ioc->pdev->bus->number;
1178 karg.pci_information.u.bits.device = PCI_SLOT(ioc->pdev->devfn);
1179 karg.pci_information.u.bits.function = PCI_FUNC(ioc->pdev->devfn);
1180 karg.pci_information.segment_id = pci_domain_nr(ioc->pdev->bus);
1181 karg.firmware_version = ioc->facts.FWVersion.Word;
1182 strcpy(karg.driver_version, ioc->driver_name);
1183 strcat(karg.driver_version, "-");
1187 karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2_SSS6200;
1189 karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2;
1190 strcat(karg.driver_version, MPT2SAS_DRIVER_VERSION);
1195 karg.adapter_type = MPT3_IOCTL_INTERFACE_SAS35;
1197 karg.adapter_type = MPT3_IOCTL_INTERFACE_SAS3;
1198 strcat(karg.driver_version, MPT3SAS_DRIVER_VERSION);
1201 karg.bios_version = le32_to_cpu(ioc->bios_pg3.BiosVersion);
1203 if (copy_to_user(arg, &karg, sizeof(karg))) {
1219 struct mpt3_ioctl_eventquery karg;
1221 if (copy_from_user(&karg, arg, sizeof(karg))) {
1230 karg.event_entries = MPT3SAS_CTL_EVENT_LOG_SIZE;
1231 memcpy(karg.event_types, ioc->event_type,
1234 if (copy_to_user(arg, &karg, sizeof(karg))) {
1250 struct mpt3_ioctl_eventenable karg;
1252 if (copy_from_user(&karg, arg, sizeof(karg))) {
1261 memcpy(ioc->event_type, karg.event_types,
1288 struct mpt3_ioctl_eventreport karg;
1292 if (copy_from_user(&karg, arg, sizeof(karg))) {
1301 number_bytes = karg.hdr.max_data_size -
1332 struct mpt3_ioctl_diag_reset karg;
1335 if (copy_from_user(&karg, arg, sizeof(karg))) {
1471 struct mpt3_ioctl_btdh_mapping karg;
1474 if (copy_from_user(&karg, arg, sizeof(karg))) {
1483 rc = _ctl_btdh_search_sas_device(ioc, &karg);
1485 rc = _ctl_btdh_search_pcie_device(ioc, &karg);
1487 _ctl_btdh_search_raid_device(ioc, &karg);
1489 if (copy_to_user(arg, &karg, sizeof(karg))) {
1926 struct mpt3_diag_register karg;
1929 if (copy_from_user(&karg, arg, sizeof(karg))) {
1935 rc = _ctl_diag_register_2(ioc, &karg);
1937 if (!rc && (ioc->diag_buffer_status[karg.buffer_type] &
1939 ioc->diag_buffer_status[karg.buffer_type] |=
1956 struct mpt3_diag_unregister karg;
1962 if (copy_from_user(&karg, arg, sizeof(karg))) {
1971 buffer_type = _ctl_diag_get_bufftype(ioc, karg.unique_id);
1974 __func__, karg.unique_id);
1997 if (karg.unique_id != ioc->unique_id[buffer_type]) {
1999 __func__, karg.unique_id);
2040 struct mpt3_diag_query karg;
2045 if (copy_from_user(&karg, arg, sizeof(karg))) {
2054 karg.application_flags = 0;
2055 buffer_type = karg.buffer_type;
2073 if (karg.unique_id) {
2074 if (karg.unique_id != ioc->unique_id[buffer_type]) {
2076 __func__, karg.unique_id);
2090 karg.application_flags |= MPT3_APP_FLAGS_BUFFER_VALID;
2094 karg.application_flags |= MPT3_APP_FLAGS_FW_BUFFER_ACCESS;
2098 karg.application_flags |= MPT3_APP_FLAGS_DYNAMIC_BUFFER_ALLOC;
2102 karg.application_flags |= MPT3_APP_FLAGS_APP_OWNED;
2105 karg.product_specific[i] =
2108 karg.total_buffer_size = ioc->diag_buffer_sz[buffer_type];
2109 karg.driver_added_buffer_size = 0;
2110 karg.unique_id = ioc->unique_id[buffer_type];
2111 karg.diagnostic_flags = ioc->diagnostic_flags[buffer_type];
2113 if (copy_to_user(arg, &karg, sizeof(struct mpt3_diag_query))) {
2236 struct mpt3_diag_release karg;
2242 if (copy_from_user(&karg, arg, sizeof(karg))) {
2251 buffer_type = _ctl_diag_get_bufftype(ioc, karg.unique_id);
2254 __func__, karg.unique_id);
2271 if (karg.unique_id != ioc->unique_id[buffer_type]) {
2273 __func__, karg.unique_id);
2320 struct mpt3_diag_read_buffer karg;
2332 if (copy_from_user(&karg, arg, sizeof(karg))) {
2341 buffer_type = _ctl_diag_get_bufftype(ioc, karg.unique_id);
2344 __func__, karg.unique_id);
2354 if (karg.unique_id != ioc->unique_id[buffer_type]) {
2356 __func__, karg.unique_id);
2369 if ((karg.starting_offset % 4) || (karg.bytes_to_read % 4)) {
2375 if (karg.starting_offset > request_size)
2378 diag_data = (void *)(request_data + karg.starting_offset);
2381 __func__, diag_data, karg.starting_offset,
2382 karg.bytes_to_read));
2385 if ((diag_data + karg.bytes_to_read < diag_data) ||
2386 (diag_data + karg.bytes_to_read > request_data + request_size))
2387 copy_size = request_size - karg.starting_offset;
2389 copy_size = karg.bytes_to_read;
2398 if ((karg.flags & MPT3_FLAGS_REREGISTER) == 0)
2503 struct mpt3_addnl_diag_query karg;
2506 if (copy_from_user(&karg, arg, sizeof(karg))) {
2512 if (karg.unique_id == 0) {
2514 __func__, karg.unique_id);
2517 buffer_type = _ctl_diag_get_bufftype(ioc, karg.unique_id);
2520 __func__, karg.unique_id);
2523 memset(&karg.rel_query, 0, sizeof(karg.rel_query));
2536 memcpy(&karg.rel_query, &ioc->htb_rel, sizeof(karg.rel_query));
2538 if (copy_to_user(arg, &karg, sizeof(struct mpt3_addnl_diag_query))) {
2561 struct mpt3_ioctl_command karg;
2574 memset(&karg, 0, sizeof(struct mpt3_ioctl_command));
2575 karg.hdr.ioc_number = karg32.hdr.ioc_number;
2576 karg.hdr.port_number = karg32.hdr.port_number;
2577 karg.hdr.max_data_size = karg32.hdr.max_data_size;
2578 karg.timeout = karg32.timeout;
2579 karg.max_reply_bytes = karg32.max_reply_bytes;
2580 karg.data_in_size = karg32.data_in_size;
2581 karg.data_out_size = karg32.data_out_size;
2582 karg.max_sense_bytes = karg32.max_sense_bytes;
2583 karg.data_sge_offset = karg32.data_sge_offset;
2584 karg.reply_frame_buf_ptr = compat_ptr(karg32.reply_frame_buf_ptr);
2585 karg.data_in_buf_ptr = compat_ptr(karg32.data_in_buf_ptr);
2586 karg.data_out_buf_ptr = compat_ptr(karg32.data_out_buf_ptr);
2587 karg.sense_data_ptr = compat_ptr(karg32.sense_data_ptr);
2588 return _ctl_do_mpt_command(ioc, karg, &uarg->mf);
2654 struct mpt3_ioctl_command karg;
2662 if (copy_from_user(&karg, arg, sizeof(karg))) {
2669 if (karg.hdr.ioc_number != ioctl_header.ioc_number) {
2675 ret = _ctl_do_mpt_command(ioc, karg, &uarg->mf);