---
name: "drm_primary_helper_update"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/drm_primary_helper_update"
---

# drm\_primary\_helper\_update(9)

Helper for primary plane update

## NAME

drm\_primary\_helper\_update - Helper for primary plane update

## SYNOPSIS

**int drm\_primary\_helper\_update(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***);**

## ARGUMENTS

*plane*

plane object to update

*crtc*

owning CRTC of owning plane

*fb*

framebuffer to flip onto plane

*crtc\_x*

x offset of primary plane on crtc

*crtc\_y*

y offset of primary plane on crtc

*crtc\_w*

width of primary plane rectangle on crtc

*crtc\_h*

height of primary plane rectangle on crtc

*src\_x*

x offset of *fb* for panning

*src\_y*

y offset of *fb* for panning

*src\_w*

width of source rectangle in *fb*

*src\_h*

height of source rectangle in *fb*

## DESCRIPTION

Provides a default plane update handler for primary planes. This is handler is called in response to a userspace SetPlane operation on the plane with a non-NULL framebuffer. We call the driver's modeset handler to update the framebuffer.

**SetPlane** on a primary plane of a disabled CRTC is not supported, and will return an error.

Note that we make some assumptions about hardware limitations that may not be true for all hardware -- 1) Primary plane cannot be repositioned. 2) Primary plane cannot be scaled. 3) Primary plane must cover the entire CRTC. 4) Subpixel positioning is not supported. Drivers for hardware that don't have these restrictions can provide their own implementation rather than using this helper.

## RETURNS

Zero on success, error code on failure

## AUTHORS

**Jesse Barnes** \<jesse.barnes@intel.com\>\
 Intel Corporation,

Initial version

**Laurent Pinchart** \<laurent.pinchart@ideasonboard.com\>\
 Ideas on board SPRL,

Driver internals

**Daniel Vetter** \<daniel.vetter@ffwll.ch\>\
 Intel Corporation,

Contributions all over the place

## COPYRIGHT
