mirror of
https://github.com/hanwckf/immortalwrt-mt798x.git
synced 2025-01-07 01:53:34 +08:00
kernel: bump 5.4 to 5.4.224
Manually adapted: generic/pending-5.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch lantiq/patches-5.4/0028-NET-lantiq-various-etop-fixes.patch Compile-tested: x86/64 Run-tested: x86/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
dec6584b22
commit
079ce0413a
@ -6,9 +6,9 @@ ifdef CONFIG_TESTING_KERNEL
|
||||
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
|
||||
endif
|
||||
|
||||
LINUX_VERSION-5.4 = .219
|
||||
LINUX_VERSION-5.4 = .224
|
||||
|
||||
LINUX_KERNEL_HASH-5.4.219 = 5293ad927269dfb697bc80e9dd95c1d9fd2e4bad7d8422300e012fd31950a261
|
||||
LINUX_KERNEL_HASH-5.4.224 = 8b7df25b5560620eb2776d7b7c67569764b3916ff2f596767f72567b38d13d36
|
||||
|
||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
|
||||
|
@ -93,7 +93,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
static const char hcd_name[] = "xhci_hcd";
|
||||
|
||||
static struct hc_driver __read_mostly xhci_pci_hc_driver;
|
||||
@@ -334,6 +374,873 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
@@ -340,6 +380,873 @@ static void xhci_pme_acpi_rtd3_enable(st
|
||||
static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { }
|
||||
#endif /* CONFIG_ACPI */
|
||||
|
||||
@ -967,7 +967,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
/* called during probe() after chip reset completes */
|
||||
static int xhci_pci_setup(struct usb_hcd *hcd)
|
||||
{
|
||||
@@ -375,6 +1282,27 @@ static int xhci_pci_probe(struct pci_dev
|
||||
@@ -381,6 +1288,27 @@ static int xhci_pci_probe(struct pci_dev
|
||||
struct hc_driver *driver;
|
||||
struct usb_hcd *hcd;
|
||||
|
||||
@ -995,7 +995,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
driver = (struct hc_driver *)id->driver_data;
|
||||
|
||||
/* Prevent runtime suspending between USB-2 and USB-3 initialization */
|
||||
@@ -436,6 +1364,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
@@ -442,6 +1370,16 @@ static void xhci_pci_remove(struct pci_d
|
||||
{
|
||||
struct xhci_hcd *xhci;
|
||||
|
||||
@ -1012,7 +1012,7 @@ Signed-off-by: Vinod Koul <vkoul@kernel.org>
|
||||
xhci = hcd_to_xhci(pci_get_drvdata(dev));
|
||||
xhci->xhc_state |= XHCI_STATE_REMOVING;
|
||||
|
||||
@@ -575,6 +1513,11 @@ static int xhci_pci_resume(struct usb_hc
|
||||
@@ -581,6 +1519,11 @@ static int xhci_pci_resume(struct usb_hc
|
||||
if (pdev->vendor == PCI_VENDOR_ID_INTEL)
|
||||
usb_enable_intel_xhci_ports(pdev);
|
||||
|
||||
|
@ -18,7 +18,7 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
|
||||
|
||||
--- a/arch/powerpc/boot/Makefile
|
||||
+++ b/arch/powerpc/boot/Makefile
|
||||
@@ -254,7 +254,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo
|
||||
@@ -255,7 +255,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo
|
||||
|
||||
# args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd
|
||||
quiet_cmd_wrap = WRAP $@
|
||||
|
@ -706,7 +706,7 @@
|
||||
EXPORT_SYMBOL(xfrm_parse_spi);
|
||||
--- a/net/ipv4/tcp_input.c
|
||||
+++ b/net/ipv4/tcp_input.c
|
||||
@@ -3997,14 +3997,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
@@ -3998,14 +3998,16 @@ static bool tcp_parse_aligned_timestamp(
|
||||
{
|
||||
const __be32 *ptr = (const __be32 *)(th + 1);
|
||||
|
||||
|
@ -19,5 +19,5 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
+ xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||
+
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
|
||||
xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
|
||||
/*
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -1485,6 +1485,103 @@ command_cleanup:
|
||||
@@ -1486,6 +1486,103 @@ command_cleanup:
|
||||
}
|
||||
|
||||
/*
|
||||
@ -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
|
||||
*/
|
||||
@@ -5386,6 +5483,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5387,6 +5484,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.endpoint_reset = xhci_endpoint_reset,
|
||||
.check_bandwidth = xhci_check_bandwidth,
|
||||
.reset_bandwidth = xhci_reset_bandwidth,
|
||||
|
@ -34,7 +34,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
+ }
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI)
|
||||
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) {
|
||||
--- a/drivers/usb/host/xhci-ring.c
|
||||
+++ b/drivers/usb/host/xhci-ring.c
|
||||
@@ -563,7 +563,10 @@ void xhci_find_new_dequeue_state(struct
|
||||
|
@ -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
|
||||
|
||||
@@ -1263,6 +1266,9 @@
|
||||
@@ -1264,6 +1267,9 @@
|
||||
#define USB_VENDOR_ID_XAT 0x2505
|
||||
#define USB_DEVICE_ID_XAT_CSR 0x0220
|
||||
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
|
||||
--- a/drivers/usb/host/xhci-mem.c
|
||||
+++ b/drivers/usb/host/xhci-mem.c
|
||||
@@ -2513,9 +2513,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2522,9 +2522,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
* Event ring setup: Allocate a normal ring, but also setup
|
||||
* the event ring segment table (ERST). Section 4.9.3.
|
||||
*/
|
||||
@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
|
||||
if (!xhci->event_ring)
|
||||
goto fail;
|
||||
if (xhci_check_trb_in_td_math(xhci) < 0)
|
||||
@@ -2528,7 +2530,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
@@ -2537,7 +2539,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
|
||||
/* set ERST count with the number of entries in the segment table */
|
||||
val = readl(&xhci->ir_set->erst_size);
|
||||
val &= ERST_SIZE_MASK;
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1272,6 +1272,9 @@ ifneq ($(dtstree),)
|
||||
@@ -1274,6 +1274,9 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
@ -15,7 +15,7 @@ Signed-off-by: Nataliya Korovkina <malus.brandywine@gmail.com>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1272,7 +1272,7 @@ ifneq ($(dtstree),)
|
||||
@@ -1274,7 +1274,7 @@ ifneq ($(dtstree),)
|
||||
%.dtb: include/config/kernel.release scripts_dtc
|
||||
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
||||
|
||||
|
@ -147,7 +147,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
/**
|
||||
* struct v4l2_capability - Describes V4L2 device caps returned by VIDIOC_QUERYCAP
|
||||
*
|
||||
@@ -1724,6 +1729,7 @@ enum v4l2_ctrl_type {
|
||||
@@ -1725,6 +1730,7 @@ enum v4l2_ctrl_type {
|
||||
V4L2_CTRL_TYPE_U8 = 0x0100,
|
||||
V4L2_CTRL_TYPE_U16 = 0x0101,
|
||||
V4L2_CTRL_TYPE_U32 = 0x0102,
|
||||
|
@ -169,7 +169,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
|
||||
--- a/include/media/v4l2-common.h
|
||||
+++ b/include/media/v4l2-common.h
|
||||
@@ -457,8 +457,24 @@ int v4l2_s_parm_cap(struct video_device
|
||||
@@ -458,8 +458,24 @@ int v4l2_s_parm_cap(struct video_device
|
||||
/* Pixel format and FourCC helpers */
|
||||
|
||||
/**
|
||||
@ -194,7 +194,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
* @mem_planes: Number of memory planes, which includes the alpha plane (1 to 4).
|
||||
* @comp_planes: Number of component planes, which includes the alpha plane (1 to 4).
|
||||
* @bpp: Array of per-plane bytes per pixel
|
||||
@@ -469,6 +485,7 @@ int v4l2_s_parm_cap(struct video_device
|
||||
@@ -470,6 +486,7 @@ int v4l2_s_parm_cap(struct video_device
|
||||
*/
|
||||
struct v4l2_format_info {
|
||||
u32 format;
|
||||
@ -202,7 +202,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
u8 mem_planes;
|
||||
u8 comp_planes;
|
||||
u8 bpp[4];
|
||||
@@ -478,8 +495,22 @@ struct v4l2_format_info {
|
||||
@@ -479,8 +496,22 @@ struct v4l2_format_info {
|
||||
u8 block_h[4];
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@ Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
||||
replace define V4L2_DEC_CMD_PAUSE_TO_BLACK decoder-cmds
|
||||
--- a/include/uapi/linux/videodev2.h
|
||||
+++ b/include/uapi/linux/videodev2.h
|
||||
@@ -1988,6 +1988,7 @@ struct v4l2_encoder_cmd {
|
||||
@@ -1989,6 +1989,7 @@ struct v4l2_encoder_cmd {
|
||||
#define V4L2_DEC_CMD_STOP (1)
|
||||
#define V4L2_DEC_CMD_PAUSE (2)
|
||||
#define V4L2_DEC_CMD_RESUME (3)
|
||||
|
@ -41,7 +41,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
if (b->sparse_flow_count + b->bulk_flow_count)
|
||||
empty = false;
|
||||
|
||||
@@ -2269,8 +2268,7 @@ static int cake_config_besteffort(struct
|
||||
@@ -2273,8 +2272,7 @@ static int cake_config_besteffort(struct
|
||||
|
||||
cake_set_rate(b, rate, mtu,
|
||||
us_to_ns(q->target), us_to_ns(q->interval));
|
||||
@ -51,7 +51,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -2281,8 +2279,7 @@ static int cake_config_precedence(struct
|
||||
@@ -2285,8 +2283,7 @@ static int cake_config_precedence(struct
|
||||
struct cake_sched_data *q = qdisc_priv(sch);
|
||||
u32 mtu = psched_mtu(qdisc_dev(sch));
|
||||
u64 rate = q->rate_bps;
|
||||
@ -61,7 +61,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
u32 i;
|
||||
|
||||
q->tin_cnt = 8;
|
||||
@@ -2295,18 +2292,14 @@ static int cake_config_precedence(struct
|
||||
@@ -2299,18 +2296,14 @@ static int cake_config_precedence(struct
|
||||
cake_set_rate(b, rate, mtu, us_to_ns(q->target),
|
||||
us_to_ns(q->interval));
|
||||
|
||||
@ -83,7 +83,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -2375,8 +2368,7 @@ static int cake_config_diffserv8(struct
|
||||
@@ -2379,8 +2372,7 @@ static int cake_config_diffserv8(struct
|
||||
struct cake_sched_data *q = qdisc_priv(sch);
|
||||
u32 mtu = psched_mtu(qdisc_dev(sch));
|
||||
u64 rate = q->rate_bps;
|
||||
@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
u32 i;
|
||||
|
||||
q->tin_cnt = 8;
|
||||
@@ -2392,18 +2384,14 @@ static int cake_config_diffserv8(struct
|
||||
@@ -2396,18 +2388,14 @@ static int cake_config_diffserv8(struct
|
||||
cake_set_rate(b, rate, mtu, us_to_ns(q->target),
|
||||
us_to_ns(q->interval));
|
||||
|
||||
@ -115,7 +115,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -2442,17 +2430,11 @@ static int cake_config_diffserv4(struct
|
||||
@@ -2446,17 +2434,11 @@ static int cake_config_diffserv4(struct
|
||||
cake_set_rate(&q->tins[3], rate >> 2, mtu,
|
||||
us_to_ns(q->target), us_to_ns(q->interval));
|
||||
|
||||
@ -137,7 +137,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -2483,15 +2465,10 @@ static int cake_config_diffserv3(struct
|
||||
@@ -2487,15 +2469,10 @@ static int cake_config_diffserv3(struct
|
||||
cake_set_rate(&q->tins[2], rate >> 2, mtu,
|
||||
us_to_ns(q->target), us_to_ns(q->interval));
|
||||
|
||||
|
@ -68,7 +68,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
kfree(sdev->inquiry);
|
||||
kfree(sdev);
|
||||
|
||||
@@ -891,6 +900,8 @@ static struct bin_attribute dev_attr_vpd
|
||||
@@ -899,6 +908,8 @@ static struct bin_attribute dev_attr_vpd
|
||||
|
||||
sdev_vpd_pg_attr(pg83);
|
||||
sdev_vpd_pg_attr(pg80);
|
||||
@ -77,7 +77,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
|
||||
static ssize_t show_inquiry(struct file *filep, struct kobject *kobj,
|
||||
struct bin_attribute *bin_attr,
|
||||
@@ -1223,12 +1234,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
|
||||
@@ -1231,12 +1242,18 @@ static umode_t scsi_sdev_bin_attr_is_vis
|
||||
struct scsi_device *sdev = to_scsi_device(dev);
|
||||
|
||||
|
||||
@ -96,7 +96,7 @@ Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||||
return S_IRUGO;
|
||||
}
|
||||
|
||||
@@ -1271,8 +1288,10 @@ static struct attribute *scsi_sdev_attrs
|
||||
@@ -1279,8 +1296,10 @@ static struct attribute *scsi_sdev_attrs
|
||||
};
|
||||
|
||||
static struct bin_attribute *scsi_sdev_bin_attrs[] = {
|
||||
|
@ -298,6 +298,7 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
|
||||
# CONFIG_ARM64_ERRATUM_1024718 is not set
|
||||
# CONFIG_ARM64_ERRATUM_1463225 is not set
|
||||
# CONFIG_ARM64_ERRATUM_1542419 is not set
|
||||
# CONFIG_ARM64_ERRATUM_1742098 is not set
|
||||
# CONFIG_ARM64_ERRATUM_819472 is not set
|
||||
# CONFIG_ARM64_ERRATUM_824069 is not set
|
||||
# CONFIG_ARM64_ERRATUM_826319 is not set
|
||||
|
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
*/
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2692,6 +2692,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
@@ -2694,6 +2694,10 @@ static inline int pskb_trim(struct sk_bu
|
||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
/**
|
||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||
* @skb: buffer to alter
|
||||
@@ -2823,16 +2827,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
@@ -2825,16 +2829,6 @@ static inline struct sk_buff *dev_alloc_
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -2658,7 +2658,7 @@ static inline int pskb_network_may_pull(
|
||||
@@ -2660,7 +2660,7 @@ static inline int pskb_network_may_pull(
|
||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||
*/
|
||||
#ifndef NET_SKB_PAD
|
||||
|
@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||
#endif
|
||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||
@@ -6428,6 +6477,9 @@ void __init ip6_route_init_special_entri
|
||||
@@ -6434,6 +6483,9 @@ void __init ip6_route_init_special_entri
|
||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||
|
@ -22,10 +22,10 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
#endif
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -824,6 +824,7 @@ struct sk_buff {
|
||||
#ifdef CONFIG_TLS_DEVICE
|
||||
@@ -826,6 +826,7 @@ struct sk_buff {
|
||||
__u8 decrypted:1;
|
||||
#endif
|
||||
__u8 scm_io_uring:1;
|
||||
+ __u8 gro_skip:1;
|
||||
|
||||
#ifdef CONFIG_NET_SCHED
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
|
||||
|
||||
--- a/drivers/mmc/host/sdhci-msm.c
|
||||
+++ b/drivers/mmc/host/sdhci-msm.c
|
||||
@@ -1763,7 +1763,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
|
||||
@@ -1764,7 +1764,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
|
||||
|
||||
static const struct sdhci_ops sdhci_msm_ops = {
|
||||
.reset = sdhci_reset,
|
||||
|
@ -625,7 +625,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -457,16 +651,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
@@ -457,15 +651,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
int queue = skb_get_queue_mapping(skb);
|
||||
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
@ -641,13 +641,12 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
|
||||
|
||||
- if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) || ch->skb[ch->dma.desc]) {
|
||||
- dev_kfree_skb_any(skb);
|
||||
+ if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) ||
|
||||
+ priv->txch.skb[priv->txch.dma.desc]) {
|
||||
netdev_err(dev, "tx ring full\n");
|
||||
netif_tx_stop_queue(txq);
|
||||
return NETDEV_TX_BUSY;
|
||||
@@ -474,7 +668,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
@@ -473,7 +668,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
|
||||
/* dma needs to start on a 16 byte aligned address */
|
||||
byte_offset = CPHYSADDR(skb->data) % 16;
|
||||
@ -656,7 +655,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
netif_trans_update(dev);
|
||||
|
||||
@@ -484,11 +678,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
@@ -483,11 +678,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
|
||||
wmb();
|
||||
desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
|
||||
LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
|
||||
@ -671,7 +670,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
netif_tx_stop_queue(txq);
|
||||
|
||||
return NETDEV_TX_OK;
|
||||
@@ -499,11 +693,14 @@ ltq_etop_change_mtu(struct net_device *d
|
||||
@@ -498,11 +693,14 @@ ltq_etop_change_mtu(struct net_device *d
|
||||
{
|
||||
struct ltq_etop_priv *priv = netdev_priv(dev);
|
||||
unsigned long flags;
|
||||
@ -687,7 +686,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
spin_unlock_irqrestore(&priv->lock, flags);
|
||||
|
||||
return 0;
|
||||
@@ -563,6 +760,9 @@ ltq_etop_init(struct net_device *dev)
|
||||
@@ -562,6 +760,9 @@ ltq_etop_init(struct net_device *dev)
|
||||
if (err)
|
||||
goto err_hw;
|
||||
ltq_etop_change_mtu(dev, 1500);
|
||||
@ -697,7 +696,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
|
||||
if (!is_valid_ether_addr(mac.sa_data)) {
|
||||
@@ -580,9 +780,10 @@ ltq_etop_init(struct net_device *dev)
|
||||
@@ -579,9 +780,10 @@ ltq_etop_init(struct net_device *dev)
|
||||
dev->addr_assign_type = NET_ADDR_RANDOM;
|
||||
|
||||
ltq_etop_set_multicast_list(dev);
|
||||
@ -711,7 +710,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
return 0;
|
||||
|
||||
err_netdev:
|
||||
@@ -602,6 +803,9 @@ ltq_etop_tx_timeout(struct net_device *d
|
||||
@@ -601,6 +803,9 @@ ltq_etop_tx_timeout(struct net_device *d
|
||||
err = ltq_etop_hw_init(dev);
|
||||
if (err)
|
||||
goto err_hw;
|
||||
@ -721,7 +720,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
netif_trans_update(dev);
|
||||
netif_wake_queue(dev);
|
||||
return;
|
||||
@@ -625,14 +829,19 @@ static const struct net_device_ops ltq_e
|
||||
@@ -624,14 +829,19 @@ static const struct net_device_ops ltq_e
|
||||
.ndo_tx_timeout = ltq_etop_tx_timeout,
|
||||
};
|
||||
|
||||
@ -745,7 +744,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
@@ -658,31 +867,62 @@ ltq_etop_probe(struct platform_device *p
|
||||
@@ -657,31 +867,62 @@ ltq_etop_probe(struct platform_device *p
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
@ -823,7 +822,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
|
||||
|
||||
err = register_netdev(dev);
|
||||
if (err)
|
||||
@@ -711,31 +951,22 @@ ltq_etop_remove(struct platform_device *
|
||||
@@ -710,31 +951,22 @@ ltq_etop_remove(struct platform_device *
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -63,8 +63,8 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
|
||||
* address space as memory. Needed when the kernel wants to execute
|
||||
--- a/arch/arm/mm/mmu.c
|
||||
+++ b/arch/arm/mm/mmu.c
|
||||
@@ -323,6 +323,13 @@ static struct mem_type mem_types[] __ro_
|
||||
.prot_sect = PMD_TYPE_SECT,
|
||||
@@ -327,6 +327,13 @@ static struct mem_type mem_types[] __ro_
|
||||
#endif
|
||||
.domain = DOMAIN_KERNEL,
|
||||
},
|
||||
+ [MT_MEMORY_RW_NS] = {
|
||||
@ -77,7 +77,7 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
|
||||
[MT_ROM] = {
|
||||
.prot_sect = PMD_TYPE_SECT,
|
||||
.domain = DOMAIN_KERNEL,
|
||||
@@ -663,6 +670,7 @@ static void __init build_mem_type_table(
|
||||
@@ -667,6 +674,7 @@ static void __init build_mem_type_table(
|
||||
}
|
||||
kern_pgprot |= PTE_EXT_AF;
|
||||
vecs_pgprot |= PTE_EXT_AF;
|
||||
@ -85,7 +85,7 @@ Signed-off-by: Roy Pledge <roy.pledge@nxp.com>
|
||||
|
||||
/*
|
||||
* Set PXN for user mappings
|
||||
@@ -691,6 +699,7 @@ static void __init build_mem_type_table(
|
||||
@@ -695,6 +703,7 @@ static void __init build_mem_type_table(
|
||||
mem_types[MT_MEMORY_RWX].prot_pte |= kern_pgprot;
|
||||
mem_types[MT_MEMORY_RW].prot_sect |= ecc_mask | cp->pmd;
|
||||
mem_types[MT_MEMORY_RW].prot_pte |= kern_pgprot;
|
||||
|
@ -14,7 +14,7 @@ Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
|
||||
|
||||
--- a/include/linux/skbuff.h
|
||||
+++ b/include/linux/skbuff.h
|
||||
@@ -1025,6 +1025,7 @@ void skb_dump(const char *level, const s
|
||||
@@ -1027,6 +1027,7 @@ void skb_dump(const char *level, const s
|
||||
void skb_tx_error(struct sk_buff *skb);
|
||||
void consume_skb(struct sk_buff *skb);
|
||||
void __consume_stateless_skb(struct sk_buff *skb);
|
||||
|
@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
fsl-enetc-mdio-y := enetc_pci_mdio.o enetc_mdio.o
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1419,8 +1419,7 @@ int enetc_close(struct net_device *ndev)
|
||||
@@ -1424,8 +1424,7 @@ int enetc_close(struct net_device *ndev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct tc_mqprio_qopt *mqprio = type_data;
|
||||
@@ -1428,9 +1427,6 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1433,9 +1432,6 @@ int enetc_setup_tc(struct net_device *nd
|
||||
u8 num_tc;
|
||||
int i;
|
||||
|
||||
@ -77,7 +77,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
|
||||
num_tc = mqprio->num_tc;
|
||||
|
||||
@@ -1475,6 +1471,19 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1480,6 +1476,19 @@ int enetc_setup_tc(struct net_device *nd
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
}
|
||||
|
||||
static int enetc_dma_alloc_bdr(struct enetc_bdr *r, size_t bd_size)
|
||||
@@ -1306,8 +1311,12 @@ static void enetc_disable_interrupts(str
|
||||
@@ -1311,8 +1316,12 @@ static void enetc_disable_interrupts(str
|
||||
|
||||
static void adjust_link(struct net_device *ndev)
|
||||
{
|
||||
|
@ -47,7 +47,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
+ taprio(802.1Qbv) and Credit Based Shaper(802.1Qbu).
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1516,6 +1516,8 @@ int enetc_setup_tc(struct net_device *nd
|
||||
@@ -1521,6 +1521,8 @@ int enetc_setup_tc(struct net_device *nd
|
||||
return enetc_setup_tc_mqprio(ndev, type_data);
|
||||
case TC_SETUP_QDISC_TAPRIO:
|
||||
return enetc_setup_tc_taprio(ndev, type_data);
|
||||
|
@ -17,7 +17,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1361,6 +1361,7 @@ static int enetc_phy_connect(struct net_
|
||||
@@ -1366,6 +1366,7 @@ static int enetc_phy_connect(struct net_
|
||||
{
|
||||
struct enetc_ndev_priv *priv = netdev_priv(ndev);
|
||||
struct phy_device *phydev;
|
||||
@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||
|
||||
if (!priv->phy_node)
|
||||
return 0; /* phy-less mode */
|
||||
@@ -1374,6 +1375,10 @@ static int enetc_phy_connect(struct net_
|
||||
@@ -1379,6 +1380,10 @@ static int enetc_phy_connect(struct net_
|
||||
|
||||
phy_attached_info(phydev);
|
||||
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
|
||||
@@ -1653,7 +1653,10 @@ int enetc_ioctl(struct net_device *ndev,
|
||||
@@ -1658,7 +1658,10 @@ int enetc_ioctl(struct net_device *ndev,
|
||||
if (cmd == SIOCGHWTSTAMP)
|
||||
return enetc_hwtstamp_get(ndev, rq);
|
||||
#endif
|
||||
|
@ -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>
|
||||
@@ -2392,6 +2394,54 @@ static struct uart_driver lpuart_reg = {
|
||||
@@ -2394,6 +2396,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,
|
||||
@@ -2429,6 +2479,10 @@ static int lpuart_probe(struct platform_
|
||||
@@ -2431,6 +2481,10 @@ static int lpuart_probe(struct platform_
|
||||
|
||||
sport->port.rs485_config = lpuart_config_rs485;
|
||||
|
||||
|
@ -483,9 +483,9 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
||||
- del_timer_sync(&sport->lpuart_timer);
|
||||
+ lpuart_del_timer_sync(sport);
|
||||
lpuart_dma_rx_free(&sport->port);
|
||||
sport->lpuart_dma_rx_use = false;
|
||||
}
|
||||
|
||||
@@ -1649,11 +1794,22 @@ static void lpuart32_shutdown(struct uar
|
||||
@@ -1651,11 +1796,22 @@ static void lpuart32_shutdown(struct uar
|
||||
|
||||
spin_lock_irqsave(&port->lock, flags);
|
||||
|
||||
@ -510,7 +510,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
||||
|
||||
spin_unlock_irqrestore(&port->lock, flags);
|
||||
|
||||
@@ -1750,10 +1906,10 @@ lpuart_set_termios(struct uart_port *por
|
||||
@@ -1752,10 +1908,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
|
||||
@ -523,7 +523,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
||||
lpuart_dma_rx_free(&sport->port);
|
||||
}
|
||||
|
||||
@@ -1965,10 +2121,10 @@ lpuart32_set_termios(struct uart_port *p
|
||||
@@ -1967,10 +2123,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
|
||||
@ -536,7 +536,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
||||
lpuart_dma_rx_free(&sport->port);
|
||||
}
|
||||
|
||||
@@ -2481,6 +2637,10 @@ static int lpuart_probe(struct platform_
|
||||
@@ -2483,6 +2639,10 @@ static int lpuart_probe(struct platform_
|
||||
sport->port.dev = &pdev->dev;
|
||||
sport->port.type = PORT_LPUART;
|
||||
sport->devtype = sdata->devtype;
|
||||
@ -547,7 +547,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
||||
ret = platform_get_irq(pdev, 0);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
@@ -2631,7 +2791,7 @@ static int lpuart_suspend(struct device
|
||||
@@ -2633,7 +2793,7 @@ static int lpuart_suspend(struct device
|
||||
* Rx DMA path before suspend and start Rx DMA path on resume.
|
||||
*/
|
||||
if (irq_wake) {
|
||||
|
@ -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;
|
||||
@@ -2724,6 +2766,10 @@ static int lpuart_probe(struct platform_
|
||||
@@ -2726,6 +2768,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)
|
||||
@@ -2747,6 +2793,8 @@ static int lpuart_probe(struct platform_
|
||||
@@ -2749,6 +2795,8 @@ static int lpuart_probe(struct platform_
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
@@ -2281,6 +2296,7 @@ static const struct uart_ops lpuart_pops
|
||||
@@ -2283,6 +2298,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,
|
||||
@@ -2305,6 +2321,7 @@ static const struct uart_ops lpuart32_po
|
||||
@@ -2307,6 +2323,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,
|
||||
@@ -2762,6 +2779,11 @@ static int lpuart_probe(struct platform_
|
||||
@@ -2764,6 +2781,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;
|
||||
@@ -2796,6 +2818,9 @@ static int lpuart_probe(struct platform_
|
||||
@@ -2798,6 +2820,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);
|
||||
return ret;
|
||||
@@ -2815,15 +2840,41 @@ static int lpuart_remove(struct platform
|
||||
@@ -2817,15 +2842,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 */
|
||||
@@ -2837,10 +2888,14 @@ static int lpuart_suspend(struct device
|
||||
@@ -2839,10 +2890,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) {
|
||||
/*
|
||||
@@ -2871,9 +2926,6 @@ static int lpuart_suspend(struct device
|
||||
@@ -2873,9 +2928,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;
|
||||
}
|
||||
|
||||
@@ -2881,9 +2933,11 @@ static int lpuart_resume(struct device *
|
||||
@@ -2883,9 +2935,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);
|
||||
@@ -2904,13 +2958,23 @@ static int lpuart_resume(struct device *
|
||||
@@ -2906,13 +2960,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,
|
||||
@@ -2918,7 +2982,7 @@ static struct platform_driver lpuart_dri
|
||||
@@ -2920,7 +2984,7 @@ static struct platform_driver lpuart_dri
|
||||
.driver = {
|
||||
.name = "fsl-lpuart",
|
||||
.of_match_table = lpuart_dt_ids,
|
||||
|
@ -117,7 +117,7 @@ Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2865,108 +2879,205 @@ static int lpuart_runtime_resume(struct
|
||||
@@ -2867,108 +2881,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
|
||||
@@ -2132,11 +2132,12 @@ lpuart32_set_termios(struct uart_port *p
|
||||
@@ -2134,11 +2134,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.
|
||||
@@ -2173,7 +2174,9 @@ lpuart32_set_termios(struct uart_port *p
|
||||
@@ -2175,7 +2176,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)
|
||||
@@ -2244,6 +2247,7 @@ lpuart32_set_termios(struct uart_port *p
|
||||
@@ -2246,6 +2249,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
|
||||
@@ -2615,7 +2615,9 @@ static int __init lpuart32_early_console
|
||||
@@ -2617,7 +2617,9 @@ static int __init lpuart32_early_console
|
||||
if (!device->port.membase)
|
||||
return -ENODEV;
|
||||
|
||||
|
@ -54,7 +54,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* All 3.1 IP version constants are greater than the 3.0 IP
|
||||
--- a/drivers/usb/dwc3/gadget.c
|
||||
+++ b/drivers/usb/dwc3/gadget.c
|
||||
@@ -3706,6 +3706,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
@@ -3710,6 +3710,10 @@ int dwc3_gadget_init(struct dwc3 *dwc)
|
||||
dwc->gadget.sg_supported = true;
|
||||
dwc->gadget.name = "dwc3-gadget";
|
||||
dwc->gadget.lpm_capable = true;
|
||||
|
@ -174,7 +174,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
* bursts that are required to move all packets in this TD. Only SuperSpeed
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -5414,6 +5414,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
@@ -5415,6 +5415,7 @@ static const struct hc_driver xhci_hc_dr
|
||||
.disable_usb3_lpm_timeout = xhci_disable_usb3_lpm_timeout,
|
||||
.find_raw_port_number = xhci_find_raw_port_number,
|
||||
.clear_tt_buffer_complete = xhci_clear_tt_buffer_complete,
|
||||
|
@ -24,7 +24,7 @@ Signed-off-by: Peter Chen <peter.chen@nxp.com>
|
||||
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -5435,6 +5435,8 @@ void xhci_init_driver(struct hc_driver *
|
||||
@@ -5436,6 +5436,8 @@ void xhci_init_driver(struct hc_driver *
|
||||
drv->check_bandwidth = over->check_bandwidth;
|
||||
if (over->reset_bandwidth)
|
||||
drv->reset_bandwidth = over->reset_bandwidth;
|
||||
|
@ -19,7 +19,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
|
||||
|
||||
--- a/arch/powerpc/boot/Makefile
|
||||
+++ b/arch/powerpc/boot/Makefile
|
||||
@@ -161,6 +161,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
|
||||
@@ -162,6 +162,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
|
||||
src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
|
||||
src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
|
||||
src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
|
||||
|
||||
src-wlib := $(sort $(src-wlib-y))
|
||||
src-plat := $(sort $(src-plat-y))
|
||||
@@ -342,7 +343,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm
|
||||
@@ -343,7 +344,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm
|
||||
image-$(CONFIG_TQM8560) += cuImage.tqm8560
|
||||
image-$(CONFIG_SBC8548) += cuImage.sbc8548
|
||||
image-$(CONFIG_KSI8560) += cuImage.ksi8560
|
||||
|
@ -16,7 +16,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
|
||||
--- a/arch/powerpc/boot/Makefile
|
||||
+++ b/arch/powerpc/boot/Makefile
|
||||
@@ -268,7 +268,6 @@ image-$(CONFIG_PPC_CHRP) += zImage.chrp
|
||||
@@ -269,7 +269,6 @@ image-$(CONFIG_PPC_CHRP) += zImage.chrp
|
||||
image-$(CONFIG_PPC_EFIKA) += zImage.chrp
|
||||
image-$(CONFIG_PPC_PMAC) += zImage.pmac
|
||||
image-$(CONFIG_PPC_HOLLY) += dtbImage.holly
|
||||
@ -24,7 +24,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
image-$(CONFIG_EPAPR_BOOT) += zImage.epapr
|
||||
|
||||
#
|
||||
@@ -397,15 +396,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits
|
||||
@@ -398,15 +397,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits
|
||||
$(obj)/vmlinux.strip: vmlinux
|
||||
$(STRIP) -s -R .comment $< -o $@
|
||||
|
||||
|
@ -179,7 +179,7 @@
|
||||
static inline struct clk_oxnas_gate *to_clk_oxnas_gate(struct clk_hw *hw)
|
||||
{
|
||||
return container_of(hw, struct clk_oxnas_gate, hw);
|
||||
@@ -249,3 +401,42 @@ static struct platform_driver oxnas_stdc
|
||||
@@ -251,3 +403,42 @@ static struct platform_driver oxnas_stdc
|
||||
},
|
||||
};
|
||||
builtin_platform_driver(oxnas_stdclk_driver);
|
||||
|
@ -81,6 +81,7 @@ CONFIG_ARM64_4K_PAGES=y
|
||||
CONFIG_ARM64_CONT_SHIFT=4
|
||||
CONFIG_ARM64_ERRATUM_1165522=y
|
||||
CONFIG_ARM64_ERRATUM_1286807=y
|
||||
CONFIG_ARM64_ERRATUM_1742098=y
|
||||
CONFIG_ARM64_PAGE_SHIFT=12
|
||||
CONFIG_ARM64_PA_BITS=48
|
||||
CONFIG_ARM64_PA_BITS_48=y
|
||||
|
@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
#include <linux/crc32.h>
|
||||
#include <linux/if_vlan.h>
|
||||
#include <linux/uaccess.h>
|
||||
@@ -4336,6 +4337,22 @@ static void rtl_tally_reset(struct r8152
|
||||
@@ -4338,6 +4339,22 @@ static void rtl_tally_reset(struct r8152
|
||||
ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
|
||||
}
|
||||
|
||||
@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
static void r8152b_init(struct r8152 *tp)
|
||||
{
|
||||
u32 ocp_data;
|
||||
@@ -4377,6 +4394,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
@@ -4379,6 +4396,8 @@ static void r8152b_init(struct r8152 *tp
|
||||
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
|
||||
ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
|
||||
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
|
||||
@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153_init(struct r8152 *tp)
|
||||
@@ -4511,6 +4530,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
@@ -4513,6 +4532,8 @@ static void r8153_init(struct r8152 *tp)
|
||||
tp->coalesce = COALESCE_SLOW;
|
||||
break;
|
||||
}
|
||||
@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
|
||||
}
|
||||
|
||||
static void r8153b_init(struct r8152 *tp)
|
||||
@@ -4587,6 +4608,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
@@ -4589,6 +4610,8 @@ static void r8153b_init(struct r8152 *tp
|
||||
rtl_tally_reset(tp);
|
||||
|
||||
tp->coalesce = 15000; /* 15 us */
|
||||
|
Loading…
x
Reference in New Issue
Block a user