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:
parent
5cdc65f6d1
commit
b4c02c9998
115 changed files with 226 additions and 407 deletions
|
@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
|||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
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))))
|
||||
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
|
||||
+++ b/drivers/tty/serial/Kconfig
|
||||
@@ -1279,6 +1279,7 @@ config SERIAL_AR933X
|
||||
@@ -1280,6 +1280,7 @@ config SERIAL_AR933X
|
||||
tristate "AR933X serial port support"
|
||||
depends on HAVE_CLK && ATH79
|
||||
select SERIAL_CORE
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Martin Sperl <kernel@martin.sperl.org>
|
|||
|
||||
--- a/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)
|
||||
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 = {
|
||||
@@ -2292,7 +2299,11 @@ static struct platform_driver bcm2835_cl
|
||||
@@ -2294,7 +2301,11 @@ static struct platform_driver bcm2835_cl
|
||||
.probe = bcm2835_clk_probe,
|
||||
};
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
|
||||
--- a/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.table = NULL;
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
pll = kzalloc(sizeof(*pll), GFP_KERNEL);
|
||||
if (!pll)
|
||||
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;
|
||||
|
||||
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;
|
||||
@@ -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),
|
||||
};
|
||||
|
||||
|
@ -58,7 +58,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
/*
|
||||
* 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);
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
static int bcm2835_clk_probe(struct platform_device *pdev)
|
||||
{
|
||||
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 struct cprman_plat_data *pdata;
|
||||
size_t i;
|
||||
|
@ -86,7 +86,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
int ret;
|
||||
|
||||
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))
|
||||
return PTR_ERR(cprman->regs);
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
.set_rate = bcm2835_clock_set_rate,
|
||||
.determine_rate = bcm2835_clock_determine_rate,
|
||||
.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 size_t asize = ARRAY_SIZE(clk_desc_array);
|
||||
const struct cprman_plat_data *pdata;
|
||||
|
@ -98,7 +98,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
|||
size_t i;
|
||||
u32 clk_id;
|
||||
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))
|
||||
return PTR_ERR(cprman->regs);
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
|||
|
||||
--- a/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;
|
||||
|
||||
/*
|
||||
|
|
|
@ -234,7 +234,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
static int bcm2708_fb_register(struct bcm2708_fb *fb)
|
||||
--- a/drivers/video/fbdev/core/fbmem.c
|
||||
+++ b/drivers/video/fbdev/core/fbmem.c
|
||||
@@ -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);
|
||||
|
||||
|
@ -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,
|
||||
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_cmap cmap_from;
|
||||
struct fb_cmap_user cmap;
|
||||
|
@ -273,7 +273,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
void __user *argp = (void __user *)arg;
|
||||
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);
|
||||
console_unlock();
|
||||
break;
|
||||
|
@ -289,7 +289,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
default:
|
||||
lock_fb_info(info);
|
||||
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 FBIOGET_CON2FBMAP:
|
||||
case FBIOPUT_CON2FBMAP:
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
|
||||
--- a/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.enable_hdcp = false;
|
||||
/* 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
|
||||
+++ 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 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) {
|
||||
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) {
|
||||
state->pdata = *pdata;
|
||||
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
|
||||
+++ 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 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];
|
||||
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;
|
||||
|
||||
/*
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
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 v4l2_subdev *sd;
|
||||
u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK;
|
||||
|
@ -86,7 +86,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
int err;
|
||||
|
||||
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;
|
||||
|
||||
/* i2c access */
|
||||
|
|
|
@ -26,7 +26,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
|
||||
if (format->pad != 0)
|
||||
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.field = V4L2_FIELD_NONE;
|
||||
|
||||
|
@ -76,7 +76,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
|
||||
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);
|
||||
|
||||
format->format.code = code;
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|||
|
||||
--- a/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;
|
||||
|
||||
/* 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;
|
||||
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;
|
||||
} else {
|
||||
init.ops = &bcm2835_clock_clk_ops;
|
||||
|
|
|
@ -61,7 +61,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
|
|||
.determine_rate = bcm2835_clock_determine_rate,
|
||||
.set_parent = bcm2835_clock_set_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;
|
||||
} else {
|
||||
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
|
||||
* 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,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
|||
|
||||
--- a/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;
|
||||
|
||||
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_DEVICE_ID_FLIP_KVM 0x3201
|
||||
|
||||
@@ -1244,6 +1247,9 @@
|
||||
@@ -1245,6 +1248,9 @@
|
||||
#define USB_VENDOR_ID_XAT 0x2505
|
||||
#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
|
||||
+++ 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,
|
||||
.fixed_divider = 1,
|
||||
.flags = CLK_SET_RATE_PARENT),
|
||||
|
@ -35,7 +35,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
|||
[BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV(
|
||||
SOC_ALL,
|
||||
.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,
|
||||
.frac_bits = 0,
|
||||
.tcnt_mux = 3),
|
||||
|
|
|
@ -25,7 +25,7 @@ Co-authored-by: Phil Elwell <phil@raspberrypi.org>
|
|||
|
||||
--- a/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);
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ Cc: linux-rockchip@lists.infradead.org
|
|||
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
@ -402,7 +402,7 @@ Cc: linux-rockchip@lists.infradead.org
|
|||
}
|
||||
--- a/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);
|
||||
int pci_parse_request_of_pci_ranges(struct device *dev,
|
||||
struct list_head *resources,
|
||||
|
@ -410,7 +410,7 @@ Cc: linux-rockchip@lists.infradead.org
|
|||
struct resource **bus_range);
|
||||
|
||||
/* 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 */
|
||||
static inline struct irq_domain *
|
||||
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
|
||||
+++ 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) {
|
||||
default:
|
||||
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
|
||||
+++ 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
|
||||
* VLAN.
|
||||
*/
|
||||
|
|
|
@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
config MODULES_TREE_LOOKUP
|
||||
--- a/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)
|
||||
{
|
||||
|
@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
if (flags & MODULE_INIT_IGNORE_VERMAGIC)
|
||||
modmagic = NULL;
|
||||
|
||||
@@ -3149,6 +3151,7 @@ static int check_modinfo(struct module *
|
||||
@@ -3150,6 +3152,7 @@ static int check_modinfo(struct module *
|
||||
mod->name);
|
||||
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 *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))
|
||||
sock_inuse_add(sock_net(sk), -1);
|
||||
|
||||
|
|
|
@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
|
||||
--- a/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)
|
||||
{
|
||||
|
|
|
@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
|||
* Perform scheduler related setup for a newly forked process p.
|
||||
--- a/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;
|
||||
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.
|
||||
*/
|
||||
@@ -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 &&
|
||||
timeouts[new_state] > 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
|
||||
+++ 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
|
||||
+++ 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 dev_pm_opp *tmp_opp, *opp = ERR_PTR(-ENODEV);
|
||||
int r = 0;
|
||||
|
@ -25,7 +25,7 @@ Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
|
|||
|
||||
/* Find the opp_table */
|
||||
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;
|
||||
|
||||
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 +++++++++++++
|
||||
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
|
||||
+++ 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->ext_reset);
|
||||
reset_control_assert(res->phy_reset);
|
||||
|
@ -29,7 +27,7 @@ index 3aac77a295ba..82336bbaf8dc 100644
|
|||
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;
|
||||
int ret;
|
||||
|
||||
|
@ -46,6 +44,3 @@ index 3aac77a295ba..82336bbaf8dc 100644
|
|||
ret = regulator_bulk_enable(ARRAY_SIZE(res->supplies), res->supplies);
|
||||
if (ret < 0) {
|
||||
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).
|
||||
--- a/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);
|
||||
int pci_cfg_space_size(struct pci_dev *dev);
|
||||
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 +++++++++++++++++-
|
||||
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
|
||||
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
|
||||
@@ -440,19 +440,19 @@
|
||||
|
@ -184,6 +182,3 @@ index cab7468c3..fe9b8bf4d 100644
|
|||
little-endian;
|
||||
#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 +-
|
||||
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
|
||||
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1046a.dtsi
|
||||
@@ -796,7 +796,7 @@
|
||||
@@ -808,7 +808,7 @@
|
||||
|
||||
rcpm: rcpm@1ee208c {
|
||||
compatible = "fsl,ls1046a-rcpm", "fsl,qoriq-rcpm-2.1+";
|
||||
|
@ -25,6 +23,3 @@ index 718af5e..1ef5743 100644
|
|||
#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 +++
|
||||
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
|
||||
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts
|
||||
@@ -167,6 +167,10 @@
|
||||
|
@ -38,11 +36,9 @@ index 219a98780..fe4c4e1fa 100644
|
|||
#include "fsl-ls1043-post.dtsi"
|
||||
|
||||
&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
|
||||
+++ 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 {
|
||||
+ 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
|
||||
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
|
||||
@@ -706,6 +706,7 @@
|
||||
|
@ -82,6 +76,3 @@ index e19e05dda..f879ac8f0 100644
|
|||
};
|
||||
|
||||
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 ----
|
||||
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
|
||||
+++ b/arch/arm64/boot/dts/freescale/fsl-ls1043a.dtsi
|
||||
@@ -915,8 +915,4 @@
|
||||
@@ -918,8 +918,4 @@
|
||||
thermal-zone4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -24,6 +22,3 @@ index e19e05ddae08..fd898d51f53a 100644
|
|||
- status = "okay";
|
||||
- };
|
||||
};
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ This reverts commit e75f4940e8ad0dd76527302a10c06b58bf7eb590.
|
|||
ret = snd_pcm_hw_constraint_list(substream->runtime, 0,
|
||||
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 = {
|
||||
.use_imx_pcm = false,
|
||||
|
|
|
@ -62,4 +62,4 @@ This reverts commit 63d1a3488ff58e094a7f517cf93c0250f0a3f6be.
|
|||
- unsigned int bclk_ratio;
|
||||
|
||||
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
|
||||
+++ 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,
|
||||
};
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ This reverts commit a860fac420971c5a90d4f78959b44ead793aee4f.
|
|||
|
||||
--- a/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,
|
||||
};
|
||||
|
||||
|
|
|
@ -494,7 +494,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
|||
sai->regmap = devm_regmap_init_mmio_clk(&pdev->dev,
|
||||
"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 = {
|
||||
.use_imx_pcm = false,
|
||||
.fifo_depth = 32,
|
||||
|
@ -508,7 +508,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
|||
};
|
||||
|
||||
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)
|
||||
{
|
||||
struct fsl_sai *sai = dev_get_drvdata(dev);
|
||||
|
@ -516,7 +516,7 @@ This reverts commit 4f7a0728b5305e2d865f543fbcffd617e03c7674.
|
|||
int ret;
|
||||
|
||||
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);
|
||||
|
|
|
@ -119,7 +119,7 @@ This reverts commit 5f0ac20ed6db1d6da2eea8b862cf3d54fdfb5830.
|
|||
case FSL_SAI_TMR:
|
||||
case FSL_SAI_RCSR:
|
||||
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));
|
||||
}
|
||||
|
||||
|
|
|
@ -295,7 +295,7 @@ This reverts commit cf9441adb1a35506d7606866c382b9d8614169b5.
|
|||
ret = devm_request_irq(&pdev->dev, irq, mxs_saif_irq, 0,
|
||||
--- a/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;
|
||||
|
||||
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,
|
||||
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 = {
|
||||
.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");
|
||||
|
||||
@@ -898,7 +900,7 @@ static int fsl_sai_probe(struct platform
|
||||
@@ -901,7 +903,7 @@ static int fsl_sai_probe(struct platform
|
||||
if (ret)
|
||||
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);
|
||||
if (ret)
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -91,6 +91,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
|||
unsigned int slot_width;
|
||||
|
||||
- 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_tx;
|
||||
};
|
||||
|
|
|
@ -277,7 +277,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
|||
irq = platform_get_irq(pdev, 0);
|
||||
if (irq < 0) {
|
||||
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));
|
||||
}
|
||||
|
||||
|
@ -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_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)
|
||||
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);
|
||||
if (ret)
|
||||
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);
|
||||
|
||||
|
@ -307,7 +307,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
|||
regcache_cache_only(sai->regmap, true);
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -412,8 +412,8 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
|||
|
||||
unsigned int mclk_id[2];
|
||||
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_tx;
|
||||
+ const struct fsl_sai_soc_data *soc;
|
||||
|
|
|
@ -590,7 +590,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
|
|||
if (ret) {
|
||||
dev_err(&pdev->dev, "failed to claim irq %u\n", irq);
|
||||
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)
|
||||
{
|
||||
struct fsl_sai *sai = dev_get_drvdata(dev);
|
||||
|
@ -598,7 +598,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
|
|||
int ret;
|
||||
|
||||
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);
|
||||
|
||||
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
|
||||
+++ 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);
|
||||
|
||||
+ regcache_cache_only(sai->regmap, true);
|
||||
+
|
||||
ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component,
|
||||
&fsl_sai_dai, 1);
|
||||
&sai->cpu_dai_drv, 1);
|
||||
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);
|
||||
|
||||
|
|
|
@ -51,5 +51,5 @@ Signed-off-by: Adrian Alonso <adrian.alonso@nxp.com>
|
|||
unsigned int slot_width;
|
||||
+ 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_tx;
|
||||
|
|
|
@ -274,7 +274,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
|
|||
if ((of_find_property(np, "fsl,i2s-xtor", 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_tx.maxburst = FSL_SAI_MAXBURST_TX;
|
||||
|
||||
|
@ -315,7 +315,7 @@ Reviewed-by: Viorel Suman <viorel.suman@nxp.com>
|
|||
unsigned int masterflag[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;
|
||||
const struct fsl_sai_soc_data *soc;
|
||||
struct pm_qos_request pm_qos_req;
|
||||
|
|
|
@ -36,7 +36,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
|
|||
+ 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,
|
||||
.playback = {
|
||||
@@ -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) {
|
||||
dev_err(cpu_dai->dev,
|
||||
"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);
|
||||
|
||||
|
@ -85,7 +85,7 @@ Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com
|
|||
pm_runtime_enable(&pdev->dev);
|
||||
--- a/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;
|
||||
struct pm_qos_request pm_qos_req;
|
||||
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);
|
||||
if (ret) {
|
||||
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_tx.maxburst = FSL_SAI_MAXBURST_TX;
|
||||
|
||||
|
|
|
@ -238,7 +238,7 @@ Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
|
|||
struct fsl_sai {
|
||||
struct platform_device *pdev;
|
||||
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 pinctrl *pinctrl;
|
||||
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_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_tx;
|
||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
|
|||
break;
|
||||
case SND_SOC_DAIFMT_CBM_CFS:
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
|
|||
|
||||
--- a/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);
|
||||
|
||||
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_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);
|
||||
|
||||
|
@ -29,7 +29,7 @@ Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
|
|||
if (sai->mclk_streams & BIT(SNDRV_PCM_STREAM_CAPTURE))
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -79,7 +79,7 @@ Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
|
|||
for (id = 0; id < FSL_SAI_MCLK_MAX; id++) {
|
||||
clk_rate = clk_get_rate(sai->mclk_clk[id]);
|
||||
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);
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
||||
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,
|
||||
.probe = fsl_sai_dai_probe,
|
||||
.playback = {
|
||||
|
|
|
@ -13,7 +13,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
|||
|
||||
--- a/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)
|
||||
goto err_pm_disable;
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|||
|
||||
--- a/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 flexcan_priv *priv;
|
||||
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 flexcan_regs __iomem *regs;
|
||||
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);
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|||
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->reg_imask1_default = 0;
|
||||
|
|
|
@ -72,7 +72,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|||
enable_irq(dev->irq);
|
||||
|
||||
/* 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 = 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;
|
||||
|
||||
@@ -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,
|
||||
priv->offload.mb_first);
|
||||
|
|
|
@ -43,7 +43,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|||
enable_irq(dev->irq);
|
||||
|
||||
/* 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 = 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;
|
||||
|
||||
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,
|
||||
priv->offload.mb_first);
|
||||
|
|
|
@ -82,7 +82,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|||
enable_irq(dev->irq);
|
||||
|
||||
/* 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;
|
||||
|
||||
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(lower_32_bits(reg_imask), ®s->imask1);
|
||||
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);
|
||||
priv->tx_mb_idx = priv->mb_count - 1;
|
||||
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)) {
|
||||
reg_ctrl2 = priv->read(®s->ctrl2);
|
||||
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);
|
||||
int err;
|
||||
|
||||
|
@ -364,7 +364,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|||
err = pm_runtime_get_sync(priv->dev);
|
||||
if (err < 0)
|
||||
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)
|
||||
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) +
|
||||
(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->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)) {
|
||||
@@ -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_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 = {
|
||||
.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
|
||||
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[] = {
|
||||
|
|
|
@ -35,7 +35,7 @@ Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
|
|||
static const struct flexcan_devtype_data fsl_ls1021a_r2_devtype_data = {
|
||||
.quirks = FLEXCAN_QUIRK_DISABLE_RXFG | FLEXCAN_QUIRK_ENABLE_EACEN_RRS |
|
||||
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,vf610-flexcan", .data = &fsl_vf610_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>
|
||||
|
||||
#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 flexcan_priv *priv = netdev_priv(dev);
|
||||
|
@ -37,7 +37,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
|
|||
|
||||
if (netif_running(dev)) {
|
||||
/* 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)
|
||||
return err;
|
||||
} else {
|
||||
|
@ -69,7 +69,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
|
|||
|
||||
priv->can.state = CAN_STATE_ERROR_ACTIVE;
|
||||
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)
|
||||
return err;
|
||||
} else {
|
||||
|
|
|
@ -126,7 +126,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
|
|||
|
||||
|
||||
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,
|
||||
priv->stm.ack_gpr, priv->stm.ack_bit);
|
||||
|
||||
|
@ -138,7 +138,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
|
|||
return 0;
|
||||
|
||||
out_put_node:
|
||||
@@ -1757,6 +1796,30 @@ out_put_node:
|
||||
@@ -1779,6 +1818,30 @@ out_put_node:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -169,7 +169,7 @@ Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
|
|||
static const struct of_device_id flexcan_of_match[] = {
|
||||
{ .compatible = "fsl,imx8qm-flexcan", .data = &fsl_imx8qm_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);
|
||||
|
||||
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 = {
|
||||
.name = DRV_NAME,
|
||||
.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,ls1021ar2-flexcan", .data = &fsl_ls1021a_r2_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
|
||||
+++ 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
|
||||
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
|
||||
+++ 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
|
||||
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
|
||||
+++ 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
|
||||
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
|
||||
+++ 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
|
||||
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);
|
||||
--- a/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;
|
||||
}
|
||||
|
||||
|
@ -653,7 +653,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
|
|||
static int gcm_set_sh_desc(struct crypto_aead *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
|
||||
* @src_nents: number of segments in input 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);
|
||||
}
|
||||
|
||||
|
@ -702,7 +702,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
|
|||
static void skcipher_unmap(struct device *dev, struct skcipher_edesc *edesc,
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -946,7 +946,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
|
|||
static int ipsec_gcm_encrypt(struct aead_request *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,
|
||||
}
|
||||
},
|
||||
|
@ -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,
|
||||
@@ -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 device *dev;
|
||||
|
@ -990,7 +990,7 @@ Signed-off-by: Radu Alexe <radu.alexe@nxp.com>
|
|||
|
||||
/*
|
||||
* 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->qidev = dev;
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
|
|||
|
||||
--- a/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
|
||||
of a security violation.
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ Reviewed-by: Iuliana Prodan <iuliana.prodan@nxp.com>
|
|||
|
||||
--- a/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.
|
||||
|
||||
config CRYPTO_DEV_FSL_CAAM_SM
|
||||
|
|
|
@ -46,7 +46,7 @@ Acked-by: Leonard Crestez <leonard.crestez@nxp.com>
|
|||
|
||||
--- a/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
|
||||
tristate "CAAM Secure Memory - Keystore Test/Example (EXPERIMENTAL)"
|
||||
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
|
||||
--- a/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);
|
||||
void pcibios_free_irq(struct pci_dev *dev);
|
||||
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 +++++++++++++++++++--
|
||||
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
|
||||
+++ b/drivers/thermal/qoriq_thermal.c
|
||||
@@ -23,6 +23,7 @@
|
||||
|
@ -50,7 +48,7 @@ index ba7d6105a..8b371fd3d 100644
|
|||
u32 ipbrr0; /* IP Block Revision Register 0 */
|
||||
u32 ipbrr1; /* IP Block Revision Register 1 */
|
||||
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;
|
||||
|
||||
val = tmu_read(qdata, &qdata->regs->site[qsensor->id].tritsr);
|
||||
|
@ -62,7 +60,7 @@ index ba7d6105a..8b371fd3d 100644
|
|||
|
||||
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)
|
||||
{
|
||||
|
@ -71,7 +69,7 @@ index ba7d6105a..8b371fd3d 100644
|
|||
/* Disable interrupt, using polling instead */
|
||||
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 {
|
||||
tmu_write(data, TMTMIR_DEFAULT, &data->regs_v2->tmtmir);
|
||||
tmu_write(data, TEUMR0_V2, &data->regs_v2->teumr0);
|
||||
|
@ -80,6 +78,3 @@ index ba7d6105a..8b371fd3d 100644
|
|||
}
|
||||
|
||||
/* 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/slab.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,
|
||||
};
|
||||
|
||||
|
@ -82,7 +82,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
static int lpuart_probe(struct platform_device *pdev)
|
||||
{
|
||||
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;
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
#include <linux/serial_core.h>
|
||||
#include <linux/slab.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)
|
||||
{
|
||||
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
|
||||
+++ 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);
|
||||
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
|
||||
+++ 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);
|
||||
|
||||
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)
|
||||
{
|
||||
@@ -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)
|
||||
lpuart32_txint(sport);
|
||||
|
||||
|
@ -141,7 +141,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
if (lpuart_is_32(sport)) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@ -164,7 +164,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
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);
|
||||
|
||||
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)
|
||||
@@ -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;
|
||||
|
||||
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)
|
||||
@@ -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);
|
||||
|
||||
lpuart_copy_rx_to_tty(sport);
|
||||
|
@ -291,7 +291,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
int bits, baud;
|
||||
struct tty_port *port = &sport->port.state->port;
|
||||
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));
|
||||
if (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);
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -344,7 +344,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
}
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -356,7 +356,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
/* Restore cr2 */
|
||||
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 ctrl_saved;
|
||||
|
@ -364,7 +364,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
ctrl = lpuart32_read(&sport->port, UARTCTRL);
|
||||
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 |= UARTFIFO_TXFE | UARTFIFO_RXFE;
|
||||
val |= UARTFIFO_TXFLUSH | UARTFIFO_RXFLUSH;
|
||||
|
@ -392,7 +392,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
/* Restore cr2 */
|
||||
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);
|
||||
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
|
@ -454,7 +454,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
if (!sport->lpuart_dma_tx_use)
|
||||
temp |= UARTCTRL_TIE;
|
||||
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);
|
||||
|
||||
|
@ -469,7 +469,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
lpuart32_configure(sport);
|
||||
|
||||
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)
|
||||
{
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
@ -503,7 +503,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
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.
|
||||
*
|
||||
* 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);
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
* 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);
|
||||
}
|
||||
|
||||
@@ -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.type = PORT_LPUART;
|
||||
sport->devtype = sdata->devtype;
|
||||
|
@ -540,7 +540,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
ret = platform_get_irq(pdev, 0);
|
||||
if (ret < 0)
|
||||
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.
|
||||
*/
|
||||
if (irq_wake) {
|
||||
|
|
|
@ -12,7 +12,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
--- a/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;
|
||||
|
||||
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)
|
||||
{
|
||||
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)
|
||||
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);
|
||||
|
||||
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;
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
|
||||
#define DRIVER_NAME "fsl-lpuart"
|
||||
#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 */
|
||||
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,
|
||||
.startup = lpuart_startup,
|
||||
.shutdown = lpuart_shutdown,
|
||||
|
@ -51,7 +51,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
.set_termios = lpuart_set_termios,
|
||||
.type = lpuart_type,
|
||||
.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,
|
||||
.startup = lpuart32_startup,
|
||||
.shutdown = lpuart32_shutdown,
|
||||
|
@ -59,7 +59,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
.set_termios = lpuart32_set_termios,
|
||||
.type = lpuart_type,
|
||||
.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)
|
||||
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);
|
||||
if (ret)
|
||||
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:
|
||||
uart_remove_one_port(&lpuart_reg, &sport->port);
|
||||
failed_attach_port:
|
||||
|
@ -81,7 +81,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
failed_irq_request:
|
||||
lpuart_disable_clks(sport);
|
||||
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)
|
||||
dma_release_channel(sport->dma_rx_chan);
|
||||
|
||||
|
@ -123,7 +123,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
|
||||
if (lpuart_is_32(sport)) {
|
||||
/* 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);
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
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);
|
||||
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))
|
||||
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))
|
||||
lpuart32_configure(sport);
|
||||
|
||||
|
@ -188,7 +188,7 @@ Reviewed-by: Robin Gong <yibin.gong@nxp.com>
|
|||
|
||||
static struct platform_driver lpuart_driver = {
|
||||
.probe = lpuart_probe,
|
||||
@@ -2905,7 +2969,7 @@ static struct platform_driver lpuart_dri
|
||||
@@ -2903,7 +2967,7 @@ static struct platform_driver lpuart_dri
|
||||
.driver = {
|
||||
.name = "fsl-lpuart",
|
||||
.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_runtime.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;
|
||||
|
||||
/* 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) &
|
||||
UARTPFIFO_FIFOSIZE_MASK);
|
||||
|
||||
|
@ -69,7 +69,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -98,7 +98,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
unsigned long temp;
|
||||
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) &
|
||||
UARTFIFO_FIFOSIZE_MASK);
|
||||
|
||||
|
@ -117,7 +117,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
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);
|
||||
};
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
--- a/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);
|
||||
unsigned long flags;
|
||||
|
@ -28,7 +28,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
modem = lpuart32_read(&sport->port, UARTMODIR);
|
||||
/*
|
||||
* 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)
|
||||
|
@ -39,7 +39,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
|||
|
||||
/* parity must be enabled when CS7 to match 8-bits format */
|
||||
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),
|
||||
UARTCTRL);
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ Signed-off-by: Peng Fan <peng.fan@nxp.com>
|
|||
|
||||
--- a/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)
|
||||
return -ENODEV;
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com>
|
|||
|
||||
--- a/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);
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com>
|
|||
/**
|
||||
* dwc3_core_init - Low-level initialization of DWC3 Core
|
||||
* @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;
|
||||
}
|
||||
|
||||
|
@ -52,7 +52,7 @@ Signed-off-by: Li Jun <jun.li@nxp.com>
|
|||
goto err0;
|
||||
--- a/drivers/usb/dwc3/core.h
|
||||
+++ b/drivers/usb/dwc3/core.h
|
||||
@@ -223,6 +223,7 @@
|
||||
@@ -224,6 +224,7 @@
|
||||
|
||||
/* Global Configuration Register */
|
||||
#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
|
||||
+++ 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->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,
|
||||
--- a/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
|
||||
* @u1u2: only used on revisions <1.83a for workaround
|
||||
* @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
|
||||
* @version_type: VERSIONTYPE register contents, a sub release of a revision
|
||||
* @dr_mode: requested mode of operation
|
||||
@@ -1104,6 +1105,7 @@ struct dwc3 {
|
||||
@@ -1109,6 +1110,7 @@ struct dwc3 {
|
||||
u32 nr_scratch;
|
||||
u32 u1u2;
|
||||
u32 maximum_speed;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue