All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joonyoung Shim <jy0922.shim@samsung.com>
To: Andrzej Hajda <a.hajda@samsung.com>, Inki Dae <inki.dae@samsung.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	Seung-Woo Kim <sw0312.kim@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	dri-devel@lists.freedesktop.org,
	open list <linux-kernel@vger.kernel.org>,
	"moderated list:ARM/S5P EXYNOS AR..."
	<linux-samsung-soc@vger.kernel.org>,
	Joonyoung Shim <jy0922.shim@samsung.com>
Subject: Re: [PATCH 15/15] drm/exynos/fimc: fix source buffer registers
Date: Tue, 26 Aug 2014 15:47:45 +0900	[thread overview]
Message-ID: <53FC2D91.3020103@samsung.com> (raw)
In-Reply-To: <53FC2AA1.7030605@samsung.com>

On 08/26/2014 03:35 PM, Andrzej Hajda wrote:
> On 08/26/2014 07:57 AM, Joonyoung Shim wrote:
>> Hi Andrzej,
>>
>> On 08/22/2014 04:52 PM, Andrzej Hajda wrote:
>>> FIMC in default mode of operation uses only one input buffer,
>>> but the driver used also second buffer, as a result only the
>>> first frame was processed correctly. The patch fixes it.
>> I can't understand well, then we don't need to distinguish buf_id in
>> fimc_src_set_addr()?
> Yes. FIMC in default operation mode uses only one input buffer pointer
> which should
> be updated when processing of the previous buffer has been finished.
> 
> There exists also ping-pong mode which uses two buffer pointers, as I
> have spotted in
> specs. However I have not seen it was implemented neither in drm,
> neither in camera drivers.
> I will try to implement it later.

OK if operation is no problem, and i think it's better to add comments
about this.

> 
> Regards
> Andrzej
> 
>>
>>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>>> ---
>>>  drivers/gpu/drm/exynos/exynos_drm_fimc.c | 16 ++++++++--------
>>>  1 file changed, 8 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimc.c b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
>>> index b20078e..e985253 100644
>>> --- a/drivers/gpu/drm/exynos/exynos_drm_fimc.c
>>> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimc.c
>>> @@ -720,24 +720,24 @@ static int fimc_src_set_addr(struct device *dev,
>>>  	case IPP_BUF_ENQUEUE:
>>>  		config = &property->config[EXYNOS_DRM_OPS_SRC];
>>>  		fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_Y],
>>> -			EXYNOS_CIIYSA(buf_id));
>>> +			EXYNOS_CIIYSA0);
>>>  
>>>  		if (config->fmt == DRM_FORMAT_YVU420) {
>>>  			fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CR],
>>> -				EXYNOS_CIICBSA(buf_id));
>>> +				EXYNOS_CIICBSA0);
>>>  			fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CB],
>>> -				EXYNOS_CIICRSA(buf_id));
>>> +				EXYNOS_CIICRSA0);
>>>  		} else {
>>>  			fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CB],
>>> -				EXYNOS_CIICBSA(buf_id));
>>> +				EXYNOS_CIICBSA0);
>>>  			fimc_write(ctx, buf_info->base[EXYNOS_DRM_PLANAR_CR],
>>> -				EXYNOS_CIICRSA(buf_id));
>>> +				EXYNOS_CIICRSA0);
>>>  		}
>>>  		break;
>>>  	case IPP_BUF_DEQUEUE:
>>> -		fimc_write(ctx, 0x0, EXYNOS_CIIYSA(buf_id));
>>> -		fimc_write(ctx, 0x0, EXYNOS_CIICBSA(buf_id));
>>> -		fimc_write(ctx, 0x0, EXYNOS_CIICRSA(buf_id));
>>> +		fimc_write(ctx, 0x0, EXYNOS_CIIYSA0);
>>> +		fimc_write(ctx, 0x0, EXYNOS_CIICBSA0);
>>> +		fimc_write(ctx, 0x0, EXYNOS_CIICRSA0);
>>>  		break;
>>>  	default:
>>>  		/* bypass */
>>>
>>
> 
> 

  reply	other threads:[~2014-08-26  6:47 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-22  7:52 [PATCH 00/15] drm/exynos/ipp: image post processing fixes and improvements, part four Andrzej Hajda
2014-08-22  7:52 ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 01/15] drm/exynos/ipp: remove fake pm callbacks Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 02/15] drm/exynos/ipp: cancel works before command node clean Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 03/15] drm/exynos/ipp: move file reference from memory to command node Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-26  2:55   ` Joonyoung Shim
2014-08-26  2:55     ` Joonyoung Shim
2014-08-26  2:59     ` Joonyoung Shim
2014-08-26  6:16       ` Andrzej Hajda
2014-08-26  6:16         ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 04/15] drm/exynos/ipp: remove only related commands on file close Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 05/15] drm/exynos/ipp: remove unused field in command node Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 06/15] drm/exynos/ipp: free partially allocated resources on error Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-26  5:00   ` Joonyoung Shim
2014-08-27 10:27     ` Andrzej Hajda
2014-08-27 23:59       ` Joonyoung Shim
2014-08-27 23:59         ` Joonyoung Shim
2014-08-22  7:52 ` [PATCH 07/15] drm/exynos/ipp: move nodes cleaning to separate function Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 08/15] drm/exynos/ipp: clean memory nodes on command node cleaning Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 09/15] drm/exynos/ipp: replace work_struct casting with better constructs Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 10/15] drm/exynos/ipp: stop hardware before freeing memory Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 11/15] drm/exynos/ipp: remove events during command cleaning Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 12/15] drm/exynos/fimc: avoid clearing overflow bits Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 13/15] drm/exynos/fimc: do not enable fimc twice Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 14/15] drm/exynos/fimc: simplify buffer queuing Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-26  5:53   ` Joonyoung Shim
2014-08-26  6:20     ` Andrzej Hajda
2014-08-26  6:20       ` Andrzej Hajda
2014-08-27 11:07   ` [PATCH v2 " Andrzej Hajda
2014-08-27 11:07     ` Andrzej Hajda
2014-08-22  7:52 ` [PATCH 15/15] drm/exynos/fimc: fix source buffer registers Andrzej Hajda
2014-08-22  7:52   ` Andrzej Hajda
2014-08-26  5:57   ` Joonyoung Shim
2014-08-26  6:35     ` Andrzej Hajda
2014-08-26  6:35       ` Andrzej Hajda
2014-08-26  6:47       ` Joonyoung Shim [this message]
2014-08-26  6:52 ` [PATCH 00/15] drm/exynos/ipp: image post processing fixes and improvements, part four Joonyoung Shim

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=53FC2D91.3020103@samsung.com \
    --to=jy0922.shim@samsung.com \
    --cc=a.hajda@samsung.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=inki.dae@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=sw0312.kim@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.