All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert Herranz <albert_herranz@yahoo.es>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: linux-usb@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	linux-ia64@vger.kernel.org
Subject: Re: [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC
Date: Tue, 16 Mar 2010 06:09:43 +0000	[thread overview]
Message-ID: <4B9F20A7.4040708@yahoo.es> (raw)
In-Reply-To: <20100316105423B.fujita.tomonori@lab.ntt.co.jp>

FUJITA Tomonori wrote:
> On Fri, 12 Mar 2010 20:12:39 +0100
> Albert Herranz <albert_herranz@yahoo.es> wrote:
> 
>> The current SWIOTLB code does not support NOT_COHERENT_CACHE platforms.
>> This patch adds support for NOT_COHERENT_CACHE platforms to SWIOTLB by
>> adding two platform specific functions swiotlb_dma_sync_page() and
>> swiotlb_dma_sync() which can be used to explicitly manage cache coherency.
>>
>> On PowerPC these functions are mapped to their corresponding
>> __dma_sync_page() and __dma_sync() functions.
>> On other architectures using SWIOTLB these functions are optimized out.
>>
>> This will be used later to support SWIOTLB on the Nintendo Wii video game
>> console.
>>
>> CC: linuxppc-dev@lists.ozlabs.org
>> CC: linux-kernel@vger.kernel.org
>> CC: x86@kernel.org
>> CC: linux-ia64@vger.kernel.org
>> Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
>> ---
>>  arch/ia64/include/asm/swiotlb.h    |   10 ++++++++++
>>  arch/powerpc/include/asm/swiotlb.h |    3 +++
>>  arch/x86/include/asm/swiotlb.h     |   10 ++++++++++
>>  lib/swiotlb.c                      |   30 ++++++++++++++++++++++++------
>>  4 files changed, 47 insertions(+), 6 deletions(-)
> 
> Why can't you use dma_sync_single_* instead of inventing new
> swiotlb sync functions?
> 

At least on PowerPC, the DMA ops are per-device hooks. We attach the swiotlb DMA ops functions to those hooks when we are using swiotlb.
So calling dma_sync_single_*() would end up calling swiotlb_sync_single_*() which is not what we want.

Thanks,
Albert


WARNING: multiple messages have this Message-ID (diff)
From: Albert Herranz <albert_herranz@yahoo.es>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: x86@kernel.org, linux-ia64@vger.kernel.org,
	linux-usb@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC platforms
Date: Tue, 16 Mar 2010 07:09:43 +0100	[thread overview]
Message-ID: <4B9F20A7.4040708@yahoo.es> (raw)
In-Reply-To: <20100316105423B.fujita.tomonori@lab.ntt.co.jp>

FUJITA Tomonori wrote:
> On Fri, 12 Mar 2010 20:12:39 +0100
> Albert Herranz <albert_herranz@yahoo.es> wrote:
> 
>> The current SWIOTLB code does not support NOT_COHERENT_CACHE platforms.
>> This patch adds support for NOT_COHERENT_CACHE platforms to SWIOTLB by
>> adding two platform specific functions swiotlb_dma_sync_page() and
>> swiotlb_dma_sync() which can be used to explicitly manage cache coherency.
>>
>> On PowerPC these functions are mapped to their corresponding
>> __dma_sync_page() and __dma_sync() functions.
>> On other architectures using SWIOTLB these functions are optimized out.
>>
>> This will be used later to support SWIOTLB on the Nintendo Wii video game
>> console.
>>
>> CC: linuxppc-dev@lists.ozlabs.org
>> CC: linux-kernel@vger.kernel.org
>> CC: x86@kernel.org
>> CC: linux-ia64@vger.kernel.org
>> Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
>> ---
>>  arch/ia64/include/asm/swiotlb.h    |   10 ++++++++++
>>  arch/powerpc/include/asm/swiotlb.h |    3 +++
>>  arch/x86/include/asm/swiotlb.h     |   10 ++++++++++
>>  lib/swiotlb.c                      |   30 ++++++++++++++++++++++++------
>>  4 files changed, 47 insertions(+), 6 deletions(-)
> 
> Why can't you use dma_sync_single_* instead of inventing new
> swiotlb sync functions?
> 

At least on PowerPC, the DMA ops are per-device hooks. We attach the swiotlb DMA ops functions to those hooks when we are using swiotlb.
So calling dma_sync_single_*() would end up calling swiotlb_sync_single_*() which is not what we want.

Thanks,
Albert

WARNING: multiple messages have this Message-ID (diff)
From: Albert Herranz <albert_herranz@yahoo.es>
To: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Cc: linux-usb@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	linux-ia64@vger.kernel.org
Subject: Re: [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC platforms
Date: Tue, 16 Mar 2010 07:09:43 +0100	[thread overview]
Message-ID: <4B9F20A7.4040708@yahoo.es> (raw)
In-Reply-To: <20100316105423B.fujita.tomonori@lab.ntt.co.jp>

FUJITA Tomonori wrote:
> On Fri, 12 Mar 2010 20:12:39 +0100
> Albert Herranz <albert_herranz@yahoo.es> wrote:
> 
>> The current SWIOTLB code does not support NOT_COHERENT_CACHE platforms.
>> This patch adds support for NOT_COHERENT_CACHE platforms to SWIOTLB by
>> adding two platform specific functions swiotlb_dma_sync_page() and
>> swiotlb_dma_sync() which can be used to explicitly manage cache coherency.
>>
>> On PowerPC these functions are mapped to their corresponding
>> __dma_sync_page() and __dma_sync() functions.
>> On other architectures using SWIOTLB these functions are optimized out.
>>
>> This will be used later to support SWIOTLB on the Nintendo Wii video game
>> console.
>>
>> CC: linuxppc-dev@lists.ozlabs.org
>> CC: linux-kernel@vger.kernel.org
>> CC: x86@kernel.org
>> CC: linux-ia64@vger.kernel.org
>> Signed-off-by: Albert Herranz <albert_herranz@yahoo.es>
>> ---
>>  arch/ia64/include/asm/swiotlb.h    |   10 ++++++++++
>>  arch/powerpc/include/asm/swiotlb.h |    3 +++
>>  arch/x86/include/asm/swiotlb.h     |   10 ++++++++++
>>  lib/swiotlb.c                      |   30 ++++++++++++++++++++++++------
>>  4 files changed, 47 insertions(+), 6 deletions(-)
> 
> Why can't you use dma_sync_single_* instead of inventing new
> swiotlb sync functions?
> 

At least on PowerPC, the DMA ops are per-device hooks. We attach the swiotlb DMA ops functions to those hooks when we are using swiotlb.
So calling dma_sync_single_*() would end up calling swiotlb_sync_single_*() which is not what we want.

Thanks,
Albert


  parent reply	other threads:[~2010-03-16  6:09 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-12 19:12 [PATCH v4 00/11] wii: add usb 2.0 support Albert Herranz
2010-03-12 19:12 ` [PATCH v4 01/11] powerpc: add per-device dma coherent support Albert Herranz
2010-03-12 19:12 ` [PATCH v4 02/11] powerpc: add min_direct_dma_addr Albert Herranz
2010-03-12 19:12 ` [PATCH v4 03/11] swiotbl: add back swiotlb_alloc_boot() Albert Herranz
2010-03-12 19:12   ` Albert Herranz
2010-03-12 19:12   ` Albert Herranz
2010-03-12 19:12 ` [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC platforms Albert Herranz
2010-03-12 19:12   ` Albert Herranz
2010-03-12 19:12   ` Albert Herranz
2010-03-16  1:54   ` [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC FUJITA Tomonori
2010-03-16  1:54     ` [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC platforms FUJITA Tomonori
2010-03-16  1:54     ` FUJITA Tomonori
2010-03-16  2:25     ` [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC FUJITA Tomonori
2010-03-16  2:25       ` [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC platforms FUJITA Tomonori
2010-03-16  2:25       ` FUJITA Tomonori
2010-03-16  6:17       ` [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC Albert Herranz
2010-03-16  6:17         ` [PATCH v4 04/11] swiotlb: support NOT_COHERENT_CACHE PowerPC platforms Albert Herranz
2010-03-16  6:17         ` Albert Herranz
2010-03-16  6:09     ` Albert Herranz [this message]
2010-03-16  6:09       ` Albert Herranz
2010-03-16  6:09       ` Albert Herranz
2010-03-12 19:12 ` [PATCH v4 05/11] swiotlb: add swiotlb_set_default_size() Albert Herranz
2010-03-12 19:12   ` Albert Herranz
2010-03-12 19:12   ` Albert Herranz
2010-03-16  1:44   ` FUJITA Tomonori
2010-03-16  1:44     ` FUJITA Tomonori
2010-03-16  1:44     ` FUJITA Tomonori
2010-03-16  5:58     ` Albert Herranz
2010-03-16  5:58       ` Albert Herranz
2010-03-16  5:58       ` Albert Herranz
2010-03-16 10:08       ` FUJITA Tomonori
2010-03-16 10:08         ` FUJITA Tomonori
2010-03-16 10:08         ` FUJITA Tomonori
2010-03-16 19:28         ` Becky Bruce
2010-03-16 19:28           ` Becky Bruce
2010-03-16 19:28           ` Becky Bruce
2010-03-16 23:16           ` FUJITA Tomonori
2010-03-16 23:16             ` FUJITA Tomonori
2010-03-16 23:16             ` FUJITA Tomonori
2010-03-12 19:12 ` [PATCH v4 06/11] USB: refactor unmap_urb_for_dma/map_urb_for_dma Albert Herranz
2010-03-12 19:12 ` [PATCH v4 07/11] USB: add HCD_NO_COHERENT_MEM host controller driver flag Albert Herranz
2010-03-12 19:12 ` [PATCH v4 08/11] wii: have generic dma coherent Albert Herranz
2010-03-12 19:12 ` [PATCH v4 09/11] wii: add mem2 dma mapping ops Albert Herranz
2010-03-12 19:12 ` [PATCH v4 10/11] wii: enable swiotlb Albert Herranz
2010-03-12 19:12 ` [PATCH v4 11/11] wii: hollywood ehci controller support Albert Herranz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B9F20A7.4040708@yahoo.es \
    --to=albert_herranz@yahoo.es \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.