ChangeSet 1.2231.1.1, 2005/04/03 14:23:36-07:00, [EMAIL PROTECTED]
[SPARC]: iomem annotations in SOC driver
* struct soc_cq split into two variants differing only in
annotations -
ones we use for requests have ->pool pointing to normal memory, ones for
responses have it pointing to iomem.
* all instances of soc_cq were either always of request or
always of
response variety; replaced with soc_cq_rsp and soc_cq_req resp.
* the rest consists of trivial adding __iomem where needed - the
only tricky bit had been soc_cq annotations.
Signed-off-by: Al Viro <[EMAIL PROTECTED]>
Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
soc.c | 20 ++++++++++----------
soc.h | 15 ++++++++++++---
2 files changed, 22 insertions(+), 13 deletions(-)
diff -Nru a/drivers/fc4/soc.c b/drivers/fc4/soc.c
--- a/drivers/fc4/soc.c 2005-04-04 08:14:21 -07:00
+++ b/drivers/fc4/soc.c 2005-04-04 08:14:21 -07:00
@@ -106,8 +106,8 @@
static inline void soc_solicited (struct soc *s)
{
fc_hdr fchdr;
- soc_rsp *hwrsp;
- soc_cq *sw_cq;
+ soc_rsp __iomem *hwrsp;
+ soc_cq_rsp *sw_cq;
int token;
int status;
fc_channel *fc;
@@ -115,12 +115,12 @@
sw_cq = &s->rsp[SOC_SOLICITED_RSP_Q];
if (sw_cq->pool == NULL)
- sw_cq->pool = (soc_req *)
+ sw_cq->pool = (soc_req __iomem *)
(s->xram + xram_get_32low
((xram_p)&sw_cq->hw_cq->address));
sw_cq->in = xram_get_8 ((xram_p)&sw_cq->hw_cq->in);
SOD (("soc_solicited, %d pkts arrived\n", (sw_cq->in-sw_cq->out) &
sw_cq->last))
for (;;) {
- hwrsp = (soc_rsp *)sw_cq->pool + sw_cq->out;
+ hwrsp = (soc_rsp __iomem *)sw_cq->pool + sw_cq->out;
token = xram_get_32low ((xram_p)&hwrsp->shdr.token);
status = xram_get_32low ((xram_p)&hwrsp->status);
fc = (fc_channel *)(&s->port[(token >> 11) & 1]);
@@ -185,8 +185,8 @@
static inline void soc_unsolicited (struct soc *s)
{
- soc_rsp *hwrsp, *hwrspc;
- soc_cq *sw_cq;
+ soc_rsp __iomem *hwrsp, *hwrspc;
+ soc_cq_rsp *sw_cq;
int count;
int status;
int flags;
@@ -194,14 +194,14 @@
sw_cq = &s->rsp[SOC_UNSOLICITED_RSP_Q];
if (sw_cq->pool == NULL)
- sw_cq->pool = (soc_req *)
+ sw_cq->pool = (soc_req __iomem *)
(s->xram + (xram_get_32low
((xram_p)&sw_cq->hw_cq->address)));
sw_cq->in = xram_get_8 ((xram_p)&sw_cq->hw_cq->in);
SOD (("soc_unsolicited, %d packets arrived\n", (sw_cq->in - sw_cq->out)
& sw_cq->last))
while (sw_cq->in != sw_cq->out) {
/* ...real work per entry here... */
- hwrsp = (soc_rsp *)sw_cq->pool + sw_cq->out;
+ hwrsp = (soc_rsp __iomem *)sw_cq->pool + sw_cq->out;
hwrspc = NULL;
flags = xram_get_16 ((xram_p)&hwrsp->shdr.flags);
@@ -239,7 +239,7 @@
return;
}
if (sw_cq->out == sw_cq->last)
- hwrspc = (soc_rsp *)sw_cq->pool;
+ hwrspc = (soc_rsp __iomem *)sw_cq->pool;
else
hwrspc = hwrsp + 1;
}
@@ -359,7 +359,7 @@
soc_port *port = (soc_port *)fc;
struct soc *s = port->s;
int qno;
- soc_cq *sw_cq;
+ soc_cq_req *sw_cq;
int cq_next_in;
soc_req *request;
fc_hdr *fch;
diff -Nru a/drivers/fc4/soc.h b/drivers/fc4/soc.h
--- a/drivers/fc4/soc.h 2005-04-04 08:14:21 -07:00
+++ b/drivers/fc4/soc.h 2005-04-04 08:14:21 -07:00
@@ -261,18 +261,27 @@
typedef struct {
soc_hw_cq __iomem *hw_cq; /* Related XRAM cq */
+ soc_req __iomem *pool;
+ u8 in;
+ u8 out;
+ u8 last;
+ u8 seqno;
+} soc_cq_rsp;
+
+typedef struct {
+ soc_hw_cq __iomem *hw_cq; /* Related XRAM cq */
soc_req *pool;
u8 in;
u8 out;
u8 last;
u8 seqno;
-} soc_cq;
+} soc_cq_req;
struct soc {
spinlock_t lock;
soc_port port[2]; /* Every SOC has one or two FC ports */
- soc_cq req[2]; /* Request CQs */
- soc_cq rsp[2]; /* Response CQs */
+ soc_cq_req req[2]; /* Request CQs */
+ soc_cq_rsp rsp[2]; /* Response CQs */
int soc_no;
void __iomem *regs;
xram_p xram;
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html