[Intel-gfx] [PATCH] drm/i915/rpm: add rpm_to_i915() helper around container_of()
Gustavo Sousa
gustavo.sousa at intel.com
Wed Dec 6 13:03:07 UTC 2023
Quoting Jani Nikula (2023-12-05 09:15:45-03:00)
>Reduce the duplication.
By the way, is it too ambitious to dream of a to_i915() using generics?
--
Gustavo Sousa
>
>Signed-off-by: Jani Nikula <jani.nikula at intel.com>
>---
> drivers/gpu/drm/i915/intel_runtime_pm.c | 24 ++++++++++--------------
> 1 file changed, 10 insertions(+), 14 deletions(-)
>
>diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
>index 91491111dbd5..860b51b56a92 100644
>--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
>+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
>@@ -50,6 +50,11 @@
> * present for a given platform.
> */
>
>+static struct drm_i915_private *rpm_to_i915(struct intel_runtime_pm *rpm)
>+{
>+ return container_of(rpm, struct drm_i915_private, runtime_pm);
>+}
>+
> #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM)
>
> static void init_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm)
>@@ -158,9 +163,7 @@ intel_runtime_pm_release(struct intel_runtime_pm *rpm, int wakelock)
> static intel_wakeref_t __intel_runtime_pm_get(struct intel_runtime_pm *rpm,
> bool wakelock)
> {
>- struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+ struct drm_i915_private *i915 = rpm_to_i915(rpm);
> int ret;
>
> ret = pm_runtime_get_sync(rpm->kdev);
>@@ -365,9 +368,7 @@ void intel_runtime_pm_put(struct intel_runtime_pm *rpm, intel_wakeref_t wref)
> */
> void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
> {
>- struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+ struct drm_i915_private *i915 = rpm_to_i915(rpm);
> struct device *kdev = rpm->kdev;
>
> /*
>@@ -420,9 +421,7 @@ void intel_runtime_pm_enable(struct intel_runtime_pm *rpm)
>
> void intel_runtime_pm_disable(struct intel_runtime_pm *rpm)
> {
>- struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+ struct drm_i915_private *i915 = rpm_to_i915(rpm);
> struct device *kdev = rpm->kdev;
>
> /* Transfer rpm ownership back to core */
>@@ -437,9 +436,7 @@ void intel_runtime_pm_disable(struct intel_runtime_pm *rpm)
>
> void intel_runtime_pm_driver_release(struct intel_runtime_pm *rpm)
> {
>- struct drm_i915_private *i915 = container_of(rpm,
>- struct drm_i915_private,
>- runtime_pm);
>+ struct drm_i915_private *i915 = rpm_to_i915(rpm);
> int count = atomic_read(&rpm->wakeref_count);
>
> intel_wakeref_auto_fini(&rpm->userfault_wakeref);
>@@ -458,8 +455,7 @@ void intel_runtime_pm_driver_last_release(struct intel_runtime_pm *rpm)
>
> void intel_runtime_pm_init_early(struct intel_runtime_pm *rpm)
> {
>- struct drm_i915_private *i915 =
>- container_of(rpm, struct drm_i915_private, runtime_pm);
>+ struct drm_i915_private *i915 = rpm_to_i915(rpm);
> struct pci_dev *pdev = to_pci_dev(i915->drm.dev);
> struct device *kdev = &pdev->dev;
>
>--
>2.39.2
>
More information about the Intel-gfx
mailing list