PERFORCE change 101327 for review

Kip Macy kmacy at FreeBSD.org
Wed Jul 12 04:39:02 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=101327

Change 101327 by kmacy at kmacy_storage:sun4v_work_stable on 2006/07/12 04:38:58

	oops - explicit cast doesn't work - needs to be separate call to bus_space_read_2
	still confused

Affected files ...

.. //depot/projects/kmacy_sun4v_stable/src/sys/dev/mpt/mpt.c#5 edit
.. //depot/projects/kmacy_sun4v_stable/src/sys/dev/mpt/mpt.h#5 edit

Differences ...

==== //depot/projects/kmacy_sun4v_stable/src/sys/dev/mpt/mpt.c#5 (text+ko) ====

@@ -1373,7 +1373,7 @@
 		mpt_prt(mpt, "mpt_recv_handshake_cmd timeout1\n");
 		return ETIMEDOUT;
 	}
-	*data16++ = (u_int16_t)mpt_read(mpt, MPT_OFFSET_DOORBELL) & MPT_DB_DATA_MASK;
+	*data16++ = mpt_read_16(mpt, MPT_OFFSET_DOORBELL) & MPT_DB_DATA_MASK;
 	mpt_write(mpt, MPT_OFFSET_INTR_STATUS, 0);
 
 	/* Get Second Word */
@@ -1381,7 +1381,7 @@
 		mpt_prt(mpt, "mpt_recv_handshake_cmd timeout2\n");
 		return ETIMEDOUT;
 	}
-	*data16++ = (u_int16_t)mpt_read(mpt, MPT_OFFSET_DOORBELL) & MPT_DB_DATA_MASK;
+	*data16++ = mpt_read_16(mpt, MPT_OFFSET_DOORBELL) & MPT_DB_DATA_MASK;
 	mpt_write(mpt, MPT_OFFSET_INTR_STATUS, 0);
 
 	/*
@@ -1411,7 +1411,7 @@
 			mpt_prt(mpt, "mpt_recv_handshake_cmd timeout3\n");
 			return ETIMEDOUT;
 		}
-		datum = (u_int16_t)mpt_read(mpt, MPT_OFFSET_DOORBELL);
+		datum = mpt_read_16(mpt, MPT_OFFSET_DOORBELL);
 
 		if (reply_left-- > 0)
 			*data16++ = datum & MPT_DB_DATA_MASK;

==== //depot/projects/kmacy_sun4v_stable/src/sys/dev/mpt/mpt.h#5 (text+ko) ====

@@ -819,6 +819,7 @@
 /******************************* Register Access ******************************/
 static __inline void mpt_write(struct mpt_softc *, size_t, uint32_t);
 static __inline uint32_t mpt_read(struct mpt_softc *, int);
+static __inline uint16_t mpt_read_16(struct mpt_softc *, int);
 static __inline void mpt_pio_write(struct mpt_softc *, size_t, uint32_t);
 static __inline uint32_t mpt_pio_read(struct mpt_softc *, int);
 
@@ -834,6 +835,12 @@
 	return (bus_space_read_4(mpt->pci_st, mpt->pci_sh, offset));
 }
 
+static __inline uint16_t
+mpt_read_16(struct mpt_softc *mpt, int offset)
+{
+	return (bus_space_read_2(mpt->pci_st, mpt->pci_sh, offset));
+}
+
 /*
  * Some operations (e.g. diagnostic register writes while the ARM proccessor
  * is disabled), must be performed using "PCI pio" operations.  On non-PCI


More information about the p4-projects mailing list