[Intel-gfx] [PATCH] sna: Partly revert "sna: Compilation fixes for stable distros"

Chris Wilson chris at chris-wilson.co.uk
Sat Jun 6 04:33:23 PDT 2015


On Sat, Jun 06, 2015 at 10:03:19AM +0200, Sedat Dilek wrote:
> On Fri, Jun 5, 2015 at 4:51 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> > On Fri, Jun 05, 2015 at 04:39:32PM +0200, Sedat Dilek wrote:
> >> On Fri, Jun 5, 2015 at 4:31 PM, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> >> > On Fri, Jun 05, 2015 at 04:23:36PM +0200, Sedat Dilek wrote:
> >> >> Fixes a problem having no mouse cursor in the LightDM login-screen
> >> >> on Ubuntu/precise (see [1]).
> >> >>
> >> >> [1] http://lists.freedesktop.org/archives/intel-gfx/2015-June/068096.html
> >> >>
> >> >> Fixes: 7d30ccea214b ("sna: Compilation fixes for stable distros")
> >> >> Signed-off-by: Sedat Dilek <sedat.dilek at gmail.com>
> >> >> ---
> >> >>  src/sna/kgem.c | 3 +--
> >> >>  1 file changed, 1 insertion(+), 2 deletions(-)
> >> >>
> >> >> diff --git a/src/sna/kgem.c b/src/sna/kgem.c
> >> >> index de604b0f3d77..720644b26750 100644
> >> >> --- a/src/sna/kgem.c
> >> >> +++ b/src/sna/kgem.c
> >> >> @@ -140,7 +140,6 @@ search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags);
> >> >>  #define LOCAL_I915_PARAM_HAS_WT                      27
> >> >>  #define LOCAL_I915_PARAM_MMAP_VERSION                30
> >> >>
> >> >> -#define LOCAL_I915_EXEC_BLT                  (2<<0)
> >> >>  #define LOCAL_I915_EXEC_IS_PINNED            (1<<10)
> >> >>  #define LOCAL_I915_EXEC_NO_RELOC             (1<<11)
> >> >>  #define LOCAL_I915_EXEC_HANDLE_LUT           (1<<12)
> >> >> @@ -1400,7 +1399,7 @@ static bool test_can_blt_y(struct kgem *kgem)
> >> >>               memset(&execbuf, 0, sizeof(execbuf));
> >> >>               execbuf.buffers_ptr = (uintptr_t)&object;
> >> >>               execbuf.buffer_count = 1;
> >> >> -             execbuf.flags = LOCAL_I915_EXEC_BLT;
> >> >> +             execbuf.flags = I915_EXEC_BLT;
> >> >
> >> > Again, I am confused. The effect is instead of executing on BLT we ended
> >> > up on BSD. Which is fine for the purposes of this test and the test did
> >> > succeed.
> >> >
> >> > What's the result of this function after your patch? It should still be
> >> > true. So I think we are looking at a funky underlying bug here...
> >> >
> >>
> >> How can I test that or check?
> >
> > diff --git a/src/sna/kgem.c b/src/sna/kgem.c
> > index 2058364..66f0087 100644
> > --- a/src/sna/kgem.c
> > +++ b/src/sna/kgem.c
> > @@ -1753,6 +1753,9 @@ no_context_switch(struct kgem *kgem, int new_mode)
> >         (void)new_mode;
> >  }
> >
> > +#undef DBG
> > +#define DBG(x) ErrorF x
> > +
> >  void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, unsigned gen)
> >  {
> >         struct drm_i915_gem_get_aperture aperture;
> > @@ -2054,6 +2057,9 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, unsigned gen)
> >         kgem_init_swizzling(kgem);
> >  }
> >
> > +#undef DBG
> > +#define DBG(x)
> > +
> >
> > Then look for "kgem_init: can blit to Y-tiled surfaces?"
> >
> 
> Got some other tuff to do this weekend and really have less time.
> If it is that important to you, please let me know, then I will test.

It's not urgent. I would like to work out how executing the LRI on the
BSD ring ended up loosing the cursor plane, on the first lightdm, but
since you found the fix, it is more curiosity than anything else.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list