class DisplayDevice
Defined at line 43 of file ../../src/graphics/display/drivers/intel-display/display-device.h
Public Methods
void DisplayDevice (Controller * controller, display::DisplayId id, DdiId ddi_id, DdiReference ddi_reference, Type type)
Defined at line 36 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
void ~DisplayDevice ()
Defined at line 46 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
bool CheckPixelRate (int64_t pixel_rate_hz)
void DisplayDevice (const DisplayDevice & )
Defined at line 55 of file ../../src/graphics/display/drivers/intel-display/display-device.h
void DisplayDevice (DisplayDevice && )
Defined at line 56 of file ../../src/graphics/display/drivers/intel-display/display-device.h
DisplayDevice & operator= (const DisplayDevice & )
Defined at line 57 of file ../../src/graphics/display/drivers/intel-display/display-device.h
DisplayDevice & operator= (DisplayDevice && )
Defined at line 58 of file ../../src/graphics/display/drivers/intel-display/display-device.h
void ApplyConfiguration (display::ModeId mode_id, const display::ColorConversion & color_conversion, cpp20::span<const display::DriverLayer> layers, display::DriverConfigStamp config_stamp)
Defined at line 155 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
bool Query ()
Query whether or not there is a display attached to this ddi. Does not
actually do any initialization - that is done by Init.
bool Init ()
Does display mode agnostic ddi initialization - subclasses implement InitDdi.
Defined at line 61 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
bool InitWithDdiPllConfig (const DdiPllConfig & pll_config)
Initialize the display based on existing hardware state. This method should be used instead of
Init() when a display PLL has already been powered up and configured (e.g. by the bootlader)
when the driver discovers the display. DDI initialization will not be performed in this case.
Defined at line 82 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
void InitBacklight ()
Initializes the display backlight for an already initialized display.
Defined at line 92 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
bool Resume ()
Resumes the ddi after suspend.
Defined at line 98 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
void LoadActiveMode ()
Loads ddi state from the hardware at driver startup.
Defined at line 108 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
AddedDisplayInfo CreateAddedDisplayInfo ()
std::optional<display::DisplayTiming> GetDisplayTiming (display::ModeId mode_id)
Returns the display timing corresponding to the given `mode_id`.
Returns nullopt if `mode_id` doesn't correspond to any timing parameters
supported by this display.
`mode_id` must be valid.
bool HandleHotplug (bool long_pulse)
Method to allow the display device to handle hotplug events. Returns
true if the device can handle the event without disconnecting. Otherwise
the device will be removed.
Defined at line 96 of file ../../src/graphics/display/drivers/intel-display/display-device.h
display::DisplayId id ()
Defined at line 98 of file ../../src/graphics/display/drivers/intel-display/display-device.h
DdiId ddi_id ()
Defined at line 99 of file ../../src/graphics/display/drivers/intel-display/display-device.h
Controller * controller ()
Defined at line 100 of file ../../src/graphics/display/drivers/intel-display/display-device.h
const std::optional<DdiReference> & ddi_reference ()
Defined at line 101 of file ../../src/graphics/display/drivers/intel-display/display-device.h
void set_pipe (Pipe * pipe)
Defined at line 103 of file ../../src/graphics/display/drivers/intel-display/display-device.h
Pipe * pipe ()
Defined at line 104 of file ../../src/graphics/display/drivers/intel-display/display-device.h
Type type ()
Defined at line 106 of file ../../src/graphics/display/drivers/intel-display/display-device.h
void set_type (Type type)
Defined at line 107 of file ../../src/graphics/display/drivers/intel-display/display-device.h
bool HasBacklight ()
Defined at line 109 of file ../../src/graphics/display/drivers/intel-display/display-device.h
zx::result<> SetBacklightState (bool power, double brightness)
Defined at line 110 of file ../../src/graphics/display/drivers/intel-display/display-device.h
zx::result<fuchsia_hardware_backlight::wire::State> GetBacklightState ()
Defined at line 113 of file ../../src/graphics/display/drivers/intel-display/display-device.h
Protected Methods
bool InitDdi ()
Attempts to initialize the ddi.
bool DdiModeset (const display::DisplayTiming & mode)
Configures the hardware to display content at the given resolution.
DdiPllConfig ComputeDdiPllConfig (int32_t pixel_clock_khz)
Returns an empty configuration if the desired pixel clock is unattainable.
Otherwise, the returned configuration is guaranteed to be valid.
int32_t LoadPixelRateForTranscoderKhz (TranscoderId transcoder_id)
Load the pixel rate from hardware if it's necessary when changing the
transcoder.
The return value is in kHz.
bool PipeConfigPreamble (const display::DisplayTiming & mode, PipeId pipe_id, TranscoderId transcoder_id)
Attaching a pipe to a display or configuring a pipe after display mode change has
3 steps. The second step is generic pipe configuration, whereas PipeConfigPreamble
and PipeConfigEpilogue are responsible for display-type-specific configuration that
must be done before and after the generic configuration.
bool PipeConfigEpilogue (const display::DisplayTiming & mode, PipeId pipe_id, TranscoderId transcoder_id)
bool CheckDisplayLimits (display::DisplayTiming display_timing, cpp20::span<const display::DriverLayer> layers)
Validates that a basic layer configuration can be supported for the
given modes of this display.
fdf::MmioBuffer * mmio_space ()
Defined at line 59 of file ../../src/graphics/display/drivers/intel-display/display-device.cc
bool InitBacklightHw ()
Defined at line 132 of file ../../src/graphics/display/drivers/intel-display/display-device.h
Enumerations
enum Type
| Name | Value |
|---|---|
| kEdp | 0 |
| kDp | 1 |
| kHdmi | 2 |
| kDvi | 3 |
Defined at line 45 of file ../../src/graphics/display/drivers/intel-display/display-device.h