[PATCH] DRM: omapdrm DRM/KMS driver for TI OMAP platforms

2011-11-25 Thread Daniel Vetter
On Fri, Nov 25, 2011 at 01:14:00PM -0600, Rob Clark wrote:
> btw, Inki, Daniel, Konrad, and everyone who's reviewed this driver
> over the (what seems like) years, I'd appreciate r-b's or comments if
> you think there is anything remaining that should be done before first
> version is merged.  I think it's been reviewed to death by now, and
> I'd *really* like to make sure it gets merged for 3.3

Honestly I've already looked at this too often and want to spare my review
bandwidth for when this moves out of staging. TODO.txt contains all the
things I think need to be fixed before that. So

Highly-Recommended-for-Staging-by: Daniel Vetter 
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


[Bug 43248] Starting teeworlds results in black screen

2011-11-25 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=43248

--- Comment #1 from Sandeep  2011-11-25 12:23:37 PST 
---
Created attachment 53857
  --> https://bugs.freedesktop.org/attachment.cgi?id=53857
output of lspci

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Bug 43248] New: Starting teeworlds results in black screen

2011-11-25 Thread bugzilla-dae...@freedesktop.org
https://bugs.freedesktop.org/show_bug.cgi?id=43248

 Bug #: 43248
   Summary: Starting teeworlds results in black screen
Classification: Unclassified
   Product: DRI
   Version: XOrg CVS
  Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
  Severity: minor
  Priority: medium
 Component: DRM/Radeon
AssignedTo: dri-devel at lists.freedesktop.org
ReportedBy: sandy.8925 at gmail.com


Created attachment 53856
  --> https://bugs.freedesktop.org/attachment.cgi?id=53856
dmesg output

Hardware:
Asus K53TA laptop. AMD A6-3400M with integrated Radeon HD6520G and discrete
Radeon HD6650M. Display is through 6520G.

Software:
Ubuntu 11.04 64 bit with kernel 3.2-rc1 and xorg-edgers ppa.

When I start teeworlds, the screen goes blank (the display seems to be switched
off). However I am able to switch to command line using Ctrl + Alt + F1 and
running:

sudo service gdm start 

and 

sudo service gdm stop

restarts Gnome for me.

dmesg shows some errors with atombios.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.


[Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Daniel Vetter
On Fri, Nov 25, 2011 at 02:13:22PM +, Dave Airlie wrote:
> On Tue, Oct 11, 2011 at 10:23 AM, Sumit Semwal  wrote:
> > This is the first step in defining a dma buffer sharing mechanism.
> >
> > A new buffer object dma_buf is added, with operations and API to allow easy
> > sharing of this buffer object across devices.
> >
> > The framework allows:
> > - a new buffer-object to be created with fixed size.
> > - different devices to 'attach' themselves to this buffer, to facilitate
> > ?backing storage negotiation, using dma_buf_attach() API.
> > - association of a file pointer with each user-buffer and associated
> > ? allocator-defined operations on that buffer. This operation is called the
> > ? 'export' operation.
> > - this exported buffer-object to be shared with the other entity by asking 
> > for
> > ? its 'file-descriptor (fd)', and sharing the fd across.
> > - a received fd to get the buffer object back, where it can be accessed 
> > using
> > ? the associated exporter-defined operations.
> > - the exporter and user to share the scatterlist using get_scatterlist and
> > ? put_scatterlist operations.
> >
> > Atleast one 'attach()' call is required to be made prior to calling the
> > get_scatterlist() operation.
> >
> > Couple of building blocks in get_scatterlist() are added to ease 
> > introduction
> > of sync'ing across exporter and users, and late allocation by the exporter.
> >
> > mmap() file operation is provided for the associated 'fd', as wrapper over 
> > the
> > optional allocator defined mmap(), to be used by devices that might need 
> > one.
> >
> > More details are there in the documentation patch.
> >
> 
> Some questions, I've started playing around with using this framework
> to do buffer sharing between DRM devices,
> 
> Why struct scatterlist and not struct sg_table? it seems like I really
> want to use an sg_table,

No reason at all besides that intel-gtt is using scatterlist internally
(and only kludges the sg_table together in an ad-hoc fashion) and so I
haven't noticed. sg_table for more consistency with the dma api sounds
good.

> I'm not convinced fd's are really useful over just some idr allocated
> handle, so far I'm just returning the "fd" to userspace as a handle,
> and passing it back in the other side, so I'm not really sure what an
> fd wins us here, apart from the mmap thing which I think shouldn't be
> here anyways.
> (if fd's do win us more we should probably record that in the docs patch).

Imo fds are nice because their known and there's already all the
preexisting infrastructure for them around. And if we ever get fancy with
e.g. sync objects we can easily add poll support (or some insane ioctls).
But I agree that "we can mmap" is bust as a reason and should just die.
-Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48


[Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Dave Airlie
I've rebuilt my PRIME interface on top of dmabuf to see how it would work,

I've got primed gears running again on top, but I expect all my object
lifetime and memory ownership rules need fixing up (i.e. leaks like a
sieve).

http://cgit.freedesktop.org/~airlied/linux/log/?h=drm-prime-dmabuf

has the i915/nouveau patches for the kernel to produce the prime interface.

Dave.


[Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Dave Airlie
> +struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf,
> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? struct device *dev)
> +{
> + ? ? ? struct dma_buf_attachment *attach;
> + ? ? ? int ret;
> +
> + ? ? ? BUG_ON(!dmabuf || !dev);
> +
> + ? ? ? mutex_lock(>lock);
> +
> + ? ? ? attach = kzalloc(sizeof(struct dma_buf_attachment), GFP_KERNEL);
> + ? ? ? if (attach == NULL)
> + ? ? ? ? ? ? ? goto err_alloc;
> +
> + ? ? ? attach->dev = dev;
> + ? ? ? if (dmabuf->ops->attach) {
> + ? ? ? ? ? ? ? ret = dmabuf->ops->attach(dmabuf, dev, attach);
> + ? ? ? ? ? ? ? if (!ret)
> + ? ? ? ? ? ? ? ? ? ? ? goto err_attach;
> + ? ? ? }
> + ? ? ? list_add(>node, >attachments);
> +

I would assume at some point this needed at
attach->dmabuf = dmabuf;
added.

Dave.


[Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Dave Airlie
On Tue, Oct 11, 2011 at 10:23 AM, Sumit Semwal  wrote:
> This is the first step in defining a dma buffer sharing mechanism.
>
> A new buffer object dma_buf is added, with operations and API to allow easy
> sharing of this buffer object across devices.
>
> The framework allows:
> - a new buffer-object to be created with fixed size.
> - different devices to 'attach' themselves to this buffer, to facilitate
> ?backing storage negotiation, using dma_buf_attach() API.
> - association of a file pointer with each user-buffer and associated
> ? allocator-defined operations on that buffer. This operation is called the
> ? 'export' operation.
> - this exported buffer-object to be shared with the other entity by asking for
> ? its 'file-descriptor (fd)', and sharing the fd across.
> - a received fd to get the buffer object back, where it can be accessed using
> ? the associated exporter-defined operations.
> - the exporter and user to share the scatterlist using get_scatterlist and
> ? put_scatterlist operations.
>
> Atleast one 'attach()' call is required to be made prior to calling the
> get_scatterlist() operation.
>
> Couple of building blocks in get_scatterlist() are added to ease introduction
> of sync'ing across exporter and users, and late allocation by the exporter.
>
> mmap() file operation is provided for the associated 'fd', as wrapper over the
> optional allocator defined mmap(), to be used by devices that might need one.
>
> More details are there in the documentation patch.
>

Some questions, I've started playing around with using this framework
to do buffer sharing between DRM devices,

Why struct scatterlist and not struct sg_table? it seems like I really
want to use an sg_table,

I'm not convinced fd's are really useful over just some idr allocated
handle, so far I'm just returning the "fd" to userspace as a handle,
and passing it back in the other side, so I'm not really sure what an
fd wins us here, apart from the mmap thing which I think shouldn't be
here anyways.
(if fd's do win us more we should probably record that in the docs patch).

Dave.


[PATCH] DRM: omapdrm DRM/KMS driver for TI OMAP platforms

2011-11-25 Thread Rob Clark
btw, Inki, Daniel, Konrad, and everyone who's reviewed this driver
over the (what seems like) years, I'd appreciate r-b's or comments if
you think there is anything remaining that should be done before first
version is merged.  I think it's been reviewed to death by now, and
I'd *really* like to make sure it gets merged for 3.3

thanks

BR,
-R

On Sat, Nov 12, 2011 at 12:09 PM, Rob Clark  wrote:
> From: Rob Clark 
>
> A DRM display driver for TI OMAP platform. ?Similar to omapfb (fbdev)
> and omap_vout (v4l2 display) drivers in the past, this driver uses the
> DSS2 driver to access the display hardware, including support for
> HDMI, DVI, and various types of LCD panels. ?And it implements GEM
> support for buffer allocation (for KMS as well as offscreen buffers
> used by the xf86-video-omap userspace xorg driver).
>
> The driver maps CRTCs to overlays, encoders to overlay-managers, and
> connectors to dssdev's. ?Note that this arrangement might change slightly
> when support for drm_plane overlays is added.
>
> For GEM support, non-scanout buffers are using the shmem backed pages
> provided by GEM core (In drm_gem_object_init()). ?In the case of scanout
> buffers, which need to be physically contiguous, those are allocated
> with CMA and use drm_gem_private_object_init().
>
> See userspace xorg driver:
> git://github.com/robclark/xf86-video-omap.git
>
> Refer to this link for CMA (Continuous Memory Allocator):
> http://lkml.org/lkml/2011/8/19/302
>
> Links to previous versions of the patch:
> v1: http://lwn.net/Articles/458137/
> v2: http://patches.linaro.org/4156/
> v3: http://patches.linaro.org/4688/
> v4: http://patches.linaro.org/4791/
>
> History:
>
> v5: move headers from include/drm at Greg KH's request, minor rebasing
> ? ?on 3.2-rc1, pull in private copies of drm_gem_{get,put}_pages()
> ? ?because "drm/gem: add functions to get/put pages" patch is not
> ? ?merged yet
> v4: bit of rework of encoder/connector _dpms() code, modeset_init()
> ? ?rework to not use nested functions, update TODO.txt
> v3: minor cleanups, improved error handling for dev_load(), some minor
> ? ?API changes that will be needed later for tiled buffer support
> v2: replace omap_vram with CMA for scanout buffer allocation, remove
> ? ?unneeded functions, use dma_addr_t for physical addresses, error
> ? ?handling cleanup, refactor attach/detach pages into common drm
> ? ?functions, split non-userspace-facing API into omap_priv.h, remove
> ? ?plugin API
>
> v1: original
>
> Signed-off-by: Rob Clark 
> ---
> ?drivers/staging/Kconfig ? ? ? ? ? ? ? ? ? ?| ? ?2 +
> ?drivers/staging/Makefile ? ? ? ? ? ? ? ? ? | ? ?1 +
> ?drivers/staging/omapdrm/Kconfig ? ? ? ? ? ?| ? 25 +
> ?drivers/staging/omapdrm/Makefile ? ? ? ? ? | ? 12 +
> ?drivers/staging/omapdrm/TODO.txt ? ? ? ? ? | ? 32 ++
> ?drivers/staging/omapdrm/omap_connector.c ? | ?371 +
> ?drivers/staging/omapdrm/omap_crtc.c ? ? ? ?| ?327 +++
> ?drivers/staging/omapdrm/omap_drm.h ? ? ? ? | ?123 +
> ?drivers/staging/omapdrm/omap_drv.c ? ? ? ? | ?810 
> 
> ?drivers/staging/omapdrm/omap_drv.h ? ? ? ? | ?124 +
> ?drivers/staging/omapdrm/omap_encoder.c ? ? | ?172 ++
> ?drivers/staging/omapdrm/omap_fb.c ? ? ? ? ?| ?261 +
> ?drivers/staging/omapdrm/omap_fbdev.c ? ? ? | ?304 +++
> ?drivers/staging/omapdrm/omap_gem.c ? ? ? ? | ?774 ++
> ?drivers/staging/omapdrm/omap_gem_helpers.c | ?114 
> ?drivers/staging/omapdrm/omap_priv.h ? ? ? ?| ? 42 ++
> ?drivers/video/omap2/omapfb/Kconfig ? ? ? ? | ? ?2 +-
> ?17 files changed, 3495 insertions(+), 1 deletions(-)
> ?create mode 100644 drivers/staging/omapdrm/Kconfig
> ?create mode 100644 drivers/staging/omapdrm/Makefile
> ?create mode 100644 drivers/staging/omapdrm/TODO.txt
> ?create mode 100644 drivers/staging/omapdrm/omap_connector.c
> ?create mode 100644 drivers/staging/omapdrm/omap_crtc.c
> ?create mode 100644 drivers/staging/omapdrm/omap_drm.h
> ?create mode 100644 drivers/staging/omapdrm/omap_drv.c
> ?create mode 100644 drivers/staging/omapdrm/omap_drv.h
> ?create mode 100644 drivers/staging/omapdrm/omap_encoder.c
> ?create mode 100644 drivers/staging/omapdrm/omap_fb.c
> ?create mode 100644 drivers/staging/omapdrm/omap_fbdev.c
> ?create mode 100644 drivers/staging/omapdrm/omap_gem.c
> ?create mode 100644 drivers/staging/omapdrm/omap_gem_helpers.c
> ?create mode 100644 drivers/staging/omapdrm/omap_priv.h
>
> diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
> index 25cdff3..eaba39d 100644
> --- a/drivers/staging/Kconfig
> +++ b/drivers/staging/Kconfig
> @@ -132,4 +132,6 @@ source "drivers/staging/nvec/Kconfig"
>
> ?source "drivers/staging/media/Kconfig"
>
> +source "drivers/staging/omapdrm/Kconfig"
> +
> ?endif # STAGING
> diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
> index a25f3f2..c84143a 100644
> --- a/drivers/staging/Makefile
> +++ b/drivers/staging/Makefile
> @@ -57,3 +57,4 @@ 

Re: [Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Dave Airlie
On Tue, Oct 11, 2011 at 10:23 AM, Sumit Semwal sumit.sem...@ti.com wrote:
 This is the first step in defining a dma buffer sharing mechanism.

 A new buffer object dma_buf is added, with operations and API to allow easy
 sharing of this buffer object across devices.

 The framework allows:
 - a new buffer-object to be created with fixed size.
 - different devices to 'attach' themselves to this buffer, to facilitate
  backing storage negotiation, using dma_buf_attach() API.
 - association of a file pointer with each user-buffer and associated
   allocator-defined operations on that buffer. This operation is called the
   'export' operation.
 - this exported buffer-object to be shared with the other entity by asking for
   its 'file-descriptor (fd)', and sharing the fd across.
 - a received fd to get the buffer object back, where it can be accessed using
   the associated exporter-defined operations.
 - the exporter and user to share the scatterlist using get_scatterlist and
   put_scatterlist operations.

 Atleast one 'attach()' call is required to be made prior to calling the
 get_scatterlist() operation.

 Couple of building blocks in get_scatterlist() are added to ease introduction
 of sync'ing across exporter and users, and late allocation by the exporter.

 mmap() file operation is provided for the associated 'fd', as wrapper over the
 optional allocator defined mmap(), to be used by devices that might need one.

 More details are there in the documentation patch.


Some questions, I've started playing around with using this framework
to do buffer sharing between DRM devices,

Why struct scatterlist and not struct sg_table? it seems like I really
want to use an sg_table,

I'm not convinced fd's are really useful over just some idr allocated
handle, so far I'm just returning the fd to userspace as a handle,
and passing it back in the other side, so I'm not really sure what an
fd wins us here, apart from the mmap thing which I think shouldn't be
here anyways.
(if fd's do win us more we should probably record that in the docs patch).

Dave.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Daniel Vetter
On Fri, Nov 25, 2011 at 02:13:22PM +, Dave Airlie wrote:
 On Tue, Oct 11, 2011 at 10:23 AM, Sumit Semwal sumit.sem...@ti.com wrote:
  This is the first step in defining a dma buffer sharing mechanism.
 
  A new buffer object dma_buf is added, with operations and API to allow easy
  sharing of this buffer object across devices.
 
  The framework allows:
  - a new buffer-object to be created with fixed size.
  - different devices to 'attach' themselves to this buffer, to facilitate
   backing storage negotiation, using dma_buf_attach() API.
  - association of a file pointer with each user-buffer and associated
    allocator-defined operations on that buffer. This operation is called the
    'export' operation.
  - this exported buffer-object to be shared with the other entity by asking 
  for
    its 'file-descriptor (fd)', and sharing the fd across.
  - a received fd to get the buffer object back, where it can be accessed 
  using
    the associated exporter-defined operations.
  - the exporter and user to share the scatterlist using get_scatterlist and
    put_scatterlist operations.
 
  Atleast one 'attach()' call is required to be made prior to calling the
  get_scatterlist() operation.
 
  Couple of building blocks in get_scatterlist() are added to ease 
  introduction
  of sync'ing across exporter and users, and late allocation by the exporter.
 
  mmap() file operation is provided for the associated 'fd', as wrapper over 
  the
  optional allocator defined mmap(), to be used by devices that might need 
  one.
 
  More details are there in the documentation patch.
 
 
 Some questions, I've started playing around with using this framework
 to do buffer sharing between DRM devices,
 
 Why struct scatterlist and not struct sg_table? it seems like I really
 want to use an sg_table,

No reason at all besides that intel-gtt is using scatterlist internally
(and only kludges the sg_table together in an ad-hoc fashion) and so I
haven't noticed. sg_table for more consistency with the dma api sounds
good.

 I'm not convinced fd's are really useful over just some idr allocated
 handle, so far I'm just returning the fd to userspace as a handle,
 and passing it back in the other side, so I'm not really sure what an
 fd wins us here, apart from the mmap thing which I think shouldn't be
 here anyways.
 (if fd's do win us more we should probably record that in the docs patch).

Imo fds are nice because their known and there's already all the
preexisting infrastructure for them around. And if we ever get fancy with
e.g. sync objects we can easily add poll support (or some insane ioctls).
But I agree that we can mmap is bust as a reason and should just die.
-Daniel
-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Dave Airlie
 +struct dma_buf_attachment *dma_buf_attach(struct dma_buf *dmabuf,
 +                                               struct device *dev)
 +{
 +       struct dma_buf_attachment *attach;
 +       int ret;
 +
 +       BUG_ON(!dmabuf || !dev);
 +
 +       mutex_lock(dmabuf-lock);
 +
 +       attach = kzalloc(sizeof(struct dma_buf_attachment), GFP_KERNEL);
 +       if (attach == NULL)
 +               goto err_alloc;
 +
 +       attach-dev = dev;
 +       if (dmabuf-ops-attach) {
 +               ret = dmabuf-ops-attach(dmabuf, dev, attach);
 +               if (!ret)
 +                       goto err_attach;
 +       }
 +       list_add(attach-node, dmabuf-attachments);
 +

I would assume at some point this needed at
attach-dmabuf = dmabuf;
added.

Dave.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [Linaro-mm-sig] [RFC 1/2] dma-buf: Introduce dma buffer sharing mechanism

2011-11-25 Thread Dave Airlie
I've rebuilt my PRIME interface on top of dmabuf to see how it would work,

I've got primed gears running again on top, but I expect all my object
lifetime and memory ownership rules need fixing up (i.e. leaks like a
sieve).

http://cgit.freedesktop.org/~airlied/linux/log/?h=drm-prime-dmabuf

has the i915/nouveau patches for the kernel to produce the prime interface.

Dave.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] DRM: omapdrm DRM/KMS driver for TI OMAP platforms

2011-11-25 Thread Daniel Vetter
On Fri, Nov 25, 2011 at 01:14:00PM -0600, Rob Clark wrote:
 btw, Inki, Daniel, Konrad, and everyone who's reviewed this driver
 over the (what seems like) years, I'd appreciate r-b's or comments if
 you think there is anything remaining that should be done before first
 version is merged.  I think it's been reviewed to death by now, and
 I'd *really* like to make sure it gets merged for 3.3

Honestly I've already looked at this too often and want to spare my review
bandwidth for when this moves out of staging. TODO.txt contains all the
things I think need to be fixed before that. So

Highly-Recommended-for-Staging-by: Daniel Vetter daniel.vet...@ffwll.ch
-- 
Daniel Vetter
Mail: dan...@ffwll.ch
Mobile: +41 (0)79 365 57 48
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 43248] New: Starting teeworlds results in black screen

2011-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43248

 Bug #: 43248
   Summary: Starting teeworlds results in black screen
Classification: Unclassified
   Product: DRI
   Version: XOrg CVS
  Platform: x86-64 (AMD64)
OS/Version: Linux (All)
Status: NEW
  Severity: minor
  Priority: medium
 Component: DRM/Radeon
AssignedTo: dri-devel@lists.freedesktop.org
ReportedBy: sandy.8...@gmail.com


Created attachment 53856
  -- https://bugs.freedesktop.org/attachment.cgi?id=53856
dmesg output

Hardware:
Asus K53TA laptop. AMD A6-3400M with integrated Radeon HD6520G and discrete
Radeon HD6650M. Display is through 6520G.

Software:
Ubuntu 11.04 64 bit with kernel 3.2-rc1 and xorg-edgers ppa.

When I start teeworlds, the screen goes blank (the display seems to be switched
off). However I am able to switch to command line using Ctrl + Alt + F1 and
running:

sudo service gdm start 

and 

sudo service gdm stop

restarts Gnome for me.

dmesg shows some errors with atombios.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 43248] Starting teeworlds results in black screen

2011-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43248

--- Comment #1 from Sandeep sandy.8...@gmail.com 2011-11-25 12:23:37 PST ---
Created attachment 53857
  -- https://bugs.freedesktop.org/attachment.cgi?id=53857
output of lspci

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


[Bug 43248] Starting teeworlds results in black screen

2011-11-25 Thread bugzilla-daemon
https://bugs.freedesktop.org/show_bug.cgi?id=43248

--- Comment #2 from Sandeep sandy.8...@gmail.com 2011-11-25 16:02:45 PST ---
This happens for OpenArena as well.

Trine on the other hand works properly (on low detail)

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are the assignee for the bug.
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel


Re: [PATCH] drm, i915: Fix memory leak in i915_gem_busy_ioctl().

2011-11-25 Thread Rakib Mullick
On Mon, Nov 21, 2011 at 11:16 PM, Keith Packard kei...@keithp.com wrote:
 On Mon, 21 Nov 2011 17:23:06 +0100, Daniel Vetter dan...@ffwll.ch wrote:

 Indeed, nice catch (albeit totally unlikely to be hit, because the error
 only happens when the gpu ceases to progress in the ring, so imo not
 stable material). Keith, please pick this up for fixes, thanks.

 It's already there and queued for airlied :-)

Thank you guys for reviewing and taking the patch.

Now, while I was looking at the uses of i915_add_request(), I found
the following code :

ret = i915_gem_flush_ring(ring, 0,
I915_GEM_GPU_DOMAINS);
request = kzalloc(sizeof(*request), GFP_KERNEL);
if (ret || request == NULL ||
i915_add_request(ring, NULL, request))
kfree(request);

From above code, we might ended up by calling kfree(request) without
allocating request. Though, it's unlikely cause if request is NULL
then BUG_ON will be hit in i915_add_request(). So, to unify the callee
uses of i915_add_request(), I'm proposing the following patch. Please
let me know what do you guys think. If you guys agree, I can sent a
formal patch.

Index: work/modi.linux-3.1.1/drivers/gpu/drm/i915/i915_gem.c
===
--- work.orig/modi.linux-3.1.1/drivers/gpu/drm/i915/i915_gem.c
+++ work/modi.linux-3.1.1/drivers/gpu/drm/i915/i915_gem.c
@@ -1736,8 +1736,6 @@ i915_add_request(struct intel_ring_buffe
int was_empty;
int ret;

-   BUG_ON(request == NULL);
-
ret = ring-add_request(ring, seqno);
if (ret)
return ret;
@@ -2002,9 +2000,11 @@ i915_gem_retire_work_handler(struct work
ret = i915_gem_flush_ring(ring,
  0, I915_GEM_GPU_DOMAINS);
request = kzalloc(sizeof(*request), GFP_KERNEL);
-   if (ret || request == NULL ||
-   i915_add_request(ring, NULL, request))
-   kfree(request);
+   if (request) {
+   ret = i915_add_request(ring, NULL, request);
+   if (ret)
+   kfree(request);
+   }
}

idle = list_empty(ring-request_list);


Thanks,
Rakib
___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel