sfc: Update and improve kernel-doc for efx_mcdi_state & efx_mcdi_iface
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
This commit is contained in:
@@ -11,14 +11,14 @@
|
|||||||
#define EFX_MCDI_H
|
#define EFX_MCDI_H
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum efx_mcdi_state
|
* enum efx_mcdi_state - MCDI request handling state
|
||||||
* @MCDI_STATE_QUIESCENT: No pending MCDI requests. If the caller holds the
|
* @MCDI_STATE_QUIESCENT: No pending MCDI requests. If the caller holds the
|
||||||
* mcdi_lock then they are able to move to MCDI_STATE_RUNNING
|
* mcdi @iface_lock then they are able to move to %MCDI_STATE_RUNNING
|
||||||
* @MCDI_STATE_RUNNING: There is an MCDI request pending. Only the thread that
|
* @MCDI_STATE_RUNNING: There is an MCDI request pending. Only the thread that
|
||||||
* moved into this state is allowed to move out of it.
|
* moved into this state is allowed to move out of it.
|
||||||
* @MCDI_STATE_COMPLETED: An MCDI request has completed, but the owning thread
|
* @MCDI_STATE_COMPLETED: An MCDI request has completed, but the owning thread
|
||||||
* has not yet consumed the result. For all other threads, equivalent to
|
* has not yet consumed the result. For all other threads, equivalent to
|
||||||
* MCDI_STATE_RUNNING.
|
* %MCDI_STATE_RUNNING.
|
||||||
*/
|
*/
|
||||||
enum efx_mcdi_state {
|
enum efx_mcdi_state {
|
||||||
MCDI_STATE_QUIESCENT,
|
MCDI_STATE_QUIESCENT,
|
||||||
@@ -32,25 +32,23 @@ enum efx_mcdi_mode {
|
|||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct efx_mcdi_iface
|
* struct efx_mcdi_iface - MCDI protocol context
|
||||||
* @state: Interface state. Waited for by mcdi_wq.
|
* @state: Request handling state. Waited for by @wq.
|
||||||
* @wq: Wait queue for threads waiting for state != STATE_RUNNING
|
|
||||||
* @iface_lock: Protects @credits, @seqno, @resprc, @resplen
|
|
||||||
* @mode: Poll for mcdi completion, or wait for an mcdi_event.
|
* @mode: Poll for mcdi completion, or wait for an mcdi_event.
|
||||||
* Serialised by @lock
|
* @wq: Wait queue for threads waiting for @state != %MCDI_STATE_RUNNING
|
||||||
|
* @iface_lock: Serialises access to all the following fields
|
||||||
* @seqno: The next sequence number to use for mcdi requests.
|
* @seqno: The next sequence number to use for mcdi requests.
|
||||||
* Serialised by @lock
|
|
||||||
* @credits: Number of spurious MCDI completion events allowed before we
|
* @credits: Number of spurious MCDI completion events allowed before we
|
||||||
* trigger a fatal error. Protected by @lock
|
* trigger a fatal error
|
||||||
* @resprc: Response error/success code (Linux numbering)
|
* @resprc: Response error/success code (Linux numbering)
|
||||||
* @resp_hdr_len: Response header length
|
* @resp_hdr_len: Response header length
|
||||||
* @resp_data_len: Response data (SDU or error) length
|
* @resp_data_len: Response data (SDU or error) length
|
||||||
*/
|
*/
|
||||||
struct efx_mcdi_iface {
|
struct efx_mcdi_iface {
|
||||||
atomic_t state;
|
atomic_t state;
|
||||||
|
enum efx_mcdi_mode mode;
|
||||||
wait_queue_head_t wq;
|
wait_queue_head_t wq;
|
||||||
spinlock_t iface_lock;
|
spinlock_t iface_lock;
|
||||||
enum efx_mcdi_mode mode;
|
|
||||||
unsigned int credits;
|
unsigned int credits;
|
||||||
unsigned int seqno;
|
unsigned int seqno;
|
||||||
int resprc;
|
int resprc;
|
||||||
|
Reference in New Issue
Block a user