Loading Documentation/devicetree/bindings/display/msm/sde-lease.txt +9 −2 Original line number Diff line number Diff line Loading @@ -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"; Loading Documentation/devicetree/bindings/drm/msm/sde-shd.txt +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. Loading @@ -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: Loading @@ -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. Loading @@ -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: / { ... Loading Loading @@ -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"; }; }; Documentation/devicetree/bindings/drm/msm/sde-shp.txt +6 −2 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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: Loading drivers/gpu/drm/msm/sde_dbg.h +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading include/linux/sde_rsc.h +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading Loading
Documentation/devicetree/bindings/display/msm/sde-lease.txt +9 −2 Original line number Diff line number Diff line Loading @@ -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"; Loading
Documentation/devicetree/bindings/drm/msm/sde-shd.txt +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. Loading @@ -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: Loading @@ -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. Loading @@ -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: / { ... Loading Loading @@ -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"; }; };
Documentation/devicetree/bindings/drm/msm/sde-shp.txt +6 −2 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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: Loading
drivers/gpu/drm/msm/sde_dbg.h +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
include/linux/sde_rsc.h +2 −2 Original line number Diff line number Diff line Loading @@ -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; Loading