mirror of https://github.com/hak5/openwrt.git
kernel: bump 4.9 to 4.9.195
Refreshed all patches. Altered patches: - 403-mtd_fix_cfi_cmdset_0002_status_check.patch Compile-tested on: ar71xx Compile-tested on: ar71xx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>openwrt-18.06
parent
6f1a71c2d0
commit
d513f28351
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
LINUX_RELEASE?=1
|
LINUX_RELEASE?=1
|
||||||
|
|
||||||
LINUX_VERSION-4.9 = .194
|
LINUX_VERSION-4.9 = .195
|
||||||
LINUX_VERSION-4.14 = .146
|
LINUX_VERSION-4.14 = .146
|
||||||
|
|
||||||
LINUX_KERNEL_HASH-4.9.194 = d5f4bb7584e461f1faa9a3f94c2ad292246fe692b0e992e072dac255f806c2e3
|
LINUX_KERNEL_HASH-4.9.195 = 54be562a2da16eecd612f641146dc099c1aa05c0fc559c971bdfde161c929d68
|
||||||
LINUX_KERNEL_HASH-4.14.146 = a3c54b887ea3e679382bd4c0536e6a281b071dab2258bd3ee8af75baef2023f5
|
LINUX_KERNEL_HASH-4.14.146 = a3c54b887ea3e679382bd4c0536e6a281b071dab2258bd3ee8af75baef2023f5
|
||||||
|
|
||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
|
||||||
|
|
|
@ -1,26 +1,24 @@
|
||||||
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
@@ -1631,8 +1631,8 @@ static int __xipram do_write_oneword(str
|
@@ -1637,7 +1637,7 @@ static int __xipram do_write_oneword(str
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- if (chip_ready(map, adr))
|
if (chip_good(map, adr, datum))
|
||||||
- break;
|
- break;
|
||||||
+ if (chip_good(map, adr, datum))
|
|
||||||
+ goto enable_xip;
|
+ goto enable_xip;
|
||||||
|
|
||||||
/* Latency issues. Drop the lock, wait a while and retry */
|
/* Latency issues. Drop the lock, wait a while and retry */
|
||||||
UDELAY(map, chip, adr, 1);
|
UDELAY(map, chip, adr, 1);
|
||||||
@@ -1648,6 +1648,8 @@ static int __xipram do_write_oneword(str
|
@@ -1654,6 +1654,8 @@ static int __xipram do_write_oneword(str
|
||||||
|
goto retry;
|
||||||
ret = -EIO;
|
}
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
+ enable_xip:
|
+ enable_xip:
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
op_done:
|
op_done:
|
||||||
if (mode == FL_OTP_WRITE)
|
if (mode == FL_OTP_WRITE)
|
||||||
@@ -2226,7 +2228,6 @@ static int cfi_amdstd_panic_write(struct
|
@@ -2232,7 +2234,6 @@ static int cfi_amdstd_panic_write(struct
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +26,7 @@
|
||||||
/*
|
/*
|
||||||
* Handle devices with one erase region, that only implement
|
* Handle devices with one erase region, that only implement
|
||||||
* the chip erase command.
|
* the chip erase command.
|
||||||
@@ -2294,7 +2295,7 @@ static int __xipram do_erase_chip(struct
|
@@ -2300,7 +2301,7 @@ static int __xipram do_erase_chip(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chip_good(map, adr, map_word_ff(map)))
|
if (chip_good(map, adr, map_word_ff(map)))
|
||||||
|
@ -37,7 +35,7 @@
|
||||||
|
|
||||||
if (time_after(jiffies, timeo)) {
|
if (time_after(jiffies, timeo)) {
|
||||||
printk(KERN_WARNING "MTD %s(): software timeout\n",
|
printk(KERN_WARNING "MTD %s(): software timeout\n",
|
||||||
@@ -2318,6 +2319,7 @@ static int __xipram do_erase_chip(struct
|
@@ -2324,6 +2325,7 @@ static int __xipram do_erase_chip(struct
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -45,7 +43,7 @@
|
||||||
chip->state = FL_READY;
|
chip->state = FL_READY;
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
DISABLE_VPP(map);
|
DISABLE_VPP(map);
|
||||||
@@ -2391,7 +2393,7 @@ static int __xipram do_erase_oneblock(st
|
@@ -2397,7 +2399,7 @@ static int __xipram do_erase_oneblock(st
|
||||||
|
|
||||||
if (chip_good(map, adr, map_word_ff(map))) {
|
if (chip_good(map, adr, map_word_ff(map))) {
|
||||||
xip_enable(map, chip, adr);
|
xip_enable(map, chip, adr);
|
||||||
|
@ -54,7 +52,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (time_after(jiffies, timeo)) {
|
if (time_after(jiffies, timeo)) {
|
||||||
@@ -2417,6 +2419,7 @@ static int __xipram do_erase_oneblock(st
|
@@ -2423,6 +2425,7 @@ static int __xipram do_erase_oneblock(st
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
/* Atmel chips don't use the same PRI format as AMD chips */
|
/* Atmel chips don't use the same PRI format as AMD chips */
|
||||||
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
|
static void fixup_convert_atmel_pri(struct mtd_info *mtd)
|
||||||
@@ -1790,6 +1794,7 @@ static int cfi_amdstd_write_words(struct
|
@@ -1796,6 +1800,7 @@ static int cfi_amdstd_write_words(struct
|
||||||
/*
|
/*
|
||||||
* FIXME: interleaved mode not tested, and probably not supported!
|
* FIXME: interleaved mode not tested, and probably not supported!
|
||||||
*/
|
*/
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
|
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
|
||||||
unsigned long adr, const u_char *buf,
|
unsigned long adr, const u_char *buf,
|
||||||
int len)
|
int len)
|
||||||
@@ -1918,7 +1923,6 @@ static int __xipram do_write_buffer(stru
|
@@ -1924,7 +1929,6 @@ static int __xipram do_write_buffer(stru
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
|
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
|
||||||
size_t *retlen, const u_char *buf)
|
size_t *retlen, const u_char *buf)
|
||||||
{
|
{
|
||||||
@@ -1993,6 +1997,7 @@ static int cfi_amdstd_write_buffers(stru
|
@@ -1999,6 +2003,7 @@ static int cfi_amdstd_write_buffers(stru
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
|
|
||||||
struct bcm2835_dmadev {
|
struct bcm2835_dmadev {
|
||||||
struct dma_device ddev;
|
struct dma_device ddev;
|
||||||
@@ -905,6 +907,9 @@ static int bcm2835_dma_probe(struct plat
|
@@ -907,6 +909,9 @@ static int bcm2835_dma_probe(struct plat
|
||||||
base = devm_ioremap_resource(&pdev->dev, res);
|
base = devm_ioremap_resource(&pdev->dev, res);
|
||||||
if (IS_ERR(base))
|
if (IS_ERR(base))
|
||||||
return PTR_ERR(base);
|
return PTR_ERR(base);
|
||||||
|
@ -56,7 +56,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
|
|
||||||
od->base = base;
|
od->base = base;
|
||||||
|
|
||||||
@@ -942,6 +947,9 @@ static int bcm2835_dma_probe(struct plat
|
@@ -944,6 +949,9 @@ static int bcm2835_dma_probe(struct plat
|
||||||
goto err_no_dma;
|
goto err_no_dma;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
/* get irqs for each channel that we support */
|
/* get irqs for each channel that we support */
|
||||||
for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) {
|
for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) {
|
||||||
/* skip masked out channels */
|
/* skip masked out channels */
|
||||||
@@ -1016,6 +1024,7 @@ static int bcm2835_dma_remove(struct pla
|
@@ -1018,6 +1026,7 @@ static int bcm2835_dma_remove(struct pla
|
||||||
{
|
{
|
||||||
struct bcm2835_dmadev *od = platform_get_drvdata(pdev);
|
struct bcm2835_dmadev *od = platform_get_drvdata(pdev);
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
|
||||||
dma_async_device_unregister(&od->ddev);
|
dma_async_device_unregister(&od->ddev);
|
||||||
bcm2835_dma_free(od);
|
bcm2835_dma_free(od);
|
||||||
|
|
||||||
@@ -1031,7 +1040,22 @@ static struct platform_driver bcm2835_dm
|
@@ -1033,7 +1042,22 @@ static struct platform_driver bcm2835_dm
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ Signed-off-by: George Kashperko <george@znau.edu.ua>
|
||||||
1 file changed, 1 insertion(+)
|
1 file changed, 1 insertion(+)
|
||||||
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
|
||||||
@@ -1829,6 +1829,7 @@ static int __xipram do_write_buffer(stru
|
@@ -1835,6 +1835,7 @@ static int __xipram do_write_buffer(stru
|
||||||
|
|
||||||
/* Write Buffer Load */
|
/* Write Buffer Load */
|
||||||
map_write(map, CMD(0x25), cmd_adr);
|
map_write(map, CMD(0x25), cmd_adr);
|
||||||
|
|
|
@ -122,7 +122,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
|
|
||||||
static DEFINE_IDA(soc_ida);
|
static DEFINE_IDA(soc_ida);
|
||||||
|
|
||||||
@@ -159,3 +160,72 @@ static int __init soc_bus_register(void)
|
@@ -161,3 +162,72 @@ static int __init soc_bus_register(void)
|
||||||
return bus_register(&soc_bus_type);
|
return bus_register(&soc_bus_type);
|
||||||
}
|
}
|
||||||
core_initcall(soc_bus_register);
|
core_initcall(soc_bus_register);
|
||||||
|
|
|
@ -34,7 +34,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
|
|
||||||
return entry->group;
|
return entry->group;
|
||||||
}
|
}
|
||||||
@@ -3191,9 +3193,10 @@ static bool amd_iommu_capable(enum iommu
|
@@ -3193,9 +3195,10 @@ static bool amd_iommu_capable(enum iommu
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
struct unity_map_entry *entry;
|
struct unity_map_entry *entry;
|
||||||
int devid;
|
int devid;
|
||||||
|
|
||||||
@@ -3202,41 +3205,56 @@ static void amd_iommu_get_dm_regions(str
|
@@ -3204,41 +3207,56 @@ static void amd_iommu_get_dm_regions(str
|
||||||
return;
|
return;
|
||||||
|
|
||||||
list_for_each_entry(entry, &amd_iommu_unity_map, list) {
|
list_for_each_entry(entry, &amd_iommu_unity_map, list) {
|
||||||
|
@ -118,7 +118,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
{
|
{
|
||||||
struct dma_ops_domain *dma_dom = to_dma_ops_domain(to_pdomain(domain));
|
struct dma_ops_domain *dma_dom = to_dma_ops_domain(to_pdomain(domain));
|
||||||
unsigned long start, end;
|
unsigned long start, end;
|
||||||
@@ -3260,9 +3278,9 @@ static const struct iommu_ops amd_iommu_
|
@@ -3262,9 +3280,9 @@ static const struct iommu_ops amd_iommu_
|
||||||
.add_device = amd_iommu_add_device,
|
.add_device = amd_iommu_add_device,
|
||||||
.remove_device = amd_iommu_remove_device,
|
.remove_device = amd_iommu_remove_device,
|
||||||
.device_group = amd_iommu_device_group,
|
.device_group = amd_iommu_device_group,
|
||||||
|
|
|
@ -25,7 +25,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
+obj-$(CONFIG_QUICC_ENGINE) += irq-qeic.o
|
+obj-$(CONFIG_QUICC_ENGINE) += irq-qeic.o
|
||||||
--- a/drivers/irqchip/irq-gic-v3-its.c
|
--- a/drivers/irqchip/irq-gic-v3-its.c
|
||||||
+++ b/drivers/irqchip/irq-gic-v3-its.c
|
+++ b/drivers/irqchip/irq-gic-v3-its.c
|
||||||
@@ -1659,6 +1659,7 @@ static int its_init_domain(struct fwnode
|
@@ -1658,6 +1658,7 @@ static int its_init_domain(struct fwnode
|
||||||
|
|
||||||
inner_domain->parent = its_parent;
|
inner_domain->parent = its_parent;
|
||||||
inner_domain->bus_token = DOMAIN_BUS_NEXUS;
|
inner_domain->bus_token = DOMAIN_BUS_NEXUS;
|
||||||
|
|
|
@ -482,7 +482,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
sdhci_get_of_property(pdev);
|
sdhci_get_of_property(pdev);
|
||||||
--- a/drivers/mmc/host/sdhci.c
|
--- a/drivers/mmc/host/sdhci.c
|
||||||
+++ b/drivers/mmc/host/sdhci.c
|
+++ b/drivers/mmc/host/sdhci.c
|
||||||
@@ -1629,26 +1629,24 @@ static void sdhci_set_ios(struct mmc_hos
|
@@ -1631,26 +1631,24 @@ static void sdhci_set_ios(struct mmc_hos
|
||||||
|
|
||||||
ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
|
ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
|
||||||
|
|
||||||
|
@ -523,7 +523,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
if (!host->preset_enabled) {
|
if (!host->preset_enabled) {
|
||||||
sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
|
sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
|
||||||
/*
|
/*
|
||||||
@@ -1961,7 +1959,7 @@ static int sdhci_prepare_hs400_tuning(st
|
@@ -1963,7 +1961,7 @@ static int sdhci_prepare_hs400_tuning(st
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -532,7 +532,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
{
|
{
|
||||||
struct sdhci_host *host = mmc_priv(mmc);
|
struct sdhci_host *host = mmc_priv(mmc);
|
||||||
u16 ctrl;
|
u16 ctrl;
|
||||||
@@ -2020,6 +2018,9 @@ static int sdhci_execute_tuning(struct m
|
@@ -2022,6 +2020,9 @@ static int sdhci_execute_tuning(struct m
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -542,7 +542,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
|
ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
|
||||||
ctrl |= SDHCI_CTRL_EXEC_TUNING;
|
ctrl |= SDHCI_CTRL_EXEC_TUNING;
|
||||||
if (host->quirks2 & SDHCI_QUIRK2_TUNING_WORK_AROUND)
|
if (host->quirks2 & SDHCI_QUIRK2_TUNING_WORK_AROUND)
|
||||||
@@ -2132,9 +2133,10 @@ static int sdhci_execute_tuning(struct m
|
@@ -2134,9 +2135,10 @@ static int sdhci_execute_tuning(struct m
|
||||||
|
|
||||||
ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
|
ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
|
||||||
|
|
||||||
|
@ -556,7 +556,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
} while (ctrl & SDHCI_CTRL_EXEC_TUNING);
|
} while (ctrl & SDHCI_CTRL_EXEC_TUNING);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -2170,6 +2172,7 @@ out_unlock:
|
@@ -2172,6 +2174,7 @@ out_unlock:
|
||||||
spin_unlock_irqrestore(&host->lock, flags);
|
spin_unlock_irqrestore(&host->lock, flags);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
@ -564,7 +564,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
|
||||||
|
|
||||||
static int sdhci_select_drive_strength(struct mmc_card *card,
|
static int sdhci_select_drive_strength(struct mmc_card *card,
|
||||||
unsigned int max_dtr, int host_drv,
|
unsigned int max_dtr, int host_drv,
|
||||||
@@ -2994,6 +2997,8 @@ struct sdhci_host *sdhci_alloc_host(stru
|
@@ -2996,6 +2999,8 @@ struct sdhci_host *sdhci_alloc_host(stru
|
||||||
|
|
||||||
host->flags = SDHCI_SIGNALING_330;
|
host->flags = SDHCI_SIGNALING_330;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue