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

Reply via email to