Atomic Plane Helpers

The functions here are used by the atomic plane helper functions to implement legacy plane updates (i.e., drm_plane->update_plane() and drm_plane->disable_plane()). This allows plane updates to use the atomic state infrastructure and perform plane updates as separate prepare/check/commit/cleanup steps.

void intel_plane_destroy(struct drm_plane *plane)

destroy a plane

Parameters

struct drm_plane *plane

plane to destroy

Description

Common destruction function for all types of planes (primary, cursor, sprite).

struct drm_plane_state *intel_plane_duplicate_state(struct drm_plane *plane)

duplicate plane state

Parameters

struct drm_plane *plane

drm plane

Description

Allocates and returns a copy of the plane state (both common and Intel-specific) for the specified plane.

Return

The newly allocated plane state, or NULL on failure.

void intel_plane_destroy_state(struct drm_plane *plane, struct drm_plane_state *state)

destroy plane state

Parameters

struct drm_plane *plane

drm plane

struct drm_plane_state *state

state object to destroy

Description

Destroys the plane state (both common and Intel-specific) for the specified plane.

int intel_prepare_plane_fb(struct drm_plane *_plane, struct drm_plane_state *_new_plane_state)

Prepare fb for usage on plane

Parameters

struct drm_plane *_plane

drm plane to prepare for

struct drm_plane_state *_new_plane_state

the plane state being prepared

Description

Prepares a framebuffer for usage on a display plane. Generally this involves pinning the underlying object and updating the frontbuffer tracking bits. Some older platforms need special physical address handling for cursor planes.

Returns 0 on success, negative error code on failure.

void intel_cleanup_plane_fb(struct drm_plane *plane, struct drm_plane_state *_old_plane_state)

Cleans up an fb after plane use

Parameters

struct drm_plane *plane

drm plane to clean up for

struct drm_plane_state *_old_plane_state

the state from the previous modeset

Description

Cleans up a framebuffer that has just been removed from a plane.