All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Archit Taneja <architt@codeaurora.org>
Cc: Xinliang Liu <xinliang.liu@linaro.org>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	treding@nvidia.com, linux-arm-msm@vger.kernel.org,
	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	lars@metafoo.de, Amit Kucheria <amit.kucheria@linaro.org>,
	Rob Clark <robdclark@gmail.com>
Subject: Re: [PATCH v3 0/7] drm/i2c: adv7511: ADV7533 support
Date: Fri, 22 Apr 2016 01:36:05 +0300	[thread overview]
Message-ID: <7946010.9Qhcp8D76N@avalon> (raw)
In-Reply-To: <5714AD6E.5040006@codeaurora.org>

Hi Archit,

On Monday 18 Apr 2016 15:18:30 Archit Taneja wrote:
> On 04/17/2016 05:01 PM, Xinliang Liu wrote:
> > On 9 March 2016 at 18:57, Archit Taneja <architt@codeaurora.org> wrote:
> >> ADV7533 is a DSI to HDMI encoder chip. It's like ADV7511, but with an
> >> additional DSI RX block that takes in DSI video mode output.
> >> 
> >> Trying to get this driver merged has had some challenges:
> >> 
> >> - ADV7533 has an I2C control bus, but acts as a DSI peripheral too.
> >>   After discussions, it was concluded that we'd want to provide an
> >>   API to create MIPI DSI devices, rather than expose two different
> >>   interfaces on DT. The first version [1] tried the former approach
> >>   the second version [2] showed how the driver would look like if
> >>   exposed 2 DT nodes. This lateset patchset relies on the MIPI DSI
> >>   device creation API provided by [3], this has been accepted and
> >>   should be merged for 4.6.
> >> 
> >> - The driver was designed as an I2C slave encoder. When ADV7533
> >>   patches were posted [1], it was modelled as a bridge, but ADV7511
> >>   and others were still left as I2C slave encoders. This wasn't
> >>   accepted. After discussions, it was decided that ADV7511 too would
> >>   be converted into a bridge driver, and all the users of ADV7511
> >>   should assume it is a bridge. This bridge conversion was done in
> >>   [4]. There is still some debate over whether the bridge driver be
> >>   involved in the connector creation, or the KMS driver that has
> >>   the whole view of the display pipeline. This discussion shouldn't
> >>   affect this patch set, though.
> > 
> > I also agree with Laurent Pinchart that bridge driver shoudn't get
> > involved in in the connector creation.
> > It is better for KMS driver that has the whole view of the display
> > pipeline.
>
> Yes, that's the eventual plan. We were thinking of creating an
> additional drm bridge api (drm_bridge_create_connector) that
> helps the KMS driver create a connector for the bridge.
> 
> Since there are  certain connector related properties that the KMS
> driver may not be aware of, we were thinking of creating another
> drm_bridge op which fills up connector properties. Some properties
> (like whether we want POLLED HPD or not) are more platform specific,
> and would be parsed via the connector's DT node (that is, if DT is
> supported on that platform)
> 
> For now, this series creates the connector in the bridge's
> attach op, but relies on the KMS driver to call
> drm_connector_register. The other stuff I mentioned above can come
> later.

Do you think you'd have time to lead that effort ?

> > In this case, I mean creating bridge driver to support ADV7533. I
> > think this is something look like panel driver. Maybe we need to add
> > some callback to the bridge to avoid creating connector in bridge
> > driver.
> > We can refer to panel entity to see what callbacks to be added. One
> > callback I can see is the get_modes callback might be need.
> > 
> >> This patch set enables ADV7533 support with the above two issues
> >> now resolved. It also incorporates ADV7533 specific features and fixes
> >> that we've discovered since the first version of this patch was posted.
> >> 
> >> Tested on ADV7533 chips on DB410c. It should work on the Hikey board too.
> > 
> > I have tested the this tracking branch :
> > https://git.linaro.org/landing-teams/working/qualcomm/kernel.git/shortlog/
> > refs/heads/tracking-qcomlt-adv7511 it works for HiKey.
> > But it seems this patch set is a little different from the above
> > branch. I think I need to tested this patch set.
> 
> Yes, it would be great if you could test the posted patch set and
> provided a Tested-by. The patches "drm/i2c: adv7511: Init regulators"
> and above need to still be applied from this branch. I'll post these
> out in another patch set later.
> 
> >> I'd appreaciate if someone could test it on a ADV7511 platform since I
> >> don't have one.
> >> 
> >> [4]
> >> https://lists.freedesktop.org/archives/dri-devel/2016-January/098287.html
> >> [3]
> >> https://lkml.org/lkml/2016/2/12/67
> >> [2]
> >> https://lists.freedesktop.org/archives/dri-devel/2015-September/089884.ht
> >> ml
> >> [1]:
> >> https://lists.freedesktop.org/archives/dri-devel/2015-July/087088.html
> >> 
> >> Archit Taneja (7):
> >>    drm/i2c: adv7511: Convert to drm_bridge
> >>    drm/i2c: adv7511: Fix mutex deadlock when interrupts are disabled
> >>    drm/i2c: adv7511: Initial support for ADV7533
> >>    drm/i2c: adv7511: Create a MIPI DSI device
> >>    drm/i2c: adv7511: Use internal timing generator
> >>    drm/i2c: adv7511: Change number of DSI lanes dynamically
> >>    dt-bindings: drm/bridge: Update bindings for ADV7533
> >>   
> >>   .../bindings/display/bridge/adi,adv7511.txt        |  25 +-
> >>   drivers/gpu/drm/i2c/adv7511.c                      | 539 ++++++++++----
> >>   2 files changed, 476 insertions(+), 88 deletions(-)

-- 
Regards,

Laurent Pinchart

  parent reply	other threads:[~2016-04-21 22:35 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-27  6:16 [PATCH 0/5] drm/i2c: adv7511: ADV7533 support Archit Taneja
2015-07-27  6:16 ` [PATCH 1/5] drm/i2c: adv7511: Fix mutex deadlock when interrupts are disabled Archit Taneja
2015-07-27  6:16 ` [PATCH 2/5] drm/i2c: adv7511: Initial support for adv7533 Archit Taneja
2015-07-28  3:27   ` Bjorn Andersson
2015-08-03  5:39     ` Archit Taneja
2015-07-27  6:16 ` [PATCH 3/5] drm/i2c: adv7511: Refactor encoder slave functions Archit Taneja
2015-07-27  8:59   ` Laurent Pinchart
2015-07-28  8:17     ` Archit Taneja
2015-07-28 14:38       ` Boris Brezillon
2015-07-31  5:26         ` Archit Taneja
2015-07-31  9:12           ` Boris Brezillon
2015-07-31 10:38             ` Archit Taneja
2015-07-31 12:13             ` Rob Clark
2015-07-31 12:58               ` Boris Brezillon
2015-07-31 14:48                 ` Rob Clark
2015-08-03 12:03                   ` Andrzej Hajda
2015-08-03 14:04                     ` Rob Clark
2015-08-04  5:16                       ` Andrzej Hajda
2015-08-04 12:24                         ` Rob Clark
2015-09-02  6:30                           ` Archit Taneja
2015-12-03 15:02     ` Rob Clark
2015-12-03 15:28       ` Laurent Pinchart
2015-12-03 15:55         ` Rob Clark
2015-12-03 16:06           ` Laurent Pinchart
2015-12-03 16:11           ` Archit Taneja
2016-01-09 17:03             ` Archit Taneja
2015-07-27  6:16 ` [PATCH 4/5] drm/i2c: adv7511: Add drm_bridge/connector for ADV7533 Archit Taneja
2015-07-27  6:16 ` [PATCH 5/5] drm/i2c: adv7511: Create mipi_dsi_device " Archit Taneja
2015-09-07 11:36 ` [PATCH v2 0/5] drm/i2c: adv7511: ADV7533 support Archit Taneja
2015-09-07 11:36   ` [PATCH v2 1/5] drm/i2c: adv7511: Fix mutex deadlock when interrupts are disabled Archit Taneja
2015-09-07 11:36   ` [PATCH v2 2/5] drm/i2c: adv7511: Initial support for adv7533 Archit Taneja
2015-09-07 11:36   ` [PATCH v2 3/5] drm/i2c: adv7511: Refactor encoder slave functions Archit Taneja
2015-09-07 11:36   ` [PATCH v2 4/5] drm/i2c: adv7511: Add drm_bridge/connector for ADV7533 Archit Taneja
2015-09-07 11:36   ` [PATCH v2 5/5] drm/i2c: adv7511: Add dsi driver for adv7533 Archit Taneja
2016-03-09 10:57   ` [PATCH v3 0/7] drm/i2c: adv7511: ADV7533 support Archit Taneja
2016-03-09 10:57     ` [PATCH v3 1/7] drm/i2c: adv7511: Convert to drm_bridge Archit Taneja
2016-03-09 10:57     ` [PATCH v3 2/7] drm/i2c: adv7511: Fix mutex deadlock when interrupts are disabled Archit Taneja
2016-03-09 10:57     ` [PATCH v3 3/7] drm/i2c: adv7511: Initial support for ADV7533 Archit Taneja
2016-03-09 10:57     ` [PATCH v3 4/7] drm/i2c: adv7511: Create a MIPI DSI device Archit Taneja
2016-04-21 22:29       ` Laurent Pinchart
2016-04-22  5:10         ` Archit Taneja
2016-05-03  6:57           ` Archit Taneja
2016-05-09 20:38             ` Laurent Pinchart
2016-05-11 10:19               ` Archit Taneja
2016-03-09 10:57     ` [PATCH v3 5/7] drm/i2c: adv7511: Use internal timing generator Archit Taneja
2016-03-09 10:57     ` [PATCH v3 6/7] drm/i2c: adv7511: Change number of DSI lanes dynamically Archit Taneja
     [not found]     ` <1457521038-5906-1-git-send-email-architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-03-09 10:57       ` [PATCH v3 7/7] dt-bindings: drm/bridge: Update bindings for ADV7533 Archit Taneja
2016-03-17 19:12         ` Rob Herring
2016-04-21 22:32         ` Laurent Pinchart
2016-04-22  5:40           ` Archit Taneja
     [not found]             ` <5719B942.8070907-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2016-05-16 12:01               ` Laurent Pinchart
2016-05-17  3:43                 ` Archit Taneja
2016-05-17  4:18                   ` Xinliang Liu
2016-05-24  5:15                     ` Archit Taneja
2016-04-14 14:56     ` [PATCH v3 0/7] drm/i2c: adv7511: ADV7533 support Archit Taneja
2016-04-21 22:33       ` Laurent Pinchart
2016-04-22  5:45         ` Archit Taneja
2016-04-17 11:31     ` Xinliang Liu
2016-04-18  9:48       ` Archit Taneja
2016-04-19  8:44         ` Xinliang Liu
2016-04-21 22:36         ` Laurent Pinchart [this message]
2016-04-22  5:44           ` Archit Taneja
2016-05-03  1:52     ` Xinliang Liu
2016-05-03  6:53       ` Archit Taneja
2016-05-16 10:41     ` [PATCH v4 " Archit Taneja
2016-05-16 10:41       ` [PATCH v4 1/7] drm/i2c: adv7511: Convert to drm_bridge Archit Taneja
2016-05-16 10:41       ` [PATCH v4 2/7] drm/i2c: adv7511: Fix mutex deadlock when interrupts are disabled Archit Taneja
2016-05-16 10:41       ` [PATCH v4 3/7] drm/i2c: adv7511: Initial support for ADV7533 Archit Taneja
2016-05-16 10:41       ` [PATCH v4 4/7] drm/i2c: adv7533: Create a MIPI DSI device Archit Taneja
2016-05-16 10:41       ` [PATCH v4 5/7] drm/i2c: adv7533: Use internal timing generator Archit Taneja
2016-05-16 10:41       ` [PATCH v4 6/7] drm/i2c: adv7533: Change number of DSI lanes dynamically Archit Taneja
2016-05-16 10:41       ` [PATCH v4 7/7] dt-bindings: drm/bridge: Update bindings for ADV7533 Archit Taneja
2016-06-08 10:27       ` [PATCH v5 0/7] drm/i2c: adv7511: ADV7533 support Archit Taneja
2016-06-08 10:27         ` [PATCH v5 1/7] drm/i2c: adv7511: Convert to drm_bridge Archit Taneja
2016-06-08 10:27         ` [PATCH v5 2/7] drm/i2c: adv7511: Fix mutex deadlock when interrupts are disabled Archit Taneja
2016-06-08 10:27         ` [PATCH v5 3/7] drm/i2c: adv7511: Initial support for ADV7533 Archit Taneja
2016-06-08 10:27         ` [PATCH v5 4/7] drm/i2c: adv7533: Create a MIPI DSI device Archit Taneja
2016-06-08 10:27         ` [PATCH v5 5/7] drm/i2c: adv7533: Use internal timing generator Archit Taneja
2016-06-08 10:27         ` [PATCH v5 6/7] drm/i2c: adv7533: Change number of DSI lanes dynamically Archit Taneja
2016-06-08 10:27         ` [PATCH v5 7/7] dt-bindings: drm/bridge: Update bindings for ADV7533 Archit Taneja
2016-06-17  7:53         ` [PATCH v6 0/8] drm/i2c: adv7511: ADV7533 support Archit Taneja
2016-06-17  7:53           ` [PATCH v6 1/8] drm/i2c: adv7511: Convert to drm_bridge Archit Taneja
2016-06-17  7:53           ` [PATCH v6 2/8] drm/i2c: adv7511: Move to bridge folder Archit Taneja
2016-06-17  7:53           ` [PATCH v6 3/8] drm/bridge: adv7511: Fix mutex deadlock when interrupts are disabled Archit Taneja
2016-06-17  7:53           ` [PATCH v6 4/8] drm/bridge: adv7533: Initial support for ADV7533 Archit Taneja
2016-06-17  7:53           ` [PATCH v6 5/8] drm/bridge: adv7533: Create a MIPI DSI device Archit Taneja
2016-06-17  7:53           ` [PATCH v6 6/8] drm/bridge: adv7533: Use internal timing generator Archit Taneja
2016-06-17  7:53           ` [PATCH v6 7/8] drm/bridge: adv7533: Change number of DSI lanes dynamically Archit Taneja
2016-06-17  7:53           ` [PATCH v6 8/8] dt-bindings: drm/bridge: Update bindings for ADV7533 Archit Taneja

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=7946010.9Qhcp8D76N@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=airlied@linux.ie \
    --cc=amit.kucheria@linaro.org \
    --cc=architt@codeaurora.org \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=lars@metafoo.de \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=robdclark@gmail.com \
    --cc=srinivas.kandagatla@linaro.org \
    --cc=treding@nvidia.com \
    --cc=xinliang.liu@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 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.