Commit 9e6b6b81 authored by Tyrel Datwyler's avatar Tyrel Datwyler Committed by Martin K. Petersen

scsi: ibmvfc: Define hcall wrapper for registering a Sub-CRQ

Sub-CRQs are registred with firmware via a hypercall. Abstract that
interface into a simpler helper function.

Link: https://lore.kernel.org/r/20210114203148.246656-6-tyreld@linux.ibm.comReviewed-by: default avatarBrian King <brking@linux.vnet.ibm.com>
Signed-off-by: default avatarTyrel Datwyler <tyreld@linux.ibm.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent bb35ecb2
...@@ -138,6 +138,20 @@ static void ibmvfc_tgt_move_login(struct ibmvfc_target *); ...@@ -138,6 +138,20 @@ static void ibmvfc_tgt_move_login(struct ibmvfc_target *);
static const char *unknown_error = "unknown error"; static const char *unknown_error = "unknown error";
static long h_reg_sub_crq(unsigned long unit_address, unsigned long ioba,
unsigned long length, unsigned long *cookie,
unsigned long *irq)
{
unsigned long retbuf[PLPAR_HCALL_BUFSIZE];
long rc;
rc = plpar_hcall(H_REG_SUB_CRQ, retbuf, unit_address, ioba, length);
*cookie = retbuf[0];
*irq = retbuf[1];
return rc;
}
static int ibmvfc_check_caps(struct ibmvfc_host *vhost, unsigned long cap_flags) static int ibmvfc_check_caps(struct ibmvfc_host *vhost, unsigned long cap_flags)
{ {
u64 host_caps = be64_to_cpu(vhost->login_buf->resp.capabilities); u64 host_caps = be64_to_cpu(vhost->login_buf->resp.capabilities);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment