linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <swboyd@chromium.org>
To: Saravana Kannan <saravanak@google.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Rob Clark <robdclark@gmail.com>,
	Russell King <rmk+kernel@arm.linux.org.uk>
Subject: Re: [PATCH v2 02/34] component: Introduce the aggregate bus_type
Date: Thu, 7 Oct 2021 21:24:03 -0400	[thread overview]
Message-ID: <CAE-0n52ytNtf5atojYrLviuAKOt3v+mLVoPeqtRUf-6uBpkiJA@mail.gmail.com> (raw)
In-Reply-To: <CAGETcx_0GRg7u3dAxP9u0qO-hfJ0N3V44CGLwFFX1kVxZ00g+w@mail.gmail.com>

Quoting Saravana Kannan (2021-10-07 18:10:24)
> On Thu, Oct 7, 2021 at 1:11 PM Stephen Boyd <swboyd@chromium.org> wrote:
> >
> > Quoting Stephen Boyd (2021-10-07 11:40:07)
> > > Quoting Saravana Kannan (2021-10-06 20:07:11)
> > > > On Wed, Oct 6, 2021 at 12:38 PM Stephen Boyd <swboyd@chromium.org> wrote:
> > > > > diff --git a/drivers/base/component.c b/drivers/base/component.c
> > > > > index 0a41bbe14981..d99e99cabb99 100644
> > > > > --- a/drivers/base/component.c
> > > > > +++ b/drivers/base/component.c
> > > [...]
> > > > > +                       continue;
> > > > > +
> > > > > +               /* Matches put in component_del() */
> > > > > +               get_device(&adev->dev);
> > > > > +               c->link = device_link_add(&adev->dev, c->dev,
> > > > > +                                         DL_FLAG_STATELESS | DL_FLAG_PM_RUNTIME);
> > > >
> > > > Remove the STATELESS flag and you'll get a bunch of other stuff done for free:
> > >
> > > I tried that and it didn't work for me. The aggregate device never
> > > probed and I was left with no display. Let me see if I can reproduce it
> > > with logging to provide more details.
> >
> > This patch fixes it (whitespace damaged sorry).
>
> Not sure why you have to trigger an explicit rescan, but instead of
> this patch below, you could also try setting this flag instead?
> DL_FLAG_AUTOPROBE_CONSUMER
>

I'd rather not conflate component driver probe with component_add()
being called. It's simpler if that is the case, i.e. all component
drivers are calling component_add() in their driver probe routine, but I
don't know if that's always true. I did this poor audit of the kernel

$ git grep -p \[^_]component_add | grep \.c=  | grep -v probe
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c=static int
amdgpu_dm_audio_init(struct amdgpu_device *adev)
drivers/gpu/drm/i915/display/intel_audio.c=static void
i915_audio_component_init(struct drm_i915_private *dev_priv)
drivers/gpu/drm/i915/display/intel_hdcp.c=void
intel_hdcp_component_init(struct drm_i915_private *dev_priv)
drivers/gpu/drm/nouveau/dispnv50/disp.c=nv50_audio_component_init(struct
nouveau_drm *drm)
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c=static int
dw_mipi_dsi_rockchip_host_attach(void *priv_data,
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c=static int
dw_mipi_dsi_dphy_init(struct phy *phy)
drivers/gpu/drm/vc4/vc4_dsi.c=static int vc4_dsi_host_attach(struct
mipi_dsi_host *host,

and then peeking at rockchip above I see that component_add() is called
in the mipi dsi attach ops and then I got lost trying to figure out
where it ends up. Maybe it is still in some probe call?

Anyway, I think we still have to do a rescan so that we can try to bind
the aggregate device. Is there a better API to use for that?

  reply	other threads:[~2021-10-08  1:24 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06 19:37 [PATCH v2 00/34] component: Make into an aggregate bus Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 01/34] component: Introduce struct aggregate_device Stephen Boyd
2021-10-07  1:17   ` Laurent Pinchart
2021-10-07 18:36     ` Stephen Boyd
2021-10-13 12:22   ` Daniel Vetter
2021-10-13 19:49     ` Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 02/34] component: Introduce the aggregate bus_type Stephen Boyd
2021-10-06 22:42   ` kernel test robot
2021-10-07  3:07   ` Saravana Kannan
2021-10-07 18:40     ` Stephen Boyd
2021-10-07 20:11       ` Stephen Boyd
2021-10-08  1:10         ` Saravana Kannan
2021-10-08  1:24           ` Stephen Boyd [this message]
2021-10-08  1:32             ` Saravana Kannan
2021-10-08  1:37               ` Stephen Boyd
2021-10-07  5:37   ` Greg Kroah-Hartman
2021-10-07 20:42     ` Stephen Boyd
2021-10-14 13:27       ` Daniel Vetter
2021-10-06 19:37 ` [PATCH v2 03/34] component: Move struct aggregate_device out to header file Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 04/34] drm/msm: Migrate to aggregate driver Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 05/34] component: Add {bind,unbind}_component() ops that take aggregate device Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 06/34] drm/of: Add a drm_of_aggregate_probe() API Stephen Boyd
2021-10-06 22:28   ` kernel test robot
2021-10-06 22:36   ` kernel test robot
2021-10-06 19:37 ` [PATCH v2 07/34] drm/komeda: Migrate to aggregate driver Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 08/34] drm/arm/hdlcd: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 09/34] drm/malidp: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 10/34] drm/armada: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 11/34] drm/etnaviv: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 12/34] drm/kirin: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 13/34] drm/exynos: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 14/34] drm/imx: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 15/34] drm/ingenic: " Stephen Boyd
2021-10-07 21:29   ` Paul Cercueil
2021-10-06 19:38 ` [PATCH v2 16/34] drm/mcde: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 17/34] drm/mediatek: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 18/34] drm/meson: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 19/34] drm/omap: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 20/34] drm/rockchip: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 21/34] drm/sti: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 22/34] drm/sun4i: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 23/34] drm/tilcdc: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 24/34] drm/vc4: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 25/34] drm/zte: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 26/34] iommu/mtk: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 27/34] mei: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 28/34] power: supply: ab8500: " Stephen Boyd
2021-10-13 16:24   ` Sebastian Reichel
2021-10-06 19:38 ` [PATCH v2 29/34] fbdev: omap2: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 30/34] sound: hdac: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 31/34] ASoC: codecs: wcd938x: " Stephen Boyd
2021-10-07 12:35   ` Mark Brown
2021-10-06 19:38 ` [PATCH v2 32/34] component: Get rid of drm_of_component_probe() Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 33/34] component: Remove component_master_ops and friends Stephen Boyd
2021-10-06 23:19   ` kernel test robot
2021-10-06 19:38 ` [PATCH v2 34/34] component: Remove all references to 'master' Stephen Boyd
2021-10-07 10:16 ` [PATCH v2 00/34] component: Make into an aggregate bus Andrzej Hajda
2021-10-07 20:46   ` Stephen Boyd
2021-10-13 12:14     ` Daniel Vetter
     [not found] ` <CAHp75VdLg-rBjCDGEwgkY6QDbFGW0of4SjSmp08FXXRN_raQtQ@mail.gmail.com>
2021-10-07 12:33   ` Andrzej Hajda

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=CAE-0n52ytNtf5atojYrLviuAKOt3v+mLVoPeqtRUf-6uBpkiJA@mail.gmail.com \
    --to=swboyd@chromium.org \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=robdclark@gmail.com \
    --cc=saravanak@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).