Skip to content

Commit d56bab0

Browse files
committed
Merge remote-tracking branch 'stable/linux-6.10.y' into v6.10+
2 parents bdf9962 + 1611860 commit d56bab0

210 files changed

Lines changed: 2042 additions & 693 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/locking/hwspinlock.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,17 @@ is already free).
8585

8686
Should be called from a process context (might sleep).
8787

88+
::
89+
90+
int hwspin_lock_bust(struct hwspinlock *hwlock, unsigned int id);
91+
92+
After verifying the owner of the hwspinlock, release a previously acquired
93+
hwspinlock; returns 0 on success, or an appropriate error code on failure
94+
(e.g. -EOPNOTSUPP if the bust operation is not defined for the specific
95+
hwspinlock).
96+
97+
Should be called from a process context (might sleep).
98+
8899
::
89100

90101
int hwspin_lock_timeout(struct hwspinlock *hwlock, unsigned int timeout);

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

arch/arm64/boot/dts/qcom/x1e80100-crd.dts

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,20 @@
173173
regulator-always-on;
174174
regulator-boot-on;
175175
};
176+
177+
vreg_nvme: regulator-nvme {
178+
compatible = "regulator-fixed";
179+
180+
regulator-name = "VREG_NVME_3P3";
181+
regulator-min-microvolt = <3300000>;
182+
regulator-max-microvolt = <3300000>;
183+
184+
gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
185+
enable-active-high;
186+
187+
pinctrl-names = "default";
188+
pinctrl-0 = <&nvme_reg_en>;
189+
};
176190
};
177191

178192
&apps_rsc {
@@ -644,6 +658,12 @@
644658
};
645659

646660
&pcie4 {
661+
perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
662+
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
663+
664+
pinctrl-0 = <&pcie4_default>;
665+
pinctrl-names = "default";
666+
647667
status = "okay";
648668
};
649669

@@ -655,6 +675,14 @@
655675
};
656676

657677
&pcie6a {
678+
perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
679+
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
680+
681+
vddpe-3v3-supply = <&vreg_nvme>;
682+
683+
pinctrl-names = "default";
684+
pinctrl-0 = <&pcie6a_default>;
685+
658686
status = "okay";
659687
};
660688

@@ -804,6 +832,59 @@
804832
bias-disable;
805833
};
806834

835+
nvme_reg_en: nvme-reg-en-state {
836+
pins = "gpio18";
837+
function = "gpio";
838+
drive-strength = <2>;
839+
bias-disable;
840+
};
841+
842+
pcie4_default: pcie4-default-state {
843+
clkreq-n-pins {
844+
pins = "gpio147";
845+
function = "pcie4_clk";
846+
drive-strength = <2>;
847+
bias-pull-up;
848+
};
849+
850+
perst-n-pins {
851+
pins = "gpio146";
852+
function = "gpio";
853+
drive-strength = <2>;
854+
bias-disable;
855+
};
856+
857+
wake-n-pins {
858+
pins = "gpio148";
859+
function = "gpio";
860+
drive-strength = <2>;
861+
bias-pull-up;
862+
};
863+
};
864+
865+
pcie6a_default: pcie6a-default-state {
866+
clkreq-n-pins {
867+
pins = "gpio153";
868+
function = "pcie6a_clk";
869+
drive-strength = <2>;
870+
bias-pull-up;
871+
};
872+
873+
perst-n-pins {
874+
pins = "gpio152";
875+
function = "gpio";
876+
drive-strength = <2>;
877+
bias-pull-down;
878+
};
879+
880+
wake-n-pins {
881+
pins = "gpio154";
882+
function = "gpio";
883+
drive-strength = <2>;
884+
bias-pull-up;
885+
};
886+
};
887+
807888
tpad_default: tpad-default-state {
808889
pins = "gpio3";
809890
function = "gpio";

arch/arm64/boot/dts/qcom/x1e80100-qcp.dts

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@
5959
regulator-always-on;
6060
regulator-boot-on;
6161
};
62+
63+
vreg_nvme: regulator-nvme {
64+
compatible = "regulator-fixed";
65+
66+
regulator-name = "VREG_NVME_3P3";
67+
regulator-min-microvolt = <3300000>;
68+
regulator-max-microvolt = <3300000>;
69+
70+
gpio = <&tlmm 18 GPIO_ACTIVE_HIGH>;
71+
enable-active-high;
72+
73+
pinctrl-names = "default";
74+
pinctrl-0 = <&nvme_reg_en>;
75+
};
6276
};
6377

6478
&apps_rsc {
@@ -455,6 +469,12 @@
455469
};
456470

457471
&pcie4 {
472+
perst-gpios = <&tlmm 146 GPIO_ACTIVE_LOW>;
473+
wake-gpios = <&tlmm 148 GPIO_ACTIVE_LOW>;
474+
475+
pinctrl-0 = <&pcie4_default>;
476+
pinctrl-names = "default";
477+
458478
status = "okay";
459479
};
460480

@@ -466,6 +486,14 @@
466486
};
467487

468488
&pcie6a {
489+
perst-gpios = <&tlmm 152 GPIO_ACTIVE_LOW>;
490+
wake-gpios = <&tlmm 154 GPIO_ACTIVE_LOW>;
491+
492+
vddpe-3v3-supply = <&vreg_nvme>;
493+
494+
pinctrl-names = "default";
495+
pinctrl-0 = <&pcie6a_default>;
496+
469497
status = "okay";
470498
};
471499

@@ -528,6 +556,59 @@
528556
drive-strength = <16>;
529557
bias-disable;
530558
};
559+
560+
nvme_reg_en: nvme-reg-en-state {
561+
pins = "gpio18";
562+
function = "gpio";
563+
drive-strength = <2>;
564+
bias-disable;
565+
};
566+
567+
pcie4_default: pcie4-default-state {
568+
clkreq-n-pins {
569+
pins = "gpio147";
570+
function = "pcie4_clk";
571+
drive-strength = <2>;
572+
bias-pull-up;
573+
};
574+
575+
perst-n-pins {
576+
pins = "gpio146";
577+
function = "gpio";
578+
drive-strength = <2>;
579+
bias-disable;
580+
};
581+
582+
wake-n-pins {
583+
pins = "gpio148";
584+
function = "gpio";
585+
drive-strength = <2>;
586+
bias-pull-up;
587+
};
588+
};
589+
590+
pcie6a_default: pcie6a-default-state {
591+
clkreq-n-pins {
592+
pins = "gpio153";
593+
function = "pcie6a_clk";
594+
drive-strength = <2>;
595+
bias-pull-up;
596+
};
597+
598+
perst-n-pins {
599+
pins = "gpio152";
600+
function = "gpio";
601+
drive-strength = <2>;
602+
bias-pull-down;
603+
};
604+
605+
wake-n-pins {
606+
pins = "gpio154";
607+
function = "gpio";
608+
drive-strength = <2>;
609+
bias-pull-up;
610+
};
611+
};
531612
};
532613

533614
&uart21 {

arch/x86/kernel/cpu/amd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -462,7 +462,7 @@ static void bsp_init_amd(struct cpuinfo_x86 *c)
462462
switch (c->x86_model) {
463463
case 0x00 ... 0x2f:
464464
case 0x40 ... 0x4f:
465-
case 0x70 ... 0x7f:
465+
case 0x60 ... 0x7f:
466466
setup_force_cpu_cap(X86_FEATURE_ZEN5);
467467
break;
468468
default:

block/blk-integrity.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,8 +397,6 @@ void blk_integrity_unregister(struct gendisk *disk)
397397
if (!bi->profile)
398398
return;
399399

400-
/* ensure all bios are off the integrity workqueue */
401-
blk_flush_integrity();
402400
blk_queue_flag_clear(QUEUE_FLAG_STABLE_WRITES, disk->queue);
403401
memset(bi, 0, sizeof(*bi));
404402
}

crypto/ecc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ void ecc_digits_from_bytes(const u8 *in, unsigned int nbytes,
7878
/* diff > 0: not enough input bytes: set most significant digits to 0 */
7979
if (diff > 0) {
8080
ndigits -= diff;
81-
memset(&out[ndigits - 1], 0, diff * sizeof(u64));
81+
memset(&out[ndigits], 0, diff * sizeof(u64));
8282
}
8383

8484
if (o) {

drivers/base/regmap/regmap-spi.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,7 @@ static const struct regmap_bus *regmap_get_spi_bus(struct spi_device *spi,
122122
return ERR_PTR(-ENOMEM);
123123

124124
max_msg_size = spi_max_message_size(spi);
125-
reg_reserve_size = config->reg_bits / BITS_PER_BYTE
126-
+ config->pad_bits / BITS_PER_BYTE;
125+
reg_reserve_size = (config->reg_bits + config->pad_bits) / BITS_PER_BYTE;
127126
if (max_size + reg_reserve_size > max_msg_size)
128127
max_size -= reg_reserve_size;
129128

drivers/cpufreq/scmi-cpufreq.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ static unsigned int scmi_cpufreq_fast_switch(struct cpufreq_policy *policy,
6363
unsigned int target_freq)
6464
{
6565
struct scmi_data *priv = policy->driver_data;
66+
unsigned long freq = target_freq;
6667

67-
if (!perf_ops->freq_set(ph, priv->domain_id,
68-
target_freq * 1000, true))
68+
if (!perf_ops->freq_set(ph, priv->domain_id, freq * 1000, true))
6969
return target_freq;
7070

7171
return 0;

drivers/crypto/stm32/stm32-cryp.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <crypto/internal/des.h>
1212
#include <crypto/internal/skcipher.h>
1313
#include <crypto/scatterwalk.h>
14+
#include <linux/bottom_half.h>
1415
#include <linux/clk.h>
1516
#include <linux/delay.h>
1617
#include <linux/err.h>
@@ -1665,8 +1666,11 @@ static irqreturn_t stm32_cryp_irq_thread(int irq, void *arg)
16651666
it_mask &= ~IMSCR_OUT;
16661667
stm32_cryp_write(cryp, cryp->caps->imsc, it_mask);
16671668

1668-
if (!cryp->payload_in && !cryp->header_in && !cryp->payload_out)
1669+
if (!cryp->payload_in && !cryp->header_in && !cryp->payload_out) {
1670+
local_bh_disable();
16691671
stm32_cryp_finish_req(cryp, 0);
1672+
local_bh_enable();
1673+
}
16701674

16711675
return IRQ_HANDLED;
16721676
}

0 commit comments

Comments
 (0)