Messages in this thread | | | Subject | Re: [PATCH v3] regmap: add iopoll-like atomic polling macro | From | Sameer Pujar <> | Date | Thu, 9 Jan 2020 12:54:31 +0530 |
| |
On 1/9/2020 11:30 AM, Dmitry Osipenko wrote: > External email: Use caution opening links or attachments > > > 09.01.2020 08:09, Sameer Pujar пишет: >> This patch adds a macro 'regmap_read_poll_timeout_atomic' that works >> similar to 'readx_poll_timeout_atomic' defined in linux/iopoll.h; This >> is atomic version of already available 'regmap_read_poll_timeout' macro. >> >> It should be noted that above atomic macro cannot be used by all regmaps. >> If the regmap is set up for atomic use (flat or no cache and MMIO) then >> only it can use. >> >> Signed-off-by: Sameer Pujar <spujar@nvidia.com> >> --- > Could you please explain what is the targeted use-case here?
I was trying to use regmap_read_poll_timeout() to poll for status change of a register. This resulted in "BUG: scheduling while atomic". The callback function, in which I was trying to use the macro, runs in atomic context. Hence new atomic macro is added. I was checking ALSA playback/capture and trigger() callback had to monitor some register status.
In general, the new macro can be used in atomic callbacks where regmap interface is used and polling is required.
| |