[SCSI] hpsa: add controller base data-at-rest encryption compatibility ioaccel2
authorScott Teel <scott.teel@hp.com>
Tue, 18 Feb 2014 19:57:31 +0000 (13:57 -0600)
committerJames Bottomley <JBottomley@Parallels.com>
Sat, 15 Mar 2014 17:19:08 +0000 (10:19 -0700)
commitdd0e19f3ceb87a768d09ea4726ee33961665bfbb
tree6ff9bba8283523741b1df621f3a3b5ed011259ba
parent51c35139e1f93f3b33e6598afb972b720d7e898c
[SCSI] hpsa: add controller base data-at-rest encryption compatibility ioaccel2

Add controller-based data-at-rest encryption compatibility
to ioaccel2 path (HP SSD Smart Path).

Encryption feature requires driver to supply additional fields
for encryption enable, tweak index, and data encryption key index
in the ioaccel2 request structure.

Encryption enable flag and data encryption key index come from
raid_map data structure from raid offload command.

During ioaccel2 submission, check device structure's raid map to see if
encryption is enabled for the device. If so, call new function below.

Add function set_encrypt_ioaccel2 to set encryption flag, data encryption key
index, and calculate tweak value from request's logical block address.

Signed-off-by: Scott Teel <scott.teel@hp.com>
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/hpsa.c
drivers/scsi/hpsa_cmd.h