/* The caller is not required to hold any lock for calling this function. This function updates the chip attention bits for the ring to inform firmware that there are pending work to be done for this ring and requests an interrupt when there is space available in the ring. This function is called when the driver is unable to post more iocbs to the ring due to unavailability of space in the ring.  */
static void lpfc_sli_update_full_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
/* The caller is not required to hold any lock for calling this function. This function updates the chip attention bits for the ring to inform firmware that there are pending work to be done for this ring and requests an interrupt when there is space available in the ring. This function is called when the driver is unable to post more iocbs to the ring due to unavailability of space in the ring.  */
static void lpfc_sli_update_full_ring(struct lpfc_hba *phba, struct lpfc_sli_ring *pring)
{
	int ringno = pring->ringno;
	pring->flag |= LPFC_CALL_RING_AVAILABLE;
	wmb();
	writel((CA_R0ATT|CA_R0CE_REQ) << (ringno*4), phba->CAregaddr);
	readl(phba->CAregaddr);
	pring->stats.iocb_cmd_full++;
}