linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Marco Stornelli <marco.stornelli@coritel.it>
To: Robert Woodworth <rwoodworth@securics.com>
Cc: linuxppc-embedded <linuxppc-embedded@ozlabs.org>
Subject: Re: Cache control
Date: Fri, 17 Oct 2008 09:18:42 +0200	[thread overview]
Message-ID: <48F83C52.3010308@coritel.it> (raw)
In-Reply-To: <1BA180A8-1655-4F10-ADDD-E5667DE182BE@securics.com>

Hi Robert,

Robert Woodworth ha scritto:
> I have a Virtex4 VF60 device with 256MB DDR2.
> 
> I have told the Linux kernel that the device has only 128MB and its
> working fine. 

How? Have you used the mem kernel option?

 There is an HDL module that is populating the next 16MB
> with sensor data (0x08000000 - 0x09000000)  I mapped the area into my
> driver via `ioremap()` and also via `mmap / remap_pfn_range()`  It works
> fine.
> 
> I know that PPC cache regions work in 128MB blocks.  I assume that the
> kernel bootup is turning on cache in the first 128, because it thinks
> that its the full RAM range, and not cached in the next 128MB.
> 
> I know that if I declare the area cached, and invalidate the region
> before I read it,  the reads should be much faster than if it's not cached.
> 
> 
> How can I control if the area is cached? and then invalidate it when new
> data arrives?

If you use the ioremap, it provides non-cacheable guarded mappings,
indeed it calls __ioremap with _PAGE_NO_CACHE and _PAGE_GUARDED flags.
You can try to call directly __ioremap with the proper flags.

> 
> Is there a PPC/Linux API call to declare the region cached and
> invalidate regions before read?
> 

Yes, of course. You can see the arch/powerpc/include/asm/cacheflush.h
file to view the API to manage the cache.

> 
> 
> 
> 
> Rob.
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
> 

Regards,

-- 
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

marco.stornelli@coritel.it
+39 06 72582838

  reply	other threads:[~2008-10-17  7:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-16 15:57 Cache control Robert Woodworth
2008-10-17  7:18 ` Marco Stornelli [this message]
2008-10-18  6:32 ` Grant Likely

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=48F83C52.3010308@coritel.it \
    --to=marco.stornelli@coritel.it \
    --cc=linuxppc-embedded@ozlabs.org \
    --cc=rwoodworth@securics.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;
as well as URLs for NNTP newsgroup(s).