Thanks for comments,
On 29.06.2022 07:38, Murthy, Arun R wrote:
void intel_fbdev_unregister(struct drm_i915_private *dev_priv) { struct intel_fbdev *ifbdev = dev_priv->fbdev; @@ -573,6 +594,8 @@ void intel_fbdev_unregister(struct drm_i915_private *dev_priv) if (!ifbdev) return; + intel_fbdev_hpd_set_suspend(dev_priv, FBINFO_STATE_SUSPENDED); +Instead of intel_fbdev_hpd_set_suspend(), will intel_fbdev_set_suspend() make more sense? If intel_fbdev_set_suspend() is called, then the below cancel_work_sync() may not be required.
It does more than I needed (calls drm_fb_helper_set_suspend), but it shouldn't hurt. I will try this approach.
Regards Andrzej
cancel_work_sync(&dev_priv->fbdev_suspend_work); if (!current_is_async()) intel_fbdev_sync(ifbdev);Thanks and Regards, Arun R Murthy --------------------
