Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-07 Thread Christian König
On 07.01.2013 17:03, Marek Olšák wrote: On Mon, Jan 7, 2013 at 3:45 PM, Christian König wrote: On 07.01.2013 01:24, Marek Olšák wrote: On Sun, Jan 6, 2013 at 11:58 PM, Jerome Glisse wrote: On Sun, Jan 6, 2013 at 4:00 PM, Marek Olšák wrote: I agree with Christian. You can use a separate ins

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-07 Thread Jerome Glisse
On Mon, Jan 7, 2013 at 11:03 AM, Marek Olšák wrote: > On Mon, Jan 7, 2013 at 3:45 PM, Christian König > wrote: >> On 07.01.2013 01:24, Marek Olšák wrote: >>> >>> On Sun, Jan 6, 2013 at 11:58 PM, Jerome Glisse wrote: On Sun, Jan 6, 2013 at 4:00 PM, Marek Olšák wrote: > > I agr

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-07 Thread Marek Olšák
On Mon, Jan 7, 2013 at 3:45 PM, Christian König wrote: > On 07.01.2013 01:24, Marek Olšák wrote: >> >> On Sun, Jan 6, 2013 at 11:58 PM, Jerome Glisse wrote: >>> >>> On Sun, Jan 6, 2013 at 4:00 PM, Marek Olšák wrote: I agree with Christian. You can use a separate instance of radeon

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-07 Thread Christian König
On 07.01.2013 01:24, Marek Olšák wrote: On Sun, Jan 6, 2013 at 11:58 PM, Jerome Glisse wrote: On Sun, Jan 6, 2013 at 4:00 PM, Marek Olšák wrote: I agree with Christian. You can use a separate instance of radeon_winsys_cs for the DMA CS. The winsys exposes all the functions you need (except on

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-06 Thread Marek Olšák
On Sun, Jan 6, 2013 at 11:58 PM, Jerome Glisse wrote: > On Sun, Jan 6, 2013 at 4:00 PM, Marek Olšák wrote: >> I agree with Christian. You can use a separate instance of >> radeon_winsys_cs for the DMA CS. The winsys exposes all the functions >> you need (except one) for you to coordinate work bet

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-06 Thread Marek Olšák
I agree with Christian. You can use a separate instance of radeon_winsys_cs for the DMA CS. The winsys exposes all the functions you need (except one) for you to coordinate work between 2 command streams in the pipe driver. You may only need to expose one additional winsys function to the driver fo

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-05 Thread Jerome Glisse
On Sat, Jan 5, 2013 at 9:49 AM, Christian König wrote: > On 04.01.2013 23:19, j.gli...@gmail.com wrote: > [SNIP] > >> diff --git a/src/gallium/drivers/r300/r300_emit.c >> b/src/gallium/drivers/r300/r300_emit.c >> index d1ed4b3..c824821 100644 >> --- a/src/gallium/drivers/r300/r300_emit.c >> +++ b/

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-05 Thread Christian König
On 04.01.2013 23:19, j.gli...@gmail.com wrote: [SNIP] diff --git a/src/gallium/drivers/r300/r300_emit.c b/src/gallium/drivers/r300/r300_emit.c index d1ed4b3..c824821 100644 --- a/src/gallium/drivers/r300/r300_emit.c +++ b/src/gallium/drivers/r300/r300_emit.c @@ -1184,7 +1184,8 @@ validate:

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-04 Thread Jerome Glisse
On Fri, Jan 4, 2013 at 6:33 PM, Alex Deucher wrote: > On Fri, Jan 4, 2013 at 5:19 PM, wrote: >> From: Jerome Glisse >> >> The design is to take advantage of the fact that kernel will emit >> semaphore when buffer is referenced by different ring. So the only >> thing we need to enforce synchroni

Re: [Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-04 Thread Alex Deucher
On Fri, Jan 4, 2013 at 5:19 PM, wrote: > From: Jerome Glisse > > The design is to take advantage of the fact that kernel will emit > semaphore when buffer is referenced by different ring. So the only > thing we need to enforce synchronization btw dma and gfx/compute > ring is to make sure that w

[Mesa-dev] [PATCH 3/3] radeon/winsys: add async dma infrastructure

2013-01-04 Thread j . glisse
From: Jerome Glisse The design is to take advantage of the fact that kernel will emit semaphore when buffer is referenced by different ring. So the only thing we need to enforce synchronization btw dma and gfx/compute ring is to make sure that we never reference same bo at the same time on the dm