From: Stephen Boyd <swboyd@chromium.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: 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>, Saravana Kannan <saravanak@google.com> Subject: [PATCH 0/7] component: Make into an aggregate bus Date: Wed, 19 May 2021 17:25:12 -0700 [thread overview] Message-ID: <20210520002519.3538432-1-swboyd@chromium.org> (raw) This series is from discussion we had on reordering the device lists for drm shutdown paths[1]. I've introduced an 'aggregate' bus that we put the aggregate device onto and then we probe the device once all the components are probed and call component_add(). The probe/remove hooks are where the bind/unbind calls go, and then a shutdown hook is added that can be used to shutdown the drm display pipeline at the right time. This works for me on my sc7180 board, but I'm currently struggling with the last patch where we migrate the msm driver. It runs into a runtime PM problem where the parent device isn't runtime PM enabled yet. I'm still trying to figure out a clean solution there. Moving runtime PM around breaks boot and I think that's because the power domain is off. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: "Rafael J. Wysocki" <rafael@kernel.org> Cc: Rob Clark <robdclark@gmail.com> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Saravana Kannan <saravanak@google.com> [1] https://lore.kernel.org/r/20210508074118.1621729-1-swboyd@chromium.org Stephen Boyd (7): component: Drop 'dev' argument to component_match_realloc() component: Rename 'dev' to 'parent' component: Introduce struct aggregate_device component: Introduce the aggregate bus_type component: Use dev.parent instead of adev->parent component: Move struct aggregate_device out to header file drm/msm: Migrate to aggregate driver drivers/base/component.c | 614 ++++++++++++++++++++++------------ drivers/gpu/drm/msm/msm_drv.c | 47 +-- include/linux/component.h | 73 +++- 3 files changed, 487 insertions(+), 247 deletions(-) base-commit: 6efb943b8616ec53a5e444193dccf1af9ad627b5 -- https://chromeos.dev
WARNING: multiple messages have this Message-ID (diff)
From: Stephen Boyd <swboyd@chromium.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Saravana Kannan <saravanak@google.com>, "Rafael J. Wysocki" <rafael@kernel.org>, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter <daniel.vetter@ffwll.ch>, Russell King <rmk+kernel@arm.linux.org.uk>, freedreno@lists.freedesktop.org Subject: [PATCH 0/7] component: Make into an aggregate bus Date: Wed, 19 May 2021 17:25:12 -0700 [thread overview] Message-ID: <20210520002519.3538432-1-swboyd@chromium.org> (raw) This series is from discussion we had on reordering the device lists for drm shutdown paths[1]. I've introduced an 'aggregate' bus that we put the aggregate device onto and then we probe the device once all the components are probed and call component_add(). The probe/remove hooks are where the bind/unbind calls go, and then a shutdown hook is added that can be used to shutdown the drm display pipeline at the right time. This works for me on my sc7180 board, but I'm currently struggling with the last patch where we migrate the msm driver. It runs into a runtime PM problem where the parent device isn't runtime PM enabled yet. I'm still trying to figure out a clean solution there. Moving runtime PM around breaks boot and I think that's because the power domain is off. Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: "Rafael J. Wysocki" <rafael@kernel.org> Cc: Rob Clark <robdclark@gmail.com> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Saravana Kannan <saravanak@google.com> [1] https://lore.kernel.org/r/20210508074118.1621729-1-swboyd@chromium.org Stephen Boyd (7): component: Drop 'dev' argument to component_match_realloc() component: Rename 'dev' to 'parent' component: Introduce struct aggregate_device component: Introduce the aggregate bus_type component: Use dev.parent instead of adev->parent component: Move struct aggregate_device out to header file drm/msm: Migrate to aggregate driver drivers/base/component.c | 614 ++++++++++++++++++++++------------ drivers/gpu/drm/msm/msm_drv.c | 47 +-- include/linux/component.h | 73 +++- 3 files changed, 487 insertions(+), 247 deletions(-) base-commit: 6efb943b8616ec53a5e444193dccf1af9ad627b5 -- https://chromeos.dev
next reply other threads:[~2021-05-20 0:25 UTC|newest] Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-05-20 0:25 Stephen Boyd [this message] 2021-05-20 0:25 ` [PATCH 0/7] component: Make into an aggregate bus Stephen Boyd 2021-05-20 0:25 ` [PATCH 1/7] component: Drop 'dev' argument to component_match_realloc() Stephen Boyd 2021-05-20 0:25 ` Stephen Boyd 2021-05-20 0:25 ` [PATCH 2/7] component: Rename 'dev' to 'parent' Stephen Boyd 2021-05-20 0:25 ` Stephen Boyd 2021-05-20 0:25 ` [PATCH 3/7] component: Introduce struct aggregate_device Stephen Boyd 2021-05-20 0:25 ` Stephen Boyd 2021-05-20 20:20 ` Saravana Kannan 2021-05-20 20:20 ` Saravana Kannan 2021-05-24 6:01 ` Stephen Boyd 2021-05-24 6:01 ` Stephen Boyd 2021-05-20 0:25 ` [PATCH 4/7] component: Introduce the aggregate bus_type Stephen Boyd 2021-05-20 0:25 ` Stephen Boyd 2021-05-20 0:25 ` [PATCH 5/7] component: Use dev.parent instead of adev->parent Stephen Boyd 2021-05-20 0:25 ` Stephen Boyd 2021-05-20 0:25 ` [PATCH 6/7] component: Move struct aggregate_device out to header file Stephen Boyd 2021-05-20 0:25 ` Stephen Boyd 2021-05-20 0:25 ` [PATCH 7/7] drm/msm: Migrate to aggregate driver Stephen Boyd 2021-05-20 0:25 ` Stephen Boyd 2021-05-20 19:58 ` Daniel Vetter 2021-05-20 19:58 ` Daniel Vetter 2021-05-20 20:22 ` Saravana Kannan 2021-05-20 20:22 ` Saravana Kannan 2021-05-24 6:45 ` Stephen Boyd 2021-05-24 6:45 ` Stephen Boyd 2021-05-20 1:27 ` [PATCH 0/7] component: Make into an aggregate bus Saravana Kannan 2021-05-20 1:27 ` Saravana Kannan 2021-05-20 1:41 ` Stephen Boyd 2021-05-20 1:41 ` Stephen Boyd 2021-05-20 19:30 ` Saravana Kannan 2021-05-20 19:30 ` Saravana Kannan 2021-05-20 20:03 ` Daniel Vetter 2021-05-20 20:03 ` Daniel Vetter
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=20210520002519.3538432-1-swboyd@chromium.org \ --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: linkBe 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.