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:
Родитель
6471cd4d6c
Коммит
9f2501142b
|
@ -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,34 +635,31 @@ 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);
|
||||
gru_wait_abort_proc(cb);
|
||||
}
|
||||
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче