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

Commit 0aab3881 authored by Maya Erez's avatar Maya Erez Committed by Saravana Kannan
Browse files

ANDROID: GKI: scsi: Adjust DBD setting in mode sense for caching mode page per LLD



Host sends MODE_SENSE_10 with caching mode page, to check if the device
supports the cache feature.
Some LLD standards requires DBD field to be set to 1.

This patch allows LLD to define the setting of DBD if required.

Change-Id: I7f6c0ff6613516c3ef49aacc0679b96b8bd9ccc8
Signed-off-by: default avatarMaya Erez <merez@codeaurora.org>
[mattw@codeaurora.org: resolved a trivial context conflict in
Scsi_Host struct definition]
Signed-off-by: default avatarMatt Wagantall <mattw@codeaurora.org>
[subhashj@codeaurora.org: resolved trivial merge conflicts]
Signed-off-by: default avatarSubhash Jadavani <subhashj@codeaurora.org>
Bug: 153569404
(cherry picked from commit 36c183b7430f9170497c4467e60a70d07fce239c)
Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
parent 15207c29
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2680,6 +2680,7 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer)
{
	int len = 0, res;
	struct scsi_device *sdp = sdkp->device;
	struct Scsi_Host *host = sdp->host;

	int dbd;
	int modepage;
@@ -2711,6 +2712,9 @@ sd_read_cache_type(struct scsi_disk *sdkp, unsigned char *buffer)
		dbd = 8;
	} else {
		modepage = 8;
		if (host->set_dbd_for_caching)
			dbd = 8;
		else
			dbd = 0;
	}

+6 −0
Original line number Diff line number Diff line
@@ -657,6 +657,12 @@ struct Scsi_Host {
	/* Host responded with short (<36 bytes) INQUIRY result */
	unsigned short_inquiry:1;

	/*
	 * Set "DBD" field in mode_sense caching mode page in case it is
	 * mandatory by LLD standard.
	 */
	unsigned set_dbd_for_caching:1;

	/*
	 * Optional work queue to be utilized by the transport
	 */