diff options
| author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2020-11-14 00:22:52 +0300 |
|---|---|---|
| committer | Kalle Valo <kvalo@codeaurora.org> | 2020-11-24 18:01:19 +0300 |
| commit | a3d8a2599d47164a52af0d8ae2b50e60d41b2d75 (patch) | |
| tree | aa3507c12d36d65399c8e8b95ca1efbdb12e72aa /tools/perf/scripts/python/check-perf-trace.py | |
| parent | a9a2678abacbcae902b4fb4bc5585a621099cc06 (diff) | |
| download | linux-a3d8a2599d47164a52af0d8ae2b50e60d41b2d75.tar.xz | |
orinoco: Annotate ezusb_read_ltv()
ezusb_read_ltv() is always invoked via the ->read_ltv() callback. This
callback is mostly invoked under orinoco_lock() which disables BH.
There are a few invocations during probe which occur in preemptible
context via:
ezusb_probe() -> orinoco_init() -> determine_fw_capabilities()
Extend `hermes_ops' with the ->read_ltv_pr callback which is implemented
with the same callback like ->read_ltv on `hermes_ops_local'.
On `ezusb_ops' ->read_ltv is used for callbacks under the lock which
need to poll.
The new ->read_ltv_pr() is used in the preemptible context in which it
is possible to wait for the completion. Provide HERMES_READ_RECORD_PR()
and hermes_read_wordrec_pr() which behave like their non _pr equivalents
and invoke ->read_ltv_pr().
This removes the last user of ezusb_req_ctx_wait() and can now be
removed.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201113212252.2243570-11-bigeasy@linutronix.de
Diffstat (limited to 'tools/perf/scripts/python/check-perf-trace.py')
0 files changed, 0 insertions, 0 deletions
