Skip to content

Commit 181bd87

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.15.y' into v6.15+
2 parents 19c22df + e60eb44 commit 181bd87

660 files changed

Lines changed: 6737 additions & 3756 deletions

File tree

Some content is hidden

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

Documentation/devicetree/bindings/i2c/nvidia,tegra20-i2c.yaml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,10 @@ properties:
9797

9898
resets:
9999
items:
100-
- description: module reset
100+
- description:
101+
Module reset. This property is optional for controllers in Tegra194,
102+
Tegra234 etc where an internal software reset is available as an
103+
alternative.
101104

102105
reset-names:
103106
items:
@@ -116,6 +119,13 @@ properties:
116119
- const: rx
117120
- const: tx
118121

122+
required:
123+
- compatible
124+
- reg
125+
- interrupts
126+
- clocks
127+
- clock-names
128+
119129
allOf:
120130
- $ref: /schemas/i2c/i2c-controller.yaml
121131
- if:
@@ -169,6 +179,18 @@ allOf:
169179
properties:
170180
power-domains: false
171181

182+
- if:
183+
not:
184+
properties:
185+
compatible:
186+
contains:
187+
enum:
188+
- nvidia,tegra194-i2c
189+
then:
190+
required:
191+
- resets
192+
- reset-names
193+
172194
unevaluatedProperties: false
173195

174196
examples:

Documentation/gpu/nouveau.rst

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,8 @@ providing a consistent API to upper layers of the driver stack.
2525
GSP Support
2626
------------------------
2727

28-
.. kernel-doc:: drivers/gpu/drm/nouveau/nvkm/subdev/gsp/r535.c
28+
.. kernel-doc:: drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/r535/rpc.c
2929
:doc: GSP message queue element
30+
31+
.. kernel-doc:: drivers/gpu/drm/nouveau/include/nvkm/subdev/gsp.h
32+
:doc: GSP message handling policy

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 = 15
4-
SUBLEVEL = 3
4+
SUBLEVEL = 4
55
EXTRAVERSION =
66
NAME = Baby Opossum Posse
77

arch/arm/mach-omap2/clockdomain.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
#define CLKDM_NO_AUTODEPS (1 << 4)
4949
#define CLKDM_ACTIVE_WITH_MPU (1 << 5)
5050
#define CLKDM_MISSING_IDLE_REPORTING (1 << 6)
51+
#define CLKDM_STANDBY_FORCE_WAKEUP BIT(7)
5152

5253
#define CLKDM_CAN_HWSUP (CLKDM_CAN_ENABLE_AUTO | CLKDM_CAN_DISABLE_AUTO)
5354
#define CLKDM_CAN_SWSUP (CLKDM_CAN_FORCE_SLEEP | CLKDM_CAN_FORCE_WAKEUP)

arch/arm/mach-omap2/clockdomains33xx_data.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ static struct clockdomain l4ls_am33xx_clkdm = {
1919
.pwrdm = { .name = "per_pwrdm" },
2020
.cm_inst = AM33XX_CM_PER_MOD,
2121
.clkdm_offs = AM33XX_CM_PER_L4LS_CLKSTCTRL_OFFSET,
22-
.flags = CLKDM_CAN_SWSUP,
22+
.flags = CLKDM_CAN_SWSUP | CLKDM_STANDBY_FORCE_WAKEUP,
2323
};
2424

2525
static struct clockdomain l3s_am33xx_clkdm = {

arch/arm/mach-omap2/cm33xx.c

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
#include "cm-regbits-34xx.h"
2121
#include "cm-regbits-33xx.h"
2222
#include "prm33xx.h"
23+
#if IS_ENABLED(CONFIG_SUSPEND)
24+
#include <linux/suspend.h>
25+
#endif
2326

2427
/*
2528
* CLKCTRL_IDLEST_*: possible values for the CM_*_CLKCTRL.IDLEST bitfield:
@@ -328,8 +331,17 @@ static int am33xx_clkdm_clk_disable(struct clockdomain *clkdm)
328331
{
329332
bool hwsup = false;
330333

334+
#if IS_ENABLED(CONFIG_SUSPEND)
335+
/*
336+
* In case of standby, Don't put the l4ls clk domain to sleep.
337+
* Since CM3 PM FW doesn't wake-up/enable the l4ls clk domain
338+
* upon wake-up, CM3 PM FW fails to wake-up th MPU.
339+
*/
340+
if (pm_suspend_target_state == PM_SUSPEND_STANDBY &&
341+
(clkdm->flags & CLKDM_STANDBY_FORCE_WAKEUP))
342+
return 0;
343+
#endif
331344
hwsup = am33xx_cm_is_clkdm_in_hwsup(clkdm->cm_inst, clkdm->clkdm_offs);
332-
333345
if (!hwsup && (clkdm->flags & CLKDM_CAN_FORCE_SLEEP))
334346
am33xx_clkdm_sleep(clkdm);
335347

arch/arm/mach-omap2/pmic-cpcap.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,11 @@ int __init omap4_cpcap_init(void)
264264

265265
static int __init cpcap_late_init(void)
266266
{
267-
omap4_vc_set_pmic_signaling(PWRDM_POWER_RET);
267+
if (!of_find_compatible_node(NULL, NULL, "motorola,cpcap"))
268+
return 0;
269+
270+
if (soc_is_omap443x() || soc_is_omap446x() || soc_is_omap447x())
271+
omap4_vc_set_pmic_signaling(PWRDM_POWER_RET);
268272

269273
return 0;
270274
}

arch/arm/mm/ioremap.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,5 @@ void __init early_ioremap_init(void)
515515
bool arch_memremap_can_ram_remap(resource_size_t offset, size_t size,
516516
unsigned long flags)
517517
{
518-
unsigned long pfn = PHYS_PFN(offset);
519-
520-
return memblock_is_map_memory(pfn);
518+
return memblock_is_map_memory(offset);
521519
}

arch/arm64/include/asm/tlbflush.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -323,13 +323,14 @@ static inline bool arch_tlbbatch_should_defer(struct mm_struct *mm)
323323
}
324324

325325
/*
326-
* If mprotect/munmap/etc occurs during TLB batched flushing, we need to
327-
* synchronise all the TLBI issued with a DSB to avoid the race mentioned in
328-
* flush_tlb_batched_pending().
326+
* If mprotect/munmap/etc occurs during TLB batched flushing, we need to ensure
327+
* all the previously issued TLBIs targeting mm have completed. But since we
328+
* can be executing on a remote CPU, a DSB cannot guarantee this like it can
329+
* for arch_tlbbatch_flush(). Our only option is to flush the entire mm.
329330
*/
330331
static inline void arch_flush_tlb_batched_pending(struct mm_struct *mm)
331332
{
332-
dsb(ish);
333+
flush_tlb_mm(mm);
333334
}
334335

335336
/*

arch/arm64/kernel/ptrace.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs, unsigned int n)
141141

142142
addr += n;
143143
if (regs_within_kernel_stack(regs, (unsigned long)addr))
144-
return *addr;
144+
return READ_ONCE_NOCHECK(*addr);
145145
else
146146
return 0;
147147
}

0 commit comments

Comments
 (0)