Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86739e75 authored by John Stultz's avatar John Stultz Committed by Alistair Delva
Browse files

ANDROID: scsi: ufs: Add quirk bit for controllers that don't play well with inline crypto



A number of devices (hikey960 and db845c at least) don't work
well with the inline crypto enablement, causing them to crash in
early boot.

In order to allow those boards to continue booting, add a
BROKEN_CRYPTO quirk flag that the drivers can enable until we
sort out how/if they can be fixed.

Bug: 137270441
Change-Id: I9f2c3d75412e0aaa22fe6e7c9929cd18b1efa9ba
Signed-off-by: default avatarJohn Stultz <john.stultz@linaro.org>
Signed-off-by: default avatarSatya Tangirala <satyat@google.com>
parent d2e05e75
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -313,7 +313,8 @@ int ufshcd_hba_init_crypto_spec(struct ufs_hba *hba,
	hba->caps &= ~UFSHCD_CAP_CRYPTO;

	/* Return 0 if crypto support isn't present */
	if (!(hba->capabilities & MASK_CRYPTO_SUPPORT))
	if (!(hba->capabilities & MASK_CRYPTO_SUPPORT) ||
	    (hba->quirks & UFSHCD_QUIRK_BROKEN_CRYPTO))
		goto out;

	/*
+7 −0
Original line number Diff line number Diff line
@@ -647,6 +647,13 @@ struct ufs_hba {
	 * enabled via HCE register.
	 */
	#define UFSHCI_QUIRK_BROKEN_HCE				0x400

	/*
	 * This quirk needs to be enabled if the host controller advertises
	 * inline encryption support but it doesn't work correctly.
	 */
	#define UFSHCD_QUIRK_BROKEN_CRYPTO			0x800

	unsigned int quirks;	/* Deviations from standard UFSHCI spec. */

	/* Device deviations from standard UFS device spec. */