mtip32xx: convert to use blk-mq
This rips out timeout handling, requeueing, etc in converting it to use blk-mq instead. Acked-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
bd6f0bba1d
commit
ffc771b3ca
File diff suppressed because it is too large
Load Diff
@ -331,12 +331,8 @@ struct mtip_cmd {
|
|||||||
*/
|
*/
|
||||||
void (*comp_func)(struct mtip_port *port,
|
void (*comp_func)(struct mtip_port *port,
|
||||||
int tag,
|
int tag,
|
||||||
void *data,
|
struct mtip_cmd *cmd,
|
||||||
int status);
|
int status);
|
||||||
/* Additional callback function that may be called by comp_func() */
|
|
||||||
void (*async_callback)(void *data, int status);
|
|
||||||
|
|
||||||
void *async_data; /* Addl. data passed to async_callback() */
|
|
||||||
|
|
||||||
int scatter_ents; /* Number of scatter list entries used */
|
int scatter_ents; /* Number of scatter list entries used */
|
||||||
|
|
||||||
@ -347,10 +343,6 @@ struct mtip_cmd {
|
|||||||
int retries; /* The number of retries left for this command. */
|
int retries; /* The number of retries left for this command. */
|
||||||
|
|
||||||
int direction; /* Data transfer direction */
|
int direction; /* Data transfer direction */
|
||||||
|
|
||||||
unsigned long comp_time; /* command completion time, in jiffies */
|
|
||||||
|
|
||||||
atomic_t active; /* declares if this command sent to the drive. */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Structure used to describe a port. */
|
/* Structure used to describe a port. */
|
||||||
@ -436,12 +428,6 @@ struct mtip_port {
|
|||||||
* or error handling is active
|
* or error handling is active
|
||||||
*/
|
*/
|
||||||
unsigned long cmds_to_issue[SLOTBITS_IN_LONGS];
|
unsigned long cmds_to_issue[SLOTBITS_IN_LONGS];
|
||||||
/*
|
|
||||||
* Array of command slots. Structure includes pointers to the
|
|
||||||
* command header and command table, and completion function and data
|
|
||||||
* pointers.
|
|
||||||
*/
|
|
||||||
struct mtip_cmd commands[MTIP_MAX_COMMAND_SLOTS];
|
|
||||||
/* Used by mtip_service_thread to wait for an event */
|
/* Used by mtip_service_thread to wait for an event */
|
||||||
wait_queue_head_t svc_wait;
|
wait_queue_head_t svc_wait;
|
||||||
/*
|
/*
|
||||||
@ -452,13 +438,7 @@ struct mtip_port {
|
|||||||
/*
|
/*
|
||||||
* Timer used to complete commands that have been active for too long.
|
* Timer used to complete commands that have been active for too long.
|
||||||
*/
|
*/
|
||||||
struct timer_list cmd_timer;
|
|
||||||
unsigned long ic_pause_timer;
|
unsigned long ic_pause_timer;
|
||||||
/*
|
|
||||||
* Semaphore used to block threads if there are no
|
|
||||||
* command slots available.
|
|
||||||
*/
|
|
||||||
struct semaphore cmd_slot;
|
|
||||||
|
|
||||||
/* Semaphore to control queue depth of unaligned IOs */
|
/* Semaphore to control queue depth of unaligned IOs */
|
||||||
struct semaphore cmd_slot_unal;
|
struct semaphore cmd_slot_unal;
|
||||||
@ -485,6 +465,8 @@ struct driver_data {
|
|||||||
|
|
||||||
struct request_queue *queue; /* Our request queue. */
|
struct request_queue *queue; /* Our request queue. */
|
||||||
|
|
||||||
|
struct blk_mq_tag_set tags; /* blk_mq tags */
|
||||||
|
|
||||||
struct mtip_port *port; /* Pointer to the port data structure. */
|
struct mtip_port *port; /* Pointer to the port data structure. */
|
||||||
|
|
||||||
unsigned product_type; /* magic value declaring the product type */
|
unsigned product_type; /* magic value declaring the product type */
|
||||||
|
Loading…
Reference in New Issue
Block a user