diff options
author | Andrew Halaney <[email protected]> | 2024-03-29 15:46:48 -0500 |
---|---|---|
committer | Martin K. Petersen <[email protected]> | 2024-04-05 21:06:29 -0400 |
commit | b715c55daf598aac8fa339048e4ca8a0916b332e (patch) | |
tree | 0aa8ff9af25397f012aec56d59d1763fb1ce392f /tools/testing/selftests/bpf/progs/test_autoload.c | |
parent | d9488511b3ac7eb48a91bc5eded7027525525e03 (diff) |
scsi: ufs: cdns-pltfrm: Perform read back after writing HCLKDIV
Currently, HCLKDIV is written to and then completed with an mb().
mb() ensures that the write completes, but completion doesn't mean that it
isn't stored in a buffer somewhere. The recommendation for ensuring this
bit has taken effect on the device is to perform a read back to force it to
make it all the way to the device. This is documented in device-io.rst and
a talk by Will Deacon on this can be seen over here:
https://youtu.be/i6DayghhA8Q?si=MiyxB5cKJXSaoc01&t=1678
Let's do that to ensure the bit hits the device. Because the mb()'s purpose
wasn't to add extra ordering (on top of the ordering guaranteed by
writel()/readl()), it can safely be removed.
Fixes: d90996dae8e4 ("scsi: ufs: Add UFS platform driver for Cadence UFS")
Reviewed-by: Manivannan Sadhasivam <[email protected]>
Signed-off-by: Andrew Halaney <[email protected]>
Link: https://lore.kernel.org/r/20240329-ufs-reset-ensure-effect-before-delay-v5-6-181252004586@redhat.com
Reviewed-by: Bart Van Assche <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_autoload.c')
0 files changed, 0 insertions, 0 deletions