From be0639063a701254677bb982d8e28a71a931433f Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 3 Jul 2022 16:46:35 +0000 Subject: kernel: bump 5.4 to 5.4.203 Merged upstream: bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch generic/backport-5.4/080-wireguard-0021-crypto-blake2s-generic-C-library-implementation-and-.patch Manually adapted: layerscape/patches-5.4/801-audio-0005-Revert-ASoC-fsl_sai-Add-support-for-SAI-new-version.patch oxnas/patches-5.4/100-oxnas-clk-plla-pllb.patch Compile-tested: lantiq/xrx200 Run-tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens --- ...950-0043-MMC-added-alternative-MMC-driver.patch | 6 +-- .../950-0059-ASoC-Add-support-for-Rpi-DAC.patch | 2 +- ...r-for-HiFiBerry-Amp-amplifier-add-on-boar.patch | 2 +- ...4-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch | 2 +- ...mbing-for-updating-interrupt-endpoint-int.patch | 4 +- ...ent-xhci_fixup_endpoint-for-interval-adju.patch | 4 +- ...427-of-overlay-Correct-symbol-path-fixups.patch | 2 +- ...t-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch | 6 +-- ...exclude-dma_direct_map_resource-from-the-.patch | 2 +- ...ing-treat-dev-bus_dma_mask-as-a-DMA-limit.patch | 2 +- ...ndings-media-i2c-Add-IMX219-CMOS-sensor-b.patch | 2 +- ...ll-mainline-bcm283x-dt-files-for-i2c0-pin.patch | 4 +- ...dia-i2c-Add-driver-for-Sony-IMX477-sensor.patch | 2 +- ...udmabuf-Remove-deleted-map-unmap-handlers.patch | 2 +- ...0717-udmabuf-use-cache_sgt_mapping-option.patch | 2 +- ...-a-pointer-to-the-miscdevice-in-dma-buf-p.patch | 8 +-- ...arate-out-creating-destroying-scatter-tab.patch | 6 +-- ...lement-begin_cpu_access-end_cpu_access-ho.patch | 2 +- .../950-0721-udmabuf-fix-dma-buf-cpu-access.patch | 4 +- ...ndings-media-i2c-Add-IMX290-CMOS-sensor-b.patch | 2 +- ...t-mailbox-avoid-timer-start-from-callback.patch | 60 ---------------------- 21 files changed, 33 insertions(+), 93 deletions(-) delete mode 100644 target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch (limited to 'target/linux/bcm27xx/patches-5.4') diff --git a/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch index ce51e004c5..34ad1be438 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0043-MMC-added-alternative-MMC-driver.patch @@ -222,7 +222,7 @@ Signed-off-by: Yaroslav Rosomakho static inline int mmc_blk_part_switch(struct mmc_card *card, unsigned int part_type); -@@ -2891,6 +2898,7 @@ static int mmc_blk_probe(struct mmc_card +@@ -2890,6 +2897,7 @@ static int mmc_blk_probe(struct mmc_card { struct mmc_blk_data *md, *part_md; char cap_str[10]; @@ -230,7 +230,7 @@ Signed-off-by: Yaroslav Rosomakho /* * Check that the card supports the command class(es) we need. -@@ -2898,7 +2906,16 @@ static int mmc_blk_probe(struct mmc_card +@@ -2897,7 +2905,16 @@ static int mmc_blk_probe(struct mmc_card if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -248,7 +248,7 @@ Signed-off-by: Yaroslav Rosomakho card->complete_wq = alloc_workqueue("mmc_complete", WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); -@@ -2913,9 +2930,14 @@ static int mmc_blk_probe(struct mmc_card +@@ -2912,9 +2929,14 @@ static int mmc_blk_probe(struct mmc_card string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); diff --git a/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch b/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch index 2cbd46debd..67d480a18d 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0059-ASoC-Add-support-for-Rpi-DAC.patch @@ -20,7 +20,7 @@ Subject: [PATCH] ASoC: Add support for Rpi-DAC select SND_SOC_PCM3008 select SND_SOC_PCM3060_I2C if I2C select SND_SOC_PCM3060_SPI if SPI_MASTER -@@ -985,6 +986,10 @@ config SND_SOC_RT5616 +@@ -984,6 +985,10 @@ config SND_SOC_RT5616 tristate "Realtek RT5616 CODEC" depends on I2C diff --git a/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch b/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch index 0ceb277a8e..a403d50d02 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0062-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch @@ -35,7 +35,7 @@ Some code to load the driver based on device-tree-overlays was missing. This is select SND_SOC_TLV320AIC26 if SPI_MASTER select SND_SOC_TLV320AIC31XX if I2C select SND_SOC_TLV320AIC32X4_I2C if I2C && COMMON_CLK -@@ -1148,6 +1149,9 @@ config SND_SOC_TFA9879 +@@ -1147,6 +1148,9 @@ config SND_SOC_TFA9879 tristate "NXP Semiconductors TFA9879 amplifier" depends on I2C diff --git a/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch b/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch index f5e38a30e3..9ae002a005 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0144-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch @@ -226,7 +226,7 @@ Signed-off-by: Hui Wang select SND_SOC_JZ4740_CODEC select SND_SOC_JZ4725B_CODEC select SND_SOC_LM4857 if I2C -@@ -1502,4 +1503,8 @@ config SND_SOC_TPA6130A2 +@@ -1501,4 +1502,8 @@ config SND_SOC_TPA6130A2 tristate "Texas Instruments TPA6130A2 headphone amplifier" depends on I2C diff --git a/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch b/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch index 9c0f2cdb8e..7efa6d533e 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0218-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch @@ -81,7 +81,7 @@ Signed-off-by: Jonathan Bell extern int usb_driver_set_configuration(struct usb_device *udev, int config); --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h -@@ -382,6 +382,11 @@ struct hc_driver { +@@ -384,6 +384,11 @@ struct hc_driver { * or bandwidth constraints. */ void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); @@ -93,7 +93,7 @@ Signed-off-by: Jonathan Bell /* Returns the hardware-chosen device address */ int (*address_device)(struct usb_hcd *, struct usb_device *udev); /* prepares the hardware to send commands to the device */ -@@ -443,6 +448,8 @@ extern void usb_hcd_unmap_urb_setup_for_ +@@ -445,6 +450,8 @@ extern void usb_hcd_unmap_urb_setup_for_ extern void usb_hcd_unmap_urb_for_dma(struct usb_hcd *, struct urb *); extern void usb_hcd_flush_endpoint(struct usb_device *udev, struct usb_host_endpoint *ep); diff --git a/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index 3aafe1eb5f..7c165b142b 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0219-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1483,6 +1483,103 @@ command_cleanup: +@@ -1494,6 +1494,103 @@ command_cleanup: } /* @@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5384,6 +5481,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5395,6 +5492,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch b/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch index 4b005876de..25e417fb72 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0427-of-overlay-Correct-symbol-path-fixups.patch @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell --- a/drivers/of/overlay.c +++ b/drivers/of/overlay.c -@@ -245,6 +245,8 @@ static struct property *dup_and_fixup_sy +@@ -243,6 +243,8 @@ static struct property *dup_and_fixup_sy if (!target_path) return NULL; target_path_len = strlen(target_path); diff --git a/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch b/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch index 4fe3df06db..3a9467a273 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0439-dma-direct-turn-ARCH_ZONE_DMA_BITS-into-a-variable.patch @@ -65,7 +65,7 @@ Signed-off-by: Catalin Marinas arm64_dma32_phys_limit = max_zone_phys(32); --- a/arch/powerpc/include/asm/page.h +++ b/arch/powerpc/include/asm/page.h -@@ -338,13 +338,4 @@ struct vm_area_struct; +@@ -341,13 +341,4 @@ struct vm_area_struct; #endif /* __ASSEMBLY__ */ #include @@ -89,7 +89,7 @@ Signed-off-by: Catalin Marinas #include #include -@@ -223,10 +224,10 @@ static int __init mark_nonram_nosave(voi +@@ -224,10 +225,10 @@ static int __init mark_nonram_nosave(voi * everything else. GFP_DMA32 page allocations automatically fall back to * ZONE_DMA. * @@ -104,7 +104,7 @@ Signed-off-by: Catalin Marinas */ static unsigned long max_zone_pfns[MAX_NR_ZONES]; -@@ -259,9 +260,18 @@ void __init paging_init(void) +@@ -260,9 +261,18 @@ void __init paging_init(void) printk(KERN_DEBUG "Memory hole size: %ldMB\n", (long int)((top_of_ram - total_ram) >> 20)); diff --git a/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch b/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch index de53f028ff..173b03d096 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0444-dma-direct-exclude-dma_direct_map_resource-from-the-.patch @@ -104,7 +104,7 @@ Tested-by: Marek Szyprowski } --- a/kernel/dma/swiotlb.c +++ b/kernel/dma/swiotlb.c -@@ -683,7 +683,7 @@ bool swiotlb_map(struct device *dev, phy +@@ -686,7 +686,7 @@ bool swiotlb_map(struct device *dev, phy /* Ensure that the address returned is DMA'ble */ *dma_addr = __phys_to_dma(dev, *phys); diff --git a/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch b/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch index 2f99b22cdb..a428c1a5c2 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0445-dma-mapping-treat-dev-bus_dma_mask-as-a-DMA-limit.patch @@ -271,7 +271,7 @@ Signed-off-by: Christoph Hellwig u64 dma_direct_get_required_mask(struct device *dev); --- a/include/linux/dma-mapping.h +++ b/include/linux/dma-mapping.h -@@ -705,7 +705,7 @@ static inline int dma_coerce_mask_and_co +@@ -697,7 +697,7 @@ static inline int dma_coerce_mask_and_co */ static inline bool dma_addressing_limited(struct device *dev) { diff --git a/target/linux/bcm27xx/patches-5.4/950-0451-media-dt-bindings-media-i2c-Add-IMX219-CMOS-sensor-b.patch b/target/linux/bcm27xx/patches-5.4/950-0451-media-dt-bindings-media-i2c-Add-IMX219-CMOS-sensor-b.patch index c93f4501c4..bc69d5868e 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0451-media-dt-bindings-media-i2c-Add-IMX219-CMOS-sensor-b.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0451-media-dt-bindings-media-i2c-Add-IMX219-CMOS-sensor-b.patch @@ -139,7 +139,7 @@ Signed-off-by: Mauro Carvalho Chehab +... --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -15143,6 +15143,14 @@ S: Maintained +@@ -15144,6 +15144,14 @@ S: Maintained F: drivers/media/i2c/imx214.c F: Documentation/devicetree/bindings/media/i2c/sony,imx214.txt diff --git a/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch b/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch index f5e4e4b008..735c3c8cc9 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0660-dt-Update-all-mainline-bcm283x-dt-files-for-i2c0-pin.patch @@ -77,7 +77,7 @@ Signed-off-by: Dave Stevenson +}; --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts -@@ -116,3 +116,10 @@ +@@ -115,3 +115,10 @@ pinctrl-0 = <&uart0_gpio14>; status = "okay"; }; @@ -101,7 +101,7 @@ Signed-off-by: Dave Stevenson +}; --- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts -@@ -149,3 +149,8 @@ +@@ -151,3 +151,8 @@ pinctrl-0 = <&uart1_gpio14>; status = "okay"; }; diff --git a/target/linux/bcm27xx/patches-5.4/950-0714-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch b/target/linux/bcm27xx/patches-5.4/950-0714-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch index f3e2052bfd..cd2ef3838c 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0714-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0714-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch @@ -25,7 +25,7 @@ Signed-off-by: Naushir Patuck --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -15196,6 +15196,14 @@ T: git git://linuxtv.org/media_tree.git +@@ -15197,6 +15197,14 @@ T: git git://linuxtv.org/media_tree.git S: Maintained F: drivers/media/i2c/imx355.c diff --git a/target/linux/bcm27xx/patches-5.4/950-0716-udmabuf-Remove-deleted-map-unmap-handlers.patch b/target/linux/bcm27xx/patches-5.4/950-0716-udmabuf-Remove-deleted-map-unmap-handlers.patch index bc7b5bea91..d57e12ff92 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0716-udmabuf-Remove-deleted-map-unmap-handlers.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0716-udmabuf-Remove-deleted-map-unmap-handlers.patch @@ -23,7 +23,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20191126142516.630200-1-maar --- a/drivers/dma-buf/udmabuf.c +++ b/drivers/dma-buf/udmabuf.c -@@ -93,26 +93,10 @@ static void release_udmabuf(struct dma_b +@@ -96,26 +96,10 @@ static void release_udmabuf(struct dma_b kfree(ubuf); } diff --git a/target/linux/bcm27xx/patches-5.4/950-0717-udmabuf-use-cache_sgt_mapping-option.patch b/target/linux/bcm27xx/patches-5.4/950-0717-udmabuf-use-cache_sgt_mapping-option.patch index 166055556f..34cdfedfbf 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0717-udmabuf-use-cache_sgt_mapping-option.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0717-udmabuf-use-cache_sgt_mapping-option.patch @@ -17,7 +17,7 @@ Signed-off-by: Gerd Hoffmann --- a/drivers/dma-buf/udmabuf.c +++ b/drivers/dma-buf/udmabuf.c -@@ -94,10 +94,11 @@ static void release_udmabuf(struct dma_b +@@ -97,10 +97,11 @@ static void release_udmabuf(struct dma_b } static const struct dma_buf_ops udmabuf_ops = { diff --git a/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch b/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch index b5ae5052b4..62a4f17f78 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0718-udmabuf-add-a-pointer-to-the-miscdevice-in-dma-buf-p.patch @@ -27,7 +27,7 @@ Signed-off-by: Gerd Hoffmann }; static vm_fault_t udmabuf_vm_fault(struct vm_fault *vmf) -@@ -104,8 +105,9 @@ static const struct dma_buf_ops udmabuf_ +@@ -107,8 +108,9 @@ static const struct dma_buf_ops udmabuf_ #define SEALS_WANTED (F_SEAL_SHRINK) #define SEALS_DENIED (F_SEAL_WRITE) @@ -39,7 +39,7 @@ Signed-off-by: Gerd Hoffmann { DEFINE_DMA_BUF_EXPORT_INFO(exp_info); struct file *memfd = NULL; -@@ -176,6 +178,7 @@ static long udmabuf_create(const struct +@@ -179,6 +181,7 @@ static long udmabuf_create(const struct exp_info.priv = ubuf; exp_info.flags = O_RDWR; @@ -47,7 +47,7 @@ Signed-off-by: Gerd Hoffmann buf = dma_buf_export(&exp_info); if (IS_ERR(buf)) { ret = PTR_ERR(buf); -@@ -213,7 +216,7 @@ static long udmabuf_ioctl_create(struct +@@ -216,7 +219,7 @@ static long udmabuf_ioctl_create(struct list.offset = create.offset; list.size = create.size; @@ -56,7 +56,7 @@ Signed-off-by: Gerd Hoffmann } static long udmabuf_ioctl_create_list(struct file *filp, unsigned long arg) -@@ -232,7 +235,7 @@ static long udmabuf_ioctl_create_list(st +@@ -235,7 +238,7 @@ static long udmabuf_ioctl_create_list(st if (IS_ERR(list)) return PTR_ERR(list); diff --git a/target/linux/bcm27xx/patches-5.4/950-0719-udmabuf-separate-out-creating-destroying-scatter-tab.patch b/target/linux/bcm27xx/patches-5.4/950-0719-udmabuf-separate-out-creating-destroying-scatter-tab.patch index 5a0a59ced1..86bf5af78d 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0719-udmabuf-separate-out-creating-destroying-scatter-tab.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0719-udmabuf-separate-out-creating-destroying-scatter-tab.patch @@ -17,7 +17,7 @@ Signed-off-by: Gerd Hoffmann --- a/drivers/dma-buf/udmabuf.c +++ b/drivers/dma-buf/udmabuf.c -@@ -47,10 +47,10 @@ static int mmap_udmabuf(struct dma_buf * +@@ -50,10 +50,10 @@ static int mmap_udmabuf(struct dma_buf * return 0; } @@ -31,7 +31,7 @@ Signed-off-by: Gerd Hoffmann struct sg_table *sg; int ret; -@@ -62,7 +62,7 @@ static struct sg_table *map_udmabuf(stru +@@ -65,7 +65,7 @@ static struct sg_table *map_udmabuf(stru GFP_KERNEL); if (ret < 0) goto err; @@ -40,7 +40,7 @@ Signed-off-by: Gerd Hoffmann ret = -EINVAL; goto err; } -@@ -74,13 +74,25 @@ err: +@@ -77,13 +77,25 @@ err: return ERR_PTR(ret); } diff --git a/target/linux/bcm27xx/patches-5.4/950-0720-udmabuf-implement-begin_cpu_access-end_cpu_access-ho.patch b/target/linux/bcm27xx/patches-5.4/950-0720-udmabuf-implement-begin_cpu_access-end_cpu_access-ho.patch index 79f6a67387..59bff49c08 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0720-udmabuf-implement-begin_cpu_access-end_cpu_access-ho.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0720-udmabuf-implement-begin_cpu_access-end_cpu_access-ho.patch @@ -29,7 +29,7 @@ Signed-off-by: Gerd Hoffmann struct miscdevice *device; }; -@@ -98,20 +99,58 @@ static void unmap_udmabuf(struct dma_buf +@@ -101,20 +102,58 @@ static void unmap_udmabuf(struct dma_buf static void release_udmabuf(struct dma_buf *buf) { struct udmabuf *ubuf = buf->priv; diff --git a/target/linux/bcm27xx/patches-5.4/950-0721-udmabuf-fix-dma-buf-cpu-access.patch b/target/linux/bcm27xx/patches-5.4/950-0721-udmabuf-fix-dma-buf-cpu-access.patch index 14cfe8aed3..e6d88c751a 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0721-udmabuf-fix-dma-buf-cpu-access.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0721-udmabuf-fix-dma-buf-cpu-access.patch @@ -37,7 +37,7 @@ Signed-off-by: Gerd Hoffmann --- a/drivers/dma-buf/udmabuf.c +++ b/drivers/dma-buf/udmabuf.c -@@ -122,9 +122,8 @@ static int begin_cpu_udmabuf(struct dma_ +@@ -125,9 +125,8 @@ static int begin_cpu_udmabuf(struct dma_ if (IS_ERR(ubuf->sg)) return PTR_ERR(ubuf->sg); } else { @@ -49,7 +49,7 @@ Signed-off-by: Gerd Hoffmann } return 0; -@@ -139,7 +138,7 @@ static int end_cpu_udmabuf(struct dma_bu +@@ -142,7 +141,7 @@ static int end_cpu_udmabuf(struct dma_bu if (!ubuf->sg) return -EINVAL; diff --git a/target/linux/bcm27xx/patches-5.4/950-0815-media-dt-bindings-media-i2c-Add-IMX290-CMOS-sensor-b.patch b/target/linux/bcm27xx/patches-5.4/950-0815-media-dt-bindings-media-i2c-Add-IMX290-CMOS-sensor-b.patch index 120ad34dc2..ae6ec005d5 100644 --- a/target/linux/bcm27xx/patches-5.4/950-0815-media-dt-bindings-media-i2c-Add-IMX290-CMOS-sensor-b.patch +++ b/target/linux/bcm27xx/patches-5.4/950-0815-media-dt-bindings-media-i2c-Add-IMX290-CMOS-sensor-b.patch @@ -81,7 +81,7 @@ Signed-off-by: Mauro Carvalho Chehab + }; --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -15200,6 +15200,14 @@ S: Maintained +@@ -15201,6 +15201,14 @@ S: Maintained F: drivers/media/i2c/imx274.c F: Documentation/devicetree/bindings/media/i2c/imx274.txt diff --git a/target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch b/target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch deleted file mode 100644 index 849bdd192e..0000000000 --- a/target/linux/bcm27xx/patches-5.4/950-1014-Revert-mailbox-avoid-timer-start-from-callback.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 2b7fcd18b15d9cc7b2e68deb77f4e0acfa904c41 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 3 Nov 2020 10:13:48 +0000 -Subject: [PATCH] Revert "mailbox: avoid timer start from callback" - -This reverts commit 6dc15642c8b830d384fd3e6c9ea63144202b8932. - -The Pi 400 shutdown/poweroff mechanism relies on being able to set -a GPIO on the expander in the pm_power_off handler, something that -requires two mailbox calls - GET_GPIO_STATE and SET_GPIO_STATE. A -recent kernel change introduces a reasonable possibility that the -GET call doesn't completes, and bisecting led to a commit from -October that changes the timer usage of the mailbox. - -My theory is that there is a race condition in the new code that breaks -the poll timer, but that it normally goes unnoticed because subsequent -mailbox activity wakes it up again. The power-off mailbox calls happen -at a time when other subsystems have been shut down, so if one of them -fails then there is nothing to allow it to recover. - -Revert 6dc15642 as (at least) a workaround. - -See: https://github.com/raspberrypi/linux/issues/3941 - -Signed-off-by: Phil Elwell ---- - drivers/mailbox/mailbox.c | 12 +++++------- - 1 file changed, 5 insertions(+), 7 deletions(-) - ---- a/drivers/mailbox/mailbox.c -+++ b/drivers/mailbox/mailbox.c -@@ -82,12 +82,9 @@ static void msg_submit(struct mbox_chan - exit: - spin_unlock_irqrestore(&chan->lock, flags); - -- /* kick start the timer immediately to avoid delays */ -- if (!err && (chan->txdone_method & TXDONE_BY_POLL)) { -- /* but only if not already active */ -- if (!hrtimer_active(&chan->mbox->poll_hrt)) -- hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); -- } -+ if (!err && (chan->txdone_method & TXDONE_BY_POLL)) -+ /* kick start the timer immediately to avoid delays */ -+ hrtimer_start(&chan->mbox->poll_hrt, 0, HRTIMER_MODE_REL); - } - - static void tx_tick(struct mbox_chan *chan, int r) -@@ -125,10 +122,11 @@ static enum hrtimer_restart txdone_hrtim - struct mbox_chan *chan = &mbox->chans[i]; - - if (chan->active_req && chan->cl) { -- resched = true; - txdone = chan->mbox->ops->last_tx_done(chan); - if (txdone) - tx_tick(chan, 0); -+ else -+ resched = true; - } - } - -- cgit v1.2.3