Skip to content

Commit

Permalink
Merge branch 'rpi-6.1.y' into is5849
Browse files Browse the repository at this point in the history
  • Loading branch information
pelwell committed Jan 15, 2024
2 parents 8334428 + db53b52 commit 0c320fb
Show file tree
Hide file tree
Showing 214 changed files with 2,400 additions and 1,451 deletions.
2 changes: 2 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -10842,6 +10842,8 @@ L: linux-kernel@vger.kernel.org
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
F: kernel/irq/
F: include/linux/group_cpus.h
F: lib/group_cpus.c

IRQCHIP DRIVERS
M: Thomas Gleixner <tglx@linutronix.de>
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 1
SUBLEVEL = 71
SUBLEVEL = 72
EXTRAVERSION =
NAME = Curry Ramen

Expand Down
3 changes: 3 additions & 0 deletions arch/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ config ARCH_HAS_SUBPAGE_FAULTS
config HOTPLUG_SMT
bool

config SMT_NUM_THREADS_DYNAMIC
bool

config GENERIC_ENTRY
bool

Expand Down
4 changes: 2 additions & 2 deletions arch/arm/mach-sunxi/mc_smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -808,12 +808,12 @@ static int __init sunxi_mc_smp_init(void)
break;
}

is_a83t = sunxi_mc_smp_data[i].is_a83t;

of_node_put(node);
if (ret)
return -ENODEV;

is_a83t = sunxi_mc_smp_data[i].is_a83t;

if (!sunxi_mc_smp_cpu_table_init())
return -EINVAL;

Expand Down
24 changes: 13 additions & 11 deletions arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -150,15 +150,15 @@
};

&psci {
/delete-node/ cpu0;
/delete-node/ cpu1;
/delete-node/ cpu2;
/delete-node/ cpu3;
/delete-node/ cpu4;
/delete-node/ cpu5;
/delete-node/ cpu6;
/delete-node/ cpu7;
/delete-node/ cpu-cluster0;
/delete-node/ power-domain-cpu0;
/delete-node/ power-domain-cpu1;
/delete-node/ power-domain-cpu2;
/delete-node/ power-domain-cpu3;
/delete-node/ power-domain-cpu4;
/delete-node/ power-domain-cpu5;
/delete-node/ power-domain-cpu6;
/delete-node/ power-domain-cpu7;
/delete-node/ power-domain-cluster;
};

&cpus {
Expand Down Expand Up @@ -351,7 +351,9 @@


&apps_rsc {
pm8998-rpmh-regulators {
/delete-property/ power-domains;

regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down Expand Up @@ -633,7 +635,7 @@
};
};

pm8005-rpmh-regulators {
regulators-1 {
compatible = "qcom,pm8005-rpmh-regulators";
qcom,pmic-id = "c";

Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/qcom/sdm845-db845c.dts
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";
vdd-s1-supply = <&vph_pwr>;
Expand Down Expand Up @@ -396,7 +396,7 @@
};
};

pmi8998-rpmh-regulators {
regulators-1 {
compatible = "qcom,pmi8998-rpmh-regulators";
qcom,pmic-id = "b";

Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/boot/dts/qcom/sdm845-lg-common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down Expand Up @@ -419,7 +419,7 @@
};
};

pmi8998-rpmh-regulators {
regulators-1 {
compatible = "qcom,pmi8998-rpmh-regulators";
qcom,pmic-id = "b";

Expand All @@ -433,7 +433,7 @@
};
};

pm8005-rpmh-regulators {
regulators-2 {
compatible = "qcom,pm8005-rpmh-regulators";
qcom,pmic-id = "c";

Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/boot/dts/qcom/sdm845-mtp.dts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down Expand Up @@ -382,7 +382,7 @@
};
};

pmi8998-rpmh-regulators {
regulators-1 {
compatible = "qcom,pmi8998-rpmh-regulators";
qcom,pmic-id = "b";

Expand All @@ -396,7 +396,7 @@
};
};

pm8005-rpmh-regulators {
regulators-2 {
compatible = "qcom,pm8005-rpmh-regulators";
qcom,pmic-id = "c";

Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down Expand Up @@ -280,7 +280,7 @@
};
};

pmi8998-rpmh-regulators {
regulators-1 {
compatible = "qcom,pmi8998-rpmh-regulators";
qcom,pmic-id = "b";

Expand All @@ -294,7 +294,7 @@
};
};

pm8005-rpmh-regulators {
regulators-2 {
compatible = "qcom,pm8005-rpmh-regulators";
qcom,pmic-id = "c";

Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/boot/dts/qcom/sdm845-shift-axolotl.dts
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down Expand Up @@ -375,7 +375,7 @@
};
};

pmi8998-rpmh-regulators {
regulators-1 {
compatible = "qcom,pmi8998-rpmh-regulators";
qcom,pmic-id = "b";

Expand All @@ -389,7 +389,7 @@
};
};

pm8005-rpmh-regulators {
regulators-2 {
compatible = "qcom,pm8005-rpmh-regulators";
qcom,pmic-id = "c";

Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down Expand Up @@ -308,7 +308,7 @@
};
};

pmi8998-rpmh-regulators {
regulators-1 {
compatible = "qcom,pmi8998-rpmh-regulators";
qcom,pmic-id = "b";

Expand All @@ -319,7 +319,7 @@
};
};

pm8005-rpmh-regulators {
regulators-2 {
compatible = "qcom,pm8005-rpmh-regulators";
qcom,pmic-id = "c";

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/qcom/sdm845-xiaomi-beryllium.dts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down
6 changes: 3 additions & 3 deletions arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down Expand Up @@ -343,7 +343,7 @@
};
};

pmi8998-rpmh-regulators {
regulators-1 {
compatible = "qcom,pmi8998-rpmh-regulators";
qcom,pmic-id = "b";

Expand All @@ -355,7 +355,7 @@
};
};

pm8005-rpmh-regulators {
regulators-2 {
compatible = "qcom,pm8005-rpmh-regulators";
qcom,pmic-id = "c";

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@
};

&apps_rsc {
pm8998-rpmh-regulators {
regulators-0 {
compatible = "qcom,pm8998-rpmh-regulators";
qcom,pmic-id = "a";

Expand Down
35 changes: 24 additions & 11 deletions arch/s390/kernel/perf_cpum_cf.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
/*
* Performance event support for s390x - CPU-measurement Counter Facility
*
* Copyright IBM Corp. 2012, 2021
* Copyright IBM Corp. 2012, 2022
* Author(s): Hendrik Brueckner <brueckner@linux.ibm.com>
* Thomas Richter <tmricht@linux.ibm.com>
*/
Expand Down Expand Up @@ -434,6 +434,12 @@ static void cpumf_hw_inuse(void)
mutex_unlock(&pmc_reserve_mutex);
}

static int is_userspace_event(u64 ev)
{
return cpumf_generic_events_user[PERF_COUNT_HW_CPU_CYCLES] == ev ||
cpumf_generic_events_user[PERF_COUNT_HW_INSTRUCTIONS] == ev;
}

static int __hw_perf_event_init(struct perf_event *event, unsigned int type)
{
struct perf_event_attr *attr = &event->attr;
Expand All @@ -456,19 +462,26 @@ static int __hw_perf_event_init(struct perf_event *event, unsigned int type)
if (is_sampling_event(event)) /* No sampling support */
return -ENOENT;
ev = attr->config;
/* Count user space (problem-state) only */
if (!attr->exclude_user && attr->exclude_kernel) {
if (ev >= ARRAY_SIZE(cpumf_generic_events_user))
return -EOPNOTSUPP;
ev = cpumf_generic_events_user[ev];

/* No support for kernel space counters only */
/*
* Count user space (problem-state) only
* Handle events 32 and 33 as 0:u and 1:u
*/
if (!is_userspace_event(ev)) {
if (ev >= ARRAY_SIZE(cpumf_generic_events_user))
return -EOPNOTSUPP;
ev = cpumf_generic_events_user[ev];
}
} else if (!attr->exclude_kernel && attr->exclude_user) {
/* No support for kernel space counters only */
return -EOPNOTSUPP;
} else { /* Count user and kernel space */
if (ev >= ARRAY_SIZE(cpumf_generic_events_basic))
return -EOPNOTSUPP;
ev = cpumf_generic_events_basic[ev];
} else {
/* Count user and kernel space, incl. events 32 + 33 */
if (!is_userspace_event(ev)) {
if (ev >= ARRAY_SIZE(cpumf_generic_events_basic))
return -EOPNOTSUPP;
ev = cpumf_generic_events_basic[ev];
}
}
break;

Expand Down
8 changes: 6 additions & 2 deletions arch/s390/mm/vmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include <linux/list.h>
#include <linux/hugetlb.h>
#include <linux/slab.h>
#include <asm/page-states.h>
#include <asm/cacheflush.h>
#include <asm/nospec-branch.h>
#include <asm/pgalloc.h>
Expand Down Expand Up @@ -44,8 +45,11 @@ void *vmem_crst_alloc(unsigned long val)
unsigned long *table;

table = vmem_alloc_pages(CRST_ALLOC_ORDER);
if (table)
crst_table_init(table, val);
if (!table)
return NULL;
crst_table_init(table, val);
if (slab_is_available())
arch_set_page_dat(virt_to_page(table), CRST_ALLOC_ORDER);
return table;
}

Expand Down
7 changes: 6 additions & 1 deletion arch/x86/events/intel/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -4033,12 +4033,17 @@ static struct perf_guest_switch_msr *intel_guest_get_msrs(int *nr, void *data)
u64 pebs_mask = cpuc->pebs_enabled & x86_pmu.pebs_capable;
int global_ctrl, pebs_enable;

/*
* In addition to obeying exclude_guest/exclude_host, remove bits being
* used for PEBS when running a guest, because PEBS writes to virtual
* addresses (not physical addresses).
*/
*nr = 0;
global_ctrl = (*nr)++;
arr[global_ctrl] = (struct perf_guest_switch_msr){
.msr = MSR_CORE_PERF_GLOBAL_CTRL,
.host = intel_ctrl & ~cpuc->intel_ctrl_guest_mask,
.guest = intel_ctrl & (~cpuc->intel_ctrl_host_mask | ~pebs_mask),
.guest = intel_ctrl & ~cpuc->intel_ctrl_host_mask & ~pebs_mask,
};

if (!x86_pmu.pebs)
Expand Down

0 comments on commit 0c320fb

Please sign in to comment.