From ee3067c588139ef60a72f5fecac979580d3651e3 Mon Sep 17 00:00:00 2001 From: Stijn Segers Date: Sat, 21 Jan 2017 18:30:10 +0100 Subject: [PATCH] Kernel: bump to 4.4.44 Bump kernel to 4.4.44. Compile-tested on ar71xx, ramips/mt7621 and x86/64. .44 has been run-tested on the 17.01 branch here on ar71xx and mt7621. Signed-off-by: Stijn Segers (cherry picked from commit 20996edd68b8a0b139bdb36b3aafa29c037d4bda) Signed-off-by: Stijn Tintel Conflicts: target/linux/ar71xx/patches-4.4/920-usb-chipidea-AR933x-platform-support.patch target/linux/ar71xx/patches-4.4/930-chipidea-pullup.patch --- include/kernel-version.mk | 4 ++-- .../910-unaligned_access_hacks.patch | 4 ++-- .../0111-mm-Remove-the-PFN-busy-warning.patch | 2 +- ...ET-skip-GRO-for-foreign-MAC-addresses.patch | 10 +++++----- ...l-imx-repair-and-complete-handshaking.patch | 16 ++++++---------- .../111-serial-imx-fix-polarity-of-RI.patch | 7 +------ ...irq-handler-return-IRQ_NONE-if-no-eve.patch | 9 ++------- ...make-sure-unhandled-irqs-are-disabled.patch | 7 +------ ...atek-support-MTK-xHCI-host-controller.patch | 8 ++++---- ...atek-support-MTK-xHCI-host-controller.patch | 8 ++++---- ..._tco-Add-AMD-Mullins-platform-support.patch | 6 +----- ..._tco-Add-AMD-Carrizo-platform-support.patch | 6 +----- ...ce-check-for-SB800-and-later-chipsets.patch | 18 +++++++----------- ..._tco-properly-check-for-new-register-.patch | 12 ++++-------- 14 files changed, 41 insertions(+), 76 deletions(-) diff --git a/include/kernel-version.mk b/include/kernel-version.mk index efd58e1462..199c2adb58 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,10 +3,10 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .43 -LINUX_VERSION-4.4 = .42 +LINUX_VERSION-4.4 = .44 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c -LINUX_KERNEL_HASH-4.4.42 = 324747568e92f203e3ee5ec8b291a868f58b870f1ad214fa64aa3507ed42e878 +LINUX_KERNEL_HASH-4.4.44 = fabdcf2703f22a5b8aa3a3407909f18fdeea610c3d0f418fdc29123ed04de748 ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch index 21cad91161..2c014429f2 100644 --- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch @@ -491,7 +491,7 @@ memcpy(p, foc->val, foc->len); --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c -@@ -500,7 +500,7 @@ static struct sk_buff *add_grec(struct s +@@ -505,7 +505,7 @@ static struct sk_buff *add_grec(struct s if (!skb) return NULL; psrc = (__be32 *)skb_put(skb, sizeof(__be32)); @@ -610,7 +610,7 @@ goto next_ht; --- a/net/ipv6/ip6_offload.c +++ b/net/ipv6/ip6_offload.c -@@ -221,7 +221,7 @@ static struct sk_buff **ipv6_gro_receive +@@ -222,7 +222,7 @@ static struct sk_buff **ipv6_gro_receive continue; iph2 = (struct ipv6hdr *)(p->data + off); diff --git a/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch b/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch index f643ec883c..a0602807ba 100644 --- a/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch +++ b/target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch @@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -6782,8 +6782,6 @@ int alloc_contig_range(unsigned long sta +@@ -6785,8 +6785,6 @@ int alloc_contig_range(unsigned long sta /* Make sure the range is really isolated. */ if (test_pages_isolated(outer_start, end, false)) { diff --git a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 698d394b8c..eff8e829a6 100644 --- a/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4222,6 +4222,9 @@ static enum gro_result dev_gro_receive(s +@@ -4224,6 +4224,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int grow; @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5381,6 +5384,48 @@ static void __netdev_adjacent_dev_unlink +@@ -5383,6 +5386,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *private) -@@ -5452,6 +5497,7 @@ static int __netdev_upper_dev_link(struc +@@ -5454,6 +5499,7 @@ static int __netdev_upper_dev_link(struc goto rollback_lower_mesh; } @@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); return 0; -@@ -5578,6 +5624,7 @@ void netdev_upper_dev_unlink(struct net_ +@@ -5580,6 +5626,7 @@ void netdev_upper_dev_unlink(struct net_ list_for_each_entry(i, &upper_dev->all_adj_list.upper, list) __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr); @@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6118,6 +6165,7 @@ int dev_set_mac_address(struct net_devic +@@ -6120,6 +6167,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch b/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch index 0a117f668f..82715b0cda 100644 --- a/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch +++ b/target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch @@ -19,8 +19,6 @@ Signed-off-by: Petr Å tetiar drivers/tty/serial/imx.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) -diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c -index 76818f5..086675e 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -148,8 +148,11 @@ @@ -35,7 +33,7 @@ index 76818f5..086675e 100644 #define USR2_RTSF (1<<4) /* RTS edge interrupt flag */ #define USR2_TXDC (1<<3) /* Transmitter complete */ #define USR2_BRCD (1<<2) /* Break condition */ -@@ -804,16 +807,19 @@ static unsigned int imx_tx_empty(struct uart_port *port) +@@ -804,16 +807,19 @@ static unsigned int imx_tx_empty(struct static unsigned int imx_get_mctrl(struct uart_port *port) { struct imx_port *sport = (struct imx_port *)port; @@ -49,19 +47,20 @@ index 76818f5..086675e 100644 - if (readl(sport->port.membase + UCR2) & UCR2_CTS) - tmp |= TIOCM_RTS; +- +- if (readl(sport->port.membase + uts_reg(sport)) & UTS_LOOP) +- tmp |= TIOCM_LOOP; + /* in DCE mode DCDIN is always 0 */ + if (!(usr1 & USR2_DCDIN)) + tmp |= TIOCM_CAR; - -- if (readl(sport->port.membase + uts_reg(sport)) & UTS_LOOP) -- tmp |= TIOCM_LOOP; ++ + /* in DCE mode RIIN is always 0 */ + if (readl(sport->port.membase + USR2) & USR2_RIIN) + tmp |= TIOCM_RI; return tmp; } -@@ -831,6 +837,11 @@ static void imx_set_mctrl(struct uart_port *port, unsigned int mctrl) +@@ -831,6 +837,11 @@ static void imx_set_mctrl(struct uart_po writel(temp, sport->port.membase + UCR2); } @@ -73,6 +72,3 @@ index 76818f5..086675e 100644 temp = readl(sport->port.membase + uts_reg(sport)) & ~UTS_LOOP; if (mctrl & TIOCM_LOOP) temp |= UTS_LOOP; --- -1.9.1 - diff --git a/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch b/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch index a06557542a..0288298163 100644 --- a/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch +++ b/target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch @@ -16,11 +16,9 @@ Signed-off-by: Petr Å tetiar drivers/tty/serial/imx.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c -index 231e7d5..bfc4555 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c -@@ -797,9 +797,9 @@ static unsigned int imx_get_hwmctrl(struct imx_port *sport) +@@ -817,9 +817,9 @@ static unsigned int imx_get_mctrl(struct if (!(usr1 & USR2_DCDIN)) tmp |= TIOCM_CAR; @@ -33,6 +31,3 @@ index 231e7d5..bfc4555 100644 return tmp; } --- -1.9.1 - diff --git a/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch b/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch index 0b803b7bda..a4f2951590 100644 --- a/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch +++ b/target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch @@ -16,11 +16,9 @@ Signed-off-by: Petr Å tetiar drivers/tty/serial/imx.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) -diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c -index bfc4555..5ced61e 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c -@@ -734,6 +734,7 @@ static irqreturn_t imx_int(int irq, void *dev_id) +@@ -753,6 +753,7 @@ static irqreturn_t imx_int(int irq, void struct imx_port *sport = dev_id; unsigned int sts; unsigned int sts2; @@ -28,7 +26,7 @@ index bfc4555..5ced61e 100644 sts = readl(sport->port.membase + USR1); sts2 = readl(sport->port.membase + USR2); -@@ -743,26 +744,34 @@ static irqreturn_t imx_int(int irq, void *dev_id) +@@ -762,26 +763,34 @@ static irqreturn_t imx_int(int irq, void imx_dma_rxint(sport); else imx_rxint(irq, dev_id); @@ -67,6 +65,3 @@ index bfc4555..5ced61e 100644 } /* --- -1.9.1 - diff --git a/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch b/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch index 8978d33e6e..1c7de3fa6e 100644 --- a/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch +++ b/target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch @@ -18,11 +18,9 @@ Signed-off-by: Petr Å tetiar drivers/tty/serial/imx.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) -diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c -index 5ced61e..fcd48fd 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c -@@ -1221,11 +1221,32 @@ static int imx_startup(struct uart_port *port) +@@ -1184,11 +1184,32 @@ static int imx_startup(struct uart_port temp |= (UCR2_RXEN | UCR2_TXEN); if (!sport->have_rtscts) temp |= UCR2_IRTS; @@ -56,6 +54,3 @@ index 5ced61e..fcd48fd 100644 writel(temp, sport->port.membase + UCR3); } --- -1.9.1 - diff --git a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch index 8704a79c0b..f081439f6e 100644 --- a/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch +++ b/target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch @@ -1428,7 +1428,7 @@ Reviewed-by: Daniel Thompson /* * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA -@@ -3121,17 +3122,22 @@ static u32 xhci_td_remainder(struct xhci +@@ -3110,17 +3111,22 @@ static u32 xhci_td_remainder(struct xhci { u32 maxp, total_packet_count; @@ -1455,7 +1455,7 @@ Reviewed-by: Daniel Thompson /* Queueing functions don't count the current TRB into transferred */ return (total_packet_count - ((transferred + trb_buff_len) / maxp)); } -@@ -3519,7 +3525,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -3508,7 +3514,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * field |= 0x1; /* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */ @@ -1487,7 +1487,7 @@ Reviewed-by: Daniel Thompson writel(temp, &xhci->ir_set->irq_control); /* Set the HCD state before we enable the irqs */ -@@ -1704,6 +1709,9 @@ int xhci_drop_endpoint(struct usb_hcd *h +@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep); @@ -1497,7 +1497,7 @@ Reviewed-by: Daniel Thompson xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n", (unsigned int) ep->desc.bEndpointAddress, udev->slot_id, -@@ -1799,6 +1807,15 @@ int xhci_add_endpoint(struct usb_hcd *hc +@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc return -ENOMEM; } diff --git a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch index 76b2d15f1c..6dfb53ea3e 100644 --- a/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch +++ b/target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch @@ -1420,7 +1420,7 @@ Signed-off-by: Greg Kroah-Hartman /* * Returns zero if the TRB isn't in this segment, otherwise it returns the DMA -@@ -3121,17 +3122,22 @@ static u32 xhci_td_remainder(struct xhci +@@ -3110,17 +3111,22 @@ static u32 xhci_td_remainder(struct xhci { u32 maxp, total_packet_count; @@ -1447,7 +1447,7 @@ Signed-off-by: Greg Kroah-Hartman /* Queueing functions don't count the current TRB into transferred */ return (total_packet_count - ((transferred + trb_buff_len) / maxp)); } -@@ -3519,7 +3525,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -3508,7 +3514,7 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * field |= 0x1; /* xHCI 1.0/1.1 6.4.1.2.1: Transfer Type field */ @@ -1479,7 +1479,7 @@ Signed-off-by: Greg Kroah-Hartman writel(temp, &xhci->ir_set->irq_control); /* Set the HCD state before we enable the irqs */ -@@ -1704,6 +1709,9 @@ int xhci_drop_endpoint(struct usb_hcd *h +@@ -1691,6 +1696,9 @@ int xhci_drop_endpoint(struct usb_hcd *h xhci_endpoint_zero(xhci, xhci->devs[udev->slot_id], ep); @@ -1489,7 +1489,7 @@ Signed-off-by: Greg Kroah-Hartman xhci_dbg(xhci, "drop ep 0x%x, slot id %d, new drop flags = %#x, new add flags = %#x\n", (unsigned int) ep->desc.bEndpointAddress, udev->slot_id, -@@ -1799,6 +1807,15 @@ int xhci_add_endpoint(struct usb_hcd *hc +@@ -1786,6 +1794,15 @@ int xhci_add_endpoint(struct usb_hcd *hc return -ENOMEM; } diff --git a/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch b/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch index ee88859bc6..70169abbe4 100644 --- a/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch +++ b/target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch @@ -13,11 +13,9 @@ Signed-off-by: Wim Van Sebroeck drivers/watchdog/sp5100_tco.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c -index eb8044e..ef039f8 100644 --- a/drivers/watchdog/sp5100_tco.c +++ b/drivers/watchdog/sp5100_tco.c -@@ -306,6 +306,8 @@ static struct miscdevice sp5100_tco_miscdev = { +@@ -306,6 +306,8 @@ static struct miscdevice sp5100_tco_misc static const struct pci_device_id sp5100_tco_pci_tbl[] = { { PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_SBX00_SMBUS, PCI_ANY_ID, PCI_ANY_ID, }, @@ -26,5 +24,3 @@ index eb8044e..ef039f8 100644 { 0, }, /* End of list */ }; MODULE_DEVICE_TABLE(pci, sp5100_tco_pci_tbl); --- -2.7.4 diff --git a/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch b/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch index 664d4bb615..33862a25d0 100644 --- a/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch +++ b/target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch @@ -14,11 +14,9 @@ Signed-off-by: Wim Van Sebroeck drivers/watchdog/sp5100_tco.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c -index ef039f8..0ccadb4 100644 --- a/drivers/watchdog/sp5100_tco.c +++ b/drivers/watchdog/sp5100_tco.c -@@ -308,6 +308,8 @@ static const struct pci_device_id sp5100_tco_pci_tbl[] = { +@@ -308,6 +308,8 @@ static const struct pci_device_id sp5100 PCI_ANY_ID, }, { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SMBUS, PCI_ANY_ID, PCI_ANY_ID, }, @@ -27,5 +25,3 @@ index ef039f8..0ccadb4 100644 { 0, }, /* End of list */ }; MODULE_DEVICE_TABLE(pci, sp5100_tco_pci_tbl); --- -2.7.4 diff --git a/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch b/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch index e9f451394f..8f16fa9906 100644 --- a/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch +++ b/target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch @@ -15,19 +15,17 @@ Signed-off-by: Wim Van Sebroeck drivers/watchdog/sp5100_tco.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) -diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c -index 0ccadb4..6467b91 100644 --- a/drivers/watchdog/sp5100_tco.c +++ b/drivers/watchdog/sp5100_tco.c -@@ -335,21 +335,24 @@ static unsigned char sp5100_tco_setupdevice(void) +@@ -335,21 +335,24 @@ static unsigned char sp5100_tco_setupdev if (!sp5100_tco_pci) return 0; - + - pr_info("PCI Revision ID: 0x%x\n", sp5100_tco_pci->revision); + pr_info("PCI Vendor ID: 0x%x, Device ID: 0x%x, Revision ID: 0x%x\n", + sp5100_tco_pci->vendor, sp5100_tco_pci->device, + sp5100_tco_pci->revision); - + /* * Determine type of southbridge chipset. */ @@ -49,9 +47,9 @@ index 0ccadb4..6467b91 100644 + data_reg = SB800_IO_PM_DATA_REG; + base_addr = SB800_PM_WATCHDOG_BASE; } - + /* Request the IO ports used by this driver */ -@@ -385,7 +388,12 @@ static unsigned char sp5100_tco_setupdevice(void) +@@ -385,7 +388,12 @@ static unsigned char sp5100_tco_setupdev * Secondly, Find the watchdog timer MMIO address * from SBResource_MMIO register. */ @@ -65,7 +63,7 @@ index 0ccadb4..6467b91 100644 /* Read SBResource_MMIO from AcpiMmioEn(PM_Reg: 24h) */ outb(SB800_PM_ACPI_MMIO_EN+3, SB800_IO_PM_INDEX_REG); val = inb(SB800_IO_PM_DATA_REG); -@@ -395,10 +403,6 @@ static unsigned char sp5100_tco_setupdevice(void) +@@ -395,10 +403,6 @@ static unsigned char sp5100_tco_setupdev val = val << 8 | inb(SB800_IO_PM_DATA_REG); outb(SB800_PM_ACPI_MMIO_EN+0, SB800_IO_PM_INDEX_REG); val = val << 8 | inb(SB800_IO_PM_DATA_REG); @@ -74,7 +72,5 @@ index 0ccadb4..6467b91 100644 - pci_read_config_dword(sp5100_tco_pci, - SP5100_SB_RESOURCE_MMIO_BASE, &val); } - + /* The SBResource_MMIO is enabled and mapped memory space? */ --- -2.7.4 diff --git a/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch b/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch index cb7fe98cba..103aa4853d 100644 --- a/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch +++ b/target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch @@ -25,11 +25,9 @@ Signed-off-by: Wim Van Sebroeck drivers/watchdog/sp5100_tco.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) -diff --git a/drivers/watchdog/sp5100_tco.c b/drivers/watchdog/sp5100_tco.c -index 6467b91..028618c 100644 --- a/drivers/watchdog/sp5100_tco.c +++ b/drivers/watchdog/sp5100_tco.c -@@ -73,6 +73,13 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started." +@@ -73,6 +73,13 @@ MODULE_PARM_DESC(nowayout, "Watchdog can /* * Some TCO specific functions */ @@ -46,13 +44,13 @@ index 6467b91..028618c 100644 @@ -129,7 +136,7 @@ static void tco_timer_enable(void) { int val; - + - if (sp5100_tco_pci->revision >= 0x40) { + if (!tco_has_sp5100_reg_layout(sp5100_tco_pci)) { /* For SB800 or later */ /* Set the Watchdog timer resolution to 1 sec */ outb(SB800_PM_WATCHDOG_CONFIG, SB800_IO_PM_INDEX_REG); -@@ -342,8 +349,7 @@ static unsigned char sp5100_tco_setupdevice(void) +@@ -342,8 +349,7 @@ static unsigned char sp5100_tco_setupdev /* * Determine type of southbridge chipset. */ @@ -62,7 +60,7 @@ index 6467b91..028618c 100644 dev_name = SP5100_DEVNAME; index_reg = SP5100_IO_PM_INDEX_REG; data_reg = SP5100_IO_PM_DATA_REG; -@@ -388,8 +394,7 @@ static unsigned char sp5100_tco_setupdevice(void) +@@ -388,8 +394,7 @@ static unsigned char sp5100_tco_setupdev * Secondly, Find the watchdog timer MMIO address * from SBResource_MMIO register. */ @@ -72,5 +70,3 @@ index 6467b91..028618c 100644 /* Read SBResource_MMIO from PCI config(PCI_Reg: 9Ch) */ pci_read_config_dword(sp5100_tco_pci, SP5100_SB_RESOURCE_MMIO_BASE, &val); --- -2.7.4 -- 2.30.2