Message ID | 20241003154421.33805-8-maarten.lankhorst@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/xe: Reduce flickering when inheriting BIOS fb. | expand |
On Thu, Oct 03, 2024 at 05:44:16PM +0200, Maarten Lankhorst wrote: > Another requirement of hiding more of struct xe_ggtt. > > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> > --- > drivers/gpu/drm/xe/xe_bo.c | 2 +- > drivers/gpu/drm/xe/xe_ggtt.c | 7 +++++++ > drivers/gpu/drm/xe/xe_ggtt.h | 7 +++++++ > 3 files changed, 15 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c > index 5f2f1ec46b57a..f85c389e9a1f8 100644 > --- a/drivers/gpu/drm/xe/xe_bo.c > +++ b/drivers/gpu/drm/xe/xe_bo.c > @@ -2359,7 +2359,7 @@ void xe_bo_put(struct xe_bo *bo) > might_lock(&bo->client->bos_lock); > #endif > if (bo->ggtt_node && bo->ggtt_node->ggtt) > - might_lock(&bo->ggtt_node->ggtt->lock); > + xe_ggtt_might_lock(bo->ggtt_node->ggtt); > drm_gem_object_put(&bo->ttm.base); > } > } > diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c > index 1ffc0917e28fe..7e5a793651583 100644 > --- a/drivers/gpu/drm/xe/xe_ggtt.c > +++ b/drivers/gpu/drm/xe/xe_ggtt.c > @@ -175,6 +175,13 @@ static void ggtt_fini(void *arg) > ggtt->scratch = NULL; > } > > +#ifdef CONFIG_LOCKDEP > +void xe_ggtt_might_lock(struct xe_ggtt *ggtt) > +{ > + might_lock(&ggtt->lock); > +} > +#endif > + > static void primelockdep(struct xe_ggtt *ggtt) > { > if (!IS_ENABLED(CONFIG_LOCKDEP)) > diff --git a/drivers/gpu/drm/xe/xe_ggtt.h b/drivers/gpu/drm/xe/xe_ggtt.h > index bdf6d0733e2ca..62c8ce636939a 100644 > --- a/drivers/gpu/drm/xe/xe_ggtt.h > +++ b/drivers/gpu/drm/xe/xe_ggtt.h > @@ -38,4 +38,11 @@ u64 xe_ggtt_print_holes(struct xe_ggtt *ggtt, u64 alignment, struct drm_printer > void xe_ggtt_assign(const struct xe_ggtt_node *node, u16 vfid); > #endif > > +#ifndef CONFIG_LOCKDEP > +static inline void xe_ggtt_might_lock(struct xe_ggtt *ggtt) > +{ } > +#else > +void xe_ggtt_might_lock(struct xe_ggtt *ggtt); > +#endif > + > #endif > -- > 2.45.2 >
diff --git a/drivers/gpu/drm/xe/xe_bo.c b/drivers/gpu/drm/xe/xe_bo.c index 5f2f1ec46b57a..f85c389e9a1f8 100644 --- a/drivers/gpu/drm/xe/xe_bo.c +++ b/drivers/gpu/drm/xe/xe_bo.c @@ -2359,7 +2359,7 @@ void xe_bo_put(struct xe_bo *bo) might_lock(&bo->client->bos_lock); #endif if (bo->ggtt_node && bo->ggtt_node->ggtt) - might_lock(&bo->ggtt_node->ggtt->lock); + xe_ggtt_might_lock(bo->ggtt_node->ggtt); drm_gem_object_put(&bo->ttm.base); } } diff --git a/drivers/gpu/drm/xe/xe_ggtt.c b/drivers/gpu/drm/xe/xe_ggtt.c index 1ffc0917e28fe..7e5a793651583 100644 --- a/drivers/gpu/drm/xe/xe_ggtt.c +++ b/drivers/gpu/drm/xe/xe_ggtt.c @@ -175,6 +175,13 @@ static void ggtt_fini(void *arg) ggtt->scratch = NULL; } +#ifdef CONFIG_LOCKDEP +void xe_ggtt_might_lock(struct xe_ggtt *ggtt) +{ + might_lock(&ggtt->lock); +} +#endif + static void primelockdep(struct xe_ggtt *ggtt) { if (!IS_ENABLED(CONFIG_LOCKDEP)) diff --git a/drivers/gpu/drm/xe/xe_ggtt.h b/drivers/gpu/drm/xe/xe_ggtt.h index bdf6d0733e2ca..62c8ce636939a 100644 --- a/drivers/gpu/drm/xe/xe_ggtt.h +++ b/drivers/gpu/drm/xe/xe_ggtt.h @@ -38,4 +38,11 @@ u64 xe_ggtt_print_holes(struct xe_ggtt *ggtt, u64 alignment, struct drm_printer void xe_ggtt_assign(const struct xe_ggtt_node *node, u16 vfid); #endif +#ifndef CONFIG_LOCKDEP +static inline void xe_ggtt_might_lock(struct xe_ggtt *ggtt) +{ } +#else +void xe_ggtt_might_lock(struct xe_ggtt *ggtt); +#endif + #endif
Another requirement of hiding more of struct xe_ggtt. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> --- drivers/gpu/drm/xe/xe_bo.c | 2 +- drivers/gpu/drm/xe/xe_ggtt.c | 7 +++++++ drivers/gpu/drm/xe/xe_ggtt.h | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-)