Message ID | 1519683693-17113-1-git-send-email-ukrishn@linux.vnet.ibm.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
On 27/02/18 09:21, Uma Krishnan wrote: > Per the OCXL specification, the maximum PASID supported by the AFU is > indicated by a field within the configuration space. Similar to acTags, > implementations can choose to use any sub-range of PASID within their > assigned range. For cxlflash, the entire range is used. > > Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com> > Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> Reviewed-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Le 26/02/2018 à 23:21, Uma Krishnan a écrit : > Per the OCXL specification, the maximum PASID supported by the AFU is > indicated by a field within the configuration space. Similar to acTags, > implementations can choose to use any sub-range of PASID within their > assigned range. For cxlflash, the entire range is used. > > Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com> > Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com> > --- It sure helps to know you've got only one function/AFU :-) Reviewed-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> > drivers/scsi/cxlflash/ocxl_hw.c | 3 +++ > drivers/scsi/cxlflash/ocxl_hw.h | 2 ++ > 2 files changed, 5 insertions(+) > > diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c > index d01847d9..bd86eef 100644 > --- a/drivers/scsi/cxlflash/ocxl_hw.c > +++ b/drivers/scsi/cxlflash/ocxl_hw.c > @@ -111,6 +111,9 @@ static int ocxlflash_config_afu(struct pci_dev *pdev, struct ocxl_hw_afu *afu) > dev_dbg(dev, "%s: acTag base=%d enabled=%d\n", __func__, base, count); > afu->afu_actag_base = base; > afu->afu_actag_enabled = count; > + afu->max_pasid = 1 << acfg->pasid_supported_log; > + > + ocxl_config_set_afu_pasid(pdev, pos, 0, acfg->pasid_supported_log); > out: > return rc; > } > diff --git a/drivers/scsi/cxlflash/ocxl_hw.h b/drivers/scsi/cxlflash/ocxl_hw.h > index 9c675fa..a6f7796 100644 > --- a/drivers/scsi/cxlflash/ocxl_hw.h > +++ b/drivers/scsi/cxlflash/ocxl_hw.h > @@ -24,4 +24,6 @@ struct ocxl_hw_afu { > int fn_actag_enabled; /* Function acTag number enabled */ > int afu_actag_base; /* AFU acTag base */ > int afu_actag_enabled; /* AFU acTag number enabled */ > + > + int max_pasid; /* Maximum number of contexts */ > }; >
diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c index d01847d9..bd86eef 100644 --- a/drivers/scsi/cxlflash/ocxl_hw.c +++ b/drivers/scsi/cxlflash/ocxl_hw.c @@ -111,6 +111,9 @@ static int ocxlflash_config_afu(struct pci_dev *pdev, struct ocxl_hw_afu *afu) dev_dbg(dev, "%s: acTag base=%d enabled=%d\n", __func__, base, count); afu->afu_actag_base = base; afu->afu_actag_enabled = count; + afu->max_pasid = 1 << acfg->pasid_supported_log; + + ocxl_config_set_afu_pasid(pdev, pos, 0, acfg->pasid_supported_log); out: return rc; } diff --git a/drivers/scsi/cxlflash/ocxl_hw.h b/drivers/scsi/cxlflash/ocxl_hw.h index 9c675fa..a6f7796 100644 --- a/drivers/scsi/cxlflash/ocxl_hw.h +++ b/drivers/scsi/cxlflash/ocxl_hw.h @@ -24,4 +24,6 @@ struct ocxl_hw_afu { int fn_actag_enabled; /* Function acTag number enabled */ int afu_actag_base; /* AFU acTag base */ int afu_actag_enabled; /* AFU acTag number enabled */ + + int max_pasid; /* Maximum number of contexts */ };