class Vpu
Defined at line 35 of file ../../src/graphics/display/drivers/amlogic-display/vpu.h
TODO(https://fxbug.dev/42076950): `Vpu` currently contains multiple relatively
independent units of the greater Video Processing Unit (VPU) including power
control, AFBC engine control, Video Post-processing matrices and capture
engine. These functional units should be split into different classes.
Public Methods
void ~Vpu ()
Defined at line 59 of file ../../src/graphics/display/drivers/amlogic-display/vpu.h
void Vpu (const Vpu & )
Disallows copying and moving.
Defined at line 62 of file ../../src/graphics/display/drivers/amlogic-display/vpu.h
void Vpu (Vpu && )
Defined at line 63 of file ../../src/graphics/display/drivers/amlogic-display/vpu.h
Vpu & operator= (const Vpu & )
Defined at line 64 of file ../../src/graphics/display/drivers/amlogic-display/vpu.h
Vpu & operator= (Vpu && )
Defined at line 65 of file ../../src/graphics/display/drivers/amlogic-display/vpu.h
zx::result<std::unique_ptr<Vpu>> Create (fidl::UnownedClientEnd<fuchsia_hardware_platform_device::Device> platform_device)
Factory method intended for production use.
`platform_device` must be valid.
Defined at line 76 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
CaptureState GetCaptureState ()
Defined at line 97 of file ../../src/graphics/display/drivers/amlogic-display/vpu.h
void Vpu (fdf::MmioBuffer vpu_mmio, fdf::MmioBuffer hhi_mmio, fdf::MmioBuffer aobus_mmio, fdf::MmioBuffer reset_mmio)
Production code should prefer the `Create()` factory method.
`vpu_mmio` is the region documented as "VPU" in Section 8.1 "Memory Map"
of the AMLogic A311D datasheet. It must be valid.
`hhi_mmio` is the region documented as "HIU" in Section 8.1 "Memory Map"
of the AMLogic A311D datasheet. It must be valid.
`aobus_mmio` is the region documented as "RTI" in Section 8.1 "Memory Map"
of the AMLogic A311D datasheet. It must be valid.
`reset_mmio` is the region documented as "RESET" in Section 8.1
"Memory Map" of the AMLogic A311D datasheet. It must be valid.
Defined at line 116 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
void PowerOn ()
Powers on the hardware.
Defined at line 286 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
void PowerOff ()
Powers off the hardware.
Defined at line 368 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
void SetupPostProcessorOutputInterface ()
Sets up video post processor (VPP) output interfaces.
The hardware must be powered on.
Defined at line 135 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
void SetupPostProcessorColorConversion (ColorSpaceConversionMode mode)
Sets up video post processor (VPP) color conversion matrices.
The hardware must be powered on.
Defined at line 147 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
bool CheckAndClaimHardwareOwnership ()
Claims the ownership of the driver by changing the hardware state.
The hardware state change reflects that the driver owns and drives
the hardware and it can survive driver reloads.
Returns true iff the hardware was owned by a different driver.
Defined at line 124 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
void AfbcPower (bool power_on)
Powers on/off AFBC Engine.
The main power of the Video Processing Unit must be powered on.
Defined at line 407 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
zx_status_t CaptureInit (uint8_t canvas_idx, uint32_t height, uint32_t stride)
Defined at line 415 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
zx_status_t CaptureStart ()
Defined at line 555 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
zx_status_t CaptureDone ()
Defined at line 624 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc
void CapturePrintRegisters ()
Defined at line 653 of file ../../src/graphics/display/drivers/amlogic-display/vpu.cc