Message ID | 20220722125143.1604709-5-andrzej.hajda@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/display: stop HPD workers before display driver unregister | expand |
> -----Original Message----- > From: Hajda, Andrzej <andrzej.hajda@intel.com> > Sent: Friday, July 22, 2022 6:22 PM > To: Jani Nikula <jani.nikula@linux.intel.com>; Ville Syrjälä > <ville.syrjala@linux.intel.com>; Murthy, Arun R <arun.r.murthy@intel.com> > Cc: Hajda, Andrzej <andrzej.hajda@intel.com>; Joonas Lahtinen > <joonas.lahtinen@linux.intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; > Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>; Daniel Vetter > <daniel@ffwll.ch>; intel-gfx@lists.freedesktop.org; dri- > devel@lists.freedesktop.org > Subject: [PATCH v6 4/4] drm/i915/fbdev: do not create fbdev if HPD is > suspended > > In case of deferred FB setup core can try to create new framebuffer. Disallow > it if hpd_suspended flag is set. > > Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com> > --- Reviewed-by: Arun R Murthy <arun.r.murthy@intel.com> Thanks and Regards, Arun R Murthy --------------------
On Fri, Jul 22, 2022 at 02:51:43PM +0200, Andrzej Hajda wrote: > In case of deferred FB setup core can try to create new > framebuffer. Disallow it if hpd_suspended flag is set. > > Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com> Reviewed-by: Imre Deak <imre.deak@intel.com> > --- > drivers/gpu/drm/i915/display/intel_fbdev.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c > index 94ddc0f34fde64..fb8dbd532b9e05 100644 > --- a/drivers/gpu/drm/i915/display/intel_fbdev.c > +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c > @@ -210,6 +210,12 @@ static int intelfb_create(struct drm_fb_helper *helper, > struct drm_i915_gem_object *obj; > int ret; > > + mutex_lock(&ifbdev->hpd_lock); > + ret = ifbdev->hpd_suspended ? -EAGAIN : 0; > + mutex_unlock(&ifbdev->hpd_lock); > + if (ret) > + return ret; > + > if (intel_fb && > (sizes->fb_width > intel_fb->base.width || > sizes->fb_height > intel_fb->base.height)) { > -- > 2.25.1 >
diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c index 94ddc0f34fde64..fb8dbd532b9e05 100644 --- a/drivers/gpu/drm/i915/display/intel_fbdev.c +++ b/drivers/gpu/drm/i915/display/intel_fbdev.c @@ -210,6 +210,12 @@ static int intelfb_create(struct drm_fb_helper *helper, struct drm_i915_gem_object *obj; int ret; + mutex_lock(&ifbdev->hpd_lock); + ret = ifbdev->hpd_suspended ? -EAGAIN : 0; + mutex_unlock(&ifbdev->hpd_lock); + if (ret) + return ret; + if (intel_fb && (sizes->fb_width > intel_fb->base.width || sizes->fb_height > intel_fb->base.height)) {
In case of deferred FB setup core can try to create new framebuffer. Disallow it if hpd_suspended flag is set. Signed-off-by: Andrzej Hajda <andrzej.hajda@intel.com> --- drivers/gpu/drm/i915/display/intel_fbdev.c | 6 ++++++ 1 file changed, 6 insertions(+)