Merge tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
Pull mmiowb removal from Will Deacon: "Remove Mysterious Macro Intended to Obscure Weird Behaviours (mmiowb()) Remove mmiowb() from the kernel memory barrier API and instead, for architectures that need it, hide the barrier inside spin_unlock() when MMIO has been performed inside the critical section. The only relatively recent changes have been addressing review comments on the documentation, which is in a much better shape thanks to the efforts of Ben and Ingo. I was initially planning to split this into two pull requests so that you could run the coccinelle script yourself, however it's been plain sailing in linux-next so I've just included the whole lot here to keep things simple" * tag 'arm64-mmiowb' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (23 commits) docs/memory-barriers.txt: Update I/O section to be clearer about CPU vs thread docs/memory-barriers.txt: Fix style, spacing and grammar in I/O section arch: Remove dummy mmiowb() definitions from arch code net/ethernet/silan/sc92031: Remove stale comment about mmiowb() i40iw: Redefine i40iw_mmiowb() to do nothing scsi/qla1280: Remove stale comment about mmiowb() drivers: Remove explicit invocations of mmiowb() drivers: Remove useless trailing comments from mmiowb() invocations Documentation: Kill all references to mmiowb() riscv/mmiowb: Hook up mmwiob() implementation to asm-generic code powerpc/mmiowb: Hook up mmwiob() implementation to asm-generic code ia64/mmiowb: Add unconditional mmiowb() to arch_spin_unlock() mips/mmiowb: Add unconditional mmiowb() to arch_spin_unlock() sh/mmiowb: Add unconditional mmiowb() to arch_spin_unlock() m68k/io: Remove useless definition of mmiowb() nds32/io: Remove useless definition of mmiowb() x86/io: Remove useless definition of mmiowb() arm64/io: Remove useless definition of mmiowb() ARM/io: Remove useless definition of mmiowb() mmiowb: Hook up mmiowb helpers to spinlocks and generic I/O accessors ...
This commit is contained in:
@@ -959,7 +959,6 @@ static void alcor_timeout_timer(struct work_struct *work)
|
||||
alcor_request_complete(host, 0);
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
mutex_unlock(&host->cmd_mutex);
|
||||
}
|
||||
|
||||
|
@@ -1807,7 +1807,6 @@ void sdhci_request(struct mmc_host *mmc, struct mmc_request *mrq)
|
||||
sdhci_send_command(host, mrq->cmd);
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sdhci_request);
|
||||
@@ -2010,8 +2009,6 @@ void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
||||
*/
|
||||
if (host->quirks & SDHCI_QUIRK_RESET_CMD_DATA_ON_IOS)
|
||||
sdhci_do_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
|
||||
|
||||
mmiowb();
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sdhci_set_ios);
|
||||
|
||||
@@ -2105,7 +2102,6 @@ static void sdhci_enable_sdio_irq_nolock(struct sdhci_host *host, int enable)
|
||||
|
||||
sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
|
||||
sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
|
||||
mmiowb();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2353,7 +2349,6 @@ void sdhci_send_tuning(struct sdhci_host *host, u32 opcode)
|
||||
|
||||
host->tuning_done = 0;
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
|
||||
/* Wait for Buffer Read Ready interrupt */
|
||||
@@ -2705,7 +2700,6 @@ static bool sdhci_request_done(struct sdhci_host *host)
|
||||
|
||||
host->mrqs_done[i] = NULL;
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
|
||||
mmc_request_done(host->mmc, mrq);
|
||||
@@ -2739,7 +2733,6 @@ static void sdhci_timeout_timer(struct timer_list *t)
|
||||
sdhci_finish_mrq(host, host->cmd->mrq);
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
|
||||
@@ -2770,7 +2763,6 @@ static void sdhci_timeout_data_timer(struct timer_list *t)
|
||||
}
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
|
||||
@@ -3251,7 +3243,6 @@ int sdhci_resume_host(struct sdhci_host *host)
|
||||
mmc->ops->set_ios(mmc, &mmc->ios);
|
||||
} else {
|
||||
sdhci_init(host, (host->mmc->pm_flags & MMC_PM_KEEP_POWER));
|
||||
mmiowb();
|
||||
}
|
||||
|
||||
if (host->irq_wake_enabled) {
|
||||
@@ -3391,7 +3382,6 @@ void sdhci_cqe_enable(struct mmc_host *mmc)
|
||||
mmc_hostname(mmc), host->ier,
|
||||
sdhci_readl(host, SDHCI_INT_STATUS));
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sdhci_cqe_enable);
|
||||
@@ -3416,7 +3406,6 @@ void sdhci_cqe_disable(struct mmc_host *mmc, bool recovery)
|
||||
mmc_hostname(mmc), host->ier,
|
||||
sdhci_readl(host, SDHCI_INT_STATUS));
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(sdhci_cqe_disable);
|
||||
@@ -4255,8 +4244,6 @@ int __sdhci_add_host(struct sdhci_host *host)
|
||||
goto unirq;
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
|
||||
ret = mmc_add_host(mmc);
|
||||
if (ret)
|
||||
goto unled;
|
||||
|
@@ -889,7 +889,6 @@ static int tifm_sd_initialize_host(struct tifm_sd *host)
|
||||
struct tifm_dev *sock = host->dev;
|
||||
|
||||
writel(0, sock->addr + SOCK_MMCSD_INT_ENABLE);
|
||||
mmiowb();
|
||||
host->clk_div = 61;
|
||||
host->clk_freq = 20000000;
|
||||
writel(TIFM_MMCSD_RESET, sock->addr + SOCK_MMCSD_SYSTEM_CONTROL);
|
||||
@@ -940,7 +939,6 @@ static int tifm_sd_initialize_host(struct tifm_sd *host)
|
||||
writel(TIFM_MMCSD_CERR | TIFM_MMCSD_BRS | TIFM_MMCSD_EOC
|
||||
| TIFM_MMCSD_ERRMASK,
|
||||
sock->addr + SOCK_MMCSD_INT_ENABLE);
|
||||
mmiowb();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -1005,7 +1003,6 @@ static void tifm_sd_remove(struct tifm_dev *sock)
|
||||
spin_lock_irqsave(&sock->lock, flags);
|
||||
host->eject = 1;
|
||||
writel(0, sock->addr + SOCK_MMCSD_INT_ENABLE);
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&sock->lock, flags);
|
||||
|
||||
tasklet_kill(&host->finish_tasklet);
|
||||
|
@@ -686,7 +686,6 @@ static void via_sdc_request(struct mmc_host *mmc, struct mmc_request *mrq)
|
||||
via_sdc_send_command(host, mrq->cmd);
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
|
||||
@@ -711,7 +710,6 @@ static void via_sdc_set_power(struct via_crdr_mmc_host *host,
|
||||
gatt &= ~VIA_CRDR_PCICLKGATT_PAD_PWRON;
|
||||
writeb(gatt, host->pcictrl_mmiobase + VIA_CRDR_PCICLKGATT);
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
|
||||
via_pwron_sleep(host);
|
||||
@@ -770,7 +768,6 @@ static void via_sdc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
|
||||
if (readb(addrbase + VIA_CRDR_PCISDCCLK) != clock)
|
||||
writeb(clock, addrbase + VIA_CRDR_PCISDCCLK);
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
|
||||
if (ios->power_mode != MMC_POWER_OFF)
|
||||
@@ -830,7 +827,6 @@ static void via_reset_pcictrl(struct via_crdr_mmc_host *host)
|
||||
via_restore_pcictrlreg(host);
|
||||
via_restore_sdcreg(host);
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
}
|
||||
|
||||
@@ -925,7 +921,6 @@ static irqreturn_t via_sdc_isr(int irq, void *dev_id)
|
||||
|
||||
result = IRQ_HANDLED;
|
||||
|
||||
mmiowb();
|
||||
out:
|
||||
spin_unlock(&sdhost->lock);
|
||||
|
||||
@@ -960,7 +955,6 @@ static void via_sdc_timeout(struct timer_list *t)
|
||||
}
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&sdhost->lock, flags);
|
||||
}
|
||||
|
||||
@@ -1012,7 +1006,6 @@ static void via_sdc_card_detect(struct work_struct *work)
|
||||
tasklet_schedule(&host->finish_tasklet);
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
|
||||
via_reset_pcictrl(host);
|
||||
@@ -1020,7 +1013,6 @@ static void via_sdc_card_detect(struct work_struct *work)
|
||||
spin_lock_irqsave(&host->lock, flags);
|
||||
}
|
||||
|
||||
mmiowb();
|
||||
spin_unlock_irqrestore(&host->lock, flags);
|
||||
|
||||
via_print_pcictrl(host);
|
||||
@@ -1188,7 +1180,6 @@ static void via_sd_remove(struct pci_dev *pcidev)
|
||||
|
||||
/* Disable generating further interrupts */
|
||||
writeb(0x0, sdhost->pcictrl_mmiobase + VIA_CRDR_PCIINTCTRL);
|
||||
mmiowb();
|
||||
|
||||
if (sdhost->mrq) {
|
||||
pr_err("%s: Controller removed during "
|
||||
@@ -1197,7 +1188,6 @@ static void via_sd_remove(struct pci_dev *pcidev)
|
||||
/* make sure all DMA is stopped */
|
||||
writel(VIA_CRDR_DMACTRL_SFTRST,
|
||||
sdhost->ddma_mmiobase + VIA_CRDR_DMACTRL);
|
||||
mmiowb();
|
||||
sdhost->mrq->cmd->error = -ENOMEDIUM;
|
||||
if (sdhost->mrq->stop)
|
||||
sdhost->mrq->stop->error = -ENOMEDIUM;
|
||||
|
Reference in New Issue
Block a user