forked from luck/tmp_suning_uos_patched
dmaengine: bcm-sba-raid: Remove redundant SBA_REQUEST_STATE_RECEIVED
The SBA_REQUEST_STATE_RECEIVED state is now redundant because received sba_request are immediately freed or moved to completed list in sba_process_received_request(). This patch removes redundant SBA_REQUEST_STATE_RECEIVED state. Signed-off-by: Anup Patel <anup.patel@broadcom.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
d6ffd2395a
commit
b99c238669
|
@ -98,9 +98,8 @@ enum sba_request_flags {
|
|||
SBA_REQUEST_STATE_ALLOCED = 0x002,
|
||||
SBA_REQUEST_STATE_PENDING = 0x004,
|
||||
SBA_REQUEST_STATE_ACTIVE = 0x008,
|
||||
SBA_REQUEST_STATE_RECEIVED = 0x010,
|
||||
SBA_REQUEST_STATE_COMPLETED = 0x020,
|
||||
SBA_REQUEST_STATE_ABORTED = 0x040,
|
||||
SBA_REQUEST_STATE_COMPLETED = 0x010,
|
||||
SBA_REQUEST_STATE_ABORTED = 0x020,
|
||||
SBA_REQUEST_STATE_MASK = 0x0ff,
|
||||
SBA_REQUEST_FENCE = 0x100,
|
||||
};
|
||||
|
@ -160,7 +159,6 @@ struct sba_device {
|
|||
struct list_head reqs_alloc_list;
|
||||
struct list_head reqs_pending_list;
|
||||
struct list_head reqs_active_list;
|
||||
struct list_head reqs_received_list;
|
||||
struct list_head reqs_completed_list;
|
||||
struct list_head reqs_aborted_list;
|
||||
struct list_head reqs_free_list;
|
||||
|
@ -307,18 +305,6 @@ static void _sba_complete_request(struct sba_device *sba,
|
|||
sba->reqs_fence = false;
|
||||
}
|
||||
|
||||
/* Note: Must be called with sba->reqs_lock held */
|
||||
static void _sba_received_request(struct sba_device *sba,
|
||||
struct sba_request *req)
|
||||
{
|
||||
lockdep_assert_held(&sba->reqs_lock);
|
||||
req->flags &= ~SBA_REQUEST_STATE_MASK;
|
||||
req->flags |= SBA_REQUEST_STATE_RECEIVED;
|
||||
list_move_tail(&req->node, &sba->reqs_received_list);
|
||||
if (list_empty(&sba->reqs_active_list))
|
||||
sba->reqs_fence = false;
|
||||
}
|
||||
|
||||
static void sba_free_chained_requests(struct sba_request *req)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
@ -360,10 +346,6 @@ static void sba_cleanup_nonpending_requests(struct sba_device *sba)
|
|||
list_for_each_entry_safe(req, req1, &sba->reqs_alloc_list, node)
|
||||
_sba_free_request(sba, req);
|
||||
|
||||
/* Freeup all received request */
|
||||
list_for_each_entry_safe(req, req1, &sba->reqs_received_list, node)
|
||||
_sba_free_request(sba, req);
|
||||
|
||||
/* Freeup all completed request */
|
||||
list_for_each_entry_safe(req, req1, &sba->reqs_completed_list, node)
|
||||
_sba_free_request(sba, req);
|
||||
|
@ -482,9 +464,6 @@ static void sba_process_received_request(struct sba_device *sba,
|
|||
_sba_free_request(sba, nreq);
|
||||
INIT_LIST_HEAD(&first->next);
|
||||
|
||||
/* Mark request as received */
|
||||
_sba_received_request(sba, first);
|
||||
|
||||
/* The client is allowed to attach dependent operations
|
||||
* until 'ack' is set
|
||||
*/
|
||||
|
@ -1498,7 +1477,6 @@ static int sba_prealloc_channel_resources(struct sba_device *sba)
|
|||
INIT_LIST_HEAD(&sba->reqs_alloc_list);
|
||||
INIT_LIST_HEAD(&sba->reqs_pending_list);
|
||||
INIT_LIST_HEAD(&sba->reqs_active_list);
|
||||
INIT_LIST_HEAD(&sba->reqs_received_list);
|
||||
INIT_LIST_HEAD(&sba->reqs_completed_list);
|
||||
INIT_LIST_HEAD(&sba->reqs_aborted_list);
|
||||
INIT_LIST_HEAD(&sba->reqs_free_list);
|
||||
|
|
Loading…
Reference in New Issue
Block a user