class PipeScalerCoefficientData
Defined at line 540 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
PS_COEF_DATA (Pipe Scaler Programmable Coefficient Data)
Each scaler has 2 sets of programmable filter coefficients, each of which
containing 17 (phases) x 7 (taps) = 119 coefficient values. Each coefficient
value has 16 bits in storage and is of type PipeScalerCoefficientFormat.
To read / write the value of the coefficients, the PS_COEF_INDEX register of
the scaler coefficient set must be set (or auto-incremented) first, and then
a pair of 16-bit coefficient values can be read from / written to this
register.
The coefficients must be written before its value being used or the
programmable filter being used. Otherwise the filter behavior is undefined.
The coefficient data arrays are double buffered. Writing to the index / data
register will update the buffered value, and writing to
`PipeScalerWindowSize` will trigger the double buffering arm so that the
buffered values will be applied at the start of the next vertical blank.
This register's reserved fields are all MBZ (must be zero). So, this register
can be safely written without reading it first.
Helper class `PipeScalerCoefficients` can be used to read from / write to
the whole coefficient array.
This register is available in Tiger Lake only.
Tiger Lake: IHD-OS-TGL-Vol 2c-1.22-Rev 2.0 Part 2, Pages 992-994
Public Members
field_coefficient2_raw_549
field_coefficient1_raw_566
static const uint32_t kBaseAddr
Public Methods
template <, >
typename SelfType::ValueType coefficient2_raw ()
Stores the second coefficient stored in this register.
The value is stored in PipeScalerCoefficientFormat format.
Helper methods GetCoefficient2() and SetCoefficient2() can be used to get
set the value of this field.
Defined at line 549 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
template <, >
SelfType & set_coefficient2_raw (typename SelfType::ValueType val)
Stores the second coefficient stored in this register.
The value is stored in PipeScalerCoefficientFormat format.
Helper methods GetCoefficient2() and SetCoefficient2() can be used to get
set the value of this field.
Defined at line 549 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
PipeScalerCoefficientFormat coefficient2 ()
Helper method to get value of the second coefficient.
Defined at line 552 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
PipeScalerCoefficientData & set_coefficient2 (const PipeScalerCoefficientFormat & coefficient)
Helper method to set value of the second coefficient.
Defined at line 557 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
template <, >
typename SelfType::ValueType coefficient1_raw ()
Stores the first coefficient stored in this register.
The value is stored in PipeScalerCoefficientFormat format.
Helper methods GetCoefficient1() and SetCoefficient1() can be used to get
set the value of this field.
Defined at line 566 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
template <, >
SelfType & set_coefficient1_raw (typename SelfType::ValueType val)
Stores the first coefficient stored in this register.
The value is stored in PipeScalerCoefficientFormat format.
Helper methods GetCoefficient1() and SetCoefficient1() can be used to get
set the value of this field.
Defined at line 566 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
PipeScalerCoefficientFormat coefficient1 ()
Helper method to get value of the first coefficient.
Defined at line 569 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h
PipeScalerCoefficientData & set_coefficient1 (const PipeScalerCoefficientFormat & coefficient)
Helper method to set value of the first coefficient.
Defined at line 574 of file ../../src/graphics/display/drivers/intel-display/registers-pipe-scaler.h