From: Joonyoung Shim <jy0922.shim@samsung.com>
To: Gustavo Padovan <gustavo@padovan.org>,
linux-samsung-soc@vger.kernel.org,
dri-devel@lists.freedesktop.org, inki.dae@samsung.com,
Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Subject: Re: [PATCH 5/6] drm/exynos: remove struct *_win_data abstraction on planes
Date: Mon, 02 Feb 2015 13:53:55 +0900 [thread overview]
Message-ID: <54CF02E3.8020705@samsung.com> (raw)
In-Reply-To: <20150130144213.GD30820@joana>
Hi,
On 01/30/2015 11:42 PM, Gustavo Padovan wrote:
> Hi Joonyoung,
>
> 2015-01-30 Joonyoung Shim <jy0922.shim@samsung.com>:
>
>> +Cc Inki,
>>
>> Hi,
>>
>> On 01/23/2015 09:42 PM, Gustavo Padovan wrote:
>>> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>>>
>>> struct {fimd,mixer,vidi}_win_data was just keeping the same data
>>> as struct exynos_drm_plane thus get ride of it and use exynos_drm_plane
>>> directly.
>>>
>>> It changes how planes are created and remove .win_mode_set() callback
>>> that was only filling all *_win_data structs.
>>>
>>> Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
>>> ---
>>> drivers/gpu/drm/exynos/exynos_drm_crtc.c | 9 +-
>>> drivers/gpu/drm/exynos/exynos_drm_crtc.h | 1 +
>>> drivers/gpu/drm/exynos/exynos_drm_drv.c | 14 --
>>> drivers/gpu/drm/exynos/exynos_drm_drv.h | 5 +-
>>> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 181 ++++++++++---------------
>>> drivers/gpu/drm/exynos/exynos_drm_plane.c | 20 +--
>>> drivers/gpu/drm/exynos/exynos_drm_plane.h | 6 +-
>>> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 123 ++++-------------
>>> drivers/gpu/drm/exynos/exynos_mixer.c | 212 +++++++++++-------------------
>>> 9 files changed, 182 insertions(+), 389 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>>> index d0f4e1b..5cd6c1a 100644
>>> --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>>> +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
>>> @@ -287,13 +287,13 @@ static void exynos_drm_crtc_attach_mode_property(struct drm_crtc *crtc)
>>> }
>>>
>>> struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev,
>>> + struct drm_plane *plane,
>>> int pipe,
>>> enum exynos_drm_output_type type,
>>> struct exynos_drm_crtc_ops *ops,
>>> void *ctx)
>>> {
>>> struct exynos_drm_crtc *exynos_crtc;
>>> - struct drm_plane *plane;
>>> struct exynos_drm_private *private = drm_dev->dev_private;
>>> struct drm_crtc *crtc;
>>> int ret;
>>> @@ -309,12 +309,6 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev,
>>> exynos_crtc->type = type;
>>> exynos_crtc->ops = ops;
>>> exynos_crtc->ctx = ctx;
>>> - plane = exynos_plane_init(drm_dev, 1 << pipe,
>>> - DRM_PLANE_TYPE_PRIMARY);
>>> - if (IS_ERR(plane)) {
>>> - ret = PTR_ERR(plane);
>>> - goto err_plane;
>>> - }
>>>
>>
>> The crtc should have one primary plane, i think it is more reasonable
>> exynos_drm_crtc_create function creates primary plane.
>
> Yes and it has a primary plane. They are defined in the drivers' struct *_context
> the same way *_win_data was defined. And they allocated together wit the
> context struct and and initialized by exynos_plane_init() right before the
> call to exynos_drm_crtc_create(). Check the fimd_bind() part of this patch for
> example.
>
Your approach cannot stop to corrupt primary plane data by overlay
plane. We need to separate plane data used by primary plane and plane
data used by overlay plane.
Thanks.
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2015-02-02 4:53 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-23 12:42 [PATCH 1/6] drm/exynos: remove leftover code using event_list Gustavo Padovan
2015-01-23 12:42 ` [PATCH 2/6] drm/exynos: track vblank events on a per crtc basis Gustavo Padovan
2015-01-27 12:59 ` Daniel Stone
2015-01-27 13:02 ` Daniel Vetter
2015-01-29 17:10 ` [PATCH -v2] " Gustavo Padovan
2015-01-30 2:44 ` Joonyoung Shim
2015-01-30 14:30 ` Gustavo Padovan
2015-01-30 15:57 ` Daniel Stone
2015-01-30 16:08 ` Daniel Vetter
2015-01-30 17:17 ` Gustavo Padovan
2015-02-02 5:38 ` Joonyoung Shim
2015-01-23 12:42 ` [PATCH 3/6] drm/exynos: Remove exynos_plane_dpms() call with no effect Gustavo Padovan
2015-01-30 2:12 ` Joonyoung Shim
2015-01-30 14:36 ` Gustavo Padovan
2015-02-02 4:32 ` Joonyoung Shim
2015-01-23 12:42 ` [PATCH 4/6] drm/exynos: remove leftover functions declarations Gustavo Padovan
2015-01-30 2:48 ` Joonyoung Shim
2015-01-23 12:42 ` [PATCH 5/6] drm/exynos: remove struct *_win_data abstraction on planes Gustavo Padovan
2015-01-30 4:32 ` Joonyoung Shim
2015-01-30 14:42 ` Gustavo Padovan
2015-02-02 4:53 ` Joonyoung Shim [this message]
2015-01-23 12:43 ` [PATCH 6/6] drm/exynos: do not copy adjusted mode into mode during crtc mode_set Gustavo Padovan
2015-01-30 4:53 ` Joonyoung Shim
2015-01-30 14:44 ` Gustavo Padovan
2015-02-02 4:55 ` Joonyoung Shim
2015-02-03 14:16 ` Gustavo Padovan
2015-02-04 2:10 ` Joonyoung Shim
2015-01-30 2:21 ` [PATCH 1/6] drm/exynos: remove leftover code using event_list Joonyoung Shim
2015-01-30 13:37 ` Gustavo Padovan
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=54CF02E3.8020705@samsung.com \
--to=jy0922.shim@samsung.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=gustavo.padovan@collabora.co.uk \
--cc=gustavo@padovan.org \
--cc=inki.dae@samsung.com \
--cc=linux-samsung-soc@vger.kernel.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 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.