All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: dri-devel@lists.freedesktop.org
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Subject: Re: [PATCH v2 23/28] drm: omapdrm: Merge the dss_features and omap_dss_features structures
Date: Fri, 04 Aug 2017 17:03:51 +0300	[thread overview]
Message-ID: <1898339.igsrT9BXha@avalon> (raw)
In-Reply-To: <297c5d76-37b5-2684-9935-bad9b486e935@ti.com>

Hi Tomi,

On Monday 15 May 2017 09:32:01 Tomi Valkeinen wrote:
> On 13/05/17 14:12, Laurent Pinchart wrote:
> >> Is it? You already use the dss compat string and soc_device_match to
> >> figure out some versions. Isn't that a proper way to find out about the
> >> SoC? But I agree that a more fine grained version management in each
> >> individual driver would be better.
> > 
> > For OMAP2, OMAP4 or OMAP5 it shouldn't be too much of a problem, but OMAP3
> > would be more painful to handle. The following machine names are used.
> > 
> > "AM3505"
> > "AM3517"
> > "AM437x"
> > "OMAP3430/3530"
> > "OMAP3525"
> > "OMAP3515"
> > "OMAP3503"
> > "OMAP3611"
> > "OMAP3615/AM3715"
> > "OMAP3621"
> > "OMAP3630/DM3730"
> > "AM3703"
> > "DM3725"
> 
> Don't we need all those somewhere in any case? I mean, I presume all the
> current OMAPDSS_VER_* defines are used somewhere. Which means that
> somewhere, maybe in multiple different files, we need to handle some or
> all of those.

We do, but the way we combine all the information we need in a single version 
isn't ideal. Most omapdrm sub-drivers use version checks in a way that combine 
many cases together, resulting in just a handful of different options. 
Different drivers use different checks, so we end up with a long list of 
versions that more or less describe the combination of multiple boolean (or 
short enum) parameters. By splitting the version into those parameters, we can 
simplify the code, and move the pieces where they belong to.

> For some features, perhaps we could move them to DT. If the feature is
> about how DSS is integrated into the SoC, it might make sense to have
> that in the DT, as a property for DSS, as it's not part of DSS itself.
> If the data is missing, we could inject it into the DT at boot time,
> based on the omap revision. Though I'm not sure if that would really
> help that much.

I agree in principle, but we should probably check that on a case by case 
basis.

> I think the most annoying "feature" is the blank/porch register field
> size change, that they made between OMAP3430 ES1 and ES2. And didn't
> bother to change the DSS IP version...

This could indeed be described in DT (either through a different compatible 
string or a separate DT property). Using SoC matching is a reasonable 
alternative in my opinion to handle past mistakes, as long as there's not too 
many of them.

> But back to the topic... Are you sure this version detection should not
> be centralized? If we have that many OMAP3 related devices already (btw,
> AM4 is not really OMAP3 related, even if the DSS there is)... And if we
> get one more. Does it mean we need to edit that same new device into
> many places?

Yes, I'm fairly confident, as most parameters are related to versions of the 
individual IP cores, not about how they're integrated in a particular SoC.

> Then again, maybe it's better to handle that separately in each file
> that requires the information, as sometimes all you need to know is that
> it's DSS3 based, but sometimes you need to know that it's AM4's DSS vs
> OMAP3's DSS.

Yes, that's definitely how I've implemented it (in patches I'm about to send). 
It results in simpler code in my opinion.

> > But I don't think that removing the extra platform devices is so urgent.
> > I'd rather do it when we're ready.
> > 
> > The omapdss driver needs major cleanup and refactoring, and that will
> > result in a large number of patches that will cause conflicts and be
> > sources of potential errors. I don't think that's avoidable. However,
> > lots of those cleanups will be independent from each other, so we can
> > start merging the less controversial ones as soon as they're ready. I'll
> > take care of rebasing the rest of the patches as needed.
> 
> Yes, no disagreements there. My hope is just that a series is as small
> as possible. Or, that's not correct... A series does one change at a
> time, e.g. here my problem was that the platform change was being done
> at the same time as the feature change, interleaved.
> 
> I most likely will need to backport all these to v4.9 kernel. And then
> manage new patches that will be applied on top of mainline and that v4.9
> kernel. And I will gladly take any changes to patch serieses that
> possibly make that work easier =).

-- 
Regards,

Laurent Pinchart

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-08-04 14:03 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-08 11:32 [PATCH v2 00/29] Remove the omapdrm and omapdss devices from platform code Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 01/28] drm: omapdrm: Remove duplicate error messages when mapping memory Laurent Pinchart
2017-05-08 12:52   ` Tomi Valkeinen
2017-05-08 13:55     ` Laurent Pinchart
2017-05-09  8:37       ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 02/28] drm: omapdrm: Drop support for non-DT devices Laurent Pinchart
2017-05-09  8:40   ` Tomi Valkeinen
2017-05-09  8:46     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 03/28] drm: omapdrm: Remove unused dss_get_core_pdev() function Laurent Pinchart
2017-05-09  8:57   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 04/28] drm: omapdrm: Remove unused default display name support Laurent Pinchart
2017-05-08 12:30   ` Bartlomiej Zolnierkiewicz
2017-05-09  8:58   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 05/28] drm: omapdrm: Infer the OMAP version from the SoC family Laurent Pinchart
2017-05-09  9:02   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 06/28] drm: omapdrm: dispc: Select features based on compatible string Laurent Pinchart
2017-05-09  9:04   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 07/28] drm: omapdrm: dpi: Remove platform driver Laurent Pinchart
2017-05-09  9:06   ` Tomi Valkeinen
2017-05-09 21:38     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 08/28] drm: omapdrm: dpi: Replace OMAP SoC model checks with DSS device type Laurent Pinchart
2017-05-09  9:23   ` Tomi Valkeinen
2017-05-09 22:24     ` Laurent Pinchart
2017-05-09 22:26       ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 09/28] drm: omapdrm: dsi: Store DSI type and PLL hardware data in OF data Laurent Pinchart
2017-05-09  9:31   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 10/28] drm: omapdrm: dsi: Handle pin muxing internally Laurent Pinchart
2017-05-09  9:37   ` Tomi Valkeinen
2017-05-09 21:45     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 11/28] drm: omapdrm: dss: Select features based on compatible string Laurent Pinchart
2017-05-09  9:41   ` Tomi Valkeinen
2017-05-09 21:47     ` Laurent Pinchart
2017-05-10  6:52       ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 12/28] drm: omapdrm: dss: Split operations out of dss_features structure Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 13/28] drm: omapdrm: dss: Initialize DSS internal features at probe time Laurent Pinchart
2017-05-09  9:48   ` Tomi Valkeinen
2017-05-09 21:49     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 14/28] drm: omapdrm: hdmi: Store PHY features in PHY data structure Laurent Pinchart
2017-05-09 11:14   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 15/28] drm: omapdrm: hdmi: Store PHY features in HDMI transmitter drivers Laurent Pinchart
2017-05-09 11:27   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 16/28] drm: omapdrm: hdmi: Store PLL hardware data " Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 17/28] drm: omapdrm: hdmi: Replace OMAP SoC model check with HDMI xmit version Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 18/28] drm: omapdrm: hdmi: Pass HDMI core version as integer to HDMI audio Laurent Pinchart
2017-05-14  9:28   ` Mark Brown
2017-05-08 11:32 ` [PATCH v2 19/28] drm: omapdrm: sdi: Remove platform driver Laurent Pinchart
2017-05-09 11:29   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 20/28] drm: omapdrm: Don't forward set_min_bus_tput() to no-op platform code Laurent Pinchart
2017-05-09 11:30   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 21/28] drm: omapdrm: Move all debugfs code from core to dss Laurent Pinchart
2017-05-09 11:35   ` Tomi Valkeinen
2017-05-08 11:32 ` [PATCH v2 22/28] drm: omapdrm: Move shutdown() handler " Laurent Pinchart
2017-05-09 11:38   ` Tomi Valkeinen
2017-05-09 21:42     ` Laurent Pinchart
2017-05-08 11:32 ` [PATCH v2 23/28] drm: omapdrm: Merge the dss_features and omap_dss_features structures Laurent Pinchart
2017-05-09 12:02   ` Tomi Valkeinen
2017-05-09 22:09     ` Laurent Pinchart
2017-05-10  7:43       ` Tomi Valkeinen
2017-05-13 11:12         ` Laurent Pinchart
2017-05-15  6:32           ` Tomi Valkeinen
2017-08-04 14:03             ` Laurent Pinchart [this message]
2017-05-08 11:32 ` [PATCH v2 24/28] drm: omapdrm: Register omapdrm platform device in omapdss driver Laurent Pinchart
2017-05-09 11:48   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 25/28] drm: omapdrm: Remove the " Laurent Pinchart
2017-05-09 11:49   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 26/28] ARM: OMAP2+: Remove unused omapdrm platform device Laurent Pinchart
2017-05-08 17:09   ` Tony Lindgren
2017-05-09  8:49     ` Laurent Pinchart
2017-05-09 11:49   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 27/28] ARM: OMAP2+: Don't register omapdss device for omapdrm Laurent Pinchart
2017-05-08 17:09   ` Tony Lindgren
2017-05-09 11:51   ` Tomi Valkeinen
2017-05-08 11:33 ` [PATCH v2 28/28] drm: omapdrm: Remove omapdrm platform data Laurent Pinchart
2017-05-09 11:51   ` Tomi Valkeinen
2017-05-08 17:07 ` [PATCH v2 00/29] Remove the omapdrm and omapdss devices from platform code Tony Lindgren
2017-05-09 11:53   ` Tomi Valkeinen
2017-05-09 13:54     ` Tony Lindgren
2017-05-09 12:10 ` Tomi Valkeinen
2017-05-09 15:05   ` Sebastian Reichel
2017-05-10  7:23     ` Tomi Valkeinen
2017-05-10 16:46       ` Tony Lindgren
2017-05-10 17:40         ` Tomi Valkeinen
2017-05-10 18:29           ` Tony Lindgren
2017-05-11  8:34             ` Tomi Valkeinen
2017-05-11 14:16               ` Tony Lindgren
2017-05-12  7:29                 ` Tomi Valkeinen
2017-05-12 15:03                   ` Tony Lindgren
2017-05-09 22:18   ` Laurent Pinchart
2017-05-10  6:48     ` Tomi Valkeinen

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=1898339.igsrT9BXha@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=tomi.valkeinen@ti.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.