[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250701031504.1233777-2-maobibo@loongson.cn>
Date: Tue, 1 Jul 2025 11:15:01 +0800
From: Bibo Mao <maobibo@...ngson.cn>
To: Tianrui Zhao <zhaotianrui@...ngson.cn>,
Huacai Chen <chenhuacai@...nel.org>,
Xianglai Li <lixianglai@...ngson.cn>
Cc: kvm@...r.kernel.org,
loongarch@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: [PATCH v5 10/13] LoongArch: KVM: Remove local variable offset
Local variable offset is removed and addr is used directly.
Signed-off-by: Bibo Mao <maobibo@...ngson.cn>
---
arch/loongarch/kvm/intc/eiointc.c | 17 ++++++++---------
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/arch/loongarch/kvm/intc/eiointc.c b/arch/loongarch/kvm/intc/eiointc.c
index 5f2c291049b1..c2687fbee106 100644
--- a/arch/loongarch/kvm/intc/eiointc.c
+++ b/arch/loongarch/kvm/intc/eiointc.c
@@ -474,14 +474,13 @@ static int loongarch_eiointc_writeq(struct kvm_vcpu *vcpu,
int index, irq, ret = 0;
u8 cpu;
u64 data, old_data;
- gpa_t offset;
data = *(u64 *)val;
- offset = addr - EIOINTC_BASE;
+ addr -= EIOINTC_BASE;
- switch (offset) {
+ switch (addr) {
case EIOINTC_NODETYPE_START ... EIOINTC_NODETYPE_END:
- index = (offset - EIOINTC_NODETYPE_START) >> 3;
+ index = (addr - EIOINTC_NODETYPE_START) >> 3;
s->nodetype.reg_u64[index] = data;
break;
case EIOINTC_IPMAP_START ... EIOINTC_IPMAP_END:
@@ -489,11 +488,11 @@ static int loongarch_eiointc_writeq(struct kvm_vcpu *vcpu,
* ipmap cannot be set at runtime, can be set only at the beginning
* of irqchip driver, need not update upper irq level
*/
- index = (offset - EIOINTC_IPMAP_START) >> 3;
+ index = (addr - EIOINTC_IPMAP_START) >> 3;
s->ipmap.reg_u64 = data;
break;
case EIOINTC_ENABLE_START ... EIOINTC_ENABLE_END:
- index = (offset - EIOINTC_ENABLE_START) >> 3;
+ index = (addr - EIOINTC_ENABLE_START) >> 3;
old_data = s->enable.reg_u64[index];
s->enable.reg_u64[index] = data;
/*
@@ -520,11 +519,11 @@ static int loongarch_eiointc_writeq(struct kvm_vcpu *vcpu,
break;
case EIOINTC_BOUNCE_START ... EIOINTC_BOUNCE_END:
/* do not emulate hw bounced irq routing */
- index = (offset - EIOINTC_BOUNCE_START) >> 3;
+ index = (addr - EIOINTC_BOUNCE_START) >> 3;
s->bounce.reg_u64[index] = data;
break;
case EIOINTC_COREISR_START ... EIOINTC_COREISR_END:
- index = (offset - EIOINTC_COREISR_START) >> 3;
+ index = (addr - EIOINTC_COREISR_START) >> 3;
/* use attrs to get current cpu index */
cpu = vcpu->vcpu_id;
old_data = s->coreisr.reg_u64[cpu][index];
@@ -538,7 +537,7 @@ static int loongarch_eiointc_writeq(struct kvm_vcpu *vcpu,
}
break;
case EIOINTC_COREMAP_START ... EIOINTC_COREMAP_END:
- irq = offset - EIOINTC_COREMAP_START;
+ irq = addr - EIOINTC_COREMAP_START;
index = irq >> 3;
s->coremap.reg_u64[index] = data;
eiointc_update_sw_coremap(s, irq, data, sizeof(data), true);
--
2.39.3
Powered by blists - more mailing lists