Skip to content

Commit 4b60cbf

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.1.y' into rpi-6.1.y
2 parents 76c457e + e84a4e3 commit 4b60cbf

File tree

178 files changed

+1837
-866
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+1837
-866
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 1
4-
SUBLEVEL = 34
4+
SUBLEVEL = 35
55
EXTRAVERSION =
66
NAME = Curry Ramen
77

arch/arm/boot/dts/vexpress-v2p-ca5s.dts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
reg = <0x2c0f0000 0x1000>;
133133
interrupts = <0 84 4>;
134134
cache-level = <2>;
135+
cache-unified;
135136
};
136137

137138
pmu {

arch/loongarch/kernel/perf_event.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ static void loongarch_pmu_enable_event(struct hw_perf_event *evt, int idx)
271271
WARN_ON(idx < 0 || idx >= loongarch_pmu.num_counters);
272272

273273
/* Make sure interrupt enabled. */
274-
cpuc->saved_ctrl[idx] = M_PERFCTL_EVENT(evt->event_base & 0xff) |
274+
cpuc->saved_ctrl[idx] = M_PERFCTL_EVENT(evt->event_base) |
275275
(evt->config_base & M_PERFCTL_CONFIG_MASK) | CSR_PERFCTRL_IE;
276276

277277
cpu = (event->cpu >= 0) ? event->cpu : smp_processor_id();
@@ -594,7 +594,7 @@ static struct pmu pmu = {
594594

595595
static unsigned int loongarch_pmu_perf_event_encode(const struct loongarch_perf_event *pev)
596596
{
597-
return (pev->event_id & 0xff);
597+
return M_PERFCTL_EVENT(pev->event_id);
598598
}
599599

600600
static const struct loongarch_perf_event *loongarch_pmu_map_general_event(int idx)
@@ -849,7 +849,7 @@ static void resume_local_counters(void)
849849

850850
static const struct loongarch_perf_event *loongarch_pmu_map_raw_event(u64 config)
851851
{
852-
raw_event.event_id = config & 0xff;
852+
raw_event.event_id = M_PERFCTL_EVENT(config);
853853

854854
return &raw_event;
855855
}

arch/mips/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ config MIPS
8282
select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
8383
select HAVE_MOD_ARCH_SPECIFIC
8484
select HAVE_NMI
85+
select HAVE_PATA_PLATFORM
8586
select HAVE_PERF_EVENTS
8687
select HAVE_PERF_REGS
8788
select HAVE_PERF_USER_STACK_DUMP

arch/mips/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ endif
109109
# (specifically newer than 2.24.51.20140728) we then also need to explicitly
110110
# set ".set hardfloat" in all files which manipulate floating point registers.
111111
#
112-
ifneq ($(call as-option,-Wa$(comma)-msoft-float,),)
112+
ifneq ($(call cc-option,$(cflags-y) -Wa$(comma)-msoft-float,),)
113113
cflags-y += -DGAS_HAS_SET_HARDFLOAT -Wa,-msoft-float
114114
endif
115115

@@ -152,7 +152,7 @@ cflags-y += -fno-stack-check
152152
#
153153
# Avoid this by explicitly disabling that assembler behaviour.
154154
#
155-
cflags-y += $(call as-option,-Wa$(comma)-mno-fix-loongson3-llsc,)
155+
cflags-y += $(call cc-option,-Wa$(comma)-mno-fix-loongson3-llsc,)
156156

157157
#
158158
# CPU-dependent compiler/assembler options for optimization.

arch/mips/alchemy/common/dbdma.c

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
*
3131
*/
3232

33+
#include <linux/dma-map-ops.h> /* for dma_default_coherent */
3334
#include <linux/init.h>
3435
#include <linux/kernel.h>
3536
#include <linux/slab.h>
@@ -623,17 +624,18 @@ u32 au1xxx_dbdma_put_source(u32 chanid, dma_addr_t buf, int nbytes, u32 flags)
623624
dp->dscr_cmd0 &= ~DSCR_CMD0_IE;
624625

625626
/*
626-
* There is an errata on the Au1200/Au1550 parts that could result
627-
* in "stale" data being DMA'ed. It has to do with the snoop logic on
628-
* the cache eviction buffer. DMA_NONCOHERENT is on by default for
629-
* these parts. If it is fixed in the future, these dma_cache_inv will
630-
* just be nothing more than empty macros. See io.h.
627+
* There is an erratum on certain Au1200/Au1550 revisions that could
628+
* result in "stale" data being DMA'ed. It has to do with the snoop
629+
* logic on the cache eviction buffer. dma_default_coherent is set
630+
* to false on these parts.
631631
*/
632-
dma_cache_wback_inv((unsigned long)buf, nbytes);
632+
if (!dma_default_coherent)
633+
dma_cache_wback_inv(KSEG0ADDR(buf), nbytes);
633634
dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */
634635
wmb(); /* drain writebuffer */
635636
dma_cache_wback_inv((unsigned long)dp, sizeof(*dp));
636637
ctp->chan_ptr->ddma_dbell = 0;
638+
wmb(); /* force doorbell write out to dma engine */
637639

638640
/* Get next descriptor pointer. */
639641
ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));
@@ -685,17 +687,18 @@ u32 au1xxx_dbdma_put_dest(u32 chanid, dma_addr_t buf, int nbytes, u32 flags)
685687
dp->dscr_source1, dp->dscr_dest0, dp->dscr_dest1);
686688
#endif
687689
/*
688-
* There is an errata on the Au1200/Au1550 parts that could result in
689-
* "stale" data being DMA'ed. It has to do with the snoop logic on the
690-
* cache eviction buffer. DMA_NONCOHERENT is on by default for these
691-
* parts. If it is fixed in the future, these dma_cache_inv will just
692-
* be nothing more than empty macros. See io.h.
690+
* There is an erratum on certain Au1200/Au1550 revisions that could
691+
* result in "stale" data being DMA'ed. It has to do with the snoop
692+
* logic on the cache eviction buffer. dma_default_coherent is set
693+
* to false on these parts.
693694
*/
694-
dma_cache_inv((unsigned long)buf, nbytes);
695+
if (!dma_default_coherent)
696+
dma_cache_inv(KSEG0ADDR(buf), nbytes);
695697
dp->dscr_cmd0 |= DSCR_CMD0_V; /* Let it rip */
696698
wmb(); /* drain writebuffer */
697699
dma_cache_wback_inv((unsigned long)dp, sizeof(*dp));
698700
ctp->chan_ptr->ddma_dbell = 0;
701+
wmb(); /* force doorbell write out to dma engine */
699702

700703
/* Get next descriptor pointer. */
701704
ctp->put_ptr = phys_to_virt(DSCR_GET_NXTPTR(dp->dscr_nxtptr));

arch/mips/kernel/cpu-probe.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1502,6 +1502,10 @@ static inline void cpu_probe_alchemy(struct cpuinfo_mips *c, unsigned int cpu)
15021502
break;
15031503
}
15041504
break;
1505+
case PRID_IMP_NETLOGIC_AU13XX:
1506+
c->cputype = CPU_ALCHEMY;
1507+
__cpu_name[cpu] = "Au1300";
1508+
break;
15051509
}
15061510
}
15071511

@@ -1861,6 +1865,7 @@ void cpu_probe(void)
18611865
cpu_probe_mips(c, cpu);
18621866
break;
18631867
case PRID_COMP_ALCHEMY:
1868+
case PRID_COMP_NETLOGIC:
18641869
cpu_probe_alchemy(c, cpu);
18651870
break;
18661871
case PRID_COMP_SIBYTE:

arch/mips/kernel/setup.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,6 @@ static unsigned long __init init_initrd(void)
158158
pr_err("initrd start must be page aligned\n");
159159
goto disable;
160160
}
161-
if (initrd_start < PAGE_OFFSET) {
162-
pr_err("initrd start < PAGE_OFFSET\n");
163-
goto disable;
164-
}
165161

166162
/*
167163
* Sanitize initrd addresses. For example firmware
@@ -174,6 +170,11 @@ static unsigned long __init init_initrd(void)
174170
initrd_end = (unsigned long)__va(end);
175171
initrd_start = (unsigned long)__va(__pa(initrd_start));
176172

173+
if (initrd_start < PAGE_OFFSET) {
174+
pr_err("initrd start < PAGE_OFFSET\n");
175+
goto disable;
176+
}
177+
177178
ROOT_DEV = Root_RAM0;
178179
return PFN_UP(end);
179180
disable:

arch/mips/loongson2ef/Platform

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ cflags-$(CONFIG_CPU_LOONGSON2F) += -march=loongson2f
2525
# binutils does not merge support for the flag then we can revisit & remove
2626
# this later - for now it ensures vendor toolchains don't cause problems.
2727
#
28-
cflags-$(CONFIG_CPU_LOONGSON2EF) += $(call as-option,-Wa$(comma)-mno-fix-loongson3-llsc,)
28+
cflags-$(CONFIG_CPU_LOONGSON2EF) += $(call cc-option,-Wa$(comma)-mno-fix-loongson3-llsc,)
2929

3030
# Enable the workarounds for Loongson2f
3131
ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS

arch/nios2/boot/dts/10m50_devboard.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
rx-fifo-depth = <8192>;
9898
tx-fifo-depth = <8192>;
9999
address-bits = <48>;
100-
max-frame-size = <1518>;
100+
max-frame-size = <1500>;
101101
local-mac-address = [00 00 00 00 00 00];
102102
altr,has-supplementary-unicast;
103103
altr,enable-sup-addr = <1>;

0 commit comments

Comments
 (0)