All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/8] component helper improvements
Date: Tue, 1 Jul 2014 15:40:11 +0100	[thread overview]
Message-ID: <20140701144011.GU32514@n2100.arm.linux.org.uk> (raw)

A while back, Laurent raised some comments about the component helper,
which this patch set starts to address.

The first point it addresses is the repeated parsing inefficiency when
deferred probing occurs.  When DT is used, the structure of the
component helper today means that masters end up parsing the device
tree for each attempt to re-bind the driver.
									        
We remove this inefficiency by creating an array of matching data and
functions, which the component helper can use internally to match up
components to their master.

The second point was the inefficiency of destroying the list of
components each time we saw a failure.	We did this to ensure that
we kept things correctly ordered: component bind order matters.
As we have an array instead, the array is already ordered, so we
use this array to store the component pointers instead of a list,
and remember which are duplicates (and thus should be avoided.)
Avoiding the right duplicates matters as we walk the array in the
opposite direction at tear down.

I hope that this is the final submission in patch form.  Ultimately,
these patches need to be handled carefully:

Patch		Trees
1, 2, 3		Driver, Staging, DRM
4		Driver, DRM
5		Driver, Staging
6, 7, 8		To be held back until all users are updated (Exynos DRM)

 drivers/base/component.c               | 249 ++++++++++++++++++++++-----------
 drivers/gpu/drm/msm/msm_drv.c          |  83 +++++------
 drivers/staging/imx-drm/imx-drm-core.c |  57 +-------
 include/linux/component.h              |   8 +-
 4 files changed, 208 insertions(+), 189 deletions(-)

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: linux-arm-kernel@lists.infradead.org,
	Philipp Zabel <philipp.zabel@gmail.com>,
	Rob Clark <robdclark@gmail.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Inki Dae <inki.dae@samsung.com>
Cc: devel@driverdev.osuosl.org, dri-devel@lists.freedesktop.org
Subject: [PATCH v3 0/8] component helper improvements
Date: Tue, 1 Jul 2014 15:40:11 +0100	[thread overview]
Message-ID: <20140701144011.GU32514@n2100.arm.linux.org.uk> (raw)

A while back, Laurent raised some comments about the component helper,
which this patch set starts to address.

The first point it addresses is the repeated parsing inefficiency when
deferred probing occurs.  When DT is used, the structure of the
component helper today means that masters end up parsing the device
tree for each attempt to re-bind the driver.
									        
We remove this inefficiency by creating an array of matching data and
functions, which the component helper can use internally to match up
components to their master.

The second point was the inefficiency of destroying the list of
components each time we saw a failure.	We did this to ensure that
we kept things correctly ordered: component bind order matters.
As we have an array instead, the array is already ordered, so we
use this array to store the component pointers instead of a list,
and remember which are duplicates (and thus should be avoided.)
Avoiding the right duplicates matters as we walk the array in the
opposite direction at tear down.

I hope that this is the final submission in patch form.  Ultimately,
these patches need to be handled carefully:

Patch		Trees
1, 2, 3		Driver, Staging, DRM
4		Driver, DRM
5		Driver, Staging
6, 7, 8		To be held back until all users are updated (Exynos DRM)

 drivers/base/component.c               | 249 ++++++++++++++++++++++-----------
 drivers/gpu/drm/msm/msm_drv.c          |  83 +++++------
 drivers/staging/imx-drm/imx-drm-core.c |  57 +-------
 include/linux/component.h              |   8 +-
 4 files changed, 208 insertions(+), 189 deletions(-)

-- 
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2014-07-01 14:40 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-01 14:40 Russell King - ARM Linux [this message]
2014-07-01 14:40 ` [PATCH v3 0/8] component helper improvements Russell King - ARM Linux
2014-07-01 14:41 ` [PATCH v3 4/8] drm: msm: update to use component match support Russell King
2014-07-01 14:46 ` [PATCH v3 1/8] component: fix missed cleanup in case of devres failure Russell King
2014-07-01 14:46 ` [PATCH v3 2/8] component: ignore multiple additions of the same component Russell King
2014-07-01 14:46 ` [PATCH v3 3/8] component: add support for component match array Russell King
2014-07-01 14:46 ` [PATCH v3 4/8] drm: msm: update to use component match support Russell King
2014-07-01 14:46   ` Russell King
2014-07-01 14:46 ` [PATCH v3 5/8] imx-drm: " Russell King
2014-07-01 14:46 ` [PATCH v3 6/8] component: remove old add_components method Russell King
2014-07-01 14:47 ` [PATCH v3 7/8] component: move check for unbound master into try_to_bring_up_masters() Russell King
2014-07-01 14:47 ` [PATCH v3 8/8] component: track components via array rather than list Russell King
2014-07-02 14:59 ` [PATCH v3 0/8] component helper improvements Russell King - ARM Linux
2014-07-02 14:59   ` Russell King - ARM Linux
2014-07-02 23:51   ` Laurent Pinchart
2014-07-02 23:51     ` Laurent Pinchart
2014-07-03 10:37     ` Russell King - ARM Linux
2014-07-03 10:37       ` Russell King - ARM Linux

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=20140701144011.GU32514@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --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.