diff mbox series

[v2] s390/vfio-ap: GISA: sort out physical vs virtual pointers usage

Message ID 20221118100429.70453-1-nrb@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series [v2] s390/vfio-ap: GISA: sort out physical vs virtual pointers usage | expand

Commit Message

Nico Boehr Nov. 18, 2022, 10:04 a.m. UTC
Fix virtual vs physical address confusion (which currently are the same)
for the GISA when enabling the IRQ.

Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
---
v1->v2:
* remove useless cast

 drivers/s390/crypto/vfio_ap_ops.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Claudio Imbrenda Nov. 18, 2022, 10:43 a.m. UTC | #1
On Fri, 18 Nov 2022 11:04:29 +0100
Nico Boehr <nrb@linux.ibm.com> wrote:

> Fix virtual vs physical address confusion (which currently are the same)
> for the GISA when enabling the IRQ.
> 
> Signed-off-by: Nico Boehr <nrb@linux.ibm.com>
> Reviewed-by: Halil Pasic <pasic@linux.ibm.com>

Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>

> ---
> v1->v2:
> * remove useless cast
> 
>  drivers/s390/crypto/vfio_ap_ops.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
> index 0b4cc8c597ae..205a00105858 100644
> --- a/drivers/s390/crypto/vfio_ap_ops.c
> +++ b/drivers/s390/crypto/vfio_ap_ops.c
> @@ -429,7 +429,7 @@ static struct ap_queue_status vfio_ap_irq_enable(struct vfio_ap_queue *q,
>  
>  	aqic_gisa.isc = nisc;
>  	aqic_gisa.ir = 1;
> -	aqic_gisa.gisa = (uint64_t)gisa >> 4;
> +	aqic_gisa.gisa = virt_to_phys(gisa) >> 4;
>  
>  	status = ap_aqic(q->apqn, aqic_gisa, h_nib);
>  	switch (status.response_code) {
diff mbox series

Patch

diff --git a/drivers/s390/crypto/vfio_ap_ops.c b/drivers/s390/crypto/vfio_ap_ops.c
index 0b4cc8c597ae..205a00105858 100644
--- a/drivers/s390/crypto/vfio_ap_ops.c
+++ b/drivers/s390/crypto/vfio_ap_ops.c
@@ -429,7 +429,7 @@  static struct ap_queue_status vfio_ap_irq_enable(struct vfio_ap_queue *q,
 
 	aqic_gisa.isc = nisc;
 	aqic_gisa.ir = 1;
-	aqic_gisa.gisa = (uint64_t)gisa >> 4;
+	aqic_gisa.gisa = virt_to_phys(gisa) >> 4;
 
 	status = ap_aqic(q->apqn, aqic_gisa, h_nib);
 	switch (status.response_code) {