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

Commit b8d444ad authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "defconfig: msm: Add HGSL support for GVM"

parents a9a06914 bb29f99d
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
Top Control and Status Register(TCSR) for HGSL

TCSR hardware contains compute signal sub-block, which allows drivers in hypervisor
Linux to communicate with GPU hardware directly. This HGSL TCSR driver is to enable
the TCSR compute signal hardware. There are multiple instances of compute signal.
Each instance is either a signal sender or signal receiver.

The HGSL TCSR driver is built on top of generic TCSR driver, refer to
Documentation/devicetree/bindings/mfd/qcom,tcsr.txt for the generic TCSR driver.

Required properties:
- compatible : Must be "qcom,hgsl-tcsr-sender" or "qcom,hgsl-tcsr-receiver"
- syscon     : Point to the generic TCSR compute signal node
- syscon-glb : Point to the generice TCSR node for compute signal global control.
	       This is only needed by signal sender.
- interrupts : Specify IRQ information used by the compute signal.
	       This is only needed by signal receiver.

Examples:
	hgsl_tcsr_sender0: hgsl_tcsr_sender0 {
		compatible = "qcom,hgsl-tcsr-sender";
		syscon = <&tcsr_compute_signal_sender0>;
		syscon-glb = <&tcsr_compute_signal_glb>;
	};

	hgsl_tcsr_receiver0: hgsl_tcsr_receiver0 {
		compatible = "qcom,hgsl-tcsr-receiver";
		syscon = <&tcsr_compute_signal_receiver0>;
		interrupts = <0 238 0>;
	};
+30 −0
Original line number Diff line number Diff line
* HGSL

HGSL(Hypervisor Graphics system layer) is graphics driver under the hypervisor system.

Required properties:
- compatible : Must be "qcom,hgsl"

- reg : physical base address and length of the register set(s).

- reg-names : names corresponding to each reg property value.
	      reg_hwver: HW version registers
	      reg_doorbell_idx: address of GMUAO_DOORBELL_IDX

Optional properties:
- qcom,glb-db-senders : Point to possible nodes of HGSL TCSR sender. The user will select
		        which sender to use. The driver will use TCSR compute signal to
		        send signal to GPU.
- qcom,glb-db-receivers : Point to possible nodes of HGSL TCSR receiver. The user will
			  select which receiver to use. The driver will use TCSR compute
			  signal to receive signal from GPU.

Example:
	msm_gpu_hyp {
		compatible = "qcom,hgsl";
		reg = <0x2c00000 0x8>, <0x2c8f000 0x4>;
		reg-names = "hgsl_reg_hwinf", "hgsl_reg_gmucx";

		qcom,glb-db-senders = <&hgsl_tcsr_sender0 &hgsl_tcsr_sender1>;
		qcom,glb-db-receivers = <&hgsl_tcsr_receiver0 &hgsl_tcsr_receiver1>;
	};
+2 −0
Original line number Diff line number Diff line
@@ -441,6 +441,8 @@ CONFIG_MSM_BOOT_TIME_MARKER=y
CONFIG_QCOM_SECURE_BUFFER=y
CONFIG_MEM_SHARE_QMI_SERVICE=y
CONFIG_MSM_HAB=y
CONFIG_QCOM_HGSL_TCSR_SIGNAL=y
CONFIG_QCOM_HGSL=y
CONFIG_PM_DEVFREQ=y
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_EXTCON_USB_GPIO=y
+2 −0
Original line number Diff line number Diff line
@@ -456,6 +456,8 @@ CONFIG_MSM_BOOT_TIME_MARKER=y
CONFIG_QCOM_SECURE_BUFFER=y
CONFIG_MEM_SHARE_QMI_SERVICE=y
CONFIG_MSM_HAB=y
CONFIG_QCOM_HGSL_TCSR_SIGNAL=y
CONFIG_QCOM_HGSL=y
CONFIG_PM_DEVFREQ=y
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_EXTCON_USB_GPIO=y
+1 −0
Original line number Diff line number Diff line
@@ -886,6 +886,7 @@ endif # MSM_PM || MSM_PM_LEGACY
source "drivers/soc/qcom/memshare/Kconfig"
source "drivers/soc/qcom/hab/Kconfig"
source "drivers/soc/qcom/rmnet_ctl/Kconfig"
source "drivers/soc/qcom/hgsl/Kconfig"

config MSM_PERFORMANCE
	tristate "msm performance driver to support userspace fmin/fmax request"
Loading