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

Commit 9aa3c0b5 authored by ankusa's avatar ankusa
Browse files

msm: kgsl: Parallelization of kgsl_3d_init for AUTO



kgsl_3d_init is taking a lot of time in execution.
Created a kernel thread to save kernel boot time.

Change-Id: I35e7a1525204b5be4301762aa0e41c9a159784d3
Signed-off-by: default avatarankusa <ankusa@codeaurora.org>
parent 652771c4
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -4243,7 +4243,7 @@ static struct platform_driver kgsl_bus_platform_driver = {
	}
};

static int __init kgsl_3d_init(void)
static int __kgsl_3d_init(void *arg)
{
	int ret;

@@ -4258,6 +4258,21 @@ static int __init kgsl_3d_init(void)
	return ret;
}

static int __init kgsl_3d_init(void)
{
#ifdef CONFIG_PLATFORM_AUTO
	struct task_struct *kgsl_3d_init_task =
		kthread_run(__kgsl_3d_init, NULL, "kgsl_3d_init");
	if (IS_ERR(kgsl_3d_init_task))
		return PTR_ERR(kgsl_3d_init_task);
	else
		return 0;
#else
	__kgsl_3d_init(NULL);
	return 0;
#endif
}

static void __exit kgsl_3d_exit(void)
{
	platform_driver_unregister(&adreno_platform_driver);