This makes it easier to catch leaks.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c
b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 89cbfab..bc593e3 100644
--- a
path, this patch cleans up that remaining pin.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index e5b6a92..a18a485 100644
--- a/drivers/gpu/drm/i915
This should have been in reply to patch 2, sorry...
On Fri, May 31, 2013 at 02:46:19PM -0700, Ben Widawsky wrote:
> This makes it easier to catch leaks.
>
> Signed-off-by: Ben Widawsky
> ---
> drivers/gpu/drm/i915/i915_gem_stolen.c | 2 +-
> 1 file changed, 1 insert
in_count for its
> > purposes. The purpose of this patch is purely to allow sanity checking
> > the pages_pin_count with a WARN_ON during free which seems sensible but
> > not strictly required.
>
> Yeah, silly me didn't read the code before sending a knee-jerk mail ;-)
On Sat, May 25, 2013 at 12:26:34PM -0700, Ben Widawsky wrote:
> Hello.
>
> I'm continuing to develop full PPGTT support for the i915 driver. This
> series is a follow-up to the previously posted RFC [1]. This series
> contains reworked versions of the unmerged patches (fing
15_gem_request {
> };
>
> struct drm_i915_file_private {
> + struct drm_file *base;
> + struct task_struct *task;
> + struct list_head link;
> struct {
> spinlock_t lock;
> struct list_head request_list;
> diff --git a/drivers/gpu/drm
96cd37..8497dc9 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1068,7 +1068,6 @@ typedef struct drm_i915_private {
> struct mutex modeset_restore_lock;
>
> struct i915_gtt gtt;
> -
> struct i915_gem_mm mm;
&
gt; xonotic-linux64: 1032 objects, 569933824 bytes (46874624 active, 383545344
> inactive, 6508544 unbound)
>
> v2: Use existing drm->filelist as pointed out by Ben.
> v3: Not even stashing the task_struct is required as Ben pointed out
> drm_file->pid.
>
> Signed-off-by:
try to find out if the kick
> helped."
>
> v2: Make sure we catch DoS attempts with batches full of invalid WAITs.
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=65394
> Signed-off-by: Chris Wilson
> Cc: Mika Kuoppala
> Cc: Ben Widawsky
> ---
>
hit it probably implies the timeout value is too
> low."
>
> v2: Make sure we don't even incur the KICK cost whilst waiting.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65394
> Signed-off-by: Chris Wilson
> Cc: Mika Kuoppala
> Cc: Ben Widawsky
>
to be consistent with the
> existing mess though. And in case someone feels like fixing it all up.
>
> This has been errornously enabled in
>
> commit 12638c57f31952127c734c26315e1348fa1334c2
> Author: Ben Widawsky
> Date: Tue May 28 19:22:31 2013 -0700
>
> drm/i
On Wed, Jun 12, 2013 at 07:18:38PM +0200, Daniel Vetter wrote:
> On Wed, Jun 12, 2013 at 10:13:41AM -0700, Ben Widawsky wrote:
> > On Wed, Jun 12, 2013 at 01:37:21PM +0200, Daniel Vetter wrote:
> > > The code to handle it is broken - there's simply no code to clear CS
>
On Wed, Jun 12, 2013 at 08:32:44PM +0200, Daniel Vetter wrote:
> On Wed, Jun 12, 2013 at 8:19 PM, Ben Widawsky wrote:
> > On Wed, Jun 12, 2013 at 07:18:38PM +0200, Daniel Vetter wrote:
> >> On Wed, Jun 12, 2013 at 10:13:41AM -0700, Ben Widawsky wrote:
> >> > On W
ris Wilson, Ian Romanick)
>
> Signed-off-by: Mika Kuoppala
>
I don't have time to do a proper review before Daniel wants to merge
these, and Chris has already reviewed it.
1-6 are:
Acked-by: Ben Widawsky
I don't really like the behavior of 7. At least, I'd like to mak
bled.
>
> Signed-off-by: Chris Wilson
>
FWIW: I have some patches in my PPGTT series which I think accomplish the same
thing with a nicer end result.
See the, "use hw_init" patch. I've fine tuned things a bit since then
too, iirc.
[snip]
--
Ben
enable sequence, so we can reinstate the WARN lost in
>
> commit eda63ffb906c2fb3b609a0e87aeb63c0f25b9e6b
> Author: Ben Widawsky
> Date: Tue May 28 19:22:26 2013 -0700
>
> drm/i915: Add PM regs to pre/post install
>
> Note that there's some room for futur
On Wed, Jun 12, 2013 at 11:42:56PM +0100, Chris Wilson wrote:
> On Wed, Jun 12, 2013 at 02:15:48PM -0700, Ben Widawsky wrote:
> > On Mon, Jun 10, 2013 at 01:54:50PM +0100, Chris Wilson wrote:
> > > In particular, we were reseting our GEM tracking before even attempting
> >
The ring names already have "ring" in it.
CC: Chris Wilson
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_irq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 7505dd0..e8bec5b 10
No users yet
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 31 +++
1 file changed, 31 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 893007a..005358f 100644
--- a/drivers/gpu/drm
On Mon, Jun 24, 2013 at 10:01:33AM -0700, Ben Widawsky wrote:
> No users yet
>
> Signed-off-by: Ben Widawsky
I didn't mean to send this yet. Please ignore.
--
Ben Widawsky, Intel Open Source Technology Center
___
Intel-gfx mailing
st use 18 to be safe. We can trim it later.
Reported-by: "Azad, Vinit"
Cc: sta...@vger.kernel.org
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
drivers/gpu/drm/i915/i915_reg.h | 9 +
2 files changed, 2 insertions(+), 9 deletions(-)
dif
ted-by: "Azad, Vinit"
Cc: sta...@vger.kernel.org
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
drivers/gpu/drm/i915/i915_reg.h | 9 +
2 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_con
comment to the code. (Jesse & Paulo)
Reported-by: "Azad, Vinit"
Cc: sta...@vger.kernel.org
Reviewed-by: Jesse Barnes
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
drivers/gpu/drm/i915/i915_reg.h | 15 +++
2 files changed, 8 i
ed-off-by: Ville Syrjälä
>
Series is:
Reviewed-by: Ben Widawsky
--
Ben Widawsky, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
in
order to change cache levels. This should no longer be the case for unaffected
VMs (I think). The same may be true with domain tracking.
## dmabuf/prime integration
I haven't looked into what's missing to support it. If I'm lucky, it just works.
With that, if you haven't a
This helps when we have per VM buffer capturing.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_irq.c | 69 +++--
1 file changed, 38 insertions(+), 31 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
Not only was there an extra, but since we now kzalloc the error state,
we don't need either.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_irq.c | 6 --
1 file changed, 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 20
Jesse Barnes
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 2 --
drivers/gpu/drm/i915/i915_gem_gtt.c | 9 ++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 7940cbe..b709712 100644
This will help keep the next patch cleaner which will conditionally clear
the guard page, and use 0 num_entries when not actually clear space for
guard page.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu
-by: Ben Widawsky
---
drivers/gpu/drm/drm_mm.c| 122 ++---
drivers/gpu/drm/i915/i915_gem.c | 4 +-
include/drm/drm_mm.h| 148
3 files changed, 161 insertions(+), 113 deletions(-)
diff --git a/drivers/gpu/drm
do_switch.
CC: Mika Kuoppala
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_context.c | 17 +
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_context.c
b/drivers/gpu/drm/i915/i915_gem_context.c
index ff47145..644df91
more than 1 location.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 3 ++-
drivers/gpu/drm/i915/i915_gem.c | 4 ++--
drivers/gpu/drm/i915/i915_gem_gtt.c | 27 ++-
3 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/d
sabled contexts. Or else it blows up pre
gen6 (Ben)
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gem.c | 15 ---
drivers/gpu/drm/i915/i915_gem_context.c | 23 ---
3 files changed, 25 insertions(+
15: fix ILK GPU reset for render
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.c | 29 -
drivers/gpu/drm/i915/i915_gem.c | 2 ++
drivers/gpu/drm/i915/intel_ringbuffer.c | 3 ++-
3 files changed, 12 insertions(+), 22 deletions(-)
diff --g
k the potential to easily use contexts on GEN5 since I believe our
odds of running PPGTT on GEN5 are fairly close to 0)
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 2 ++
drivers/gpu/drm/i915/i915_gem.c | 14 --
drivers/gpu/drm/i915/i915_gem_gtt.c
doing this, make the ppgtt init function a bit more
generic
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 4 +--
drivers/gpu/drm/i915/i915_gem.c | 36 ++---
drivers/gpu/drm/i915/i915_gem_gtt.c | 63 +
3 files change
no PPGTT, and we
disable PPGTT on gen6 with VT-D. Since Mesa depends on gen6+ having HW
contexts, this is a requirement.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_dma.c | 3 ++-
drivers/gpu/drm/i915/i915_gem.c | 6 +-
drivers/gpu/drm/i915/i915_gem_gtt.c | 4 +++-
3
ff-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 20 +++-
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 16a8486..f56e75b 100644
--- a/drivers/gpu/drm/i915/i915_gem_gtt.c
on't clean PPGTT up on the
failure paths, leave it to unref.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_dma.c | 2 --
drivers/gpu/drm/i915/i915_drv.h | 4 +--
drivers/gpu/drm/i915/i915_gem.c | 49 -
drive
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gem_gtt.c | 45 -
2 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index c
A previous patch had set up the ppgtt and ggtt to use the same scratch
page, but still kept around both pointers. Kill it, it's not needed and
gets in our way for upcoming cleanups.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 1 -
drivers/gpu/drm/i915/i915_gem_
There isn't any special reason to do this other than it makes it obvious
that the two members are connected.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 6 --
drivers/gpu/drm/i915/i915_gem_gtt.c | 17 -
2 files changed, 12 insertions(+
Just for compactness.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_gtt.c | 36 +++-
1 file changed, 15 insertions(+), 21 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c
b/drivers/gpu/drm/i915/i915_gem_gtt.c
index 746b649..bb4ccb5
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c| 2 +-
drivers/gpu/drm/i915/i915_drv.h| 48 +++--
drivers/gpu/drm/i915/i915_gem_stolen.c | 20 +++---
drivers/gpu/drm/i915/intel_display.c | 6 ++---
drivers/gpu/drm/i915
ppgtt/mm
slightly (albeit, ever so) easier.
Reviewed-by: Kenneth Graunke
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 6 ++
drivers/gpu/drm/i915/i915_gem_gtt.c | 21 -
2 files changed, 10 insertions(+), 17 deletions(-)
diff --git a/drivers/gp
. Eventually we'll ween ourselves off of using
this except in cases where we obviously want the GGTT (like display).
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c | 4 +-
drivers/gpu/drm/i915/i915_drv.h | 48 ++--
drivers/gpu/drm/i915/i915_gem.c
for file in `ls drivers/gpu/drm/i915/*.c` ; do
sed -i "s/mm.gtt_mtrr/gtt.mtrr/" $file;
done
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_dma.c | 8
drivers/gpu/drm/i915/i915_drv.h | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/d
for file in `ls drivers/gpu/drm/i915/*.c` ; do
sed -i "s/mm.aliasing/gtt.aliasing/" $file;
done
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c| 4 ++--
drivers/gpu/drm/i915/i915_dma.c| 2 +-
drivers/gpu/drm/i915/i915_drv.h
It doesn't apply to generic VMA, so it belongs with the gtt.
for file in `ls drivers/gpu/drm/i915/*.c` ; do
sed -i "s/mm.stolen_base/gtt.stolen_base/" $file;
done
for file in `ls drivers/gpu/drm/i915/*.c` ; do
sed -i "s/mm.stolen/gtt.stolen/" $file;
st is accurate because we
already have a member in place to access our global GTT. By porting that
to use our list (which assumes the GGTT is always the first entry) we
can verify a decent amount of the code is working correct.
NOTE: to do this, we must initialize the list quite early.
Signed-off-by
;d hope one day this becomes
almost irrelvant.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_dma.c| 4 ++--
drivers/gpu/drm/i915/i915_drv.h| 3 +--
drivers/gpu/drm/i915/i915_gem.c| 4 ++--
drivers/gpu/drm/i915/i915_gem_evict.c | 10 +-
drivers/gpu/drm
_create_block(), both related to stolen memory.
As a side note, this patch has is able to leverage all the existing
drm_mm_put_block because the node is still kzalloc'd. When the
aforementioned VMA code comes into play, that too has to change.
Signed-off-by: Ben Widawsky
---
driver
lso opted to move the comments out of line a bit so one can get a
better picture of what the various lists do.
v2: Leave the bound list as a global one. (Chris, indirectly)
CC: Chris Wilson
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c| 11
driver
gtt_offset has always been == gtt_space->start. This makes an upcoming
change much easier to swallow.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c| 9 +++---
drivers/gpu/drm/i915/i915_drv.h| 7
drivers/gpu/drm/i915/i915_gem.c|
v2: s/i915_obj/i915_gem_obj (Chris)
v3: Only move an object to the now global unbound list if there are no
more VMAs for the object which are bound into a VM (ie. the list is
empty).
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h| 30 ++-
drivers/gpu/
This will be handy when we add VMs. It's not strictly, necessary, but it
will make the code much cleaner.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c| 26 +--
drivers/gpu/drm/i915/i915_drv.h| 21 +
drivers/gpu/drm/i915/i915_
Remove the obj->gtt_space. See if it still works. This validates that
what we did in part 1 was correct.
BISECT WARNING: This patch was not meant for bisect. If it does end up
upstream, it should be included in the 3 part series for creating the
VMA.
Signed-off-by: Ben Widawsky
---
drivers/
other address space should ever modify these flags.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 8fe5f4e..83e2eb3 100644
--- a/dr
real world system grows significantly
we'll have to focus on only capturing the guilty VM, or else it's likely
there won't be enough space for error capture.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c | 8 +--
drivers/gpu/drm/i915/i915_drv.h | 4
hange much easier to understand.
v2: only bump GGTT LRU in i915_gem_object_set_to_gtt_domain (Chris)
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c| 49 ++
drivers/gpu/drm/i915/i915_drv.h| 5 ++--
drivers/gpu/drm/i915/i915_gem.c
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_irq.c | 53 -
1 file changed, 37 insertions(+), 16 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 28880bf..e1653fd 100644
--- a/drivers/gpu/drm
This is simply obj->active for now, but will serve a purpose when we
track activity per vma.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h| 1 +
drivers/gpu/drm/i915/i915_gem.c| 18 --
drivers/gpu/drm/i915/i915_gem_context.c|
Probably need to squash whole thing, or just the inactive part, tbd...
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 14 ++--
drivers/gpu/drm/i915/i915_gem.c | 47 -
2 files changed, 35 insertions(+), 26 deletions(-)
diff
This allows us to be aware of all the VMAs leftover and teardown, and is
useful for debug. I suspect it will prove even more useful later.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 2 ++
drivers/gpu/drm/i915/i915_gem.c | 4
2 files changed, 6 insertions(+)
diff
s the request free lastly.
Without this change, we cannot guarantee to we don't still have active
objects in the VM.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem.c | 13 ++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_gem.c
ned-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gem.c | 28
drivers/gpu/drm/i915/i915_gem_context.c | 1 +
3 files changed, 30 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gp
v2: Big conflict resolution on Damien's DEV_INFO_FOR_EACH stuff
v3: Resolved vebox addition
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.c | 28 ++--
drivers/gpu/drm/i915/i915_drv.h | 11 ---
2 files changed, 26 insertions(+), 13 dele
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 4 ++--
drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index f17d825..bead414 100644
--- a
If we want to use contexts in more abstract terms (specifically with
PPGTT in mind), we need to allow them to be specified for any ring.
NOTE: This commit requires an update to intel-gpu-tools to make it not
fail.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_context.c| 56
We'll be doing a bit more stuff with each file, so having our own open
function should make things clean.
This also allows us to easily add conditionals for stuff we don't want
to do when we don't have HW contexts.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_dma
it was in (mid context write,
for example), later restoring the context is a bad idea. By setting the
flag to not initialized, the next load of that context will not restore
the state, and thus on the subsequent switch away from the context will
overwrite the old data.
Signed-off-by: Be
With multiple rings having a last context, we must now unreference these
contexts.
This could be squashed if desired since it leaves the last patch broken.
However, because it was a bit tricky to catch, I've left it separated
for primarily review purposed
Signed-off-by: Ben Wid
an example, if we have:
RCS BCS
ctxA
ctx A
ctx B
ctxB
Without tracking the last ring B ran on, we wouldn't know to switch the
address space on BCS in the last row.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 1 +
dr
bject, try calling the shrinker
once to see if it's not possible to carry on.
v2: Updated to address Mika's recent context guilty changes
Some more changes around this come up in later patches as well.
Signed-off-by: Ben Widawsky
Conflicts:
drivers/gpu/drm/i915/i915_gem_context
At one time I was planning to call enable for all PPGTTs. I dropped
this, however I kept around this change because it looks better to me.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 2 +-
drivers/gpu/drm/i915/i915_gem.c | 4 +++-
drivers/gpu/drm/i915
s are stable.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
b/drivers/gpu/drm/i915/i915_debugfs.c
index 60d2a94..15f29de 100644
--- a/drivers/gpu/drm/i915/i915_debu
need to use
ctx_id in certain places. This will be addressed in a subsequent patch.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h| 2 ++
drivers/gpu/drm/i915/i915_gem_context.c| 4 +---
drivers/gpu/drm/i915/i915_gem_execbuffer.c | 24
3
We won't be calling enable() for all PPGTTs. We do need to write PDEs
for all PPGTTs however. By moving the writing to init (which is called
for all PPGTTs) we should accomplish this.
TODO: Eventually, we should allocate the page tables on demand.
Signed-off-by: Ben Widawsky
---
driver
In order to do the full context switch with address space, it's
convenient to have a way to switch the address space. We already have
this in our code - just pull it out to be called by the context switch
code later.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h
The docs seem to suggest this is the appropriate method (though it
doesn't say so outright). We certainly must do this for switching VMs on
the fly, since synchronizing the rings to MMIO updates isn't acceptable.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem_
Pin doesn't fit with PPGTT since the interface doesn't allow for the
context for which we want to pin.
Full PPGTT will bring a new "soft pin" interface. The semantics of which
will probably take some time to iron out.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm
asted, whatever).
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 2 ++
drivers/gpu/drm/i915/i915_gem.c | 17 -
drivers/gpu/drm/i915/i915_gem_gtt.c | 9 +++--
drivers/gpu/drm/i915/i915_irq.c | 3 ---
drivers/gpu/drm/i915/i915_trace.h
This requires doing an actual switch of the page tables during the
context switch/execbuf.
Along the way, cut away as much "aliasing" ppgtt as possible
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_gem.c| 22 +-
drivers/gp
We have all the info earlier now, so we may as well avoid the excess
lookup.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h| 5 ++---
drivers/gpu/drm/i915/i915_gem.c| 2 +-
drivers/gpu/drm/i915/i915_gem_context.c| 21 ++---
drivers
Dump the aliasing PPGTT with it. The aliasing PPGTT should actually
always be empty.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c | 3 +-
drivers/gpu/drm/i915/i915_drv.h | 1 +
drivers/gpu/drm/i915/i915_gem_gtt.c | 60 +
3 files
vm->insert_entries was good enough. We can bring this function back
later if needed.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_drv.h | 5 -
drivers/gpu/drm/i915/i915_gem_gtt.c | 22 --
2 files changed, 27 deletions(-)
diff --git a/drivers/gpu/
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c | 29 -
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
b/drivers/gpu/drm/i915/i915_debugfs.c
index 2dfa784..20d6265 100644
--- a/drivers/gpu/drm
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c | 81 +
1 file changed, 81 insertions(+)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c
b/drivers/gpu/drm/i915/i915_debugfs.c
index 20d6265..6bbb602 100644
--- a/drivers/gpu/drm/i915
As of now (and this may change) we can't have aliasing PPGTT anymore (it
just won't happen). We do still have the aliasing ppgtt internally
though so we can use that to tell userspace if we have full PPGTT.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_dma.c | 7 +-
When originally implementing HW contexts it was not clear if we'd
strongly associate a context with a ring. Now it is clear, a context
will not belong to a ring. We've removed all remnants of it's usage. So
drop it completely now.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/
On Thu, Jun 27, 2013 at 04:31:02PM -0700, Ben Widawsky wrote:
> This requires doing an actual switch of the page tables during the
> context switch/execbuf.
>
> Along the way, cut away as much "aliasing" ppgtt as possible
>
> Signed-off-by: Ben Widawsky
> ---
>
I915_WRITE_IMR(ring, ~0);
> I915_WRITE(GEN6_PMIMR, pm_imr | ring->irq_enable_mask);
> POSTING_READ(GEN6_PMIMR);
> }
> - spin_unlock_irqrestore(&dev_priv->rps.lock, flags);
> + spin_unlock_irqrestore(&dev_priv->irq_lock, flags);
fer irq refcounts without causing a massive confusion, but
> that's for the next patch.
>
> Signed-off-by: Daniel Vetter
Patches 14-17 are:
Reviewed-by: Ben Widawsky
> ---
> drivers/gpu/drm/i915/i915_dma.c | 1 -
> drivers/gpu/drm/i915/i915_drv.h | 8 +++
Forgot the repo:
http://cgit.freedesktop.org/~bwidawsk/drm-intel/log/?h=ppgtt
On Thu, Jun 27, 2013 at 04:30:01PM -0700, Ben Widawsky wrote:
> First, I don't think this whole series is ready for merge yet. It is
> however ready for a review, and I think a lot of the prep patches in t
ould
guess. We only seem to do one in postinstall. If this change was
intentional, I think we should get Jesse to explain the origin of the
original double clear.
--
Ben Widawsky, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
ity, and I think
we'd want separate enable_masks for pm/gt to make it worthwhile to use
separate refcounts.
Anyway, can you add a comment in the code about what irq_refcount does.
with that, it's
Reviewed-by: Ben Widawsky
>
> Signed-off-by: Daniel Vetter
> ---
> driver
On Wed, Jun 12, 2013 at 08:32:44PM +0200, Daniel Vetter wrote:
> On Wed, Jun 12, 2013 at 8:19 PM, Ben Widawsky wrote:
> > On Wed, Jun 12, 2013 at 07:18:38PM +0200, Daniel Vetter wrote:
> >> On Wed, Jun 12, 2013 at 10:13:41AM -0700, Ben Widawsky wrote:
> >> > On W
; I915_WRITE(RING_IMR(BLT_RING_BASE), 0);
>
> - /* and GT */
> - I915_WRITE(GTIMR, 0x);
> - I915_WRITE(GTIER, 0x0);
> - POSTING_READ(GTIER);
> + gen5_gt_irq_preinstall(dev);
>
> I915_WRITE(DPINVGTT, 0xff);
>
> --
> 1.8.1.4
>
> __
age faults are. The one time I tried to
turn it on previously, I remember getting a hard hang, but my memory if very
fuzzy.
Putt this out there for review, and hopefully for Paul to test as soon
as he has something read.
Ben Widawsky (6):
drm/i915: Faults for scratch PTEs
drm/i915: Debugfs fo
Using a new "debug_flags" we'll be able to configure some options which
make it easier for user space to quickly identify when there is a bug in
their code.
There is no way to yet turn it on.
Signed-off-by: Ben Widawsky
---
drivers/gpu/drm/i915/i915_debugfs.c | 1 +
drive
201 - 300 of 3830 matches
Mail list logo