Refreshes patches and bumps 4.9 kernel to 4.9.127 for OpenWrt 18.06.
Compile-tested on ar71xx.
Signed-off-by: Stijn Segers <foss@volatilesystems.org>
LINUX_RELEASE?=1
-LINUX_VERSION-4.9 = .125
+LINUX_VERSION-4.9 = .127
LINUX_VERSION-4.14 = .68
-LINUX_KERNEL_HASH-4.9.125 = a764deef61bebfac1d07b2ed6890f93a12a9ab6d3fc3c53e3d850ed4681111cb
+LINUX_KERNEL_HASH-4.9.127 = 9477aeaded97589a40d7cbbfeebfa7a8f863130c0729a8dc5cdbcf48eb6fdd0f
LINUX_KERNEL_HASH-4.14.68 = 791dbf1597033bf2b61e83307d78188ffc1ad4bdd1da3234876667edfdd28690
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
writel(irq->mask, adpt->base + EMAC_INT_MASK);
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
-@@ -7577,7 +7577,7 @@ static int rtl8169_poll(struct napi_stru
+@@ -7578,7 +7578,7 @@ static int rtl8169_poll(struct napi_stru
}
if (work_done < budget) {
uart->capabilities = up->capabilities;
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
-@@ -2233,6 +2233,7 @@ uart_report_port(struct uart_driver *drv
+@@ -2240,6 +2240,7 @@ uart_report_port(struct uart_driver *drv
snprintf(address, sizeof(address),
"I/O 0x%lx offset 0x%x", port->iobase, port->hub6);
break;
case UPIO_MEM:
case UPIO_MEM16:
case UPIO_MEM32:
-@@ -2897,6 +2898,7 @@ int uart_match_port(struct uart_port *po
+@@ -2904,6 +2905,7 @@ int uart_match_port(struct uart_port *po
case UPIO_HUB6:
return (port1->iobase == port2->iobase) &&
(port1->hub6 == port2->hub6);
return ret;
}
-@@ -280,6 +291,36 @@ struct device *caam_jr_alloc(void)
+@@ -281,6 +292,36 @@ struct device *caam_jr_alloc(void)
EXPORT_SYMBOL(caam_jr_alloc);
/**
* caam_jr_free() - Free the Job Ring
* @rdev - points to the dev that identifies the Job ring to
* be released.
-@@ -496,15 +537,28 @@ static int caam_jr_probe(struct platform
+@@ -497,15 +538,28 @@ static int caam_jr_probe(struct platform
return -ENOMEM;
}
/* Identify the interrupt */
jrpriv->irq = irq_of_parse_and_map(nprop, 0);
-@@ -524,10 +578,12 @@ static int caam_jr_probe(struct platform
+@@ -525,10 +579,12 @@ static int caam_jr_probe(struct platform
atomic_set(&jrpriv->tfm_count, 0);
}
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
-@@ -440,6 +440,7 @@ struct dmar_rmrr_unit {
+@@ -441,6 +441,7 @@ struct dmar_rmrr_unit {
u64 end_address; /* reserved end address */
struct dmar_dev_scope *devices; /* target devices */
int devices_cnt; /* target device count */
};
struct dmar_atsr_unit {
-@@ -4251,27 +4252,40 @@ static inline void init_iommu_pm_ops(voi
+@@ -4267,27 +4268,40 @@ static inline void init_iommu_pm_ops(voi
int __init dmar_parse_one_rmrr(struct acpi_dmar_header *header, void *arg)
{
struct acpi_dmar_reserved_memory *rmrr;
}
static struct dmar_atsr_unit *dmar_find_atsr(struct acpi_dmar_atsr *atsr)
-@@ -4485,6 +4499,7 @@ static void intel_iommu_free_dmars(void)
+@@ -4501,6 +4515,7 @@ static void intel_iommu_free_dmars(void)
list_for_each_entry_safe(rmrru, rmrr_n, &dmar_rmrr_units, list) {
list_del(&rmrru->list);
dmar_free_dev_scope(&rmrru->devices, &rmrru->devices_cnt);
kfree(rmrru);
}
-@@ -5220,6 +5235,45 @@ static void intel_iommu_remove_device(st
+@@ -5236,6 +5251,45 @@ static void intel_iommu_remove_device(st
iommu_device_unlink(iommu->iommu_dev, dev);
}
#ifdef CONFIG_INTEL_IOMMU_SVM
#define MAX_NR_PASID_BITS (20)
static inline unsigned long intel_iommu_get_pts(struct intel_iommu *iommu)
-@@ -5350,19 +5404,21 @@ struct intel_iommu *intel_svm_device_to_
+@@ -5366,19 +5420,21 @@ struct intel_iommu *intel_svm_device_to_
#endif /* CONFIG_INTEL_IOMMU_SVM */
static const struct iommu_ops intel_iommu_ops = {
+ goto out_master_put;
}
- dspi_init(dspi);
+ dspi->clk = devm_clk_get(&pdev->dev, "dspi");
@@ -740,6 +1031,13 @@ static int dspi_probe(struct platform_de
- if (ret)
- goto out_master_put;
+ goto out_clk_put;
+ }
+ if (dspi->devtype_data->trans_mode == DSPI_DMA_MODE) {
+ if (dspi_request_dma(dspi, res->start)) {