aboutsummaryrefslogtreecommitdiffstats
path: root/virt/kvm/arm/vgic/vgic-its.c
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2016-07-17 17:38:32 -0400
committerMarc Zyngier <marc.zyngier@arm.com>2016-07-18 13:15:19 -0400
commita3e7aa271eec50a674d33bb6eafa51c5f1e5f51f (patch)
treef210717bd1e421204143be28adce5b9c383e842f /virt/kvm/arm/vgic/vgic-its.c
parent6d03a68f8054430cba28e49d9e46c1cd4db39a70 (diff)
KVM: arm64: vgic-its: Make vgic_its_cmd_handle_mapi similar to other handlers
vgic_its_cmd_handle_mapi has an extra "subcmd" argument, which is already contained in the command buffer that all command handlers obtain from the command queue. Let's drop it, as it is not that useful. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'virt/kvm/arm/vgic/vgic-its.c')
-rw-r--r--virt/kvm/arm/vgic/vgic-its.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/virt/kvm/arm/vgic/vgic-its.c b/virt/kvm/arm/vgic/vgic-its.c
index 996e3e19b53f..ec7e07bc2559 100644
--- a/virt/kvm/arm/vgic/vgic-its.c
+++ b/virt/kvm/arm/vgic/vgic-its.c
@@ -688,7 +688,7 @@ static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id)
688 * Must be called with its_lock mutex held. 688 * Must be called with its_lock mutex held.
689 */ 689 */
690static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its, 690static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
691 u64 *its_cmd, u8 subcmd) 691 u64 *its_cmd)
692{ 692{
693 u32 device_id = its_cmd_get_deviceid(its_cmd); 693 u32 device_id = its_cmd_get_deviceid(its_cmd);
694 u32 event_id = its_cmd_get_id(its_cmd); 694 u32 event_id = its_cmd_get_id(its_cmd);
@@ -711,7 +711,7 @@ static int vgic_its_cmd_handle_mapi(struct kvm *kvm, struct vgic_its *its,
711 new_coll = collection; 711 new_coll = collection;
712 } 712 }
713 713
714 if (subcmd == GITS_CMD_MAPTI) 714 if (its_cmd_get_command(its_cmd) == GITS_CMD_MAPTI)
715 lpi_nr = its_cmd_get_physical_id(its_cmd); 715 lpi_nr = its_cmd_get_physical_id(its_cmd);
716 else 716 else
717 lpi_nr = event_id; 717 lpi_nr = event_id;
@@ -999,11 +999,10 @@ static int vgic_its_cmd_handle_int(struct kvm *kvm, struct vgic_its *its,
999static int vgic_its_handle_command(struct kvm *kvm, struct vgic_its *its, 999static int vgic_its_handle_command(struct kvm *kvm, struct vgic_its *its,
1000 u64 *its_cmd) 1000 u64 *its_cmd)
1001{ 1001{
1002 u8 cmd = its_cmd_get_command(its_cmd);
1003 int ret = -ENODEV; 1002 int ret = -ENODEV;
1004 1003
1005 mutex_lock(&its->its_lock); 1004 mutex_lock(&its->its_lock);
1006 switch (cmd) { 1005 switch (its_cmd_get_command(its_cmd)) {
1007 case GITS_CMD_MAPD: 1006 case GITS_CMD_MAPD:
1008 ret = vgic_its_cmd_handle_mapd(kvm, its, its_cmd); 1007 ret = vgic_its_cmd_handle_mapd(kvm, its, its_cmd);
1009 break; 1008 break;
@@ -1011,10 +1010,10 @@ static int vgic_its_handle_command(struct kvm *kvm, struct vgic_its *its,
1011 ret = vgic_its_cmd_handle_mapc(kvm, its, its_cmd); 1010 ret = vgic_its_cmd_handle_mapc(kvm, its, its_cmd);
1012 break; 1011 break;
1013 case GITS_CMD_MAPI: 1012 case GITS_CMD_MAPI:
1014 ret = vgic_its_cmd_handle_mapi(kvm, its, its_cmd, cmd); 1013 ret = vgic_its_cmd_handle_mapi(kvm, its, its_cmd);
1015 break; 1014 break;
1016 case GITS_CMD_MAPTI: 1015 case GITS_CMD_MAPTI:
1017 ret = vgic_its_cmd_handle_mapi(kvm, its, its_cmd, cmd); 1016 ret = vgic_its_cmd_handle_mapi(kvm, its, its_cmd);
1018 break; 1017 break;
1019 case GITS_CMD_MOVI: 1018 case GITS_CMD_MOVI:
1020 ret = vgic_its_cmd_handle_movi(kvm, its, its_cmd); 1019 ret = vgic_its_cmd_handle_movi(kvm, its, its_cmd);