scsi: ufs: add support to allow non standard behaviours (quirks)

Some implementation of UFS host controller HW might have some non-standard
behaviours (quirks) when compared to behaviour specified by UFSHCI
specification. This patch add support to allow specifying all such quirks
to standard UFS host controller driver so standard driver takes them into
account. Currently only couple of quirks (UFSHCD_QUIRK_BROKEN_HIBERN8 &
UFSHCD_QUIRK_BROKEN_INTR_AGGR) are added but new quirks can be added as
and when other non standard behaviours are found.

Change-Id: Ie8e686bb59e7933a281a4ff189a35c71036b1e92
Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
This commit is contained in:
Subhash Jadavani 2013-08-28 20:20:27 +05:30 committed by Stephen Boyd
parent c234ff18f7
commit 850103c46e

View file

@ -284,6 +284,14 @@ struct ufs_hba {
void *priv;
unsigned int irq;
unsigned int quirks; /* Deviations from standard UFSHCI spec. */
/* Interrupt aggregation support is broken */
#define UFSHCD_QUIRK_BROKEN_INTR_AGGR (1<<0)
/* HIBERN8 support is broken */
#define UFSHCD_QUIRK_BROKEN_HIBERN8 (1<<1)
struct uic_command *active_uic_cmd;
struct mutex uic_cmd_mutex;