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 <francesco.borromini@inventati.org>
master
Stijn Segers 8 years ago committed by Felix Fietkau
parent 71f4d8a095
commit 20996edd68
  1. 4
      include/kernel-version.mk
  2. 4
      target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch
  3. 20
      target/linux/ar71xx/patches-4.4/920-usb-chipidea-AR933x-platform-support.patch
  4. 38
      target/linux/ar71xx/patches-4.4/930-chipidea-pullup.patch
  5. 2
      target/linux/brcm2708/patches-4.4/0111-mm-Remove-the-PFN-busy-warning.patch
  6. 10
      target/linux/generic/patches-4.4/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
  7. 16
      target/linux/imx6/patches-4.4/110-serial-imx-repair-and-complete-handshaking.patch
  8. 7
      target/linux/imx6/patches-4.4/111-serial-imx-fix-polarity-of-RI.patch
  9. 9
      target/linux/imx6/patches-4.4/112-serial-imx-let-irq-handler-return-IRQ_NONE-if-no-eve.patch
  10. 7
      target/linux/imx6/patches-4.4/113-serial-imx-make-sure-unhandled-irqs-are-disabled.patch
  11. 8
      target/linux/mediatek/patches-4.4/0019-xhci-mediatek-support-MTK-xHCI-host-controller.patch
  12. 8
      target/linux/ramips/patches-4.4/0033-xhci-mediatek-support-MTK-xHCI-host-controller.patch
  13. 6
      target/linux/x86/patches-4.4/097-0001-sp5100_tco-Add-AMD-Mullins-platform-support.patch
  14. 6
      target/linux/x86/patches-4.4/097-0002-sp5100_tco-Add-AMD-Carrizo-platform-support.patch
  15. 18
      target/linux/x86/patches-4.4/097-0003-sp5100_tco-fix-the-device-check-for-SB800-and-later-chipsets.patch
  16. 12
      target/linux/x86/patches-4.4/097-0004-watchdog-sp5100_tco-properly-check-for-new-register-.patch

@ -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)))

@ -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);

@ -1,8 +1,6 @@
Index: linux-4.4.4/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
===================================================================
--- linux-4.4.4.orig/arch/mips/include/asm/mach-ath79/ar71xx_regs.h 2016-03-31 21:43:10.595132564 +0300
+++ linux-4.4.4/arch/mips/include/asm/mach-ath79/ar71xx_regs.h 2016-03-31 21:56:21.463152017 +0300
@@ -641,6 +641,7 @@
--- a/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
+++ b/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
@@ -644,6 +644,7 @@
#define AR933X_BOOTSTRAP_MDIO_GPIO_EN BIT(18)
#define AR933X_BOOTSTRAP_EEPBUSY BIT(4)
@ -10,7 +8,7 @@ Index: linux-4.4.4/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
#define AR933X_BOOTSTRAP_REF_CLK_40 BIT(0)
#define AR934X_BOOTSTRAP_SW_OPTION8 BIT(23)
@@ -670,6 +671,8 @@
@@ -673,6 +674,8 @@
#define QCA956X_BOOTSTRAP_REF_CLK_40 BIT(2)
@ -19,10 +17,8 @@ Index: linux-4.4.4/arch/mips/include/asm/mach-ath79/ar71xx_regs.h
#define AR934X_PCIE_WMAC_INT_WMAC_MISC BIT(0)
#define AR934X_PCIE_WMAC_INT_WMAC_TX BIT(1)
#define AR934X_PCIE_WMAC_INT_WMAC_RXLP BIT(2)
Index: linux-4.4.4/arch/mips/ath79/dev-usb.c
===================================================================
--- linux-4.4.4.orig/arch/mips/ath79/dev-usb.c 2016-03-31 21:43:10.407132560 +0300
+++ linux-4.4.4/arch/mips/ath79/dev-usb.c 2016-03-31 21:43:10.707132567 +0300
--- a/arch/mips/ath79/dev-usb.c
+++ b/arch/mips/ath79/dev-usb.c
@@ -19,6 +19,9 @@
#include <linux/platform_device.h>
#include <linux/usb/ehci_pdriver.h>
@ -33,7 +29,7 @@ Index: linux-4.4.4/arch/mips/ath79/dev-usb.c
#include <asm/mach-ath79/ath79.h>
#include <asm/mach-ath79/ar71xx_regs.h>
@@ -170,6 +173,54 @@
@@ -170,6 +173,54 @@ static void __init ar913x_usb_setup(void
&ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2));
}
@ -88,7 +84,7 @@ Index: linux-4.4.4/arch/mips/ath79/dev-usb.c
static void __init ar933x_usb_setup(void)
{
ath79_device_reset_set(AR933X_RESET_USBSUS_OVERRIDE);
@@ -185,6 +236,8 @@
@@ -185,6 +236,8 @@ static void __init ar933x_usb_setup(void
AR933X_EHCI_BASE, AR933X_EHCI_SIZE,
ATH79_CPU_IRQ(3),
&ath79_ehci_pdata_v2, sizeof(ath79_ehci_pdata_v2));

@ -1,8 +1,6 @@
Index: linux-4.4.4/drivers/usb/chipidea/ci.h
===================================================================
--- linux-4.4.4.orig/drivers/usb/chipidea/ci.h 2016-03-31 21:39:23.571126980 +0300
+++ linux-4.4.4/drivers/usb/chipidea/ci.h 2016-03-31 21:39:23.567126980 +0300
@@ -199,6 +199,7 @@
--- a/drivers/usb/chipidea/ci.h
+++ b/drivers/usb/chipidea/ci.h
@@ -199,6 +199,7 @@ struct hw_bank {
* @in_lpm: if the core in low power mode
* @wakeup_int: if wakeup interrupt occur
* @rev: The revision number for controller
@ -10,7 +8,7 @@ Index: linux-4.4.4/drivers/usb/chipidea/ci.h
*/
struct ci_hdrc {
struct device *dev;
@@ -248,6 +249,7 @@
@@ -248,6 +249,7 @@ struct ci_hdrc {
bool in_lpm;
bool wakeup_int;
enum ci_revision rev;
@ -18,11 +16,9 @@ Index: linux-4.4.4/drivers/usb/chipidea/ci.h
};
static inline struct ci_role_driver *ci_role(struct ci_hdrc *ci)
Index: linux-4.4.4/drivers/usb/chipidea/core.c
===================================================================
--- linux-4.4.4.orig/drivers/usb/chipidea/core.c 2016-03-31 21:39:23.571126980 +0300
+++ linux-4.4.4/drivers/usb/chipidea/core.c 2016-03-31 21:41:33.159130168 +0300
@@ -883,7 +883,7 @@
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -883,7 +883,7 @@ static inline void ci_role_destroy(struc
{
ci_hdrc_gadget_destroy(ci);
ci_hdrc_host_destroy(ci);
@ -31,7 +27,7 @@ Index: linux-4.4.4/drivers/usb/chipidea/core.c
ci_hdrc_otg_destroy(ci);
}
@@ -933,6 +933,9 @@
@@ -934,6 +934,9 @@ static int ci_hdrc_probe(struct platform
ci->supports_runtime_pm = !!(ci->platdata->flags &
CI_HDRC_SUPPORTS_RUNTIME_PM);
@ -41,7 +37,7 @@ Index: linux-4.4.4/drivers/usb/chipidea/core.c
ret = hw_device_init(ci, base);
if (ret < 0) {
dev_err(dev, "can't initialize hardware\n");
@@ -998,7 +1001,7 @@
@@ -999,7 +1002,7 @@ static int ci_hdrc_probe(struct platform
goto deinit_phy;
}
@ -50,11 +46,9 @@ Index: linux-4.4.4/drivers/usb/chipidea/core.c
ret = ci_hdrc_otg_init(ci);
if (ret) {
dev_err(dev, "init otg fails, ret = %d\n", ret);
Index: linux-4.4.4/drivers/usb/chipidea/otg.c
===================================================================
--- linux-4.4.4.orig/drivers/usb/chipidea/otg.c 2016-03-31 21:39:23.571126980 +0300
+++ linux-4.4.4/drivers/usb/chipidea/otg.c 2016-03-31 21:39:23.567126980 +0300
@@ -95,8 +95,10 @@
--- a/drivers/usb/chipidea/otg.c
+++ b/drivers/usb/chipidea/otg.c
@@ -95,8 +95,10 @@ enum ci_role ci_otg_role(struct ci_hdrc
void ci_handle_vbus_change(struct ci_hdrc *ci)
{
@ -66,11 +60,9 @@ Index: linux-4.4.4/drivers/usb/chipidea/otg.c
if (hw_read_otgsc(ci, OTGSC_BSV))
usb_gadget_vbus_connect(&ci->gadget);
Index: linux-4.4.4/include/linux/usb/chipidea.h
===================================================================
--- linux-4.4.4.orig/include/linux/usb/chipidea.h 2016-03-31 21:39:23.571126980 +0300
+++ linux-4.4.4/include/linux/usb/chipidea.h 2016-03-31 21:39:23.567126980 +0300
@@ -55,6 +55,7 @@
--- a/include/linux/usb/chipidea.h
+++ b/include/linux/usb/chipidea.h
@@ -55,6 +55,7 @@ struct ci_hdrc_platform_data {
#define CI_HDRC_OVERRIDE_AHB_BURST BIT(9)
#define CI_HDRC_OVERRIDE_TX_BURST BIT(10)
#define CI_HDRC_OVERRIDE_RX_BURST BIT(11)

@ -14,7 +14,7 @@ Signed-off-by: Eric Anholt <eric@anholt.net>
--- 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)) {

@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- 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 <nbd@nbd.name>
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 <nbd@nbd.name>
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 <nbd@nbd.name>
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 <nbd@nbd.name>
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;

@ -19,8 +19,6 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
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

@ -16,11 +16,9 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
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

@ -16,11 +16,9 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
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

@ -18,11 +18,9 @@ Signed-off-by: Petr Štetiar <ynezz@true.cz>
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

@ -1428,7 +1428,7 @@ Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
/*
* 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 <daniel.thompson@linaro.org>
/* 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 <daniel.thompson@linaro.org>
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 <daniel.thompson@linaro.org>
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;
}

@ -1420,7 +1420,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/*
* 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 <gregkh@linuxfoundation.org>
/* 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 <gregkh@linuxfoundation.org>
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 <gregkh@linuxfoundation.org>
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;
}

@ -13,11 +13,9 @@ Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
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

@ -14,11 +14,9 @@ Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
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

@ -15,19 +15,17 @@ Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
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

@ -25,11 +25,9 @@ Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
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

Loading…
Cancel
Save