All of lore.kernel.org
 help / color / mirror / Atom feed
From: Swapnil Kashinath Jakhade <sjakhade@cadence.com>
To: "Guido Günther" <agx@sigxcpu.org>,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>
Cc: "airlied@linux.ie" <airlied@linux.ie>,
	"daniel@ffwll.ch" <daniel@ffwll.ch>,
	"Laurent.pinchart@ideasonboard.com" 
	<Laurent.pinchart@ideasonboard.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"a.hajda@samsung.com" <a.hajda@samsung.com>,
	"narmstrong@baylibre.com" <narmstrong@baylibre.com>,
	"jonas@kwiboo.se" <jonas@kwiboo.se>,
	"jernej.skrabec@siol.net" <jernej.skrabec@siol.net>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Milind Parab <mparab@cadence.com>,
	Yuti Suresh Amonkar <yamonkar@cadence.com>,
	"praneeth@ti.com" <praneeth@ti.com>,
	"nsekhar@ti.com" <nsekhar@ti.com>,
	"jsarha@ti.com" <jsarha@ti.com>,
	"sandor.yu@nxp.com" <sandor.yu@nxp.com>
Subject: RE: [PATCH v8 0/3] drm: Add support for Cadence MHDP DPI/DP bridge and J721E wrapper.
Date: Mon, 24 Aug 2020 07:16:31 +0000	[thread overview]
Message-ID: <DM6PR07MB61542D7CC2B319142CC5E0CAC5560@DM6PR07MB6154.namprd07.prod.outlook.com> (raw)
In-Reply-To: <20200812135637.GA107602@bogon.m.sigxcpu.org>

Hi Guido,

> -----Original Message-----
> From: Guido Günther <agx@sigxcpu.org>
> Sent: Wednesday, August 12, 2020 7:27 PM
> To: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Swapnil Kashinath Jakhade <sjakhade@cadence.com>; airlied@linux.ie;
> daniel@ffwll.ch; Laurent.pinchart@ideasonboard.com; robh+dt@kernel.org;
> a.hajda@samsung.com; narmstrong@baylibre.com; jonas@kwiboo.se;
> jernej.skrabec@siol.net; dri-devel@lists.freedesktop.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Milind Parab
> <mparab@cadence.com>; Yuti Suresh Amonkar <yamonkar@cadence.com>;
> praneeth@ti.com; nsekhar@ti.com; jsarha@ti.com; sandor.yu@nxp.com
> Subject: Re: [PATCH v8 0/3] drm: Add support for Cadence MHDP DPI/DP
> bridge and J721E wrapper.
> 
> EXTERNAL MAIL
> 
> 
> Hi,
> On Wed, Aug 12, 2020 at 01:47:42PM +0300, Tomi Valkeinen wrote:
> > Hi Guido,
> >
> > On 12/08/2020 11:39, Guido Günther wrote:
> > > Hi,
> > > On Thu, Aug 06, 2020 at 01:34:29PM +0200, Swapnil Jakhade wrote:
> > >> This patch series adds new DRM bridge driver for Cadence MHDP
> > >> DPI/DP bridge. The Cadence Display Port IP is also referred as MHDP
> > >> (Mobile High Definition Link, High-Definition Multimedia Interface,
> Display Port).
> > >> Cadence Display Port complies with VESA DisplayPort (DP) and
> > >> embedded Display Port (eDP) standards.
> > >
> > > Is there any relation to the cadence mhdp ip core used inthe imx8mq:
> > >
> > >
> > > https://urldefense.com/v3/__https://lore.kernel.org/dri-devel/cover.
> > >
> 1590982881.git.Sandor.yu@nxp.com/__;!!EHscmS1ygiU1lA!QIVUQ0JEY1Wz4
> gM
> > > qV3HYGyyp5m4r_Fje6dL5ptUdhSzeqzzqBBR0Jo-BC9arK-g$
> > >
> > > It looks very similar in several places so should that use the same driver?
> > > Cheers,
> > >  -- Guido
> >
> > Interesting.
> >
> > So the original Cadence DP patches for TI SoCs did create a common
> > driver with Rockchip's older mhdp driver. And looks like the IMX series
> points to an early version of that patch ("drm/rockchip:
> > prepare common code for cdns and rk dpi/dp driver").
> >
> > We gave up on that as the IPs did have differences and the firmwares
> > used were apparently quite different. The end result was very
> > difficult to maintain, especially as (afaik) none of the people involved had
> relevant Rockchip HW.
> 
> Is the `struct mhdp_platform_ops` a leftover from that? Can that be
> dropped?
> 
> > The idea was to get a stable DP driver for TI SoCs ready and upstream,
> > and then carefully try to create common parts with Rockchip's driver in
> small pieces.
> 
> I wonder how imx8 would best blend into this? First thing will likely be to
> upstream the phy code in driveres/phy/ so a modified version of this bridge
> driver could call into that, then go and look for common patterns.
> 
> > If the Rockchip and IMX mhdp have the same IP and same firmware, then
> > they obviously should share code as done in the series you point to.
> 
> I'm pretty sure they use different firmware though - the imx8mq additionally
> supports HDMI with a different firmware on the same IP core
> (13.4 and 13.5 in the imx8mq ref manual).
> 
> > Perhaps Cadence can clarify the differences between IMX, TI and
> > Rockchip IPs and FWs?
> 
> That would be great!
>  -- Guido
> 

Following are the differences between MHDP IPs from Cadence for Rockchip, TI and NxP:

The Rockchip and NXP MHDP Core shares the same part (IP8501) which is DP v1.3 SST
Controller with HDCP 2.2/1.x. NXP's version additionally supports HDMI.
TI uses a different part (IP8546A), which is DP v1.4 with HDCP 2.2/1.x.
TI DP Controller adds support for additional features such as Multi Stream Support (MST),
Forward Error Correction (FEC) and Compression (DSC).

Also, FW used for TI has significant differences than FW used for Rockchip or NXP.
NxP and TI firmware are developed and maintained separately by Cadence and are in
active support.

From the Linux driver perspective, given the differences, it would make sense to have
TI driver maintained separately.

Thanks,
Swapnil

> 
> > I'm worried that if there are IP differences, even if not great ones,
> > and if the FWs are different and developed separately, it'll be a
> > constant "fix X for SoC A, and accidentally break Y for SoC B and C",
> especially if too much code is shared.
> >
> > In the long run I'm all for a single driver (or large shared parts),
> > but I'm not sure if we should start with that approach.
> 
> 
> 
> 
> >
> >  Tomi
> >
> > --
> > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> > Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
> >

WARNING: multiple messages have this Message-ID (diff)
From: Swapnil Kashinath Jakhade <sjakhade@cadence.com>
To: "Guido Günther" <agx@sigxcpu.org>,
	"Tomi Valkeinen" <tomi.valkeinen@ti.com>
Cc: "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"jernej.skrabec@siol.net" <jernej.skrabec@siol.net>,
	"praneeth@ti.com" <praneeth@ti.com>,
	Yuti Suresh Amonkar <yamonkar@cadence.com>,
	"narmstrong@baylibre.com" <narmstrong@baylibre.com>,
	"airlied@linux.ie" <airlied@linux.ie>,
	"sandor.yu@nxp.com" <sandor.yu@nxp.com>,
	"jonas@kwiboo.se" <jonas@kwiboo.se>,
	"nsekhar@ti.com" <nsekhar@ti.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"a.hajda@samsung.com" <a.hajda@samsung.com>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"Laurent.pinchart@ideasonboard.com"
	<Laurent.pinchart@ideasonboard.com>,
	"jsarha@ti.com" <jsarha@ti.com>,
	Milind Parab <mparab@cadence.com>
Subject: RE: [PATCH v8 0/3] drm: Add support for Cadence MHDP DPI/DP bridge and J721E wrapper.
Date: Mon, 24 Aug 2020 07:16:31 +0000	[thread overview]
Message-ID: <DM6PR07MB61542D7CC2B319142CC5E0CAC5560@DM6PR07MB6154.namprd07.prod.outlook.com> (raw)
In-Reply-To: <20200812135637.GA107602@bogon.m.sigxcpu.org>

Hi Guido,

> -----Original Message-----
> From: Guido Günther <agx@sigxcpu.org>
> Sent: Wednesday, August 12, 2020 7:27 PM
> To: Tomi Valkeinen <tomi.valkeinen@ti.com>
> Cc: Swapnil Kashinath Jakhade <sjakhade@cadence.com>; airlied@linux.ie;
> daniel@ffwll.ch; Laurent.pinchart@ideasonboard.com; robh+dt@kernel.org;
> a.hajda@samsung.com; narmstrong@baylibre.com; jonas@kwiboo.se;
> jernej.skrabec@siol.net; dri-devel@lists.freedesktop.org;
> devicetree@vger.kernel.org; linux-kernel@vger.kernel.org; Milind Parab
> <mparab@cadence.com>; Yuti Suresh Amonkar <yamonkar@cadence.com>;
> praneeth@ti.com; nsekhar@ti.com; jsarha@ti.com; sandor.yu@nxp.com
> Subject: Re: [PATCH v8 0/3] drm: Add support for Cadence MHDP DPI/DP
> bridge and J721E wrapper.
> 
> EXTERNAL MAIL
> 
> 
> Hi,
> On Wed, Aug 12, 2020 at 01:47:42PM +0300, Tomi Valkeinen wrote:
> > Hi Guido,
> >
> > On 12/08/2020 11:39, Guido Günther wrote:
> > > Hi,
> > > On Thu, Aug 06, 2020 at 01:34:29PM +0200, Swapnil Jakhade wrote:
> > >> This patch series adds new DRM bridge driver for Cadence MHDP
> > >> DPI/DP bridge. The Cadence Display Port IP is also referred as MHDP
> > >> (Mobile High Definition Link, High-Definition Multimedia Interface,
> Display Port).
> > >> Cadence Display Port complies with VESA DisplayPort (DP) and
> > >> embedded Display Port (eDP) standards.
> > >
> > > Is there any relation to the cadence mhdp ip core used inthe imx8mq:
> > >
> > >
> > > https://urldefense.com/v3/__https://lore.kernel.org/dri-devel/cover.
> > >
> 1590982881.git.Sandor.yu@nxp.com/__;!!EHscmS1ygiU1lA!QIVUQ0JEY1Wz4
> gM
> > > qV3HYGyyp5m4r_Fje6dL5ptUdhSzeqzzqBBR0Jo-BC9arK-g$
> > >
> > > It looks very similar in several places so should that use the same driver?
> > > Cheers,
> > >  -- Guido
> >
> > Interesting.
> >
> > So the original Cadence DP patches for TI SoCs did create a common
> > driver with Rockchip's older mhdp driver. And looks like the IMX series
> points to an early version of that patch ("drm/rockchip:
> > prepare common code for cdns and rk dpi/dp driver").
> >
> > We gave up on that as the IPs did have differences and the firmwares
> > used were apparently quite different. The end result was very
> > difficult to maintain, especially as (afaik) none of the people involved had
> relevant Rockchip HW.
> 
> Is the `struct mhdp_platform_ops` a leftover from that? Can that be
> dropped?
> 
> > The idea was to get a stable DP driver for TI SoCs ready and upstream,
> > and then carefully try to create common parts with Rockchip's driver in
> small pieces.
> 
> I wonder how imx8 would best blend into this? First thing will likely be to
> upstream the phy code in driveres/phy/ so a modified version of this bridge
> driver could call into that, then go and look for common patterns.
> 
> > If the Rockchip and IMX mhdp have the same IP and same firmware, then
> > they obviously should share code as done in the series you point to.
> 
> I'm pretty sure they use different firmware though - the imx8mq additionally
> supports HDMI with a different firmware on the same IP core
> (13.4 and 13.5 in the imx8mq ref manual).
> 
> > Perhaps Cadence can clarify the differences between IMX, TI and
> > Rockchip IPs and FWs?
> 
> That would be great!
>  -- Guido
> 

Following are the differences between MHDP IPs from Cadence for Rockchip, TI and NxP:

The Rockchip and NXP MHDP Core shares the same part (IP8501) which is DP v1.3 SST
Controller with HDCP 2.2/1.x. NXP's version additionally supports HDMI.
TI uses a different part (IP8546A), which is DP v1.4 with HDCP 2.2/1.x.
TI DP Controller adds support for additional features such as Multi Stream Support (MST),
Forward Error Correction (FEC) and Compression (DSC).

Also, FW used for TI has significant differences than FW used for Rockchip or NXP.
NxP and TI firmware are developed and maintained separately by Cadence and are in
active support.

From the Linux driver perspective, given the differences, it would make sense to have
TI driver maintained separately.

Thanks,
Swapnil

> 
> > I'm worried that if there are IP differences, even if not great ones,
> > and if the FWs are different and developed separately, it'll be a
> > constant "fix X for SoC A, and accidentally break Y for SoC B and C",
> especially if too much code is shared.
> >
> > In the long run I'm all for a single driver (or large shared parts),
> > but I'm not sure if we should start with that approach.
> 
> 
> 
> 
> >
> >  Tomi
> >
> > --
> > Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> > Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
> >
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-08-24  7:17 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-06 11:34 [PATCH v8 0/3] drm: Add support for Cadence MHDP DPI/DP bridge and J721E wrapper Swapnil Jakhade
2020-08-06 11:34 ` Swapnil Jakhade
2020-08-06 11:34 ` [PATCH v8 1/3] dt-bindings: drm/bridge: Document Cadence MHDP bridge bindings Swapnil Jakhade
2020-08-06 11:34   ` Swapnil Jakhade
2020-08-11  0:36   ` Laurent Pinchart
2020-08-11  0:36     ` Laurent Pinchart
2020-08-14  7:13     ` Tomi Valkeinen
2020-08-14  7:13       ` Tomi Valkeinen
2020-08-06 11:34 ` [PATCH v8 2/3] drm: bridge: Add support for Cadence MHDP DPI/DP bridge Swapnil Jakhade
2020-08-06 11:34   ` Swapnil Jakhade
2020-08-07  1:15   ` kernel test robot
2020-08-07  1:15     ` kernel test robot
2020-08-07  1:15     ` kernel test robot
2020-08-07  9:38   ` Tomi Valkeinen
2020-08-07  9:38     ` Tomi Valkeinen
2020-08-11  2:36   ` Laurent Pinchart
2020-08-11  2:36     ` Laurent Pinchart
2020-08-14  8:22     ` Tomi Valkeinen
2020-08-14  8:22       ` Tomi Valkeinen
2020-08-24  2:17       ` Laurent Pinchart
2020-08-24  2:17         ` Laurent Pinchart
2020-08-14  9:29     ` Tomi Valkeinen
2020-08-14  9:29       ` Tomi Valkeinen
2020-08-24  2:18       ` Laurent Pinchart
2020-08-24  2:18         ` Laurent Pinchart
2020-08-26  7:26     ` Tomi Valkeinen
2020-08-26  7:26       ` Tomi Valkeinen
2020-08-06 11:34 ` [PATCH v8 3/3] drm: bridge: cdns-mhdp: Add j721e wrapper Swapnil Jakhade
2020-08-06 11:34   ` Swapnil Jakhade
2020-08-11  2:41   ` Laurent Pinchart
2020-08-11  2:41     ` Laurent Pinchart
2020-08-12  8:39 ` [PATCH v8 0/3] drm: Add support for Cadence MHDP DPI/DP bridge and J721E wrapper Guido Günther
2020-08-12  8:39   ` Guido Günther
2020-08-12 10:47   ` Tomi Valkeinen
2020-08-12 10:47     ` Tomi Valkeinen
2020-08-12 13:56     ` Guido Günther
2020-08-12 13:56       ` Guido Günther
2020-08-24  7:16       ` Swapnil Kashinath Jakhade [this message]
2020-08-24  7:16         ` Swapnil Kashinath Jakhade
2020-08-25  7:32         ` Guido Günther
2020-08-25  7:32           ` Guido Günther

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=DM6PR07MB61542D7CC2B319142CC5E0CAC5560@DM6PR07MB6154.namprd07.prod.outlook.com \
    --to=sjakhade@cadence.com \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=a.hajda@samsung.com \
    --cc=agx@sigxcpu.org \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=jernej.skrabec@siol.net \
    --cc=jonas@kwiboo.se \
    --cc=jsarha@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mparab@cadence.com \
    --cc=narmstrong@baylibre.com \
    --cc=nsekhar@ti.com \
    --cc=praneeth@ti.com \
    --cc=robh+dt@kernel.org \
    --cc=sandor.yu@nxp.com \
    --cc=tomi.valkeinen@ti.com \
    --cc=yamonkar@cadence.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.