Skip to content

Commit f837f0a

Browse files
committed
Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull arm64 fixes from Catalin Marinas: - A couple of SME updates for recent fixes (one of which went to stable): reverting the flushing of the SME hardware state along with the thread flushing and making sure we have the correct vector length before reallocating. - An ACPI/IORT fix to avoid skipping ID mappings whose "number of IDs" is 0 (the spec reports the number of IDs in the mapping range minus 1). * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: ACPI/IORT: Remove erroneous id_count check in iort_node_get_rmr_info() arm64/sme: Set new vector length before reallocating arm64/fpsimd: Don't flush SME register hardware state along with thread
2 parents 81eef89 + 003e6b5 commit f837f0a

File tree

2 files changed

+2
-6
lines changed

2 files changed

+2
-6
lines changed

arch/arm64/kernel/fpsimd.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -917,6 +917,8 @@ int vec_set_vector_length(struct task_struct *task, enum vec_type type,
917917
if (task == current)
918918
put_cpu_fpsimd_context();
919919

920+
task_set_vl(task, type, vl);
921+
920922
/*
921923
* Free the changed states if they are not in use, SME will be
922924
* reallocated to the correct size on next use and we just
@@ -931,8 +933,6 @@ int vec_set_vector_length(struct task_struct *task, enum vec_type type,
931933
if (free_sme)
932934
sme_free(task);
933935

934-
task_set_vl(task, type, vl);
935-
936936
out:
937937
update_tsk_thread_flag(task, vec_vl_inherit_flag(type),
938938
flags & PR_SVE_VL_INHERIT);
@@ -1666,7 +1666,6 @@ void fpsimd_flush_thread(void)
16661666

16671667
fpsimd_flush_thread_vl(ARM64_VEC_SME);
16681668
current->thread.svcr = 0;
1669-
sme_smstop();
16701669
}
16711670

16721671
current->thread.fp_type = FP_STATE_FPSIMD;

drivers/acpi/arm64/iort.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1007,9 +1007,6 @@ static void iort_node_get_rmr_info(struct acpi_iort_node *node,
10071007
for (i = 0; i < node->mapping_count; i++, map++) {
10081008
struct acpi_iort_node *parent;
10091009

1010-
if (!map->id_count)
1011-
continue;
1012-
10131010
parent = ACPI_ADD_PTR(struct acpi_iort_node, iort_table,
10141011
map->output_reference);
10151012
if (parent != iommu)

0 commit comments

Comments
 (0)