Subject: Re: Raylink/WebGear testing - ray_cs.c iomem bug?

From: "David S. Miller" <[email-masked]>
Date: Wed, 6 Oct 2004 11:14:31 -0700

On Wed, 6 Oct 2004 11:06:45 -0700 (PDT)
Linus Torvalds <[email-masked]> wrote:

> > NUMBER_OF_CCS is 64, and the difference between CCS_BASE and RCS_BASE
> > is 0x400 so this really doesn't account for anything.
> 
> It does, though: as I noted in my second mail (after trying to figure it
> out some more) the size of both ccs and rcs is 16 bytes, so when you
> offset by 64, so the difference between RCS_BASE and CCS_BASE ends up 
> being exactly "NUMBER_OF_CCS*sizeof(struct ccs/rcs)", which explains how 
> the base is the same, and the _index_ ends up being the one that selects 
> between the two.

Right, that makes perfect sense.  I missed how it was doing structure
pointer arithmetic when offsetting by the index.