Linux Samsung SOC development
 help / color / mirror / Atom feed
From: YoungJun Cho <yj44.cho@samsung.com>
To: Rahul Sharma <rahul.sharma@samsung.com>,
	Andrzej Hajda <a.hajda@samsung.com>
Cc: linux-samsung-soc <linux-samsung-soc@vger.kernel.org>,
	Kukjin Kim <kgene.kim@samsung.com>,
	sunil joshi <joshi@samsung.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"Szyprowski, Marek" <m.szyprowski@samsung.com>
Subject: Re: [PATCH] drm/exynos: remove hardware overlays disable from fimd probe
Date: Mon, 02 Jun 2014 19:32:01 +0900	[thread overview]
Message-ID: <538C52A1.8040703@samsung.com> (raw)
In-Reply-To: <CAPdUM4POJwfe_RyKV+ym=ENgVF+2To0qgS88UGp1ueBD3LH4ig@mail.gmail.com>

Hi Rahul,

On 06/02/2014 06:42 PM, Rahul Sharma wrote:
> On 2 June 2014 14:41, Andrzej Hajda <a.hajda@samsung.com> wrote:
>> Hi Rahul,
>>
>> On 05/28/2014 08:11 AM, Rahul Sharma wrote:
>>> System hangs when FIMD registers are accessed to disable
>>> hardware overlays. This is because of the clocks which are
>>> not enabled before register access.
>>>
>>> 'Hardware overlay disable' is cleaned from the FIMD probe.
>>>
>>> Signed-off-by: Rahul Sharma <rahul.sharma@samsung.com>
>>
>> This patch causes regression on some exynos4210-universal_c210 devices,
>> everything works expect colors are incorrect - it seems blue component
>> is very dark, almost black.
>>
>
> Oh.... Sorry for that. I did not see any problem on 5250/5420/5800. I do not
> have setup for 4210. Better we should revert this patch.
>
> Would you please help me by verifying the following patch on 4210? This
> is an alternate solution to the same problem.
>
> http://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg31426.html

In my humble opinion, the patch is required to modify like below:

+       ret = pm_runtime_get_sync(ctx->dev);
+       if (ret < 0) {

When the bootloader enabled FIMD to show logo(boot image) or animation,
this function pm_runtime_get_sync() in fimd_bind() would return 1.

Thank you.
Best regards YJ

>
> Thanks Andrej, for bringing it to notice.
>
> Regards,
> Rahul Sharma
>
>> Regards
>> Andrzej
>>
>>> ---
>>> Based on exynos-drm-next branch.
>>>
>>>   drivers/gpu/drm/exynos/exynos_drm_fimd.c |   17 -----------------
>>>   1 file changed, 17 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>>> index bd30d0c..2ec634f 100644
>>> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>>> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
>>> @@ -703,19 +703,6 @@ static void fimd_win_disable(struct exynos_drm_manager *mgr, int zpos)
>>>        win_data->enabled = false;
>>>   }
>>>
>>> -static void fimd_clear_win(struct fimd_context *ctx, int win)
>>> -{
>>> -     writel(0, ctx->regs + WINCON(win));
>>> -     writel(0, ctx->regs + VIDOSD_A(win));
>>> -     writel(0, ctx->regs + VIDOSD_B(win));
>>> -     writel(0, ctx->regs + VIDOSD_C(win));
>>> -
>>> -     if (win == 1 || win == 2)
>>> -             writel(0, ctx->regs + VIDOSD_D(win));
>>> -
>>> -     fimd_shadow_protect_win(ctx, win, false);
>>> -}
>>> -
>>>   static void fimd_window_suspend(struct exynos_drm_manager *mgr)
>>>   {
>>>        struct fimd_context *ctx = mgr->ctx;
>>> @@ -898,16 +885,12 @@ static int fimd_bind(struct device *dev, struct device *master, void *data)
>>>   {
>>>        struct fimd_context *ctx = fimd_manager.ctx;
>>>        struct drm_device *drm_dev = data;
>>> -     int win;
>>>
>>>        fimd_mgr_initialize(&fimd_manager, drm_dev);
>>>        exynos_drm_crtc_create(&fimd_manager);
>>>        if (ctx->display)
>>>                exynos_drm_create_enc_conn(drm_dev, ctx->display);
>>>
>>> -     for (win = 0; win < WINDOWS_NR; win++)
>>> -             fimd_clear_win(ctx, win);
>>> -
>>>        return 0;
>>>
>>>   }
>>>
>>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>

  parent reply	other threads:[~2014-06-02 10:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-28  6:11 [PATCH] drm/exynos: remove hardware overlays disable from fimd probe Rahul Sharma
2014-06-02  9:11 ` Andrzej Hajda
2014-06-02  9:42   ` Rahul Sharma
2014-06-02 10:11     ` Tomasz Figa
2014-06-02 10:42       ` Andrzej Hajda
2014-06-02 11:48         ` Andrzej Hajda
2014-06-09  4:13           ` Inki Dae
2014-06-02 10:32     ` YoungJun Cho [this message]
2014-06-02 11:06     ` Inki Dae

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=538C52A1.8040703@samsung.com \
    --to=yj44.cho@samsung.com \
    --cc=a.hajda@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=joshi@samsung.com \
    --cc=kgene.kim@samsung.com \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=rahul.sharma@samsung.com \
    /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