Commit 851ca779 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'drm-next-2019-03-06' of git://anongit.freedesktop.org/drm/drm

Pull drm updates from Dave Airlie:
 "This is the main drm pull request for the 5.1 merge window.

  The big changes I'd highlight are:
   - nouveau has HMM support now, there is finally an in-tree user so we
     can quieten down the rip it out people.
   - i915 now enables fastboot by default on Skylake+
   - Displayport Multistream support has been refactored and should
     hopefully be more reliable.

  Core:
   - header cleanups aiming towards removing drmP.h
   - dma-buf fence seqnos to 64-bits
   - common helper for DP mst hotplug for radeon,i915,amdgpu + new
     refcounting scheme
   - MST i2c improvements
   - drm_syncobj_cb removal
   - ARM FB compression fourcc
   - P010 + P016 fourcc
   - allwinner tiled format modifier
   - i2c over aux I2C_M_STOP support
   - DRM_AUTH handling fixes

  TTM:
   - ref/unref renaming

  New driver:
   - ARM komeda display driver

  scheduler:
   - refactor mirror list handling
   - rework hw fence processing
   - 0 run queue entity fix

  bridge:
   - TI DS90C185 LVDS bridge
   - thc631lvdm83d bridge improvements
   - cadence + allwinner DSI ported to generic phy

  panels:
   - Sitronix ST7701 panel
   - Kingdisplay KD097D04
   - LeMaker BL035-RGB-002
   - PDA 91-00156-A0
   - Innolux EE101IA-01D

  i915:
   - Enable fastboot by default on SKL+/VLV/CHV
   - Export RPCS configuration for ICL media driver
   - Coffelake PCI ID
   - CNL clocks setup fixes
   - ACPI/PMIC support for MIPI/DSI
   - Per-engine WA init for all engines
   - Shrinker locking fixes
   - Kerneldoc updates
   - Lots of ring improvements and reset fixes
   - Coffeelake GVT Support
   - VFIO GVT EDID Region support
   - runtime PM wakeref tracking
   - ILK->IVB primary plane enable delays
   - userptr mutex locking fixes
   - DSI fixes
   - LVDS/TV cleanups
   - HW readout fixes
   - LUT robustness fixes
   - ICL display and watermark fixes
   - gem mmap race fix

  amdgpu:
   - add scheduled dependencies interface
   - DCC on scanout surfaces
   - vega10/20 BACO support
   - Multiple IH rings on soc15
   - XGMI locking fixes
   - DC i2c/aux cleanups
   - runtime SMU debug interface
   - Kexec improvmeents
   - SR-IOV fixes
   - DC freesync + ABM fixes
   - GDS fixes
   - GPUVM fixes
   - vega20 PCIE DPM switching fixes
   - Context priority handling fixes

  radeon:
   - fix missing break in evergreen parser

  nouveau:
   - SVM support via HMM

  msm:
   - QCOM Compressed modifier support

  exynos:
   - s5pv210 rotator support

  imx:
   - zpos property support
   - pending update fixes

  v3d:
   - cache flush improvments

  vc4:
   - reflection support
   - HDMI overscan support

  tegra:
   - CEC refactoring
   - HDMI audio fixes
   - Tegra186 prep work
   - SOR crossbar device tree fixes

  sun4i:
   - implicit fencing support
   - YUV and scalar support improvements
   - A23 support
   - tiling fixes

  atmel-hlcdc:
   - clipping and rotation property fixes

  qxl:
   - BO and PRIME improvements
   - generic fbdev emulation

  dw-hdmi:
   - HDMI 2.0 2160p
   - YUV420 ouput

  rockchip:
   - implicit fencing support
   - reflection proerties

  virtio-gpu:
   - use generic fbdev emulation

  tilcdc:
   - cpufreq vs crtc init fix

  rcar-du:
   - R8A774C0 support
   - D3/E3 RGB output routing fixes and DPAD0 support
   - RA87744 LVDS support

  bochs:
   - atomic and generic fbdev emulation
   - ID mismatch error on bochs load

  meson:
   - remove firmware fbs"

* tag 'drm-next-2019-03-06' of git://anongit.freedesktop.org/drm/drm: (1130 commits)
  drm/amd/display: Use vrr friendly pageflip throttling in DC.
  drm/imx: only send commit done event when all state has been applied
  drm/imx: allow building under COMPILE_TEST
  drm/imx: imx-tve: depend on COMMON_CLK
  drm/imx: ipuv3-plane: add zpos property
  drm/imx: ipuv3-plane: add function to query atomic update status
  gpu: ipu-v3: prg: add function to get channel configure status
  gpu: ipu-v3: pre: add double buffer status readback
  drm/amdgpu: Bump amdgpu version for context priority override.
  drm/amdgpu/powerplay: fix typo in BACO header guards
  drm/amdgpu/powerplay: fix return codes in BACO code
  drm/amdgpu: add missing license on baco files
  drm/bochs: Fix the ID mismatch error
  drm/nouveau/dmem: use dma addresses during migration copies
  drm/nouveau/dmem: use physical vram addresses during migration copies
  drm/nouveau/dmem: extend copy function to allow direct use of physical addresses
  drm/nouveau/svm: new ioctl to migrate process memory to GPU memory
  drm/nouveau/dmem: device memory helpers for SVM
  drm/nouveau/svm: initial support for shared virtual memory
  drm/nouveau: prepare for enabling svm with existing userspace interfaces
  ...
parents b5dd0c65 4b057e73
Loading
Loading
Loading
Loading
+73 −0
Original line number Diff line number Diff line
Device Tree bindings for Arm Komeda display driver

Required properties:
- compatible: Should be "arm,mali-d71"
- reg: Physical base address and length of the registers in the system
- interrupts: the interrupt line number of the device in the system
- clocks: A list of phandle + clock-specifier pairs, one for each entry
    in 'clock-names'
- clock-names: A list of clock names. It should contain:
      - "mclk": for the main processor clock
      - "pclk": for the APB interface clock
- #address-cells: Must be 1
- #size-cells: Must be 0

Required properties for sub-node: pipeline@nq
Each device contains one or two pipeline sub-nodes (at least one), each
pipeline node should provide properties:
- reg: Zero-indexed identifier for the pipeline
- clocks: A list of phandle + clock-specifier pairs, one for each entry
    in 'clock-names'
- clock-names: should contain:
      - "pxclk": pixel clock
      - "aclk": AXI interface clock

- port: each pipeline connect to an encoder input port. The connection is
    modeled using the OF graph bindings specified in
    Documentation/devicetree/bindings/graph.txt

Optional properties:
  - memory-region: phandle to a node describing memory (see
    Documentation/devicetree/bindings/reserved-memory/reserved-memory.txt)
    to be used for the framebuffer; if not present, the framebuffer may
    be located anywhere in memory.

Example:
/ {
	...

	dp0: display@c00000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "arm,mali-d71";
		reg = <0xc00000 0x20000>;
		interrupts = <0 168 4>;
		clocks = <&dpu_mclk>, <&dpu_aclk>;
		clock-names = "mclk", "pclk";

		dp0_pipe0: pipeline@0 {
			clocks = <&fpgaosc2>, <&dpu_aclk>;
			clock-names = "pxclk", "aclk";
			reg = <0>;

			port {
				dp0_pipe0_out: endpoint {
					remote-endpoint = <&db_dvi0_in>;
				};
			};
		};

		dp0_pipe1: pipeline@1 {
			clocks = <&fpgaosc2>, <&dpu_aclk>;
			clock-names = "pxclk", "aclk";
			reg = <1>;

			port {
				dp0_pipe1_out: endpoint {
					remote-endpoint = <&db_dvi1_in>;
				};
			};
		};
	};
	...
};
+4 −8
Original line number Diff line number Diff line
@@ -22,13 +22,11 @@ among others.

Required properties:

- compatible: Must be one or more of the following
  - "ti,ds90c185" for the TI DS90C185 FPD-Link Serializer
  - "lvds-encoder" for a generic LVDS encoder device
- compatible: Must be "lvds-encoder"

  When compatible with the generic version, nodes must list the
  device-specific version corresponding to the device first
  followed by the generic version.
  Any encoder compatible with this generic binding, but with additional
  properties not listed here, must list a device specific compatible first
  followed by this generic compatible.

Required nodes:

@@ -44,8 +42,6 @@ Example

lvds-encoder {
	compatible = "lvds-encoder";
	#address-cells = <1>;
	#size-cells = <0>;

	ports {
		#address-cells = <1>;
+3 −1
Original line number Diff line number Diff line
@@ -8,6 +8,8 @@ Required properties:

- compatible : Shall contain one of
  - "renesas,r8a7743-lvds" for R8A7743 (RZ/G1M) compatible LVDS encoders
  - "renesas,r8a7744-lvds" for R8A7744 (RZ/G1N) compatible LVDS encoders
  - "renesas,r8a774c0-lvds" for R8A774C0 (RZ/G2E) compatible LVDS encoders
  - "renesas,r8a7790-lvds" for R8A7790 (R-Car H2) compatible LVDS encoders
  - "renesas,r8a7791-lvds" for R8A7791 (R-Car M2-W) compatible LVDS encoders
  - "renesas,r8a7793-lvds" for R8A7793 (R-Car M2-N) compatible LVDS encoders
@@ -25,7 +27,7 @@ Required properties:
- clock-names: Name of the clocks. This property is model-dependent.
  - The functional clock, which mandatory for all models, shall be listed
    first, and shall be named "fck".
  - On R8A77990 and R8A77995, the LVDS encoder can use the EXTAL or
  - On R8A77990, R8A77995 and R8A774C0, the LVDS encoder can use the EXTAL or
    DU_DOTCLKINx clocks. Those clocks are optional. When supplied they must be
    named "extal" and "dclkin.x" respectively, with "x" being the DU_DOTCLKIN
    numerical index.
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ Required properties:

Optional properties:

- pwdn-gpios: Power down control GPIO
- powerdown-gpios: Power down control GPIO (the /PWDN pin, active low).

Required nodes:

+55 −0
Original line number Diff line number Diff line
Texas Instruments FPD-Link (LVDS) Serializer
--------------------------------------------

The DS90C185 and DS90C187 are low-power serializers for portable
battery-powered applications that reduces the size of the RGB
interface between the host GPU and the display.

Required properties:

- compatible: Should be
  "ti,ds90c185", "lvds-encoder"  for the TI DS90C185 FPD-Link Serializer
  "ti,ds90c187", "lvds-encoder"  for the TI DS90C187 FPD-Link Serializer

Optional properties:

- powerdown-gpios: Power down control GPIO (the PDB pin, active-low)

Required nodes:

The devices have two video ports. Their connections are modeled using the OF
graph bindings specified in Documentation/devicetree/bindings/graph.txt.

- Video port 0 for parallel input
- Video port 1 for LVDS output


Example
-------

lvds-encoder {
	compatible = "ti,ds90c185", "lvds-encoder";

	powerdown-gpios = <&gpio 17 GPIO_ACTIVE_LOW>;

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;

			lvds_enc_in: endpoint {
				remote-endpoint = <&lcdc_out_rgb>;
			};
		};

		port@1 {
			reg = <1>;

			lvds_enc_out: endpoint {
				remote-endpoint = <&lvds_panel_in>;
			};
		};
	};
};
Loading