From: Lucas Stach <dev@lynxeye.de>
To: Huacai Chen <chenhuacai@gmail.com>
Cc: Ralf Baechle <ralf@linux-mips.org>,
linux-mips@linux-mips.org, Zhangjin Wu <wuzhangjin@gmail.com>,
Hua Yan <yanh@lemote.com>, Fuxin Zhang <zhangfx@lemote.com>,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
Hongliang Tao <taohl@lemote.com>, Huacai Chen <chenhc@lemote.com>
Subject: Re: [PATCH V3 11/16] drm/radeon: Make radeon card usable for Loongson.
Date: Fri, 22 Jun 2012 07:25:04 +0200 [thread overview]
Message-ID: <1340342704.1381.9.camel@tellur> (raw)
In-Reply-To: <1340334073-17804-12-git-send-email-chenhc@lemote.com>
Hello Huacai,
Am Freitag, den 22.06.2012, 11:01 +0800 schrieb Huacai Chen:
> 1, Handle io prot correctly for MIPS.
> 2, Define SAREA_MAX as the size of one page.
> 3, Don't use swiotlb on Loongson machines (Loonson need swioitlb, but
> when use swiotlb, GPU reset occurs at resume from suspend).
>
I still think this is wrong. You say Loongson needs SWIOTLB, but when
it's actually used you ignore it in the radeon driver code.
I looked up why you are using SWIOTLB and I don't agree with you that it
is needed. SWIOTLB just gives you bounce pages for DMA memory above
DMA32 and therefore papers over your >4GB DMA platform bug in some
cases, while hurting performance.
Please fix your DMA platform code so that region DMA is an alias for
region DMA32. It should allow you to drop all those ugly workarounds.
> Signed-off-by: Huacai Chen <chenhc@lemote.com>
> Signed-off-by: Hongliang Tao <taohl@lemote.com>
> Signed-off-by: Hua Yan <yanh@lemote.com>
> Reviewed-by: Michel Dänzer <michel@daenzer.net>
> Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
> Reviewed-by: Lucas Stach <dev@lynxeye.de>
> Reviewed-by: j.glisse <j.glisse@gmail.com>
You should probably only stick this tag on your patches after the people
you are naming explicitly gave their r-b for a specific version of a
patch.
Thanks,
Lucas
> Cc: dri-devel@lists.freedesktop.org
> ---
> drivers/gpu/drm/drm_vm.c | 2 +-
> drivers/gpu/drm/radeon/radeon_ttm.c | 6 +++---
> drivers/gpu/drm/ttm/ttm_bo_util.c | 2 +-
> include/drm/drm_sarea.h | 2 ++
> 4 files changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_vm.c b/drivers/gpu/drm/drm_vm.c
> index 961ee08..3f06166 100644
> --- a/drivers/gpu/drm/drm_vm.c
> +++ b/drivers/gpu/drm/drm_vm.c
> @@ -62,7 +62,7 @@ static pgprot_t drm_io_prot(uint32_t map_type, struct vm_area_struct *vma)
> tmp = pgprot_writecombine(tmp);
> else
> tmp = pgprot_noncached(tmp);
> -#elif defined(__sparc__) || defined(__arm__)
> +#elif defined(__sparc__) || defined(__arm__) || defined(__mips__)
> tmp = pgprot_noncached(tmp);
> #endif
> return tmp;
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index c94a225..f49bdd1 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -630,7 +630,7 @@ static int radeon_ttm_tt_populate(struct ttm_tt *ttm)
> }
> #endif
>
> -#ifdef CONFIG_SWIOTLB
> +#if defined(CONFIG_SWIOTLB) && !defined(CONFIG_CPU_LOONGSON3)
> if (swiotlb_nr_tbl()) {
> return ttm_dma_populate(>t->ttm, rdev->dev);
> }
> @@ -676,7 +676,7 @@ static void radeon_ttm_tt_unpopulate(struct ttm_tt *ttm)
> }
> #endif
>
> -#ifdef CONFIG_SWIOTLB
> +#if defined(CONFIG_SWIOTLB) && !defined(CONFIG_CPU_LOONGSON3)
> if (swiotlb_nr_tbl()) {
> ttm_dma_unpopulate(>t->ttm, rdev->dev);
> return;
> @@ -906,7 +906,7 @@ static int radeon_ttm_debugfs_init(struct radeon_device *rdev)
> radeon_mem_types_list[i].show = &ttm_page_alloc_debugfs;
> radeon_mem_types_list[i].driver_features = 0;
> radeon_mem_types_list[i++].data = NULL;
> -#ifdef CONFIG_SWIOTLB
> +#if defined(CONFIG_SWIOTLB) && !defined(CONFIG_CPU_LOONGSON3)
> if (swiotlb_nr_tbl()) {
> sprintf(radeon_mem_types_names[i], "ttm_dma_page_pool");
> radeon_mem_types_list[i].name = radeon_mem_types_names[i];
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c
> index f8187ea..0df71ea 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_util.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_util.c
> @@ -472,7 +472,7 @@ pgprot_t ttm_io_prot(uint32_t caching_flags, pgprot_t tmp)
> else
> tmp = pgprot_noncached(tmp);
> #endif
> -#if defined(__sparc__)
> +#if defined(__sparc__) || defined(__mips__)
> if (!(caching_flags & TTM_PL_FLAG_CACHED))
> tmp = pgprot_noncached(tmp);
> #endif
> diff --git a/include/drm/drm_sarea.h b/include/drm/drm_sarea.h
> index ee5389d..1d1a858 100644
> --- a/include/drm/drm_sarea.h
> +++ b/include/drm/drm_sarea.h
> @@ -37,6 +37,8 @@
> /* SAREA area needs to be at least a page */
> #if defined(__alpha__)
> #define SAREA_MAX 0x2000U
> +#elif defined(__mips__)
> +#define SAREA_MAX 0x4000U
> #elif defined(__ia64__)
> #define SAREA_MAX 0x10000U /* 64kB */
> #else
next prev parent reply other threads:[~2012-06-22 5:25 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-22 3:00 [PATCH V3 00/16] MIPS: Add Loongson-3 based machines support Huacai Chen
2012-06-22 3:00 ` [PATCH V3 01/16] MIPS: Loongson: Add basic Loongson-3 definition Huacai Chen
2012-06-22 3:00 ` [PATCH V3 02/16] MIPS: Loongson: Add basic Loongson-3 CPU support Huacai Chen
2012-06-22 3:01 ` [PATCH V3 03/16] MIPS: Loongson 3: Add Lemote-3A machtypes definition Huacai Chen
2012-06-22 3:01 ` [PATCH V3 04/16] MIPS: Loongson: Make Loongson-3 to use BCD format for RTC Huacai Chen
2012-06-22 3:01 ` [PATCH V3 05/16] MIPS: Loongson: Add UEFI-like firmware interface support Huacai Chen
2012-06-22 3:01 ` [PATCH V3 06/16] MIPS: Loongson 3: Add HT-linked PCI support Huacai Chen
2012-06-22 3:01 ` [PATCH V3 07/16] MIPS: Loongson 3: Add IRQ init and dispatch support Huacai Chen
2012-06-22 3:01 ` [PATCH V3 08/16] MIPS: Loongson 3: Add serial port support Huacai Chen
2012-06-22 3:01 ` [PATCH V3 09/16] MIPS: Loongson: Add swiotlb to support big memory (>4GB) Huacai Chen
2012-06-22 3:01 ` [PATCH V3 10/16] MIPS: Loongson: Add Loongson-3 Kconfig options Huacai Chen
2012-06-22 3:01 ` [PATCH V3 11/16] drm/radeon: Make radeon card usable for Loongson Huacai Chen
2012-06-22 5:25 ` Lucas Stach [this message]
2012-06-22 5:59 ` Huacai Chen
2012-06-22 7:44 ` Christian König
2012-08-02 6:30 ` Huacai Chen
2012-06-22 9:34 ` Huacai Chen
2012-06-22 9:39 ` Arnaud Patard
2012-06-22 10:55 ` Huacai Chen
2012-06-22 11:11 ` Ralf Baechle
2012-06-23 0:46 ` Huacai Chen
2012-06-22 11:06 ` Ralf Baechle
2012-06-22 3:01 ` [PATCH V3 12/16] ALSA: HDA: Make hda sound " Huacai Chen
2012-06-22 3:01 ` [PATCH V3 13/16] MIPS: Loongson 3: Add Loongson-3 SMP support Huacai Chen
2012-06-22 3:01 ` [PATCH V3 14/16] MIPS: Loongson 3: Add CPU hotplug support Huacai Chen
2012-06-22 3:01 ` [PATCH V3 15/16] MIPS: Fix poweroff failure when HOTPLUG_CPU configured Huacai Chen
2012-06-22 3:01 ` [PATCH V3 16/16] MIPS: Loongson: Add a Loongson-3 default config file Huacai Chen
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=1340342704.1381.9.camel@tellur \
--to=dev@lynxeye.de \
--cc=chenhc@lemote.com \
--cc=chenhuacai@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=taohl@lemote.com \
--cc=wuzhangjin@gmail.com \
--cc=yanh@lemote.com \
--cc=zhangfx@lemote.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox