All of lore.kernel.org
 help / color / mirror / Atom feed
From: laurent.pinchart@ideasonboard.com (Laurent Pinchart)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support
Date: Thu, 01 Dec 2016 11:19:56 +0200	[thread overview]
Message-ID: <2084988.kISO4Quil7@avalon> (raw)
In-Reply-To: <20161201091313.th7nucjmvtuolqza@lukather>

Hi Maxime,

On Thursday 01 Dec 2016 10:13:13 Maxime Ripard wrote:
> On Wed, Nov 30, 2016 at 12:12:55PM +0200, Laurent Pinchart wrote:
> >> More, it is not sure that the bridge/DW code would work with Allwinner's
> >> SoCs.
> > 
> > If it doesn't work and can't be made to work in a non-invasive way they it
> > should certainly not be used :-)
> 
> Even if the register layout is completely scrambled, as long as the
> bits themselves aren't (and by comparing the two drivers it looks like
> they haven't changed), you can easily deal with that using the
> regmap_fields, with the two implementations (the original one and the
> scrambled one) providing their register map that way, and the driver
> code using whatever has been provided.

Looking at https://linux-sunxi.org/DWC_HDMI_Controller#DWC_HDMI_Controller it 
seems that an address remapping function could be used.

> >> Eventually, I went the same way as omap/hdmi5: different driver.
> > 
> > I might try to fix that for OMAP5 at some point, we'll see.
> 
> For complex drivers that have already a driver written and a lot of
> testing that already happened, I don't think duplication is a smart
> move.
> 
> >>>   - And finally the fact that we can't have several display engine in
> >>>     parallel, if needs be. This has happened in the past already on
> >>>     Allwinner SoCs, so it's definitely something we should consider in
> >>>     the DT bindings, since we can't break them.
> >> 
> >> IIRC, I proposed my driver before yours, and the DE2 is completely
> >> different from the other display engines.
> >> What you are telling is "add more code to already complex code and have
> >> a big driver for all SoCs in each kernels".
> >> I think it should be better to have small modules, each one treating
> >> specific hardware, and to let only the needed code in the kernel memory
> >> at startup time.
> >> 
> >>> Until those are fixed, I cannot see how this driver can be merged,
> >>> unfortunately.
> >> 
> >> No problem. I just wanted to help people by giving the job I did on the
> >> boards I have. My boards are working for almost one year, fine enough
> >> for I use them as daily desktop computers. I don't want to spend one
> >> more year for having my code in the Linux kernel: there are so much
> >> other exciting things to do...
> > 
> > And you're certainly welcome to contribute drivers to the kernel, that's
> > always appreciated. Of course, to ensure a reasonable level of quality and
> > consistency between drivers, the review process often requires changes to
> > be made to the code being submitted. When it comes to drivers I mostly
> > pay attention to DT bindings, userspace APIs and modification to common
> > code. Driver code itself, as long as it's reasonably clean and doesn't
> > impede development of other drivers or impact system security in an
> > adverse way, is still important but maybe slightly less so. I'll defer to
> > Maxime to come to an agreement on the multiple display engines in
> > parallel problem as I'm not familiar with it for the Allwinner platforms.
> 
> The earlier Allwinner SoCs (with the old display engine), we had some
> SoCs with multiple instances of the display engine and TCON (the
> display engine roughly implementing the planes, the TCON the
> CRTC. Roughly.). However, those were sharing some encoders (HDMI,
> DSI) after that.
> 
> So we need to have a single DRM device taking care of the multiple
> display engines, which essentialy means that we have to decouple the
> DRM device from the display engine. This was done in the earlier
> designs using an additional node with a list of phandles to the
> display engines in the system, and obviously, I'd prefer to have some
> consistency and reuse the same thing.
> 
> But the current approach doesn't work and will require some DT
> modifications if that case happens again, which we can't do because of
> the DT ABI.

-- 
Regards,

Laurent Pinchart

WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
To: Maxime Ripard
	<maxime.ripard-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org>
Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
	Jean-Francois Moine <moinejf-GANU6spQydw@public.gmane.org>,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sunxi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: Re: [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support
Date: Thu, 01 Dec 2016 11:19:56 +0200	[thread overview]
Message-ID: <2084988.kISO4Quil7@avalon> (raw)
In-Reply-To: <20161201091313.th7nucjmvtuolqza@lukather>

Hi Maxime,

On Thursday 01 Dec 2016 10:13:13 Maxime Ripard wrote:
> On Wed, Nov 30, 2016 at 12:12:55PM +0200, Laurent Pinchart wrote:
> >> More, it is not sure that the bridge/DW code would work with Allwinner's
> >> SoCs.
> > 
> > If it doesn't work and can't be made to work in a non-invasive way they it
> > should certainly not be used :-)
> 
> Even if the register layout is completely scrambled, as long as the
> bits themselves aren't (and by comparing the two drivers it looks like
> they haven't changed), you can easily deal with that using the
> regmap_fields, with the two implementations (the original one and the
> scrambled one) providing their register map that way, and the driver
> code using whatever has been provided.

Looking at https://linux-sunxi.org/DWC_HDMI_Controller#DWC_HDMI_Controller it 
seems that an address remapping function could be used.

> >> Eventually, I went the same way as omap/hdmi5: different driver.
> > 
> > I might try to fix that for OMAP5 at some point, we'll see.
> 
> For complex drivers that have already a driver written and a lot of
> testing that already happened, I don't think duplication is a smart
> move.
> 
> >>>   - And finally the fact that we can't have several display engine in
> >>>     parallel, if needs be. This has happened in the past already on
> >>>     Allwinner SoCs, so it's definitely something we should consider in
> >>>     the DT bindings, since we can't break them.
> >> 
> >> IIRC, I proposed my driver before yours, and the DE2 is completely
> >> different from the other display engines.
> >> What you are telling is "add more code to already complex code and have
> >> a big driver for all SoCs in each kernels".
> >> I think it should be better to have small modules, each one treating
> >> specific hardware, and to let only the needed code in the kernel memory
> >> at startup time.
> >> 
> >>> Until those are fixed, I cannot see how this driver can be merged,
> >>> unfortunately.
> >> 
> >> No problem. I just wanted to help people by giving the job I did on the
> >> boards I have. My boards are working for almost one year, fine enough
> >> for I use them as daily desktop computers. I don't want to spend one
> >> more year for having my code in the Linux kernel: there are so much
> >> other exciting things to do...
> > 
> > And you're certainly welcome to contribute drivers to the kernel, that's
> > always appreciated. Of course, to ensure a reasonable level of quality and
> > consistency between drivers, the review process often requires changes to
> > be made to the code being submitted. When it comes to drivers I mostly
> > pay attention to DT bindings, userspace APIs and modification to common
> > code. Driver code itself, as long as it's reasonably clean and doesn't
> > impede development of other drivers or impact system security in an
> > adverse way, is still important but maybe slightly less so. I'll defer to
> > Maxime to come to an agreement on the multiple display engines in
> > parallel problem as I'm not familiar with it for the Allwinner platforms.
> 
> The earlier Allwinner SoCs (with the old display engine), we had some
> SoCs with multiple instances of the display engine and TCON (the
> display engine roughly implementing the planes, the TCON the
> CRTC. Roughly.). However, those were sharing some encoders (HDMI,
> DSI) after that.
> 
> So we need to have a single DRM device taking care of the multiple
> display engines, which essentialy means that we have to decouple the
> DRM device from the display engine. This was done in the earlier
> designs using an additional node with a list of phandles to the
> display engines in the system, and obviously, I'd prefer to have some
> consistency and reuse the same thing.
> 
> But the current approach doesn't work and will require some DT
> modifications if that case happens again, which we can't do because of
> the DT ABI.

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2016-12-01  9:19 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-29 10:18 [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support Jean-Francois Moine
2016-11-29 10:18 ` Jean-Francois Moine
2016-11-28 14:23 ` [PATCH v7 1/8] drm: sun8i: Add a basic DRM driver for Allwinner DE2 Jean-Francois Moine
2016-11-28 14:23   ` Jean-Francois Moine
2016-11-29 14:30   ` Daniel Vetter
2016-11-29 14:30     ` Daniel Vetter
2016-11-29 14:33     ` [linux-sunxi] " Icenowy Zheng
2016-11-29 14:33       ` Icenowy Zheng
2016-11-28 18:02 ` [PATCH v7 2/8] drm/sun8i: Add DT bindings documentation of " Jean-Francois Moine
2016-11-28 18:02   ` Jean-Francois Moine
2016-11-29 18:41   ` Laurent Pinchart
2016-11-29 18:41     ` Laurent Pinchart
2016-11-29 18:45     ` Laurent Pinchart
2016-11-29 18:45       ` Laurent Pinchart
2016-11-29  8:39 ` [PATCH v7 3/8] drm: sun8i: add HDMI video support to A83T and H3 Jean-Francois Moine
2016-11-29  8:39   ` Jean-Francois Moine
2016-11-29  9:08 ` [PATCH v7 4/8] drm/sunxi: Add DT bindings documentation of Allwinner HDMI Jean-Francois Moine
2016-11-29  9:08   ` Jean-Francois Moine
2016-11-29 18:46   ` Laurent Pinchart
2016-11-29 18:46     ` Laurent Pinchart
2016-11-29 19:27     ` Jean-Francois Moine
2016-11-29 19:27       ` Jean-Francois Moine
2016-11-29 19:33       ` Laurent Pinchart
2016-11-29 19:33         ` Laurent Pinchart
2016-11-29 20:04         ` Jean-Francois Moine
2016-11-29 20:04           ` Jean-Francois Moine
2016-11-29 20:10           ` Laurent Pinchart
2016-11-29 20:10             ` Laurent Pinchart
2016-11-30  8:12             ` Jean-Francois Moine
2016-11-30  8:12               ` Jean-Francois Moine
2016-11-30  8:20               ` Laurent Pinchart
2016-11-30  8:20                 ` Laurent Pinchart
2016-11-30  9:27                 ` Jean-Francois Moine
2016-11-30  9:27                   ` Jean-Francois Moine
2016-11-30  9:52                   ` Laurent Pinchart
2016-11-30  9:52                     ` Laurent Pinchart
2016-11-30 10:44                     ` Jean-Francois Moine
2016-11-30 10:44                       ` Jean-Francois Moine
2016-11-30 17:33                       ` [linux-sunxi] " Icenowy Zheng
2016-11-30 17:33                         ` Icenowy Zheng
2016-12-01  8:55                         ` [linux-sunxi] " Maxime Ripard
2016-12-01  8:55                           ` Maxime Ripard
2016-12-01 10:41                           ` [linux-sunxi] " Laurent Pinchart
2016-12-01 10:41                             ` Laurent Pinchart
2016-12-01 11:30                             ` [linux-sunxi] " Jean-Francois Moine
2016-12-01 11:30                               ` Jean-Francois Moine
2016-12-01 11:44                               ` [linux-sunxi] " Laurent Pinchart
2016-12-01 11:44                                 ` Laurent Pinchart
2016-11-30 17:24                   ` [linux-sunxi] " Icenowy Zheng
2016-11-30 17:24                     ` Icenowy Zheng
2016-11-29 10:10 ` [PATCH v7 5/8] clk: sunxi-ng: define the PLL DE clock Jean-Francois Moine
2016-11-29 10:10   ` Jean-Francois Moine
2016-11-29 10:12 ` [PATCH v7 6/8] ARM: dts: sun8i-h3: add HDMI video nodes Jean-Francois Moine
2016-11-29 10:12   ` Jean-Francois Moine
2016-11-29 10:14 ` [PATCH v7 7/8] ARM: dts: sun8i-h3: Add HDMI video to the Banana Pi M2+ Jean-Francois Moine
2016-11-29 10:14   ` Jean-Francois Moine
2016-11-29 10:16 ` [PATCH v7 8/8] ARM: dts: sun8i-h3: Add HDMI video to the Orange PI 2 Jean-Francois Moine
2016-11-29 10:16   ` Jean-Francois Moine
2016-11-29 21:36 ` [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support Maxime Ripard
2016-11-29 21:36   ` Maxime Ripard
2016-11-29 22:47   ` Jernej Skrabec
2016-11-29 22:56     ` Laurent Pinchart
2016-11-29 22:56       ` Laurent Pinchart
2016-11-29 23:24       ` Jernej Skrabec
2016-11-30  8:08         ` Laurent Pinchart
2016-11-30  8:08           ` Laurent Pinchart
2016-11-30 18:04           ` Jernej Skrabec
2016-11-30  9:05   ` Jean-Francois Moine
2016-11-30  9:05     ` Jean-Francois Moine
2016-11-30 10:12     ` Laurent Pinchart
2016-11-30 10:12       ` Laurent Pinchart
2016-12-01  9:13       ` Maxime Ripard
2016-12-01  9:13         ` Maxime Ripard
2016-12-01  9:19         ` Laurent Pinchart [this message]
2016-12-01  9:19           ` Laurent Pinchart
2016-12-01  9:42           ` Maxime Ripard
2016-12-01  9:42             ` Maxime Ripard
2016-12-01  9:28         ` How should we group related devices in DT ? (was Re: [PATCH v7 0/8] drm: sun8i: Add DE2 HDMI video support) Laurent Pinchart
2016-12-01  9:28           ` 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=2084988.kISO4Quil7@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.infradead.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.