diff options
author | Uma Krishnan <ukrishn@linux.vnet.ibm.com> | 2018-03-26 19:32:29 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-04-19 02:32:48 +0300 |
commit | 8b7a55215000496a6284bc15a2cb47f46ae78a80 (patch) | |
tree | d31d7ac53e04ebfd8e11d65618e5de94e1717868 /drivers/scsi/cxlflash | |
parent | b18718c626919f475f82eec6a4940540e7ce44da (diff) | |
download | linux-8b7a55215000496a6284bc15a2cb47f46ae78a80.tar.xz |
scsi: cxlflash: Support image reload policy modification
On a PERST, the AFU image can be reloaded or left intact. Provide means to set
this image reload policy.
Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/cxlflash')
-rw-r--r-- | drivers/scsi/cxlflash/ocxl_hw.c | 13 | ||||
-rw-r--r-- | drivers/scsi/cxlflash/ocxl_hw.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c index 21915b726106..f26bbb793f4e 100644 --- a/drivers/scsi/cxlflash/ocxl_hw.c +++ b/drivers/scsi/cxlflash/ocxl_hw.c @@ -252,6 +252,18 @@ out: } /** + * ocxlflash_perst_reloads_same_image() - sets the image reload policy + * @afu_cookie: Hardware AFU associated with the host. + * @image: Whether to load the same image on PERST. + */ +static void ocxlflash_perst_reloads_same_image(void *afu_cookie, bool image) +{ + struct ocxl_hw_afu *afu = afu_cookie; + + afu->perst_same_image = image; +} + +/** * ocxlflash_destroy_afu() - destroy the AFU structure * @afu_cookie: AFU to be freed. */ @@ -501,6 +513,7 @@ const struct cxlflash_backend_ops cxlflash_ocxl_ops = { .get_context = ocxlflash_get_context, .dev_context_init = ocxlflash_dev_context_init, .release_context = ocxlflash_release_context, + .perst_reloads_same_image = ocxlflash_perst_reloads_same_image, .create_afu = ocxlflash_create_afu, .destroy_afu = ocxlflash_destroy_afu, .get_fd = ocxlflash_get_fd, diff --git a/drivers/scsi/cxlflash/ocxl_hw.h b/drivers/scsi/cxlflash/ocxl_hw.h index 55db0052a53c..b96387114515 100644 --- a/drivers/scsi/cxlflash/ocxl_hw.h +++ b/drivers/scsi/cxlflash/ocxl_hw.h @@ -17,6 +17,7 @@ struct ocxl_hw_afu { struct ocxlflash_context *ocxl_ctx; /* Host context */ struct pci_dev *pdev; /* PCI device */ struct device *dev; /* Generic device */ + bool perst_same_image; /* Same image loaded on perst */ struct ocxl_fn_config fcfg; /* DVSEC config of the function */ struct ocxl_afu_config acfg; /* AFU configuration data */ |