mirror of https://github.com/hak5/openwrt-owl.git
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>owl
parent
71f4d8a095
commit
20996edd68
|
@ -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…
Reference in New Issue