Lines Matching +full:fast +full:- +full:speed

1 // SPDX-License-Identifier: GPL-2.0-only
17 #include "copy-unaligned.h"
22 #define MISALIGNED_COPY_SIZE ((MISALIGNED_BUFFER_SIZE / 2) - 0x80)
40 long speed = RISCV_HWPROBE_MISALIGNED_SCALAR_SLOW; in check_unaligned_access() local
50 word_cycles = -1ULL; in check_unaligned_access()
70 if ((end_cycles - start_cycles) < word_cycles) in check_unaligned_access()
71 word_cycles = end_cycles - start_cycles; in check_unaligned_access()
74 byte_cycles = -1ULL; in check_unaligned_access()
86 if ((end_cycles - start_cycles) < byte_cycles) in check_unaligned_access()
87 byte_cycles = end_cycles - start_cycles; in check_unaligned_access()
94 pr_warn("cpu%d: rdtime lacks granularity needed to measure unaligned access speed\n", in check_unaligned_access()
101 speed = RISCV_HWPROBE_MISALIGNED_SCALAR_FAST; in check_unaligned_access()
108 (speed == RISCV_HWPROBE_MISALIGNED_SCALAR_FAST) ? "fast" : "slow"); in check_unaligned_access()
110 per_cpu(misaligned_access_speed, cpu) = speed; in check_unaligned_access()
116 if (speed == RISCV_HWPROBE_MISALIGNED_SCALAR_FAST) in check_unaligned_access()
157 modify_unaligned_access_branches(&fast_except_me, num_online_cpus() - 1); in set_unaligned_access_static_branches_except_cpu()
164 * result of unaligned access speed for all CPUs will be available. in set_unaligned_access_static_branches()
201 return -ENOMEM; in riscv_online_cpu()
220 /* Measure unaligned access speed on all CPUs present at boot in parallel. */
285 long speed = RISCV_HWPROBE_MISALIGNED_VECTOR_SLOW; in check_vector_unaligned_access() local
301 word_cycles = -1ULL; in check_vector_unaligned_access()
323 if ((end_cycles - start_cycles) < word_cycles) in check_vector_unaligned_access()
324 word_cycles = end_cycles - start_cycles; in check_vector_unaligned_access()
327 byte_cycles = -1ULL; in check_vector_unaligned_access()
341 if ((end_cycles - start_cycles) < byte_cycles) in check_vector_unaligned_access()
342 byte_cycles = end_cycles - start_cycles; in check_vector_unaligned_access()
349 pr_warn("cpu%d: rdtime lacks granularity needed to measure unaligned vector access speed\n", in check_vector_unaligned_access()
356 speed = RISCV_HWPROBE_MISALIGNED_VECTOR_FAST; in check_vector_unaligned_access()
363 (speed == RISCV_HWPROBE_MISALIGNED_VECTOR_FAST) ? "fast" : "slow"); in check_vector_unaligned_access()
365 per_cpu(vector_misaligned_access, cpu) = speed; in check_vector_unaligned_access()
381 /* Measure unaligned access speed on all CPUs present at boot in parallel. */