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

Commit 220196b3 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge tag 'topic/drm-misc-2016-10-27' of git://anongit.freedesktop.org/git/drm-intel into drm-next

Pull request already again to get the s/fence/dma_fence/ stuff in and
allow everyone to resync. Otherwise really just misc stuff all over, and a
new bridge driver.

* tag 'topic/drm-misc-2016-10-27' of git://anongit.freedesktop.org/git/drm-intel:
  drm/bridge: fix platform_no_drv_owner.cocci warnings
  drm/bridge: fix semicolon.cocci warnings
  drm: Print some debug/error info during DP dual mode detect
  drm: mark drm_of_component_match_add dummy inline
  drm/bridge: add Silicon Image SiI8620 driver
  dt-bindings: add Silicon Image SiI8620 bridge bindings
  video: add header file for Mobile High-Definition Link (MHL) interface
  drm: convert DT component matching to component_match_add_release()
  dma-buf: Rename struct fence to dma_fence
  dma-buf/fence: add an lockdep_assert_held()
  drm/dp: Factor out helper to distinguish between branch and sink devices
  drm/edid: Only print the bad edid when aborting
  drm/msm: add missing header dependencies
  drm/msm/adreno: move function declarations to header file
  drm/i2c/tda998x: mark symbol static where possible
  doc: add missing docbook parameter for fence-array
  drm: RIP mode_config->rotation_property
  drm/msm/mdp5: Advertize 180 degree rotation
  drm/msm/mdp5: Use per-plane rotation property
parents a1873c62 56df51d0
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
Silicon Image SiI8620 HDMI/MHL bridge bindings

Required properties:
	- compatible: "sil,sii8620"
	- reg: i2c address of the bridge
	- cvcc10-supply: Digital Core Supply Voltage (1.0V)
	- iovcc18-supply: I/O Supply Voltage (1.8V)
	- interrupts, interrupt-parent: interrupt specifier of INT pin
	- reset-gpios: gpio specifier of RESET pin
	- clocks, clock-names: specification and name of "xtal" clock
	- video interfaces: Device node can contain video interface port
			    node for HDMI encoder according to [1].

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

Example:
	sii8620@39 {
		reg = <0x39>;
		compatible = "sil,sii8620";
		cvcc10-supply = <&ldo36_reg>;
		iovcc18-supply = <&ldo34_reg>;
		interrupt-parent = <&gpf0>;
		interrupts = <2 0>;
		reset-gpio = <&gpv7 0 0>;
		clocks = <&pmu_system_controller 0>;
		clock-names = "xtal";

		port {
			mhl_to_hdmi: endpoint {
				remote-endpoint = <&hdmi_to_mhl>;
			};
		};
	};
+7 −7
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@

This document serves as a guide for device drivers writers on what the
sync_file API is, and how drivers can support it. Sync file is the carrier of
the fences(struct fence) that are needed to synchronize between drivers or
the fences(struct dma_fence) that are needed to synchronize between drivers or
across process boundaries.

The sync_file API is meant to be used to send and receive fence information
@@ -32,9 +32,9 @@ in-fences and out-fences
Sync files can go either to or from userspace. When a sync_file is sent from
the driver to userspace we call the fences it contains 'out-fences'. They are
related to a buffer that the driver is processing or is going to process, so
the driver creates an out-fence to be able to notify, through fence_signal(),
when it has finished using (or processing) that buffer. Out-fences are fences
that the driver creates.
the driver creates an out-fence to be able to notify, through
dma_fence_signal(), when it has finished using (or processing) that buffer.
Out-fences are fences that the driver creates.

On the other hand if the driver receives fence(s) through a sync_file from
userspace we call these fence(s) 'in-fences'. Receiveing in-fences means that
@@ -47,7 +47,7 @@ Creating Sync Files
When a driver needs to send an out-fence userspace it creates a sync_file.

Interface:
	struct sync_file *sync_file_create(struct fence *fence);
	struct sync_file *sync_file_create(struct dma_fence *fence);

The caller pass the out-fence and gets back the sync_file. That is just the
first step, next it needs to install an fd on sync_file->file. So it gets an
@@ -72,11 +72,11 @@ of the Sync File to the kernel. The kernel can then retrieve the fences
from it.

Interface:
	struct fence *sync_file_get_fence(int fd);
	struct dma_fence *sync_file_get_fence(int fd);


The returned reference is owned by the caller and must be disposed of
afterwards using fence_put(). In case of error, a NULL is returned instead.
afterwards using dma_fence_put(). In case of error, a NULL is returned instead.

References:
[1] struct sync_file in include/linux/sync_file.h
+3 −3
Original line number Diff line number Diff line
@@ -248,11 +248,11 @@ config DMA_SHARED_BUFFER
	  APIs extension; the file's descriptor can then be passed on to other
	  driver.

config FENCE_TRACE
	bool "Enable verbose FENCE_TRACE messages"
config DMA_FENCE_TRACE
	bool "Enable verbose DMA_FENCE_TRACE messages"
	depends on DMA_SHARED_BUFFER
	help
	  Enable the FENCE_TRACE printks. This will add extra
	  Enable the DMA_FENCE_TRACE printks. This will add extra
	  spam to the console log, but will make it easier to diagnose
	  lockup related problems for dma-buffers shared across multiple
	  devices.
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ config SYNC_FILE
	select DMA_SHARED_BUFFER
	---help---
	  The Sync File Framework adds explicit syncronization via
	  userspace. It enables send/receive 'struct fence' objects to/from
	  userspace. It enables send/receive 'struct dma_fence' objects to/from
	  userspace via Sync File fds for synchronization between drivers via
	  userspace components. It has been ported from Android.

+1 −1
Original line number Diff line number Diff line
obj-y := dma-buf.o fence.o reservation.o seqno-fence.o fence-array.o
obj-y := dma-buf.o dma-fence.o dma-fence-array.o reservation.o seqno-fence.o
obj-$(CONFIG_SYNC_FILE)		+= sync_file.o
obj-$(CONFIG_SW_SYNC)		+= sw_sync.o sync_debug.o
Loading