Lines Matching refs:karg

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