Lines Matching refs:karg

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