[PATCH 0/6] media: allegro: Add support for the Encoder Buffer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This series adds support for the Encoder Buffer to the Allegro DVT driver.

The Encoder Buffer (the reference manual sometime also uses the terms L2 cache
or Prefetch Buffer) acts as a cache for the reference frames. The Encoder
Buffer reduces the read accesses of the encoder on its AXI ports. The size of
the buffer is configurable with Vivado before the FPGA bitstream is
synthesized, but not during runtime. The driver is responsible for configuring
the firmware to the configured size of the Encoder Buffer.

Patch 1 adds a check to make sure that the response mailbox is initialized
before the interrupt handler tries to handle mails from this mailbox. This
should never happen, but having the check does not hurt and should make the
checkers happy.

Patch 2 fixes the removal of the module when the firmware initialization has
failed.

Patch 3 and 4 integrate the Allegro DVT driver with the Xilinx VCU driver,
which handles the glue code between the encoder and the FPGA.

Patch 5 and 6 add support for the actual Encoder Buffer and add a control to
explicitly disable it per encoding context, because the Encoder Buffer might
have a negativ impact on the encoding quality.

This series is independent of my other series regarding the NAL unit fixes.

Michael

Michael Tretter (6):
  media: allegro: ignore interrupt if mailbox is not initialized
  media: allegro: fix module removal if initialization failed
  media: allegro: lookup VCU settings
  media: allegro: add pm_runtime support
  media: allegro: add encoder buffer support
  media: allegro: add control to disable encoder buffer

 .../media/platform/allegro-dvt/allegro-core.c | 229 +++++++++++++++++-
 .../media/platform/allegro-dvt/allegro-mail.c |  19 +-
 .../media/platform/allegro-dvt/allegro-mail.h |  10 +-
 include/uapi/linux/v4l2-controls.h            |   5 +
 4 files changed, 235 insertions(+), 28 deletions(-)

-- 
2.30.2




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux