---
name: "drm_gtf_mode_complex"
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_gtf_mode_complex"
---

# drm\_gtf\_mode\_complex(9)

create the modeline based on the full GTF algorithm

## NAME

drm\_gtf\_mode\_complex - create the modeline based on the full GTF algorithm

## SYNOPSIS

**struct drm\_display\_mode \* drm\_gtf\_mode\_complex(struct drm\_device \*** *dev***, int** *hdisplay***, int** *vdisplay***, int** *vrefresh***, bool** *interlaced***, int** *margins***, int** *GTF\_M***, int** *GTF\_2C***, int** *GTF\_K***, int** *GTF\_2J***);**

## ARGUMENTS

*dev*

drm device

*hdisplay*

hdisplay size

*vdisplay*

vdisplay size

*vrefresh*

vrefresh rate.

*interlaced*

whether to compute an interlaced mode

*margins*

desired margin (borders) size

*GTF\_M*

extended GTF formula parameters

*GTF\_2C*

extended GTF formula parameters

*GTF\_K*

extended GTF formula parameters

*GTF\_2J*

extended GTF formula parameters

## DESCRIPTION

GTF feature blocks specify C and J in multiples of 0.5, so we pass them in here multiplied by two. For a C of 40, pass in 80.

## RETURNS

The modeline based on the full GTF algorithm stored in a drm\_display\_mode object. The display mode object is allocated with **drm\_mode\_create**. Returns NULL when no mode could be allocated.

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