<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.3492" name=GENERATOR></HEAD>
<BODY>
<DIV dir=ltr align=left><SPAN class=310524805-06032009><FONT face=Arial 
color=#0000ff size=2>could&nbsp;you try to set '1' to DMA description 
bit3?</FONT></SPAN></DIV><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> Liu Dave-R63238 <BR><B>Sent:</B> Friday, 
  March 06, 2009 1:41 PM<BR><B>To:</B> 'Ben Menchaca'<BR><B>Cc:</B> 
  linuxppc-dev@ozlabs.org<BR><B>Subject:</B> RE: 83xx: Marking or Allocating 
  Pages as Cache-Inhibited<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV dir=ltr align=left><SPAN class=249334005-06032009><FONT face=Arial 
  color=#0000ff size=2>what is the value of ACR 
register?</FONT></SPAN></DIV><BR>
  <BLOCKQUOTE 
  style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
    <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
    <HR tabIndex=-1>
    <FONT face=Tahoma size=2><B>From:</B> Ben Menchaca 
    [mailto:ben.menchaca@gmail.com] <BR><B>Sent:</B> Friday, March 06, 2009 1:38 
    PM<BR><B>To:</B> Liu Dave-R63238<BR><B>Cc:</B> 
    linuxppc-dev@ozlabs.org<BR><B>Subject:</B> Re: 83xx: Marking or Allocating 
    Pages as Cache-Inhibited<BR></FONT><BR></DIV>
    <DIV></DIV><FONT style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">1.&nbsp; BAT2 in linux is set 
    to WIMG=0010, and covers all 64M<BR>2.&nbsp; PEX_DEVICE_CONTROL in PCI-E 
    Config Space (0x54): 0x1020<BR>3.&nbsp; PEX_xDMA_CTRL is set to 
    <SPAN></SPAN>0x00000401 at the initiation of the DMA.<BR>4.&nbsp; OWAR0 is 
    set to 0xFFFFF005, so NSNP is 0.<BR>5.&nbsp; The DMA descriptor (randomly 
    chosen when I hit a trigger...just ignore the size...) contains 0002AFF3 at 
    offset 0, so nosnoops are cleared.</FONT></FONT></FONT></FONT></FONT><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma"><FONT 
    style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">&nbsp; <BR><BR>Core is 400MHz, 
    and CSB is 133MHz.</FONT></FONT></FONT></FONT><BR><FONT color=#888888><BR>- 
    Ben<BR></FONT><BR>
    <DIV class=gmail_quote>On Thu, Mar 5, 2009 at 11:27 PM, Liu Dave-R63238 
    <SPAN dir=ltr>&lt;<A 
    href="mailto:DaveLiu@freescale.com">DaveLiu@freescale.com</A>&gt;</SPAN> 
    wrote:<BR>
    <BLOCKQUOTE class=gmail_quote 
    style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">and 
      what settings &nbsp;is DMA description bit 3?<BR>
      <DIV class=im><BR>&gt; -----Original Message-----<BR>&gt; From: 
      linuxppc-dev-bounces+daveliu=<A href="http://freescale.com" 
      target=_blank>freescale.com</A>@<A href="http://ozlabs.org" 
      target=_blank>ozlabs.org</A><BR>&gt; [mailto:<A 
      href="mailto:linuxppc-dev-bounces%2Bdaveliu">linuxppc-dev-bounces+daveliu</A>=<A 
      href="http://freescale.com" target=_blank>freescale.com</A>@<A 
      href="http://ozlabs.org" target=_blank>ozlabs.org</A>]<BR></DIV>
      <DIV>
      <DIV></DIV>
      <DIV class=h5>&gt; &nbsp;On Behalf Of Liu Dave-R63238<BR>&gt; Sent: 
      Friday, March 06, 2009 1:22 PM<BR>&gt; To: Ben Menchaca; <A 
      href="mailto:linuxppc-dev@ozlabs.org">linuxppc-dev@ozlabs.org</A><BR>&gt; 
      Subject: RE: 83xx: Marking or Allocating Pages as 
      Cache-Inhibited<BR>&gt;<BR>&gt; Did you enable the snoop bit at 
      PEX_WDMA_CTRL[SNOOP] and<BR>&gt; PEX_RDMA_CTRL[SNOOP]?<BR>&gt;<BR>&gt; 
      What is the freq settings? CORE/CSB bus.<BR>&gt;<BR>&gt; Thanks, 
      Dave<BR>&gt;<BR>&gt; ________________________________<BR>&gt;<BR>&gt; 
      &nbsp; &nbsp; &nbsp; From: linuxppc-dev-bounces+daveliu=<A 
      href="http://freescale.com" target=_blank>freescale.com</A>@<A 
      href="http://ozlabs.org" target=_blank>ozlabs.org</A><BR>&gt; [mailto:<A 
      href="mailto:linuxppc-dev-bounces%2Bdaveliu">linuxppc-dev-bounces+daveliu</A>=<A 
      href="http://freescale.com" target=_blank>freescale.com</A>@<A 
      href="http://ozlabs.org" target=_blank>ozlabs.org</A>]<BR>&gt; &nbsp;On 
      Behalf Of Ben Menchaca<BR>&gt; &nbsp; &nbsp; &nbsp; Sent: Friday, March 
      06, 2009 12:33 PM<BR>&gt; &nbsp; &nbsp; &nbsp; To: <A 
      href="mailto:linuxppc-dev@ozlabs.org">linuxppc-dev@ozlabs.org</A><BR>&gt; 
      &nbsp; &nbsp; &nbsp; Subject: 83xx: Marking or Allocating Pages as 
      Cache-Inhibited<BR>&gt;<BR>&gt;<BR>&gt; &nbsp; &nbsp; &nbsp; I am working 
      on a Freescale 8314e design, and the<BR>&gt; embedded device is configured 
      as a PCI-e endpoint running a<BR>&gt; 2.6.27-5 kernel. &nbsp;For context, 
      we have written a kernel<BR>&gt; module which, among other things, uses 
      the RDMA/WDMA engine<BR>&gt; in the PCI-e IP block. &nbsp;On the host 
      side, these DMAs are<BR>&gt; coherent. &nbsp;However, on the embedded 
      side, things are quite a<BR>&gt; bit less rosy; we must manually 
      flush/invalidate cache lines<BR>&gt; for WDMA/RDMAs to occur successfully. 
      &nbsp;After speaking with<BR>&gt; (several) FAEs at Freescale, we believe 
      there is a<BR>&gt; configuration issue that is the cause, but we have yet 
      to<BR>&gt; have anyone successfully point to it.<BR>&gt;<BR>&gt; &nbsp; 
      &nbsp; &nbsp; Disabling the data cache altogether resolves the 
      issue<BR>&gt; entirely, but of course, also completely tanks 
      performance.<BR>&gt; As a temporary workaround, I would like to simply 
      mark the<BR>&gt; pages (obtained currently via dma_alloc_coherent) 
      involved as<BR>&gt; cache-inhibited. &nbsp;I have attempted to do this via 
      some<BR>&gt; snippets remaining in fec.c (va_to_pte, uncache_pte to 
      set<BR>&gt; _PAGE_NO_CACHE, flush_tlb_page, then unmap_pte), but this 
      is<BR>&gt; almost certainly braindead; va_to_pte is not a part of 
      the<BR>&gt; 83xx source, as far as I can tell; 8xx only.<BR>&gt;<BR>&gt; 
      &nbsp; &nbsp; &nbsp; A quick pointer in the correct direction for 
      marking<BR>&gt; pages as cache-inhibited on a 2.6.27-5 kernel would 
      be<BR>&gt; appreciated, or if my approach to a workaround is flawed, 
      a<BR>&gt; pointer to the correct way would be great.<BR>&gt;<BR>&gt; 
      &nbsp; &nbsp; &nbsp; Ben Menchaca<BR>&gt;<BR>&gt;<BR></DIV></DIV>&gt; 
      _______________________________________________<BR>&gt; Linuxppc-dev 
      mailing list<BR>&gt; <A 
      href="mailto:Linuxppc-dev@ozlabs.org">Linuxppc-dev@ozlabs.org</A><BR>&gt; 
      <A href="https://ozlabs.org/mailman/listinfo/linuxppc-dev" 
      target=_blank>https://ozlabs.org/mailman/listinfo/linuxppc-dev</A><BR>&gt;<BR>&gt;<BR></BLOCKQUOTE></DIV><BR></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>