kernel: bump 5.15 to 5.15.56
Manually rebased: bcm27xx/patches-5.15/950-0470-sound-usb-add-device-quirks-for-A4Tech-FHD-1080p-web.patch Remove upstreamed: bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch[1] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.56&id=2db3b95166f72e6481a79b82b1d6f94f4b18fcc1 Build system: x86_64 Build-tested: bcm2711/RPi4B, mt7622/RT3200 Run-tested: bcm2711/RPi4B, mt7622/RT3200 Signed-off-by: John Audia <therealgraysky@proton.me>
This commit is contained in:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
			
				
	
			
			
			 Hauke Mehrtens
						Hauke Mehrtens
					
				
			
						parent
						
							ce014b1e39
						
					
				
				
					commit
					4921ab0be4
				
			| @@ -1,2 +1,2 @@ | ||||
| LINUX_VERSION-5.15 = .55 | ||||
| LINUX_KERNEL_HASH-5.15.55 = 1ef6bd508b6c3af3bef2d5b337e4477254dba284c79e329aa38f9763ae3bfdcc | ||||
| LINUX_VERSION-5.15 = .56 | ||||
| LINUX_KERNEL_HASH-5.15.56 = e9a6bb3437f1497b1c74841ebf70d5b96f915d6ac767b5ba3d8d820dd89b8223 | ||||
|   | ||||
| @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/kernel/cgroup/cgroup.c | ||||
| +++ b/kernel/cgroup/cgroup.c | ||||
| @@ -5824,6 +5824,9 @@ int __init cgroup_init_early(void) | ||||
| @@ -5833,6 +5833,9 @@ int __init cgroup_init_early(void) | ||||
|  	return 0; | ||||
|  } | ||||
|   | ||||
| @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  /** | ||||
|   * cgroup_init - cgroup initialization | ||||
|   * | ||||
| @@ -5862,6 +5865,12 @@ int __init cgroup_init(void) | ||||
| @@ -5871,6 +5874,12 @@ int __init cgroup_init(void) | ||||
|   | ||||
|  	mutex_unlock(&cgroup_mutex); | ||||
|   | ||||
| @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  	for_each_subsys(ss, ssid) { | ||||
|  		if (ss->early_init) { | ||||
|  			struct cgroup_subsys_state *css = | ||||
| @@ -6446,6 +6455,10 @@ static int __init cgroup_disable(char *s | ||||
| @@ -6455,6 +6464,10 @@ static int __init cgroup_disable(char *s | ||||
|  			    strcmp(token, ss->legacy_name)) | ||||
|  				continue; | ||||
|   | ||||
| @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  			static_branch_disable(cgroup_subsys_enabled_key[i]); | ||||
|  			pr_info("Disabling %s control group subsystem\n", | ||||
|  				ss->name); | ||||
| @@ -6464,6 +6477,31 @@ static int __init cgroup_disable(char *s | ||||
| @@ -6473,6 +6486,31 @@ static int __init cgroup_disable(char *s | ||||
|  } | ||||
|  __setup("cgroup_disable=", cgroup_disable); | ||||
|   | ||||
|   | ||||
| @@ -14,7 +14,7 @@ use the same logic. | ||||
|  | ||||
| --- a/drivers/tty/serial/amba-pl011.c | ||||
| +++ b/drivers/tty/serial/amba-pl011.c | ||||
| @@ -2725,7 +2725,12 @@ static int pl011_setup_port(struct devic | ||||
| @@ -2744,7 +2744,12 @@ static int pl011_setup_port(struct devic | ||||
|  	if (IS_ERR(base)) | ||||
|  		return PTR_ERR(base); | ||||
|   | ||||
|   | ||||
| @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/tty/serial/amba-pl011.c | ||||
| +++ b/drivers/tty/serial/amba-pl011.c | ||||
| @@ -1718,6 +1718,23 @@ static void pl011_put_poll_char(struct u | ||||
| @@ -1727,6 +1727,23 @@ static void pl011_put_poll_char(struct u | ||||
|   | ||||
|  #endif /* CONFIG_CONSOLE_POLL */ | ||||
|   | ||||
| @@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  static int pl011_hwinit(struct uart_port *port) | ||||
|  { | ||||
|  	struct uart_amba_port *uap = | ||||
| @@ -1734,7 +1751,7 @@ static int pl011_hwinit(struct uart_port | ||||
| @@ -1743,7 +1760,7 @@ static int pl011_hwinit(struct uart_port | ||||
|  	if (retval) | ||||
|  		return retval; | ||||
|   | ||||
| @@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|   | ||||
|  	/* Clear pending error and receive interrupts */ | ||||
|  	pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS | | ||||
| @@ -2421,7 +2438,7 @@ static int pl011_console_setup(struct co | ||||
| @@ -2440,7 +2457,7 @@ static int pl011_console_setup(struct co | ||||
|  			plat->init(); | ||||
|  	} | ||||
|   | ||||
| @@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|   | ||||
|  	if (uap->vendor->fixed_options) { | ||||
|  		baud = uap->fixed_baud; | ||||
| @@ -2638,6 +2655,7 @@ static struct uart_driver amba_reg = { | ||||
| @@ -2657,6 +2674,7 @@ static struct uart_driver amba_reg = { | ||||
|  	.cons			= AMBA_CONSOLE, | ||||
|  }; | ||||
|   | ||||
| @@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  static int pl011_probe_dt_alias(int index, struct device *dev) | ||||
|  { | ||||
|  	struct device_node *np; | ||||
| @@ -2669,6 +2687,7 @@ static int pl011_probe_dt_alias(int inde | ||||
| @@ -2688,6 +2706,7 @@ static int pl011_probe_dt_alias(int inde | ||||
|   | ||||
|  	return ret; | ||||
|  } | ||||
|   | ||||
| @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/tty/serial/amba-pl011.c | ||||
| +++ b/drivers/tty/serial/amba-pl011.c | ||||
| @@ -1423,6 +1423,7 @@ static bool pl011_tx_char(struct uart_am | ||||
| @@ -1432,6 +1432,7 @@ static bool pl011_tx_char(struct uart_am | ||||
|  		return false; /* unable to transmit character */ | ||||
|   | ||||
|  	pl011_write(c, uap, REG_DR); | ||||
|   | ||||
| @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|    - reg | ||||
| --- a/drivers/tty/serial/amba-pl011.c | ||||
| +++ b/drivers/tty/serial/amba-pl011.c | ||||
| @@ -2816,6 +2816,11 @@ static int pl011_probe(struct amba_devic | ||||
| @@ -2835,6 +2835,11 @@ static int pl011_probe(struct amba_devic | ||||
|  	if (IS_ERR(uap->clk)) | ||||
|  		return PTR_ERR(uap->clk); | ||||
|   | ||||
|   | ||||
| @@ -1,61 +0,0 @@ | ||||
| From 48cb6ac7067b412c56a0a6aca43f5c964dfb7dec Mon Sep 17 00:00:00 2001 | ||||
| From: Phil Elwell <phil@raspberrypi.org> | ||||
| Date: Fri, 24 Jan 2020 11:38:28 +0000 | ||||
| Subject: [PATCH] tty: amba-pl011: Add un/throttle support | ||||
|  | ||||
| The PL011 driver lacks throttle and unthrottle methods. As a result, | ||||
| sending more data to the Pi than it can immediately sink while CRTSCTS | ||||
| is enabled causes a NULL pointer to be followed. | ||||
|  | ||||
| Add a throttle handler that disables the RX interrupts, and an | ||||
| unthrottle handler that reenables them. | ||||
|  | ||||
| Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
| --- | ||||
|  drivers/tty/serial/amba-pl011.c | 28 ++++++++++++++++++++++++++++ | ||||
|  1 file changed, 28 insertions(+) | ||||
|  | ||||
| --- a/drivers/tty/serial/amba-pl011.c | ||||
| +++ b/drivers/tty/serial/amba-pl011.c | ||||
| @@ -1360,6 +1360,32 @@ static void pl011_start_tx(struct uart_p | ||||
|  		pl011_start_tx_pio(uap); | ||||
|  } | ||||
|   | ||||
| +static void pl011_throttle(struct uart_port *port) | ||||
| +{ | ||||
| +	struct uart_amba_port *uap = | ||||
| +	    container_of(port, struct uart_amba_port, port); | ||||
| +	unsigned long flags; | ||||
| + | ||||
| +	spin_lock_irqsave(&uap->port.lock, flags); | ||||
| +	uap->im &= ~(UART011_RTIM | UART011_RXIM); | ||||
| +	pl011_write(uap->im, uap, REG_IMSC); | ||||
| +	spin_unlock_irqrestore(&uap->port.lock, flags); | ||||
| +} | ||||
| + | ||||
| +static void pl011_unthrottle(struct uart_port *port) | ||||
| +{ | ||||
| +	struct uart_amba_port *uap = | ||||
| +	    container_of(port, struct uart_amba_port, port); | ||||
| +	unsigned long flags; | ||||
| + | ||||
| +	spin_lock_irqsave(&uap->port.lock, flags); | ||||
| +	uap->im |= UART011_RTIM; | ||||
| +	if (!pl011_dma_rx_running(uap)) | ||||
| +	    uap->im |= UART011_RXIM; | ||||
| +	pl011_write(uap->im, uap, REG_IMSC); | ||||
| +	spin_unlock_irqrestore(&uap->port.lock, flags); | ||||
| +} | ||||
| + | ||||
|  static void pl011_stop_rx(struct uart_port *port) | ||||
|  { | ||||
|  	struct uart_amba_port *uap = | ||||
| @@ -2263,6 +2289,8 @@ static const struct uart_ops amba_pl011_ | ||||
|  	.stop_tx	= pl011_stop_tx, | ||||
|  	.start_tx	= pl011_start_tx, | ||||
|  	.stop_rx	= pl011_stop_rx, | ||||
| +	.throttle	= pl011_throttle, | ||||
| +	.unthrottle	= pl011_unthrottle, | ||||
|  	.enable_ms	= pl011_enable_ms, | ||||
|  	.break_ctl	= pl011_break_ctl, | ||||
|  	.startup	= pl011_startup, | ||||
| @@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | ||||
|  | ||||
| --- a/drivers/tty/serial/amba-pl011.c | ||||
| +++ b/drivers/tty/serial/amba-pl011.c | ||||
| @@ -1510,6 +1510,10 @@ static bool pl011_tx_chars(struct uart_a | ||||
| @@ -1493,6 +1493,10 @@ static bool pl011_tx_chars(struct uart_a | ||||
|  		if (likely(from_irq) && count-- == 0) | ||||
|  			break; | ||||
|   | ||||
|   | ||||
| @@ -244,7 +244,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | ||||
|  static int bcm2708_fb_register(struct bcm2708_fb *fb) | ||||
| --- a/drivers/video/fbdev/core/fbmem.c | ||||
| +++ b/drivers/video/fbdev/core/fbmem.c | ||||
| @@ -1096,6 +1096,30 @@ fb_blank(struct fb_info *info, int blank | ||||
| @@ -1097,6 +1097,30 @@ fb_blank(struct fb_info *info, int blank | ||||
|  } | ||||
|  EXPORT_SYMBOL(fb_blank); | ||||
|   | ||||
| @@ -275,7 +275,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | ||||
|  static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, | ||||
|  			unsigned long arg) | ||||
|  { | ||||
| @@ -1104,6 +1128,7 @@ static long do_fb_ioctl(struct fb_info * | ||||
| @@ -1105,6 +1129,7 @@ static long do_fb_ioctl(struct fb_info * | ||||
|  	struct fb_fix_screeninfo fix; | ||||
|  	struct fb_cmap cmap_from; | ||||
|  	struct fb_cmap_user cmap; | ||||
| @@ -283,7 +283,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | ||||
|  	void __user *argp = (void __user *)arg; | ||||
|  	long ret = 0; | ||||
|   | ||||
| @@ -1181,6 +1206,15 @@ static long do_fb_ioctl(struct fb_info * | ||||
| @@ -1182,6 +1207,15 @@ static long do_fb_ioctl(struct fb_info * | ||||
|  		unlock_fb_info(info); | ||||
|  		console_unlock(); | ||||
|  		break; | ||||
| @@ -299,7 +299,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | ||||
|  	default: | ||||
|  		lock_fb_info(info); | ||||
|  		fb = info->fbops; | ||||
| @@ -1320,6 +1354,7 @@ static long fb_compat_ioctl(struct file | ||||
| @@ -1321,6 +1355,7 @@ static long fb_compat_ioctl(struct file | ||||
|  	case FBIOPAN_DISPLAY: | ||||
|  	case FBIOGET_CON2FBMAP: | ||||
|  	case FBIOPUT_CON2FBMAP: | ||||
|   | ||||
| @@ -16,10 +16,10 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com> | ||||
|  | ||||
| --- a/sound/usb/quirks.c | ||||
| +++ b/sound/usb/quirks.c | ||||
| @@ -1912,6 +1912,8 @@ static const struct usb_audio_quirk_flag | ||||
|  		   QUIRK_FLAG_ALIGN_TRANSFER), | ||||
|  	DEVICE_FLG(0x1224, 0x2a25, /* Jieli Technology USB PHY 2.0 */ | ||||
|  		   QUIRK_FLAG_GET_SAMPLE_RATE), | ||||
| @@ -1921,6 +1921,8 @@ static const struct usb_audio_quirk_flag | ||||
|  		   QUIRK_FLAG_GENERIC_IMPLICIT_FB), | ||||
|  	DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */ | ||||
|  		   QUIRK_FLAG_GENERIC_IMPLICIT_FB), | ||||
| +	DEVICE_FLG(0x09da, 0x2695, /* A4Tech FHD 1080p webcam */ | ||||
| +		   QUIRK_FLAG_DISABLE_AUTOSUSPEND | QUIRK_FLAG_GET_SAMPLE_RATE), | ||||
|   | ||||
|   | ||||
| @@ -11,7 +11,7 @@ This reverts commit 2388f826cdc9af2651991adc0feb79de9bdf2232. | ||||
|  | ||||
| --- a/drivers/video/fbdev/core/fbmem.c | ||||
| +++ b/drivers/video/fbdev/core/fbmem.c | ||||
| @@ -1628,14 +1628,7 @@ static void do_remove_conflicting_frameb | ||||
| @@ -1629,14 +1629,7 @@ static void do_remove_conflicting_frameb | ||||
|  			 * If it's not a platform device, at least print a warning. A | ||||
|  			 * fix would add code to remove the device from the system. | ||||
|  			 */ | ||||
|   | ||||
| @@ -12,7 +12,7 @@ This reverts commit c894ac44786cfed383a6c6b20c1bfb12eb96018a. | ||||
|  | ||||
| --- a/drivers/video/fbdev/core/fbmem.c | ||||
| +++ b/drivers/video/fbdev/core/fbmem.c | ||||
| @@ -25,7 +25,6 @@ | ||||
| @@ -26,7 +26,6 @@ | ||||
|  #include <linux/init.h> | ||||
|  #include <linux/linux_logo.h> | ||||
|  #include <linux/proc_fs.h> | ||||
| @@ -20,7 +20,7 @@ This reverts commit c894ac44786cfed383a6c6b20c1bfb12eb96018a. | ||||
|  #include <linux/seq_file.h> | ||||
|  #include <linux/console.h> | ||||
|  #include <linux/kmod.h> | ||||
| @@ -1605,36 +1604,18 @@ static void do_remove_conflicting_frameb | ||||
| @@ -1606,36 +1605,18 @@ static void do_remove_conflicting_frameb | ||||
|  	/* check all firmware fbs and kick off if the base addr overlaps */ | ||||
|  	for_each_registered_fb(i) { | ||||
|  		struct apertures_struct *gen_aper; | ||||
| @@ -58,7 +58,7 @@ This reverts commit c894ac44786cfed383a6c6b20c1bfb12eb96018a. | ||||
|  		} | ||||
|  	} | ||||
|  } | ||||
| @@ -1961,13 +1942,9 @@ EXPORT_SYMBOL(register_framebuffer); | ||||
| @@ -1973,13 +1954,9 @@ EXPORT_SYMBOL(register_framebuffer); | ||||
|  void | ||||
|  unregister_framebuffer(struct fb_info *fb_info) | ||||
|  { | ||||
|   | ||||
| @@ -232,7 +232,7 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> | ||||
| +}; | ||||
| --- a/arch/arm/boot/dts/Makefile | ||||
| +++ b/arch/arm/boot/dts/Makefile | ||||
| @@ -129,6 +129,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ | ||||
| @@ -128,6 +128,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ | ||||
|  	bcm47094-luxul-xwr-3150-v1.dtb \ | ||||
|  	bcm47094-netgear-r8500.dtb \ | ||||
|  	bcm47094-phicomm-k3.dtb \ | ||||
|   | ||||
| @@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl> | ||||
|  | ||||
| --- a/drivers/base/core.c | ||||
| +++ b/drivers/base/core.c | ||||
| @@ -1561,7 +1561,7 @@ static void device_links_purge(struct de | ||||
| @@ -1562,7 +1562,7 @@ static void device_links_purge(struct de | ||||
|  #define FW_DEVLINK_FLAGS_RPM		(FW_DEVLINK_FLAGS_ON | \ | ||||
|  					 DL_FLAG_PM_RUNTIME) | ||||
|   | ||||
|   | ||||
		Reference in New Issue
	
	Block a user