From: Tony Lindgren <tony@atomide.com>
To: Nathan Monson <nmonson@gmail.com>
Cc: "linux-omap@vger.kernel.org List" <linux-omap@vger.kernel.org>,
"TK, Pratheesh Gangadhar" <pratheesh@ti.com>
Subject: Re: omapfb: help from userspace
Date: Thu, 16 Oct 2008 17:17:51 -0700 [thread overview]
Message-ID: <20081017001750.GE15820@atomide.com> (raw)
In-Reply-To: <e5e6ade50810081321h6f638cafjbe00f4c8a3a50f2c@mail.gmail.com>
* Nathan Monson <nmonson@gmail.com> [081008 13:22]:
> On Wed, Oct 8, 2008 at 11:36 AM, Nathan Monson <nmonson@gmail.com> wrote:
> > "Felipe Contreras" <felipe.contreras@gmail.com> writes:
> >> irq -33, desc: c0335cf8, depth: 0, count: 0, unhandled: 0
> >
> > On the BeagleBoard list, Pratheesh Gangadhar said that mapping I/O
> > regions as Strongly Ordered suppresses this problem:
> > http://groups.google.com/group/beagleboard/browse_thread/thread/23e1c95b4bfb09b5/70d12dca569ca503?show_docid=70d12dca569ca503
>
> Pratheesh helped me make a patch against the latest linux-omap git to
> try this.
>
> With this patch, my IRQ -33 problems with the DSP have disappeared.
> Before, I would end up in IRQ -33 loop after 10 invocations of the DSP
> Bridge 'ping.out' utility. I just finished running it 50,000 times
> without error.
>
> As stated before, this patch is just a workaround for testing
> purposes, not a fix. Who knows what performance side effects it
> has...
OK, pushed this for now until we know if there's a better solution.
Tony
>
> ---
> diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
> index 9eb936e..5cb4f5f 100644
> --- a/arch/arm/include/asm/mach/map.h
> +++ b/arch/arm/include/asm/mach/map.h
> @@ -25,6 +25,7 @@ struct map_desc {
> #define MT_HIGH_VECTORS 8
> #define MT_MEMORY 9
> #define MT_ROM 10
> +#define MT_MEMORY_SO 11
>
> #define MT_NONSHARED_DEVICE MT_DEVICE_NONSHARED
> #define MT_IXP2000_DEVICE MT_DEVICE_IXP2000
> diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
> index adbe21f..c11c0e8 100644
> --- a/arch/arm/mach-omap2/io.c
> +++ b/arch/arm/mach-omap2/io.c
> @@ -119,13 +119,13 @@ static struct map_desc omap34xx_io_desc[] __initdata = {
> .virtual = L3_34XX_VIRT,
> .pfn = __phys_to_pfn(L3_34XX_PHYS),
> .length = L3_34XX_SIZE,
> - .type = MT_DEVICE
> + .type = MT_MEMORY_SO
> },
> {
> .virtual = L4_34XX_VIRT,
> .pfn = __phys_to_pfn(L4_34XX_PHYS),
> .length = L4_34XX_SIZE,
> - .type = MT_DEVICE
> + .type = MT_MEMORY_SO
> },
> {
> .virtual = L4_WK_34XX_VIRT,
> @@ -137,19 +137,19 @@ static struct map_desc omap34xx_io_desc[] __initdata = {
> .virtual = OMAP34XX_GPMC_VIRT,
> .pfn = __phys_to_pfn(OMAP34XX_GPMC_PHYS),
> .length = OMAP34XX_GPMC_SIZE,
> - .type = MT_DEVICE
> + .type = MT_MEMORY_SO
> },
> {
> .virtual = OMAP343X_SMS_VIRT,
> .pfn = __phys_to_pfn(OMAP343X_SMS_PHYS),
> .length = OMAP343X_SMS_SIZE,
> - .type = MT_DEVICE
> + .type = MT_MEMORY_SO
> },
> {
> .virtual = OMAP343X_SDRC_VIRT,
> .pfn = __phys_to_pfn(OMAP343X_SDRC_PHYS),
> .length = OMAP343X_SDRC_SIZE,
> - .type = MT_DEVICE
> + .type = MT_MEMORY_SO
> },
> {
> .virtual = L4_PER_34XX_VIRT,
> @@ -161,7 +161,7 @@ static struct map_desc omap34xx_io_desc[] __initdata = {
> .virtual = L4_EMU_34XX_VIRT,
> .pfn = __phys_to_pfn(L4_EMU_34XX_PHYS),
> .length = L4_EMU_34XX_SIZE,
> - .type = MT_DEVICE
> + .type = MT_MEMORY_SO
> },
> };
> #endif
> diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
> index a713e40..d5f25ad 100644
> --- a/arch/arm/mm/mmu.c
> +++ b/arch/arm/mm/mmu.c
> @@ -245,6 +245,10 @@ static struct mem_type mem_types[] = {
> .prot_sect = PMD_TYPE_SECT,
> .domain = DOMAIN_KERNEL,
> },
> + [MT_MEMORY_SO] = {
> + .prot_sect = PMD_TYPE_SECT | PMD_SECT_AP_WRITE | PMD_SECT_UNCACHED,
> + .domain = DOMAIN_KERNEL,
> + },
> };
>
> const struct mem_type *get_mem_type(unsigned int type)
> --
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2008-10-17 0:17 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-08 18:36 omapfb: help from userspace Nathan Monson
2008-10-08 20:21 ` Nathan Monson
2008-10-08 20:37 ` Woodruff, Richard
2008-10-09 6:20 ` TK, Pratheesh Gangadhar
2008-10-09 12:43 ` Tony Lindgren
2008-10-09 17:55 ` Nathan Monson
2008-10-15 11:57 ` Paul Walmsley
2008-10-15 12:04 ` Lauri Leukkunen
2008-10-16 6:49 ` Nathan Monson
2008-10-16 20:57 ` Tony Lindgren
2008-10-16 22:07 ` Nathan Monson
2008-10-16 22:10 ` Tony Lindgren
2008-10-16 22:15 ` Nathan Monson
2008-10-16 22:52 ` Tony Lindgren
2008-10-16 22:59 ` Tony Lindgren
2008-10-16 23:02 ` Tony Lindgren
2008-10-16 23:20 ` Nathan Monson
2008-10-16 23:24 ` Tony Lindgren
2008-10-17 0:17 ` Tony Lindgren [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-09-15 14:38 Felipe Contreras
2008-09-15 20:24 ` Felipe Contreras
2008-09-15 20:46 ` Måns Rullgård
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=20081017001750.GE15820@atomide.com \
--to=tony@atomide.com \
--cc=linux-omap@vger.kernel.org \
--cc=nmonson@gmail.com \
--cc=pratheesh@ti.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