gru: cleanup gru inline functions
Cleanup of GRU inline functions to eliminate unnecessary inline code. Update function descriptions. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
6471cd4d6c
commit
9f2501142b
1 changed files with 16 additions and 17 deletions
|
@ -623,9 +623,11 @@ static inline int gru_get_cb_substatus(void *cb)
|
||||||
return cbs->isubstatus;
|
return cbs->isubstatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check the status of a CB. If the CB is in UPM mode, call the
|
/*
|
||||||
* OS to handle the UPM status.
|
* User interface to check an instruction status. UPM and exceptions
|
||||||
* Returns the CB status field value (0 for normal completion)
|
* are handled automatically. However, this function does NOT wait
|
||||||
|
* for an active instruction to complete.
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
static inline int gru_check_status(void *cb)
|
static inline int gru_check_status(void *cb)
|
||||||
{
|
{
|
||||||
|
@ -633,34 +635,31 @@ static inline int gru_check_status(void *cb)
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = cbs->istatus;
|
ret = cbs->istatus;
|
||||||
if (ret == CBS_CALL_OS)
|
if (ret != CBS_ACTIVE)
|
||||||
ret = gru_check_status_proc(cb);
|
ret = gru_check_status_proc(cb);
|
||||||
return ret;
|
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)
|
static inline int gru_wait(void *cb)
|
||||||
{
|
{
|
||||||
struct gru_control_block_status *cbs = (void *)cb;
|
return gru_wait_proc(cb);
|
||||||
int ret = cbs->istatus;
|
|
||||||
|
|
||||||
if (ret != CBS_IDLE)
|
|
||||||
ret = gru_wait_proc(cb);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 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
|
* mean TLB mis - only fatal errors such as memory parity error or user
|
||||||
* bugs will cause termination.
|
* bugs will cause termination.
|
||||||
*/
|
*/
|
||||||
static inline void gru_wait_abort(void *cb)
|
static inline void gru_wait_abort(void *cb)
|
||||||
{
|
{
|
||||||
struct gru_control_block_status *cbs = (void *)cb;
|
gru_wait_abort_proc(cb);
|
||||||
|
|
||||||
if (cbs->istatus != CBS_IDLE)
|
|
||||||
gru_wait_abort_proc(cb);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue