* [PATCH] drm/i915: Fixup legacy plane->crtc link for initial fb config
@ 2015-03-25 17:30 Daniel Vetter
2015-03-26 12:08 ` Jani Nikula
0 siblings, 1 reply; 2+ messages in thread
From: Daniel Vetter @ 2015-03-25 17:30 UTC (permalink / raw)
To: Intel Graphics Development
Cc: Josh Boyer, Daniel Vetter, LKML, DRI Development, Daniel Vetter,
Linus Torvalds
This is a very similar bug in the load detect code fixed in
commit 9128b040eb774e04bc23777b005ace2b66ab2a85
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Tue Mar 3 17:31:21 2015 +0100
drm/i915: Fix modeset state confusion in the load detect code
But this time around it was the initial fb code that forgot to update
the plane->crtc pointer. Otherwise it's the exact same bug, with the
exact same restrains (any set_config call/ioctl that doesn't disable
the pipe papers over the bug for free, so fairly hard to hit in normal
testing). So if you want the full explanation just go read that one
over there - it's rather long ...
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Josh Boyer <jwboyer@fedoraproject.org>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
This is the version for -next. The one for -fixes just needs an
s/primary/intel_crtc->base.primary/ and some fudge in the diff. I just
want to apply this in both trees since with all the cherry-picking the
conflicts are fun already and with this patch in both places we can
just go with the code in -next.
Cheers, Daniel
---
drivers/gpu/drm/i915/intel_display.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index ceb2e61b4c91..cb508542c6ab 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2594,6 +2594,7 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc,
primary->fb = &plane_config->fb->base;
primary->state->crtc = &intel_crtc->base;
+ primary->crtc = &intel_crtc->base;
update_state_fb(primary);
return;
@@ -2627,6 +2628,7 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc,
drm_framebuffer_reference(c->primary->fb);
primary->fb = c->primary->fb;
primary->state->crtc = &intel_crtc->base;
+ primary->crtc = &intel_crtc->base;
update_state_fb(intel_crtc->base.primary);
obj->frontbuffer_bits |= INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
break;
--
2.1.4
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] drm/i915: Fixup legacy plane->crtc link for initial fb config
2015-03-25 17:30 [PATCH] drm/i915: Fixup legacy plane->crtc link for initial fb config Daniel Vetter
@ 2015-03-26 12:08 ` Jani Nikula
0 siblings, 0 replies; 2+ messages in thread
From: Jani Nikula @ 2015-03-26 12:08 UTC (permalink / raw)
To: Intel Graphics Development
Cc: Josh Boyer, Daniel Vetter, LKML, DRI Development, Daniel Vetter,
Linus Torvalds
On Wed, 25 Mar 2015, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
> This is a very similar bug in the load detect code fixed in
>
> commit 9128b040eb774e04bc23777b005ace2b66ab2a85
> Author: Daniel Vetter <daniel.vetter@ffwll.ch>
> Date: Tue Mar 3 17:31:21 2015 +0100
>
> drm/i915: Fix modeset state confusion in the load detect code
>
> But this time around it was the initial fb code that forgot to update
> the plane->crtc pointer. Otherwise it's the exact same bug, with the
> exact same restrains (any set_config call/ioctl that doesn't disable
> the pipe papers over the bug for free, so fairly hard to hit in normal
> testing). So if you want the full explanation just go read that one
> over there - it's rather long ...
>
> Cc: Matt Roper <matthew.d.roper@intel.com>
> Cc: Linus Torvalds <torvalds@linux-foundation.org>
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Josh Boyer <jwboyer@fedoraproject.org>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
> ---
> This is the version for -next. The one for -fixes just needs an
> s/primary/intel_crtc->base.primary/ and some fudge in the diff. I just
> want to apply this in both trees since with all the cherry-picking the
> conflicts are fun already and with this patch in both places we can
> just go with the code in -next.
I've also picked this up from -next to drm-intel-fixes.
BR,
Jani.
>
> Cheers, Daniel
> ---
> drivers/gpu/drm/i915/intel_display.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index ceb2e61b4c91..cb508542c6ab 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2594,6 +2594,7 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc,
>
> primary->fb = &plane_config->fb->base;
> primary->state->crtc = &intel_crtc->base;
> + primary->crtc = &intel_crtc->base;
> update_state_fb(primary);
>
> return;
> @@ -2627,6 +2628,7 @@ intel_find_plane_obj(struct intel_crtc *intel_crtc,
> drm_framebuffer_reference(c->primary->fb);
> primary->fb = c->primary->fb;
> primary->state->crtc = &intel_crtc->base;
> + primary->crtc = &intel_crtc->base;
> update_state_fb(intel_crtc->base.primary);
> obj->frontbuffer_bits |= INTEL_FRONTBUFFER_PRIMARY(intel_crtc->pipe);
> break;
> --
> 2.1.4
>
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-03-26 12:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-25 17:30 [PATCH] drm/i915: Fixup legacy plane->crtc link for initial fb config Daniel Vetter
2015-03-26 12:08 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox