mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
FROMGIT: scsi: ufs: Remove ufshcd_any_tag_in_use()
Use hba->outstanding_reqs instead of ufshcd_any_tag_in_use(). This patch
prepares for removal of the blk_mq_start_request() call from
ufshcd_wait_for_dev_cmd(). blk_mq_tagset_busy_iter() only iterates over
started requests.
Link: https://lore.kernel.org/r/20211203231950.193369-8-bvanassche@acm.org
Tested-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Bean Huo <beanhuo@micron.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
(cherry picked from commit bd0b353831 git://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next)
Bug: 204438323
Change-Id: Ib43ac46cfb8094d0727af060c90a709d5430ecac
Signed-off-by: Bart Van Assche <bvanassche@google.com>
This commit is contained in:
committed by
Bart Van Assche
parent
f531b624a6
commit
9d0179eda1
@@ -1375,25 +1375,6 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static bool ufshcd_is_busy(struct request *req, void *priv, bool reserved)
|
||||
{
|
||||
int *busy = priv;
|
||||
|
||||
WARN_ON_ONCE(reserved);
|
||||
(*busy)++;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Whether or not any tag is in use by a request that is in progress. */
|
||||
static bool ufshcd_any_tag_in_use(struct ufs_hba *hba)
|
||||
{
|
||||
struct request_queue *q = hba->cmd_queue;
|
||||
int busy = 0;
|
||||
|
||||
blk_mq_tagset_busy_iter(q->tag_set, ufshcd_is_busy, &busy);
|
||||
return busy;
|
||||
}
|
||||
|
||||
static int ufshcd_devfreq_get_dev_status(struct device *dev,
|
||||
struct devfreq_dev_status *stat)
|
||||
{
|
||||
@@ -1792,7 +1773,7 @@ static void ufshcd_gate_work(struct work_struct *work)
|
||||
|
||||
if (hba->clk_gating.active_reqs
|
||||
|| hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL
|
||||
|| ufshcd_any_tag_in_use(hba) || hba->outstanding_tasks
|
||||
|| hba->outstanding_reqs || hba->outstanding_tasks
|
||||
|| hba->active_uic_cmd || hba->uic_async_done)
|
||||
goto rel_lock;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user