Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8cbf3202 authored by Daniel Vetter's avatar Daniel Vetter
Browse files

Merge remote-tracking branch 'airlied/drm-next' into HEAD



Backmerge drm-next after the big s/crtc->fb/crtc->primary->fb/
cocinelle patch to avoid endless amounts of conflict hilarity in my
-next queue for 3.16.

Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parents 04feced9 c39b0695
Loading
Loading
Loading
Loading
+43 −7
Original line number Diff line number Diff line
@@ -1194,7 +1194,7 @@ int max_width, max_height;</synopsis>
          pointer to CRTC functions.
        </para>
      </sect3>
      <sect3>
      <sect3 id="drm-kms-crtcops">
        <title>CRTC Operations</title>
        <sect4>
          <title>Set Configuration</title>
@@ -1335,15 +1335,47 @@ int max_width, max_height;</synopsis>
	optionally scale it to a destination size. The result is then blended
	with or overlayed on top of a CRTC.
      </para>
      <para>
      The DRM core recognizes three types of planes:
      <itemizedlist>
        <listitem>
        DRM_PLANE_TYPE_PRIMARY represents a "main" plane for a CRTC.  Primary
        planes are the planes operated upon by by CRTC modesetting and flipping
        operations described in <xref linkend="drm-kms-crtcops"/>.
        </listitem>
        <listitem>
        DRM_PLANE_TYPE_CURSOR represents a "cursor" plane for a CRTC.  Cursor
        planes are the planes operated upon by the DRM_IOCTL_MODE_CURSOR and
        DRM_IOCTL_MODE_CURSOR2 ioctls.
        </listitem>
        <listitem>
        DRM_PLANE_TYPE_OVERLAY represents all non-primary, non-cursor planes.
        Some drivers refer to these types of planes as "sprites" internally.
        </listitem>
      </itemizedlist>
      For compatibility with legacy userspace, only overlay planes are made
      available to userspace by default.  Userspace clients may set the
      DRM_CLIENT_CAP_UNIVERSAL_PLANES client capability bit to indicate that
      they wish to receive a universal plane list containing all plane types.
      </para>
      <sect3>
        <title>Plane Initialization</title>
        <para>
          Planes are optional. To create a plane, a KMS drivers allocates and
          To create a plane, a KMS drivers allocates and
          zeroes an instances of struct <structname>drm_plane</structname>
          (possibly as part of a larger structure) and registers it with a call
          to <function>drm_plane_init</function>. The function takes a bitmask
          to <function>drm_universal_plane_init</function>. The function takes a bitmask
          of the CRTCs that can be associated with the plane, a pointer to the
          plane functions and a list of format supported formats.
          plane functions, a list of format supported formats, and the type of
          plane (primary, cursor, or overlay) being initialized.
        </para>
        <para>
          Cursor and overlay planes are optional.  All drivers should provide
          one primary plane per CRTC (although this requirement may change in
          the future); drivers that do not wish to provide special handling for
          primary planes may make use of the helper functions described in
          <xref linkend="drm-kms-planehelpers"/> to create and register a
          primary plane with standard capabilities.
        </para>
      </sect3>
      <sect3>
@@ -1774,7 +1806,7 @@ void intel_crt_init(struct drm_device *dev)
  <sect1>
    <title>Mode Setting Helper Functions</title>
    <para>
      The CRTC, encoder and connector functions provided by the drivers
      The plane, CRTC, encoder and connector functions provided by the drivers
      implement the DRM API. They're called by the DRM core and ioctl handlers
      to handle device state changes and configuration request. As implementing
      those functions often requires logic not specific to drivers, mid-layer
@@ -1782,8 +1814,8 @@ void intel_crt_init(struct drm_device *dev)
    </para>
    <para>
      The DRM core contains one mid-layer implementation. The mid-layer provides
      implementations of several CRTC, encoder and connector functions (called
      from the top of the mid-layer) that pre-process requests and call
      implementations of several plane, CRTC, encoder and connector functions
      (called from the top of the mid-layer) that pre-process requests and call
      lower-level functions provided by the driver (at the bottom of the
      mid-layer). For instance, the
      <function>drm_crtc_helper_set_config</function> function can be used to
@@ -2293,6 +2325,10 @@ void intel_crt_init(struct drm_device *dev)
!Iinclude/linux/hdmi.h
!Edrivers/video/hdmi.c
    </sect2>
    <sect2>
      <title id="drm-kms-planehelpers">Plane Helper Reference</title>
!Edrivers/gpu/drm/drm_plane_helper.c Plane Helpers
    </sect2>
  </sect1>

  <!-- Internals: kms properties -->
+27 −0
Original line number Diff line number Diff line
ptn3460 bridge bindings

Required properties:
	- compatible: "nxp,ptn3460"
	- reg: i2c address of the bridge
	- powerdown-gpio: OF device-tree gpio specification
	- reset-gpio: OF device-tree gpio specification
	- edid-emulation: The EDID emulation entry to use
		+-------+------------+------------------+
		| Value | Resolution | Description      |
		|   0   |  1024x768  | NXP Generic      |
		|   1   |  1920x1080 | NXP Generic      |
		|   2   |  1920x1080 | NXP Generic      |
		|   3   |  1600x900  | Samsung LTM200KT |
		|   4   |  1920x1080 | Samsung LTM230HT |
		|   5   |  1366x768  | NXP Generic      |
		|   6   |  1600x900  | ChiMei M215HGE   |
		+-------+------------+------------------+

Example:
	lvds-bridge@20 {
		compatible = "nxp,ptn3460";
		reg = <0x20>;
		powerdown-gpio = <&gpy2 5 1 0 0>;
		reset-gpio = <&gpx1 5 1 0 0>;
		edid-emulation = <5>;
	};
+42 −0
Original line number Diff line number Diff line
@@ -190,6 +190,48 @@ of the following host1x client modules:
  - nvidia,edid: supplies a binary EDID blob
  - nvidia,panel: phandle of a display panel

- sor: serial output resource

  Required properties:
  - compatible: "nvidia,tegra124-sor"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
  - clocks: Must contain an entry for each entry in clock-names.
    See ../clocks/clock-bindings.txt for details.
  - clock-names: Must include the following entries:
    - sor: clock input for the SOR hardware
    - parent: input for the pixel clock
    - dp: reference clock for the SOR clock
    - safe: safe reference for the SOR clock during power up
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - sor

  Optional properties:
  - nvidia,ddc-i2c-bus: phandle of an I2C controller used for DDC EDID probing
  - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
  - nvidia,edid: supplies a binary EDID blob
  - nvidia,panel: phandle of a display panel

  Optional properties when driving an eDP output:
  - nvidia,dpaux: phandle to a DispayPort AUX interface

- dpaux: DisplayPort AUX interface
  - compatible: "nvidia,tegra124-dpaux"
  - reg: Physical base address and length of the controller's registers.
  - interrupts: The interrupt outputs from the controller.
  - clocks: Must contain an entry for each entry in clock-names.
    See ../clocks/clock-bindings.txt for details.
  - clock-names: Must include the following entries:
    - dpaux: clock input for the DPAUX hardware
    - parent: reference clock
  - resets: Must contain an entry for each entry in reset-names.
    See ../reset/reset.txt for details.
  - reset-names: Must include the following entries:
    - dpaux
  - vdd-supply: phandle of a supply that powers the DisplayPort link

Example:

/ {
+7 −0
Original line number Diff line number Diff line
LG Corporation 7" WXGA TFT LCD panel

Required properties:
- compatible: should be "lg,ld070wx3-sl01"

This binding is compatible with the simple-panel binding, which is specified
in simple-panel.txt in this directory.
+7 −0
Original line number Diff line number Diff line
LG Corporation 5" HD TFT LCD panel

Required properties:
- compatible: should be "lg,lh500wx1-sd03"

This binding is compatible with the simple-panel binding, which is specified
in simple-panel.txt in this directory.
Loading