mmc: cmdq: trigger get queue status after dcmd
CMDQ spec defines periodic SEND_STATUS mechanism to poll on READY tasks in the device. When DAT lines are in IDLE the counter counts from its reset value to '0' and then triggers SEND_STATUS command. When CMD13 is completed and also the syncing of the device status to HCLK domain is done there is a 1 cycle pulse to reload the counter with timer reset value so that the counting can start over. In rare cases, when the 'done' pulse for reloading the counter happens in parallel to a BUSY state of direct command - the IDLE counter is not reloaded and can't trigger another CMD13. If this scenario happens when there are pending tasks which are not 'READY' yet - it can lead to a deadlock, since there is no other mechainsm to send CMD13, and CQE will never get READY on the pending tasks. Hence, trigger a send status command after DCMD is completed as a work-around to the above issue. Change-Id: Ice3d1bdaf94ba198ae6955a0e918de45ff090cd4 Signed-off-by:Asutosh Das <asutoshd@codeaurora.org> Signed-off-by:
Sahitya Tummala <stummala@codeaurora.org> Signed-off-by:
Ram Prakash Gupta <rampraka@codeaurora.org>
Loading
Please register or sign in to comment