All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] intel/gtt: unmap pages after rewriting GTT table.
@ 2011-01-11  1:17 Dave Airlie
  2011-01-11 13:28 ` Chris Wilson
  0 siblings, 1 reply; 4+ messages in thread
From: Dave Airlie @ 2011-01-11  1:17 UTC (permalink / raw)
  To: intel-gfx

This fixes a regression caused by the GTT rework that
450f2b3d51025a1749b694ee13f0e4e23ed58750 is part off.

On my ILK laptop with DMAR enabled I was seeing the occasional
DMAR warning.

The ordering in the previous code was to rewrite the GTT table
before unampping the pages and that makes sense to me.

Signed-off-by: Dave Airlie <airlied@redhat.com>
---
 drivers/char/agp/intel-gtt.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/char/agp/intel-gtt.c b/drivers/char/agp/intel-gtt.c
index 29ac6d4..bc8f759 100644
--- a/drivers/char/agp/intel-gtt.c
+++ b/drivers/char/agp/intel-gtt.c
@@ -1058,15 +1058,14 @@ static int intel_fake_agp_remove_entries(struct agp_memory *mem,
 		return -EINVAL;
 	}
 
-	if (USE_PCI_DMA_API && INTEL_GTT_GEN > 2)
-		intel_agp_unmap_memory(mem);
-
 	for (i = pg_start; i < (mem->page_count + pg_start); i++) {
 		intel_private.driver->write_entry(intel_private.scratch_page_dma,
 						  i, 0);
 	}
 	readl(intel_private.gtt+i-1);
 
+	if (USE_PCI_DMA_API && INTEL_GTT_GEN > 2)
+		intel_agp_unmap_memory(mem);
 	return 0;
 }
 
-- 
1.7.3.2

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

* Re: [PATCH] intel/gtt: unmap pages after rewriting GTT table.
  2011-01-11  1:17 [PATCH] intel/gtt: unmap pages after rewriting GTT table Dave Airlie
@ 2011-01-11 13:28 ` Chris Wilson
  2011-01-11 20:11   ` Dave Airlie
  0 siblings, 1 reply; 4+ messages in thread
From: Chris Wilson @ 2011-01-11 13:28 UTC (permalink / raw)
  To: Dave Airlie, intel-gfx

On Tue, 11 Jan 2011 11:17:16 +1000, Dave Airlie <airlied@gmail.com> wrote:
> This fixes a regression caused by the GTT rework that
> 450f2b3d51025a1749b694ee13f0e4e23ed58750 is part off.
> 
> On my ILK laptop with DMAR enabled I was seeing the occasional
> DMAR warning.
> 
> The ordering in the previous code was to rewrite the GTT table
> before unampping the pages and that makes sense to me.

Dave you mentioned on IRC that this is not sufficient to quieten DMAR,
right?  The unbind+unmap looks safer than unmap+unbind, so that seems to
be a good patch regardless.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

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

* Re: [PATCH] intel/gtt: unmap pages after rewriting GTT table.
  2011-01-11 13:28 ` Chris Wilson
@ 2011-01-11 20:11   ` Dave Airlie
  2011-01-11 23:12     ` [git pull] outstanding fixes for i915 from d-i-n Chris Wilson
  0 siblings, 1 reply; 4+ messages in thread
From: Dave Airlie @ 2011-01-11 20:11 UTC (permalink / raw)
  To: Chris Wilson; +Cc: intel-gfx

On Tue, Jan 11, 2011 at 11:28 PM, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Tue, 11 Jan 2011 11:17:16 +1000, Dave Airlie <airlied@gmail.com> wrote:
>> This fixes a regression caused by the GTT rework that
>> 450f2b3d51025a1749b694ee13f0e4e23ed58750 is part off.
>>
>> On my ILK laptop with DMAR enabled I was seeing the occasional
>> DMAR warning.
>>
>> The ordering in the previous code was to rewrite the GTT table
>> before unampping the pages and that makes sense to me.
>
> Dave you mentioned on IRC that this is not sufficient to quieten DMAR,
> right?  The unbind+unmap looks safer than unmap+unbind, so that seems to
> be a good patch regardless.
> -Chris
>

This patch needs to go to stable as it fixes 2.6.37 DMAR problems.

Separate problem is d-i-n, this code has changed around but the same idea
still applies and it fixes this particular problem. However d-i-n has
introduced another
DMAR error that I posted in the dmesg earlier. Granted d-i-n also
hangs and crashes
GPU randomly.

Dave.
> --
> Chris Wilson, Intel Open Source Technology Centre
>

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

* [git pull] outstanding fixes for i915 from d-i-n
  2011-01-11 20:11   ` Dave Airlie
@ 2011-01-11 23:12     ` Chris Wilson
  0 siblings, 0 replies; 4+ messages in thread
From: Chris Wilson @ 2011-01-11 23:12 UTC (permalink / raw)
  To: Dave Airlie; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 4567 bytes --]

Ah, Dave, I know why your systems have been behaving badly...

I'd been delaying to see if we can get closure on our broken eDP and
forgot the many serious regressions fixes I had queued for you.

I'm still tracking a SNB regression on top of this, which on my system is
related to the watermarks but QA see it elsewhere. However, this should
get most machines working again, better than ever before! ;-)

A side note for everybody else: If I've not picked up your patch or
commented upon it, please ping me.
-Chris

The following changes since commit 7bc4a4ce68f8c6d064ea949446852e996526f692:

  Merge branch 'for-linus-merged' of git://oss.sgi.com/xfs/xfs (2011-01-11 11:42:06 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel.git drm-intel-fixes

Chris Wilson (25):
      drm/i915/sdvo: Defer detection of output capabilities until probing
      drm/i915/panel: Only record the backlight level when it is enabled
      drm/i915/lvds: Always use 0 to disable the pfit controller
      drm/i915: Use the mappable sizes determined by GTT for consistency.
      drm/i915: Workaround erratum on i830 for TAIL pointer within last 2 cachelines
      agp/intel: Flush the chipset write buffers when changing GTT base
      drm/i915: add 'reset' parameter
      drm/i915: Remove impossible test
      drm/i915: Enforce write ordering through the GTT
      drm/i915: Handle ringbuffer stalls when flushing
      drm/i915: Mask USER interrupts on gen6 (until required)
      drm/i915/debugfs: Show the per-ring IMR
      drm/i915/ringbuffer: Simplify the ring irq refcounting
      drm/i915: Make the ring IMR handling private
      drm/i915: Propagate error from flushing the ring
      drm/i915: Include TLB miss overhead for computing WM
      drm/i915: Record the error batchbuffer on each ring
      drm/i915/gtt: Unmap the PCI pages after unbinding them from the GTT
      drm/i915: Periodically flush the active lists and requests
      drm/i915: Record AGP memory type upon error
      drm/i915/debugfs: Show all objects in the gtt
      drm/i915/execbuffer: Correctly clear the current object list upon EFAULT
      drm/i915/evict: Ensure we completely cleanup on failure
      drm/i915: If we hit OOM when allocating GTT pages, clear the aperture
      drm/i915/execbuffer: Reorder binding of objects to favour restrictions

David Müller (1):
      drm/i915/crt: Check for a analog monitor in case of DVI-I

Jesse Barnes (9):
      drm/i915: check eDP encoder correctly when setting modes
      drm/i915: make DP training try a little harder
      drm/i915: support overclocking on Sandy Bridge
      drm/i915: support low power watermarks on Ironlake
      drm/i915: avoid reading non-existent PLL reg on Ironlake+
      drm/i915: re-enable rc6 support for Ironlake+
      drm/i915: fix rc6 enabling around suspend/resume
      drm/i915: cleanup rc6 code
      drm/i915: detect & report PCH display error interrupts

Yuanhan Liu (2):
      drm/i915: fix calculation of eDP signal levels on Sandybridge
      drm/i915: fix the wrong latency value while computing wm0

 drivers/char/agp/intel-agp.h               |    2 +
 drivers/char/agp/intel-gtt.c               |    9 +
 drivers/gpu/drm/i915/i915_debugfs.c        |   87 +++++-
 drivers/gpu/drm/i915/i915_dma.c            |    8 -
 drivers/gpu/drm/i915/i915_drv.c            |    9 +
 drivers/gpu/drm/i915/i915_drv.h            |   24 +-
 drivers/gpu/drm/i915/i915_gem.c            |  156 +++++++---
 drivers/gpu/drm/i915/i915_gem_evict.c      |    9 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |  119 +++++---
 drivers/gpu/drm/i915/i915_gem_gtt.c        |   10 +-
 drivers/gpu/drm/i915/i915_irq.c            |  269 +++++++-----------
 drivers/gpu/drm/i915/i915_reg.h            |   95 ++++++-
 drivers/gpu/drm/i915/i915_suspend.c        |    8 +-
 drivers/gpu/drm/i915/intel_crt.c           |   30 ++-
 drivers/gpu/drm/i915/intel_display.c       |  434 ++++++++++++++++------------
 drivers/gpu/drm/i915/intel_dp.c            |   50 +++-
 drivers/gpu/drm/i915/intel_drv.h           |    3 +
 drivers/gpu/drm/i915/intel_fb.c            |   20 +-
 drivers/gpu/drm/i915/intel_lvds.c          |   14 +-
 drivers/gpu/drm/i915/intel_panel.c         |   31 ++
 drivers/gpu/drm/i915/intel_ringbuffer.c    |  255 ++++++++++++-----
 drivers/gpu/drm/i915/intel_ringbuffer.h    |   36 ++-
 drivers/gpu/drm/i915/intel_sdvo.c          |   33 +--
 23 files changed, 1078 insertions(+), 633 deletions(-)

-- 
Chris Wilson, Intel Open Source Technology Centre

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

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

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

end of thread, other threads:[~2011-01-11 23:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-11  1:17 [PATCH] intel/gtt: unmap pages after rewriting GTT table Dave Airlie
2011-01-11 13:28 ` Chris Wilson
2011-01-11 20:11   ` Dave Airlie
2011-01-11 23:12     ` [git pull] outstanding fixes for i915 from d-i-n Chris Wilson

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.