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

Commit 17895c6b authored by ckosuru's avatar ckosuru
Browse files

Merge remote-tracking branch 'quic/dev/msm-4.14-display' into msm-4.14



* quic/dev/msm-4.14-display:
  drm:msm:sde fix compile error when RSC is not enabled
  dt-bindings: drm: msm: update detach handoff option for shp
  dt-bindings: drm: msm: shd: add dynamic mode support
  dt-bindings: drm: msm-lease: add empty resource support

Change-Id: I55fd40a6f040fa8a6ea8e68e13ade86ac5dc8bc2
Signed-off-by: default avatarckosuru <kosuru@codeaurora.org>
parents 6bddfdd3 68272a2c
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -4,14 +4,21 @@ Snapdragon Display Engine Lease registers with the Linux DRM/KMS framework to
facilitate DRM driver creation, publishing /dev/dri/card<n>, n=1,2,... from
card0 with objects implicitly leased.

This device must be added to the connectors list of qcom,sde-kms device.

Required properties
- compatible: Must be "qcom,sde-kms-lease".
- qcom,lease-connectors: Connector names leased to the card.
- qcom,lease-planes: Plane names leased to the card.

Optional properties
- qcom,lease-connectors: Connector names leased to the card.
- qcom,lease-planes: Plane names leased to the card.
- qcom,dev-name: Name of the lease device.

If there are cards with qcom,lease-connectors and/or qcom,lease-planes not
defined, the last one with empty connectors and/or planes in the connectors
list of qcom,sde-kms device will have all the remaining connectors and/or
planes that are not leased to other cards.

Example:
	card1: qcom,sde-kms-lease@0 {
		compatible = "qcom,sde-kms-lease";
+52 −3
Original line number Diff line number Diff line
QTI Snapdragon Display Engine (SDE) shared display

Snapdragon Display Engine shared display provids the capability to virtualize
one physical connector to multiple virtual connectors sit at different blend
stages. Each virtual connector can be attached to different CRTCs and commit
independently.

This device must be added to the connectors list of qcom,sde-kms device.

Required properties:
- compatible:		"qcom,shared-display"
- qcom,shared-display-base: node handle of qcom,shared-display-base, see below.
@@ -10,10 +17,15 @@ Required properties:
			display located on the same base display should not overlap
			with their blend stages. The maximum stages should be within
			the range of layer mixer hardware capability.

Optional properties:
- qcom,shared-display-src-mode: source resolution of the shared display, which is also
			the framebuffer size. It contains two properties:
			qcom,mode-h-active: A u32 property defines horizontal resolution.
			qcom,mode-v-active: A u32 property defines vertical resolution.
			If qcom,shared-display-src-mode is not defined, horizontal and
			vertical resolution will be the same as base display, and
			qcom,shared-display-dst-mode will be ignored.
- qcom,shared-display-dst-mode: destination rectangle in the shared display, which also
			includes the padding lines if line padding feature is enabled.
			It contains 4 properties:
@@ -22,12 +34,23 @@ Required properties:
			qcom,mode-width: A u32 property of width.
			qcom,mode-height: A u32 property of height, including line padding.
- qcom,shared-display-name:  A string used as a descriptive name of the shared display.

			If qcom,shared-display-name is not defined, a system auto-generated
			name will be used like DSI-X or DP-X.

qcom,shared-display-base properties:

Required properties:
- qcom,shared-display-base-intf: A u32 property defines intf index of the base display.
			If qcom,shared-display-base-intf is defined,
			qcom,shared-display-base-connector will be ignored.
- qcom,shared-display-base-connector: A string property defines connector name of the base
			display. It is another way to identify the base connector when
			qcom,shared-display-base-intf is not defined.

Optional properties:
- qcom,shared-display-base-mst: A u32 property defines the DP MST branch port, needed if
			the base display sits on DP MST display.
			the base display sits on DP MST display. Only used when
			qcom,shared-display-base-intf is defined.
- qcom,shared-display-base-mode: timing of the physical base display, contains the
			following properties:
			qcom,mode-h-active: A u32 property defines the horizontal active size.
@@ -44,8 +67,10 @@ qcom,shared-display-base properties:
						is high.
			qcom,mode-refresh-rate: A u32 property defines vertial refresh rate.
			qcom,mode-clock-in-khz: A u32 property defines clock in kHz.
			If qcom,shared-display-base-mode is not defined, auto-detected mode
			from panel will be used as base mode.

Example:
Example of static mode using intf to select base connector:

/ {
	...
@@ -102,3 +127,27 @@ Example:
		};
	};
};

Example of dynamic mode using name to select base connector:

/ {
	...

	sde_sh_base0: qcom,shared-display-base@0 {
		qcom,shared-display-base-connector = "DSI-1";
	};

	sde_sh0: qcom,shared-display@0 {
		compatible = "qcom,shared-display";
		qcom,shared-display-base = <&sde_sh_base0>;
		qcom,blend-stage-range = <0 5>;
		qcom,shared-display-name = "shared-disp-0";
	};

	sde_sh1: qcom,shared-display@1 {
		compatible = "qcom,shared-display";
		qcom,shared-display-base = <&sde_sh_base0>;
		qcom,blend-stage-range = <5 5>;
		qcom,shared-display-name = "shared-disp-1";
	};
};
+6 −2
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@ QTI Snapdragon Display Engine (SDE) shared plane
This driver allows to create multiple virtual planes from the same
physical plane. Only one plane can be activated at a time.

This device must be added to the connectors list of qcom,sde-kms device.

Required properties:
- compatible:		"qcom,sde-shared-plane"
- qcom,add-planes:	Shared planes to add to the DRM system. Each child
@@ -15,8 +17,10 @@ Required properties:
			to handoff state at system bootup.
	qcom,plane-init-active: optional boolean, if set, the plane is inited to
			active state at system bootup.
	qcom,plane-detach-handoff: optional boolean, if set, the plane is set to
			handoff state whenever it is detached.
	qcom,plane-detach-handoff: optional boolean, if set, and when the plane
			set handoff to true and crtc to null, the plane will
			immediately become inaccessible and handoff will reset
			to false.


Example:
+6 −0
Original line number Diff line number Diff line
@@ -354,11 +354,17 @@ void sde_evtlog_set_filter(struct sde_dbg_evtlog *evtlog, char *filter);
int sde_evtlog_get_filter(struct sde_dbg_evtlog *evtlog, int index,
		char *buf, size_t bufsz);

#ifndef CONFIG_DRM_SDE_RSC
static inline void sde_rsc_debug_dump(u32 mux_sel)
{
}
#else
/**
 * sde_rsc_debug_dump - sde rsc debug dump status
 * @mux_sel:	select mux on rsc debug bus
 */
void sde_rsc_debug_dump(u32 mux_sel);
#endif

/**
 * dsi_ctrl_debug_dump - dump dsi debug dump status
+2 −2
Original line number Diff line number Diff line
@@ -338,13 +338,13 @@ static inline int sde_rsc_client_state_update(struct sde_rsc_client *client,
	return 0;
}

int sde_rsc_client_get_vsync_refcount(
static inline int sde_rsc_client_get_vsync_refcount(
		struct sde_rsc_client *caller_client)
{
	return 0;
}

int sde_rsc_client_reset_vsync_refcount(
static inline int sde_rsc_client_reset_vsync_refcount(
		struct sde_rsc_client *caller_client)
{
	return 0;