public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] drm/i915: Atomic sprites v3
@ 2014-02-13 15:42 ville.syrjala
  2014-02-13 15:42 ` [PATCH 1/5] drm/i915: Fix scanout position for real ville.syrjala
                   ` (8 more replies)
  0 siblings, 9 replies; 29+ messages in thread
From: ville.syrjala @ 2014-02-13 15:42 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

OK, so Daniel convinced me that the check+wait thing I used earlier
wasn't really safe. I then decided that the only to make it safe it
open coding the wait_for_event() mysefl, and after doing that I
realized that we don't even need the silly vbl_received thingy, and
just a wait queue + DSL check is enough. Let's see if Daniel can
tear this one to shreds too :)

Oh and I also did some more digging to the scanline counter + vblank
interrupt mess, and decided that all my earlier hacks were crap. The
solution was so simple once I started to look at the pixel counter
values on gen4. I got inspired to have another look at this mess
after Imre did some clock based vblank interrupt timing measurements
on his VLV. Art confirmed my findings, so it should all be good now,
no ugly hacks included.

There is one tiny race window on gen2. That's caused by the fact that
we only have the frame start interrupt there, and scanline counter
increments slightly after the interrupt is triggered. So if we would
extremely unlucky we might wake up, check the DSL, and determine we
need to sleep more. But at this time we don't use the atomic update
mechanism on gen2, and I think the windows is so small that we should
be able to ignore it. Also the 1ms timeout would anyway prevent us from
sleeping another full frame. So if it ever becomes a problem, we can
try to think of something to overcome it, but at this point it doesn't
seem worth the effort.

Ville Syrjälä (5):
  drm/i915: Fix scanout position for real
  drm/i915: Add intel_get_crtc_scanline()
  drm/i915: Make sprite updates atomic
  drm/i915: Perform primary enable/disable atomically with sprite
    updates
  drm/i915: Add pipe update trace points

 drivers/gpu/drm/i915/i915_irq.c      | 137 ++++++++++++------------
 drivers/gpu/drm/i915/i915_trace.h    |  77 ++++++++++++++
 drivers/gpu/drm/i915/intel_display.c |   2 +
 drivers/gpu/drm/i915/intel_drv.h     |   3 +
 drivers/gpu/drm/i915/intel_sprite.c  | 195 ++++++++++++++++++++++++++++-------
 5 files changed, 306 insertions(+), 108 deletions(-)

-- 
1.8.3.2

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

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

end of thread, other threads:[~2014-04-09 15:08 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-13 15:42 [PATCH v3 0/5] drm/i915: Atomic sprites v3 ville.syrjala
2014-02-13 15:42 ` [PATCH 1/5] drm/i915: Fix scanout position for real ville.syrjala
2014-03-14  6:16   ` akash goel
2014-04-01 10:36     ` Ville Syrjälä
2014-02-13 15:42 ` [PATCH v3 2/5] drm/i915: Add intel_get_crtc_scanline() ville.syrjala
2014-02-14 12:05   ` [PATCH v4 " ville.syrjala
2014-02-13 15:42 ` [PATCH v4 3/5] drm/i915: Make sprite updates atomic ville.syrjala
2014-02-13 16:01   ` Chris Wilson
2014-02-13 16:43     ` Ville Syrjälä
2014-02-13 19:42     ` [PATCH v5 " ville.syrjala
2014-02-14 12:06       ` [PATCH v6 " ville.syrjala
2014-02-14 12:50         ` [PATCH v7 " ville.syrjala
2014-03-07 13:42           ` [PATCH v8 " ville.syrjala
2014-03-07 15:57             ` Jesse Barnes
2014-02-13 15:42 ` [PATCH v2 4/5] drm/i915: Perform primary enable/disable atomically with sprite updates ville.syrjala
2014-02-13 15:42 ` [PATCH v3 5/5] drm/i915: Add pipe update trace points ville.syrjala
2014-02-13 19:43   ` [PATCH v4 " ville.syrjala
2014-02-14 12:07 ` [PATCH 6/5] drm/i915: Add a small adjustment to the pixel counter on interlaced modes ville.syrjala
2014-02-18 12:04 ` [PATCH 7/5] drm/i915: Improve gen3/4 frame counter ville.syrjala
2014-02-18 12:04   ` [PATCH 8/5] drm/i915: Fix gen2 scanline counter ville.syrjala
2014-02-20 11:12     ` [PATCH v2 " ville.syrjala
2014-02-18 12:04   ` [PATCH 9/5] drm/i915: Draw a picture about video timings ville.syrjala
2014-02-20 11:14     ` [PATCH v2 " ville.syrjala
2014-02-20 13:42       ` Imre Deak
2014-02-18 14:16   ` [PATCH 7/5] drm/i915: Improve gen3/4 frame counter Imre Deak
2014-02-18 14:41     ` Ville Syrjälä
2014-02-18 15:11       ` Imre Deak
2014-04-09 15:03 ` [PATCH v3 0/5] drm/i915: Atomic sprites v3 sourab gupta
2014-04-09 15:08 ` akash goel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox