#endif
#else
#define IPS_SG_ADDRESS(sg) (page_address((sg)->page) ? \
- page_address((sg)->page)+(sg)->offset : 0)
+ page_address((sg)->page)+(sg)->offset : NULL)
#define IPS_LOCK_SAVE(lock,flags) do{spin_lock(lock);(void)flags;}while(0)
#define IPS_UNLOCK_RESTORE(lock,flags) do{spin_unlock(lock);(void)flags;}while(0)
#endif
static uint32_t ips_statupd_copperhead_memio(ips_ha_t *);
static uint32_t ips_statupd_morpheus(ips_ha_t *);
static ips_scb_t *ips_getscb(ips_ha_t *);
-static inline void ips_putq_scb_head(ips_scb_queue_t *, ips_scb_t *);
-static inline void ips_putq_scb_tail(ips_scb_queue_t *, ips_scb_t *);
-static inline void ips_putq_wait_head(ips_wait_queue_t *, Scsi_Cmnd *);
-static inline void ips_putq_wait_tail(ips_wait_queue_t *, Scsi_Cmnd *);
-static inline void ips_putq_copp_head(ips_copp_queue_t *,
+static void ips_putq_scb_head(ips_scb_queue_t *, ips_scb_t *);
+static void ips_putq_wait_tail(ips_wait_queue_t *, Scsi_Cmnd *);
+static void ips_putq_copp_tail(ips_copp_queue_t *,
ips_copp_wait_item_t *);
-static inline void ips_putq_copp_tail(ips_copp_queue_t *,
- ips_copp_wait_item_t *);
-static inline ips_scb_t *ips_removeq_scb_head(ips_scb_queue_t *);
-static inline ips_scb_t *ips_removeq_scb(ips_scb_queue_t *, ips_scb_t *);
-static inline Scsi_Cmnd *ips_removeq_wait_head(ips_wait_queue_t *);
-static inline Scsi_Cmnd *ips_removeq_wait(ips_wait_queue_t *, Scsi_Cmnd *);
-static inline ips_copp_wait_item_t *ips_removeq_copp(ips_copp_queue_t *,
+static ips_scb_t *ips_removeq_scb_head(ips_scb_queue_t *);
+static ips_scb_t *ips_removeq_scb(ips_scb_queue_t *, ips_scb_t *);
+static Scsi_Cmnd *ips_removeq_wait_head(ips_wait_queue_t *);
+static Scsi_Cmnd *ips_removeq_wait(ips_wait_queue_t *, Scsi_Cmnd *);
+static ips_copp_wait_item_t *ips_removeq_copp(ips_copp_queue_t *,
ips_copp_wait_item_t *);
-static inline ips_copp_wait_item_t *ips_removeq_copp_head(ips_copp_queue_t *);
+static ips_copp_wait_item_t *ips_removeq_copp_head(ips_copp_queue_t *);
static int ips_is_passthru(Scsi_Cmnd *);
static int ips_make_passthru(ips_ha_t *, Scsi_Cmnd *, ips_scb_t *, int);
/* Fill in a single scb sg_list element from an address */
/* return a -1 if a breakup occurred */
/****************************************************************************/
-static inline int
+static int
ips_fill_scb_sg_single(ips_ha_t * ha, dma_addr_t busaddr,
ips_scb_t * scb, int indx, unsigned int e_len)
{
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline void
+static void
ips_putq_scb_head(ips_scb_queue_t * queue, ips_scb_t * item)
{
METHOD_TRACE("ips_putq_scb_head", 1);
queue->count++;
}
-/****************************************************************************/
-/* */
-/* Routine Name: ips_putq_scb_tail */
-/* */
-/* Routine Description: */
-/* */
-/* Add an item to the tail of the queue */
-/* */
-/* ASSUMED to be called from within the HA lock */
-/* */
-/****************************************************************************/
-static inline void
-ips_putq_scb_tail(ips_scb_queue_t * queue, ips_scb_t * item)
-{
- METHOD_TRACE("ips_putq_scb_tail", 1);
-
- if (!item)
- return;
-
- item->q_next = NULL;
-
- if (queue->tail)
- queue->tail->q_next = item;
-
- queue->tail = item;
-
- if (!queue->head)
- queue->head = item;
-
- queue->count++;
-}
-
/****************************************************************************/
/* */
/* Routine Name: ips_removeq_scb_head */
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline ips_scb_t *
+static ips_scb_t *
ips_removeq_scb_head(ips_scb_queue_t * queue)
{
ips_scb_t *item;
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline ips_scb_t *
+static ips_scb_t *
ips_removeq_scb(ips_scb_queue_t * queue, ips_scb_t * item)
{
ips_scb_t *p;
return (NULL);
}
-/****************************************************************************/
-/* */
-/* Routine Name: ips_putq_wait_head */
-/* */
-/* Routine Description: */
-/* */
-/* Add an item to the head of the queue */
-/* */
-/* ASSUMED to be called from within the HA lock */
-/* */
-/****************************************************************************/
-static inline void
-ips_putq_wait_head(ips_wait_queue_t * queue, Scsi_Cmnd * item)
-{
- METHOD_TRACE("ips_putq_wait_head", 1);
-
- if (!item)
- return;
-
- item->host_scribble = (char *) queue->head;
- queue->head = item;
-
- if (!queue->tail)
- queue->tail = item;
-
- queue->count++;
-}
-
/****************************************************************************/
/* */
/* Routine Name: ips_putq_wait_tail */
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline void
+static void
ips_putq_wait_tail(ips_wait_queue_t * queue, Scsi_Cmnd * item)
{
METHOD_TRACE("ips_putq_wait_tail", 1);
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline Scsi_Cmnd *
+static Scsi_Cmnd *
ips_removeq_wait_head(ips_wait_queue_t * queue)
{
Scsi_Cmnd *item;
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline Scsi_Cmnd *
+static Scsi_Cmnd *
ips_removeq_wait(ips_wait_queue_t * queue, Scsi_Cmnd * item)
{
Scsi_Cmnd *p;
return (NULL);
}
-/****************************************************************************/
-/* */
-/* Routine Name: ips_putq_copp_head */
-/* */
-/* Routine Description: */
-/* */
-/* Add an item to the head of the queue */
-/* */
-/* ASSUMED to be called from within the HA lock */
-/* */
-/****************************************************************************/
-static inline void
-ips_putq_copp_head(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
-{
- METHOD_TRACE("ips_putq_copp_head", 1);
-
- if (!item)
- return;
-
- item->next = queue->head;
- queue->head = item;
-
- if (!queue->tail)
- queue->tail = item;
-
- queue->count++;
-}
-
/****************************************************************************/
/* */
/* Routine Name: ips_putq_copp_tail */
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline void
+static void
ips_putq_copp_tail(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
{
METHOD_TRACE("ips_putq_copp_tail", 1);
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline ips_copp_wait_item_t *
+static ips_copp_wait_item_t *
ips_removeq_copp_head(ips_copp_queue_t * queue)
{
ips_copp_wait_item_t *item;
/* ASSUMED to be called from within the HA lock */
/* */
/****************************************************************************/
-static inline ips_copp_wait_item_t *
+static ips_copp_wait_item_t *
ips_removeq_copp(ips_copp_queue_t * queue, ips_copp_wait_item_t * item)
{
ips_copp_wait_item_t *p;
{
ha->active = 0;
ips_free(ha);
- ips_ha[index] = 0;
- ips_sh[index] = 0;
+ ips_ha[index] = NULL;
+ ips_sh[index] = NULL;
return -1;
}