/** * enum intel_dpll_id - possible DPLL ids * * Enumeration of possible IDs for a DPLL. Real shared dpll ids must be >= 0.
*/ enum intel_dpll_id { /** * @DPLL_ID_PRIVATE: non-shared dpll in use
*/
DPLL_ID_PRIVATE = -1,
/** * @DPLL_ID_PCH_PLL_A: DPLL A in ILK, SNB and IVB
*/
DPLL_ID_PCH_PLL_A = 0, /** * @DPLL_ID_PCH_PLL_B: DPLL B in ILK, SNB and IVB
*/
DPLL_ID_PCH_PLL_B = 1,
struct skl_dpll_hw_state { /* * DPLL_CTRL1 has 6 bits for each each this DPLL. We store those in * lower part of ctrl1 and they get shifted into position when writing * the register. This allows us to easily compare the state to share * the DPLL.
*/
u32 ctrl1; /* HDMI only, 0 when used for DP */
u32 cfgcr1, cfgcr2;
};
/** * struct intel_dpll_state - hold the DPLL atomic state * * This structure holds an atomic state for the DPLL, that can represent * either its current state (in struct &intel_shared_dpll) or a desired * future state which would be applied by an atomic mode set (stored in * a struct &intel_atomic_state). * * See also intel_reserve_shared_dplls() and intel_release_shared_dplls().
*/ struct intel_dpll_state { /** * @pipe_mask: mask of pipes using this DPLL, active or not
*/
u8 pipe_mask;
/** * @hw_state: hardware configuration for the DPLL stored in * struct &intel_dpll_hw_state.
*/ struct intel_dpll_hw_state hw_state;
};
/** * struct dpll_info - display PLL platform specific info
*/ struct dpll_info { /** * @name: DPLL name; used for logging
*/ constchar *name;
/** * @funcs: platform specific hooks
*/ conststruct intel_dpll_funcs *funcs;
/** * @id: unique identifier for this DPLL
*/ enum intel_dpll_id id;
/** * @power_domain: extra power domain required by the DPLL
*/ enum intel_display_power_domain power_domain;
/** * @always_on: * * Inform the state checker that the DPLL is kept enabled even if * not in use by any CRTC.
*/ bool always_on;
/** * @is_alt_port_dpll: * * Inform the state checker that the DPLL can be used as a fallback * (for TC->TBT fallback).
*/ bool is_alt_port_dpll;
};
/** * struct intel_dpll - display PLL with tracked state and users
*/ struct intel_dpll { /** * @state: * * Store the state for the pll, including its hw state * and CRTCs using it.
*/ struct intel_dpll_state state;
/** * @index: index for atomic state
*/
u8 index;
/** * @active_mask: mask of active pipes (i.e. DPMS on) using this DPLL
*/
u8 active_mask;
/** * @on: is the PLL actually active? Disabled during modeset
*/ bool on;
/** * @info: platform specific info
*/ conststruct dpll_info *info;
/** * @wakeref: In some platforms a device-level runtime pm reference may * need to be grabbed to disable DC states while this DPLL is enabled
*/
intel_wakeref_t wakeref;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.