Skip to content

Commit

Permalink
Merge tag 'v5.15.119' into 5.15-main
Browse files Browse the repository at this point in the history
This is the 5.15.119 stable release

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmSb7+MACgkQONu9yGCS
# aT7Rbw/9Egj1CQRou8Q0PlB8vVwHnHevpIxb/7kp3LxnII9rXETRaZxLYb1+qGG7
# IM/pRUNIpBVdLeLbq19XZp60ndij7Slm+g6mY+dE5CiCE0fBB+8jBbKJ50KFHZgC
# DX0zaYDv0qUmdCeoArJvtUypbSlgZ4S5tAd/WOatPXjCqqvIlWVV9numkOLo/IYs
# HM+CP705Rp0pG2nzBpHfyP4Y0kUm+qArCIOU4TIugRDuClZCokRGMl16AF1hIknU
# HR4e4GLF1bKDwcblY/FhDDRLdRKh4kv6C4uzFId7qRpjFV4yHN+rS2I+b9o0wj2+
# QOrOmghs4uLW0jCIahjzSvFHUJIqu/KJxOBIsHIAkR1qjPQjLVgRYpB/fQ2Hev9U
# RPztyJt+xn37zDWVtcTizjWM17ETYAfL0IduBh4PenTx94WyqY/TAn5E9vHvobXN
# 3hiJlVyzEOcwa8M7qbzhYmb8jKUetxSTySmr8EWMIUVsNIAbT/taYVY7hyZw2h5z
# U7ca859VThtTCX+SkIQBOjCW7vVJy6UBGKkRnrF09Td0DWtTl5Ph1zSSmRh7wvGm
# +u8nSlPWpyE39iqfqGjsY38LNT24C+fCEckj0AQyWXDJ6u6dCkmiSPITCgMkozoH
# KuLdtPw6qLRvek6ExM4GKzoyCQToKkl+YtRsjR6a1Ap3J1xVpPI=
# =EC8b
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed Jun 28 10:31:31 2023 CEST
# gpg:                using RSA key 647F28654894E3BD457199BE38DBBDC86092693E
# gpg: Can't check signature: No public key
  • Loading branch information
frank-w committed Jul 1, 2023
2 parents ad4cc61 + 4af6070 commit 1373d51
Show file tree
Hide file tree
Showing 109 changed files with 1,455 additions and 409 deletions.
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 = 5
PATCHLEVEL = 15
SUBLEVEL = 118
SUBLEVEL = 119
EXTRAVERSION =
NAME = Trick or Treat

Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/am57xx-cl-som-am57x.dts
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,7 @@

interrupt-parent = <&gpio1>;
interrupts = <31 0>;
pendown-gpio = <&gpio1 31 0>;
pendown-gpio = <&gpio1 31 GPIO_ACTIVE_LOW>;


ti,x-min = /bits/ 16 <0x0>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/at91sam9261ek.dts
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@
compatible = "ti,ads7843";
interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
spi-max-frequency = <3000000>;
pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&pioC 2 GPIO_ACTIVE_LOW>;

ti,x-min = /bits/ 16 <150>;
ti,x-max = /bits/ 16 <3830>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/imx7d-pico-hobbit.dts
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@
interrupt-parent = <&gpio2>;
interrupts = <7 0>;
spi-max-frequency = <1000000>;
pendown-gpio = <&gpio2 7 0>;
pendown-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
vcc-supply = <&reg_3p3v>;
ti,x-min = /bits/ 16 <0>;
ti,x-max = /bits/ 16 <4095>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/imx7d-sdb.dts
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
pinctrl-0 = <&pinctrl_tsc2046_pendown>;
interrupt-parent = <&gpio2>;
interrupts = <29 0>;
pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio2 29 GPIO_ACTIVE_LOW>;
touchscreen-max-pressure = <255>;
wakeup-source;
};
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/omap3-cm-t3x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@

interrupt-parent = <&gpio2>;
interrupts = <25 0>; /* gpio_57 */
pendown-gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio2 25 GPIO_ACTIVE_LOW>;

ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/omap3-devkit8000-lcd-common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@

interrupt-parent = <&gpio1>;
interrupts = <27 0>; /* gpio_27 */
pendown-gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio1 27 GPIO_ACTIVE_LOW>;

ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/omap3-lilly-a83x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@
interrupt-parent = <&gpio1>;
interrupts = <8 0>; /* boot6 / gpio_8 */
spi-max-frequency = <1000000>;
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
vcc-supply = <&reg_vcc3>;
pinctrl-names = "default";
pinctrl-0 = <&tsc2048_pins>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/omap3-overo-common-lcd35.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@

interrupt-parent = <&gpio4>;
interrupts = <18 0>; /* gpio_114 */
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>;

ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/omap3-overo-common-lcd43.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@

interrupt-parent = <&gpio4>;
interrupts = <18 0>; /* gpio_114 */
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>;

ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/omap3-pandora-common.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -651,7 +651,7 @@
pinctrl-0 = <&penirq_pins>;
interrupt-parent = <&gpio3>;
interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */
pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio3 30 GPIO_ACTIVE_LOW>;
vcc-supply = <&vaux4>;

ti,x-min = /bits/ 16 <0>;
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/omap5-cm-t54.dts
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@

interrupt-parent = <&gpio1>;
interrupts = <15 0>; /* gpio1_wk15 */
pendown-gpio = <&gpio1 15 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio1 15 GPIO_ACTIVE_LOW>;


ti,x-min = /bits/ 16 <0x0>;
Expand Down
6 changes: 6 additions & 0 deletions arch/arm64/include/asm/sysreg.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,14 @@
#define SB_BARRIER_INSN __SYS_BARRIER_INSN(0, 7, 31)

#define SYS_DC_ISW sys_insn(1, 0, 7, 6, 2)
#define SYS_DC_IGSW sys_insn(1, 0, 7, 6, 4)
#define SYS_DC_IGDSW sys_insn(1, 0, 7, 6, 6)
#define SYS_DC_CSW sys_insn(1, 0, 7, 10, 2)
#define SYS_DC_CGSW sys_insn(1, 0, 7, 10, 4)
#define SYS_DC_CGDSW sys_insn(1, 0, 7, 10, 6)
#define SYS_DC_CISW sys_insn(1, 0, 7, 14, 2)
#define SYS_DC_CIGSW sys_insn(1, 0, 7, 14, 4)
#define SYS_DC_CIGDSW sys_insn(1, 0, 7, 14, 6)

/*
* System registers, organised loosely by encoding but grouped together
Expand Down
1 change: 1 addition & 0 deletions arch/s390/purgatory/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare
KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding
KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common
KBUILD_CFLAGS += -fno-stack-protector
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
KBUILD_CFLAGS += $(CLANG_FLAGS)
KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS))
Expand Down
5 changes: 4 additions & 1 deletion arch/x86/kernel/apic/x2apic_phys.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,10 @@ static void init_x2apic_ldr(void)

static int x2apic_phys_probe(void)
{
if (x2apic_mode && (x2apic_phys || x2apic_fadt_phys()))
if (!x2apic_mode)
return 0;

if (x2apic_phys || x2apic_fadt_phys())
return 1;

return apic == &apic_x2apic_phys;
Expand Down
8 changes: 4 additions & 4 deletions arch/x86/mm/kaslr.c
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,10 @@ void __meminit init_trampoline_kaslr(void)
set_p4d(p4d_tramp,
__p4d(_KERNPG_TABLE | __pa(pud_page_tramp)));

set_pgd(&trampoline_pgd_entry,
__pgd(_KERNPG_TABLE | __pa(p4d_page_tramp)));
trampoline_pgd_entry =
__pgd(_KERNPG_TABLE | __pa(p4d_page_tramp));
} else {
set_pgd(&trampoline_pgd_entry,
__pgd(_KERNPG_TABLE | __pa(pud_page_tramp)));
trampoline_pgd_entry =
__pgd(_KERNPG_TABLE | __pa(pud_page_tramp));
}
}
2 changes: 0 additions & 2 deletions drivers/acpi/acpica/achware.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,6 @@ acpi_status
acpi_hw_get_gpe_status(struct acpi_gpe_event_info *gpe_event_info,
acpi_event_status *event_status);

acpi_status acpi_hw_disable_all_gpes(void);

acpi_status acpi_hw_enable_all_runtime_gpes(void);

acpi_status acpi_hw_enable_all_wakeup_gpes(void);
Expand Down
16 changes: 12 additions & 4 deletions drivers/acpi/sleep.c
Original file line number Diff line number Diff line change
Expand Up @@ -635,11 +635,19 @@ static int acpi_suspend_enter(suspend_state_t pm_state)
}

/*
* Disable and clear GPE status before interrupt is enabled. Some GPEs
* (like wakeup GPE) haven't handler, this can avoid such GPE misfire.
* acpi_leave_sleep_state will reenable specific GPEs later
* Disable all GPE and clear their status bits before interrupts are
* enabled. Some GPEs (like wakeup GPEs) have no handlers and this can
* prevent them from producing spurious interrups.
*
* acpi_leave_sleep_state() will reenable specific GPEs later.
*
* Because this code runs on one CPU with disabled interrupts (all of
* the other CPUs are offline at this time), it need not acquire any
* sleeping locks which may trigger an implicit preemption point even
* if there is no contention, so avoid doing that by using a low-level
* library routine here.
*/
acpi_disable_all_gpes();
acpi_hw_disable_all_gpes();
/* Allow EC transactions to happen. */
acpi_ec_unblock_transactions();

Expand Down
2 changes: 1 addition & 1 deletion drivers/base/regmap/regmap-spi-avmm.c
Original file line number Diff line number Diff line change
Expand Up @@ -666,7 +666,7 @@ static const struct regmap_bus regmap_spi_avmm_bus = {
.reg_format_endian_default = REGMAP_ENDIAN_NATIVE,
.val_format_endian_default = REGMAP_ENDIAN_NATIVE,
.max_raw_read = SPI_AVMM_VAL_SIZE * MAX_READ_CNT,
.max_raw_write = SPI_AVMM_VAL_SIZE * MAX_WRITE_CNT,
.max_raw_write = SPI_AVMM_REG_SIZE + SPI_AVMM_VAL_SIZE * MAX_WRITE_CNT,
.free_context = spi_avmm_bridge_ctx_free,
};

Expand Down
2 changes: 2 additions & 0 deletions drivers/char/tpm/tpm_tis_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,9 @@ static irqreturn_t tis_int_handler(int dummy, void *dev_id)
wake_up_interruptible(&priv->int_queue);

/* Clear interrupts handled with TPM_EOI */
tpm_tis_request_locality(chip, 0);
rc = tpm_tis_write32(priv, TPM_INT_STATUS(priv->locality), interrupt);
tpm_tis_relinquish_locality(chip, 0);
if (rc < 0)
return IRQ_NONE;

Expand Down
8 changes: 6 additions & 2 deletions drivers/gpio/gpio-sifive.c
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,12 @@ static int sifive_gpio_probe(struct platform_device *pdev)
return -ENODEV;
}

for (i = 0; i < ngpio; i++)
chip->irq_number[i] = platform_get_irq(pdev, i);
for (i = 0; i < ngpio; i++) {
ret = platform_get_irq(pdev, i);
if (ret < 0)
return ret;
chip->irq_number[i] = ret;
}

ret = bgpio_init(&chip->gc, dev, 4,
chip->base + SIFIVE_GPIO_INPUT_VAL,
Expand Down
17 changes: 15 additions & 2 deletions drivers/gpio/gpiolib.c
Original file line number Diff line number Diff line change
Expand Up @@ -1578,9 +1578,14 @@ static int gpiochip_add_irqchip(struct gpio_chip *gc,
}

if (gc->irq.parent_handler) {
void *data = gc->irq.parent_handler_data ?: gc;

for (i = 0; i < gc->irq.num_parents; i++) {
void *data;

if (gc->irq.per_parent_data)
data = gc->irq.parent_handler_data_array[i];
else
data = gc->irq.parent_handler_data ?: gc;

/*
* The parent IRQ chip is already using the chip_data
* for this IRQ chip, so our callbacks simply use the
Expand Down Expand Up @@ -1678,6 +1683,14 @@ int gpiochip_irqchip_add_domain(struct gpio_chip *gc,
gc->to_irq = gpiochip_to_irq;
gc->irq.domain = domain;

/*
* Using barrier() here to prevent compiler from reordering
* gc->irq.initialized before adding irqdomain.
*/
barrier();

gc->irq.initialized = true;

return 0;
}
EXPORT_SYMBOL_GPL(gpiochip_irqchip_add_domain);
Expand Down
72 changes: 53 additions & 19 deletions drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,35 @@ static inline bool is_dc_timing_adjust_needed(struct dm_crtc_state *old_state,
return false;
}

/**
* update_planes_and_stream_adapter() - Send planes to be updated in DC
*
* DC has a generic way to update planes and stream via
* dc_update_planes_and_stream function; however, DM might need some
* adjustments and preparation before calling it. This function is a wrapper
* for the dc_update_planes_and_stream that does any required configuration
* before passing control to DC.
*/
static inline bool update_planes_and_stream_adapter(struct dc *dc,
int update_type,
int planes_count,
struct dc_stream_state *stream,
struct dc_stream_update *stream_update,
struct dc_surface_update *array_of_surface_update)
{
/*
* Previous frame finished and HW is ready for optimization.
*/
if (update_type == UPDATE_TYPE_FAST)
dc_post_update_surfaces_to_stream(dc);

return dc_update_planes_and_stream(dc,
array_of_surface_update,
planes_count,
stream,
stream_update);
}

/**
* dm_pflip_high_irq() - Handle pageflip interrupt
* @interrupt_params: ignored
Expand Down Expand Up @@ -2550,10 +2579,13 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
bundle->surface_updates[m].surface->force_full_update =
true;
}
dc_commit_updates_for_stream(
dm->dc, bundle->surface_updates,
dc_state->stream_status->plane_count,
dc_state->streams[k], &bundle->stream_update, dc_state);

update_planes_and_stream_adapter(dm->dc,
UPDATE_TYPE_FULL,
dc_state->stream_status->plane_count,
dc_state->streams[k],
&bundle->stream_update,
bundle->surface_updates);
}

cleanup:
Expand Down Expand Up @@ -9218,6 +9250,12 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
if (acrtc_state->abm_level != dm_old_crtc_state->abm_level)
bundle->stream_update.abm_level = &acrtc_state->abm_level;

mutex_lock(&dm->dc_lock);
if ((acrtc_state->update_type > UPDATE_TYPE_FAST) &&
acrtc_state->stream->link->psr_settings.psr_allow_active)
amdgpu_dm_psr_disable(acrtc_state->stream);
mutex_unlock(&dm->dc_lock);

/*
* If FreeSync state on the stream has changed then we need to
* re-adjust the min/max bounds now that DC doesn't handle this
Expand All @@ -9231,16 +9269,13 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
spin_unlock_irqrestore(&pcrtc->dev->event_lock, flags);
}
mutex_lock(&dm->dc_lock);
if ((acrtc_state->update_type > UPDATE_TYPE_FAST) &&
acrtc_state->stream->link->psr_settings.psr_allow_active)
amdgpu_dm_psr_disable(acrtc_state->stream);

dc_commit_updates_for_stream(dm->dc,
bundle->surface_updates,
planes_count,
acrtc_state->stream,
&bundle->stream_update,
dc_state);
update_planes_and_stream_adapter(dm->dc,
acrtc_state->update_type,
planes_count,
acrtc_state->stream,
&bundle->stream_update,
bundle->surface_updates);

/**
* Enable or disable the interrupts on the backend.
Expand Down Expand Up @@ -9666,12 +9701,11 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)


mutex_lock(&dm->dc_lock);
dc_commit_updates_for_stream(dm->dc,
dummy_updates,
status->plane_count,
dm_new_crtc_state->stream,
&stream_update,
dc_state);
dc_update_planes_and_stream(dm->dc,
dummy_updates,
status->plane_count,
dm_new_crtc_state->stream,
&stream_update);
mutex_unlock(&dm->dc_lock);
}

Expand Down

0 comments on commit 1373d51

Please sign in to comment.