Commit cdb1ad52 authored by Adrian Hunter's avatar Adrian Hunter Committed by Ulf Hansson
Browse files

mmc: wbsd: 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: default avatarAdrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20221005101951.3165-15-adrian.hunter@intel.com


Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 2fc458f7
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -267,7 +267,7 @@ static inline int wbsd_next_sg(struct wbsd_host *host)

static inline char *wbsd_map_sg(struct wbsd_host *host)
{
	return kmap_atomic(sg_page(host->cur_sg)) + host->cur_sg->offset;
	return kmap_local_page(sg_page(host->cur_sg)) + host->cur_sg->offset;
}

static inline void wbsd_sg_to_dma(struct wbsd_host *host, struct mmc_data *data)
@@ -439,7 +439,7 @@ static void wbsd_empty_fifo(struct wbsd_host *host)
			 * End of scatter list entry?
			 */
			if (host->remain == 0) {
				kunmap_atomic(buffer);
				kunmap_local(buffer);
				/*
				 * Get next entry. Check if last.
				 */
@@ -451,7 +451,7 @@ static void wbsd_empty_fifo(struct wbsd_host *host)
			}
		}
	}
	kunmap_atomic(buffer);
	kunmap_local(buffer);

	/*
	 * This is a very dirty hack to solve a
@@ -505,7 +505,7 @@ static void wbsd_fill_fifo(struct wbsd_host *host)
			 * End of scatter list entry?
			 */
			if (host->remain == 0) {
				kunmap_atomic(buffer);
				kunmap_local(buffer);
				/*
				 * Get next entry. Check if last.
				 */
@@ -517,7 +517,7 @@ static void wbsd_fill_fifo(struct wbsd_host *host)
			}
		}
	}
	kunmap_atomic(buffer);
	kunmap_local(buffer);

	/*
	 * The controller stops sending interrupts for