Skip to content

Commit

Permalink
Merge branch 'raspberrypi:rpi-6.1.y' into rpi-6.1.y
Browse files Browse the repository at this point in the history
  • Loading branch information
0lxb authored Jan 24, 2024
2 parents e86852a + f2ada4a commit 12b8b76
Show file tree
Hide file tree
Showing 109 changed files with 967 additions and 308 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 = 6
PATCHLEVEL = 1
SUBLEVEL = 73
SUBLEVEL = 74
EXTRAVERSION =
NAME = Curry Ramen

Expand Down
6 changes: 3 additions & 3 deletions arch/arc/kernel/signal.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ struct rt_sigframe {
unsigned int sigret_magic;
};

static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
static int save_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
{
int err = 0;
#ifndef CONFIG_ISA_ARCOMPACT
Expand All @@ -74,12 +74,12 @@ static int save_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
#else
v2abi.r58 = v2abi.r59 = 0;
#endif
err = __copy_to_user(&mctx->v2abi, &v2abi, sizeof(v2abi));
err = __copy_to_user(&mctx->v2abi, (void const *)&v2abi, sizeof(v2abi));
#endif
return err;
}

static int restore_arcv2_regs(struct sigcontext *mctx, struct pt_regs *regs)
static int restore_arcv2_regs(struct sigcontext __user *mctx, struct pt_regs *regs)
{
int err = 0;
#ifndef CONFIG_ISA_ARCOMPACT
Expand Down
1 change: 1 addition & 0 deletions arch/arm/boot/dts/overlays/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
piscreen.dtbo \
piscreen2r.dtbo \
pisound.dtbo \
pisound-pi5.dtbo \
pitft22.dtbo \
pitft28-capacitive.dtbo \
pitft28-resistive.dtbo \
Expand Down
24 changes: 21 additions & 3 deletions arch/arm/boot/dts/overlays/README
Original file line number Diff line number Diff line change
Expand Up @@ -2106,7 +2106,13 @@ Params: abx80x Select one of the ABx80x family:
source

backup-switchover-mode Backup power supply switch mode. Must be 0 for
off or 1 for Vdd < VBackup (RV3028, RV3032)
"Switchover disabled", 1 for "Direct Switching"
(if Vdd < VBackup), 2 for "Standby
Mode" (if Vdd < Vbackup,
does not draw current) or 3 for
"Level Switching" (if Vdd < Vbackup
and Vdd < Vddsw and Vbackup > Vddsw)
(RV3028, RV3032)


Name: i2c-rtc-gpio
Expand Down Expand Up @@ -2178,7 +2184,13 @@ Params: abx80x Select one of the ABx80x family:
source

backup-switchover-mode Backup power supply switch mode. Must be 0 for
off or 1 for Vdd < VBackup (RV3028, RV3032)
"Switchover disabled", 1 for "Direct Switching"
(if Vdd < VBackup), 2 for "Standby
Mode" (if Vdd < Vbackup,
does not draw current) or 3 for
"Level Switching" (if Vdd < Vbackup
and Vdd < Vddsw and Vbackup > Vddsw)
(RV3028, RV3032)

i2c_gpio_sda GPIO used for I2C data (default "23")

Expand Down Expand Up @@ -3486,11 +3498,17 @@ Params: speed Display SPI bus speed


Name: pisound
Info: Configures the Blokas Labs pisound card
Info: Configures the Blokas Labs Pisound card
Load: dtoverlay=pisound
Params: <None>


Name: pisound-pi5
Info: Pi 5 specific overlay override for Blokas Labs Pisound card, see pisound
Load: dtoverlay=pisound-pi5
Params: <None>


Name: pitft22
Info: Adafruit PiTFT 2.2" screen
Load: dtoverlay=pitft22,<param>=<val>
Expand Down
10 changes: 10 additions & 0 deletions arch/arm/boot/dts/overlays/overlay_map.dts
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,16 @@
renamed = "miniuart-bt";
};

pisound {
bcm2835;
bcm2711;
bcm2712 = "pisound-pi5";
};

pisound-pi5 {
bcm2712;
};

pwm1 {
bcm2711;
};
Expand Down
4 changes: 3 additions & 1 deletion arch/arm/boot/dts/overlays/pisound-overlay.dts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* Pisound Linux kernel module.
* Copyright (C) 2016-2017 Vilniaus Blokas UAB, https://blokas.io/pisound
* Copyright (C) 2016-2024 Vilniaus Blokas UAB, https://blokas.io/pisound
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
Expand Down Expand Up @@ -56,6 +56,7 @@
compatible = "blokaslabs,pisound-spi";
reg = <0>;
spi-max-frequency = <1000000>;
spi-speed-hz = <150000>;
};
};
};
Expand All @@ -76,6 +77,7 @@
__overlay__ {
compatible = "blokaslabs,pisound";
i2s-controller = <&i2s_clk_consumer>;
spi-controller = <&pisound_spi>;
status = "okay";

pinctrl-names = "default";
Expand Down
31 changes: 31 additions & 0 deletions arch/arm/boot/dts/overlays/pisound-pi5-overlay.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
* Pisound Linux kernel module.
* Copyright (C) 2016-2024 Vilniaus Blokas UAB, https://blokas.io/pisound
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; version 2 of the
* License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

/dts-v1/;
/plugin/;

#include "pisound-overlay.dts"

&pisound_spi {
spi-speed-hz = <100000>;
};

/ {
compatible = "brcm,bcm2712";
};
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 @@ -804,12 +804,12 @@ static int __init sunxi_mc_smp_init(void)
for (i = 0; i < ARRAY_SIZE(sunxi_mc_smp_data); i++) {
ret = of_property_match_string(node, "enable-method",
sunxi_mc_smp_data[i].enable_method);
if (!ret)
if (ret >= 0)
break;
}

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

is_a83t = sunxi_mc_smp_data[i].is_a83t;
Expand Down
3 changes: 1 addition & 2 deletions arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -510,8 +510,7 @@ ap_i2c_tp: &i2c5 {
&pci_rootport {
mvl_wifi: wifi@0,0 {
compatible = "pci1b4b,2b42";
reg = <0x83010000 0x0 0x00000000 0x0 0x00100000
0x83010000 0x0 0x00100000 0x0 0x00100000>;
reg = <0x0000 0x0 0x0 0x0 0x0>;
interrupt-parent = <&gpio0>;
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
Expand Down
4 changes: 2 additions & 2 deletions arch/arm64/boot/dts/rockchip/rk3399-gru-scarlet-dumo.dts
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
&pci_rootport {
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0x00010000 0x0 0x00000000 0x0 0x00000000>,
<0x03010010 0x0 0x00000000 0x0 0x00200000>;
reg = <0x00000000 0x0 0x00000000 0x0 0x00000000>,
<0x03000010 0x0 0x00000000 0x0 0x00200000>;
qcom,ath10k-calibration-variant = "GO_DUMO";
};
};
1 change: 1 addition & 0 deletions arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -489,6 +489,7 @@ ap_i2c_audio: &i2c8 {
#address-cells = <3>;
#size-cells = <2>;
ranges;
device_type = "pci";
};
};

Expand Down
2 changes: 1 addition & 1 deletion arch/arm64/boot/dts/rockchip/rk356x.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -958,7 +958,7 @@
<GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "sys", "pmc", "msi", "legacy", "err";
interrupt-names = "sys", "pmc", "msg", "legacy", "err";
bus-range = <0x0 0xf>;
clocks = <&cru ACLK_PCIE20_MST>, <&cru ACLK_PCIE20_SLV>,
<&cru ACLK_PCIE20_DBI>, <&cru PCLK_PCIE20>,
Expand Down
2 changes: 1 addition & 1 deletion arch/loongarch/include/asm/elf.h
Original file line number Diff line number Diff line change
Expand Up @@ -293,7 +293,7 @@ extern const char *__elf_platform;
#define ELF_PLAT_INIT(_r, load_addr) do { \
_r->regs[1] = _r->regs[2] = _r->regs[3] = _r->regs[4] = 0; \
_r->regs[5] = _r->regs[6] = _r->regs[7] = _r->regs[8] = 0; \
_r->regs[9] = _r->regs[10] = _r->regs[11] = _r->regs[12] = 0; \
_r->regs[9] = _r->regs[10] /* syscall n */ = _r->regs[12] = 0; \
_r->regs[13] = _r->regs[14] = _r->regs[15] = _r->regs[16] = 0; \
_r->regs[17] = _r->regs[18] = _r->regs[19] = _r->regs[20] = 0; \
_r->regs[21] = _r->regs[22] = _r->regs[23] = _r->regs[24] = 0; \
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/boot/dts/loongson/loongson64-2k1000.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,7 @@
compatible = "pci0014,7a03.0",
"pci0014,7a03",
"pciclass0c0320",
"pciclass0c03",
"loongson, pci-gmac";
"pciclass0c03";

reg = <0x1800 0x0 0x0 0x0 0x0>;
interrupts = <12 IRQ_TYPE_LEVEL_LOW>,
Expand Down
3 changes: 1 addition & 2 deletions arch/mips/boot/dts/loongson/ls7a-pch.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,7 @@
compatible = "pci0014,7a03.0",
"pci0014,7a03",
"pciclass020000",
"pciclass0200",
"loongson, pci-gmac";
"pciclass0200";

reg = <0x1800 0x0 0x0 0x0 0x0>;
interrupts = <12 IRQ_TYPE_LEVEL_HIGH>,
Expand Down
14 changes: 13 additions & 1 deletion block/blk-mq.c
Original file line number Diff line number Diff line change
Expand Up @@ -1500,14 +1500,26 @@ void blk_mq_delay_kick_requeue_list(struct request_queue *q,
}
EXPORT_SYMBOL(blk_mq_delay_kick_requeue_list);

static bool blk_is_flush_data_rq(struct request *rq)
{
return (rq->rq_flags & RQF_FLUSH_SEQ) && !is_flush_rq(rq);
}

static bool blk_mq_rq_inflight(struct request *rq, void *priv)
{
/*
* If we find a request that isn't idle we know the queue is busy
* as it's checked in the iter.
* Return false to stop the iteration.
*
* In case of queue quiesce, if one flush data request is completed,
* don't count it as inflight given the flush sequence is suspended,
* and the original flush data request is invisible to driver, just
* like other pending requests because of quiesce
*/
if (blk_mq_request_started(rq)) {
if (blk_mq_request_started(rq) && !(blk_queue_quiesced(rq->q) &&
blk_is_flush_data_rq(rq) &&
blk_mq_request_completed(rq))) {
bool *busy = priv;

*busy = true;
Expand Down
7 changes: 7 additions & 0 deletions drivers/acpi/resource.c
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,13 @@ static const struct dmi_system_id maingear_laptop[] = {
DMI_MATCH(DMI_BOARD_NAME, "GMxXGxx"),
},
},
{
/* TongFang GMxXGxx sold as Eluktronics Inc. RP-15 */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Eluktronics Inc."),
DMI_MATCH(DMI_BOARD_NAME, "RP-15"),
},
},
{
/* TongFang GM6XGxX/TUXEDO Stellaris 16 Gen5 AMD */
.matches = {
Expand Down
2 changes: 1 addition & 1 deletion drivers/android/binder.c
Original file line number Diff line number Diff line change
Expand Up @@ -5005,7 +5005,7 @@ static __poll_t binder_poll(struct file *filp,

thread = binder_get_thread(proc);
if (!thread)
return POLLERR;
return EPOLLERR;

binder_inner_proc_lock(thread->proc);
thread->looper |= BINDER_LOOPER_STATE_POLL;
Expand Down
10 changes: 7 additions & 3 deletions drivers/android/binder_alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,7 +557,7 @@ static struct binder_buffer *binder_alloc_new_buf_locked(
* is the sum of the three given sizes (each rounded up to
* pointer-sized boundary)
*
* Return: The allocated buffer or %NULL if error
* Return: The allocated buffer or %ERR_PTR(-errno) if error
*/
struct binder_buffer *binder_alloc_new_buf(struct binder_alloc *alloc,
size_t data_size,
Expand Down Expand Up @@ -706,7 +706,7 @@ void binder_alloc_free_buf(struct binder_alloc *alloc,
/*
* We could eliminate the call to binder_alloc_clear_buf()
* from binder_alloc_deferred_release() by moving this to
* binder_alloc_free_buf_locked(). However, that could
* binder_free_buf_locked(). However, that could
* increase contention for the alloc mutex if clear_on_free
* is used frequently for large buffers. The mutex is not
* needed for correctness here.
Expand Down Expand Up @@ -1005,7 +1005,9 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
goto err_mmget;
if (!mmap_read_trylock(mm))
goto err_mmap_read_lock_failed;
vma = binder_alloc_get_vma(alloc);
vma = vma_lookup(mm, page_addr);
if (vma && vma != binder_alloc_get_vma(alloc))
goto err_invalid_vma;

list_lru_isolate(lru, item);
spin_unlock(lock);
Expand All @@ -1031,6 +1033,8 @@ enum lru_status binder_alloc_free_page(struct list_head *item,
mutex_unlock(&alloc->mutex);
return LRU_REMOVED_RETRY;

err_invalid_vma:
mmap_read_unlock(mm);
err_mmap_read_lock_failed:
mmput_async(mm);
err_mmget:
Expand Down
8 changes: 4 additions & 4 deletions drivers/block/virtio_blk.c
Original file line number Diff line number Diff line change
Expand Up @@ -609,12 +609,12 @@ static void virtblk_config_changed(struct virtio_device *vdev)
static int init_vq(struct virtio_blk *vblk)
{
int err;
int i;
unsigned short i;
vq_callback_t **callbacks;
const char **names;
struct virtqueue **vqs;
unsigned short num_vqs;
unsigned int num_poll_vqs;
unsigned short num_poll_vqs;
struct virtio_device *vdev = vblk->vdev;
struct irq_affinity desc = { 0, };

Expand Down Expand Up @@ -658,13 +658,13 @@ static int init_vq(struct virtio_blk *vblk)

for (i = 0; i < num_vqs - num_poll_vqs; i++) {
callbacks[i] = virtblk_done;
snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req.%d", i);
snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req.%u", i);
names[i] = vblk->vqs[i].name;
}

for (; i < num_vqs; i++) {
callbacks[i] = NULL;
snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req_poll.%d", i);
snprintf(vblk->vqs[i].name, VQ_NAME_LEN, "req_poll.%u", i);
names[i] = vblk->vqs[i].name;
}

Expand Down
2 changes: 1 addition & 1 deletion drivers/clk/rockchip/clk-rk3128.c
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,7 @@ static struct rockchip_clk_branch common_clk_branches[] __initdata = {
GATE(HCLK_I2S_2CH, "hclk_i2s_2ch", "hclk_peri", 0, RK2928_CLKGATE_CON(7), 2, GFLAGS),
GATE(0, "hclk_usb_peri", "hclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(9), 13, GFLAGS),
GATE(HCLK_HOST2, "hclk_host2", "hclk_peri", 0, RK2928_CLKGATE_CON(7), 3, GFLAGS),
GATE(HCLK_OTG, "hclk_otg", "hclk_peri", 0, RK2928_CLKGATE_CON(3), 13, GFLAGS),
GATE(HCLK_OTG, "hclk_otg", "hclk_peri", 0, RK2928_CLKGATE_CON(5), 13, GFLAGS),
GATE(0, "hclk_peri_ahb", "hclk_peri", CLK_IGNORE_UNUSED, RK2928_CLKGATE_CON(9), 14, GFLAGS),
GATE(HCLK_SPDIF, "hclk_spdif", "hclk_peri", 0, RK2928_CLKGATE_CON(10), 9, GFLAGS),
GATE(HCLK_TSP, "hclk_tsp", "hclk_peri", 0, RK2928_CLKGATE_CON(10), 12, GFLAGS),
Expand Down
1 change: 1 addition & 0 deletions drivers/clk/rockchip/clk-rk3568.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ static struct rockchip_pll_rate_table rk3568_pll_rates[] = {
RK3036_PLL_RATE(408000000, 1, 68, 2, 2, 1, 0),
RK3036_PLL_RATE(312000000, 1, 78, 6, 1, 1, 0),
RK3036_PLL_RATE(297000000, 2, 99, 4, 1, 1, 0),
RK3036_PLL_RATE(292500000, 1, 195, 4, 4, 1, 0),
RK3036_PLL_RATE(241500000, 2, 161, 4, 2, 1, 0),
RK3036_PLL_RATE(216000000, 1, 72, 4, 2, 1, 0),
RK3036_PLL_RATE(200000000, 1, 100, 3, 4, 1, 0),
Expand Down
Loading

0 comments on commit 12b8b76

Please sign in to comment.