Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f250114 authored by Jack Steiner's avatar Jack Steiner Committed by Linus Torvalds
Browse files

gru: cleanup gru inline functions



Cleanup of GRU inline functions to eliminate unnecessary inline code.
Update function descriptions.

Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6471cd4d
Loading
Loading
Loading
Loading
+16 −17
Original line number Diff line number Diff line
@@ -623,9 +623,11 @@ static inline int gru_get_cb_substatus(void *cb)
	return cbs->isubstatus;
}

/* Check the status of a CB. If the CB is in UPM mode, call the
 * OS to handle the UPM status.
 * Returns the CB status field value (0 for normal completion)
/*
 * User interface to check an instruction status. UPM and exceptions
 * are handled automatically. However, this function does NOT wait
 * for an active instruction to complete.
 *
 */
static inline int gru_check_status(void *cb)
{
@@ -633,33 +635,30 @@ static inline int gru_check_status(void *cb)
	int ret;

	ret = cbs->istatus;
	if (ret == CBS_CALL_OS)
	if (ret != CBS_ACTIVE)
		ret = gru_check_status_proc(cb);
	return ret;
}

/* Wait for CB to complete.
 * Returns the CB status field value (0 for normal completion)
/*
 * User interface (via inline function) to wait for an instruction
 * to complete. Completion status (IDLE or EXCEPTION is returned
 * to the user. Exception due to hardware errors are automatically
 * retried before returning an exception.
 *
 */
static inline int gru_wait(void *cb)
{
	struct gru_control_block_status *cbs = (void *)cb;
	int ret = cbs->istatus;

	if (ret != CBS_IDLE)
		ret = gru_wait_proc(cb);
	return ret;
	return gru_wait_proc(cb);
}

/* Wait for CB to complete. Aborts program if error. (Note: error does NOT
/*
 * Wait for CB to complete. Aborts program if error. (Note: error does NOT
 * mean TLB mis - only fatal errors such as memory parity error or user
 * bugs will cause termination.
 */
static inline void gru_wait_abort(void *cb)
{
	struct gru_control_block_status *cbs = (void *)cb;

	if (cbs->istatus != CBS_IDLE)
	gru_wait_abort_proc(cb);
}