diff options
author | Andrzej Hajda <andrzej.hajda@intel.com> | 2022-08-26 17:19:29 +0300 |
---|---|---|
committer | Imre Deak <imre.deak@intel.com> | 2022-09-05 16:21:46 +0300 |
commit | f1ee74afc1e303e69f4485ae677686e95a8bcbe5 (patch) | |
tree | 4f8ee5ef451919f077b78b56f54de10811585e7a | |
parent | f8cc091e05305231c8f747ca253a90ff0cea60b9 (diff) | |
download | linux-f1ee74afc1e303e69f4485ae677686e95a8bcbe5.tar.xz |
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: Imre Deak <imre.deak@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220826141929.189681-4-andrzej.hajda@intel.com
-rw-r--r-- | drivers/gpu/drm/i915/display/intel_fbdev.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/display/intel_fbdev.c b/drivers/gpu/drm/i915/display/intel_fbdev.c index 864219615566..b3a254c34fc6 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)) { |