Linux PARISC architecture development
 help / color / mirror / Atom feed
From: Grant Grundler <grundler@parisc-linux.org>
To: Joel Soete <soete.joel@scarlet.be>
Cc: parisc-linux <parisc-linux@parisc-linux.org>
Subject: [parisc-linux] Re: CCIO dma io_command and related io_tlb format questions.
Date: Fri, 13 Oct 2006 10:44:06 -0600	[thread overview]
Message-ID: <20061013164406.GC13770@colo.lackof.org> (raw)
In-Reply-To: <452F70F2.4020700@scarlet.be>

On Fri, Oct 13, 2006 at 10:56:50AM +0000, Joel Soete wrote:
> 
> 
> Grant Grundler wrote:
> >On Thu, Oct 12, 2006 at 10:02:13AM +0200, Joel Soete wrote:
> >...
> >>well according to the choice of a PAGE_SIZE, a IOVP_SIZE and the actual 
> >>system
> >>ramsize (imho badly named num_physpages?), you can setup the sba?
> >
> >Is that a question or a statement?
> yes,

A correct answer here would be "question" or "statement".
Maybe you want to restate the question so it really looks like
a question.

> >PAGE_SIZE is a compile time option.
> as well as IOVP_SIZE.
> 
> I would just like to be sure, even if it's not translated the same way in C 
> code, that the ccio statement:
> 	WRITE_U32(CCIO_CHAINID_MASK << ioc->chainid_shift,
>                   &ioc->ioc_regs->io_chain_id_mask);
> 
> do the same job as sba statement:
>         WRITE_REG(ioc->imask, ioc->ioc_hpa+IOC_IMASK);
> 
> i.e. seting up the ioc register containing the mask corresponding 
> (one-to-one mapping) to the size of a ioc physical page; and by the means 
> of this mask we set up inderectly the physical page size the ioc 
> (respectilvely ccio and sba) will use to work?
> (just my guessing because no docs)

I think so but am not sure either.

> >Off hand, I'm not sure. It's probably related though.

Actually, it seems that the number of TLB entries is hardcoded
in the _MASK. ie 256 TLB entries:

	/* Uturn supports 256 TLB entries */
	#define CCIO_CHAINID_SHIFT      8
	#define CCIO_CHAINID_MASK       0xff

The "if 0" block above that suggests someone was expecting
the number of TLB entries to be different for different chips.
However, U2 and Uturn both seem to only support 256 entries.


> >We have RAM. The CPU TLB that organizes RAM into "pages" as the
> >minimum granularity that the kernel manages permissions and use of RAM.
> >The IO TLB doesn't have to use the same granularity as the kernel
> >though it's easier (and probably faster in general) to do so.
> >
> Ok so rephrasing the question: the ioc physical page size should be the 
> same as the virtual page size managed by the related sg list driver?

Yes. important is "should be". It doesn't have to be.

> >Ah. chainid could have more to do with the number of TLB entries than
> >the size of the pages. I'm not certain though.

I think the width of chainid_mask describes the number of TLB entries.
chainid_shift probably describes the IO TLB "page size".

And reading the comments in the code help too:
        ** Chainid is the upper most bits of an IOVP used to determine
        ** which TLB entry an IOVP will use.


> PS: those investigations to atempt to fix c110/d380 fs pb make me discover 
> that this d380 have in fact 2 U2/UTurn (as well dicovered by linux kernel). 
> But one this is specialy design to server only one hsc (aka gsc) io slot 
> tagged TURBO ;-)

Ok. But if there are problems only for SCSI and not for 100BT,
then it's either a SCSI driver problem or the ccio_map_sg() support
is broken (handles coalescing of blocks - disable coalescing
to test this out). 

grant
_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

  reply	other threads:[~2006-10-13 16:44 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <J70JNP$255156D3B4F90827118C5EFE40FD3ABF@scarlet.be>
2006-10-12 19:55 ` [parisc-linux] Re: CCIO dma io_command and related io_tlb format questions Grant Grundler
2006-10-13 10:56   ` Joel Soete
2006-10-13 16:44     ` Grant Grundler [this message]
     [not found]       ` <4530DF1F.5060601@scarlet.be>
2006-10-14 14:11         ` Matthew Wilcox
2006-10-14 16:40           ` Michael S. Zick
2006-10-14 23:35           ` Joel Soete
2006-10-15  3:28             ` Grant Grundler
     [not found] <J7AHPO$ED967CCDD9E203D6968EA2045C11A08A@scarlet.be>
     [not found] ` <45351637.4070604@computer.org>
2006-10-17 19:07   ` Kyle McMartin
     [not found] <J788XR$E1A2FE043CF88207AEC13412E82258F2@scarlet.be>
2006-10-16 14:37 ` Michael S. Zick
2006-10-17  5:59 ` Grant Grundler
2006-10-11  8:48 Joel Soete
2006-10-12  1:04 ` Grant Grundler
2006-10-12  3:27   ` James Bottomley
     [not found]   ` <4538BB5F.5040703@scarlet.be>
2006-10-20 15:50     ` Grant Grundler
2006-10-20 16:31       ` Grant Grundler
2006-10-20 17:18       ` Joel Soete
2006-10-21  6:19         ` Grant Grundler
2006-10-21 17:17           ` Joel Soete
2006-10-23  4:34             ` Grant Grundler
  -- strict thread matches above, loose matches on Subject: below --
2006-10-09  9:41 [parisc-linux] " Joel Soete
2006-10-10 22:08 ` [parisc-linux] " Grant Grundler

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=20061013164406.GC13770@colo.lackof.org \
    --to=grundler@parisc-linux.org \
    --cc=parisc-linux@parisc-linux.org \
    --cc=soete.joel@scarlet.be \
    /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