Lines Matching refs:current
363 switch (current->thread.fp_type) { in task_fpsimd_load()
369 if (!thread_sm_enabled(¤t->thread)) in task_fpsimd_load()
373 sve_set_vq(sve_vq_from_vl(task_get_sve_vl(current)) - 1); in task_fpsimd_load()
395 unsigned long sme_vl = task_get_sme_vl(current); in task_fpsimd_load()
401 write_sysreg_s(current->thread.svcr, SYS_SVCR); in task_fpsimd_load()
403 if (thread_za_enabled(¤t->thread)) in task_fpsimd_load()
404 sme_load_state(current->thread.sme_state, in task_fpsimd_load()
407 if (thread_sm_enabled(¤t->thread)) in task_fpsimd_load()
412 write_sysreg_s(current->thread.uw.fpmr, SYS_FPMR); in task_fpsimd_load()
415 WARN_ON_ONCE(current->thread.fp_type != FP_STATE_SVE); in task_fpsimd_load()
416 sve_load_state(sve_pffr(¤t->thread), in task_fpsimd_load()
417 ¤t->thread.uw.fpsimd_state.fpsr, in task_fpsimd_load()
420 WARN_ON_ONCE(current->thread.fp_type != FP_STATE_FPSIMD); in task_fpsimd_load()
421 fpsimd_load_state(¤t->thread.uw.fpsimd_state); in task_fpsimd_load()
826 if (task == current) in change_live_vector_length()
908 ret = task_get_vl_onexec(current, type); in vec_prctl_status()
910 ret = task_get_vl(current, type); in vec_prctl_status()
930 ret = vec_set_vector_length(current, ARM64_VEC_SVE, vl, flags); in sve_set_current_vl()
959 ret = vec_set_vector_length(current, ARM64_VEC_SME, vl, flags); in sme_set_current_vl()
1334 sve_vq_from_vl(task_get_sve_vl(current)) - 1; in sve_init_regs()
1339 fpsimd_to_sve(current); in sve_init_regs()
1340 current->thread.fp_type = FP_STATE_SVE; in sve_init_regs()
1341 fpsimd_flush_task_state(current); in sve_init_regs()
1364 sve_alloc(current, true); in do_sve_acc()
1365 if (!current->thread.sve_state) { in do_sve_acc()
1415 sve_alloc(current, false); in do_sme_acc()
1416 sme_alloc(current, true); in do_sme_acc()
1417 if (!current->thread.sve_state || !current->thread.sme_state) { in do_sme_acc()
1430 sve_vq_from_vl(task_get_sme_vl(current)) - 1; in do_sme_acc()
1435 fpsimd_flush_task_state(current); in do_sme_acc()
1481 current); in do_fpsimd_exc()
1544 fpsimd_save_kernel_state(current); in fpsimd_thread_switch()
1581 vl = task_get_vl_onexec(current, type); in fpsimd_flush_thread_vl()
1592 task_set_vl(current, type, vl); in fpsimd_flush_thread_vl()
1599 task_set_vl_onexec(current, type, 0); in fpsimd_flush_thread_vl()
1612 fpsimd_flush_task_state(current); in fpsimd_flush_thread()
1613 memset(¤t->thread.uw.fpsimd_state, 0, in fpsimd_flush_thread()
1614 sizeof(current->thread.uw.fpsimd_state)); in fpsimd_flush_thread()
1620 sve_state = current->thread.sve_state; in fpsimd_flush_thread()
1621 current->thread.sve_state = NULL; in fpsimd_flush_thread()
1630 sme_state = current->thread.sme_state; in fpsimd_flush_thread()
1631 current->thread.sme_state = NULL; in fpsimd_flush_thread()
1634 current->thread.svcr = 0; in fpsimd_flush_thread()
1638 current->thread.uw.fpmr = 0; in fpsimd_flush_thread()
1640 current->thread.fp_type = FP_STATE_FPSIMD; in fpsimd_flush_thread()
1671 last->st = ¤t->thread.uw.fpsimd_state; in fpsimd_bind_task_to_cpu()
1672 last->sve_state = current->thread.sve_state; in fpsimd_bind_task_to_cpu()
1673 last->sme_state = current->thread.sme_state; in fpsimd_bind_task_to_cpu()
1674 last->sve_vl = task_get_sve_vl(current); in fpsimd_bind_task_to_cpu()
1675 last->sme_vl = task_get_sme_vl(current); in fpsimd_bind_task_to_cpu()
1676 last->svcr = ¤t->thread.svcr; in fpsimd_bind_task_to_cpu()
1677 last->fpmr = ¤t->thread.uw.fpmr; in fpsimd_bind_task_to_cpu()
1678 last->fp_type = ¤t->thread.fp_type; in fpsimd_bind_task_to_cpu()
1680 current->thread.fpsimd_cpu = smp_processor_id(); in fpsimd_bind_task_to_cpu()
1758 current->thread.uw.fpsimd_state = *state; in fpsimd_update_current_state()
1759 if (current->thread.fp_type == FP_STATE_SVE) in fpsimd_update_current_state()
1760 fpsimd_to_sve(current); in fpsimd_update_current_state()
1797 fpsimd_flush_task_state(current); in fpsimd_save_and_flush_current_state()
1849 fpsimd_save_kernel_state(current); in kernel_neon_begin()
1902 fpsimd_load_kernel_state(current); in kernel_neon_end()