struct_drm_panel_funcs(9) perform operations on a given panel

SYNOPSIS


struct drm_panel_funcs {
int (* disable) (struct drm_panel *panel);
int (* unprepare) (struct drm_panel *panel);
int (* prepare) (struct drm_panel *panel);
int (* enable) (struct drm_panel *panel);
int (* get_modes) (struct drm_panel *panel);
int (* get_timings) (struct drm_panel *panel, unsigned int num_timings,struct display_timing *timings);
};

MEMBERS

disable

disable panel (turn off back light, etc.)

unprepare

turn off panel

prepare

turn on panel and perform set up

enable

enable panel (turn on back light, etc.)

get_modes

add modes to the connector that the panel is attached to and return the number of modes added

get_timings

copy display timings into the provided array and return the number of display timings available

DESCRIPTION

The .prepare function is typically called before the display controller starts to transmit video data. Panel drivers can use this to turn the panel on and wait for it to become ready. If additional configuration is required (via a control bus such as I2C, SPI or DSI for example) this is a good time to do that.

After the display controller has started transmitting video data, it's safe to call the .enable function. This will typically enable the backlight to make the image on screen visible. Some panels require a certain amount of time or frames before the image is displayed. This function is responsible for taking this into account before enabling the backlight to avoid visual glitches.

Before stopping video transmission from the display controller it can be necessary to turn off the panel to avoid visual glitches. This is done in the .disable function. Analogously to .enable this typically involves turning off the backlight and waiting for some time to make sure no image is visible on the panel. It is then safe for the display controller to cease transmission of video data.

To save power when no video data is transmitted, a driver can power down the panel. This is the job of the .unprepare function.

AUTHORS

Jesse Barnes <[email protected]>
Intel Corporation,         
        

Initial version

Laurent Pinchart <[email protected]>
Ideas on board SPRL,         
        

Driver internals

Daniel Vetter <[email protected]>
Intel Corporation,         
        

Contributions all over the place

Lukas Wunner <[email protected]>

vga_switcheroo documentation

COPYRIGHT