Skip to content

Commit

Permalink
Merge tag 'v6.1.30' into 6.1
Browse files Browse the repository at this point in the history
This is the 6.1.30 stable release
  • Loading branch information
xanmod committed May 24, 2023
2 parents 252154b + a343b0d commit f5919ca
Show file tree
Hide file tree
Showing 365 changed files with 4,069 additions and 1,816 deletions.
2 changes: 2 additions & 0 deletions Documentation/arm64/silicon-errata.rst
Expand Up @@ -170,6 +170,8 @@ stable kernels.
+----------------+-----------------+-----------------+-----------------------------+
| NVIDIA | Carmel Core | N/A | NVIDIA_CARMEL_CNP_ERRATUM |
+----------------+-----------------+-----------------+-----------------------------+
| NVIDIA | T241 GICv3/4.x | T241-FABRIC-4 | N/A |
+----------------+-----------------+-----------------+-----------------------------+
+----------------+-----------------+-----------------+-----------------------------+
| Freescale/NXP | LS2080A/LS1043A | A-008585 | FSL_ERRATUM_A008585 |
+----------------+-----------------+-----------------+-----------------------------+
Expand Down
2 changes: 1 addition & 1 deletion Documentation/devicetree/bindings/ata/ceva,ahci-1v84.yaml
Expand Up @@ -32,7 +32,7 @@ properties:
maxItems: 1

iommus:
maxItems: 1
maxItems: 4

power-domains:
maxItems: 1
Expand Down
Expand Up @@ -65,6 +65,18 @@ properties:
Indicates if the DSI controller is driving a panel which needs
2 DSI links.
qcom,master-dsi:
type: boolean
description: |
Indicates if the DSI controller is the master DSI controller when
qcom,dual-dsi-mode enabled.
qcom,sync-dual-dsi:
type: boolean
description: |
Indicates if the DSI controller needs to sync the other DSI controller
with MIPI DCS commands when qcom,dual-dsi-mode enabled.
assigned-clocks:
maxItems: 2
description: |
Expand Down
4 changes: 2 additions & 2 deletions MAINTAINERS
Expand Up @@ -9362,7 +9362,7 @@ F: drivers/net/wireless/intersil/hostap/
HP COMPAQ TC1100 TABLET WMI EXTRAS DRIVER
L: platform-driver-x86@vger.kernel.org
S: Orphan
F: drivers/platform/x86/tc1100-wmi.c
F: drivers/platform/x86/hp/tc1100-wmi.c

HPET: High Precision Event Timers driver
M: Clemens Ladisch <clemens@ladisch.de>
Expand Down Expand Up @@ -11858,7 +11858,7 @@ M: Eric Piel <eric.piel@tremplin-utc.net>
S: Maintained
F: Documentation/misc-devices/lis3lv02d.rst
F: drivers/misc/lis3lv02d/
F: drivers/platform/x86/hp_accel.c
F: drivers/platform/x86/hp/hp_accel.c

LIST KUNIT TEST
M: David Gow <davidgow@google.com>
Expand Down
2 changes: 1 addition & 1 deletion Makefile
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 6
PATCHLEVEL = 1
SUBLEVEL = 29
SUBLEVEL = 30
EXTRAVERSION =
NAME = Curry Ramen

Expand Down
5 changes: 4 additions & 1 deletion arch/arm/mach-sa1100/jornada720_ssp.c
@@ -1,5 +1,5 @@
// SPDX-License-Identifier: GPL-2.0-only
/**
/*
* arch/arm/mac-sa1100/jornada720_ssp.c
*
* Copyright (C) 2006/2007 Kristoffer Ericson <Kristoffer.Ericson@gmail.com>
Expand All @@ -26,6 +26,7 @@ static unsigned long jornada_ssp_flags;

/**
* jornada_ssp_reverse - reverses input byte
* @byte: input byte to reverse
*
* we need to reverse all data we receive from the mcu due to its physical location
* returns : 01110111 -> 11101110
Expand All @@ -46,6 +47,7 @@ EXPORT_SYMBOL(jornada_ssp_reverse);

/**
* jornada_ssp_byte - waits for ready ssp bus and sends byte
* @byte: input byte to transmit
*
* waits for fifo buffer to clear and then transmits, if it doesn't then we will
* timeout after <timeout> rounds. Needs mcu running before its called.
Expand Down Expand Up @@ -77,6 +79,7 @@ EXPORT_SYMBOL(jornada_ssp_byte);

/**
* jornada_ssp_inout - decide if input is command or trading byte
* @byte: input byte to send (may be %TXDUMMY)
*
* returns : (jornada_ssp_byte(byte)) on success
* : %-ETIMEDOUT on timeout failure
Expand Down
1 change: 0 additions & 1 deletion arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi
Expand Up @@ -1299,7 +1299,6 @@
#address-cells = <1>;
#size-cells = <0>;
dr_mode = "otg";
snps,dis_u3_susphy_quirk;
usb-role-switch;
status = "okay";

Expand Down
3 changes: 3 additions & 0 deletions arch/arm64/boot/dts/qcom/msm8996.dtsi
Expand Up @@ -2979,8 +2979,11 @@
interrupts = <0 131 IRQ_TYPE_LEVEL_HIGH>;
phys = <&hsusb_phy1>, <&ssusb_phy_0>;
phy-names = "usb2-phy", "usb3-phy";
snps,hird-threshold = /bits/ 8 <0>;
snps,dis_u2_susphy_quirk;
snps,dis_enblslpm_quirk;
snps,is-utmi-l1-suspend;
tx-fifo-resize;
};
};

Expand Down
2 changes: 0 additions & 2 deletions arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts
Expand Up @@ -731,8 +731,6 @@
vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;

qcom,snoc-host-cap-skip-quirk;
status = "okay";
};

Expand Down
7 changes: 2 additions & 5 deletions arch/arm64/kernel/mte.c
Expand Up @@ -72,13 +72,10 @@ void mte_sync_tags(pte_t old_pte, pte_t pte)
return;

/* if PG_mte_tagged is set, tags have already been initialised */
for (i = 0; i < nr_pages; i++, page++) {
if (!page_mte_tagged(page)) {
for (i = 0; i < nr_pages; i++, page++)
if (!page_mte_tagged(page))
mte_sync_page_tags(page, old_pte, check_swap,
pte_is_tagged);
set_page_mte_tagged(page);
}
}

/* ensure the tags are visible before the PTE is set */
smp_wmb();
Expand Down
1 change: 1 addition & 0 deletions arch/parisc/include/asm/pdc.h
Expand Up @@ -80,6 +80,7 @@ int pdc_do_firm_test_reset(unsigned long ftc_bitmap);
int pdc_do_reset(void);
int pdc_soft_power_info(unsigned long *power_reg);
int pdc_soft_power_button(int sw_control);
int pdc_soft_power_button_panic(int sw_control);
void pdc_io_reset(void);
void pdc_io_reset_devices(void);
int pdc_iodc_getc(void);
Expand Down
27 changes: 23 additions & 4 deletions arch/parisc/kernel/firmware.c
Expand Up @@ -1232,15 +1232,18 @@ int __init pdc_soft_power_info(unsigned long *power_reg)
}

/*
* pdc_soft_power_button - Control the soft power button behaviour
* @sw_control: 0 for hardware control, 1 for software control
* pdc_soft_power_button{_panic} - Control the soft power button behaviour
* @sw_control: 0 for hardware control, 1 for software control
*
*
* This PDC function places the soft power button under software or
* hardware control.
* Under software control the OS may control to when to allow to shut
* down the system. Under hardware control pressing the power button
* Under software control the OS may control to when to allow to shut
* down the system. Under hardware control pressing the power button
* powers off the system immediately.
*
* The _panic version relies on spin_trylock to prevent deadlock
* on panic path.
*/
int pdc_soft_power_button(int sw_control)
{
Expand All @@ -1254,6 +1257,22 @@ int pdc_soft_power_button(int sw_control)
return retval;
}

int pdc_soft_power_button_panic(int sw_control)
{
int retval;
unsigned long flags;

if (!spin_trylock_irqsave(&pdc_lock, flags)) {
pr_emerg("Couldn't enable soft power button\n");
return -EBUSY; /* ignored by the panic notifier */
}

retval = mem_pdc_call(PDC_SOFT_POWER, PDC_SOFT_POWER_ENABLE, __pa(pdc_result), sw_control);
spin_unlock_irqrestore(&pdc_lock, flags);

return retval;
}

/*
* pdc_io_reset - Hack to avoid overlapping range registers of Bridges devices.
* Primarily a problem on T600 (which parisc-linux doesn't support) but
Expand Down
4 changes: 3 additions & 1 deletion arch/powerpc/kernel/dma-iommu.c
Expand Up @@ -144,7 +144,7 @@ static bool dma_iommu_bypass_supported(struct device *dev, u64 mask)
/* We support DMA to/from any memory page via the iommu */
int dma_iommu_dma_supported(struct device *dev, u64 mask)
{
struct iommu_table *tbl = get_iommu_table_base(dev);
struct iommu_table *tbl;

if (dev_is_pci(dev) && dma_iommu_bypass_supported(dev, mask)) {
/*
Expand All @@ -162,6 +162,8 @@ int dma_iommu_dma_supported(struct device *dev, u64 mask)
return 1;
}

tbl = get_iommu_table_base(dev);

if (!tbl) {
dev_err(dev, "Warning: IOMMU dma not supported: mask 0x%08llx, table unavailable\n", mask);
return 0;
Expand Down
11 changes: 7 additions & 4 deletions arch/powerpc/kernel/iommu.c
Expand Up @@ -517,7 +517,7 @@ int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
/* Convert entry to a dma_addr_t */
entry += tbl->it_offset;
dma_addr = entry << tbl->it_page_shift;
dma_addr |= (s->offset & ~IOMMU_PAGE_MASK(tbl));
dma_addr |= (vaddr & ~IOMMU_PAGE_MASK(tbl));

DBG(" - %lu pages, entry: %lx, dma_addr: %lx\n",
npages, entry, dma_addr);
Expand Down Expand Up @@ -904,6 +904,7 @@ void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
unsigned int order;
unsigned int nio_pages, io_order;
struct page *page;
int tcesize = (1 << tbl->it_page_shift);

size = PAGE_ALIGN(size);
order = get_order(size);
Expand All @@ -930,15 +931,17 @@ void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
memset(ret, 0, size);

/* Set up tces to cover the allocated range */
nio_pages = size >> tbl->it_page_shift;
nio_pages = IOMMU_PAGE_ALIGN(size, tbl) >> tbl->it_page_shift;

io_order = get_iommu_order(size, tbl);
mapping = iommu_alloc(dev, tbl, ret, nio_pages, DMA_BIDIRECTIONAL,
mask >> tbl->it_page_shift, io_order, 0);
if (mapping == DMA_MAPPING_ERROR) {
free_pages((unsigned long)ret, order);
return NULL;
}
*dma_handle = mapping;

*dma_handle = mapping | ((u64)ret & (tcesize - 1));
return ret;
}

Expand All @@ -949,7 +952,7 @@ void iommu_free_coherent(struct iommu_table *tbl, size_t size,
unsigned int nio_pages;

size = PAGE_ALIGN(size);
nio_pages = size >> tbl->it_page_shift;
nio_pages = IOMMU_PAGE_ALIGN(size, tbl) >> tbl->it_page_shift;
iommu_free(tbl, dma_handle, nio_pages);
size = PAGE_ALIGN(size);
free_pages((unsigned long)vaddr, get_order(size));
Expand Down
4 changes: 2 additions & 2 deletions arch/powerpc/mm/book3s64/radix_pgtable.c
Expand Up @@ -1040,8 +1040,8 @@ void radix__ptep_set_access_flags(struct vm_area_struct *vma, pte_t *ptep,
pte_t entry, unsigned long address, int psize)
{
struct mm_struct *mm = vma->vm_mm;
unsigned long set = pte_val(entry) & (_PAGE_DIRTY | _PAGE_ACCESSED |
_PAGE_RW | _PAGE_EXEC);
unsigned long set = pte_val(entry) & (_PAGE_DIRTY | _PAGE_SOFT_DIRTY |
_PAGE_ACCESSED | _PAGE_RW | _PAGE_EXEC);

unsigned long change = pte_val(entry) ^ pte_val(*ptep);
/*
Expand Down
13 changes: 9 additions & 4 deletions arch/powerpc/platforms/pseries/iommu.c
Expand Up @@ -85,19 +85,24 @@ static struct iommu_table_group *iommu_pseries_alloc_group(int node)
static void iommu_pseries_free_group(struct iommu_table_group *table_group,
const char *node_name)
{
struct iommu_table *tbl;

if (!table_group)
return;

tbl = table_group->tables[0];
#ifdef CONFIG_IOMMU_API
if (table_group->group) {
iommu_group_put(table_group->group);
BUG_ON(table_group->group);
}
#endif
iommu_tce_table_put(tbl);

/* Default DMA window table is at index 0, while DDW at 1. SR-IOV
* adapters only have table on index 1.
*/
if (table_group->tables[0])
iommu_tce_table_put(table_group->tables[0]);

if (table_group->tables[1])
iommu_tce_table_put(table_group->tables[1]);

kfree(table_group);
}
Expand Down
2 changes: 2 additions & 0 deletions arch/riscv/kernel/probes/Makefile
Expand Up @@ -4,3 +4,5 @@ obj-$(CONFIG_KPROBES) += kprobes_trampoline.o
obj-$(CONFIG_KPROBES_ON_FTRACE) += ftrace.o
obj-$(CONFIG_UPROBES) += uprobes.o decode-insn.o simulate-insn.o
CFLAGS_REMOVE_simulate-insn.o = $(CC_FLAGS_FTRACE)
CFLAGS_REMOVE_rethook.o = $(CC_FLAGS_FTRACE)
CFLAGS_REMOVE_rethook_trampoline.o = $(CC_FLAGS_FTRACE)
2 changes: 1 addition & 1 deletion arch/s390/crypto/chacha-glue.c
Expand Up @@ -82,7 +82,7 @@ void chacha_crypt_arch(u32 *state, u8 *dst, const u8 *src,
* it cannot handle a block of data or less, but otherwise
* it can handle data of arbitrary size
*/
if (bytes <= CHACHA_BLOCK_SIZE || nrounds != 20)
if (bytes <= CHACHA_BLOCK_SIZE || nrounds != 20 || !MACHINE_HAS_VX)
chacha_crypt_generic(state, dst, src, bytes, nrounds);
else
chacha20_crypt_s390(state, dst, src, bytes,
Expand Down
1 change: 1 addition & 0 deletions arch/s390/kernel/Makefile
Expand Up @@ -10,6 +10,7 @@ CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE)

# Do not trace early setup code
CFLAGS_REMOVE_early.o = $(CC_FLAGS_FTRACE)
CFLAGS_REMOVE_rethook.o = $(CC_FLAGS_FTRACE)

endif

Expand Down
1 change: 1 addition & 0 deletions arch/x86/kernel/Makefile
Expand Up @@ -17,6 +17,7 @@ CFLAGS_REMOVE_ftrace.o = -pg
CFLAGS_REMOVE_early_printk.o = -pg
CFLAGS_REMOVE_head64.o = -pg
CFLAGS_REMOVE_sev.o = -pg
CFLAGS_REMOVE_rethook.o = -pg
endif

KASAN_SANITIZE_head$(BITS).o := n
Expand Down
2 changes: 2 additions & 0 deletions block/bfq-iosched.c
Expand Up @@ -637,6 +637,8 @@ static bool bfqq_request_over_limit(struct bfq_queue *bfqq, int limit)
sched_data->service_tree[i].wsum;
}
}
if (!wsum)
continue;
limit = DIV_ROUND_CLOSEST(limit * entity->weight, wsum);
if (entity->allocated >= limit) {
bfq_log_bfqq(bfqq->bfqd, bfqq,
Expand Down

0 comments on commit f5919ca

Please sign in to comment.