---
name: "drm_plane_init"
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_plane_init"
---

# drm\_plane\_init(9)

Initialize a legacy plane

## NAME

drm\_plane\_init - Initialize a legacy plane

## SYNOPSIS

**int drm\_plane\_init(struct drm\_device \*** *dev***, struct drm\_plane \*** *plane***, unsigned long** *possible\_crtcs***, const struct drm\_plane\_funcs \*** *funcs***, const uint32\_t \*** *formats***, uint32\_t** *format\_count***, bool** *is\_primary***);**

## ARGUMENTS

*dev*

DRM device

*plane*

plane object to init

*possible\_crtcs*

bitmask of possible CRTCs

*funcs*

callbacks for the new plane

*formats*

array of supported formats (**DRM\_FORMAT\_**\*)

*format\_count*

number of elements in *formats*

*is\_primary*

plane type (primary vs overlay)

## DESCRIPTION

Legacy API to initialize a DRM plane.

New drivers should call **drm\_universal\_plane\_init** instead.

## 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
