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

Commit d2d8ff64 authored by Dhaval Patel's avatar Dhaval Patel
Browse files

msm: mdss:Add splash logo configuration entry in fb



Framebuffer driver displays penguin logo image
for all targets. Bootloader also displays the
same image. However, customer has to change this
boot image at two places if they want to display
different image than penguin logo. This change allows
customer to disable/enable the splash image from
framebuffer driver.

Change-Id: I56e78ce93aa8c218adffef03bfebd462d6bda254
Signed-off-by: default avatarDhaval Patel <pdhaval@codeaurora.org>
parent f4745006
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -288,6 +288,12 @@ Subnode properties:
			 Example: Width = 1920, Height = 1080, BytesPerPixel = 4,
			 Number of frame-buffers reserved = 2.
			 Size = 1920*1080*4*2 = ROUND_1MB(15.8MB) = 16MB.
- qcom,mdss-fb-splash-logo-enabled:    The boolean entry enables the framebuffer
					driver to display the splash logo image.
					It is independent of continuous splash
					screen feature and has no relation with
					qcom,cont-splash-enabled entry present in
					panel configuration.

Example:
	mdss_mdp: qcom,mdss_mdp@fd900000 {
@@ -369,6 +375,7 @@ Example:
			qcom,mdss-mixer-swap;
			qcom,mdss-fb-split = <480 240>
			linux,contiguous-region = <&fb_mem>;
			qcom,mdss-fb-splash-logo-enabled:
		};
	};
+7 −3
Original line number Diff line number Diff line
@@ -266,10 +266,14 @@ static ssize_t mdss_fb_get_type(struct device *dev,
	return ret;
}

static void mdss_fb_parse_dt_split(struct msm_fb_data_type *mfd)
static void mdss_fb_parse_dt(struct msm_fb_data_type *mfd)
{
	u32 data[2];
	struct platform_device *pdev = mfd->pdev;

	mfd->splash_logo_enabled = of_property_read_bool(pdev->dev.of_node,
				"qcom,mdss-fb-splash-logo-enabled");

	if (of_property_read_u32_array(pdev->dev.of_node, "qcom,mdss-fb-split",
				       data, 2))
		return;
@@ -452,7 +456,7 @@ static int mdss_fb_probe(struct platform_device *pdev)
	else
		mfd->mdp_sync_pt_data.threshold = 2;

	if (mfd->index == 0) {
	if (mfd->splash_logo_enabled) {
		mfd->splash_thread = kthread_run(mdss_fb_splash_thread, mfd,
				"mdss_fb_splash");
		if (IS_ERR(mfd->splash_thread)) {
@@ -1167,7 +1171,7 @@ static int mdss_fb_register(struct msm_fb_data_type *mfd)
	mfd->panel_power_on = false;
	mfd->dcm_state = DCM_UNINIT;

	mdss_fb_parse_dt_split(mfd);
	mdss_fb_parse_dt(mfd);

	if (mdss_fb_alloc_fbmem(mfd)) {
		pr_err("unable to allocate framebuffer memory\n");
+2 −1
Original line number Diff line number Diff line
/* Copyright (c) 2008-2013, The Linux Foundation. All rights reserved.
/* Copyright (c) 2008-2014, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
@@ -214,6 +214,7 @@ struct msm_fb_data_type {
	bool shutdown_pending;

	struct task_struct *splash_thread;
	bool splash_logo_enabled;

	struct msm_fb_backup_type msm_fb_backup;
	struct completion power_set_comp;