scsi: cxlflash: Support process specific mappings
Once the context is started, the assigned MMIO space can be mapped and unmapped. Provide means to map and unmap the context MMIO space. 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>
This commit is contained in:
parent
6b938ac910
commit
012f394cb8
|
@ -150,6 +150,28 @@ err1:
|
|||
goto out;
|
||||
}
|
||||
|
||||
/**
|
||||
* ocxlflash_psa_map() - map the process specific MMIO space
|
||||
* @ctx_cookie: Adapter context for which the mapping needs to be done.
|
||||
*
|
||||
* Return: MMIO pointer of the mapped region
|
||||
*/
|
||||
static void __iomem *ocxlflash_psa_map(void *ctx_cookie)
|
||||
{
|
||||
struct ocxlflash_context *ctx = ctx_cookie;
|
||||
|
||||
return ioremap(ctx->psn_phys, ctx->psn_size);
|
||||
}
|
||||
|
||||
/**
|
||||
* ocxlflash_psa_unmap() - unmap the process specific MMIO space
|
||||
* @addr: MMIO pointer to unmap.
|
||||
*/
|
||||
static void ocxlflash_psa_unmap(void __iomem *addr)
|
||||
{
|
||||
iounmap(addr);
|
||||
}
|
||||
|
||||
/**
|
||||
* ocxlflash_process_element() - get process element of the adapter context
|
||||
* @ctx_cookie: Adapter context associated with the process element.
|
||||
|
@ -618,6 +640,8 @@ static void *ocxlflash_fops_get_context(struct file *file)
|
|||
/* Backend ops to ocxlflash services */
|
||||
const struct cxlflash_backend_ops cxlflash_ocxl_ops = {
|
||||
.module = THIS_MODULE,
|
||||
.psa_map = ocxlflash_psa_map,
|
||||
.psa_unmap = ocxlflash_psa_unmap,
|
||||
.process_element = ocxlflash_process_element,
|
||||
.start_context = ocxlflash_start_context,
|
||||
.set_master = ocxlflash_set_master,
|
||||
|
|
Loading…
Reference in New Issue