Patchwork [1/5] drm/i915/fbdev: Always forward hotplug events

login
register
mail settings
Submitter Daniel Vetter
Date July 6, 2017, 1 p.m.
Message ID <20170706130023.28417-1-daniel.vetter@ffwll.ch>
Download mbox | patch
Permalink /patch/9828245/
State New
Headers show

Comments

Daniel Vetter - July 6, 2017, 1 p.m.
With deferred fbdev setup we always need to forward hotplug events,
even if fbdev isn't fully set up yet. Otherwise the deferred setup
will neer happen.

Originally this check was added in

commit c45eb4fed12d278d3619f1904885bd0d7bcbf036 (tag: drm-intel-next-fixes-2016-08-05)
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jul 13 18:34:45 2016 +0100

    drm/i915/fbdev: Check for the framebuffer before use

But the specific case of the hotplug function blowing up was fixed in

commit 50c3dc970a09b3b60422a58934cc27a413288bab
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date:   Fri Jun 27 17:19:22 2014 +0200

    drm/fb-helper: Fix hpd vs. initial config races

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/i915/intel_fbdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Maarten Lankhorst - July 6, 2017, 1:05 p.m.
Op 06-07-17 om 15:00 schreef Daniel Vetter:
> With deferred fbdev setup we always need to forward hotplug events,
> even if fbdev isn't fully set up yet. Otherwise the deferred setup
> will neer happen.
>
> Originally this check was added in
>
> commit c45eb4fed12d278d3619f1904885bd0d7bcbf036 (tag: drm-intel-next-fixes-2016-08-05)
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date:   Wed Jul 13 18:34:45 2016 +0100
>
>     drm/i915/fbdev: Check for the framebuffer before use
>
> But the specific case of the hotplug function blowing up was fixed in
>
> commit 50c3dc970a09b3b60422a58934cc27a413288bab
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Fri Jun 27 17:19:22 2014 +0200
>
>     drm/fb-helper: Fix hpd vs. initial config races
>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_fbdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index f11ee039ff45..5536591d3da0 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -821,7 +821,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
>  {
>  	struct intel_fbdev *ifbdev = to_i915(dev)->fbdev;
>  
> -	if (ifbdev && ifbdev->vma)
> +	if (ifbdev)
>  		drm_fb_helper_hotplug_event(&ifbdev->helper);
>  }
>  

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

Could you also change the @intel.com to @linux.intel.com in second patch? :-)
Jani Nikula - July 10, 2017, 12:15 p.m.
On Thu, 06 Jul 2017, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> With deferred fbdev setup we always need to forward hotplug events,
> even if fbdev isn't fully set up yet. Otherwise the deferred setup
> will neer happen.
>
> Originally this check was added in
>
> commit c45eb4fed12d278d3619f1904885bd0d7bcbf036 (tag: drm-intel-next-fixes-2016-08-05)
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date:   Wed Jul 13 18:34:45 2016 +0100
>
>     drm/i915/fbdev: Check for the framebuffer before use

I just pushed

commit 7581d5ca2bb269cfc2ce2d0cb489aac513167f6b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 22 17:02:11 2017 +0100

    drm/i915/fbdev: Check for existence of ifbdev->vma before operations

which is a backport of 15727ed0d944 ("drm/i915/fbdev: Check for
existence of ifbdev->vma before operations") to dinf.

Should this patch be backported too?

BR,
Jani.


>
> But the specific case of the hotplug function blowing up was fixed in
>
> commit 50c3dc970a09b3b60422a58934cc27a413288bab
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date:   Fri Jun 27 17:19:22 2014 +0200
>
>     drm/fb-helper: Fix hpd vs. initial config races
>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_fbdev.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> index f11ee039ff45..5536591d3da0 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -821,7 +821,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
>  {
>  	struct intel_fbdev *ifbdev = to_i915(dev)->fbdev;
>  
> -	if (ifbdev && ifbdev->vma)
> +	if (ifbdev)
>  		drm_fb_helper_hotplug_event(&ifbdev->helper);
>  }
Daniel Vetter - July 10, 2017, 3:02 p.m.
On Mon, Jul 10, 2017 at 2:15 PM, Jani Nikula
<jani.nikula@linux.intel.com> wrote:
> On Thu, 06 Jul 2017, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>> With deferred fbdev setup we always need to forward hotplug events,
>> even if fbdev isn't fully set up yet. Otherwise the deferred setup
>> will neer happen.
>>
>> Originally this check was added in
>>
>> commit c45eb4fed12d278d3619f1904885bd0d7bcbf036 (tag: drm-intel-next-fixes-2016-08-05)
>> Author: Chris Wilson <chris@chris-wilson.co.uk>
>> Date:   Wed Jul 13 18:34:45 2016 +0100
>>
>>     drm/i915/fbdev: Check for the framebuffer before use
>
> I just pushed
>
> commit 7581d5ca2bb269cfc2ce2d0cb489aac513167f6b
> Author: Chris Wilson <chris@chris-wilson.co.uk>
> Date:   Thu Jun 22 17:02:11 2017 +0100
>
>     drm/i915/fbdev: Check for existence of ifbdev->vma before operations
>
> which is a backport of 15727ed0d944 ("drm/i915/fbdev: Check for
> existence of ifbdev->vma before operations") to dinf.
>
> Should this patch be backported too?

No. The one check this removes is harmless in current kernels. It only
breaks the deferred fbdev setup logic, which isn't in 4.13.
-Daniel
Daniel Vetter - July 14, 2017, 1:15 p.m.
On Thu, Jul 06, 2017 at 03:05:19PM +0200, Maarten Lankhorst wrote:
> Op 06-07-17 om 15:00 schreef Daniel Vetter:
> > With deferred fbdev setup we always need to forward hotplug events,
> > even if fbdev isn't fully set up yet. Otherwise the deferred setup
> > will neer happen.
> >
> > Originally this check was added in
> >
> > commit c45eb4fed12d278d3619f1904885bd0d7bcbf036 (tag: drm-intel-next-fixes-2016-08-05)
> > Author: Chris Wilson <chris@chris-wilson.co.uk>
> > Date:   Wed Jul 13 18:34:45 2016 +0100
> >
> >     drm/i915/fbdev: Check for the framebuffer before use
> >
> > But the specific case of the hotplug function blowing up was fixed in
> >
> > commit 50c3dc970a09b3b60422a58934cc27a413288bab
> > Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> > Date:   Fri Jun 27 17:19:22 2014 +0200
> >
> >     drm/fb-helper: Fix hpd vs. initial config races
> >
> > Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> > Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> > Cc: Chris Wilson <chris@chris-wilson.co.uk>
> > Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_fbdev.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
> > index f11ee039ff45..5536591d3da0 100644
> > --- a/drivers/gpu/drm/i915/intel_fbdev.c
> > +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> > @@ -821,7 +821,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
> >  {
> >  	struct intel_fbdev *ifbdev = to_i915(dev)->fbdev;
> >  
> > -	if (ifbdev && ifbdev->vma)
> > +	if (ifbdev)
> >  		drm_fb_helper_hotplug_event(&ifbdev->helper);
> >  }
> >  
> 
> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> 
> Could you also change the @intel.com to @linux.intel.com in second patch? :-)

Done, thx for your review, first 2 patches merged to drm-intel. I'll apply
the others once drm-misc is resynced.
-Daniel

Patch

diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
index f11ee039ff45..5536591d3da0 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -821,7 +821,7 @@  void intel_fbdev_output_poll_changed(struct drm_device *dev)
 {
 	struct intel_fbdev *ifbdev = to_i915(dev)->fbdev;
 
-	if (ifbdev && ifbdev->vma)
+	if (ifbdev)
 		drm_fb_helper_hotplug_event(&ifbdev->helper);
 }