linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Archit Taneja <archit@ti.com>
To: Marcus Lorentzon <marcus.xm.lorentzon@stericsson.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
	"linux-fbdev@vger.kernel.org" <linux-fbdev@vger.kernel.org>,
	Vikas Sajjan <vikas.sajjan@linaro.org>,
	Benjamin Gaignard <benjamin.gaignard@linaro.org>,
	Tom Gall <tom.gall@linaro.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	Rob Clark <rob.clark@linaro.org>,
	Ragesh Radhakrishnan <Ragesh.R@linaro.org>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Bryan Wu <bryan.wu@canonical.com>,
	Maxime Ripard <maxime.ripard@free-electrons.com>,
	sunil joshi <joshi@samsung.com>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Sebastien Guiriec <s-guiriec@ti.com>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [RFC v2 0/5] Common Display Framework
Date: Wed, 06 Feb 2013 09:52:56 +0000	[thread overview]
Message-ID: <511227C2.8060808@ti.com> (raw)
In-Reply-To: <510F8807.2020406@stericsson.com>

On Monday 04 February 2013 03:35 PM, Marcus Lorentzon wrote:
> On 02/02/2013 12:35 AM, Laurent Pinchart wrote:
>> Hi Marcus,
>>
>> On Tuesday 08 January 2013 18:08:19 Marcus Lorentzon wrote:
>>> On 01/08/2013 05:36 PM, Tomasz Figa wrote:
>>>> On Tuesday 08 of January 2013 11:12:26 Marcus Lorentzon wrote:
> [...]
>>>>> But it is not perfect. After a couple of products we realized that
>>>>> most
>>>>> panel drivers want an easy way to send a bunch of init commands in one
>>>>> go. So I think it should be an op for sending an array of commands at
>>>>> once. Something like
>>>>>
>>>>> struct dsi_cmd {
>>>>>        enum mipi_pkt_type type; /* MIPI DSI, DCS, SetPacketLen, ... */
>>>>>        u8 cmd;
>>>>>        int dataLen;
>>>>>        u8 *data;
>>>>> }
>>>>>
>>>>> struct dsi_ops {
>>>>>        int dsi_write(source, int num_cmds, struct dsi_cmd *cmds);
>>>>>        ...
>>>>> }
>> Do you have DSI IP(s) that can handle a list of commands ? Or would
>> all DSI
>> transmitter drivers need to iterate over the commands manually ? In
>> the later
>> case a lower-level API might be easier to implement in DSI transmitter
>> drivers. Helper functions could provide the higher-level API you
>> proposed.
>
> The HW has a FIFO, so it can handle a few. Currently we use the low
> level type of call with one call per command. But we have found DSI
> command mode panels that don't accept any commands during the "update"
> (write start+continues). And so we must use a mutex/state machine to
> exclude any async calls to send DSI commands during update. But if you
> need to send more than one command per frame this will be hard (like
> CABC and backlight commands). It will be a ping pong between update and
> command calls. One option is to expose the mutex to the caller so it can
> make many calls before the next update grabs the mutex again.
> So maybe we could create a helper that handle the op for list of
> commands and another op for single command that you actually have to
> implement.

fyi, the DSI IP on OMAP3+ SoCs also has a FIFO. It can provide 
interrupts after each command is pushed out, and also when the FIFO gets 
empty(all commands are pushed). The only thing to take care is to not 
overflow FIFO.

DSI video mode panels generally have a few dozen internal registers 
which need to be configured via DSI commands. It's more fast(and 
convenient) to configure a handful of internal registers in one shot, 
and then perform a single BTA to know from the panel whether the 
commands were received correctly.

Regards,
Archit


  reply	other threads:[~2013-02-06  9:52 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-22 21:45 [RFC v2 0/5] Common Display Framework Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 1/5] video: Add generic display entity core Laurent Pinchart
2012-11-27 13:07   ` Tomi Valkeinen
2012-11-22 21:45 ` [RFC v2 2/5] video: panel: Add DPI panel support Laurent Pinchart
2012-11-27 13:02   ` Tomi Valkeinen
2012-11-30  9:26   ` Philipp Zabel
2012-11-22 21:45 ` [RFC v2 3/5] video: display: Add MIPI DBI bus support Laurent Pinchart
2012-11-30 12:02   ` Tomi Valkeinen
2012-11-22 21:45 ` [RFC v2 4/5] video: panel: Add R61505 panel support Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 5/5] video: panel: Add R61517 " Laurent Pinchart
2012-11-23 14:51 ` [RFC v2 0/5] Common Display Framework Tomi Valkeinen
2012-12-17 14:36   ` Laurent Pinchart
2012-12-17 15:29     ` Tomi Valkeinen
2012-12-17 23:18       ` Laurent Pinchart
2012-12-17 16:53     ` Jani Nikula
2012-12-17 22:19       ` Laurent Pinchart
2012-12-19 14:57         ` Jani Nikula
2012-12-19 15:07           ` Tomi Valkeinen
2012-12-24 17:31             ` Laurent Pinchart
2012-12-19 15:26           ` Rob Clark
2012-12-19 15:37             ` Tomi Valkeinen
2012-12-19 16:05               ` Rob Clark
2012-12-24 17:40                 ` Laurent Pinchart
2012-12-24 17:35             ` Laurent Pinchart
2012-12-27 16:10               ` Rob Clark
2012-12-24 17:27           ` Laurent Pinchart
2012-12-27 16:04             ` Rob Clark
2012-12-27 19:19               ` Sascha Hauer
2012-11-23 19:56 ` Thierry Reding
2012-11-24  7:15   ` Tomi Valkeinen
2012-11-26 14:47     ` Alan Cox
2012-12-17 15:15       ` Laurent Pinchart
2012-11-26  7:53   ` Philipp Zabel
2012-12-17 14:58   ` Laurent Pinchart
2012-11-23 21:41 ` Sascha Hauer
2012-12-17 15:02   ` Laurent Pinchart
2012-12-18  5:04 ` Dave Airlie
2012-12-18  6:21   ` Rob Clark
2012-12-18  8:30     ` Daniel Vetter
     [not found]       ` <CAAQKjZMt+13oooEw39mOM1rF2=ss4ih1s7iVS362di-50h4+Hg@mail.gmail.com>
2012-12-19 20:13         ` Stéphane Marchesin
2012-12-24 14:08         ` Laurent Pinchart
2012-12-24 13:39       ` Laurent Pinchart
2012-12-18 10:59     ` Sylwester Nawrocki
2012-12-24 17:19       ` Laurent Pinchart
2012-12-19 20:05     ` Stéphane Marchesin
2012-12-24 13:37     ` Laurent Pinchart
2012-12-27 15:54       ` Rob Clark
2012-12-27 19:18         ` Sascha Hauer
2012-12-27 19:57           ` Rob Clark
2012-12-28  0:04             ` Sascha Hauer
2013-01-08  8:33               ` Laurent Pinchart
2013-01-08  8:25         ` Laurent Pinchart
2013-01-08 16:13           ` Rob Clark
2013-01-09  8:35             ` Rahul Sharma
2013-02-01 23:42               ` Laurent Pinchart
2013-02-02 10:08                 ` Rob Clark
2012-12-18 10:39   ` Marcus Lorentzon
2012-12-24 17:09     ` Laurent Pinchart
2012-12-27 15:57       ` Rob Clark
2013-01-06 17:46         ` Daniel Vetter
2013-01-08  8:41           ` Laurent Pinchart
2012-12-24 13:24   ` Laurent Pinchart
     [not found] ` <CAD025yS5rGMbiRBdDxv=YLP6_fsQndAkr+3t29_mNhcvow_SwA@mail.gmail.com>
     [not found]   ` <3133576.BkqAl7V01U@avalon>
     [not found]     ` <CAD025yQoCiNaKvaCwvUWhk_jV70CPhV35UzV9MR6HtE+1baCxg@mail.gmail.com>
2012-12-18  6:25       ` Vikas Sajjan
2012-12-21 10:00       ` Tomasz Figa
2012-12-24 14:12         ` Laurent Pinchart
2012-12-27 14:43           ` Tomasz Figa
2012-12-28  3:38             ` Vikas Sajjan
2013-01-08  8:18             ` Laurent Pinchart
2013-01-08 10:12               ` Marcus Lorentzon
2013-01-08 16:36                 ` Tomasz Figa
2013-01-08 17:08                   ` Marcus Lorentzon
2013-02-01 23:35                     ` Laurent Pinchart
2013-02-04 10:05                       ` Marcus Lorentzon
2013-02-06  9:52                         ` Archit Taneja [this message]
2013-02-08 10:51                         ` Tomi Valkeinen
2013-02-08 12:43                           ` Marcus Lorentzon
2013-02-01 23:37                 ` Laurent Pinchart
2012-12-24 12:59       ` Laurent Pinchart

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=511227C2.8060808@ti.com \
    --to=archit@ti.com \
    --cc=Ragesh.R@linaro.org \
    --cc=benjamin.gaignard@linaro.org \
    --cc=bryan.wu@canonical.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=joshi@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-fbdev@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=marcus.xm.lorentzon@stericsson.com \
    --cc=maxime.ripard@free-electrons.com \
    --cc=rob.clark@linaro.org \
    --cc=s-guiriec@ti.com \
    --cc=sumit.semwal@linaro.org \
    --cc=thomas.petazzoni@free-electrons.com \
    --cc=tom.gall@linaro.org \
    --cc=tomi.valkeinen@ti.com \
    --cc=vikas.sajjan@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).