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

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

Merge tag 'drm-for-v4.15' of git://people.freedesktop.org/~airlied/linux

Pull drm updates from Dave Airlie:
 "This is the main drm pull request for v4.15.

  Core:
   - Atomic object lifetime fixes
   - Atomic iterator improvements
   - Sparse/smatch fixes
   - Legacy kms ioctls to be interruptible
   - EDID override improvements
   - fb/gem helper cleanups
   - Simple outreachy patches
   - Documentation improvements
   - Fix dma-buf rcu races
   - DRM mode object leasing for improving VR use cases.
   - vgaarb improvements for non-x86 platforms.

  New driver:
   - tve200: Faraday Technology TVE200 block.

     This "TV Encoder" encodes a ITU-T BT.656 stream and can be found in
     the StorLink SL3516 (later Cortina Systems CS3516) as well as the
     Grain Media GM8180.

  New bridges:
   - SiI9234 support

  New panels:
   - S6E63J0X03, OTM8009A, Seiko 43WVF1G, 7" rpi touch panel, Toshiba
     LT089AC19000, Innolux AT043TN24

  i915:
   - Remove Coffeelake from alpha support
   - Cannonlake workarounds
   - Infoframe refactoring for DisplayPort
   - VBT updates
   - DisplayPort vswing/emph/buffer translation refactoring
   - CCS fixes
   - Restore GPU clock boost on missed vblanks
   - Scatter list updates for userptr allocations
   - Gen9+ transition watermarks
   - Display IPC (Isochronous Priority Control)
   - Private PAT management
   - GVT: improved error handling and pci config sanitizing
   - Execlist refactoring
   - Transparent Huge Page support
   - User defined priorities support
   - HuC/GuC firmware refactoring
   - DP MST fixes
   - eDP power sequencing fixes
   - Use RCU instead of stop_machine
   - PSR state tracking support
   - Eviction fixes
   - BDW DP aux channel timeout fixes
   - LSPCON fixes
   - Cannonlake PLL fixes

  amdgpu:
   - Per VM BO support
   - Powerplay cleanups
   - CI powerplay support
   - PASID mgr for kfd
   - SR-IOV fixes
   - initial GPU reset for vega10
   - Prime mmap support
   - TTM updates
   - Clock query interface for Raven
   - Fence to handle ioctl
   - UVD encode ring support on Polaris
   - Transparent huge page DMA support
   - Compute LRU pipe tweaks
   - BO flag to allow buffers to opt out of implicit sync
   - CTX priority setting API
   - VRAM lost infrastructure plumbing

  qxl:
   - fix flicker since atomic rework

  amdkfd:
   - Further improvements from internal AMD tree
   - Usermode events
   - Drop radeon support

  nouveau:
   - Pascal temperature sensor support
   - Improved BAR2 handling
   - MMU rework to support Pascal MMU

  exynos:
   - Improved HDMI/mixer support
   - HDMI audio interface support

  tegra:
   - Prep work for tegra186
   - Cleanup/fixes

  msm:
   - Preemption support for a5xx
   - Display fixes for 8x96 (snapdragon 820)
   - Async cursor plane fixes
   - FW loading rework
   - GPU debugging improvements

  vc4:
   - Prep for DSI panels
   - fix T-format tiling scanout
   - New madvise ioctl

  Rockchip:
   - LVDS support

  omapdrm:
   - omap4 HDMI CEC support

  etnaviv:
   - GPU performance counters groundwork

  sun4i:
   - refactor driver load + TCON backend
   - HDMI improvements
   - A31 support
   - Misc fixes

  udl:
   - Probe/EDID read fixes.

  tilcdc:
   - Misc fixes.

  pl111:
   - Support more variants

  adv7511:
   - Improve EDID handling.
   - HDMI CEC support

  sii8620:
   - Add remote control support"

* tag 'drm-for-v4.15' of git://people.freedesktop.org/~airlied/linux: (1480 commits)
  drm/rockchip: analogix_dp: Use mutex rather than spinlock
  drm/mode_object: fix documentation for object lookups.
  drm/i915: Reorder context-close to avoid calling i915_vma_close() under RCU
  drm/i915: Move init_clock_gating() back to where it was
  drm/i915: Prune the reservation shared fence array
  drm/i915: Idle the GPU before shinking everything
  drm/i915: Lock llist_del_first() vs llist_del_all()
  drm/i915: Calculate ironlake intermediate watermarks correctly, v2.
  drm/i915: Disable lazy PPGTT page table optimization for vGPU
  drm/i915/execlists: Remove the priority "optimisation"
  drm/i915: Filter out spurious execlists context-switch interrupts
  drm/amdgpu: use irq-safe lock for kiq->ring_lock
  drm/amdgpu: bypass lru touch for KIQ ring submission
  drm/amdgpu: Potential uninitialized variable in amdgpu_vm_update_directories()
  drm/amdgpu: potential uninitialized variable in amdgpu_vce_ring_parse_cs()
  drm/amd/powerplay: initialize a variable before using it
  drm/amd/powerplay: suppress KASAN out of bounds warning in vega10_populate_all_memory_levels
  drm/amd/amdgpu: fix evicted VRAM bo adjudgement condition
  drm/vblank: Tune drm_crtc_accurate_vblank_count() WARN down to a debug
  drm/rockchip: add CONFIG_OF dependency for lvds
  ...
parents 5d352e69 f150891f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -857,7 +857,7 @@
			The filter can be disabled or changed to another
			driver later using sysfs.

	drm_kms_helper.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>]
	drm.edid_firmware=[<connector>:]<file>[,[<connector>:]<file>]
			Broken monitors, graphic adapters, KVMs and EDIDless
			panels may send no or incorrect EDID data sets.
			This parameter allows to specify an EDID data sets
+4 −0
Original line number Diff line number Diff line
@@ -68,6 +68,8 @@ Optional properties:
- adi,disable-timing-generator: Only for ADV7533. Disables the internal timing
  generator. The chip will rely on the sync signals in the DSI data lanes,
  rather than generate its own timings for HDMI output.
- clocks: from common clock binding: reference to the CEC clock.
- clock-names: from common clock binding: must be "cec".

Required nodes:

@@ -89,6 +91,8 @@ Example
		reg = <39>;
		interrupt-parent = <&gpio3>;
		interrupts = <29 IRQ_TYPE_EDGE_FALLING>;
		clocks = <&cec_clock>;
		clock-names = "cec";

		adi,input-depth = <8>;
		adi,input-colorspace = "rgb";
+49 −0
Original line number Diff line number Diff line
Silicon Image SiI9234 HDMI/MHL bridge bindings

Required properties:
	- compatible : "sil,sii9234".
	- reg : I2C address for TPI interface, use 0x39
	- avcc33-supply : MHL/USB Switch Supply Voltage (3.3V)
	- iovcc18-supply : I/O Supply Voltage (1.8V)
	- avcc12-supply : TMDS Analog Supply Voltage (1.2V)
	- cvcc12-supply : Digital Core Supply Voltage (1.2V)
	- interrupts, interrupt-parent: interrupt specifier of INT pin
	- reset-gpios: gpio specifier of RESET pin (active low)
	- video interfaces: Device node can contain two video interface port
			    nodes for HDMI encoder and connector according to [1].
			    - port@0 - MHL to HDMI
			    - port@1 - MHL to connector

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


Example:
	sii9234@39 {
		compatible = "sil,sii9234";
		reg = <0x39>;
		avcc33-supply = <&vcc33mhl>;
		iovcc18-supply = <&vcc18mhl>;
		avcc12-supply = <&vsil12>;
		cvcc12-supply = <&vsil12>;
		reset-gpios = <&gpf3 4 GPIO_ACTIVE_LOW>;
		interrupt-parent = <&gpf3>;
		interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;

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

			port@0 {
				reg = <0>;
				mhl_to_hdmi: endpoint {
					remote-endpoint = <&hdmi_to_mhl>;
				};
			};
			port@1 {
				reg = <1>;
				mhl_to_connector: endpoint {
					remote-endpoint = <&connector_to_mhl>;
				};
			};
		};
	};
+54 −0
Original line number Diff line number Diff line
* Faraday TV Encoder TVE200

Required properties:

- compatible: must be one of:
	"faraday,tve200"
	"cortina,gemini-tvc", "faraday,tve200"

- reg: base address and size of the control registers block

- interrupts: contains an interrupt specifier for the interrupt
	line from the TVE200

- clock-names: should contain "PCLK" for the clock line clocking the
	silicon and "TVE" for the 27MHz clock to the video driver

- clocks: contains phandle and clock specifier pairs for the entries
	in the clock-names property. See
	Documentation/devicetree/bindings/clock/clock-bindings.txt

Optional properties:

- resets: contains the reset line phandle for the block

Required sub-nodes:

- port: describes LCD panel signals, following the common binding
	for video transmitter interfaces; see
	Documentation/devicetree/bindings/media/video-interfaces.txt
	This port should have the properties:
	reg = <0>;
	It should have one endpoint connected to a remote endpoint where
	the display is connected.

Example:

display-controller@6a000000 {
	#address-cells = <1>;
	#size-cells = <0>;
	compatible = "faraday,tve200";
	reg = <0x6a000000 0x1000>;
	interrupts = <13 IRQ_TYPE_EDGE_RISING>;
	resets = <&syscon GEMINI_RESET_TVC>;
	clocks = <&syscon GEMINI_CLK_GATE_TVC>,
		 <&syscon GEMINI_CLK_TVC>;
	clock-names = "PCLK", "TVE";

	port@0 {
		reg = <0>;
		display_out: endpoint {
			remote-endpoint = <&panel_in>;
		};
	};
};
+18 −18
Original line number Diff line number Diff line
@@ -13,16 +13,16 @@ Required properties:
- power-domains: Should be <&mmcc MDSS_GDSC>.
- clocks: Phandles to device clocks.
- clock-names: the following clocks are required:
  * "mdp_core_clk"
  * "iface_clk"
  * "bus_clk"
  * "core_mmss_clk"
  * "byte_clk"
  * "pixel_clk"
  * "core_clk"
  * "mdp_core"
  * "iface"
  * "bus"
  * "core_mmss"
  * "byte"
  * "pixel"
  * "core"
  For DSIv2, we need an additional clock:
   * "src_clk"
- assigned-clocks: Parents of "byte_clk" and "pixel_clk" for the given platform.
   * "src"
- assigned-clocks: Parents of "byte" and "pixel" for the given platform.
- assigned-clock-parents: The Byte clock and Pixel clock PLL outputs provided
  by a DSI PHY block. See [1] for details on clock bindings.
- vdd-supply: phandle to vdd regulator device node
@@ -101,7 +101,7 @@ Required properties:
- power-domains: Should be <&mmcc MDSS_GDSC>.
- clocks: Phandles to device clocks. See [1] for details on clock bindings.
- clock-names: the following clocks are required:
  * "iface_clk"
  * "iface"
- vddio-supply: phandle to vdd-io regulator device node

Optional properties:
@@ -123,13 +123,13 @@ Example:
		reg = <0xfd922800 0x200>;
		power-domains = <&mmcc MDSS_GDSC>;
		clock-names =
			"bus_clk",
			"byte_clk",
			"core_clk",
			"core_mmss_clk",
			"iface_clk",
			"mdp_core_clk",
			"pixel_clk";
			"bus",
			"byte",
			"core",
			"core_mmss",
			"iface",
			"mdp_core",
			"pixel";
		clocks =
			<&mmcc MDSS_AXI_CLK>,
			<&mmcc MDSS_BYTE0_CLK>,
@@ -207,7 +207,7 @@ Example:
		reg =   <0xfd922a00 0xd4>,
			<0xfd922b00 0x2b0>,
			<0xfd922d80 0x7b>;
		clock-names = "iface_clk";
		clock-names = "iface";
		clocks = <&mmcc MDSS_AHB_CLK>;
		#clock-cells = <1>;
		vddio-supply = <&pma8084_l12>;
Loading