class PipeScalerCoefficients
Defined at line 639 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
Pipe Scaler Coefficients Helper
A helper class that software can use to write PipeScalerCoefficientFormat
values to the data register, or read the data register contents back as a
vector.
This helper class only updates the values to the buffered registers, and
software must trigger the double buffer arm register (PipeScalerWindowSize)
by themselves to apply the value update.
TODO(https://fxbug.dev/42071700): Move this alongside with scaler management logic,
as this is a layer above the register definitions.
Public Methods
void PipeScalerCoefficients (hwreg::RegisterAddr<PipeScalerCoefficientIndex> index_address, hwreg::RegisterAddr<PipeScalerCoefficientData> data_address)
Defined at line 641 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
template <typename T>
void WriteToRegister (cpp20::span<const PipeScalerCoefficientFormat> coefficients, T * reg_io)
Write values of `coefficients` to the coefficient array using index / data
registers.
The size of `coefficients` must be 17 * 7 = 119.
Defined at line 649 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
template <typename T>
std::vector<PipeScalerCoefficientFormat> ReadFromRegister (T * reg_io)
Read values of the coefficient array using index / data registers.
Returns a coefficient array of size 17 * 7 = 119.
Defined at line 666 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h