diff options
author | Adrian Hunter <adrian.hunter@intel.com> | 2022-10-05 12:19:43 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2022-12-07 13:22:32 +0100 |
commit | 07e23c14e1d341fa350a6f0659c6ac84544bb7c4 (patch) | |
tree | 52bd08a34cfa5f18daa9ea20393a117dbf99d8e4 | |
parent | mmc: bcm2835: Remove local_irq_{save,restore}() around sg_miter_{next,stop}() (diff) | |
download | linux-07e23c14e1d341fa350a6f0659c6ac84544bb7c4.tar.xz linux-07e23c14e1d341fa350a6f0659c6ac84544bb7c4.zip |
mmc: bcm2835: Replace kmap_atomic() with kmap_local_page()
kmap_local_page() is equivalent to kmap_atomic() except that it does not
disable page faults or preemption. Where possible kmap_local_page() is
preferred to kmap_atomic() - refer kernel highmem documentation.
In this case, there is no need to disable page faults or preemption, so
replace kmap_atomic() with kmap_local_page(), and, correspondingly,
kunmap_atomic() with kunmap_local().
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20221005101951.3165-7-adrian.hunter@intel.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r-- | drivers/mmc/host/bcm2835.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/host/bcm2835.c b/drivers/mmc/host/bcm2835.c index 440773e3ba55..8648f7e63ca1 100644 --- a/drivers/mmc/host/bcm2835.c +++ b/drivers/mmc/host/bcm2835.c @@ -1070,7 +1070,7 @@ static void bcm2835_dma_complete_work(struct work_struct *work) host->drain_page += host->drain_offset >> PAGE_SHIFT; host->drain_offset &= ~PAGE_MASK; } - page = kmap_atomic(host->drain_page); + page = kmap_local_page(host->drain_page); buf = page + host->drain_offset; while (host->drain_words) { @@ -1081,7 +1081,7 @@ static void bcm2835_dma_complete_work(struct work_struct *work) host->drain_words--; } - kunmap_atomic(page); + kunmap_local(page); } bcm2835_finish_data(host); |