diff options
| author | Bart Van Assche <[email protected]> | 2021-07-21 20:34:30 -0700 |
|---|---|---|
| committer | Martin K. Petersen <[email protected]> | 2021-08-02 21:43:58 -0400 |
| commit | 3d2ac73d13476fd996e3423863371805780a0663 (patch) | |
| tree | 643587fd93f56503179022f1bc454415274783ef /tools/perf/scripts/python/bin/stackcollapse-report | |
| parent | 9c202090edd4c7679adf5bf040d7ee19966feae6 (diff) | |
scsi: ufs: Remove several wmb() calls
From arch/arm/include/asm/io.h
#define __iowmb() wmb()
[ ... ]
#define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
From Documentation/memory-barriers.txt: "Note that, when using writel(), a
prior wmb() is not needed to guarantee that the cache coherent memory
writes have completed before writing to the MMIO region."
In other words, calling wmb() before writel() is not necessary. Hence
remove the wmb() calls that precede a writel() call. Remove the wmb() calls
that precede a ufshcd_send_command() call since the latter function uses
writel(). Remove the wmb() call from ufshcd_wait_for_dev_cmd() since the
following chain of events guarantees that the CPU will see up-to-date LRB
values:
- UFS controller writes to host memory.
- UFS controller posts completion interrupt after the memory writes from
the previous step are visible to the CPU.
- complete(hba->dev_cmd.complete) is called from the UFS interrupt handler.
- The wait_for_completion(hba->dev_cmd.complete) call in
ufshcd_wait_for_dev_cmd() returns.
Link: https://lore.kernel.org/r/[email protected]
Cc: Adrian Hunter <[email protected]>
Cc: Stanley Chu <[email protected]>
Cc: Can Guo <[email protected]>
Cc: Asutosh Das <[email protected]>
Cc: Avri Altman <[email protected]>
Tested-by: Avri altman <[email protected]>
Reviewed-by: Avri Altman <[email protected]>
Reviewed-by: Daejun Park <[email protected]>
Signed-off-by: Bart Van Assche <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions