While working on a SoC with CODA980 (currently not supported by the
driver), I came across some low-hanging fruit that looked worth
addressing.

Patch 1 is just a cosmetic change to print a different "more standard"
device registered message, if such thing exists.

Patches 2 to 4 address unneeded usage of threaded interrupt and deferred
worker. Careful code inspection shows the interrupt can be serviced
on a normal handler.

In this regard, the driver is still waiting for job completion in
the .device_run hook, which the framework already does. Therefore,
there are two waits: one in the driver, one in the mem2mem core.

Please note that I'm not addressing this for now.

Finally, patch 5 clears a hardware register called INT_REASON.
Without this clearing the firmware has been found to get stuck
on our CODA980. I believe this fix might be useful to carry upstream,
because it's so small and we have some  indications that it's actually
the right thing to do.

Ezequiel Garcia (5):
  media: coda: Print a nicer device registered message
  media: coda: Remove unbalanced and unneeded mutex unlock
  media: coda: Replace the threaded interrupt with a hard interrupt
  media: coda: Remove pic_run_work worker
  media: coda: Clear the interrupt reason

 drivers/media/platform/coda/coda-bit.c    |  2 +-
 drivers/media/platform/coda/coda-common.c | 26 ++++++++++-------------
 drivers/media/platform/coda/coda.h        |  1 -
 3 files changed, 12 insertions(+), 17 deletions(-)

-- 
2.20.1

Reply via email to