All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration
@ 2018-04-18 23:41 José Roberto de Souza
  2018-04-19  0:13 ` ✓ Fi.CI.BAT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4) Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: José Roberto de Souza @ 2018-04-18 23:41 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

If the initial fbdev configuration(intel_fbdev_initial_config()) runs and
there still no sink connected it will cause
drm_fb_helper_initial_config() to return 0 as no error happened(but
internally the return is -EAGAIN).
Because no framebuffer was allocated, when a sink is connected
intel_fbdev_output_poll_changed() will not execute
drm_fb_helper_hotplug_event() that would trigger another try to do the
initial fbdev configuration.

So here allowing drm_fb_helper_hotplug_event() to be executed when there
is not frambebuffer allocated and fbdev was not setup yet.

This issue also happens when a MST DP sink is connected since boot, as
the MST topology is discovered in parallel if intel_fbdev_initial_config()
is executed before the first sink MST is discovered it will cause this
same issue.

This is a follow up patch of
https://patchwork.freedesktop.org/patch/196089/

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---

Changes from v1:
- not creating a dump framebuffer anymore, instead just allowing
drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.

 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 7d41d139341b..e9e02b58b7be 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
 		return;
 
 	intel_fbdev_sync(ifbdev);
-	if (ifbdev->vma)
+	if (ifbdev->vma || ifbdev->helper.deferred_setup)
 		drm_fb_helper_hotplug_event(&ifbdev->helper);
 }
 
-- 
2.17.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4)
  2018-04-18 23:41 [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration José Roberto de Souza
@ 2018-04-19  0:13 ` Patchwork
  2018-04-19  2:08 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-04-19  0:13 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/fbdev: Enable late fbdev initial configuration (rev4)
URL   : https://patchwork.freedesktop.org/series/41851/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4067 -> Patchwork_8744 =

== Summary - SUCCESS ==

  No regressions found.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/41851/revisions/4/mbox/

== Known issues ==

  Here are the changes found in Patchwork_8744 that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@kms_pipe_crc_basic@hang-read-crc-pipe-a:
      fi-skl-guc:         PASS -> FAIL (fdo#103191)

    igt@prime_vgem@basic-fence-flip:
      fi-ilk-650:         PASS -> FAIL (fdo#104008)

    
    ==== Possible fixes ====

    igt@gem_mmap_gtt@basic-small-bo-tiledx:
      fi-gdg-551:         FAIL (fdo#102575) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-ivb-3520m:       DMESG-WARN (fdo#106084) -> PASS
      fi-skl-guc:         FAIL (fdo#103191) -> PASS

    
  fdo#102575 https://bugs.freedesktop.org/show_bug.cgi?id=102575
  fdo#103191 https://bugs.freedesktop.org/show_bug.cgi?id=103191
  fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
  fdo#106084 https://bugs.freedesktop.org/show_bug.cgi?id=106084


== Participating hosts (34 -> 30) ==

  Missing    (4): fi-ctg-p8600 fi-ilk-m540 fi-bxt-dsi fi-skl-6700hq 


== Build changes ==

    * Linux: CI_DRM_4067 -> Patchwork_8744

  CI_DRM_4067: 1c7ccdf37b04bedb10e2191d34dfbba62beb79ea @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4441: 83ba5b7d3bde48b383df41792fc9c955a5a23bdb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_8744: d356736d30be910191082e9535bee7f55303cd9e @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4441: e60d247eb359f044caf0c09904da14e39d7adca1 @ git://anongit.freedesktop.org/piglit


== Linux commits ==

d356736d30be drm/i915/fbdev: Enable late fbdev initial configuration

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8744/issues.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* ✓ Fi.CI.IGT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4)
  2018-04-18 23:41 [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration José Roberto de Souza
  2018-04-19  0:13 ` ✓ Fi.CI.BAT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4) Patchwork
@ 2018-04-19  2:08 ` Patchwork
  2018-04-19 12:50 ` [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration Jani Nikula
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-04-19  2:08 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/fbdev: Enable late fbdev initial configuration (rev4)
URL   : https://patchwork.freedesktop.org/series/41851/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4067_full -> Patchwork_8744_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_8744_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_8744_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/41851/revisions/4/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_8744_full:

  === IGT changes ===

    ==== Warnings ====

    igt@gem_exec_schedule@deep-vebox:
      shard-kbl:          SKIP -> PASS +2

    igt@gem_mocs_settings@mocs-rc6-vebox:
      shard-kbl:          PASS -> SKIP +3

    
== Known issues ==

  Here are the changes found in Patchwork_8744_full that come from known issues:

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_ppgtt@blt-vs-render-ctx0:
      shard-kbl:          PASS -> INCOMPLETE (fdo#103665, fdo#106023)

    igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#103060)

    igt@kms_flip@2x-flip-vs-expired-vblank-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#102887)

    igt@kms_flip@2x-plain-flip-fb-recreate:
      shard-hsw:          PASS -> FAIL (fdo#100368)

    igt@kms_flip@2x-wf_vblank-ts-check:
      shard-hsw:          PASS -> FAIL (fdo#103928)

    igt@kms_flip@flip-vs-modeset-vs-hang-interruptible:
      shard-kbl:          PASS -> DMESG-WARN (fdo#103558, fdo#105602, fdo#103313) +1

    igt@kms_sysfs_edid_timing:
      shard-apl:          PASS -> WARN (fdo#100047)

    igt@pm_rpm@basic-pci-d3-state:
      shard-kbl:          PASS -> DMESG-WARN (fdo#103558, fdo#105602) +2

    
    ==== Possible fixes ====

    igt@kms_flip@wf_vblank-ts-check-interruptible:
      shard-apl:          FAIL (fdo#100368) -> PASS

    
  fdo#100047 https://bugs.freedesktop.org/show_bug.cgi?id=100047
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
  fdo#103313 https://bugs.freedesktop.org/show_bug.cgi?id=103313
  fdo#103558 https://bugs.freedesktop.org/show_bug.cgi?id=103558
  fdo#103665 https://bugs.freedesktop.org/show_bug.cgi?id=103665
  fdo#103928 https://bugs.freedesktop.org/show_bug.cgi?id=103928
  fdo#105602 https://bugs.freedesktop.org/show_bug.cgi?id=105602
  fdo#106023 https://bugs.freedesktop.org/show_bug.cgi?id=106023


== Participating hosts (9 -> 4) ==

  Missing    (5): shard-glk8 shard-glk6 shard-glk7 shard-glk shard-glkb 


== Build changes ==

    * Linux: CI_DRM_4067 -> Patchwork_8744

  CI_DRM_4067: 1c7ccdf37b04bedb10e2191d34dfbba62beb79ea @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4441: 83ba5b7d3bde48b383df41792fc9c955a5a23bdb @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_8744: d356736d30be910191082e9535bee7f55303cd9e @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4441: e60d247eb359f044caf0c09904da14e39d7adca1 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8744/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration
  2018-04-18 23:41 [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration José Roberto de Souza
  2018-04-19  0:13 ` ✓ Fi.CI.BAT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4) Patchwork
  2018-04-19  2:08 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-04-19 12:50 ` Jani Nikula
  2018-04-19 20:12   ` Souza, Jose
  2018-04-20  9:33 ` [v2] " Paul Menzel
  2018-04-24  8:47 ` [PATCH v2] " Chris Wilson
  4 siblings, 1 reply; 9+ messages in thread
From: Jani Nikula @ 2018-04-19 12:50 UTC (permalink / raw)
  To: José Roberto de Souza, intel-gfx; +Cc: Rodrigo Vivi

On Wed, 18 Apr 2018, José Roberto de Souza <jose.souza@intel.com> wrote:
> If the initial fbdev configuration(intel_fbdev_initial_config()) runs and
> there still no sink connected it will cause
> drm_fb_helper_initial_config() to return 0 as no error happened(but
> internally the return is -EAGAIN).
> Because no framebuffer was allocated, when a sink is connected
> intel_fbdev_output_poll_changed() will not execute
> drm_fb_helper_hotplug_event() that would trigger another try to do the
> initial fbdev configuration.
>
> So here allowing drm_fb_helper_hotplug_event() to be executed when there
> is not frambebuffer allocated and fbdev was not setup yet.
>
> This issue also happens when a MST DP sink is connected since boot, as
> the MST topology is discovered in parallel if intel_fbdev_initial_config()
> is executed before the first sink MST is discovered it will cause this
> same issue.
>
> This is a follow up patch of
> https://patchwork.freedesktop.org/patch/196089/

What does this mean? Is that patch a required dependency? What?

> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425

People responded to v1, please ask them to test v2.

> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
>
> Changes from v1:
> - not creating a dump framebuffer anymore, instead just allowing
> drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.

Please look at git log in drm, and observe how we include the changelog
in the commit message itself.

BR,
Jani.

>
>  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 7d41d139341b..e9e02b58b7be 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
>  		return;
>  
>  	intel_fbdev_sync(ifbdev);
> -	if (ifbdev->vma)
> +	if (ifbdev->vma || ifbdev->helper.deferred_setup)
>  		drm_fb_helper_hotplug_event(&ifbdev->helper);
>  }

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration
  2018-04-19 12:50 ` [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration Jani Nikula
@ 2018-04-19 20:12   ` Souza, Jose
  0 siblings, 0 replies; 9+ messages in thread
From: Souza, Jose @ 2018-04-19 20:12 UTC (permalink / raw)
  To: intel-gfx, jani.nikula; +Cc: Vivi, Rodrigo

On Thu, 2018-04-19 at 15:50 +0300, Jani Nikula wrote:
> On Wed, 18 Apr 2018, José Roberto de Souza <jose.souza@intel.com>
> wrote:
> > If the initial fbdev configuration(intel_fbdev_initial_config())
> > runs and
> > there still no sink connected it will cause
> > drm_fb_helper_initial_config() to return 0 as no error happened(but
> > internally the return is -EAGAIN).
> > Because no framebuffer was allocated, when a sink is connected
> > intel_fbdev_output_poll_changed() will not execute
> > drm_fb_helper_hotplug_event() that would trigger another try to do
> > the
> > initial fbdev configuration.
> > 
> > So here allowing drm_fb_helper_hotplug_event() to be executed when
> > there
> > is not frambebuffer allocated and fbdev was not setup yet.
> > 
> > This issue also happens when a MST DP sink is connected since boot,
> > as
> > the MST topology is discovered in parallel if
> > intel_fbdev_initial_config()
> > is executed before the first sink MST is discovered it will cause
> > this
> > same issue.
> > 
> > This is a follow up patch of
> > https://patchwork.freedesktop.org/patch/196089/
> 
> What does this mean? Is that patch a required dependency? What?

No requirement, this is just a follow up patch of that one, that patch
was not accepted and Chris did a suggestion that was implemented in the
first version.

> 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
> 
> People responded to v1, please ask them to test v2.

Okay, I just asked people to test the version 2 but I'm also able to
reproduce the issue and it was already tested.

> 
> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > ---
> > 
> > Changes from v1:
> > - not creating a dump framebuffer anymore, instead just allowing
> > drm_fb_helper_hotplug_event() to execute when fbdev is not setup
> > yet.
> 
> Please look at git log in drm, and observe how we include the
> changelog
> in the commit message itself.

Okay, I will do that from now on.

> 
> BR,
> Jani.
> 
> > 
> >  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 7d41d139341b..e9e02b58b7be 100644
> > --- a/drivers/gpu/drm/i915/intel_fbdev.c
> > +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> > @@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct
> > drm_device *dev)
> >  		return;
> >  
> >  	intel_fbdev_sync(ifbdev);
> > -	if (ifbdev->vma)
> > +	if (ifbdev->vma || ifbdev->helper.deferred_setup)
> >  		drm_fb_helper_hotplug_event(&ifbdev->helper);
> >  }
> 
> 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [v2] drm/i915/fbdev: Enable late fbdev initial configuration
  2018-04-18 23:41 [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration José Roberto de Souza
                   ` (2 preceding siblings ...)
  2018-04-19 12:50 ` [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration Jani Nikula
@ 2018-04-20  9:33 ` Paul Menzel
  2018-04-23 14:05   ` Jani Nikula
  2018-04-24  8:47 ` [PATCH v2] " Chris Wilson
  4 siblings, 1 reply; 9+ messages in thread
From: Paul Menzel @ 2018-04-20  9:33 UTC (permalink / raw)
  To: Jose Souza; +Cc: intel-gfx, Rodrigo Vivi


[-- Attachment #1.1: Type: text/plain, Size: 2257 bytes --]

Dear Jose,


On 04/19/18 01:41, Souza, Jose wrote:
> If the initial fbdev configuration(intel_fbdev_initial_config()) runs and

Nit: Space before (.

> there still no sink connected it will cause
> drm_fb_helper_initial_config() to return 0 as no error happened(but
> internally the return is -EAGAIN).

Nit: Space before (.

> Because no framebuffer was allocated, when a sink is connected
> intel_fbdev_output_poll_changed() will not execute
> drm_fb_helper_hotplug_event() that would trigger another try to do the
> initial fbdev configuration.
> 
> So here allowing drm_fb_helper_hotplug_event() to be executed when there
> is not frambebuffer allocated and fbdev was not setup yet.

s/not/no/
s/setup/set up/

> This issue also happens when a MST DP sink is connected since boot, as
> the MST topology is discovered in parallel if intel_fbdev_initial_config()
> is executed before the first sink MST is discovered it will cause this
> same issue.
> 
> This is a follow up patch of

follow-up

> https://patchwork.freedesktop.org/patch/196089/
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
> 
> Changes from v1:
> - not creating a dump framebuffer anymore, instead just allowing
> drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.

s/setup/set up/

>   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 7d41d139341b..e9e02b58b7be 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
>   		return;
>   
>   	intel_fbdev_sync(ifbdev);
> -	if (ifbdev->vma)
> +	if (ifbdev->vma || ifbdev->helper.deferred_setup)
>   		drm_fb_helper_hotplug_event(&ifbdev->helper);
>   }
>   

Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>


Kind regards,

Paul


[-- Attachment #1.2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 5174 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [v2] drm/i915/fbdev: Enable late fbdev initial configuration
  2018-04-20  9:33 ` [v2] " Paul Menzel
@ 2018-04-23 14:05   ` Jani Nikula
  0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2018-04-23 14:05 UTC (permalink / raw)
  To: Paul Menzel, Jose Souza; +Cc: intel-gfx, Rodrigo Vivi

On Fri, 20 Apr 2018, Paul Menzel <pmenzel+intel-gfx@molgen.mpg.de> wrote:
> Dear Jose,
>
>
> On 04/19/18 01:41, Souza, Jose wrote:
>> If the initial fbdev configuration(intel_fbdev_initial_config()) runs and
>
> Nit: Space before (.
>
>> there still no sink connected it will cause
>> drm_fb_helper_initial_config() to return 0 as no error happened(but
>> internally the return is -EAGAIN).
>
> Nit: Space before (.
>
>> Because no framebuffer was allocated, when a sink is connected
>> intel_fbdev_output_poll_changed() will not execute
>> drm_fb_helper_hotplug_event() that would trigger another try to do the
>> initial fbdev configuration.
>> 
>> So here allowing drm_fb_helper_hotplug_event() to be executed when there
>> is not frambebuffer allocated and fbdev was not setup yet.
>
> s/not/no/
> s/setup/set up/
>
>> This issue also happens when a MST DP sink is connected since boot, as
>> the MST topology is discovered in parallel if intel_fbdev_initial_config()
>> is executed before the first sink MST is discovered it will cause this
>> same issue.
>> 
>> This is a follow up patch of
>
> follow-up
>
>> https://patchwork.freedesktop.org/patch/196089/
>> 
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
>> ---
>> 
>> Changes from v1:
>> - not creating a dump framebuffer anymore, instead just allowing
>> drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.
>
> s/setup/set up/
>
>>   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 7d41d139341b..e9e02b58b7be 100644
>> --- a/drivers/gpu/drm/i915/intel_fbdev.c
>> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
>> @@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
>>   		return;
>>   
>>   	intel_fbdev_sync(ifbdev);
>> -	if (ifbdev->vma)
>> +	if (ifbdev->vma || ifbdev->helper.deferred_setup)
>>   		drm_fb_helper_hotplug_event(&ifbdev->helper);
>>   }
>>   
>
> Tested-by: Paul Menzel <pmenzel@molgen.mpg.de>

Also from the bug,

Tested-by: frederik <frederik.schwan@linux.com> # 4.15.17
Tested-by: Ian Pilcher <arequipeno@gmail.com>

>
>
> Kind regards,
>
> Paul
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration
  2018-04-18 23:41 [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration José Roberto de Souza
                   ` (3 preceding siblings ...)
  2018-04-20  9:33 ` [v2] " Paul Menzel
@ 2018-04-24  8:47 ` Chris Wilson
  2018-04-24 14:50   ` Jani Nikula
  4 siblings, 1 reply; 9+ messages in thread
From: Chris Wilson @ 2018-04-24  8:47 UTC (permalink / raw)
  To: José Roberto de Souza, intel-gfx; +Cc: Rodrigo

Quoting José Roberto de Souza (2018-04-19 00:41:58)
> If the initial fbdev configuration(intel_fbdev_initial_config()) runs and
> there still no sink connected it will cause
> drm_fb_helper_initial_config() to return 0 as no error happened(but
> internally the return is -EAGAIN).
> Because no framebuffer was allocated, when a sink is connected
> intel_fbdev_output_poll_changed() will not execute
> drm_fb_helper_hotplug_event() that would trigger another try to do the
> initial fbdev configuration.
> 
> So here allowing drm_fb_helper_hotplug_event() to be executed when there
> is not frambebuffer allocated and fbdev was not setup yet.
> 
> This issue also happens when a MST DP sink is connected since boot, as
> the MST topology is discovered in parallel if intel_fbdev_initial_config()
> is executed before the first sink MST is discovered it will cause this
> same issue.
> 
> This is a follow up patch of
> https://patchwork.freedesktop.org/patch/196089/
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> ---
> 
> Changes from v1:
> - not creating a dump framebuffer anymore, instead just allowing
> drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.
> 
>  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 7d41d139341b..e9e02b58b7be 100644
> --- a/drivers/gpu/drm/i915/intel_fbdev.c
> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
> @@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
>                 return;
>  
>         intel_fbdev_sync(ifbdev);
> -       if (ifbdev->vma)
> +       if (ifbdev->vma || ifbdev->helper.deferred_setup)

Feels slightly dodgy, vma can only be set and deferred_setup only be
cleared at runtime, so at worst we may miss sending a hpd event during a
runtime configuration phase. Which is probably just as well.

What happens if we send two hpd events, and the first gets a deferred setup
that fails. Do we hit the previous error condition? At least we are not
hitting the condition of running the hotplug event while trying to do
the initial configuration, but does the deferred setup have the same
bugs?

>                 drm_fb_helper_hotplug_event(&ifbdev->helper);

I fear this is just poking the bear,
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration
  2018-04-24  8:47 ` [PATCH v2] " Chris Wilson
@ 2018-04-24 14:50   ` Jani Nikula
  0 siblings, 0 replies; 9+ messages in thread
From: Jani Nikula @ 2018-04-24 14:50 UTC (permalink / raw)
  To: Chris Wilson, José Roberto de Souza, intel-gfx; +Cc: Rodrigo

On Tue, 24 Apr 2018, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Quoting José Roberto de Souza (2018-04-19 00:41:58)
>> If the initial fbdev configuration(intel_fbdev_initial_config()) runs and
>> there still no sink connected it will cause
>> drm_fb_helper_initial_config() to return 0 as no error happened(but
>> internally the return is -EAGAIN).
>> Because no framebuffer was allocated, when a sink is connected
>> intel_fbdev_output_poll_changed() will not execute
>> drm_fb_helper_hotplug_event() that would trigger another try to do the
>> initial fbdev configuration.
>> 
>> So here allowing drm_fb_helper_hotplug_event() to be executed when there
>> is not frambebuffer allocated and fbdev was not setup yet.
>> 
>> This issue also happens when a MST DP sink is connected since boot, as
>> the MST topology is discovered in parallel if intel_fbdev_initial_config()
>> is executed before the first sink MST is discovered it will cause this
>> same issue.
>> 
>> This is a follow up patch of
>> https://patchwork.freedesktop.org/patch/196089/
>> 
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
>> Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
>> ---
>> 
>> Changes from v1:
>> - not creating a dump framebuffer anymore, instead just allowing
>> drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.
>> 
>>  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 7d41d139341b..e9e02b58b7be 100644
>> --- a/drivers/gpu/drm/i915/intel_fbdev.c
>> +++ b/drivers/gpu/drm/i915/intel_fbdev.c
>> @@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
>>                 return;
>>  
>>         intel_fbdev_sync(ifbdev);
>> -       if (ifbdev->vma)
>> +       if (ifbdev->vma || ifbdev->helper.deferred_setup)
>
> Feels slightly dodgy, vma can only be set and deferred_setup only be
> cleared at runtime, so at worst we may miss sending a hpd event during a
> runtime configuration phase. Which is probably just as well.
>
> What happens if we send two hpd events, and the first gets a deferred setup
> that fails. Do we hit the previous error condition? At least we are not
> hitting the condition of running the hotplug event while trying to do
> the initial configuration, but does the deferred setup have the same
> bugs?
>
>>                 drm_fb_helper_hotplug_event(&ifbdev->helper);
>
> I fear this is just poking the bear,
> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>

Thanks for the patch and the ack. Pushed. If it's not a fix, at least it
papers over the regression for now...

BR,
Jani.



> -Chris
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-04-24 14:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-18 23:41 [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration José Roberto de Souza
2018-04-19  0:13 ` ✓ Fi.CI.BAT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4) Patchwork
2018-04-19  2:08 ` ✓ Fi.CI.IGT: " Patchwork
2018-04-19 12:50 ` [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration Jani Nikula
2018-04-19 20:12   ` Souza, Jose
2018-04-20  9:33 ` [v2] " Paul Menzel
2018-04-23 14:05   ` Jani Nikula
2018-04-24  8:47 ` [PATCH v2] " Chris Wilson
2018-04-24 14:50   ` Jani Nikula

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.