From: "Mark Chambers" <markc@mail.com>
To: "soar.wu" <soar.wu@utstar.com>
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: Help!
Date: Wed, 27 Oct 2004 08:20:26 -0400 [thread overview]
Message-ID: <004301c4bc1f$69fccdc0$0301a8c0@chuck2> (raw)
In-Reply-To: PCEFKKAFFIJFPILJEMCHAEAPCGAA.soar.wu@utstar.com
> Yes, the 'HPI' - are connected to a T.I. DSP, 6416 type.
>
> About the HPI problem progress.
> now we have the following resolve method:
>
> 1, If we use a temp variable to store the read out data, then store the
data to SDRAM, it is OK, there is no hop.
> tmpReadRst = READ_UL_HPI_REG(UL_HPIDA_ADDR);
> *p_cur = tmpReadRst;
> p_cur++;
>
> 2, If we donot modify the source codes, but we use the optimization O3 to
compile the source codes, it is OK.
> *p_cur = READ_UL_HPI_REG(UL_HPIDA_ADDR);
> p_cur++;
>
> 3, If we add a sync instruction to the source codes, it is OK.
> *p_cur = READ_UL_HPI_REG(UL_HPIDA_ADDR);
> __asm__(" eieio; sync");
> p_cur++;
>
> 4, If we modify the BSP, update the memory operation option,
> from :
> PHYS_MEM_DESC sysPhysMemDesc [] =
> {
> ...
> /*all the other small chip*/
> {
> (void *) 0x50000000,
> (void *) 0x50000000,
> 0x08000000,
> VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE |
VM_STATE_MASK_CACHEABLE,
> VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
> },
> ...
> to:
> PHYS_MEM_DESC sysPhysMemDesc [] =
> {
> ...
> /*all the other small chip*/
> {
> (void *) 0x50000000,
> (void *) 0x50000000,
> 0x08000000,
> VM_STATE_MASK_VALID | VM_STATE_MASK_WRITABLE | VM_STATE_MASK_CACHEABLE
| VM_STATE_MASK_GUARDED,
> VM_STATE_VALID | VM_STATE_WRITABLE | VM_STATE_CACHEABLE_NOT
| VM_STATE_GUARDED
> },
> ...
>
> We added the option VM_STATE_VM_MASK_GUARDED and VM_STATE_GUARDED,
> still use the old source codes:
> *p_cur = READ_UL_HPI_REG(UL_HPIDA_ADDR);
> p_cur++;
>
> Now We find there is no hop. It is OK
>
>
> 5, If we use the memory which is allocated by function cacheDmaMalloc(),
> the hop still exist, but the number of hop is little than when we use
malloc().
>
> Do you tell me the reason??
>
sysPhysMemDesc? This is VxWorks, not linux, right? Well, the same general
points can be made, but this list is not the right one for VxWorks issues.
1) Even though the 8260 is cache-coherent you should make sure the MMU is
set up so the HPI space is non-cached.
2) In C code make sure the HPI space is declared as 'volatile' so the
compiler doesn't optimize out references to the address.
3) Remember that the HPI interface on the DSP is DMA driven and goes through
a FIFO, so that writes to DSP memory have a delay before they actually
appear in DSP memory. And don't forget to look at cache issues on the DSP
side. Your problem may actually be on the DSP side and your various fixes
are just introducing enough delay for things to complete on the DSP side.
Good luck,
Mark Chambers
next prev parent reply other threads:[~2004-10-27 12:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-26 0:57 Help! soar.wu
2004-10-26 14:13 ` Help! Mark Chambers
2004-10-27 3:47 ` Help! soar.wu
2004-10-27 3:48 ` Help! soar.wu
2004-10-27 3:49 ` Help! soar.wu
2004-10-27 12:20 ` Mark Chambers [this message]
2004-10-27 13:08 ` Help! soar.wu
-- strict thread matches above, loose matches on Subject: below --
1999-06-03 1:51 Help! Jeremy Welling
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='004301c4bc1f$69fccdc0$0301a8c0@chuck2' \
--to=markc@mail.com \
--cc=linuxppc-embedded@ozlabs.org \
--cc=soar.wu@utstar.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).