Commit 19dd484c authored by Yury Norov (NVIDIA)'s avatar Yury Norov (NVIDIA) Committed by Will Deacon
Browse files

arm64/fpsimd: simplify sme_setup()



The function checks info->vq_map for emptiness right before calling
find_last_bit().

We can use the find_last_bit() output and save on bitmap_empty() call,
which is O(N).

Signed-off-by: default avatarYury Norov (NVIDIA) <yury.norov@gmail.com>
Signed-off-by: default avatarWill Deacon <will@kernel.org>
parent 8f5ae30d
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1265,6 +1265,8 @@ void __init sme_setup(void)
	if (!system_supports_sme())
		return;

	min_bit = find_last_bit(info->vq_map, SVE_VQ_MAX);

	/*
	 * SME doesn't require any particular vector length be
	 * supported but it does require at least one.  We should have
@@ -1272,9 +1274,8 @@ void __init sme_setup(void)
	 * let's double check here.  The bitmap is SVE_VQ_MAP sized for
	 * sharing with SVE.
	 */
	WARN_ON(bitmap_empty(info->vq_map, SVE_VQ_MAX));
	WARN_ON(min_bit >= SVE_VQ_MAX);

	min_bit = find_last_bit(info->vq_map, SVE_VQ_MAX);
	info->min_vl = sve_vl_from_vq(__bit_to_vq(min_bit));

	max_bit = find_first_bit(info->vq_map, SVE_VQ_MAX);