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

Commit a9eb03fd authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Add disable-wake-on-touch devicetree property"

parents 285adfb6 c204b4ee
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ Optional Properties:
			   This is used to override faulty hardware readings.
- qcom,strtstp-sleepwake:  Boolean. Enables use of GPU SLUMBER instead of SLEEP for power savings
- qcom,gx-retention:  	   Boolean. Enables use of GX rail RETENTION voltage
- qcom,disable-wake-on-touch:   Boolean. Disables the GPU power up on a touch input event.
- qcom,disable-busy-time-burst:
				Boolean. Disables the busy time burst to avoid switching
				of power level for large frames based on the busy time limit.
+17 −9
Original line number Diff line number Diff line
@@ -904,6 +904,9 @@ static int adreno_of_get_power(struct adreno_device *adreno_dev,
	device->pwrctrl.bus_control = of_property_read_bool(node,
		"qcom,bus-control");

	device->pwrctrl.input_disable = of_property_read_bool(node,
		"qcom,disable-wake-on-touch");

	return 0;
}

@@ -1018,15 +1021,19 @@ static int adreno_probe(struct platform_device *pdev)
	/* Initialize coresight for the target */
	adreno_coresight_init(adreno_dev);

	adreno_input_handler.private = device;

#ifdef CONFIG_INPUT
	if (!device->pwrctrl.input_disable) {
		adreno_input_handler.private = device;
		/*
		 * It isn't fatal if we cannot register the input handler.  Sad,
		 * perhaps, but not fatal
		 */
	if (input_register_handler(&adreno_input_handler))
		KGSL_DRV_ERR(device, "Unable to register the input handler\n");
		if (input_register_handler(&adreno_input_handler)) {
			adreno_input_handler.private = NULL;
			KGSL_DRV_ERR(device,
				"Unable to register the input handler\n");
		}
	}
#endif
out:
	if (status) {
@@ -1078,6 +1085,7 @@ static int adreno_remove(struct platform_device *pdev)
	_adreno_free_memories(adreno_dev);

#ifdef CONFIG_INPUT
	if (adreno_input_handler.private)
		input_unregister_handler(&adreno_input_handler);
#endif
	adreno_sysfs_close(adreno_dev);
+2 −0
Original line number Diff line number Diff line
@@ -133,6 +133,7 @@ struct kgsl_regulator {
 * @pm_qos_req_dma - the power management quality of service structure
 * @pm_qos_active_latency - allowed CPU latency in microseconds when active
 * @pm_qos_cpu_mask_latency - allowed CPU mask latency in microseconds
 * @input_disable - To disable GPU wakeup on touch input event
 * @pm_qos_wakeup_latency - allowed CPU latency in microseconds during wakeup
 * @bus_control - true if the bus calculation is independent
 * @bus_mod - modifier from the current power level for the bus vote
@@ -189,6 +190,7 @@ struct kgsl_pwrctrl {
	unsigned int pm_qos_active_latency;
	unsigned int pm_qos_cpu_mask_latency;
	unsigned int pm_qos_wakeup_latency;
	bool input_disable;
	bool bus_control;
	int bus_mod;
	unsigned int bus_percent_ab;