XenevaOS
Loading...
Searching...
No Matches
Macros | Functions
drm_atomic_helper.h File Reference
#include <drm/drm_crtc.h>
#include <drm/drm_modeset_helper_vtables.h>
#include <drm/drm_modeset_helper.h>
#include <drm/drm_atomic_state_helper.h>
#include <drm/drm_util.h>
Include dependency graph for drm_atomic_helper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DRM_PLANE_NO_SCALING   (1<<16)
 
#define DRM_PLANE_COMMIT_ACTIVE_ONLY   BIT(0)
 
#define DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET   BIT(1)
 
#define drm_atomic_crtc_for_each_plane(plane, crtc)    drm_for_each_plane_mask(plane, (crtc)->dev, (crtc)->state->plane_mask)
 
#define drm_atomic_crtc_state_for_each_plane(plane, crtc_state)    drm_for_each_plane_mask(plane, (crtc_state)->state->dev, (crtc_state)->plane_mask)
 
#define drm_atomic_crtc_state_for_each_plane_state(plane, plane_state, crtc_state)
 

Functions

int drm_atomic_helper_check_modeset (struct drm_device *dev, struct drm_atomic_commit *state)
 
int drm_atomic_helper_check_wb_connector_state (struct drm_connector *connector, struct drm_atomic_commit *state)
 
int drm_atomic_helper_check_plane_state (struct drm_plane_state *plane_state, const struct drm_crtc_state *crtc_state, int min_scale, int max_scale, bool can_position, bool can_update_disabled)
 
int drm_atomic_helper_check_planes (struct drm_device *dev, struct drm_atomic_commit *state)
 
int drm_atomic_helper_check_crtc_primary_plane (struct drm_crtc_state *crtc_state)
 
void drm_atomic_helper_commit_encoder_bridge_disable (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_crtc_disable (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_encoder_bridge_post_disable (struct drm_device *dev, struct drm_atomic_commit *state)
 
int drm_atomic_helper_check (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_tail (struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_tail_rpm (struct drm_atomic_commit *state)
 
int drm_atomic_helper_commit (struct drm_device *dev, struct drm_atomic_commit *state, bool nonblock)
 
int drm_atomic_helper_async_check (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_async_commit (struct drm_device *dev, struct drm_atomic_commit *state)
 
int drm_atomic_helper_wait_for_fences (struct drm_device *dev, struct drm_atomic_commit *state, bool pre_swap)
 
void drm_atomic_helper_wait_for_vblanks (struct drm_device *dev, struct drm_atomic_commit *old_state)
 
void drm_atomic_helper_wait_for_flip_done (struct drm_device *dev, struct drm_atomic_commit *old_state)
 
void drm_atomic_helper_update_legacy_modeset_state (struct drm_device *dev, struct drm_atomic_commit *old_state)
 
void drm_atomic_helper_calc_timestamping_constants (struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_crtc_set_mode (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_modeset_disables (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_writebacks (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_encoder_bridge_pre_enable (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_crtc_enable (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_encoder_bridge_enable (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_modeset_enables (struct drm_device *dev, struct drm_atomic_commit *old_state)
 
int drm_atomic_helper_prepare_planes (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_unprepare_planes (struct drm_device *dev, struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_planes (struct drm_device *dev, struct drm_atomic_commit *state, uint32_t flags)
 
void drm_atomic_helper_cleanup_planes (struct drm_device *dev, struct drm_atomic_commit *old_state)
 
void drm_atomic_helper_commit_planes_on_crtc (struct drm_crtc_state *old_crtc_state)
 
void drm_atomic_helper_disable_planes_on_crtc (struct drm_crtc_state *old_crtc_state, bool atomic)
 
int __must_check drm_atomic_helper_swap_state (struct drm_atomic_commit *state, bool stall)
 
int drm_atomic_helper_setup_commit (struct drm_atomic_commit *state, bool nonblock)
 
void drm_atomic_helper_wait_for_dependencies (struct drm_atomic_commit *state)
 
void drm_atomic_helper_fake_vblank (struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_hw_done (struct drm_atomic_commit *state)
 
void drm_atomic_helper_commit_cleanup_done (struct drm_atomic_commit *state)
 
int drm_atomic_helper_update_plane (struct drm_plane *plane, struct drm_crtc *crtc, struct drm_framebuffer *fb, int crtc_x, int crtc_y, unsigned int crtc_w, unsigned int crtc_h, uint32_t src_x, uint32_t src_y, uint32_t src_w, uint32_t src_h, struct drm_modeset_acquire_ctx *ctx)
 
int drm_atomic_helper_disable_plane (struct drm_plane *plane, struct drm_modeset_acquire_ctx *ctx)
 
int drm_atomic_helper_set_config (struct drm_mode_set *set, struct drm_modeset_acquire_ctx *ctx)
 
int drm_atomic_helper_disable_all (struct drm_device *dev, struct drm_modeset_acquire_ctx *ctx)
 
int drm_atomic_helper_reset_crtc (struct drm_crtc *crtc, struct drm_modeset_acquire_ctx *ctx)
 
void drm_atomic_helper_shutdown (struct drm_device *dev)
 
struct drm_atomic_commit * drm_atomic_helper_duplicate_state (struct drm_device *dev, struct drm_modeset_acquire_ctx *ctx)
 
struct drm_atomic_commit * drm_atomic_helper_suspend (struct drm_device *dev)
 
int drm_atomic_helper_commit_duplicated_state (struct drm_atomic_commit *state, struct drm_modeset_acquire_ctx *ctx)
 
int drm_atomic_helper_resume (struct drm_device *dev, struct drm_atomic_commit *state)
 
int drm_atomic_helper_page_flip (struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event, uint32_t flags, struct drm_modeset_acquire_ctx *ctx)
 
int drm_atomic_helper_page_flip_target (struct drm_crtc *crtc, struct drm_framebuffer *fb, struct drm_pending_vblank_event *event, uint32_t flags, uint32_t target, struct drm_modeset_acquire_ctx *ctx)
 
u32 * drm_atomic_helper_bridge_propagate_bus_fmt (struct drm_bridge *bridge, struct drm_bridge_state *bridge_state, struct drm_crtc_state *crtc_state, struct drm_connector_state *conn_state, u32 output_fmt, unsigned int *num_input_fmts)
 

Macro Definition Documentation

◆ drm_atomic_crtc_for_each_plane

#define drm_atomic_crtc_for_each_plane (   plane,
  crtc 
)     drm_for_each_plane_mask(plane, (crtc)->dev, (crtc)->state->plane_mask)

drm_atomic_crtc_for_each_plane - iterate over planes currently attached to CRTC @plane: the loop cursor @crtc: the CRTC whose planes are iterated

This iterates over the current state, useful (for example) when applying atomic state after it has been checked and swapped. To iterate over the planes which will be attached (more useful in code called from &drm_mode_config_funcs.atomic_check) see drm_atomic_crtc_state_for_each_plane().

◆ drm_atomic_crtc_state_for_each_plane

#define drm_atomic_crtc_state_for_each_plane (   plane,
  crtc_state 
)     drm_for_each_plane_mask(plane, (crtc_state)->state->dev, (crtc_state)->plane_mask)

drm_atomic_crtc_state_for_each_plane - iterate over attached planes in new state @plane: the loop cursor @crtc_state: the incoming CRTC state

Similar to drm_crtc_for_each_plane(), but iterates the planes that will be attached if the specified state is applied. Useful during for example in code called from &drm_mode_config_funcs.atomic_check operations, to validate the incoming state.

◆ drm_atomic_crtc_state_for_each_plane_state

#define drm_atomic_crtc_state_for_each_plane_state (   plane,
  plane_state,
  crtc_state 
)
Value:
drm_for_each_plane_mask(plane, (crtc_state)->state->dev, (crtc_state)->plane_mask) \
for_each_if ((plane_state = \
__drm_atomic_get_current_plane_state((crtc_state)->state, \
plane)))
struct drm_plane * plane
Definition drm_plane.h:828
#define drm_for_each_plane_mask(plane, dev, plane_mask)
Definition drm_plane.h:981
struct drm_device * dev
Definition drm_plane.h:643
#define state(x)

drm_atomic_crtc_state_for_each_plane_state - iterate over attached planes in new state @plane: the loop cursor @plane_state: loop cursor for the plane's state, must be const @crtc_state: the incoming CRTC state

Similar to drm_crtc_for_each_plane(), but iterates the planes that will be attached if the specified state is applied. Useful during for example in code called from &drm_mode_config_funcs.atomic_check operations, to validate the incoming state.

Compared to just drm_atomic_crtc_state_for_each_plane() this also fills in a const plane_state. This is useful when a driver just wants to peek at other active planes on this CRTC, but does not need to change it.

◆ DRM_PLANE_COMMIT_ACTIVE_ONLY

#define DRM_PLANE_COMMIT_ACTIVE_ONLY   BIT(0)

◆ DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET

#define DRM_PLANE_COMMIT_NO_DISABLE_AFTER_MODESET   BIT(1)

◆ DRM_PLANE_NO_SCALING

#define DRM_PLANE_NO_SCALING   (1<<16)

Function Documentation

◆ drm_atomic_helper_async_check()

int drm_atomic_helper_async_check ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_async_commit()

void drm_atomic_helper_async_commit ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_bridge_propagate_bus_fmt()

u32 * drm_atomic_helper_bridge_propagate_bus_fmt ( struct drm_bridge *  bridge,
struct drm_bridge_state *  bridge_state,
struct drm_crtc_state *  crtc_state,
struct drm_connector_state *  conn_state,
u32  output_fmt,
unsigned int *  num_input_fmts 
)

◆ drm_atomic_helper_calc_timestamping_constants()

void drm_atomic_helper_calc_timestamping_constants ( struct drm_atomic_commit *  state)

◆ drm_atomic_helper_check()

int drm_atomic_helper_check ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_check_crtc_primary_plane()

int drm_atomic_helper_check_crtc_primary_plane ( struct drm_crtc_state *  crtc_state)

◆ drm_atomic_helper_check_modeset()

int drm_atomic_helper_check_modeset ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_check_plane_state()

int drm_atomic_helper_check_plane_state ( struct drm_plane_state *  plane_state,
const struct drm_crtc_state *  crtc_state,
int  min_scale,
int  max_scale,
bool  can_position,
bool  can_update_disabled 
)

◆ drm_atomic_helper_check_planes()

int drm_atomic_helper_check_planes ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_check_wb_connector_state()

int drm_atomic_helper_check_wb_connector_state ( struct drm_connector *  connector,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_cleanup_planes()

void drm_atomic_helper_cleanup_planes ( struct drm_device *  dev,
struct drm_atomic_commit *  old_state 
)

◆ drm_atomic_helper_commit()

int drm_atomic_helper_commit ( struct drm_device *  dev,
struct drm_atomic_commit *  state,
bool  nonblock 
)

◆ drm_atomic_helper_commit_cleanup_done()

void drm_atomic_helper_commit_cleanup_done ( struct drm_atomic_commit *  state)

◆ drm_atomic_helper_commit_crtc_disable()

void drm_atomic_helper_commit_crtc_disable ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_crtc_enable()

void drm_atomic_helper_commit_crtc_enable ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_crtc_set_mode()

void drm_atomic_helper_commit_crtc_set_mode ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_duplicated_state()

int drm_atomic_helper_commit_duplicated_state ( struct drm_atomic_commit *  state,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_commit_encoder_bridge_disable()

void drm_atomic_helper_commit_encoder_bridge_disable ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_encoder_bridge_enable()

void drm_atomic_helper_commit_encoder_bridge_enable ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_encoder_bridge_post_disable()

void drm_atomic_helper_commit_encoder_bridge_post_disable ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_encoder_bridge_pre_enable()

void drm_atomic_helper_commit_encoder_bridge_pre_enable ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_hw_done()

void drm_atomic_helper_commit_hw_done ( struct drm_atomic_commit *  state)

◆ drm_atomic_helper_commit_modeset_disables()

void drm_atomic_helper_commit_modeset_disables ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_commit_modeset_enables()

void drm_atomic_helper_commit_modeset_enables ( struct drm_device *  dev,
struct drm_atomic_commit *  old_state 
)

◆ drm_atomic_helper_commit_planes()

void drm_atomic_helper_commit_planes ( struct drm_device *  dev,
struct drm_atomic_commit *  state,
uint32_t  flags 
)

◆ drm_atomic_helper_commit_planes_on_crtc()

void drm_atomic_helper_commit_planes_on_crtc ( struct drm_crtc_state *  old_crtc_state)

◆ drm_atomic_helper_commit_tail()

void drm_atomic_helper_commit_tail ( struct drm_atomic_commit *  state)

◆ drm_atomic_helper_commit_tail_rpm()

void drm_atomic_helper_commit_tail_rpm ( struct drm_atomic_commit *  state)

◆ drm_atomic_helper_commit_writebacks()

void drm_atomic_helper_commit_writebacks ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_disable_all()

int drm_atomic_helper_disable_all ( struct drm_device *  dev,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_disable_plane()

int drm_atomic_helper_disable_plane ( struct drm_plane *  plane,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_disable_planes_on_crtc()

void drm_atomic_helper_disable_planes_on_crtc ( struct drm_crtc_state *  old_crtc_state,
bool  atomic 
)

◆ drm_atomic_helper_duplicate_state()

struct drm_atomic_commit * drm_atomic_helper_duplicate_state ( struct drm_device *  dev,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_fake_vblank()

void drm_atomic_helper_fake_vblank ( struct drm_atomic_commit *  state)

◆ drm_atomic_helper_page_flip()

int drm_atomic_helper_page_flip ( struct drm_crtc *  crtc,
struct drm_framebuffer *  fb,
struct drm_pending_vblank_event *  event,
uint32_t  flags,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_page_flip_target()

int drm_atomic_helper_page_flip_target ( struct drm_crtc *  crtc,
struct drm_framebuffer *  fb,
struct drm_pending_vblank_event *  event,
uint32_t  flags,
uint32_t  target,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_prepare_planes()

int drm_atomic_helper_prepare_planes ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_reset_crtc()

int drm_atomic_helper_reset_crtc ( struct drm_crtc *  crtc,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_resume()

int drm_atomic_helper_resume ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_set_config()

int drm_atomic_helper_set_config ( struct drm_mode_set *  set,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_setup_commit()

int drm_atomic_helper_setup_commit ( struct drm_atomic_commit *  state,
bool  nonblock 
)

◆ drm_atomic_helper_shutdown()

void drm_atomic_helper_shutdown ( struct drm_device *  dev)

◆ drm_atomic_helper_suspend()

struct drm_atomic_commit * drm_atomic_helper_suspend ( struct drm_device *  dev)

◆ drm_atomic_helper_swap_state()

int __must_check drm_atomic_helper_swap_state ( struct drm_atomic_commit *  state,
bool  stall 
)

◆ drm_atomic_helper_unprepare_planes()

void drm_atomic_helper_unprepare_planes ( struct drm_device *  dev,
struct drm_atomic_commit *  state 
)

◆ drm_atomic_helper_update_legacy_modeset_state()

void drm_atomic_helper_update_legacy_modeset_state ( struct drm_device *  dev,
struct drm_atomic_commit *  old_state 
)

◆ drm_atomic_helper_update_plane()

int drm_atomic_helper_update_plane ( struct drm_plane *  plane,
struct drm_crtc *  crtc,
struct drm_framebuffer *  fb,
int  crtc_x,
int  crtc_y,
unsigned int  crtc_w,
unsigned int  crtc_h,
uint32_t  src_x,
uint32_t  src_y,
uint32_t  src_w,
uint32_t  src_h,
struct drm_modeset_acquire_ctx *  ctx 
)

◆ drm_atomic_helper_wait_for_dependencies()

void drm_atomic_helper_wait_for_dependencies ( struct drm_atomic_commit *  state)

◆ drm_atomic_helper_wait_for_fences()

int drm_atomic_helper_wait_for_fences ( struct drm_device *  dev,
struct drm_atomic_commit *  state,
bool  pre_swap 
)

◆ drm_atomic_helper_wait_for_flip_done()

void drm_atomic_helper_wait_for_flip_done ( struct drm_device *  dev,
struct drm_atomic_commit *  old_state 
)

◆ drm_atomic_helper_wait_for_vblanks()

void drm_atomic_helper_wait_for_vblanks ( struct drm_device *  dev,
struct drm_atomic_commit *  old_state 
)