From: Jingoo Han <jg1.han@samsung.com>
To: 'Thomas Abraham' <thomas.abraham@linaro.org>,
linux-fbdev@vger.kernel.org
Cc: FlorianSchandinat@gmx.de, linux-samsung-soc@vger.kernel.org,
kgene.kim@samsung.com, ben-linux@fluff.org, patches@linaro.org,
'Jingoo Han' <jg1.han@samsung.com>
Subject: RE: [PATCH 2/3] video: s3c-fb: remove 'default_win' element from platform data
Date: Tue, 06 Mar 2012 10:05:32 +0000 [thread overview]
Message-ID: <002801ccfb80$aac11cf0$004356d0$%han@samsung.com> (raw)
In-Reply-To: <1330789808-8253-3-git-send-email-thomas.abraham@linaro.org>
> -----Original Message-----
> From: Thomas Abraham [mailto:thomas.abraham@linaro.org]
> Sent: Sunday, March 04, 2012 12:50 AM
> To: linux-fbdev@vger.kernel.org
> Cc: FlorianSchandinat@gmx.de; linux-samsung-soc@vger.kernel.org; kgene.kim@samsung.com;
> jg1.han@samsung.com; ben-linux@fluff.org; patches@linaro.org
> Subject: [PATCH 2/3] video: s3c-fb: remove 'default_win' element from platform data
>
> The decision to enable or disable the data output to the lcd panel from
> the controller need not be based on the value of 'default_win' element
> in the platform data. Instead, the data output to the panel is enabled
> if any of the windows are active, else data output is disabled.
>
> Cc: Ben Dooks <ben-linux@fluff.org>
> Cc: Jingoo Han <jg1.han@samsung.com>
> Signed-off-by: Thomas Abraham <thomas.abraham@linaro.org>
> ---
> arch/arm/plat-samsung/include/plat/fb.h | 2 --
> drivers/video/s3c-fb.c | 24 ++++--------------------
> 2 files changed, 4 insertions(+), 22 deletions(-)
>
> diff --git a/arch/arm/plat-samsung/include/plat/fb.h b/arch/arm/plat-samsung/include/plat/fb.h
> index 39d6bd7..536002f 100644
> --- a/arch/arm/plat-samsung/include/plat/fb.h
> +++ b/arch/arm/plat-samsung/include/plat/fb.h
> @@ -62,8 +62,6 @@ struct s3c_fb_platdata {
> struct s3c_fb_pd_win *win[S3C_FB_MAX_WIN];
> struct fb_videomode *vtiming;
>
> - u32 default_win;
> -
> u32 vidcon0;
> u32 vidcon1;
> };
> diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
> index 8e05d4d..8baba31 100644
> --- a/drivers/video/s3c-fb.c
> +++ b/drivers/video/s3c-fb.c
> @@ -531,7 +531,7 @@ static int s3c_fb_set_par(struct fb_info *info)
> /* disable the window whilst we update it */
> writel(0, regs + WINCON(win_no));
>
> - if (win_no = sfb->pdata->default_win)
> + if (!sfb->output_on)
> s3c_fb_enable(sfb, 1);
>
> /* write the buffer address */
> @@ -792,7 +792,7 @@ static int s3c_fb_blank(int blank_mode, struct fb_info *info)
> struct s3c_fb_win *win = info->par;
> struct s3c_fb *sfb = win->parent;
> unsigned int index = win->index;
> - u32 wincon;
> + u32 wincon, output_on = sfb->output_on;
Can you add new line as below? It's more readable.
+ u32 output_on = sfb->output_on;
Sorry for nitpicking.
>
> dev_dbg(sfb->dev, "blank mode %d\n", blank_mode);
>
> @@ -838,27 +838,11 @@ static int s3c_fb_blank(int blank_mode, struct fb_info *info)
> * it is highly likely that we also do not need to output
> * anything.
> */
> -
> - /* We could do something like the following code, but the current
> - * system of using framebuffer events means that we cannot make
> - * the distinction between just window 0 being inactive and all
> - * the windows being down.
> - *
> - * s3c_fb_enable(sfb, sfb->enabled ? 1 : 0);
> - */
> -
> - /* we're stuck with this until we can do something about overriding
> - * the power control using the blanking event for a single fb.
> - */
> - if (index = sfb->pdata->default_win) {
> - shadow_protect_win(win, 1);
> - s3c_fb_enable(sfb, blank_mode != FB_BLANK_POWERDOWN ? 1 : 0);
> - shadow_protect_win(win, 0);
> - }
> + s3c_fb_enable(sfb, sfb->enabled ? 1 : 0);
However, shadow_protect_win() is necessary as belows.
Because shadow registers such as VIDCON0 should be protectd
whenever the registers are updated. The s3c_fb_enable() updates
VIDCON0.
+ shadow_protect_win(win, 1);
+ s3c_fb_enable(sfb, sfb->enabled ? 1 : 0);
+ shadow_protect_win(win, 0);
>
> pm_runtime_put_sync(sfb->dev);
>
> - return 0;
> + return output_on = sfb->output_on;
> }
>
> /**
> --
> 1.6.6.rc2
next prev parent reply other threads:[~2012-03-06 10:05 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-03 15:46 [PATCH 0/3] video: s3c-fb: Rearrange the elements in platform data Thomas Abraham
2012-03-03 15:46 ` [PATCH 1/3] video: s3c-fb: move video interface timing out of window setup data Thomas Abraham
2012-03-06 4:45 ` Jingoo Han
2012-03-06 5:38 ` Thomas Abraham
2012-03-06 6:22 ` Jingoo Han
2012-03-06 6:47 ` Thomas Abraham
2012-03-06 7:26 ` Jingoo Han
2012-03-03 15:46 ` [PATCH 2/3] video: s3c-fb: remove 'default_win' element from platform data Thomas Abraham
2012-03-06 10:05 ` Jingoo Han [this message]
2012-03-06 10:22 ` Thomas Abraham
2012-03-03 15:46 ` [PATCH 3/3] ARM: Exynos: Rework platform data for lcd controller for Origen board Thomas Abraham
2012-03-06 7:32 ` Jingoo Han
2012-03-03 16:30 ` [PATCH 0/3] video: s3c-fb: Rearrange the elements in platform data Mark Brown
2012-03-03 16:57 ` Thomas Abraham
2012-03-03 16:49 ` Mark Brown
2012-03-05 7:29 ` Jingoo Han
2012-03-05 8:24 ` Thomas Abraham
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='002801ccfb80$aac11cf0$004356d0$%han@samsung.com' \
--to=jg1.han@samsung.com \
--cc=FlorianSchandinat@gmx.de \
--cc=ben-linux@fluff.org \
--cc=kgene.kim@samsung.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=patches@linaro.org \
--cc=thomas.abraham@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).