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>
LINUX_RELEASE?=1
-LINUX_VERSION-4.9 = .194
+LINUX_VERSION-4.9 = .195
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
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
--- a/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
- break;
+@@ -1637,7 +1637,7 @@ static int __xipram do_write_oneword(str
}
-- if (chip_ready(map, adr))
+ if (chip_good(map, adr, datum))
- break;
-+ if (chip_good(map, adr, datum))
+ goto enable_xip;
/* Latency issues. Drop the lock, wait a while and retry */
UDELAY(map, chip, adr, 1);
-@@ -1648,6 +1648,8 @@ static int __xipram do_write_oneword(str
-
- ret = -EIO;
+@@ -1654,6 +1654,8 @@ static int __xipram do_write_oneword(str
+ goto retry;
+ }
}
+
+ enable_xip:
xip_enable(map, chip, adr);
op_done:
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;
}
/*
* Handle devices with one erase region, that only implement
* 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 (time_after(jiffies, timeo)) {
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
}
}
chip->state = FL_READY;
xip_enable(map, chip, adr);
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))) {
xip_enable(map, chip, adr);
}
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
}
}
/* Atmel chips don't use the same PRI format as AMD chips */
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!
*/
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
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;
}
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
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;
}
struct bcm2835_dmadev {
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);
if (IS_ERR(base))
return PTR_ERR(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;
}
/* get irqs for each channel that we support */
for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) {
/* 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);
dma_async_device_unregister(&od->ddev);
bcm2835_dma_free(od);
-@@ -1031,7 +1040,22 @@ static struct platform_driver bcm2835_dm
+@@ -1033,7 +1042,22 @@ static struct platform_driver bcm2835_dm
},
};
1 file changed, 1 insertion(+)
--- a/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 */
map_write(map, CMD(0x25), cmd_adr);
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);
}
core_initcall(soc_bus_register);
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;
}
struct unity_map_entry *entry;
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;
list_for_each_entry(entry, &amd_iommu_unity_map, list) {
{
struct dma_ops_domain *dma_dom = to_dma_ops_domain(to_pdomain(domain));
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,
.remove_device = amd_iommu_remove_device,
.device_group = amd_iommu_device_group,
+obj-$(CONFIG_QUICC_ENGINE) += irq-qeic.o
--- a/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->bus_token = DOMAIN_BUS_NEXUS;
sdhci_get_of_property(pdev);
--- a/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);
if (!host->preset_enabled) {
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;
}
{
struct sdhci_host *host = mmc_priv(mmc);
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;
}
ctrl = sdhci_readw(host, SDHCI_HOST_CONTROL2);
ctrl |= SDHCI_CTRL_EXEC_TUNING;
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);
} while (ctrl & SDHCI_CTRL_EXEC_TUNING);
/*
-@@ -2170,6 +2172,7 @@ out_unlock:
+@@ -2172,6 +2174,7 @@ out_unlock:
spin_unlock_irqrestore(&host->lock, flags);
return err;
}
static int sdhci_select_drive_strength(struct mmc_card *card,
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;