Lines Matching refs:args
31 static int device_status_info(struct hl_device *hdev, struct hl_info_args *args)
34 u32 size = args->return_size;
35 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
46 static int hw_ip_info(struct hl_device *hdev, struct hl_info_args *args)
49 u32 size = args->return_size;
50 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
117 struct hl_info_args *args)
119 u32 size, max_size = args->return_size;
120 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
135 static int events_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
137 u32 max_size = args->return_size;
139 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
152 static int dram_usage_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
156 u32 max_size = args->return_size;
157 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
176 static int hw_idle(struct hl_device *hdev, struct hl_info_args *args)
179 u32 max_size = args->return_size;
180 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
195 static int debug_coresight(struct hl_device *hdev, struct hl_ctx *ctx, struct hl_debug_args *args)
205 params->reg_idx = args->reg_idx;
206 params->enable = args->enable;
207 params->op = args->op;
209 if (args->input_ptr && args->input_size) {
210 input = kzalloc(hl_debug_struct_size[args->op], GFP_KERNEL);
216 if (copy_from_user(input, u64_to_user_ptr(args->input_ptr),
217 args->input_size)) {
226 if (args->output_ptr && args->output_size) {
227 output = kzalloc(args->output_size, GFP_KERNEL);
234 params->output_size = args->output_size;
244 if (output && copy_to_user((void __user *) (uintptr_t) args->output_ptr,
245 output, args->output_size)) {
260 static int device_utilization(struct hl_device *hdev, struct hl_info_args *args)
263 u32 max_size = args->return_size;
264 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
278 static int get_clk_rate(struct hl_device *hdev, struct hl_info_args *args)
281 u32 max_size = args->return_size;
282 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
296 static int get_reset_count(struct hl_device *hdev, struct hl_info_args *args)
299 u32 max_size = args->return_size;
300 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
312 static int time_sync_info(struct hl_device *hdev, struct hl_info_args *args)
315 u32 max_size = args->return_size;
316 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
328 static int pci_counters_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
332 u32 max_size = args->return_size;
333 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
347 static int clk_throttle_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
349 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
353 u32 max_size = args->return_size;
386 static int cs_counters_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
388 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
392 u32 max_size = args->return_size;
437 static int sync_manager_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
442 u32 max_size = args->return_size;
443 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
448 if (args->dcore_id >= HL_MAX_DCORES)
452 prop->first_available_user_sob[args->dcore_id];
454 prop->first_available_user_mon[args->dcore_id];
456 prop->first_available_cq[args->dcore_id];
463 struct hl_info_args *args)
467 u32 max_size = args->return_size;
468 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
483 static int pll_frequency_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
487 u32 max_size = args->return_size;
488 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
494 rc = hl_fw_cpucp_pll_info_get(hdev, args->pll_index, freq_info.output);
502 static int power_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
505 u32 max_size = args->return_size;
507 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
521 static int open_stats_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
524 u32 max_size = args->return_size;
526 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
541 static int dram_pending_rows_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
544 u32 max_size = args->return_size;
546 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
560 static int dram_replaced_rows_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
563 u32 max_size = args->return_size;
565 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
578 static int last_err_open_dev_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
582 u32 max_size = args->return_size;
583 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
593 static int cs_timeout_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
597 u32 max_size = args->return_size;
598 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
609 static int razwi_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
611 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
613 u32 max_size = args->return_size;
627 static int undefined_opcode_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
630 u32 max_size = args->return_size;
632 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
649 static int dev_mem_alloc_page_sizes_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
651 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
654 u32 max_size = args->return_size;
670 static int sec_attest_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
672 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
675 u32 max_size = args->return_size;
691 rc = hl_fw_get_sec_attest_info(hpriv->hdev, sec_attest_info, args->sec_attest_nonce);
719 static int eventfd_register(struct hl_fpriv *hpriv, struct hl_info_args *args)
730 hpriv->notifier_event.eventfd = eventfd_ctx_fdget(args->eventfd);
742 static int eventfd_unregister(struct hl_fpriv *hpriv, struct hl_info_args *args)
756 static int engine_status_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
758 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
759 u32 status_buf_size = args->return_size;
783 args->user_buffer_actual_size = eng_data.actual_size;
792 static int page_fault_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
794 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
796 u32 max_size = args->return_size;
810 static int user_mappings_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
812 void __user *out = (void __user *) (uintptr_t) args->return_pointer;
813 u32 user_buf_size = args->return_size;
825 args->array_size = pgf_info->num_of_user_mappings;
834 static int hw_err_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
836 void __user *user_buf = (void __user *) (uintptr_t) args->return_pointer;
838 u32 user_buf_size = args->return_size;
856 static int fw_err_info(struct hl_fpriv *hpriv, struct hl_info_args *args)
858 void __user *user_buf = (void __user *) (uintptr_t) args->return_pointer;
860 u32 user_buf_size = args->return_size;
930 struct hl_info_args *args = data;
934 if (args->pad) {
943 switch (args->op) {
945 return hw_ip_info(hdev, args);
948 return device_status_info(hdev, args);
951 return get_reset_count(hdev, args);
954 return hw_events_info(hdev, false, args);
957 return hw_events_info(hdev, true, args);
960 return cs_counters_info(hpriv, args);
963 return clk_throttle_info(hpriv, args);
966 return sync_manager_info(hpriv, args);
969 return open_stats_info(hpriv, args);
972 return last_err_open_dev_info(hpriv, args);
975 return cs_timeout_info(hpriv, args);
978 return razwi_info(hpriv, args);
981 return undefined_opcode_info(hpriv, args);
984 return dev_mem_alloc_page_sizes_info(hpriv, args);
987 return events_info(hpriv, args);
990 return page_fault_info(hpriv, args);
993 return user_mappings_info(hpriv, args);
996 return eventfd_unregister(hpriv, args);
999 return hw_err_info(hpriv, args);
1002 return fw_err_info(hpriv, args);
1005 return dram_usage_info(hpriv, args);
1017 switch (args->op) {
1019 rc = hw_idle(hdev, args);
1023 rc = device_utilization(hdev, args);
1027 rc = get_clk_rate(hdev, args);
1031 return time_sync_info(hdev, args);
1034 return pci_counters_info(hpriv, args);
1037 return total_energy_consumption_info(hpriv, args);
1040 return pll_frequency_info(hpriv, args);
1043 return power_info(hpriv, args);
1047 return dram_replaced_rows_info(hpriv, args);
1050 return dram_pending_rows_info(hpriv, args);
1053 return sec_attest_info(hpriv, args);
1056 return eventfd_register(hpriv, args);
1059 return engine_status_info(hpriv, args);
1062 return send_fw_generic_request(hdev, args);
1065 dev_err(dev, "Invalid request %d\n", args->op);
1085 struct hl_debug_args *args = data;
1098 switch (args->op) {
1111 args->input_size = min(args->input_size, hl_debug_struct_size[args->op]);
1112 rc = debug_coresight(hdev, hpriv->ctx, args);
1116 rc = hl_device_set_debug_mode(hdev, hpriv->ctx, (bool) args->enable);
1120 dev_err(hdev->dev, "Invalid request %d\n", args->op);