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

Commit 98406505 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux

Pull drm updates from Dave Airlie:
 "This is the main drm pull request for 4.5.  I don't think I've missed
  anything too major, I'm mostly back at work now but I'll probably get
  some sleep in 5 years time.

  Summary:

  New drivers:
   - etnaviv:

     GPU driver for the 3D core on the Vivante core used in numerous
     ARM boards.

  Highlights:

  Core:
   - Atomic suspend/resume helpers
   - Move the headers to using userspace friendlier types.
   - Documentation updates
   - Lots of struct_mutex removal.
   - Bunch of DP MST fixes from AMD.

  Panel:
   - More DSI helpers
   - Support for some new basic panels

  i915:
   - Basic Kabylake support
   - DP link training and detect code refactoring
   - fbc/psr fixes
   - FIFO underrun fixes
   - SDE interrupt handling fixes
   - dma-buf/fence support in pageflip path.
   - GPU side for MST audio support

  radeon/amdgpu:
   - Drop UMS support
   - GPUVM/Scheduler optimisations
   - Initial Powerplay support for Tonga/Fiji/CZ/ST
   - ACP audio prerequisites

  nouveau:
   - GK20a instmem improvements
   - PCIE link speed change support

  msm:
   - DSI support for msm8960/apq8064

  tegra:
   - Host1X support for Tegra210 SoC

  vc4:
   - 3D acceleration support

  armada:
   - Get rid of struct mutex

  tda998x:
   - Atomic modesetting support
   - TMDS clock limitations

  omapdrm:
   - Atomic modesetting support
   - improved TILER performance

  rockchip:
   - RK3036 VOP support
   - Atomic modesetting support
   - Synopsys DW MIPI DSI support

  exynos:
   - Runtime PM support
   - of_graph binding for DP panels
   - Cleanup of IPP code
   - Configurable plane support
   - Kernel panic fixes at release time"

* 'drm-next' of git://people.freedesktop.org/~airlied/linux: (711 commits)
  drm/fb_cma_helper: Remove implicit call to disable_unused_functions
  drm/amdgpu: add missing irq.h include
  drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updates
  drm/vmwgfx: Fix an incorrect lock check
  drm: nouveau: fix nouveau_debugfs_init prototype
  drm/nouveau/pci: fix check in nvkm_pcie_set_link
  drm/amdgpu: validate duplicates first
  drm/amdgpu: move VM page tables to the LRU end on CS v2
  drm/ttm: add ttm_bo_move_to_lru_tail function v2
  drm/ttm: fix adding foreign BOs to the swap LRU
  drm/ttm: fix adding foreign BOs to the LRU during init v2
  drm/radeon: use kobj_to_dev()
  drm/amdgpu: use kobj_to_dev()
  drm/amdgpu/cz: force vce clocks when sclks are forced
  drm/amdgpu/cz: force uvd clocks when sclks are forced
  drm/amdgpu/cz: add code to enable forcing VCE clocks
  drm/amdgpu/cz: add code to enable forcing UVD clocks
  drm/amdgpu: fix lost sync_to if scheduler is enabled.
  drm/amd/powerplay: fix static checker warning for return meaningless value.
  drm/sysfs: use kobj_to_dev()
  ...
parents 12768c1e 1df59b84
Loading
Loading
Loading
Loading
+88 −855

File changed.

Preview size limit exceeded, changes collapsed.

+54 −0
Original line number Diff line number Diff line
Etnaviv DRM master device
=========================

The Etnaviv DRM master device is a virtual device needed to list all
Vivante GPU cores that comprise the GPU subsystem.

Required properties:
- compatible: Should be one of
    "fsl,imx-gpu-subsystem"
    "marvell,dove-gpu-subsystem"
- cores: Should contain a list of phandles pointing to Vivante GPU devices

example:

gpu-subsystem {
	compatible = "fsl,imx-gpu-subsystem";
	cores = <&gpu_2d>, <&gpu_3d>;
};


Vivante GPU core devices
========================

Required properties:
- compatible: Should be "vivante,gc"
  A more specific compatible is not needed, as the cores contain chip
  identification registers at fixed locations, which provide all the
  necessary information to the driver.
- reg: should be register base and length as documented in the
  datasheet
- interrupts: Should contain the cores interrupt line
- clocks: should contain one clock for entry in clock-names
  see Documentation/devicetree/bindings/clock/clock-bindings.txt
- clock-names:
   - "bus":    AXI/register clock
   - "core":   GPU core clock
   - "shader": Shader clock (only required if GPU has feature PIPE_3D)

Optional properties:
- power-domains: a power domain consumer specifier according to
  Documentation/devicetree/bindings/power/power_domain.txt

example:

gpu_3d: gpu@00130000 {
	compatible = "vivante,gc";
	reg = <0x00130000 0x4000>;
	interrupts = <0 9 IRQ_TYPE_LEVEL_HIGH>;
	clocks = <&clks IMX6QDL_CLK_GPU3D_AXI>,
	         <&clks IMX6QDL_CLK_GPU3D_CORE>,
	         <&clks IMX6QDL_CLK_GPU3D_SHADER>;
	clock-names = "bus", "core", "shader";
	power-domains = <&gpc 1>;
};
+37 −4
Original line number Diff line number Diff line
Device-Tree bindings for Samsung Exynos Embedded DisplayPort Transmitter(eDP)

DisplayPort is industry standard to accommodate the growing board adoption
of digital display technology within the PC and CE industries.
It consolidates the internal and external connection methods to reduce device
complexity and cost. It also supports necessary features for important cross
industry applications and provides performance scalability to enable the next
generation of displays that feature higher color depths, refresh rates, and
display resolutions.

eDP (embedded display port) device is compliant with Embedded DisplayPort
standard as follows,
- DisplayPort standard 1.1a for Exynos5250 and Exynos5260.
- DisplayPort standard 1.3 for Exynos5422s and Exynos5800.

eDP resides between FIMD and panel or FIMD and bridge such as LVDS.

The Exynos display port interface should be configured based on
the type of panel connected to it.

@@ -66,8 +83,15 @@ Optional properties for dp-controller:
		Hotplug detect GPIO.
			Indicates which GPIO should be used for hotplug
			detection
	-video interfaces: Device node can contain video interface port
			    nodes according to [1].
Video interfaces:
  Device node can contain video interface port nodes according to [1].
  The following are properties specific to those nodes:

  endpoint node connected to bridge or panel node:
   - remote-endpoint: specifies the endpoint in panel or bridge node.
		      This node is required in all kinds of exynos dp
		      to represent the connection between dp and bridge
		      or dp and panel.

[1]: Documentation/devicetree/bindings/media/video-interfaces.txt

@@ -111,9 +135,18 @@ Board Specific portion:
		};

		ports {
			port@0 {
			port {
				dp_out: endpoint {
					remote-endpoint = <&bridge_in>;
					remote-endpoint = <&dp_in>;
				};
			};
		};

		panel {
			...
			port {
				dp_in: endpoint {
					remote-endpoint = <&dp_out>;
				};
			};
		};
+8 −4
Original line number Diff line number Diff line
@@ -14,17 +14,20 @@ Required properties:
- clocks: device clocks
  See Documentation/devicetree/bindings/clocks/clock-bindings.txt for details.
- clock-names: the following clocks are required:
  * "mdp_core_clk"
  * "iface_clk"
  * "bus_clk"
  * "byte_clk"
  * "core_clk"
  * "core_mmss_clk"
  * "iface_clk"
  * "mdp_core_clk"
  * "byte_clk"
  * "pixel_clk"
  * "core_clk"
  For DSIv2, we need an additional clock:
   * "src_clk"
- vdd-supply: phandle to vdd regulator device node
- vddio-supply: phandle to vdd-io regulator device node
- vdda-supply: phandle to vdda regulator device node
- qcom,dsi-phy: phandle to DSI PHY device node
- syscon-sfpb: A phandle to mmss_sfpb syscon node (only for DSIv2)

Optional properties:
- panel@0: Node of panel connected to this DSI controller.
@@ -51,6 +54,7 @@ Required properties:
  * "qcom,dsi-phy-28nm-hpm"
  * "qcom,dsi-phy-28nm-lp"
  * "qcom,dsi-phy-20nm"
  * "qcom,dsi-phy-28nm-8960"
- reg: Physical base address and length of the registers of PLL, PHY and PHY
  regulator
- reg-names: The names of register regions. The following regions are required:
+18 −8
Original line number Diff line number Diff line
@@ -2,18 +2,28 @@ Qualcomm adreno/snapdragon display controller

Required properties:
- compatible:
  * "qcom,mdp" - mdp4
  * "qcom,mdp4" - mdp4
  * "qcom,mdp5" - mdp5
- reg: Physical base address and length of the controller's registers.
- interrupts: The interrupt signal from the display controller.
- connectors: array of phandles for output device(s)
- clocks: device clocks
  See ../clocks/clock-bindings.txt for details.
- clock-names: the following clocks are required:
- clock-names: the following clocks are required.
  For MDP4:
   * "core_clk"
   * "iface_clk"
   * "lut_clk"
   * "src_clk"
   * "hdmi_clk"
  * "mpd_clk"
   * "mdp_clk"
  For MDP5:
   * "bus_clk"
   * "iface_clk"
   * "core_clk_src"
   * "core_clk"
   * "lut_clk" (some MDP5 versions may not need this)
   * "vsync_clk"

Optional properties:
- gpus: phandle for gpu device
@@ -26,7 +36,7 @@ Example:
	...

	mdp: qcom,mdp@5100000 {
		compatible = "qcom,mdp";
		compatible = "qcom,mdp4";
		reg = <0x05100000 0xf0000>;
		interrupts = <GIC_SPI 75 0>;
		connectors = <&hdmi>;
Loading