Lines Matching refs:karg
569 * @karg: (struct mpt3_ioctl_command)
576 _ctl_set_task_mid(struct MPT3SAS_ADAPTER *ioc, struct mpt3_ioctl_command *karg,
637 sz = min_t(u32, karg->max_reply_bytes, ioc->reply_sz);
638 if (copy_to_user(karg->reply_frame_buf_ptr, ioc->ctl_cmds.reply,
655 * @karg: (struct mpt3_ioctl_command)
659 _ctl_do_mpt_command(struct MPT3SAS_ADAPTER *ioc, struct mpt3_ioctl_command karg,
701 if (karg.data_sge_offset * 4 > ioc->request_sz ||
702 karg.data_sge_offset > (UINT_MAX / 4)) {
708 if (copy_from_user(mpi_request, mf, karg.data_sge_offset*4)) {
732 memcpy(request, mpi_request, karg.data_sge_offset*4);
734 data_out_sz = karg.data_out_size;
735 data_in_sz = karg.data_in_size;
763 if (copy_from_user(data_out, karg.data_out_buf_ptr,
785 psge = (void *)request + (karg.data_sge_offset*4);
876 if (_ctl_set_task_mid(ioc, &karg, tm_request)) {
1013 if (karg.timeout < MPT3_IOCTL_DEFAULT_TIMEOUT)
1016 timeout = karg.timeout;
1033 karg.data_sge_offset, issue_reset);
1052 if (copy_to_user(karg.data_in_buf_ptr, data_in,
1062 if (karg.max_reply_bytes) {
1063 sz = min_t(u32, karg.max_reply_bytes, ioc->reply_sz);
1064 if (copy_to_user(karg.reply_frame_buf_ptr, ioc->ctl_cmds.reply,
1074 if (karg.max_sense_bytes && (mpi_request->Function ==
1078 if (karg.sense_data_ptr == NULL) {
1085 sz = min_t(u32, karg.max_sense_bytes, sz_arg);
1086 if (copy_to_user(karg.sense_data_ptr, ioc->ctl_cmds.sense,
1152 struct mpt3_ioctl_iocinfo karg;
1157 memset(&karg, 0 , sizeof(karg));
1159 karg.port_number = ioc->pfacts[0].PortNumber;
1160 karg.hw_rev = ioc->pdev->revision;
1161 karg.pci_id = ioc->pdev->device;
1162 karg.subsystem_device = ioc->pdev->subsystem_device;
1163 karg.subsystem_vendor = ioc->pdev->subsystem_vendor;
1164 karg.pci_information.u.bits.bus = ioc->pdev->bus->number;
1165 karg.pci_information.u.bits.device = PCI_SLOT(ioc->pdev->devfn);
1166 karg.pci_information.u.bits.function = PCI_FUNC(ioc->pdev->devfn);
1167 karg.pci_information.segment_id = pci_domain_nr(ioc->pdev->bus);
1168 karg.firmware_version = ioc->facts.FWVersion.Word;
1169 strcpy(karg.driver_version, ioc->driver_name);
1170 strcat(karg.driver_version, "-");
1174 karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2_SSS6200;
1176 karg.adapter_type = MPT2_IOCTL_INTERFACE_SAS2;
1177 strcat(karg.driver_version, MPT2SAS_DRIVER_VERSION);
1182 karg.adapter_type = MPT3_IOCTL_INTERFACE_SAS35;
1184 karg.adapter_type = MPT3_IOCTL_INTERFACE_SAS3;
1185 strcat(karg.driver_version, MPT3SAS_DRIVER_VERSION);
1188 karg.bios_version = le32_to_cpu(ioc->bios_pg3.BiosVersion);
1190 if (copy_to_user(arg, &karg, sizeof(karg))) {
1206 struct mpt3_ioctl_eventquery karg;
1208 if (copy_from_user(&karg, arg, sizeof(karg))) {
1217 karg.event_entries = MPT3SAS_CTL_EVENT_LOG_SIZE;
1218 memcpy(karg.event_types, ioc->event_type,
1221 if (copy_to_user(arg, &karg, sizeof(karg))) {
1237 struct mpt3_ioctl_eventenable karg;
1239 if (copy_from_user(&karg, arg, sizeof(karg))) {
1248 memcpy(ioc->event_type, karg.event_types,
1275 struct mpt3_ioctl_eventreport karg;
1279 if (copy_from_user(&karg, arg, sizeof(karg))) {
1288 number_bytes = karg.hdr.max_data_size -
1319 struct mpt3_ioctl_diag_reset karg;
1322 if (copy_from_user(&karg, arg, sizeof(karg))) {
1457 struct mpt3_ioctl_btdh_mapping karg;
1460 if (copy_from_user(&karg, arg, sizeof(karg))) {
1469 rc = _ctl_btdh_search_sas_device(ioc, &karg);
1471 rc = _ctl_btdh_search_pcie_device(ioc, &karg);
1473 _ctl_btdh_search_raid_device(ioc, &karg);
1475 if (copy_to_user(arg, &karg, sizeof(karg))) {
1907 struct mpt3_diag_register karg;
1910 if (copy_from_user(&karg, arg, sizeof(karg))) {
1916 rc = _ctl_diag_register_2(ioc, &karg);
1918 if (!rc && (ioc->diag_buffer_status[karg.buffer_type] &
1920 ioc->diag_buffer_status[karg.buffer_type] |=
1937 struct mpt3_diag_unregister karg;
1943 if (copy_from_user(&karg, arg, sizeof(karg))) {
1952 buffer_type = _ctl_diag_get_bufftype(ioc, karg.unique_id);
1955 __func__, karg.unique_id);
1978 if (karg.unique_id != ioc->unique_id[buffer_type]) {
1980 __func__, karg.unique_id);
2021 struct mpt3_diag_query karg;
2026 if (copy_from_user(&karg, arg, sizeof(karg))) {
2035 karg.application_flags = 0;
2036 buffer_type = karg.buffer_type;
2054 if (karg.unique_id) {
2055 if (karg.unique_id != ioc->unique_id[buffer_type]) {
2057 __func__, karg.unique_id);
2071 karg.application_flags |= MPT3_APP_FLAGS_BUFFER_VALID;
2075 karg.application_flags |= MPT3_APP_FLAGS_FW_BUFFER_ACCESS;
2079 karg.application_flags |= MPT3_APP_FLAGS_DYNAMIC_BUFFER_ALLOC;
2083 karg.application_flags |= MPT3_APP_FLAGS_APP_OWNED;
2086 karg.product_specific[i] =
2089 karg.total_buffer_size = ioc->diag_buffer_sz[buffer_type];
2090 karg.driver_added_buffer_size = 0;
2091 karg.unique_id = ioc->unique_id[buffer_type];
2092 karg.diagnostic_flags = ioc->diagnostic_flags[buffer_type];
2094 if (copy_to_user(arg, &karg, sizeof(struct mpt3_diag_query))) {
2216 struct mpt3_diag_release karg;
2222 if (copy_from_user(&karg, arg, sizeof(karg))) {
2231 buffer_type = _ctl_diag_get_bufftype(ioc, karg.unique_id);
2234 __func__, karg.unique_id);
2251 if (karg.unique_id != ioc->unique_id[buffer_type]) {
2253 __func__, karg.unique_id);
2300 struct mpt3_diag_read_buffer karg;
2312 if (copy_from_user(&karg, arg, sizeof(karg))) {
2321 buffer_type = _ctl_diag_get_bufftype(ioc, karg.unique_id);
2324 __func__, karg.unique_id);
2334 if (karg.unique_id != ioc->unique_id[buffer_type]) {
2336 __func__, karg.unique_id);
2349 if ((karg.starting_offset % 4) || (karg.bytes_to_read % 4)) {
2355 if (karg.starting_offset > request_size)
2358 diag_data = (void *)(request_data + karg.starting_offset);
2361 __func__, diag_data, karg.starting_offset,
2362 karg.bytes_to_read));
2365 if ((diag_data + karg.bytes_to_read < diag_data) ||
2366 (diag_data + karg.bytes_to_read > request_data + request_size))
2367 copy_size = request_size - karg.starting_offset;
2369 copy_size = karg.bytes_to_read;
2378 if ((karg.flags & MPT3_FLAGS_REREGISTER) == 0)
2487 struct mpt3_ioctl_command karg;
2500 memset(&karg, 0, sizeof(struct mpt3_ioctl_command));
2501 karg.hdr.ioc_number = karg32.hdr.ioc_number;
2502 karg.hdr.port_number = karg32.hdr.port_number;
2503 karg.hdr.max_data_size = karg32.hdr.max_data_size;
2504 karg.timeout = karg32.timeout;
2505 karg.max_reply_bytes = karg32.max_reply_bytes;
2506 karg.data_in_size = karg32.data_in_size;
2507 karg.data_out_size = karg32.data_out_size;
2508 karg.max_sense_bytes = karg32.max_sense_bytes;
2509 karg.data_sge_offset = karg32.data_sge_offset;
2510 karg.reply_frame_buf_ptr = compat_ptr(karg32.reply_frame_buf_ptr);
2511 karg.data_in_buf_ptr = compat_ptr(karg32.data_in_buf_ptr);
2512 karg.data_out_buf_ptr = compat_ptr(karg32.data_out_buf_ptr);
2513 karg.sense_data_ptr = compat_ptr(karg32.sense_data_ptr);
2514 return _ctl_do_mpt_command(ioc, karg, &uarg->mf);
2580 struct mpt3_ioctl_command karg;
2588 if (copy_from_user(&karg, arg, sizeof(karg))) {
2595 if (karg.hdr.ioc_number != ioctl_header.ioc_number) {
2601 ret = _ctl_do_mpt_command(ioc, karg, &uarg->mf);