mirror of
https://git.planet-casio.com/Lephenixnoir/gint.git
synced 2024-12-28 20:43:36 +01:00
asyncio: remove unused field asyncio_op_t.flying_w
This commit is contained in:
parent
af5c16a3d3
commit
6910714c2c
2 changed files with 17 additions and 12 deletions
|
@ -53,15 +53,18 @@
|
||||||
|
|
||||||
The invariants and meaning for each state are as follow:
|
The invariants and meaning for each state are as follow:
|
||||||
|
|
||||||
State Characterization Description
|
State(s) Characterization Description
|
||||||
============================================================================
|
============================================================================
|
||||||
IDLE type == ASYNCIO_NONE No I/O operation
|
IDLE type == ASYNCIO_NONE No I/O operation
|
||||||
PENDING data_w && !flying_w \ Ready to write pending data
|
----------------------------------------------------------------------------
|
||||||
&& round_size == 0
|
PENDING data_w && round_size == 0 Ready to write pending data
|
||||||
WRITING round_size > 0 CPU/DMA write to HW in progress
|
----------------------------------------------------------------------------
|
||||||
FLYING-WRITE flying_w && type == WRITE HW transmission in progress
|
WRITING, round_size > 0 CPU/DMA write to HW in progress
|
||||||
|
FLYING-WRITE HW transmission in progress
|
||||||
|
----------------------------------------------------------------------------
|
||||||
IN-PROGRESS !data_w && type == WRITE Waiting for write(2) or fsync(2)
|
IN-PROGRESS !data_w && type == WRITE Waiting for write(2) or fsync(2)
|
||||||
FLYING-SYNC flying_w && type == SYNC HW commit in progress
|
----------------------------------------------------------------------------
|
||||||
|
FLYING-SYNC type == ASYNCIO_SYNC HW commit in progress
|
||||||
============================================================================
|
============================================================================
|
||||||
|
|
||||||
For a read:
|
For a read:
|
||||||
|
@ -87,8 +90,11 @@
|
||||||
State Characterization Description
|
State Characterization Description
|
||||||
============================================================================
|
============================================================================
|
||||||
IDLE-EMPTY type == ASYNCIO_NONE No I/O operation
|
IDLE-EMPTY type == ASYNCIO_NONE No I/O operation
|
||||||
|
----------------------------------------------------------------------------
|
||||||
IDLE-READY !data_r && buffer_size > 0 Hardware waiting for us to read
|
IDLE-READY !data_r && buffer_size > 0 Hardware waiting for us to read
|
||||||
|
----------------------------------------------------------------------------
|
||||||
WAITING data_r && !buffer_size Waiting for further HW data
|
WAITING data_r && !buffer_size Waiting for further HW data
|
||||||
|
----------------------------------------------------------------------------
|
||||||
READING round_size > 0 DMA/CPU read from HW in progress
|
READING round_size > 0 DMA/CPU read from HW in progress
|
||||||
============================================================================
|
============================================================================
|
||||||
|
|
||||||
|
@ -127,9 +133,6 @@ typedef volatile struct
|
||||||
Usually, this is assigned for the duration of hardware transaction.
|
Usually, this is assigned for the duration of hardware transaction.
|
||||||
This value is user-managed and not modified by asyncio_op functions. */
|
This value is user-managed and not modified by asyncio_op functions. */
|
||||||
uint8_t controller;
|
uint8_t controller;
|
||||||
/* Whether a hardware operation is in progress ("flying" write states) */
|
|
||||||
// TODO: Do we actually set and maintain this member?!
|
|
||||||
bool flying_w;
|
|
||||||
|
|
||||||
/** Internal information **/
|
/** Internal information **/
|
||||||
|
|
||||||
|
|
|
@ -11,9 +11,12 @@ bool asyncio_op_busy(asyncio_op_t const *op)
|
||||||
/* WAITING and READING states are busy */
|
/* WAITING and READING states are busy */
|
||||||
if(op->type == ASYNCIO_READ)
|
if(op->type == ASYNCIO_READ)
|
||||||
return op->round_size || op->data_r != NULL;
|
return op->round_size || op->data_r != NULL;
|
||||||
/* WRITING, FLYING-WRITE, FLYING-COMMIT and PENDING states are busy */
|
/* WRITING, FLYING-WRITE and PENDING states are busy */
|
||||||
if(op->type == ASYNCIO_WRITE)
|
if(op->type == ASYNCIO_WRITE)
|
||||||
return op->round_size || op->flying_w || op->data_w != NULL;
|
return op->data_w != NULL;
|
||||||
|
/* FLYING-COMMIT state is busy */
|
||||||
|
if(op->type == ASYNCIO_SYNC)
|
||||||
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +65,6 @@ void asyncio_op_finish_call(asyncio_op_t *op)
|
||||||
op->size = 0;
|
op->size = 0;
|
||||||
op->callback = GINT_CALL_NULL;
|
op->callback = GINT_CALL_NULL;
|
||||||
op->round_size = 0;
|
op->round_size = 0;
|
||||||
op->flying_w = false;
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
asyncio_op_clear(op);
|
asyncio_op_clear(op);
|
||||||
|
|
Loading…
Reference in a new issue