#[non_exhaustive]pub struct SourceTestConfig {
pub txffe_pre_shoot_only: bool,
pub txffe_de_emphasis_only: bool,
pub txffe_no_ffe: bool,
pub flt_no_timeout: bool,
pub dsc_frl_max: bool,
pub frl_max: bool,
}Expand description
Source_Test_Configuration (0x35): instructions a compliance tester writes for the
source. Bits 0 and 4 are reserved.
Mirrors culvert’s SourceTestConfig field for field; plumbob records all six bits in
TrainingEvent::SourceTestConfigRead.
plumbob acts on flt_no_timeout, and passes the three TxFFE bits to the PHY with
every equalization (as TxFfeRestrictions, re-sent when a
Source_Test_Update seen in LTS:3 or LTS:P changes them). frl_max and
dsc_frl_max ask the source to train at its highest rate; which rates to train at is
the caller’s choice, so the layer that builds the rate list reads this register
(through its SCDC implementation) before training and honours them there. Build one
with new, or from the default (no bit set) by setting fields.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.txffe_pre_shoot_only: boolBit 1: use pre-shoot only for TxFFE.
txffe_de_emphasis_only: boolBit 2: use de-emphasis only for TxFFE.
txffe_no_ffe: boolBit 3: use no TxFFE.
flt_no_timeout: boolBit 5: the source should not time out link training. plumbob then suspends the
LTS:2, LTS:3 and LTS:P poll limits (up to no_timeout_poll_cap).
dsc_frl_max: boolBit 6: the source should use the maximum FRL rate with DSC. With frl_max also
set, the Amlogic (citing the specification) and NVIDIA drivers act on neither; the
AMD driver trains at the maximum rate.
frl_max: boolBit 7: the source should use the maximum FRL rate. With dsc_frl_max also set, the
Amlogic (citing the specification) and NVIDIA drivers act on neither; the AMD
driver trains at the maximum rate.
Implementations§
Trait Implementations§
Source§impl Clone for SourceTestConfig
impl Clone for SourceTestConfig
Source§fn clone(&self) -> SourceTestConfig
fn clone(&self) -> SourceTestConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more