From: YoungJun Cho <yj44.cho@samsung.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
a.hajda@samsung.com, Thierry Reding <thierry.reding@gmail.com>
Cc: mark.rutland@arm.com, devicetree@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, pawel.moll@arm.com,
ijc+devicetree@hellion.org.uk, sachin.kamat@linaro.org,
sw0312.kim@samsung.com, dri-devel@lists.freedesktop.org,
kyungmin.park@samsung.com, robh+dt@kernel.org,
galak@codeaurora.org, kgene.kim@samsung.com,
s.trumtrar@pengutronix.de
Subject: Re: [RFC v2 PATCH v3 10/14] drm/panel: add S6E3FA0 driver
Date: Tue, 29 Apr 2014 21:45:53 +0900 [thread overview]
Message-ID: <535F9F01.90305@samsung.com> (raw)
In-Reply-To: <535F6448.6000005@samsung.com>
Hi Andrzej, Laurent, Thierry.
CCing Steffen Trumtrar,
On 04/29/2014 05:35 PM, YoungJun Cho wrote:
> On 04/29/2014 03:02 PM, YoungJun Cho wrote:
>> Hi Laurent,
>>
>> Thank you for sharing your idea.
>>
>> On 04/29/2014 12:05 AM, Laurent Pinchart wrote:
>>> Hi YoungJun,
>>>
>>> On Tuesday 22 April 2014 10:24:39 YoungJun Cho wrote:
>>>> On 04/22/2014 08:00 AM, Laurent Pinchart wrote:
>>>>> Hi YoungJun,
>>>>>
>>>>> Thank you for the patch.
>>>>>
>>>>> On Monday 21 April 2014 21:28:37 YoungJun Cho wrote:
>>>>>> This patch adds MIPI-DSI command mode based S6E3FA0 AMOLED LCD Panel
>>>>>> driver.
>>>>>>
>>>>>> Changelog v2:
>>>>>> - Declares delay, size properties in probe routine instead of DT
>>>>>> Changelog v3:
>>>>>> - Moves CPU timings relevant properties from FIMD DT
>>>>>>
>>>>>> (commented by Laurent Pinchart, Andrzej Hajda)
>>>>>>
>>>>>> Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
>>>>>> Acked-by: Inki Dae <inki.dae@samsung.com>
>>>>>> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>>>>>> ---
>>>>>>
>>>>>> drivers/gpu/drm/panel/Kconfig | 7 +
>>>>>> drivers/gpu/drm/panel/Makefile | 1 +
>>>>>> drivers/gpu/drm/panel/panel-s6e3fa0.c | 569
>>>>>> ++++++++++++++++++++++++++
>>>>>> 3 files changed, 577 insertions(+)
>>>>>> create mode 100644 drivers/gpu/drm/panel/panel-s6e3fa0.c
>>>>>
>>>>> [snip]
>>>>>
>>>>>> diff --git a/drivers/gpu/drm/panel/panel-s6e3fa0.c
>>>>>> b/drivers/gpu/drm/panel/panel-s6e3fa0.c new file mode 100644
>>>>>> index 0000000..1282678
>>>>>> --- /dev/null
>>>>>> +++ b/drivers/gpu/drm/panel/panel-s6e3fa0.c
>>>>>> @@ -0,0 +1,569 @@
>>>>>
>>>>> [snip]
>>>>>
>>>>>> +static int s6e3fa0_get_modes(struct drm_panel *panel)
>>>>>> +{
>>>>>> + struct drm_connector *connector = panel->connector;
>>>>>> + struct s6e3fa0 *ctx = panel_to_s6e3fa0(panel);
>>>>>> + struct drm_display_mode *mode;
>>>>>> +
>>>>>> + mode = drm_mode_create(connector->dev);
>>>>>> + if (!mode) {
>>>>>> + DRM_ERROR("failed to create a new display mode\n");
>>>>>> + return 0;
>>>>>> + }
>>>>>> +
>>>>>> + drm_display_mode_from_videomode(&ctx->vm, mode);
>>>>>> + mode->width_mm = ctx->width_mm;
>>>>>> + mode->height_mm = ctx->height_mm;
>>>>>> + connector->display_info.width_mm = mode->width_mm;
>>>>>> + connector->display_info.height_mm = mode->height_mm;
>>>>>> +
>>>>>> + mode->type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED;
>>>>>> + mode->private = (void *)&ctx->cpu_timings;
>>>>>
>>>>> Wouldn't it make sense to create a new get_interface_params (or
>>>>> similar)
>>>>> operation for drm_panel to query interface configuration parameters
>>>>> instead of shoving it in the mode private field ?
>>>>
>>>> You mean "new get_interface_params operation" is different from
>>>> get_modes() ?
>>>>
>>>> Till now, struct drm_display_mode and most of mode relevant APIs are
>>>> only for video interface.
>>>> And CPU interface also needs video mode configurations.
>>>>
>>>> I have a plan to implement the CPU interface relevant APIs like video
>>>> mode ones, but I think they should be used under current DRM mode APIs
>>>> like fill_modes, get_modes and so on.
>>>> So after that implementation, this private field will be replaced by
>>>> new ones.
>>>>
>>>> Could you explain it in more detail?
>>>
>>> The idea is that the interface parameters (RD/WR signals timings in
>>> this case,
>>> but this could also include MIPI DSI lane configuration or any other
>>> kind of
>>> physical interface parameters) are distinct from the video modes.
>>
>> Yes. The RD/WR signals timings are distinct from the video modes,
>> but in my opinion, others are covered by video mode already.
>>
>>>
>>> Do you see a need to tie tie interface parameters with
>>> drm_display_mode ? Can
>>> they be mode-specific ? In any case I'd like not to use the private
>>> field of
>>> drm_display_mode. If we need to tie both information together then it
>>> should
>>> be done in a standard way.
>>
>> I think this cpu-mode-timings is in struct drm_display_mode
>> (NOT by *private) and requires drm_display_mode_from_cpumode()
>> because the drm_display_mode_from_videomode() covers only video mode.
>>
>> I'll try implement it as soon as possible.
>>
>
> For your information, there are two modes in MIPI DSI specification,
> which are video mode and command mode.
> And CS, RD/WR timings are related with MIPI DBI specification,
> VSYNC, HSYNC timings are related with MIPI DPI specification.
>
> So I think all things relevant with command mode should be arranged
> the name of command mode(NOT CPU mode, like video mode NOT RGB mode)
> in MIPI DSI, and we don't need to consider MIPI DBI like we do MIPI DPI
> for video mode.
>
First, for MIPI command mode, hactive and vactive are only required.
Sorry Andrzej for confusing reply.
I have to modify exynos fimd pixel clock calculating function.
Second, for generic MIPI command mode timing support, commandmode.c and
of_commandmode.c are required in drivers/video.
And the struct drm_panel_command_mode_timings should be moved into
commandmode.h as struct commandmode.
And the last(this is important and I need your ideas), adds this command
mode timings into struct display_timing.
From hierarchical aspects, display_timing(s) should contain command
mode timings too, but it only contains video mode timings.
If I do it, current video mode relevant DTs will be broken.
So IMHO it is required to rename of_*_display_timing() as
of_*_videomode_timing() and add of_*_commandmode_timing() into
of_display_timing.c.
And should add command mode timings into DT like display-timings-command
to distinguish it from display-timings(for videomode).
What do you think about it?
Thank you.
Best regards YJ
> Thank you.
> Best regards YJ
>
>> Thank you,
>> Best regards YJ.
>>>
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>
next prev parent reply other threads:[~2014-04-29 12:45 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-21 12:28 [RFC v2 PATCH 00/14] drm/exynos: support MIPI DSI command mode display YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 01/14] drm/exynos: dsi: move the Eot packets configuration point YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 02/14] drm/exynos: dsi: delay setting clocks after reset YoungJun Cho
2014-04-22 12:15 ` Andrzej Hajda
2014-04-23 1:01 ` YoungJun Cho
2014-04-23 3:45 ` YoungJun Cho
2014-04-23 7:37 ` Andrzej Hajda
2014-04-24 0:54 ` YoungJun Cho
[not found] ` <1398083321-8668-1-git-send-email-yj44.cho-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-04-21 12:28 ` [RFC v2 PATCH 03/14] drm/exynos: use wait_event_timeout() for safety usage YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v2 04/14] ARM: dts: sysreg: add exynos5 compatible to DT bindings YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v3 05/14] ARM: dts: samsung-fimd: add I80 specific properties YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v2 06/14] drm/exynos: support MIPI DSI command mode YoungJun Cho
2014-04-21 22:52 ` Laurent Pinchart
2014-04-22 1:06 ` YoungJun Cho
2014-04-22 7:34 ` Thierry Reding
2014-04-23 1:18 ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v2 07/14] ARM: dts: exynos_dsim: add exynos5420 compatible to DT bindings YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 08/14] drm/exynos: dsi: add driver data to support Exynos5420 YoungJun Cho
2014-04-23 8:29 ` Andrzej Hajda
2014-04-24 1:23 ` YoungJun Cho
2014-04-27 1:53 ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v4 09/14] ARM: dts: s6e3fa0: add DT bindings YoungJun Cho
2014-04-22 14:02 ` Andrzej Hajda
2014-04-23 1:26 ` YoungJun Cho
2014-04-23 7:33 ` Thierry Reding
2014-04-23 9:02 ` Andrzej Hajda
2014-04-23 11:34 ` Laurent Pinchart
2014-04-23 12:48 ` Andrzej Hajda
2014-04-23 12:55 ` Laurent Pinchart
2014-04-23 13:33 ` Andrzej Hajda
2014-04-24 3:34 ` YoungJun Cho
2014-04-24 3:15 ` YoungJun Cho
2014-04-24 1:31 ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH v3 10/14] drm/panel: add S6E3FA0 driver YoungJun Cho
2014-04-21 23:00 ` Laurent Pinchart
2014-04-22 1:24 ` YoungJun Cho
2014-04-28 15:05 ` Laurent Pinchart
2014-04-28 21:25 ` Thierry Reding
2014-04-29 6:11 ` YoungJun Cho
2014-04-30 18:20 ` Laurent Pinchart
2014-04-29 6:02 ` YoungJun Cho
2014-04-29 8:35 ` YoungJun Cho
2014-04-29 12:45 ` YoungJun Cho [this message]
2014-04-23 10:16 ` Andrzej Hajda
2014-04-24 4:04 ` YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 11/14] ARM: dts: exynos4: add system register node YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 12/14] ARM: dts: exynos5: add system register support YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 13/14] ARM: dts: exynos5420: add mipi-phy node YoungJun Cho
2014-04-21 12:28 ` [RFC v2 PATCH 14/14] ARM: dts: exynos5420: add dsi node YoungJun Cho
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=535F9F01.90305@samsung.com \
--to=yj44.cho@samsung.com \
--cc=a.hajda@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=galak@codeaurora.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=kgene.kim@samsung.com \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=robh+dt@kernel.org \
--cc=s.trumtrar@pengutronix.de \
--cc=sachin.kamat@linaro.org \
--cc=sw0312.kim@samsung.com \
--cc=thierry.reding@gmail.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;
as well as URLs for NNTP newsgroup(s).