kernel: bump 5.4 to 5.4.73
Removed upstreamed patches:
 generic/pending-5.4
   445-mtd-spinand-gigadevice-Only-one-dummy-byte-in-QUA.patch
   446-mtd-spinand-gigadevice-Add-QE-Bit.patch
 pistachio/patches-5.4
   150-pwm-img-Fix-null-pointer-access-in-probe.patch
Manually rebased:
 layerscape/patches-5.4
   801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
   801-audio-0039-MLK-16224-6-ASoC-fsl_sai-fix-DSD-suspend-resume.patch
   801-audio-0073-MLK-21957-3-ASoC-fsl_sai-add-bitcount-and-timestamp-.patch
   820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh.patch
All modifications made by update_kernel.sh
Build system: x86_64
Build-tested: ipq806x/R7800, ath79/generic, bcm27xx/bcm2711,
              mvebu (mamba, rango), x86_64, ramips/mt7621
Run-tested: ipq806x/R7800, mvebu (mamba, rango), x86_64, ramips (RT-AC57U)
No dmesg regressions, everything functional
Signed-off-by: John Audia <graysky@archlinux.us>
[alter 820-usb-0009-usb-dwc3-Add-workaround-for-host-mode-VBUS-glitch-wh]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
			
			
This commit is contained in:
		 John Audia
					John Audia
				
			
				
					committed by
					
						 Adrian Schmutzler
						Adrian Schmutzler
					
				
			
			
				
	
			
			
			 Adrian Schmutzler
						Adrian Schmutzler
					
				
			
						parent
						
							5cdc65f6d1
						
					
				
				
					commit
					b4c02c9998
				
			| @@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL | |||||||
|   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) |   KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER) | ||||||
| endif | endif | ||||||
|  |  | ||||||
| LINUX_VERSION-5.4 = .72 | LINUX_VERSION-5.4 = .73 | ||||||
|  |  | ||||||
| LINUX_KERNEL_HASH-5.4.72 = 0e24645bd56fe5b55a7a662895f5562c103d71b54d097281f0c9c71ff22c1172 | LINUX_KERNEL_HASH-5.4.73 = 5a424b403b726bbe7dfa1d1524e431676c4a64f22a8db524534ed678bfe576b2 | ||||||
|  |  | ||||||
| remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) | remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) | ||||||
| sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) | sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ v2: use bool to indicate ongoing half-duplex send, use it afterwards | |||||||
|  |  | ||||||
| --- a/drivers/tty/serial/Kconfig | --- a/drivers/tty/serial/Kconfig | ||||||
| +++ b/drivers/tty/serial/Kconfig | +++ b/drivers/tty/serial/Kconfig | ||||||
| @@ -1279,6 +1279,7 @@ config SERIAL_AR933X | @@ -1280,6 +1280,7 @@ config SERIAL_AR933X | ||||||
|  	tristate "AR933X serial port support" |  	tristate "AR933X serial port support" | ||||||
|  	depends on HAVE_CLK && ATH79 |  	depends on HAVE_CLK && ATH79 | ||||||
|  	select SERIAL_CORE |  	select SERIAL_CORE | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org> | |||||||
|  |  | ||||||
| --- a/drivers/clk/bcm/clk-bcm2835.c | --- a/drivers/clk/bcm/clk-bcm2835.c | ||||||
| +++ b/drivers/clk/bcm/clk-bcm2835.c | +++ b/drivers/clk/bcm/clk-bcm2835.c | ||||||
| @@ -2265,8 +2265,15 @@ static int bcm2835_clk_probe(struct plat | @@ -2267,8 +2267,15 @@ static int bcm2835_clk_probe(struct plat | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		return ret; |  		return ret; | ||||||
|   |   | ||||||
| @@ -30,7 +30,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static const struct cprman_plat_data cprman_bcm2835_plat_data = { |  static const struct cprman_plat_data cprman_bcm2835_plat_data = { | ||||||
| @@ -2292,7 +2299,11 @@ static struct platform_driver bcm2835_cl | @@ -2294,7 +2301,11 @@ static struct platform_driver bcm2835_cl | ||||||
|  	.probe          = bcm2835_clk_probe, |  	.probe          = bcm2835_clk_probe, | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/clk/bcm/clk-bcm2835.c | --- a/drivers/clk/bcm/clk-bcm2835.c | ||||||
| +++ b/drivers/clk/bcm/clk-bcm2835.c | +++ b/drivers/clk/bcm/clk-bcm2835.c | ||||||
| @@ -1379,6 +1379,11 @@ bcm2835_register_pll_divider(struct bcm2 | @@ -1381,6 +1381,11 @@ bcm2835_register_pll_divider(struct bcm2 | ||||||
|  	divider->div.hw.init = &init; |  	divider->div.hw.init = &init; | ||||||
|  	divider->div.table = NULL; |  	divider->div.table = NULL; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  	pll = kzalloc(sizeof(*pll), GFP_KERNEL); |  	pll = kzalloc(sizeof(*pll), GFP_KERNEL); | ||||||
|  	if (!pll) |  	if (!pll) | ||||||
|  		return NULL; |  		return NULL; | ||||||
| @@ -1380,8 +1385,10 @@ bcm2835_register_pll_divider(struct bcm2 | @@ -1382,8 +1387,10 @@ bcm2835_register_pll_divider(struct bcm2 | ||||||
|  	divider->div.table = NULL; |  	divider->div.table = NULL; | ||||||
|   |   | ||||||
|  	if (!(cprman_read(cprman, data->cm_reg) & data->hold_mask)) { |  	if (!(cprman_read(cprman, data->cm_reg) & data->hold_mask)) { | ||||||
| @@ -49,7 +49,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	divider->cprman = cprman; |  	divider->cprman = cprman; | ||||||
| @@ -2189,6 +2196,8 @@ static const struct bcm2835_clk_desc clk | @@ -2191,6 +2198,8 @@ static const struct bcm2835_clk_desc clk | ||||||
|  		.ctl_reg = CM_PERIICTL), |  		.ctl_reg = CM_PERIICTL), | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  /* |  /* | ||||||
|   * Permanently take a reference on the parent of the SDRAM clock. |   * Permanently take a reference on the parent of the SDRAM clock. | ||||||
|   * |   * | ||||||
| @@ -2208,6 +2217,19 @@ static int bcm2835_mark_sdc_parent_criti | @@ -2210,6 +2219,19 @@ static int bcm2835_mark_sdc_parent_criti | ||||||
|  	return clk_prepare_enable(parent); |  	return clk_prepare_enable(parent); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -78,7 +78,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  static int bcm2835_clk_probe(struct platform_device *pdev) |  static int bcm2835_clk_probe(struct platform_device *pdev) | ||||||
|  { |  { | ||||||
|  	struct device *dev = &pdev->dev; |  	struct device *dev = &pdev->dev; | ||||||
| @@ -2218,6 +2240,7 @@ static int bcm2835_clk_probe(struct plat | @@ -2220,6 +2242,7 @@ static int bcm2835_clk_probe(struct plat | ||||||
|  	const size_t asize = ARRAY_SIZE(clk_desc_array); |  	const size_t asize = ARRAY_SIZE(clk_desc_array); | ||||||
|  	const struct cprman_plat_data *pdata; |  	const struct cprman_plat_data *pdata; | ||||||
|  	size_t i; |  	size_t i; | ||||||
| @@ -86,7 +86,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
|  	pdata = of_device_get_match_data(&pdev->dev); |  	pdata = of_device_get_match_data(&pdev->dev); | ||||||
| @@ -2237,6 +2260,13 @@ static int bcm2835_clk_probe(struct plat | @@ -2239,6 +2262,13 @@ static int bcm2835_clk_probe(struct plat | ||||||
|  	if (IS_ERR(cprman->regs)) |  	if (IS_ERR(cprman->regs)) | ||||||
|  		return PTR_ERR(cprman->regs); |  		return PTR_ERR(cprman->regs); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -90,7 +90,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  	.set_rate = bcm2835_clock_set_rate, |  	.set_rate = bcm2835_clock_set_rate, | ||||||
|  	.determine_rate = bcm2835_clock_determine_rate, |  	.determine_rate = bcm2835_clock_determine_rate, | ||||||
|  	.set_parent = bcm2835_clock_set_parent, |  	.set_parent = bcm2835_clock_set_parent, | ||||||
| @@ -2239,6 +2267,7 @@ static int bcm2835_clk_probe(struct plat | @@ -2241,6 +2269,7 @@ static int bcm2835_clk_probe(struct plat | ||||||
|  	const struct bcm2835_clk_desc *desc; |  	const struct bcm2835_clk_desc *desc; | ||||||
|  	const size_t asize = ARRAY_SIZE(clk_desc_array); |  	const size_t asize = ARRAY_SIZE(clk_desc_array); | ||||||
|  	const struct cprman_plat_data *pdata; |  	const struct cprman_plat_data *pdata; | ||||||
| @@ -98,7 +98,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  	size_t i; |  	size_t i; | ||||||
|  	u32 clk_id; |  	u32 clk_id; | ||||||
|  	int ret; |  	int ret; | ||||||
| @@ -2260,6 +2289,14 @@ static int bcm2835_clk_probe(struct plat | @@ -2262,6 +2291,14 @@ static int bcm2835_clk_probe(struct plat | ||||||
|  	if (IS_ERR(cprman->regs)) |  	if (IS_ERR(cprman->regs)) | ||||||
|  		return PTR_ERR(cprman->regs); |  		return PTR_ERR(cprman->regs); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net> | |||||||
|  |  | ||||||
| --- a/drivers/clk/bcm/clk-bcm2835.c | --- a/drivers/clk/bcm/clk-bcm2835.c | ||||||
| +++ b/drivers/clk/bcm/clk-bcm2835.c | +++ b/drivers/clk/bcm/clk-bcm2835.c | ||||||
| @@ -1471,6 +1471,15 @@ static struct clk_hw *bcm2835_register_c | @@ -1473,6 +1473,15 @@ static struct clk_hw *bcm2835_register_c | ||||||
|  	init.flags = data->flags | CLK_IGNORE_UNUSED; |  	init.flags = data->flags | CLK_IGNORE_UNUSED; | ||||||
|   |   | ||||||
|  	/* |  	/* | ||||||
|   | |||||||
| @@ -234,7 +234,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  static int bcm2708_fb_register(struct bcm2708_fb *fb) |  static int bcm2708_fb_register(struct bcm2708_fb *fb) | ||||||
| --- a/drivers/video/fbdev/core/fbmem.c | --- a/drivers/video/fbdev/core/fbmem.c | ||||||
| +++ b/drivers/video/fbdev/core/fbmem.c | +++ b/drivers/video/fbdev/core/fbmem.c | ||||||
| @@ -1072,6 +1072,30 @@ fb_blank(struct fb_info *info, int blank | @@ -1076,6 +1076,30 @@ fb_blank(struct fb_info *info, int blank | ||||||
|  } |  } | ||||||
|  EXPORT_SYMBOL(fb_blank); |  EXPORT_SYMBOL(fb_blank); | ||||||
|   |   | ||||||
| @@ -265,7 +265,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, |  static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, | ||||||
|  			unsigned long arg) |  			unsigned long arg) | ||||||
|  { |  { | ||||||
| @@ -1080,6 +1104,7 @@ static long do_fb_ioctl(struct fb_info * | @@ -1084,6 +1108,7 @@ static long do_fb_ioctl(struct fb_info * | ||||||
|  	struct fb_fix_screeninfo fix; |  	struct fb_fix_screeninfo fix; | ||||||
|  	struct fb_cmap cmap_from; |  	struct fb_cmap cmap_from; | ||||||
|  	struct fb_cmap_user cmap; |  	struct fb_cmap_user cmap; | ||||||
| @@ -273,7 +273,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  	void __user *argp = (void __user *)arg; |  	void __user *argp = (void __user *)arg; | ||||||
|  	long ret = 0; |  	long ret = 0; | ||||||
|   |   | ||||||
| @@ -1155,6 +1180,15 @@ static long do_fb_ioctl(struct fb_info * | @@ -1159,6 +1184,15 @@ static long do_fb_ioctl(struct fb_info * | ||||||
|  		unlock_fb_info(info); |  		unlock_fb_info(info); | ||||||
|  		console_unlock(); |  		console_unlock(); | ||||||
|  		break; |  		break; | ||||||
| @@ -289,7 +289,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  	default: |  	default: | ||||||
|  		lock_fb_info(info); |  		lock_fb_info(info); | ||||||
|  		fb = info->fbops; |  		fb = info->fbops; | ||||||
| @@ -1300,6 +1334,7 @@ static long fb_compat_ioctl(struct file | @@ -1304,6 +1338,7 @@ static long fb_compat_ioctl(struct file | ||||||
|  	case FBIOPAN_DISPLAY: |  	case FBIOPAN_DISPLAY: | ||||||
|  	case FBIOGET_CON2FBMAP: |  	case FBIOGET_CON2FBMAP: | ||||||
|  	case FBIOPUT_CON2FBMAP: |  	case FBIOPUT_CON2FBMAP: | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/media/i2c/tc358743.c | --- a/drivers/media/i2c/tc358743.c | ||||||
| +++ b/drivers/media/i2c/tc358743.c | +++ b/drivers/media/i2c/tc358743.c | ||||||
| @@ -1947,7 +1947,7 @@ static int tc358743_probe_of(struct tc35 | @@ -1949,7 +1949,7 @@ static int tc358743_probe_of(struct tc35 | ||||||
|  	state->pdata.ddc5v_delay = DDC5V_DELAY_100_MS; |  	state->pdata.ddc5v_delay = DDC5V_DELAY_100_MS; | ||||||
|  	state->pdata.enable_hdcp = false; |  	state->pdata.enable_hdcp = false; | ||||||
|  	/* A FIFO level of 16 should be enough for 2-lane 720p60 at 594 MHz. */ |  	/* A FIFO level of 16 should be enough for 2-lane 720p60 at 594 MHz. */ | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> | |||||||
|  |  | ||||||
| --- a/drivers/media/i2c/tc358743.c | --- a/drivers/media/i2c/tc358743.c | ||||||
| +++ b/drivers/media/i2c/tc358743.c | +++ b/drivers/media/i2c/tc358743.c | ||||||
| @@ -1606,11 +1606,20 @@ static int tc358743_g_mbus_config(struct | @@ -1608,11 +1608,20 @@ static int tc358743_g_mbus_config(struct | ||||||
|  			     struct v4l2_mbus_config *cfg) |  			     struct v4l2_mbus_config *cfg) | ||||||
|  { |  { | ||||||
|  	struct tc358743_state *state = to_state(sd); |  	struct tc358743_state *state = to_state(sd); | ||||||
| @@ -47,7 +47,7 @@ Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> | |||||||
|   |   | ||||||
|  	switch (state->csi_lanes_in_use) { |  	switch (state->csi_lanes_in_use) { | ||||||
|  	case 1: |  	case 1: | ||||||
| @@ -2052,6 +2061,7 @@ static int tc358743_probe(struct i2c_cli | @@ -2054,6 +2063,7 @@ static int tc358743_probe(struct i2c_cli | ||||||
|  	if (pdata) { |  	if (pdata) { | ||||||
|  		state->pdata = *pdata; |  		state->pdata = *pdata; | ||||||
|  		state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; |  		state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK; | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/media/i2c/tc358743.c | --- a/drivers/media/i2c/tc358743.c | ||||||
| +++ b/drivers/media/i2c/tc358743.c | +++ b/drivers/media/i2c/tc358743.c | ||||||
| @@ -1976,6 +1976,7 @@ static int tc358743_probe_of(struct tc35 | @@ -1978,6 +1978,7 @@ static int tc358743_probe_of(struct tc35 | ||||||
|  	/* |  	/* | ||||||
|  	 * The CSI bps per lane must be between 62.5 Mbps and 1 Gbps. |  	 * The CSI bps per lane must be between 62.5 Mbps and 1 Gbps. | ||||||
|  	 * The default is 594 Mbps for 4-lane 1080p60 or 2-lane 720p60. |  	 * The default is 594 Mbps for 4-lane 1080p60 or 2-lane 720p60. | ||||||
| @@ -21,7 +21,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  	 */ |  	 */ | ||||||
|  	bps_pr_lane = 2 * endpoint.link_frequencies[0]; |  	bps_pr_lane = 2 * endpoint.link_frequencies[0]; | ||||||
|  	if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) { |  	if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) { | ||||||
| @@ -1988,23 +1989,41 @@ static int tc358743_probe_of(struct tc35 | @@ -1990,23 +1991,41 @@ static int tc358743_probe_of(struct tc35 | ||||||
|  			       state->pdata.refclk_hz * state->pdata.pll_prd; |  			       state->pdata.refclk_hz * state->pdata.pll_prd; | ||||||
|   |   | ||||||
|  	/* |  	/* | ||||||
|   | |||||||
| @@ -78,7 +78,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val) |  static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val) | ||||||
|  { |  { | ||||||
|  	i2c_wrreg(sd, reg, val, 2); |  	i2c_wrreg(sd, reg, val, 2); | ||||||
| @@ -2062,6 +2079,7 @@ static int tc358743_probe(struct i2c_cli | @@ -2064,6 +2081,7 @@ static int tc358743_probe(struct i2c_cli | ||||||
|  	struct tc358743_platform_data *pdata = client->dev.platform_data; |  	struct tc358743_platform_data *pdata = client->dev.platform_data; | ||||||
|  	struct v4l2_subdev *sd; |  	struct v4l2_subdev *sd; | ||||||
|  	u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK; |  	u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK; | ||||||
| @@ -86,7 +86,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  	int err; |  	int err; | ||||||
|   |   | ||||||
|  	if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) |  	if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA)) | ||||||
| @@ -2094,7 +2112,8 @@ static int tc358743_probe(struct i2c_cli | @@ -2096,7 +2114,8 @@ static int tc358743_probe(struct i2c_cli | ||||||
|  	sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS; |  	sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS; | ||||||
|   |   | ||||||
|  	/* i2c access */ |  	/* i2c access */ | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/media/i2c/tc358743.c | --- a/drivers/media/i2c/tc358743.c | ||||||
| +++ b/drivers/media/i2c/tc358743.c | +++ b/drivers/media/i2c/tc358743.c | ||||||
| @@ -1688,12 +1688,23 @@ static int tc358743_enum_mbus_code(struc | @@ -1690,12 +1690,23 @@ static int tc358743_enum_mbus_code(struc | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -51,7 +51,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|   |   | ||||||
|  	if (format->pad != 0) |  	if (format->pad != 0) | ||||||
|  		return -EINVAL; |  		return -EINVAL; | ||||||
| @@ -1703,23 +1714,7 @@ static int tc358743_get_fmt(struct v4l2_ | @@ -1705,23 +1716,7 @@ static int tc358743_get_fmt(struct v4l2_ | ||||||
|  	format->format.height = state->timings.bt.height; |  	format->format.height = state->timings.bt.height; | ||||||
|  	format->format.field = V4L2_FIELD_NONE; |  	format->format.field = V4L2_FIELD_NONE; | ||||||
|   |   | ||||||
| @@ -76,7 +76,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|   |   | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
| @@ -1734,18 +1729,11 @@ static int tc358743_set_fmt(struct v4l2_ | @@ -1736,18 +1731,11 @@ static int tc358743_set_fmt(struct v4l2_ | ||||||
|  	int ret = tc358743_get_fmt(sd, cfg, format); |  	int ret = tc358743_get_fmt(sd, cfg, format); | ||||||
|   |   | ||||||
|  	format->format.code = code; |  	format->format.code = code; | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/clk/bcm/clk-bcm2835.c | --- a/drivers/clk/bcm/clk-bcm2835.c | ||||||
| +++ b/drivers/clk/bcm/clk-bcm2835.c | +++ b/drivers/clk/bcm/clk-bcm2835.c | ||||||
| @@ -2352,7 +2352,7 @@ static int bcm2835_clk_probe(struct plat | @@ -2354,7 +2354,7 @@ static int bcm2835_clk_probe(struct plat | ||||||
|  		return ret; |  		return ret; | ||||||
|   |   | ||||||
|  	/* note that we have registered all the clocks */ |  	/* note that we have registered all the clocks */ | ||||||
|   | |||||||
| @@ -42,7 +42,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net> | |||||||
|  	ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0; |  	ctl |= (div & CM_DIV_FRAC_MASK) ? CM_FRAC : 0; | ||||||
|  	cprman_write(cprman, data->ctl_reg, ctl); |  	cprman_write(cprman, data->ctl_reg, ctl); | ||||||
|   |   | ||||||
| @@ -1492,7 +1496,7 @@ static struct clk_hw *bcm2835_register_c | @@ -1494,7 +1498,7 @@ static struct clk_hw *bcm2835_register_c | ||||||
|  		init.ops = &bcm2835_vpu_clock_clk_ops; |  		init.ops = &bcm2835_vpu_clock_clk_ops; | ||||||
|  	} else { |  	} else { | ||||||
|  		init.ops = &bcm2835_clock_clk_ops; |  		init.ops = &bcm2835_clock_clk_ops; | ||||||
|   | |||||||
| @@ -61,7 +61,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net> | |||||||
|  	.determine_rate = bcm2835_clock_determine_rate, |  	.determine_rate = bcm2835_clock_determine_rate, | ||||||
|  	.set_parent = bcm2835_clock_set_parent, |  	.set_parent = bcm2835_clock_set_parent, | ||||||
|  	.get_parent = bcm2835_clock_get_parent, |  	.get_parent = bcm2835_clock_get_parent, | ||||||
| @@ -1496,7 +1510,6 @@ static struct clk_hw *bcm2835_register_c | @@ -1498,7 +1512,6 @@ static struct clk_hw *bcm2835_register_c | ||||||
|  		init.ops = &bcm2835_vpu_clock_clk_ops; |  		init.ops = &bcm2835_vpu_clock_clk_ops; | ||||||
|  	} else { |  	} else { | ||||||
|  		init.ops = &bcm2835_clock_clk_ops; |  		init.ops = &bcm2835_clock_clk_ops; | ||||||
|   | |||||||
| @@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | |||||||
|   * non-error returns are a promise to giveback() the urb later |   * non-error returns are a promise to giveback() the urb later | ||||||
|   * we drop ownership so next owner (or urb unlink) can get it |   * we drop ownership so next owner (or urb unlink) can get it | ||||||
|   */ |   */ | ||||||
| @@ -5335,6 +5432,7 @@ static const struct hc_driver xhci_hc_dr | @@ -5334,6 +5431,7 @@ static const struct hc_driver xhci_hc_dr | ||||||
|  	.endpoint_reset =	xhci_endpoint_reset, |  	.endpoint_reset =	xhci_endpoint_reset, | ||||||
|  	.check_bandwidth =	xhci_check_bandwidth, |  	.check_bandwidth =	xhci_check_bandwidth, | ||||||
|  	.reset_bandwidth =	xhci_reset_bandwidth, |  	.reset_bandwidth =	xhci_reset_bandwidth, | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> | |||||||
|  |  | ||||||
| --- a/drivers/clk/bcm/clk-bcm2835.c | --- a/drivers/clk/bcm/clk-bcm2835.c | ||||||
| +++ b/drivers/clk/bcm/clk-bcm2835.c | +++ b/drivers/clk/bcm/clk-bcm2835.c | ||||||
| @@ -2278,9 +2278,11 @@ static bool bcm2835_clk_is_claimed(const | @@ -2280,9 +2280,11 @@ static bool bcm2835_clk_is_claimed(const | ||||||
|  	int i; |  	int i; | ||||||
|   |   | ||||||
|  	for (i = 0; i < ARRAY_SIZE(clk_desc_array); i++) { |  	for (i = 0; i < ARRAY_SIZE(clk_desc_array); i++) { | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org> | |||||||
|  #define USB_VENDOR_ID_BELKIN		0x050d |  #define USB_VENDOR_ID_BELKIN		0x050d | ||||||
|  #define USB_DEVICE_ID_FLIP_KVM		0x3201 |  #define USB_DEVICE_ID_FLIP_KVM		0x3201 | ||||||
|   |   | ||||||
| @@ -1244,6 +1247,9 @@ | @@ -1245,6 +1248,9 @@ | ||||||
|  #define USB_VENDOR_ID_XAT	0x2505 |  #define USB_VENDOR_ID_XAT	0x2505 | ||||||
|  #define USB_DEVICE_ID_XAT_CSR	0x0220 |  #define USB_DEVICE_ID_XAT_CSR	0x0220 | ||||||
|   |   | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> | |||||||
|  |  | ||||||
| --- a/drivers/clk/bcm/clk-bcm2835.c | --- a/drivers/clk/bcm/clk-bcm2835.c | ||||||
| +++ b/drivers/clk/bcm/clk-bcm2835.c | +++ b/drivers/clk/bcm/clk-bcm2835.c | ||||||
| @@ -1732,16 +1732,12 @@ static const struct bcm2835_clk_desc clk | @@ -1734,16 +1734,12 @@ static const struct bcm2835_clk_desc clk | ||||||
|  		.hold_mask = CM_PLLA_HOLDCORE, |  		.hold_mask = CM_PLLA_HOLDCORE, | ||||||
|  		.fixed_divider = 1, |  		.fixed_divider = 1, | ||||||
|  		.flags = CLK_SET_RATE_PARENT), |  		.flags = CLK_SET_RATE_PARENT), | ||||||
| @@ -35,7 +35,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com> | |||||||
|  	[BCM2835_PLLA_DSI0]	= REGISTER_PLL_DIV( |  	[BCM2835_PLLA_DSI0]	= REGISTER_PLL_DIV( | ||||||
|  		SOC_ALL, |  		SOC_ALL, | ||||||
|  		.name = "plla_dsi0", |  		.name = "plla_dsi0", | ||||||
| @@ -2019,14 +2015,12 @@ static const struct bcm2835_clk_desc clk | @@ -2021,14 +2017,12 @@ static const struct bcm2835_clk_desc clk | ||||||
|  		.int_bits = 6, |  		.int_bits = 6, | ||||||
|  		.frac_bits = 0, |  		.frac_bits = 0, | ||||||
|  		.tcnt_mux = 3), |  		.tcnt_mux = 3), | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ Co-authored-by: Phil Elwell <phil@raspberrypi.org> | |||||||
|  |  | ||||||
| --- a/drivers/clk/bcm/clk-bcm2835.c | --- a/drivers/clk/bcm/clk-bcm2835.c | ||||||
| +++ b/drivers/clk/bcm/clk-bcm2835.c | +++ b/drivers/clk/bcm/clk-bcm2835.c | ||||||
| @@ -2399,7 +2399,7 @@ static int __init __bcm2835_clk_driver_i | @@ -2401,7 +2401,7 @@ static int __init __bcm2835_clk_driver_i | ||||||
|  { |  { | ||||||
|  	return platform_driver_register(&bcm2835_clk_driver); |  	return platform_driver_register(&bcm2835_clk_driver); | ||||||
|  } |  } | ||||||
|   | |||||||
| @@ -82,7 +82,7 @@ Cc: linux-rockchip@lists.infradead.org | |||||||
|   |   | ||||||
| --- a/drivers/pci/controller/pci-aardvark.c | --- a/drivers/pci/controller/pci-aardvark.c | ||||||
| +++ b/drivers/pci/controller/pci-aardvark.c | +++ b/drivers/pci/controller/pci-aardvark.c | ||||||
| @@ -1019,7 +1019,8 @@ static int advk_pcie_probe(struct platfo | @@ -1018,7 +1018,8 @@ static int advk_pcie_probe(struct platfo | ||||||
|  		return ret; |  		return ret; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -402,7 +402,7 @@ Cc: linux-rockchip@lists.infradead.org | |||||||
|  } |  } | ||||||
| --- a/include/linux/pci.h | --- a/include/linux/pci.h | ||||||
| +++ b/include/linux/pci.h | +++ b/include/linux/pci.h | ||||||
| @@ -2277,6 +2277,7 @@ struct irq_domain; | @@ -2278,6 +2278,7 @@ struct irq_domain; | ||||||
|  struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus); |  struct irq_domain *pci_host_bridge_of_msi_domain(struct pci_bus *bus); | ||||||
|  int pci_parse_request_of_pci_ranges(struct device *dev, |  int pci_parse_request_of_pci_ranges(struct device *dev, | ||||||
|  				    struct list_head *resources, |  				    struct list_head *resources, | ||||||
| @@ -410,7 +410,7 @@ Cc: linux-rockchip@lists.infradead.org | |||||||
|  				    struct resource **bus_range); |  				    struct resource **bus_range); | ||||||
|   |   | ||||||
|  /* Arch may override this (weak) */ |  /* Arch may override this (weak) */ | ||||||
| @@ -2285,9 +2286,11 @@ struct device_node *pcibios_get_phb_of_n | @@ -2286,9 +2287,11 @@ struct device_node *pcibios_get_phb_of_n | ||||||
|  #else	/* CONFIG_OF */ |  #else	/* CONFIG_OF */ | ||||||
|  static inline struct irq_domain * |  static inline struct irq_domain * | ||||||
|  pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; } |  pci_host_bridge_of_msi_domain(struct pci_bus *bus) { return NULL; } | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ Signed-off-by: Jacko Dirks <jdirks.linuxdev@gmail.com> | |||||||
|  |  | ||||||
| --- a/drivers/media/i2c/tc358743.c | --- a/drivers/media/i2c/tc358743.c | ||||||
| +++ b/drivers/media/i2c/tc358743.c | +++ b/drivers/media/i2c/tc358743.c | ||||||
| @@ -2002,6 +2002,7 @@ static int tc358743_probe_of(struct tc35 | @@ -2004,6 +2004,7 @@ static int tc358743_probe_of(struct tc35 | ||||||
|  	switch (bps_pr_lane) { |  	switch (bps_pr_lane) { | ||||||
|  	default: |  	default: | ||||||
|  		dev_warn(dev, "untested bps per lane: %u bps\n", bps_pr_lane); |  		dev_warn(dev, "untested bps per lane: %u bps\n", bps_pr_lane); | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net> | |||||||
|  |  | ||||||
| --- a/drivers/net/dsa/rtl8366.c | --- a/drivers/net/dsa/rtl8366.c | ||||||
| +++ b/drivers/net/dsa/rtl8366.c | +++ b/drivers/net/dsa/rtl8366.c | ||||||
| @@ -285,7 +285,7 @@ int rtl8366_init_vlan(struct realtek_smi | @@ -311,7 +311,7 @@ int rtl8366_init_vlan(struct realtek_smi | ||||||
|  			/* For the CPU port, make all ports members of this |  			/* For the CPU port, make all ports members of this | ||||||
|  			 * VLAN. |  			 * VLAN. | ||||||
|  			 */ |  			 */ | ||||||
|   | |||||||
| @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  config MODULES_TREE_LOOKUP |  config MODULES_TREE_LOOKUP | ||||||
| --- a/kernel/module.c | --- a/kernel/module.c | ||||||
| +++ b/kernel/module.c | +++ b/kernel/module.c | ||||||
| @@ -3126,9 +3126,11 @@ static int setup_load_info(struct load_i | @@ -3127,9 +3127,11 @@ static int setup_load_info(struct load_i | ||||||
|   |   | ||||||
|  static int check_modinfo(struct module *mod, struct load_info *info, int flags) |  static int check_modinfo(struct module *mod, struct load_info *info, int flags) | ||||||
|  { |  { | ||||||
| @@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	if (flags & MODULE_INIT_IGNORE_VERMAGIC) |  	if (flags & MODULE_INIT_IGNORE_VERMAGIC) | ||||||
|  		modmagic = NULL; |  		modmagic = NULL; | ||||||
|   |   | ||||||
| @@ -3149,6 +3151,7 @@ static int check_modinfo(struct module * | @@ -3150,6 +3152,7 @@ static int check_modinfo(struct module * | ||||||
|  				mod->name); |  				mod->name); | ||||||
|  		add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); |  		add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); | ||||||
|  	} |  	} | ||||||
|   | |||||||
| @@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie) |  struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie) | ||||||
|  { |  { | ||||||
|  	struct dst_entry *dst = __sk_dst_get(sk); |  	struct dst_entry *dst = __sk_dst_get(sk); | ||||||
| @@ -1747,9 +1760,11 @@ static void __sk_free(struct sock *sk) | @@ -1743,9 +1756,11 @@ static void __sk_free(struct sock *sk) | ||||||
|  	if (likely(sk->sk_net_refcnt)) |  	if (likely(sk->sk_net_refcnt)) | ||||||
|  		sock_inuse_add(sock_net(sk), -1); |  		sock_inuse_add(sock_net(sk), -1); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|   |   | ||||||
| --- a/net/core/sock.c | --- a/net/core/sock.c | ||||||
| +++ b/net/core/sock.c | +++ b/net/core/sock.c | ||||||
| @@ -3634,6 +3634,8 @@ static __net_initdata struct pernet_oper | @@ -3630,6 +3630,8 @@ static __net_initdata struct pernet_oper | ||||||
|   |   | ||||||
|  static int __init proto_init(void) |  static int __init proto_init(void) | ||||||
|  { |  { | ||||||
|   | |||||||
| @@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|   * Perform scheduler related setup for a newly forked process p. |   * Perform scheduler related setup for a newly forked process p. | ||||||
| --- a/fs/d_path.c | --- a/fs/d_path.c | ||||||
| +++ b/fs/d_path.c | +++ b/fs/d_path.c | ||||||
| @@ -307,6 +307,7 @@ char *dynamic_dname(struct dentry *dentr | @@ -311,6 +311,7 @@ char *dynamic_dname(struct dentry *dentr | ||||||
|  	buffer += buflen - sz; |  	buffer += buflen - sz; | ||||||
|  	return memcpy(buffer, temp, sz); |  	return memcpy(buffer, temp, sz); | ||||||
|  } |  } | ||||||
|   | |||||||
| @@ -1,39 +0,0 @@ | |||||||
| From 5f312dcb38b8003d9711290366cd4b1def5daf3b Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Hauke Mehrtens <hauke@hauke-m.de> |  | ||||||
| Date: Sun, 16 Aug 2020 14:43:35 +0200 |  | ||||||
| Subject: [PATCH v2 445/447] mtd: spinand: gigadevice: Only one dummy byte in |  | ||||||
|  QUADIO |  | ||||||
|  |  | ||||||
| The datasheet only lists one dummy byte in the 0xEH operation for the |  | ||||||
| following chips: |  | ||||||
| * GD5F1GQ4xExxG |  | ||||||
| * GD5F1GQ4xFxxG |  | ||||||
| * GD5F1GQ4UAYIG |  | ||||||
| * GD5F4GQ4UAYIG |  | ||||||
|  |  | ||||||
| Fixes: c93c613214ac ("mtd: spinand: add support for GigaDevice GD5FxGQ4xA") |  | ||||||
| Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> |  | ||||||
| --- |  | ||||||
|  drivers/mtd/nand/spi/gigadevice.c | 4 ++-- |  | ||||||
|  1 file changed, 2 insertions(+), 2 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/nand/spi/gigadevice.c |  | ||||||
| +++ b/drivers/mtd/nand/spi/gigadevice.c |  | ||||||
| @@ -21,7 +21,7 @@ |  | ||||||
|  #define GD5FXGQ4UXFXXG_STATUS_ECC_UNCOR_ERROR	(7 << 4) |  | ||||||
|   |  | ||||||
|  static SPINAND_OP_VARIANTS(read_cache_variants, |  | ||||||
| -		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0), |  | ||||||
| +		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0), |  | ||||||
|  		SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0), |  | ||||||
|  		SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0), |  | ||||||
|  		SPINAND_PAGE_READ_FROM_CACHE_X2_OP(0, 1, NULL, 0), |  | ||||||
| @@ -29,7 +29,7 @@ static SPINAND_OP_VARIANTS(read_cache_va |  | ||||||
|  		SPINAND_PAGE_READ_FROM_CACHE_OP(false, 0, 1, NULL, 0)); |  | ||||||
|   |  | ||||||
|  static SPINAND_OP_VARIANTS(read_cache_variants_f, |  | ||||||
| -		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 2, NULL, 0), |  | ||||||
| +		SPINAND_PAGE_READ_FROM_CACHE_QUADIO_OP(0, 1, NULL, 0), |  | ||||||
|  		SPINAND_PAGE_READ_FROM_CACHE_X4_OP_3A(0, 1, NULL, 0), |  | ||||||
|  		SPINAND_PAGE_READ_FROM_CACHE_DUALIO_OP(0, 1, NULL, 0), |  | ||||||
|  		SPINAND_PAGE_READ_FROM_CACHE_X2_OP_3A(0, 1, NULL, 0), |  | ||||||
| @@ -1,67 +0,0 @@ | |||||||
| From f72e99ada020a81e3e4ef79c0a83ede7e9d6c7b1 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Hauke Mehrtens <hauke@hauke-m.de> |  | ||||||
| Date: Sun, 16 Aug 2020 14:42:17 +0200 |  | ||||||
| Subject: [PATCH v2 446/447] mtd: spinand: gigadevice: Add QE Bit |  | ||||||
|  |  | ||||||
| The following GigaDevice chips have the QE BIT in the feature flags, I |  | ||||||
| checked the datasheets, but did not try this. |  | ||||||
| * GD5F1GQ4xExxG |  | ||||||
| * GD5F1GQ4xFxxG |  | ||||||
| * GD5F1GQ4UAYIG |  | ||||||
| * GD5F4GQ4UAYIG |  | ||||||
|  |  | ||||||
| The Quad operations like 0xEB mention that the QE bit has to be set. |  | ||||||
|  |  | ||||||
| Fixes: c93c613214ac ("mtd: spinand: add support for GigaDevice GD5FxGQ4xA") |  | ||||||
| Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> |  | ||||||
| --- |  | ||||||
|  drivers/mtd/nand/spi/gigadevice.c | 10 +++++----- |  | ||||||
|  1 file changed, 5 insertions(+), 5 deletions(-) |  | ||||||
|  |  | ||||||
| --- a/drivers/mtd/nand/spi/gigadevice.c |  | ||||||
| +++ b/drivers/mtd/nand/spi/gigadevice.c |  | ||||||
| @@ -201,7 +201,7 @@ static const struct spinand_info gigadev |  | ||||||
|  		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |  | ||||||
|  					      &write_cache_variants, |  | ||||||
|  					      &update_cache_variants), |  | ||||||
| -		     0, |  | ||||||
| +		     SPINAND_HAS_QE_BIT, |  | ||||||
|  		     SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout, |  | ||||||
|  				     gd5fxgq4xa_ecc_get_status)), |  | ||||||
|  	SPINAND_INFO("GD5F2GQ4xA", 0xF2, |  | ||||||
| @@ -210,7 +210,7 @@ static const struct spinand_info gigadev |  | ||||||
|  		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |  | ||||||
|  					      &write_cache_variants, |  | ||||||
|  					      &update_cache_variants), |  | ||||||
| -		     0, |  | ||||||
| +		     SPINAND_HAS_QE_BIT, |  | ||||||
|  		     SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout, |  | ||||||
|  				     gd5fxgq4xa_ecc_get_status)), |  | ||||||
|  	SPINAND_INFO("GD5F4GQ4xA", 0xF4, |  | ||||||
| @@ -219,7 +219,7 @@ static const struct spinand_info gigadev |  | ||||||
|  		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |  | ||||||
|  					      &write_cache_variants, |  | ||||||
|  					      &update_cache_variants), |  | ||||||
| -		     0, |  | ||||||
| +		     SPINAND_HAS_QE_BIT, |  | ||||||
|  		     SPINAND_ECCINFO(&gd5fxgq4xa_ooblayout, |  | ||||||
|  				     gd5fxgq4xa_ecc_get_status)), |  | ||||||
|  	SPINAND_INFO("GD5F1GQ4UExxG", 0xd1, |  | ||||||
| @@ -228,7 +228,7 @@ static const struct spinand_info gigadev |  | ||||||
|  		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants, |  | ||||||
|  					      &write_cache_variants, |  | ||||||
|  					      &update_cache_variants), |  | ||||||
| -		     0, |  | ||||||
| +		     SPINAND_HAS_QE_BIT, |  | ||||||
|  		     SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout, |  | ||||||
|  				     gd5fxgq4uexxg_ecc_get_status)), |  | ||||||
|  	SPINAND_INFO("GD5F1GQ4UFxxG", 0xb148, |  | ||||||
| @@ -237,7 +237,7 @@ static const struct spinand_info gigadev |  | ||||||
|  		     SPINAND_INFO_OP_VARIANTS(&read_cache_variants_f, |  | ||||||
|  					      &write_cache_variants, |  | ||||||
|  					      &update_cache_variants), |  | ||||||
| -		     0, |  | ||||||
| +		     SPINAND_HAS_QE_BIT, |  | ||||||
|  		     SPINAND_ECCINFO(&gd5fxgq4_variant2_ooblayout, |  | ||||||
|  				     gd5fxgq4ufxxg_ecc_get_status)), |  | ||||||
|  }; |  | ||||||
| @@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> | |||||||
|  	/* |  	/* | ||||||
|  	 * Get the required data from the packet. |  	 * Get the required data from the packet. | ||||||
|  	 */ |  	 */ | ||||||
| @@ -1123,7 +1129,7 @@ int nf_conntrack_tcp_packet(struct nf_co | @@ -1130,7 +1136,7 @@ int nf_conntrack_tcp_packet(struct nf_co | ||||||
|  		 IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED && |  		 IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED && | ||||||
|  		 timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK]) |  		 timeouts[new_state] > timeouts[TCP_CONNTRACK_UNACK]) | ||||||
|  		timeout = timeouts[TCP_CONNTRACK_UNACK]; |  		timeout = timeouts[TCP_CONNTRACK_UNACK]; | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> | |||||||
|  |  | ||||||
| --- a/drivers/opp/core.c | --- a/drivers/opp/core.c | ||||||
| +++ b/drivers/opp/core.c | +++ b/drivers/opp/core.c | ||||||
| @@ -2095,6 +2095,75 @@ put_table: | @@ -2101,6 +2101,75 @@ put_table: | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  /** |  /** | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> | |||||||
|  |  | ||||||
| --- a/drivers/opp/core.c | --- a/drivers/opp/core.c | ||||||
| +++ b/drivers/opp/core.c | +++ b/drivers/opp/core.c | ||||||
| @@ -2135,6 +2135,7 @@ int dev_pm_opp_adjust_voltage(struct dev | @@ -2141,6 +2141,7 @@ int dev_pm_opp_adjust_voltage(struct dev | ||||||
|  	struct opp_table *opp_table; |  	struct opp_table *opp_table; | ||||||
|  	struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV); |  	struct dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV); | ||||||
|  	int r = 0; |  	int r = 0; | ||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org> | |||||||
|   |   | ||||||
|  	/* Find the opp_table */ |  	/* Find the opp_table */ | ||||||
|  	opp_table = _find_opp_table(dev); |  	opp_table = _find_opp_table(dev); | ||||||
| @@ -2164,8 +2165,17 @@ int dev_pm_opp_adjust_voltage(struct dev | @@ -2170,8 +2171,17 @@ int dev_pm_opp_adjust_voltage(struct dev | ||||||
|  		goto adjust_unlock; |  		goto adjust_unlock; | ||||||
|   |   | ||||||
|  	opp->supplies->u_volt = u_volt; |  	opp->supplies->u_volt = u_volt; | ||||||
|   | |||||||
| @@ -15,11 +15,9 @@ Cc: stable@vger.kernel.org # v4.19+ | |||||||
|  drivers/pci/controller/dwc/pcie-qcom.c | 13 +++++++++++++ |  drivers/pci/controller/dwc/pcie-qcom.c | 13 +++++++++++++ | ||||||
|  1 file changed, 13 insertions(+) |  1 file changed, 13 insertions(+) | ||||||
|  |  | ||||||
| diff --git a/drivers/pci/controller/dwc/pcie-qcom.c b/drivers/pci/controller/dwc/pcie-qcom.c |  | ||||||
| index 3aac77a295ba..82336bbaf8dc 100644 |  | ||||||
| --- a/drivers/pci/controller/dwc/pcie-qcom.c | --- a/drivers/pci/controller/dwc/pcie-qcom.c | ||||||
| +++ b/drivers/pci/controller/dwc/pcie-qcom.c | +++ b/drivers/pci/controller/dwc/pcie-qcom.c | ||||||
| @@ -302,6 +302,9 @@ static void qcom_pcie_deinit_2_1_0(struct qcom_pcie *pcie) | @@ -296,6 +296,9 @@ static void qcom_pcie_deinit_2_1_0(struc | ||||||
|  	reset_control_assert(res->por_reset); |  	reset_control_assert(res->por_reset); | ||||||
|  	reset_control_assert(res->ext_reset); |  	reset_control_assert(res->ext_reset); | ||||||
|  	reset_control_assert(res->phy_reset); |  	reset_control_assert(res->phy_reset); | ||||||
| @@ -29,7 +27,7 @@ index 3aac77a295ba..82336bbaf8dc 100644 | |||||||
|  	regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); |  	regulator_bulk_disable(ARRAY_SIZE(res->supplies), res->supplies); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -314,6 +317,16 @@ static int qcom_pcie_init_2_1_0(struct qcom_pcie *pcie) | @@ -308,6 +311,16 @@ static int qcom_pcie_init_2_1_0(struct q | ||||||
|  	u32 val; |  	u32 val; | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
| @@ -46,6 +44,3 @@ index 3aac77a295ba..82336bbaf8dc 100644 | |||||||
|  	ret = regulator_bulk_enable(ARRAY_SIZE(res->supplies), res->supplies); |  	ret = regulator_bulk_enable(ARRAY_SIZE(res->supplies), res->supplies); | ||||||
|  	if (ret < 0) { |  	if (ret < 0) { | ||||||
|  		dev_err(dev, "cannot enable regulators\n"); |  		dev_err(dev, "cannot enable regulators\n"); | ||||||
| --  |  | ||||||
| 2.27.0 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -5480,7 +5480,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org> | |||||||
|  	  (transaction layer end-to-end CRC checking). |  	  (transaction layer end-to-end CRC checking). | ||||||
| --- a/include/linux/pci.h | --- a/include/linux/pci.h | ||||||
| +++ b/include/linux/pci.h | +++ b/include/linux/pci.h | ||||||
| @@ -1389,6 +1389,8 @@ void pci_walk_bus(struct pci_bus *top, i | @@ -1390,6 +1390,8 @@ void pci_walk_bus(struct pci_bus *top, i | ||||||
|  		  void *userdata); |  		  void *userdata); | ||||||
|  int pci_cfg_space_size(struct pci_dev *dev); |  int pci_cfg_space_size(struct pci_dev *dev); | ||||||
|  unsigned char pci_bus_max_busnr(struct pci_bus *bus); |  unsigned char pci_bus_max_busnr(struct pci_bus *bus); | ||||||
|   | |||||||
| @@ -12,8 +12,6 @@ Signed-off-by: Yuantian Tang <andy.tang@nxp.com> | |||||||
|  .../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 130 +++++++++++++++++- |  .../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 130 +++++++++++++++++- | ||||||
|  1 file changed, 125 insertions(+), 5 deletions(-) |  1 file changed, 125 insertions(+), 5 deletions(-) | ||||||
|  |  | ||||||
| diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi |  | ||||||
| index cab7468c3..fe9b8bf4d 100644 |  | ||||||
| --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | ||||||
| @@ -440,19 +440,19 @@ | @@ -440,19 +440,19 @@ | ||||||
| @@ -184,6 +182,3 @@ index cab7468c3..fe9b8bf4d 100644 | |||||||
|  			little-endian; |  			little-endian; | ||||||
|  			#thermal-sensor-cells = <1>; |  			#thermal-sensor-cells = <1>; | ||||||
|  		}; |  		}; | ||||||
| --  |  | ||||||
| 2.17.1 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -12,11 +12,9 @@ Signed-off-by: Ran Wang <ran.wang_1@nxp.com> | |||||||
|  arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 2 +- |  arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 2 +- | ||||||
|  1 file changed, 1 insertion(+), 1 deletion(-) |  1 file changed, 1 insertion(+), 1 deletion(-) | ||||||
|  |  | ||||||
| diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi |  | ||||||
| index 718af5e..1ef5743 100644 |  | ||||||
| --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | --- a/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | +++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi | ||||||
| @@ -796,7 +796,7 @@ | @@ -808,7 +808,7 @@ | ||||||
|   |   | ||||||
|  		rcpm: rcpm@1ee208c { |  		rcpm: rcpm@1ee208c { | ||||||
|  			compatible = "fsl,ls1046a-rcpm", "fsl,qoriq-rcpm-2.1+"; |  			compatible = "fsl,ls1046a-rcpm", "fsl,qoriq-rcpm-2.1+"; | ||||||
| @@ -25,6 +23,3 @@ index 718af5e..1ef5743 100644 | |||||||
|  			#fsl,rcpm-wakeup-cells = <1>; |  			#fsl,rcpm-wakeup-cells = <1>; | ||||||
|  		}; |  		}; | ||||||
|   |   | ||||||
| --  |  | ||||||
| 2.7.4 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -23,8 +23,6 @@ Signed-off-by: Shawn Guo <shawnguo@kernel.org> | |||||||
|  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi    | 3 +++ |  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi    | 3 +++ | ||||||
|  3 files changed, 15 insertions(+) |  3 files changed, 15 insertions(+) | ||||||
|  |  | ||||||
| diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts |  | ||||||
| index 219a98780..fe4c4e1fa 100644 |  | ||||||
| --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | ||||||
| +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts | ||||||
| @@ -167,6 +167,10 @@ | @@ -167,6 +167,10 @@ | ||||||
| @@ -38,11 +36,9 @@ index 219a98780..fe4c4e1fa 100644 | |||||||
|  #include "fsl-ls1043-post.dtsi" |  #include "fsl-ls1043-post.dtsi" | ||||||
|   |   | ||||||
|  &fman0 { |  &fman0 { | ||||||
| diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts |  | ||||||
| index ace1d6061..aa2f88f8e 100644 |  | ||||||
| --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | ||||||
| +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | ||||||
| @@ -213,3 +213,11 @@ | @@ -212,3 +212,11 @@ | ||||||
|  		}; |  		}; | ||||||
|  	}; |  	}; | ||||||
|  }; |  }; | ||||||
| @@ -54,8 +50,6 @@ index ace1d6061..aa2f88f8e 100644 | |||||||
| +&usb1 { | +&usb1 { | ||||||
| +	status = "okay"; | +	status = "okay"; | ||||||
| +}; | +}; | ||||||
| diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi |  | ||||||
| index e19e05dda..f879ac8f0 100644 |  | ||||||
| --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | ||||||
| @@ -706,6 +706,7 @@ | @@ -706,6 +706,7 @@ | ||||||
| @@ -82,6 +76,3 @@ index e19e05dda..f879ac8f0 100644 | |||||||
|  			}; |  			}; | ||||||
|   |   | ||||||
|  			sata: sata@3200000 { |  			sata: sata@3200000 { | ||||||
| --  |  | ||||||
| 2.17.1 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -11,11 +11,9 @@ Signed-off-by: Yuantian <andy.tang@nxp.com> | |||||||
|  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 4 ---- |  arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 4 ---- | ||||||
|  1 file changed, 4 deletions(-) |  1 file changed, 4 deletions(-) | ||||||
|  |  | ||||||
| diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi |  | ||||||
| index e19e05ddae08..fd898d51f53a 100644 |  | ||||||
| --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | --- a/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | ||||||
| +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | +++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi | ||||||
| @@ -915,8 +915,4 @@ | @@ -918,8 +918,4 @@ | ||||||
|  	thermal-zone4 { |  	thermal-zone4 { | ||||||
|  		status = "okay"; |  		status = "okay"; | ||||||
|  	}; |  	}; | ||||||
| @@ -24,6 +22,3 @@ index e19e05ddae08..fd898d51f53a 100644 | |||||||
| -		status = "okay"; | -		status = "okay"; | ||||||
| -	}; | -	}; | ||||||
|  }; |  }; | ||||||
| --  |  | ||||||
| 2.17.1 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ This reverts commit e75f4940e8ad0dd76527302a10c06b58bf7eb590. | |||||||
|  	ret = snd_pcm_hw_constraint_list(substream->runtime, 0, |  	ret = snd_pcm_hw_constraint_list(substream->runtime, 0, | ||||||
|  			SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints); |  			SNDRV_PCM_HW_PARAM_RATE, &fsl_sai_rate_constraints); | ||||||
|   |   | ||||||
| @@ -1049,35 +1039,30 @@ static int fsl_sai_remove(struct platfor | @@ -1052,35 +1042,30 @@ static int fsl_sai_remove(struct platfor | ||||||
|   |   | ||||||
|  static const struct fsl_sai_soc_data fsl_sai_vf610_data = { |  static const struct fsl_sai_soc_data fsl_sai_vf610_data = { | ||||||
|  	.use_imx_pcm = false, |  	.use_imx_pcm = false, | ||||||
|   | |||||||
| @@ -62,4 +62,4 @@ This reverts commit 63d1a3488ff58e094a7f517cf93c0250f0a3f6be. | |||||||
| -	unsigned int bclk_ratio; | -	unsigned int bclk_ratio; | ||||||
|   |   | ||||||
|  	const struct fsl_sai_soc_data *soc_data; |  	const struct fsl_sai_soc_data *soc_data; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_rx; |  	struct snd_soc_dai_driver cpu_dai_drv; | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ This reverts commit 6eeb60be5ebb73b2e5911e26fb1aed02940b7d09. | |||||||
|  |  | ||||||
| --- a/sound/soc/fsl/fsl_sai.c | --- a/sound/soc/fsl/fsl_sai.c | ||||||
| +++ b/sound/soc/fsl/fsl_sai.c | +++ b/sound/soc/fsl/fsl_sai.c | ||||||
| @@ -1044,19 +1044,12 @@ static const struct fsl_sai_soc_data fsl | @@ -1047,19 +1047,12 @@ static const struct fsl_sai_soc_data fsl | ||||||
|  	.reg_offset = 8, |  	.reg_offset = 8, | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -10,7 +10,7 @@ This reverts commit a860fac420971c5a90d4f78959b44ead793aee4f. | |||||||
|  |  | ||||||
| --- a/sound/soc/fsl/fsl_sai.c | --- a/sound/soc/fsl/fsl_sai.c | ||||||
| +++ b/sound/soc/fsl/fsl_sai.c | +++ b/sound/soc/fsl/fsl_sai.c | ||||||
| @@ -1032,24 +1032,10 @@ static const struct fsl_sai_soc_data fsl | @@ -1035,24 +1035,10 @@ static const struct fsl_sai_soc_data fsl | ||||||
|  	.reg_offset = 0, |  	.reg_offset = 0, | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -494,7 +494,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674. | |||||||
|  	sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev, |  	sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev, | ||||||
|  			"bus", base, &fsl_sai_regmap_config); |  			"bus", base, &fsl_sai_regmap_config); | ||||||
|   |   | ||||||
| @@ -1023,13 +983,11 @@ static int fsl_sai_remove(struct platfor | @@ -1026,13 +986,11 @@ static int fsl_sai_remove(struct platfor | ||||||
|  static const struct fsl_sai_soc_data fsl_sai_vf610_data = { |  static const struct fsl_sai_soc_data fsl_sai_vf610_data = { | ||||||
|  	.use_imx_pcm = false, |  	.use_imx_pcm = false, | ||||||
|  	.fifo_depth = 32, |  	.fifo_depth = 32, | ||||||
| @@ -508,7 +508,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674. | |||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  static const struct of_device_id fsl_sai_ids[] = { |  static const struct of_device_id fsl_sai_ids[] = { | ||||||
| @@ -1062,7 +1020,6 @@ static int fsl_sai_runtime_suspend(struc | @@ -1065,7 +1023,6 @@ static int fsl_sai_runtime_suspend(struc | ||||||
|  static int fsl_sai_runtime_resume(struct device *dev) |  static int fsl_sai_runtime_resume(struct device *dev) | ||||||
|  { |  { | ||||||
|  	struct fsl_sai *sai = dev_get_drvdata(dev); |  	struct fsl_sai *sai = dev_get_drvdata(dev); | ||||||
| @@ -516,7 +516,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674. | |||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
|  	ret = clk_prepare_enable(sai->bus_clk); |  	ret = clk_prepare_enable(sai->bus_clk); | ||||||
| @@ -1084,11 +1041,11 @@ static int fsl_sai_runtime_resume(struct | @@ -1087,11 +1044,11 @@ static int fsl_sai_runtime_resume(struct | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	regcache_cache_only(sai->regmap, false); |  	regcache_cache_only(sai->regmap, false); | ||||||
|   | |||||||
| @@ -119,7 +119,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830. | |||||||
|  	case FSL_SAI_TMR: |  	case FSL_SAI_TMR: | ||||||
|  	case FSL_SAI_RCSR: |  	case FSL_SAI_RCSR: | ||||||
|  	case FSL_SAI_RCR1: |  	case FSL_SAI_RCR1: | ||||||
| @@ -939,8 +883,8 @@ static int fsl_sai_probe(struct platform | @@ -942,8 +886,8 @@ static int fsl_sai_probe(struct platform | ||||||
|  				   MCLK_DIR(index)); |  				   MCLK_DIR(index)); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -295,7 +295,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5. | |||||||
|  	ret = devm_request_irq(&pdev->dev, irq, mxs_saif_irq, 0, |  	ret = devm_request_irq(&pdev->dev, irq, mxs_saif_irq, 0, | ||||||
| --- a/sound/soc/qcom/lpass-platform.c | --- a/sound/soc/qcom/lpass-platform.c | ||||||
| +++ b/sound/soc/qcom/lpass-platform.c | +++ b/sound/soc/qcom/lpass-platform.c | ||||||
| @@ -564,8 +564,11 @@ int asoc_qcom_lpass_platform_register(st | @@ -565,8 +565,11 @@ int asoc_qcom_lpass_platform_register(st | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
|  	drvdata->lpaif_irq = platform_get_irq_byname(pdev, "lpass-irq-lpaif"); |  	drvdata->lpaif_irq = platform_get_irq_byname(pdev, "lpass-irq-lpaif"); | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ This reverts commit bd517707d85f19a7339ea8b882fcbf0fd9976bd6. | |||||||
|  	regmap_update_bits(sai->regmap, FSL_SAI_RCR1, FSL_SAI_CR1_RFW_MASK, |  	regmap_update_bits(sai->regmap, FSL_SAI_RCR1, FSL_SAI_CR1_RFW_MASK, | ||||||
|  			   FSL_SAI_MAXBURST_RX - 1); |  			   FSL_SAI_MAXBURST_RX - 1); | ||||||
|   |   | ||||||
| @@ -925,12 +925,10 @@ static int fsl_sai_remove(struct platfor | @@ -928,12 +928,10 @@ static int fsl_sai_remove(struct platfor | ||||||
|   |   | ||||||
|  static const struct fsl_sai_soc_data fsl_sai_vf610_data = { |  static const struct fsl_sai_soc_data fsl_sai_vf610_data = { | ||||||
|  	.use_imx_pcm = false, |  	.use_imx_pcm = false, | ||||||
|   | |||||||
| @@ -34,7 +34,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|   |   | ||||||
|  	sai->is_lsb_first = of_property_read_bool(np, "lsb-first"); |  	sai->is_lsb_first = of_property_read_bool(np, "lsb-first"); | ||||||
|   |   | ||||||
| @@ -898,7 +900,7 @@ static int fsl_sai_probe(struct platform | @@ -901,7 +903,7 @@ static int fsl_sai_probe(struct platform | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		goto err_pm_disable; |  		goto err_pm_disable; | ||||||
|   |   | ||||||
| @@ -43,7 +43,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|  		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); |  		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); | ||||||
|  		if (ret) |  		if (ret) | ||||||
|  			goto err_pm_disable; |  			goto err_pm_disable; | ||||||
| @@ -923,18 +925,10 @@ static int fsl_sai_remove(struct platfor | @@ -926,18 +928,10 @@ static int fsl_sai_remove(struct platfor | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -91,6 +91,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|  	unsigned int slot_width; |  	unsigned int slot_width; | ||||||
|   |   | ||||||
| -	const struct fsl_sai_soc_data *soc_data; | -	const struct fsl_sai_soc_data *soc_data; | ||||||
|  |  	struct snd_soc_dai_driver cpu_dai_drv; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_rx; |  	struct snd_dmaengine_dai_dma_data dma_params_rx; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_tx; |  	struct snd_dmaengine_dai_dma_data dma_params_tx; | ||||||
|  }; |  | ||||||
|   | |||||||
| @@ -277,7 +277,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|  	irq = platform_get_irq(pdev, 0); |  	irq = platform_get_irq(pdev, 0); | ||||||
|  	if (irq < 0) { |  	if (irq < 0) { | ||||||
|  		dev_err(&pdev->dev, "no irq for node %s\n", pdev->name); |  		dev_err(&pdev->dev, "no irq for node %s\n", pdev->name); | ||||||
| @@ -933,8 +1027,8 @@ static int fsl_sai_probe(struct platform | @@ -936,8 +1030,8 @@ static int fsl_sai_probe(struct platform | ||||||
|  				   MCLK_DIR(index)); |  				   MCLK_DIR(index)); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -288,7 +288,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX; |  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX; | ||||||
|  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX; |  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX; | ||||||
|   |   | ||||||
| @@ -947,7 +1041,7 @@ static int fsl_sai_probe(struct platform | @@ -950,7 +1044,7 @@ static int fsl_sai_probe(struct platform | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		goto err_pm_disable; |  		goto err_pm_disable; | ||||||
|   |   | ||||||
| @@ -297,7 +297,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|  		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); |  		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE); | ||||||
|  		if (ret) |  		if (ret) | ||||||
|  			goto err_pm_disable; |  			goto err_pm_disable; | ||||||
| @@ -993,6 +1087,9 @@ static int fsl_sai_runtime_suspend(struc | @@ -996,6 +1090,9 @@ static int fsl_sai_runtime_suspend(struc | ||||||
|   |   | ||||||
|  	clk_disable_unprepare(sai->bus_clk); |  	clk_disable_unprepare(sai->bus_clk); | ||||||
|   |   | ||||||
| @@ -307,7 +307,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|  	regcache_cache_only(sai->regmap, true); |  	regcache_cache_only(sai->regmap, true); | ||||||
|  	regcache_mark_dirty(sai->regmap); |  	regcache_mark_dirty(sai->regmap); | ||||||
|   |   | ||||||
| @@ -1022,6 +1119,10 @@ static int fsl_sai_runtime_resume(struct | @@ -1025,6 +1122,10 @@ static int fsl_sai_runtime_resume(struct | ||||||
|  			goto disable_tx_clk; |  			goto disable_tx_clk; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -412,8 +412,8 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|   |   | ||||||
|  	unsigned int mclk_id[2]; |  	unsigned int mclk_id[2]; | ||||||
|  	unsigned int mclk_streams; |  	unsigned int mclk_streams; | ||||||
| @@ -146,6 +173,8 @@ struct fsl_sai { | @@ -147,6 +174,8 @@ struct fsl_sai { | ||||||
|   |  	struct snd_soc_dai_driver cpu_dai_drv; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_rx; |  	struct snd_dmaengine_dai_dma_data dma_params_rx; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_tx; |  	struct snd_dmaengine_dai_dma_data dma_params_tx; | ||||||
| +	const struct fsl_sai_soc_data *soc; | +	const struct fsl_sai_soc_data *soc; | ||||||
|   | |||||||
| @@ -590,7 +590,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> | |||||||
|  	if (ret) { |  	if (ret) { | ||||||
|  		dev_err(&pdev->dev, "failed to claim irq %u\n", irq); |  		dev_err(&pdev->dev, "failed to claim irq %u\n", irq); | ||||||
|  		return ret; |  		return ret; | ||||||
| @@ -1088,6 +1132,7 @@ static int fsl_sai_runtime_suspend(struc | @@ -1091,6 +1135,7 @@ static int fsl_sai_runtime_suspend(struc | ||||||
|  static int fsl_sai_runtime_resume(struct device *dev) |  static int fsl_sai_runtime_resume(struct device *dev) | ||||||
|  { |  { | ||||||
|  	struct fsl_sai *sai = dev_get_drvdata(dev); |  	struct fsl_sai *sai = dev_get_drvdata(dev); | ||||||
| @@ -598,7 +598,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> | |||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
|  	ret = clk_prepare_enable(sai->bus_clk); |  	ret = clk_prepare_enable(sai->bus_clk); | ||||||
| @@ -1113,11 +1158,11 @@ static int fsl_sai_runtime_resume(struct | @@ -1116,11 +1161,11 @@ static int fsl_sai_runtime_resume(struct | ||||||
|  				PM_QOS_CPU_DMA_LATENCY, 0); |  				PM_QOS_CPU_DMA_LATENCY, 0); | ||||||
|   |   | ||||||
|  	regcache_cache_only(sai->regmap, false); |  	regcache_cache_only(sai->regmap, false); | ||||||
|   | |||||||
| @@ -16,16 +16,16 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com> | |||||||
|  |  | ||||||
| --- a/sound/soc/fsl/fsl_sai.c | --- a/sound/soc/fsl/fsl_sai.c | ||||||
| +++ b/sound/soc/fsl/fsl_sai.c | +++ b/sound/soc/fsl/fsl_sai.c | ||||||
| @@ -1094,6 +1094,8 @@ static int fsl_sai_probe(struct platform | @@ -1097,6 +1097,8 @@ static int fsl_sai_probe(struct platform | ||||||
|   |   | ||||||
|  	pm_runtime_enable(&pdev->dev); |  	pm_runtime_enable(&pdev->dev); | ||||||
|   |   | ||||||
| +	regcache_cache_only(sai->regmap, true); | +	regcache_cache_only(sai->regmap, true); | ||||||
| + | + | ||||||
|  	ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component, |  	ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component, | ||||||
|  			&fsl_sai_dai, 1); |  					      &sai->cpu_dai_drv, 1); | ||||||
|  	if (ret) |  	if (ret) | ||||||
| @@ -1137,6 +1139,8 @@ static int fsl_sai_runtime_suspend(struc | @@ -1140,6 +1142,8 @@ static int fsl_sai_runtime_suspend(struc | ||||||
|  { |  { | ||||||
|  	struct fsl_sai *sai = dev_get_drvdata(dev); |  	struct fsl_sai *sai = dev_get_drvdata(dev); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -51,5 +51,5 @@ Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com> | |||||||
|  	unsigned int slot_width; |  	unsigned int slot_width; | ||||||
| +	unsigned int bitclk_freq; | +	unsigned int bitclk_freq; | ||||||
|   |   | ||||||
|  |  	struct snd_soc_dai_driver cpu_dai_drv; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_rx; |  	struct snd_dmaengine_dai_dma_data dma_params_rx; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_tx; |  | ||||||
|   | |||||||
| @@ -274,7 +274,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com> | |||||||
|  	if ((of_find_property(np, "fsl,i2s-xtor", NULL) != NULL) || |  	if ((of_find_property(np, "fsl,i2s-xtor", NULL) != NULL) || | ||||||
|  	    (of_find_property(np, "fsl,txm-rxs", NULL) != NULL)) |  	    (of_find_property(np, "fsl,txm-rxs", NULL) != NULL)) | ||||||
|  	{ |  	{ | ||||||
| @@ -1141,6 +1280,11 @@ static int fsl_sai_probe(struct platform | @@ -1144,6 +1283,11 @@ static int fsl_sai_probe(struct platform | ||||||
|  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX; |  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX; | ||||||
|  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX; |  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX; | ||||||
|   |   | ||||||
| @@ -315,7 +315,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com> | |||||||
|  	unsigned int masterflag[2]; |  	unsigned int masterflag[2]; | ||||||
|   |   | ||||||
|  	unsigned int mclk_id[2]; |  	unsigned int mclk_id[2]; | ||||||
| @@ -187,6 +195,8 @@ struct fsl_sai { | @@ -188,6 +196,8 @@ struct fsl_sai { | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_tx; |  	struct snd_dmaengine_dai_dma_data dma_params_tx; | ||||||
|  	const struct fsl_sai_soc_data *soc; |  	const struct fsl_sai_soc_data *soc; | ||||||
|  	struct pm_qos_request pm_qos_req; |  	struct pm_qos_request pm_qos_req; | ||||||
|   | |||||||
| @@ -36,7 +36,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com> | |||||||
| +	return 0; | +	return 0; | ||||||
| +} | +} | ||||||
| + | + | ||||||
|  static struct snd_soc_dai_driver fsl_sai_dai = { |  static struct snd_soc_dai_driver fsl_sai_dai_template = { | ||||||
|  	.probe = fsl_sai_dai_probe, |  	.probe = fsl_sai_dai_probe, | ||||||
|  	.playback = { |  	.playback = { | ||||||
| @@ -913,6 +930,7 @@ static struct snd_soc_dai_driver fsl_sai | @@ -913,6 +930,7 @@ static struct snd_soc_dai_driver fsl_sai | ||||||
|   | |||||||
| @@ -73,7 +73,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com | |||||||
|  		if (ret) { |  		if (ret) { | ||||||
|  			dev_err(cpu_dai->dev, |  			dev_err(cpu_dai->dev, | ||||||
|  				"failed to set proper pins state: %d\n", ret); |  				"failed to set proper pins state: %d\n", ret); | ||||||
| @@ -1354,9 +1345,6 @@ static int fsl_sai_probe(struct platform | @@ -1357,9 +1348,6 @@ static int fsl_sai_probe(struct platform | ||||||
|   |   | ||||||
|  	sai->pinctrl  = devm_pinctrl_get(&pdev->dev); |  	sai->pinctrl  = devm_pinctrl_get(&pdev->dev); | ||||||
|   |   | ||||||
| @@ -85,7 +85,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com | |||||||
|  	pm_runtime_enable(&pdev->dev); |  	pm_runtime_enable(&pdev->dev); | ||||||
| --- a/sound/soc/fsl/fsl_sai.h | --- a/sound/soc/fsl/fsl_sai.h | ||||||
| +++ b/sound/soc/fsl/fsl_sai.h | +++ b/sound/soc/fsl/fsl_sai.h | ||||||
| @@ -211,7 +211,7 @@ struct fsl_sai { | @@ -212,7 +212,7 @@ struct fsl_sai { | ||||||
|  	const struct fsl_sai_soc_data *soc; |  	const struct fsl_sai_soc_data *soc; | ||||||
|  	struct pm_qos_request pm_qos_req; |  	struct pm_qos_request pm_qos_req; | ||||||
|  	struct pinctrl *pinctrl; |  	struct pinctrl *pinctrl; | ||||||
|   | |||||||
| @@ -49,7 +49,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com> | |||||||
|  		ret = pinctrl_select_state(sai->pinctrl, sai->pins_state); |  		ret = pinctrl_select_state(sai->pinctrl, sai->pins_state); | ||||||
|  		if (ret) { |  		if (ret) { | ||||||
|  			dev_err(cpu_dai->dev, |  			dev_err(cpu_dai->dev, | ||||||
| @@ -1343,7 +1346,7 @@ static int fsl_sai_probe(struct platform | @@ -1346,7 +1349,7 @@ static int fsl_sai_probe(struct platform | ||||||
|  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX; |  	sai->dma_params_rx.maxburst = FSL_SAI_MAXBURST_RX; | ||||||
|  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX; |  	sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -238,7 +238,7 @@ Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com> | |||||||
|  struct fsl_sai { |  struct fsl_sai { | ||||||
|  	struct platform_device *pdev; |  	struct platform_device *pdev; | ||||||
|  	struct regmap *regmap; |  	struct regmap *regmap; | ||||||
| @@ -212,6 +266,9 @@ struct fsl_sai { | @@ -213,6 +267,9 @@ struct fsl_sai { | ||||||
|  	struct pm_qos_request pm_qos_req; |  	struct pm_qos_request pm_qos_req; | ||||||
|  	struct pinctrl *pinctrl; |  	struct pinctrl *pinctrl; | ||||||
|  	struct pinctrl_state *pins_state; |  	struct pinctrl_state *pins_state; | ||||||
|   | |||||||
| @@ -94,5 +94,5 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> | |||||||
| -	unsigned int bitclk_freq; | -	unsigned int bitclk_freq; | ||||||
| +	unsigned int bitclk_ratio; | +	unsigned int bitclk_ratio; | ||||||
|   |   | ||||||
|  |  	struct snd_soc_dai_driver cpu_dai_drv; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_rx; |  	struct snd_dmaengine_dai_dma_data dma_params_rx; | ||||||
|  	struct snd_dmaengine_dai_dma_data dma_params_tx; |  | ||||||
|   | |||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> | |||||||
|  		break; |  		break; | ||||||
|  	case SND_SOC_DAIFMT_CBM_CFS: |  	case SND_SOC_DAIFMT_CBM_CFS: | ||||||
|  		val_cr4 |= FSL_SAI_CR4_FSD_MSTR; |  		val_cr4 |= FSL_SAI_CR4_FSD_MSTR; | ||||||
| @@ -1572,14 +1570,6 @@ static int fsl_sai_remove(struct platfor | @@ -1575,14 +1573,6 @@ static int fsl_sai_remove(struct platfor | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> | |||||||
|  |  | ||||||
| --- a/sound/soc/fsl/fsl_sai.c | --- a/sound/soc/fsl/fsl_sai.c | ||||||
| +++ b/sound/soc/fsl/fsl_sai.c | +++ b/sound/soc/fsl/fsl_sai.c | ||||||
| @@ -1614,6 +1614,8 @@ static int fsl_sai_runtime_resume(struct | @@ -1617,6 +1617,8 @@ static int fsl_sai_runtime_resume(struct | ||||||
|  				PM_QOS_CPU_DMA_LATENCY, 0); |  				PM_QOS_CPU_DMA_LATENCY, 0); | ||||||
|   |   | ||||||
|  	regcache_cache_only(sai->regmap, false); |  	regcache_cache_only(sai->regmap, false); | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> | |||||||
|   |   | ||||||
|  #include "fsl_dsd.h" |  #include "fsl_dsd.h" | ||||||
|  #include "fsl_sai.h" |  #include "fsl_sai.h" | ||||||
| @@ -1568,6 +1569,8 @@ static int fsl_sai_runtime_suspend(struc | @@ -1571,6 +1572,8 @@ static int fsl_sai_runtime_suspend(struc | ||||||
|   |   | ||||||
|  	regcache_cache_only(sai->regmap, true); |  	regcache_cache_only(sai->regmap, true); | ||||||
|   |   | ||||||
| @@ -29,7 +29,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> | |||||||
|  	if (sai->mclk_streams & BIT(SNDRV_PCM_STREAM_CAPTURE)) |  	if (sai->mclk_streams & BIT(SNDRV_PCM_STREAM_CAPTURE)) | ||||||
|  		clk_disable_unprepare(sai->mclk_clk[sai->mclk_id[0]]); |  		clk_disable_unprepare(sai->mclk_clk[sai->mclk_id[0]]); | ||||||
|   |   | ||||||
| @@ -1609,6 +1612,8 @@ static int fsl_sai_runtime_resume(struct | @@ -1612,6 +1615,8 @@ static int fsl_sai_runtime_resume(struct | ||||||
|  			goto disable_tx_clk; |  			goto disable_tx_clk; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -79,7 +79,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com> | |||||||
|  	for (id = 0; id < FSL_SAI_MCLK_MAX; id++) { |  	for (id = 0; id < FSL_SAI_MCLK_MAX; id++) { | ||||||
|  		clk_rate = clk_get_rate(sai->mclk_clk[id]); |  		clk_rate = clk_get_rate(sai->mclk_clk[id]); | ||||||
|  		if (!clk_rate) |  		if (!clk_rate) | ||||||
| @@ -1517,6 +1523,10 @@ static int fsl_sai_probe(struct platform | @@ -1520,6 +1526,10 @@ static int fsl_sai_probe(struct platform | ||||||
|   |   | ||||||
|  	platform_set_drvdata(pdev, sai); |  	platform_set_drvdata(pdev, sai); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -109,7 +109,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com> | |||||||
| @@ -1030,6 +1114,7 @@ static int fsl_sai_dai_resume(struct snd | @@ -1030,6 +1114,7 @@ static int fsl_sai_dai_resume(struct snd | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  static struct snd_soc_dai_driver fsl_sai_dai = { |  static struct snd_soc_dai_driver fsl_sai_dai_template = { | ||||||
| +	.pcm_new = fsl_sai_pcm_new, | +	.pcm_new = fsl_sai_pcm_new, | ||||||
|  	.probe = fsl_sai_dai_probe, |  	.probe = fsl_sai_dai_probe, | ||||||
|  	.playback = { |  	.playback = { | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> | |||||||
|  |  | ||||||
| --- a/sound/soc/fsl/fsl_sai.c | --- a/sound/soc/fsl/fsl_sai.c | ||||||
| +++ b/sound/soc/fsl/fsl_sai.c | +++ b/sound/soc/fsl/fsl_sai.c | ||||||
| @@ -1631,7 +1631,7 @@ static int fsl_sai_probe(struct platform | @@ -1634,7 +1634,7 @@ static int fsl_sai_probe(struct platform | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		goto err_pm_disable; |  		goto err_pm_disable; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  |  | ||||||
| --- a/drivers/net/can/flexcan.c | --- a/drivers/net/can/flexcan.c | ||||||
| +++ b/drivers/net/can/flexcan.c | +++ b/drivers/net/can/flexcan.c | ||||||
| @@ -1548,7 +1548,6 @@ static int flexcan_probe(struct platform | @@ -1570,7 +1570,6 @@ static int flexcan_probe(struct platform | ||||||
|  	struct net_device *dev; |  	struct net_device *dev; | ||||||
|  	struct flexcan_priv *priv; |  	struct flexcan_priv *priv; | ||||||
|  	struct regulator *reg_xceiver; |  	struct regulator *reg_xceiver; | ||||||
| @@ -25,7 +25,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	struct clk *clk_ipg = NULL, *clk_per = NULL; |  	struct clk *clk_ipg = NULL, *clk_per = NULL; | ||||||
|  	struct flexcan_regs __iomem *regs; |  	struct flexcan_regs __iomem *regs; | ||||||
|  	int err, irq; |  	int err, irq; | ||||||
| @@ -1583,12 +1582,11 @@ static int flexcan_probe(struct platform | @@ -1605,12 +1604,11 @@ static int flexcan_probe(struct platform | ||||||
|  		clock_freq = clk_get_rate(clk_per); |  		clock_freq = clk_get_rate(clk_per); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|   | |||||||
| @@ -50,7 +50,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  		netif_wake_queue(dev); |  		netif_wake_queue(dev); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -1299,7 +1299,7 @@ static int flexcan_open(struct net_devic | @@ -1321,7 +1321,7 @@ static int flexcan_open(struct net_devic | ||||||
|  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); |  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); | ||||||
|   |   | ||||||
|  	priv->reg_imask1_default = 0; |  	priv->reg_imask1_default = 0; | ||||||
|   | |||||||
| @@ -72,7 +72,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	enable_irq(dev->irq); |  	enable_irq(dev->irq); | ||||||
|   |   | ||||||
|  	/* print chip status */ |  	/* print chip status */ | ||||||
| @@ -1298,8 +1298,8 @@ static int flexcan_open(struct net_devic | @@ -1320,8 +1320,8 @@ static int flexcan_open(struct net_devic | ||||||
|  	priv->tx_mb_idx = priv->mb_count - 1; |  	priv->tx_mb_idx = priv->mb_count - 1; | ||||||
|  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); |  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); | ||||||
|   |   | ||||||
| @@ -83,7 +83,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|   |   | ||||||
|  	priv->offload.mailbox_read = flexcan_mailbox_read; |  	priv->offload.mailbox_read = flexcan_mailbox_read; | ||||||
|   |   | ||||||
| @@ -1311,12 +1311,12 @@ static int flexcan_open(struct net_devic | @@ -1333,12 +1333,12 @@ static int flexcan_open(struct net_devic | ||||||
|   |   | ||||||
|  		imask = GENMASK_ULL(priv->offload.mb_last, |  		imask = GENMASK_ULL(priv->offload.mb_last, | ||||||
|  				    priv->offload.mb_first); |  				    priv->offload.mb_first); | ||||||
|   | |||||||
| @@ -43,7 +43,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	enable_irq(dev->irq); |  	enable_irq(dev->irq); | ||||||
|   |   | ||||||
|  	/* print chip status */ |  	/* print chip status */ | ||||||
| @@ -1298,9 +1297,6 @@ static int flexcan_open(struct net_devic | @@ -1320,9 +1319,6 @@ static int flexcan_open(struct net_devic | ||||||
|  	priv->tx_mb_idx = priv->mb_count - 1; |  	priv->tx_mb_idx = priv->mb_count - 1; | ||||||
|  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); |  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); | ||||||
|   |   | ||||||
| @@ -53,7 +53,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	priv->offload.mailbox_read = flexcan_mailbox_read; |  	priv->offload.mailbox_read = flexcan_mailbox_read; | ||||||
|   |   | ||||||
|  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { |  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { | ||||||
| @@ -1311,12 +1307,12 @@ static int flexcan_open(struct net_devic | @@ -1333,12 +1329,12 @@ static int flexcan_open(struct net_devic | ||||||
|   |   | ||||||
|  		imask = GENMASK_ULL(priv->offload.mb_last, |  		imask = GENMASK_ULL(priv->offload.mb_last, | ||||||
|  				    priv->offload.mb_first); |  				    priv->offload.mb_first); | ||||||
|   | |||||||
| @@ -82,7 +82,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	enable_irq(dev->irq); |  	enable_irq(dev->irq); | ||||||
|   |   | ||||||
|  	/* print chip status */ |  	/* print chip status */ | ||||||
| @@ -1300,19 +1301,14 @@ static int flexcan_open(struct net_devic | @@ -1322,19 +1323,14 @@ static int flexcan_open(struct net_devic | ||||||
|  	priv->offload.mailbox_read = flexcan_mailbox_read; |  	priv->offload.mailbox_read = flexcan_mailbox_read; | ||||||
|   |   | ||||||
|  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { |  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { | ||||||
|   | |||||||
| @@ -80,7 +80,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	priv->write(upper_32_bits(reg_imask), ®s->imask2); |  	priv->write(upper_32_bits(reg_imask), ®s->imask2); | ||||||
|  	priv->write(lower_32_bits(reg_imask), ®s->imask1); |  	priv->write(lower_32_bits(reg_imask), ®s->imask1); | ||||||
|  	enable_irq(dev->irq); |  	enable_irq(dev->irq); | ||||||
| @@ -1297,6 +1298,7 @@ static int flexcan_open(struct net_devic | @@ -1319,6 +1320,7 @@ static int flexcan_open(struct net_devic | ||||||
|  			flexcan_get_mb(priv, FLEXCAN_TX_MB_RESERVED_OFF_FIFO); |  			flexcan_get_mb(priv, FLEXCAN_TX_MB_RESERVED_OFF_FIFO); | ||||||
|  	priv->tx_mb_idx = priv->mb_count - 1; |  	priv->tx_mb_idx = priv->mb_count - 1; | ||||||
|  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); |  	priv->tx_mb = flexcan_get_mb(priv, priv->tx_mb_idx); | ||||||
|   | |||||||
| @@ -351,7 +351,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) { |  	if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) { | ||||||
|  		reg_ctrl2 = priv->read(®s->ctrl2); |  		reg_ctrl2 = priv->read(®s->ctrl2); | ||||||
|  		reg_ctrl2 |= FLEXCAN_CTRL2_EACEN | FLEXCAN_CTRL2_RRS; |  		reg_ctrl2 |= FLEXCAN_CTRL2_EACEN | FLEXCAN_CTRL2_RRS; | ||||||
| @@ -1288,6 +1456,12 @@ static int flexcan_open(struct net_devic | @@ -1310,6 +1478,12 @@ static int flexcan_open(struct net_devic | ||||||
|  	struct flexcan_priv *priv = netdev_priv(dev); |  	struct flexcan_priv *priv = netdev_priv(dev); | ||||||
|  	int err; |  	int err; | ||||||
|   |   | ||||||
| @@ -364,7 +364,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	err = pm_runtime_get_sync(priv->dev); |  	err = pm_runtime_get_sync(priv->dev); | ||||||
|  	if (err < 0) |  	if (err < 0) | ||||||
|  		return err; |  		return err; | ||||||
| @@ -1300,7 +1474,10 @@ static int flexcan_open(struct net_devic | @@ -1322,7 +1496,10 @@ static int flexcan_open(struct net_devic | ||||||
|  	if (err) |  	if (err) | ||||||
|  		goto out_close; |  		goto out_close; | ||||||
|   |   | ||||||
| @@ -376,7 +376,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) + |  	priv->mb_count = (sizeof(priv->regs->mb[0]) / priv->mb_size) + | ||||||
|  			 (sizeof(priv->regs->mb[1]) / priv->mb_size); |  			 (sizeof(priv->regs->mb[1]) / priv->mb_size); | ||||||
|   |   | ||||||
| @@ -1645,6 +1822,18 @@ static int flexcan_probe(struct platform | @@ -1667,6 +1844,18 @@ static int flexcan_probe(struct platform | ||||||
|  	priv->devtype_data = devtype_data; |  	priv->devtype_data = devtype_data; | ||||||
|  	priv->reg_xceiver = reg_xceiver; |  	priv->reg_xceiver = reg_xceiver; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -54,7 +54,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) { |  	if ((priv->devtype_data->quirks & FLEXCAN_QUIRK_ENABLE_EACEN_RRS)) { | ||||||
| @@ -1831,7 +1837,7 @@ static int flexcan_probe(struct platform | @@ -1853,7 +1859,7 @@ static int flexcan_probe(struct platform | ||||||
|   |   | ||||||
|  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_TIMESTAMP_SUPPORT_FD) { |  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_TIMESTAMP_SUPPORT_FD) { | ||||||
|  		if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { |  		if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) { | ||||||
|   | |||||||
| @@ -52,7 +52,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  static const struct flexcan_devtype_data fsl_vf610_devtype_data = { |  static const struct flexcan_devtype_data fsl_vf610_devtype_data = { | ||||||
|  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS | |  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS | | ||||||
|  		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP | |  		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_USE_OFF_TIMESTAMP | | ||||||
| @@ -1738,6 +1745,7 @@ out_put_node: | @@ -1760,6 +1767,7 @@ out_put_node: | ||||||
|  } |  } | ||||||
|   |   | ||||||
|  static const struct of_device_id flexcan_of_match[] = { |  static const struct of_device_id flexcan_of_match[] = { | ||||||
|   | |||||||
| @@ -35,7 +35,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> | |||||||
|  static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = { |  static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = { | ||||||
|  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS | |  	.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS | | ||||||
|  		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_BROKEN_PERR_STATE | |  		FLEXCAN_QUIRK_DISABLE_MECR | FLEXCAN_QUIRK_BROKEN_PERR_STATE | | ||||||
| @@ -1754,6 +1761,7 @@ static const struct of_device_id flexcan | @@ -1776,6 +1783,7 @@ static const struct of_device_id flexcan | ||||||
|  	{ .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, }, |  	{ .compatible = "fsl,p1010-flexcan", .data = &fsl_p1010_devtype_data, }, | ||||||
|  	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, }, |  	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, }, | ||||||
|  	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, }, |  	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, }, | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com> | |||||||
|  #include <linux/regmap.h> |  #include <linux/regmap.h> | ||||||
|   |   | ||||||
|  #define DRV_NAME			"flexcan" |  #define DRV_NAME			"flexcan" | ||||||
| @@ -1920,7 +1921,7 @@ static int __maybe_unused flexcan_suspen | @@ -1942,7 +1943,7 @@ static int __maybe_unused flexcan_suspen | ||||||
|  { |  { | ||||||
|  	struct net_device *dev = dev_get_drvdata(device); |  	struct net_device *dev = dev_get_drvdata(device); | ||||||
|  	struct flexcan_priv *priv = netdev_priv(dev); |  	struct flexcan_priv *priv = netdev_priv(dev); | ||||||
| @@ -37,7 +37,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com> | |||||||
|   |   | ||||||
|  	if (netif_running(dev)) { |  	if (netif_running(dev)) { | ||||||
|  		/* if wakeup is enabled, enter stop mode |  		/* if wakeup is enabled, enter stop mode | ||||||
| @@ -1932,25 +1933,27 @@ static int __maybe_unused flexcan_suspen | @@ -1954,25 +1955,27 @@ static int __maybe_unused flexcan_suspen | ||||||
|  			if (err) |  			if (err) | ||||||
|  				return err; |  				return err; | ||||||
|  		} else { |  		} else { | ||||||
| @@ -69,7 +69,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com> | |||||||
|   |   | ||||||
|  	priv->can.state = CAN_STATE_ERROR_ACTIVE; |  	priv->can.state = CAN_STATE_ERROR_ACTIVE; | ||||||
|  	if (netif_running(dev)) { |  	if (netif_running(dev)) { | ||||||
| @@ -1962,15 +1965,19 @@ static int __maybe_unused flexcan_resume | @@ -1984,15 +1987,19 @@ static int __maybe_unused flexcan_resume | ||||||
|  			if (err) |  			if (err) | ||||||
|  				return err; |  				return err; | ||||||
|  		} else { |  		} else { | ||||||
|   | |||||||
| @@ -126,7 +126,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com> | |||||||
|   |   | ||||||
|   |   | ||||||
|  	reg_mcr = priv->read(®s->mcr); |  	reg_mcr = priv->read(®s->mcr); | ||||||
| @@ -1745,11 +1789,6 @@ static int flexcan_setup_stop_mode(struc | @@ -1767,11 +1811,6 @@ static int flexcan_setup_stop_mode(struc | ||||||
|  		gpr_np->full_name, priv->stm.req_gpr, priv->stm.req_bit, |  		gpr_np->full_name, priv->stm.req_gpr, priv->stm.req_bit, | ||||||
|  		priv->stm.ack_gpr, priv->stm.ack_bit); |  		priv->stm.ack_gpr, priv->stm.ack_bit); | ||||||
|   |   | ||||||
| @@ -138,7 +138,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com> | |||||||
|  	return 0; |  	return 0; | ||||||
|   |   | ||||||
|  out_put_node: |  out_put_node: | ||||||
| @@ -1757,6 +1796,30 @@ out_put_node: | @@ -1779,6 +1818,30 @@ out_put_node: | ||||||
|  	return ret; |  	return ret; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -169,7 +169,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com> | |||||||
|  static const struct of_device_id flexcan_of_match[] = { |  static const struct of_device_id flexcan_of_match[] = { | ||||||
|  	{ .compatible = "fsl,imx8qm-flexcan", .data = &fsl_imx8qm_devtype_data, }, |  	{ .compatible = "fsl,imx8qm-flexcan", .data = &fsl_imx8qm_devtype_data, }, | ||||||
|  	{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, }, |  	{ .compatible = "fsl,imx6q-flexcan", .data = &fsl_imx6q_devtype_data, }, | ||||||
| @@ -1899,9 +1962,19 @@ static int flexcan_probe(struct platform | @@ -1921,9 +1984,19 @@ static int flexcan_probe(struct platform | ||||||
|  	devm_can_led_init(dev); |  	devm_can_led_init(dev); | ||||||
|   |   | ||||||
|  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_SETUP_STOP_MODE) { |  	if (priv->devtype_data->quirks & FLEXCAN_QUIRK_SETUP_STOP_MODE) { | ||||||
|   | |||||||
| @@ -36,7 +36,7 @@ Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com> | |||||||
|  static const struct can_bittiming_const flexcan_bittiming_const = { |  static const struct can_bittiming_const flexcan_bittiming_const = { | ||||||
|  	.name = DRV_NAME, |  	.name = DRV_NAME, | ||||||
|  	.tseg1_min = 4, |  	.tseg1_min = 4, | ||||||
| @@ -1831,6 +1836,8 @@ static const struct of_device_id flexcan | @@ -1853,6 +1858,8 @@ static const struct of_device_id flexcan | ||||||
|  	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, }, |  	{ .compatible = "fsl,vf610-flexcan", .data = &fsl_vf610_devtype_data, }, | ||||||
|  	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, }, |  	{ .compatible = "fsl,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_devtype_data, }, | ||||||
|  	{ .compatible = "fsl,lx2160ar1-flexcan", .data = &fsl_lx2160a_r1_devtype_data, }, |  	{ .compatible = "fsl,lx2160ar1-flexcan", .data = &fsl_lx2160a_r1_devtype_data, }, | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ Signed-off-by: Horia Geantă <horia.geanta@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/crypto/caam/Kconfig | --- a/drivers/crypto/caam/Kconfig | ||||||
| +++ b/drivers/crypto/caam/Kconfig | +++ b/drivers/crypto/caam/Kconfig | ||||||
| @@ -147,6 +147,14 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API | @@ -148,6 +148,14 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API | ||||||
|  	  Selecting this will register the SEC4 hardware rng to |  	  Selecting this will register the SEC4 hardware rng to | ||||||
|  	  the hw_random API for suppying the kernel entropy pool. |  	  the hw_random API for suppying the kernel entropy pool. | ||||||
|   |   | ||||||
|   | |||||||
| @@ -67,7 +67,7 @@ Signed-off-by: Horia Geantă <horia.geanta@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/crypto/caam/Kconfig | --- a/drivers/crypto/caam/Kconfig | ||||||
| +++ b/drivers/crypto/caam/Kconfig | +++ b/drivers/crypto/caam/Kconfig | ||||||
| @@ -155,6 +155,13 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST | @@ -156,6 +156,13 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST | ||||||
|  	  caam RNG. This test is several minutes long and executes |  	  caam RNG. This test is several minutes long and executes | ||||||
|  	  just before the RNG is registered with the hw_random API. |  	  just before the RNG is registered with the hw_random API. | ||||||
|   |   | ||||||
|   | |||||||
| @@ -91,7 +91,7 @@ Signed-off-by: Horia Geantă <horia.geanta@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/crypto/caam/Kconfig | --- a/drivers/crypto/caam/Kconfig | ||||||
| +++ b/drivers/crypto/caam/Kconfig | +++ b/drivers/crypto/caam/Kconfig | ||||||
| @@ -155,6 +155,36 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST | @@ -156,6 +156,36 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST | ||||||
|  	  caam RNG. This test is several minutes long and executes |  	  caam RNG. This test is several minutes long and executes | ||||||
|  	  just before the RNG is registered with the hw_random API. |  	  just before the RNG is registered with the hw_random API. | ||||||
|   |   | ||||||
|   | |||||||
| @@ -44,7 +44,7 @@ Signed-off-by: Horia Geantă <horia.geanta@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/crypto/caam/Kconfig | --- a/drivers/crypto/caam/Kconfig | ||||||
| +++ b/drivers/crypto/caam/Kconfig | +++ b/drivers/crypto/caam/Kconfig | ||||||
| @@ -147,6 +147,16 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API | @@ -148,6 +148,16 @@ config CRYPTO_DEV_FSL_CAAM_RNG_API | ||||||
|  	  Selecting this will register the SEC4 hardware rng to |  	  Selecting this will register the SEC4 hardware rng to | ||||||
|  	  the hw_random API for suppying the kernel entropy pool. |  	  the hw_random API for suppying the kernel entropy pool. | ||||||
|   |   | ||||||
|   | |||||||
| @@ -485,7 +485,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com> | |||||||
|  			   const bool is_qi); |  			   const bool is_qi); | ||||||
| --- a/drivers/crypto/caam/caamalg_qi.c | --- a/drivers/crypto/caam/caamalg_qi.c | ||||||
| +++ b/drivers/crypto/caam/caamalg_qi.c | +++ b/drivers/crypto/caam/caamalg_qi.c | ||||||
| @@ -290,6 +290,167 @@ static int des3_aead_setkey(struct crypt | @@ -296,6 +296,167 @@ static int des3_aead_setkey(struct crypt | ||||||
|  	return err; |  	return err; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -653,7 +653,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com> | |||||||
|  static int gcm_set_sh_desc(struct crypto_aead *aead) |  static int gcm_set_sh_desc(struct crypto_aead *aead) | ||||||
|  { |  { | ||||||
|  	struct caam_ctx *ctx = crypto_aead_ctx(aead); |  	struct caam_ctx *ctx = crypto_aead_ctx(aead); | ||||||
| @@ -809,6 +970,29 @@ struct aead_edesc { | @@ -820,6 +981,29 @@ struct aead_edesc { | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  /* |  /* | ||||||
| @@ -683,7 +683,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com> | |||||||
|   * skcipher_edesc - s/w-extended skcipher descriptor |   * skcipher_edesc - s/w-extended skcipher descriptor | ||||||
|   * @src_nents: number of segments in input scatterlist |   * @src_nents: number of segments in input scatterlist | ||||||
|   * @dst_nents: number of segments in output scatterlist |   * @dst_nents: number of segments in output scatterlist | ||||||
| @@ -900,6 +1084,18 @@ static void aead_unmap(struct device *de | @@ -911,6 +1095,18 @@ static void aead_unmap(struct device *de | ||||||
|  	dma_unmap_single(dev, edesc->assoclen_dma, 4, DMA_TO_DEVICE); |  	dma_unmap_single(dev, edesc->assoclen_dma, 4, DMA_TO_DEVICE); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -702,7 +702,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com> | |||||||
|  static void skcipher_unmap(struct device *dev, struct skcipher_edesc *edesc, |  static void skcipher_unmap(struct device *dev, struct skcipher_edesc *edesc, | ||||||
|  			   struct skcipher_request *req) |  			   struct skcipher_request *req) | ||||||
|  { |  { | ||||||
| @@ -1192,6 +1388,243 @@ static int aead_decrypt(struct aead_requ | @@ -1203,6 +1399,243 @@ static int aead_decrypt(struct aead_requ | ||||||
|  	return aead_crypt(req, false); |  	return aead_crypt(req, false); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -946,7 +946,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com> | |||||||
|  static int ipsec_gcm_encrypt(struct aead_request *req) |  static int ipsec_gcm_encrypt(struct aead_request *req) | ||||||
|  { |  { | ||||||
|  	return crypto_ipsec_check_assoclen(req->assoclen) ? : aead_crypt(req, |  	return crypto_ipsec_check_assoclen(req->assoclen) ? : aead_crypt(req, | ||||||
| @@ -2411,6 +2844,26 @@ static struct caam_aead_alg driver_aeads | @@ -2446,6 +2879,26 @@ static struct caam_aead_alg driver_aeads | ||||||
|  			.geniv = true, |  			.geniv = true, | ||||||
|  		} |  		} | ||||||
|  	}, |  	}, | ||||||
| @@ -973,7 +973,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com> | |||||||
|  }; |  }; | ||||||
|   |   | ||||||
|  static int caam_init_common(struct caam_ctx *ctx, struct caam_alg_entry *caam, |  static int caam_init_common(struct caam_ctx *ctx, struct caam_alg_entry *caam, | ||||||
| @@ -2418,6 +2871,16 @@ static int caam_init_common(struct caam_ | @@ -2453,6 +2906,16 @@ static int caam_init_common(struct caam_ | ||||||
|  { |  { | ||||||
|  	struct caam_drv_private *priv; |  	struct caam_drv_private *priv; | ||||||
|  	struct device *dev; |  	struct device *dev; | ||||||
| @@ -990,7 +990,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com> | |||||||
|   |   | ||||||
|  	/* |  	/* | ||||||
|  	 * distribute tfms across job rings to ensure in-order |  	 * distribute tfms across job rings to ensure in-order | ||||||
| @@ -2449,6 +2912,21 @@ static int caam_init_common(struct caam_ | @@ -2484,6 +2947,21 @@ static int caam_init_common(struct caam_ | ||||||
|  	ctx->adata.algtype = OP_TYPE_CLASS2_ALG | caam->class2_alg_type; |  	ctx->adata.algtype = OP_TYPE_CLASS2_ALG | caam->class2_alg_type; | ||||||
|   |   | ||||||
|  	ctx->qidev = dev; |  	ctx->qidev = dev; | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ Signed-off-by: Gagandeep Singh <g.singh@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/crypto/caam/Kconfig | --- a/drivers/crypto/caam/Kconfig | ||||||
| +++ b/drivers/crypto/caam/Kconfig | +++ b/drivers/crypto/caam/Kconfig | ||||||
| @@ -202,6 +202,17 @@ config CRYPTO_DEV_FSL_CAAM_SECVIO | @@ -203,6 +203,17 @@ config CRYPTO_DEV_FSL_CAAM_SECVIO | ||||||
|            handler functions which can be specified to act on the consequences |            handler functions which can be specified to act on the consequences | ||||||
|            of a security violation. |            of a security violation. | ||||||
|   |   | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/crypto/caam/Kconfig | --- a/drivers/crypto/caam/Kconfig | ||||||
| +++ b/drivers/crypto/caam/Kconfig | +++ b/drivers/crypto/caam/Kconfig | ||||||
| @@ -166,7 +166,7 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST | @@ -167,7 +167,7 @@ config CRYPTO_DEV_FSL_CAAM_RNG_TEST | ||||||
|  	  just before the RNG is registered with the hw_random API. |  	  just before the RNG is registered with the hw_random API. | ||||||
|   |   | ||||||
|  config CRYPTO_DEV_FSL_CAAM_SM |  config CRYPTO_DEV_FSL_CAAM_SM | ||||||
|   | |||||||
| @@ -46,7 +46,7 @@ Acked-by: Leonard Crestez <leonard.crestez@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/crypto/caam/Kconfig | --- a/drivers/crypto/caam/Kconfig | ||||||
| +++ b/drivers/crypto/caam/Kconfig | +++ b/drivers/crypto/caam/Kconfig | ||||||
| @@ -190,6 +190,7 @@ config CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE | @@ -191,6 +191,7 @@ config CRYPTO_DEV_FSL_CAAM_SM_SLOTSIZE | ||||||
|  config CRYPTO_DEV_FSL_CAAM_SM_TEST |  config CRYPTO_DEV_FSL_CAAM_SM_TEST | ||||||
|  	tristate "CAAM Secure Memory - Keystore Test/Example (EXPERIMENTAL)" |  	tristate "CAAM Secure Memory - Keystore Test/Example (EXPERIMENTAL)" | ||||||
|  	depends on CRYPTO_DEV_FSL_CAAM_SM |  	depends on CRYPTO_DEV_FSL_CAAM_SM | ||||||
|   | |||||||
| @@ -229,7 +229,7 @@ Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com> | |||||||
|  	 * fall back to INTx or other interrupts, e.g., a system shared |  	 * fall back to INTx or other interrupts, e.g., a system shared | ||||||
| --- a/include/linux/pci.h | --- a/include/linux/pci.h | ||||||
| +++ b/include/linux/pci.h | +++ b/include/linux/pci.h | ||||||
| @@ -2020,6 +2020,7 @@ static inline void pcibios_penalize_isa_ | @@ -2021,6 +2021,7 @@ static inline void pcibios_penalize_isa_ | ||||||
|  int pcibios_alloc_irq(struct pci_dev *dev); |  int pcibios_alloc_irq(struct pci_dev *dev); | ||||||
|  void pcibios_free_irq(struct pci_dev *dev); |  void pcibios_free_irq(struct pci_dev *dev); | ||||||
|  resource_size_t pcibios_default_alignment(void); |  resource_size_t pcibios_default_alignment(void); | ||||||
|   | |||||||
| @@ -13,8 +13,6 @@ Signed-off-by: Yuantian Tang <andy.tang@nxp.com> | |||||||
|  drivers/thermal/qoriq_thermal.c | 21 +++++++++++++++++++-- |  drivers/thermal/qoriq_thermal.c | 21 +++++++++++++++++++-- | ||||||
|  1 file changed, 19 insertions(+), 2 deletions(-) |  1 file changed, 19 insertions(+), 2 deletions(-) | ||||||
|  |  | ||||||
| diff --git a/drivers/thermal/qoriq_thermal.c b/drivers/thermal/qoriq_thermal.c |  | ||||||
| index ba7d6105a..8b371fd3d 100644 |  | ||||||
| --- a/drivers/thermal/qoriq_thermal.c | --- a/drivers/thermal/qoriq_thermal.c | ||||||
| +++ b/drivers/thermal/qoriq_thermal.c | +++ b/drivers/thermal/qoriq_thermal.c | ||||||
| @@ -23,6 +23,7 @@ | @@ -23,6 +23,7 @@ | ||||||
| @@ -50,7 +48,7 @@ index ba7d6105a..8b371fd3d 100644 | |||||||
|  	u32 ipbrr0;		/* IP Block Revision Register 0 */ |  	u32 ipbrr0;		/* IP Block Revision Register 0 */ | ||||||
|  	u32 ipbrr1;		/* IP Block Revision Register 1 */ |  	u32 ipbrr1;		/* IP Block Revision Register 1 */ | ||||||
|  	u8 res8[0x300]; |  	u8 res8[0x300]; | ||||||
| @@ -158,7 +168,10 @@ static int tmu_get_temp(void *p, int *temp) | @@ -158,7 +168,10 @@ static int tmu_get_temp(void *p, int *te | ||||||
|  	u32 val; |  	u32 val; | ||||||
|   |   | ||||||
|  	val = tmu_read(qdata, &qdata->regs->site[qsensor->id].tritsr); |  	val = tmu_read(qdata, &qdata->regs->site[qsensor->id].tritsr); | ||||||
| @@ -62,7 +60,7 @@ index ba7d6105a..8b371fd3d 100644 | |||||||
|   |   | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
| @@ -319,6 +332,8 @@ static int qoriq_tmu_calibration(struct platform_device *pdev) | @@ -319,6 +332,8 @@ static int qoriq_tmu_calibration(struct | ||||||
|   |   | ||||||
|  static void qoriq_tmu_init_device(struct qoriq_tmu_data *data) |  static void qoriq_tmu_init_device(struct qoriq_tmu_data *data) | ||||||
|  { |  { | ||||||
| @@ -71,7 +69,7 @@ index ba7d6105a..8b371fd3d 100644 | |||||||
|  	/* Disable interrupt, using polling instead */ |  	/* Disable interrupt, using polling instead */ | ||||||
|  	tmu_write(data, TIER_DISABLE, &data->regs->tier); |  	tmu_write(data, TIER_DISABLE, &data->regs->tier); | ||||||
|   |   | ||||||
| @@ -328,6 +343,8 @@ static void qoriq_tmu_init_device(struct qoriq_tmu_data *data) | @@ -328,6 +343,8 @@ static void qoriq_tmu_init_device(struct | ||||||
|  	} else { |  	} else { | ||||||
|  		tmu_write(data, TMTMIR_DEFAULT, &data->regs_v2->tmtmir); |  		tmu_write(data, TMTMIR_DEFAULT, &data->regs_v2->tmtmir); | ||||||
|  		tmu_write(data, TEUMR0_V2, &data->regs_v2->teumr0); |  		tmu_write(data, TEUMR0_V2, &data->regs_v2->teumr0); | ||||||
| @@ -80,6 +78,3 @@ index ba7d6105a..8b371fd3d 100644 | |||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	/* Disable monitoring */ |  	/* Disable monitoring */ | ||||||
| --  |  | ||||||
| 2.17.1 |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -27,7 +27,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  #include <linux/serial_core.h> |  #include <linux/serial_core.h> | ||||||
|  #include <linux/slab.h> |  #include <linux/slab.h> | ||||||
|  #include <linux/tty_flip.h> |  #include <linux/tty_flip.h> | ||||||
| @@ -2369,6 +2371,54 @@ static struct uart_driver lpuart_reg = { | @@ -2367,6 +2369,54 @@ static struct uart_driver lpuart_reg = { | ||||||
|  	.cons		= LPUART_CONSOLE, |  	.cons		= LPUART_CONSOLE, | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
| @@ -82,7 +82,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  static int lpuart_probe(struct platform_device *pdev) |  static int lpuart_probe(struct platform_device *pdev) | ||||||
|  { |  { | ||||||
|  	const struct of_device_id *of_id = of_match_device(lpuart_dt_ids, |  	const struct of_device_id *of_id = of_match_device(lpuart_dt_ids, | ||||||
| @@ -2406,6 +2456,10 @@ static int lpuart_probe(struct platform_ | @@ -2404,6 +2454,10 @@ static int lpuart_probe(struct platform_ | ||||||
|   |   | ||||||
|  	sport->port.rs485_config = lpuart_config_rs485; |  	sport->port.rs485_config = lpuart_config_rs485; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -20,7 +20,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  #include <linux/serial_core.h> |  #include <linux/serial_core.h> | ||||||
|  #include <linux/slab.h> |  #include <linux/slab.h> | ||||||
|  #include <linux/tty_flip.h> |  #include <linux/tty_flip.h> | ||||||
| @@ -1544,8 +1545,17 @@ static void lpuart32_configure(struct lp | @@ -1542,8 +1543,17 @@ static void lpuart32_configure(struct lp | ||||||
|  static int lpuart32_startup(struct uart_port *port) |  static int lpuart32_startup(struct uart_port *port) | ||||||
|  { |  { | ||||||
|  	struct lpuart_port *sport = container_of(port, struct lpuart_port, port); |  	struct lpuart_port *sport = container_of(port, struct lpuart_port, port); | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/tty/serial/fsl_lpuart.c | --- a/drivers/tty/serial/fsl_lpuart.c | ||||||
| +++ b/drivers/tty/serial/fsl_lpuart.c | +++ b/drivers/tty/serial/fsl_lpuart.c | ||||||
| @@ -920,7 +920,12 @@ static void lpuart32_rxint(struct lpuart | @@ -918,7 +918,12 @@ static void lpuart32_rxint(struct lpuart | ||||||
|  		 */ |  		 */ | ||||||
|  		sr = lpuart32_read(&sport->port, UARTSTAT); |  		sr = lpuart32_read(&sport->port, UARTSTAT); | ||||||
|  		rx = lpuart32_read(&sport->port, UARTDATA); |  		rx = lpuart32_read(&sport->port, UARTDATA); | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ Signed-off-by: Adriana Reus <adriana.reus@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/tty/serial/fsl_lpuart.c | --- a/drivers/tty/serial/fsl_lpuart.c | ||||||
| +++ b/drivers/tty/serial/fsl_lpuart.c | +++ b/drivers/tty/serial/fsl_lpuart.c | ||||||
| @@ -2454,7 +2454,7 @@ static int lpuart_probe(struct platform_ | @@ -2452,7 +2452,7 @@ static int lpuart_probe(struct platform_ | ||||||
|  		return PTR_ERR(sport->port.membase); |  		return PTR_ERR(sport->port.membase); | ||||||
|   |   | ||||||
|  	sport->port.membase += sdata->reg_off; |  	sport->port.membase += sdata->reg_off; | ||||||
|   | |||||||
| @@ -117,7 +117,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  static inline bool is_imx8qxp_lpuart(struct lpuart_port *sport) |  static inline bool is_imx8qxp_lpuart(struct lpuart_port *sport) | ||||||
|  { |  { | ||||||
| @@ -1000,19 +1021,15 @@ static irqreturn_t lpuart32_int(int irq, | @@ -998,19 +1019,15 @@ static irqreturn_t lpuart32_int(int irq, | ||||||
|  	if ((sts & UARTSTAT_TDRE) && !sport->lpuart_dma_tx_use) |  	if ((sts & UARTSTAT_TDRE) && !sport->lpuart_dma_tx_use) | ||||||
|  		lpuart32_txint(sport); |  		lpuart32_txint(sport); | ||||||
|   |   | ||||||
| @@ -141,7 +141,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	if (lpuart_is_32(sport)) { |  	if (lpuart_is_32(sport)) { | ||||||
|  		unsigned long sr = lpuart32_read(&sport->port, UARTSTAT); |  		unsigned long sr = lpuart32_read(&sport->port, UARTSTAT); | ||||||
|   |   | ||||||
| @@ -1064,8 +1081,21 @@ static void lpuart_copy_rx_to_tty(struct | @@ -1062,8 +1079,21 @@ static void lpuart_copy_rx_to_tty(struct | ||||||
|  			writeb(cr2, sport->port.membase + UARTCR2); |  			writeb(cr2, sport->port.membase + UARTCR2); | ||||||
|  		} |  		} | ||||||
|  	} |  	} | ||||||
| @@ -164,7 +164,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  	spin_lock_irqsave(&sport->port.lock, flags); |  	spin_lock_irqsave(&sport->port.lock, flags); | ||||||
|   |   | ||||||
| @@ -1128,7 +1158,33 @@ static void lpuart_copy_rx_to_tty(struct | @@ -1126,7 +1156,33 @@ static void lpuart_copy_rx_to_tty(struct | ||||||
|  	spin_unlock_irqrestore(&sport->port.lock, flags); |  	spin_unlock_irqrestore(&sport->port.lock, flags); | ||||||
|   |   | ||||||
|  	tty_flip_buffer_push(port); |  	tty_flip_buffer_push(port); | ||||||
| @@ -199,7 +199,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void lpuart_dma_rx_complete(void *arg) |  static void lpuart_dma_rx_complete(void *arg) | ||||||
| @@ -1136,6 +1192,8 @@ static void lpuart_dma_rx_complete(void | @@ -1134,6 +1190,8 @@ static void lpuart_dma_rx_complete(void | ||||||
|  	struct lpuart_port *sport = arg; |  	struct lpuart_port *sport = arg; | ||||||
|   |   | ||||||
|  	lpuart_copy_rx_to_tty(sport); |  	lpuart_copy_rx_to_tty(sport); | ||||||
| @@ -208,7 +208,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void lpuart_timer_func(struct timer_list *t) |  static void lpuart_timer_func(struct timer_list *t) | ||||||
| @@ -1143,13 +1201,78 @@ static void lpuart_timer_func(struct tim | @@ -1141,13 +1199,78 @@ static void lpuart_timer_func(struct tim | ||||||
|  	struct lpuart_port *sport = from_timer(sport, t, lpuart_timer); |  	struct lpuart_port *sport = from_timer(sport, t, lpuart_timer); | ||||||
|   |   | ||||||
|  	lpuart_copy_rx_to_tty(sport); |  	lpuart_copy_rx_to_tty(sport); | ||||||
| @@ -291,7 +291,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	int bits, baud; |  	int bits, baud; | ||||||
|  	struct tty_port *port = &sport->port.state->port; |  	struct tty_port *port = &sport->port.state->port; | ||||||
|  	struct tty_struct *tty = port->tty; |  	struct tty_struct *tty = port->tty; | ||||||
| @@ -1169,6 +1292,18 @@ static inline int lpuart_start_rx_dma(st | @@ -1167,6 +1290,18 @@ static inline int lpuart_start_rx_dma(st | ||||||
|  	sport->rx_dma_rng_buf_len = (1 << (fls(sport->rx_dma_rng_buf_len) - 1)); |  	sport->rx_dma_rng_buf_len = (1 << (fls(sport->rx_dma_rng_buf_len) - 1)); | ||||||
|  	if (sport->rx_dma_rng_buf_len < 16) |  	if (sport->rx_dma_rng_buf_len < 16) | ||||||
|  		sport->rx_dma_rng_buf_len = 16; |  		sport->rx_dma_rng_buf_len = 16; | ||||||
| @@ -310,7 +310,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  	ring->buf = kzalloc(sport->rx_dma_rng_buf_len, GFP_ATOMIC); |  	ring->buf = kzalloc(sport->rx_dma_rng_buf_len, GFP_ATOMIC); | ||||||
|  	if (!ring->buf) |  	if (!ring->buf) | ||||||
| @@ -1194,32 +1329,7 @@ static inline int lpuart_start_rx_dma(st | @@ -1192,32 +1327,7 @@ static inline int lpuart_start_rx_dma(st | ||||||
|  		return ret; |  		return ret; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -344,7 +344,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  } |  } | ||||||
|   |   | ||||||
|  static void lpuart_dma_rx_free(struct uart_port *port) |  static void lpuart_dma_rx_free(struct uart_port *port) | ||||||
| @@ -1405,8 +1515,10 @@ static void lpuart_setup_watermark(struc | @@ -1403,8 +1513,10 @@ static void lpuart_setup_watermark(struc | ||||||
|  		writeb(UARTSFIFO_RXUF, sport->port.membase + UARTSFIFO); |  		writeb(UARTSFIFO_RXUF, sport->port.membase + UARTSFIFO); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -356,7 +356,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  	/* Restore cr2 */ |  	/* Restore cr2 */ | ||||||
|  	writeb(cr2_saved, sport->port.membase + UARTCR2); |  	writeb(cr2_saved, sport->port.membase + UARTCR2); | ||||||
| @@ -1427,6 +1539,7 @@ static void lpuart32_setup_watermark(str | @@ -1425,6 +1537,7 @@ static void lpuart32_setup_watermark(str | ||||||
|  { |  { | ||||||
|  	unsigned long val, ctrl; |  	unsigned long val, ctrl; | ||||||
|  	unsigned long ctrl_saved; |  	unsigned long ctrl_saved; | ||||||
| @@ -364,7 +364,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  	ctrl = lpuart32_read(&sport->port, UARTCTRL); |  	ctrl = lpuart32_read(&sport->port, UARTCTRL); | ||||||
|  	ctrl_saved = ctrl; |  	ctrl_saved = ctrl; | ||||||
| @@ -1438,12 +1551,26 @@ static void lpuart32_setup_watermark(str | @@ -1436,12 +1549,26 @@ static void lpuart32_setup_watermark(str | ||||||
|  	val = lpuart32_read(&sport->port, UARTFIFO); |  	val = lpuart32_read(&sport->port, UARTFIFO); | ||||||
|  	val |= UARTFIFO_TXFE | UARTFIFO_RXFE; |  	val |= UARTFIFO_TXFE | UARTFIFO_RXFE; | ||||||
|  	val |= UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH; |  	val |= UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH; | ||||||
| @@ -392,7 +392,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	/* Restore cr2 */ |  	/* Restore cr2 */ | ||||||
|  	lpuart32_write(&sport->port, ctrl_saved, UARTCTRL); |  	lpuart32_write(&sport->port, ctrl_saved, UARTCTRL); | ||||||
|  } |  } | ||||||
| @@ -1455,17 +1582,29 @@ static void lpuart32_setup_watermark_ena | @@ -1453,17 +1580,29 @@ static void lpuart32_setup_watermark_ena | ||||||
|  	lpuart32_setup_watermark(sport); |  	lpuart32_setup_watermark(sport); | ||||||
|   |   | ||||||
|  	temp = lpuart32_read(&sport->port, UARTCTRL); |  	temp = lpuart32_read(&sport->port, UARTCTRL); | ||||||
| @@ -423,7 +423,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  static void lpuart_tx_dma_startup(struct lpuart_port *sport) |  static void lpuart_tx_dma_startup(struct lpuart_port *sport) | ||||||
|  { |  { | ||||||
|  	u32 uartbaud; |  	u32 uartbaud; | ||||||
| @@ -1529,19 +1668,23 @@ static int lpuart_startup(struct uart_po | @@ -1527,19 +1666,23 @@ static int lpuart_startup(struct uart_po | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -454,7 +454,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	if (!sport->lpuart_dma_tx_use) |  	if (!sport->lpuart_dma_tx_use) | ||||||
|  		temp |= UARTCTRL_TIE; |  		temp |= UARTCTRL_TIE; | ||||||
|  	lpuart32_write(&sport->port, temp, UARTCTRL); |  	lpuart32_write(&sport->port, temp, UARTCTRL); | ||||||
| @@ -1574,12 +1717,12 @@ static int lpuart32_startup(struct uart_ | @@ -1572,12 +1715,12 @@ static int lpuart32_startup(struct uart_ | ||||||
|   |   | ||||||
|  	spin_lock_irqsave(&sport->port.lock, flags); |  	spin_lock_irqsave(&sport->port.lock, flags); | ||||||
|   |   | ||||||
| @@ -469,7 +469,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	lpuart32_configure(sport); |  	lpuart32_configure(sport); | ||||||
|   |   | ||||||
|  	spin_unlock_irqrestore(&sport->port.lock, flags); |  	spin_unlock_irqrestore(&sport->port.lock, flags); | ||||||
| @@ -1589,7 +1732,7 @@ static int lpuart32_startup(struct uart_ | @@ -1587,7 +1730,7 @@ static int lpuart32_startup(struct uart_ | ||||||
|  static void lpuart_dma_shutdown(struct lpuart_port *sport) |  static void lpuart_dma_shutdown(struct lpuart_port *sport) | ||||||
|  { |  { | ||||||
|  	if (sport->lpuart_dma_rx_use) { |  	if (sport->lpuart_dma_rx_use) { | ||||||
| @@ -478,7 +478,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  		lpuart_dma_rx_free(&sport->port); |  		lpuart_dma_rx_free(&sport->port); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -1630,11 +1773,22 @@ static void lpuart32_shutdown(struct uar | @@ -1628,11 +1771,22 @@ static void lpuart32_shutdown(struct uar | ||||||
|   |   | ||||||
|  	spin_lock_irqsave(&port->lock, flags); |  	spin_lock_irqsave(&port->lock, flags); | ||||||
|   |   | ||||||
| @@ -503,7 +503,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  	spin_unlock_irqrestore(&port->lock, flags); |  	spin_unlock_irqrestore(&port->lock, flags); | ||||||
|   |   | ||||||
| @@ -1731,10 +1885,10 @@ lpuart_set_termios(struct uart_port *por | @@ -1729,10 +1883,10 @@ lpuart_set_termios(struct uart_port *por | ||||||
|  	 * baud rate and restart Rx DMA path. |  	 * baud rate and restart Rx DMA path. | ||||||
|  	 * |  	 * | ||||||
|  	 * Since timer function acqures sport->port.lock, need to stop before |  	 * Since timer function acqures sport->port.lock, need to stop before | ||||||
| @@ -516,7 +516,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  		lpuart_dma_rx_free(&sport->port); |  		lpuart_dma_rx_free(&sport->port); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -1946,10 +2100,10 @@ lpuart32_set_termios(struct uart_port *p | @@ -1944,10 +2098,10 @@ lpuart32_set_termios(struct uart_port *p | ||||||
|  	 * baud rate and restart Rx DMA path. |  	 * baud rate and restart Rx DMA path. | ||||||
|  	 * |  	 * | ||||||
|  	 * Since timer function acqures sport->port.lock, need to stop before |  	 * Since timer function acqures sport->port.lock, need to stop before | ||||||
| @@ -529,7 +529,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  		lpuart_dma_rx_free(&sport->port); |  		lpuart_dma_rx_free(&sport->port); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -2458,6 +2612,10 @@ static int lpuart_probe(struct platform_ | @@ -2456,6 +2610,10 @@ static int lpuart_probe(struct platform_ | ||||||
|  	sport->port.dev = &pdev->dev; |  	sport->port.dev = &pdev->dev; | ||||||
|  	sport->port.type = PORT_LPUART; |  	sport->port.type = PORT_LPUART; | ||||||
|  	sport->devtype = sdata->devtype; |  	sport->devtype = sdata->devtype; | ||||||
| @@ -540,7 +540,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	ret = platform_get_irq(pdev, 0); |  	ret = platform_get_irq(pdev, 0); | ||||||
|  	if (ret < 0) |  	if (ret < 0) | ||||||
|  		return ret; |  		return ret; | ||||||
| @@ -2620,7 +2778,7 @@ static int lpuart_suspend(struct device | @@ -2618,7 +2776,7 @@ static int lpuart_suspend(struct device | ||||||
|  		 * Rx DMA path before suspend and start Rx DMA path on resume. |  		 * Rx DMA path before suspend and start Rx DMA path on resume. | ||||||
|  		 */ |  		 */ | ||||||
|  		if (irq_wake) { |  		if (irq_wake) { | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/tty/serial/fsl_lpuart.c | --- a/drivers/tty/serial/fsl_lpuart.c | ||||||
| +++ b/drivers/tty/serial/fsl_lpuart.c | +++ b/drivers/tty/serial/fsl_lpuart.c | ||||||
| @@ -1464,6 +1464,14 @@ static void lpuart32_set_mctrl(struct ua | @@ -1462,6 +1462,14 @@ static void lpuart32_set_mctrl(struct ua | ||||||
|  		temp |= UARTMODIR_TXCTSE; |  		temp |= UARTMODIR_TXCTSE; | ||||||
|   |   | ||||||
|  	lpuart32_write(port, temp, UARTMODIR); |  	lpuart32_write(port, temp, UARTMODIR); | ||||||
|   | |||||||
| @@ -105,7 +105,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com> | |||||||
|  static void lpuart_stop_tx(struct uart_port *port) |  static void lpuart_stop_tx(struct uart_port *port) | ||||||
|  { |  { | ||||||
|  	unsigned char temp; |  	unsigned char temp; | ||||||
| @@ -2704,6 +2746,10 @@ static int lpuart_probe(struct platform_ | @@ -2702,6 +2744,10 @@ static int lpuart_probe(struct platform_ | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		goto failed_attach_port; |  		goto failed_attach_port; | ||||||
|   |   | ||||||
| @@ -116,7 +116,7 @@ Signed-off-by: Shrikant Bobade <Shrikant_Bobade@mentor.com> | |||||||
|  	uart_get_rs485_mode(&pdev->dev, &sport->port.rs485); |  	uart_get_rs485_mode(&pdev->dev, &sport->port.rs485); | ||||||
|   |   | ||||||
|  	if (sport->port.rs485.flags & SER_RS485_RX_DURING_TX) |  	if (sport->port.rs485.flags & SER_RS485_RX_DURING_TX) | ||||||
| @@ -2727,6 +2773,8 @@ static int lpuart_probe(struct platform_ | @@ -2725,6 +2771,8 @@ static int lpuart_probe(struct platform_ | ||||||
|   |   | ||||||
|  	return 0; |  	return 0; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|   |   | ||||||
|  #define DRIVER_NAME	"fsl-lpuart" |  #define DRIVER_NAME	"fsl-lpuart" | ||||||
|  #define DEV_NAME	"ttyLP" |  #define DEV_NAME	"ttyLP" | ||||||
| @@ -846,6 +847,20 @@ static void lpuart32_start_tx(struct uar | @@ -844,6 +845,20 @@ static void lpuart32_start_tx(struct uar | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -43,7 +43,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|  /* return TIOCSER_TEMT when transmitter is not busy */ |  /* return TIOCSER_TEMT when transmitter is not busy */ | ||||||
|  static unsigned int lpuart_tx_empty(struct uart_port *port) |  static unsigned int lpuart_tx_empty(struct uart_port *port) | ||||||
|  { |  { | ||||||
| @@ -2259,6 +2274,7 @@ static const struct uart_ops lpuart_pops | @@ -2257,6 +2272,7 @@ static const struct uart_ops lpuart_pops | ||||||
|  	.break_ctl	= lpuart_break_ctl, |  	.break_ctl	= lpuart_break_ctl, | ||||||
|  	.startup	= lpuart_startup, |  	.startup	= lpuart_startup, | ||||||
|  	.shutdown	= lpuart_shutdown, |  	.shutdown	= lpuart_shutdown, | ||||||
| @@ -51,7 +51,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|  	.set_termios	= lpuart_set_termios, |  	.set_termios	= lpuart_set_termios, | ||||||
|  	.type		= lpuart_type, |  	.type		= lpuart_type, | ||||||
|  	.request_port	= lpuart_request_port, |  	.request_port	= lpuart_request_port, | ||||||
| @@ -2283,6 +2299,7 @@ static const struct uart_ops lpuart32_po | @@ -2281,6 +2297,7 @@ static const struct uart_ops lpuart32_po | ||||||
|  	.break_ctl	= lpuart32_break_ctl, |  	.break_ctl	= lpuart32_break_ctl, | ||||||
|  	.startup	= lpuart32_startup, |  	.startup	= lpuart32_startup, | ||||||
|  	.shutdown	= lpuart32_shutdown, |  	.shutdown	= lpuart32_shutdown, | ||||||
| @@ -59,7 +59,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|  	.set_termios	= lpuart32_set_termios, |  	.set_termios	= lpuart32_set_termios, | ||||||
|  	.type		= lpuart_type, |  	.type		= lpuart_type, | ||||||
|  	.request_port	= lpuart_request_port, |  	.request_port	= lpuart_request_port, | ||||||
| @@ -2742,6 +2759,11 @@ static int lpuart_probe(struct platform_ | @@ -2740,6 +2757,11 @@ static int lpuart_probe(struct platform_ | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		goto failed_irq_request; |  		goto failed_irq_request; | ||||||
|   |   | ||||||
| @@ -71,7 +71,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|  	ret = uart_add_one_port(&lpuart_reg, &sport->port); |  	ret = uart_add_one_port(&lpuart_reg, &sport->port); | ||||||
|  	if (ret) |  	if (ret) | ||||||
|  		goto failed_attach_port; |  		goto failed_attach_port; | ||||||
| @@ -2776,6 +2798,9 @@ static int lpuart_probe(struct platform_ | @@ -2774,6 +2796,9 @@ static int lpuart_probe(struct platform_ | ||||||
|  failed_reset: |  failed_reset: | ||||||
|  	uart_remove_one_port(&lpuart_reg, &sport->port); |  	uart_remove_one_port(&lpuart_reg, &sport->port); | ||||||
|  failed_attach_port: |  failed_attach_port: | ||||||
| @@ -81,7 +81,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|  failed_irq_request: |  failed_irq_request: | ||||||
|  	lpuart_disable_clks(sport); |  	lpuart_disable_clks(sport); | ||||||
|  failed_clock_enable: |  failed_clock_enable: | ||||||
| @@ -2802,15 +2827,41 @@ static int lpuart_remove(struct platform | @@ -2800,15 +2825,41 @@ static int lpuart_remove(struct platform | ||||||
|  	if (sport->dma_rx_chan) |  	if (sport->dma_rx_chan) | ||||||
|  		dma_release_channel(sport->dma_rx_chan); |  		dma_release_channel(sport->dma_rx_chan); | ||||||
|   |   | ||||||
| @@ -123,7 +123,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|   |   | ||||||
|  	if (lpuart_is_32(sport)) { |  	if (lpuart_is_32(sport)) { | ||||||
|  		/* disable Rx/Tx and interrupts */ |  		/* disable Rx/Tx and interrupts */ | ||||||
| @@ -2824,10 +2875,14 @@ static int lpuart_suspend(struct device | @@ -2822,10 +2873,14 @@ static int lpuart_suspend(struct device | ||||||
|  		writeb(temp, sport->port.membase + UARTCR2); |  		writeb(temp, sport->port.membase + UARTCR2); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -138,7 +138,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|   |   | ||||||
|  	if (sport->lpuart_dma_rx_use) { |  	if (sport->lpuart_dma_rx_use) { | ||||||
|  		/* |  		/* | ||||||
| @@ -2858,9 +2913,6 @@ static int lpuart_suspend(struct device | @@ -2856,9 +2911,6 @@ static int lpuart_suspend(struct device | ||||||
|  		dmaengine_terminate_all(sport->dma_tx_chan); |  		dmaengine_terminate_all(sport->dma_tx_chan); | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -148,7 +148,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -2868,9 +2920,11 @@ static int lpuart_resume(struct device * | @@ -2866,9 +2918,11 @@ static int lpuart_resume(struct device * | ||||||
|  { |  { | ||||||
|  	struct lpuart_port *sport = dev_get_drvdata(dev); |  	struct lpuart_port *sport = dev_get_drvdata(dev); | ||||||
|  	bool irq_wake = irqd_is_wakeup_set(irq_get_irq_data(sport->port.irq)); |  	bool irq_wake = irqd_is_wakeup_set(irq_get_irq_data(sport->port.irq)); | ||||||
| @@ -162,7 +162,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|   |   | ||||||
|  	if (lpuart_is_32(sport)) |  	if (lpuart_is_32(sport)) | ||||||
|  		lpuart32_setup_watermark_enable(sport); |  		lpuart32_setup_watermark_enable(sport); | ||||||
| @@ -2891,13 +2945,23 @@ static int lpuart_resume(struct device * | @@ -2889,13 +2943,23 @@ static int lpuart_resume(struct device * | ||||||
|  	if (lpuart_is_32(sport)) |  	if (lpuart_is_32(sport)) | ||||||
|  		lpuart32_configure(sport); |  		lpuart32_configure(sport); | ||||||
|   |   | ||||||
| @@ -188,7 +188,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com> | |||||||
|   |   | ||||||
|  static struct platform_driver lpuart_driver = { |  static struct platform_driver lpuart_driver = { | ||||||
|  	.probe		= lpuart_probe, |  	.probe		= lpuart_probe, | ||||||
| @@ -2905,7 +2969,7 @@ static struct platform_driver lpuart_dri | @@ -2903,7 +2967,7 @@ static struct platform_driver lpuart_dri | ||||||
|  	.driver		= { |  	.driver		= { | ||||||
|  		.name	= "fsl-lpuart", |  		.name	= "fsl-lpuart", | ||||||
|  		.of_match_table = lpuart_dt_ids, |  		.of_match_table = lpuart_dt_ids, | ||||||
|   | |||||||
| @@ -28,7 +28,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  #include <linux/pm_domain.h> |  #include <linux/pm_domain.h> | ||||||
|  #include <linux/pm_runtime.h> |  #include <linux/pm_runtime.h> | ||||||
|  #include <linux/reset.h> |  #include <linux/reset.h> | ||||||
| @@ -1709,10 +1710,23 @@ static void lpuart_rx_dma_startup(struct | @@ -1707,10 +1708,23 @@ static void lpuart_rx_dma_startup(struct | ||||||
|  	} |  	} | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -53,7 +53,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	unsigned char temp; |  	unsigned char temp; | ||||||
|   |   | ||||||
|  	/* determine FIFO size and enable FIFO mode */ |  	/* determine FIFO size and enable FIFO mode */ | ||||||
| @@ -1725,14 +1739,7 @@ static int lpuart_startup(struct uart_po | @@ -1723,14 +1737,7 @@ static int lpuart_startup(struct uart_po | ||||||
|  	sport->rxfifo_size = UARTFIFO_DEPTH((temp >> UARTPFIFO_RXSIZE_OFF) & |  	sport->rxfifo_size = UARTFIFO_DEPTH((temp >> UARTPFIFO_RXSIZE_OFF) & | ||||||
|  					    UARTPFIFO_FIFOSIZE_MASK); |  					    UARTPFIFO_FIFOSIZE_MASK); | ||||||
|   |   | ||||||
| @@ -69,7 +69,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
| @@ -1759,11 +1766,27 @@ static void lpuart32_configure(struct lp | @@ -1757,11 +1764,27 @@ static void lpuart32_configure(struct lp | ||||||
|  	lpuart32_write(&sport->port, temp, UARTCTRL); |  	lpuart32_write(&sport->port, temp, UARTCTRL); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -98,7 +98,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	unsigned long temp; |  	unsigned long temp; | ||||||
|  	int ret; |  	int ret; | ||||||
|   |   | ||||||
| @@ -1784,17 +1807,8 @@ static int lpuart32_startup(struct uart_ | @@ -1782,17 +1805,8 @@ static int lpuart32_startup(struct uart_ | ||||||
|  	sport->rxfifo_size = UARTFIFO_DEPTH((temp >> UARTFIFO_RXSIZE_OFF) & |  	sport->rxfifo_size = UARTFIFO_DEPTH((temp >> UARTFIFO_RXSIZE_OFF) & | ||||||
|  					    UARTFIFO_FIFOSIZE_MASK); |  					    UARTFIFO_FIFOSIZE_MASK); | ||||||
|   |   | ||||||
| @@ -117,7 +117,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	return 0; |  	return 0; | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -2852,108 +2866,205 @@ static int lpuart_runtime_resume(struct | @@ -2850,108 +2864,205 @@ static int lpuart_runtime_resume(struct | ||||||
|  	return lpuart_enable_clks(sport); |  	return lpuart_enable_clks(sport); | ||||||
|  }; |  }; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/tty/serial/fsl_lpuart.c | --- a/drivers/tty/serial/fsl_lpuart.c | ||||||
| +++ b/drivers/tty/serial/fsl_lpuart.c | +++ b/drivers/tty/serial/fsl_lpuart.c | ||||||
| @@ -2111,11 +2111,12 @@ lpuart32_set_termios(struct uart_port *p | @@ -2109,11 +2109,12 @@ lpuart32_set_termios(struct uart_port *p | ||||||
|  { |  { | ||||||
|  	struct lpuart_port *sport = container_of(port, struct lpuart_port, port); |  	struct lpuart_port *sport = container_of(port, struct lpuart_port, port); | ||||||
|  	unsigned long flags; |  	unsigned long flags; | ||||||
| @@ -28,7 +28,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|  	modem = lpuart32_read(&sport->port, UARTMODIR); |  	modem = lpuart32_read(&sport->port, UARTMODIR); | ||||||
|  	/* |  	/* | ||||||
|  	 * only support CS8 and CS7, and for CS7 must enable PE. |  	 * only support CS8 and CS7, and for CS7 must enable PE. | ||||||
| @@ -2152,7 +2153,9 @@ lpuart32_set_termios(struct uart_port *p | @@ -2150,7 +2151,9 @@ lpuart32_set_termios(struct uart_port *p | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
|  	if (termios->c_cflag & CSTOPB) |  	if (termios->c_cflag & CSTOPB) | ||||||
| @@ -39,7 +39,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com> | |||||||
|   |   | ||||||
|  	/* parity must be enabled when CS7 to match 8-bits format */ |  	/* parity must be enabled when CS7 to match 8-bits format */ | ||||||
|  	if ((termios->c_cflag & CSIZE) == CS7) |  	if ((termios->c_cflag & CSIZE) == CS7) | ||||||
| @@ -2222,6 +2225,7 @@ lpuart32_set_termios(struct uart_port *p | @@ -2220,6 +2223,7 @@ lpuart32_set_termios(struct uart_port *p | ||||||
|  	lpuart32_write(&sport->port, old_ctrl & ~(UARTCTRL_TE | UARTCTRL_RE), |  	lpuart32_write(&sport->port, old_ctrl & ~(UARTCTRL_TE | UARTCTRL_RE), | ||||||
|  		       UARTCTRL); |  		       UARTCTRL); | ||||||
|   |   | ||||||
|   | |||||||
| @@ -24,7 +24,7 @@ Signed-off-by: Peng Fan <peng.fan@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/tty/serial/fsl_lpuart.c | --- a/drivers/tty/serial/fsl_lpuart.c | ||||||
| +++ b/drivers/tty/serial/fsl_lpuart.c | +++ b/drivers/tty/serial/fsl_lpuart.c | ||||||
| @@ -2600,7 +2600,9 @@ static int __init lpuart32_early_console | @@ -2598,7 +2598,9 @@ static int __init lpuart32_early_console | ||||||
|  	if (!device->port.membase) |  	if (!device->port.membase) | ||||||
|  		return -ENODEV; |  		return -ENODEV; | ||||||
|   |   | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/usb/dwc3/core.c | --- a/drivers/usb/dwc3/core.c | ||||||
| +++ b/drivers/usb/dwc3/core.c | +++ b/drivers/usb/dwc3/core.c | ||||||
| @@ -894,6 +894,25 @@ static void dwc3_set_incr_burst_type(str | @@ -900,6 +900,25 @@ static void dwc3_set_incr_burst_type(str | ||||||
|  	dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg); |  	dwc3_writel(dwc->regs, DWC3_GSBUSCFG0, cfg); | ||||||
|  } |  } | ||||||
|   |   | ||||||
| @@ -41,7 +41,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com> | |||||||
|  /** |  /** | ||||||
|   * dwc3_core_init - Low-level initialization of DWC3 Core |   * dwc3_core_init - Low-level initialization of DWC3 Core | ||||||
|   * @dwc: Pointer to our controller context structure |   * @dwc: Pointer to our controller context structure | ||||||
| @@ -918,6 +937,8 @@ static int dwc3_core_init(struct dwc3 *d | @@ -924,6 +943,8 @@ static int dwc3_core_init(struct dwc3 *d | ||||||
|  			dwc->maximum_speed = USB_SPEED_HIGH; |  			dwc->maximum_speed = USB_SPEED_HIGH; | ||||||
|  	} |  	} | ||||||
|   |   | ||||||
| @@ -52,7 +52,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com> | |||||||
|  		goto err0; |  		goto err0; | ||||||
| --- a/drivers/usb/dwc3/core.h | --- a/drivers/usb/dwc3/core.h | ||||||
| +++ b/drivers/usb/dwc3/core.h | +++ b/drivers/usb/dwc3/core.h | ||||||
| @@ -223,6 +223,7 @@ | @@ -224,6 +224,7 @@ | ||||||
|   |   | ||||||
|  /* Global Configuration Register */ |  /* Global Configuration Register */ | ||||||
|  #define DWC3_GCTL_PWRDNSCALE(n)	((n) << 19) |  #define DWC3_GCTL_PWRDNSCALE(n)	((n) << 19) | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com> | |||||||
|  |  | ||||||
| --- a/drivers/usb/dwc3/core.c | --- a/drivers/usb/dwc3/core.c | ||||||
| +++ b/drivers/usb/dwc3/core.c | +++ b/drivers/usb/dwc3/core.c | ||||||
| @@ -1263,6 +1263,17 @@ static void dwc3_get_properties(struct d | @@ -1269,6 +1269,17 @@ static void dwc3_get_properties(struct d | ||||||
|   |   | ||||||
|  	dwc->maximum_speed = usb_get_maximum_speed(dev); |  	dwc->maximum_speed = usb_get_maximum_speed(dev); | ||||||
|  	dwc->dr_mode = usb_get_dr_mode(dev); |  	dwc->dr_mode = usb_get_dr_mode(dev); | ||||||
| @@ -36,7 +36,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com> | |||||||
|  	dwc->sysdev_is_parent = device_property_read_bool(dev, |  	dwc->sysdev_is_parent = device_property_read_bool(dev, | ||||||
| --- a/drivers/usb/dwc3/core.h | --- a/drivers/usb/dwc3/core.h | ||||||
| +++ b/drivers/usb/dwc3/core.h | +++ b/drivers/usb/dwc3/core.h | ||||||
| @@ -949,6 +949,7 @@ struct dwc3_scratchpad_array { | @@ -953,6 +953,7 @@ struct dwc3_scratchpad_array { | ||||||
|   * @nr_scratch: number of scratch buffers |   * @nr_scratch: number of scratch buffers | ||||||
|   * @u1u2: only used on revisions <1.83a for workaround |   * @u1u2: only used on revisions <1.83a for workaround | ||||||
|   * @maximum_speed: maximum speed requested (mainly for testing purposes) |   * @maximum_speed: maximum speed requested (mainly for testing purposes) | ||||||
| @@ -44,7 +44,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com> | |||||||
|   * @revision: revision register contents |   * @revision: revision register contents | ||||||
|   * @version_type: VERSIONTYPE register contents, a sub release of a revision |   * @version_type: VERSIONTYPE register contents, a sub release of a revision | ||||||
|   * @dr_mode: requested mode of operation |   * @dr_mode: requested mode of operation | ||||||
| @@ -1104,6 +1105,7 @@ struct dwc3 { | @@ -1109,6 +1110,7 @@ struct dwc3 { | ||||||
|  	u32			nr_scratch; |  	u32			nr_scratch; | ||||||
|  	u32			u1u2; |  	u32			u1u2; | ||||||
|  	u32			maximum_speed; |  	u32			maximum_speed; | ||||||
|   | |||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user