在 2025/3/24 下午5:37, Bibo Mao 写道:
The meaning of macro definition STATUS_LO_START is simliar with
PCH_PIC_INT_STATUS, only that offset is different, the same for
macro POL_LO_START. Now remove these duplicated macro definitions.

Signed-off-by: Bibo Mao <maob...@loongson.cn>
---
  hw/intc/loongarch_pch_pic.c            | 20 ++++++++++----------
  include/hw/intc/loongarch_pic_common.h |  5 -----
  2 files changed, 10 insertions(+), 15 deletions(-)
Reviewed-by: Song Gao <gaos...@loongson.cn>

Thanks.
Song Gao
diff --git a/hw/intc/loongarch_pch_pic.c b/hw/intc/loongarch_pch_pic.c
index 4c845ba5e9..a2d9930ac9 100644
--- a/hw/intc/loongarch_pch_pic.c
+++ b/hw/intc/loongarch_pch_pic.c
@@ -208,19 +208,19 @@ static uint64_t loongarch_pch_pic_high_readw(void 
*opaque, hwaddr addr,
  {
      LoongArchPICCommonState *s = LOONGARCH_PIC_COMMON(opaque);
      uint64_t val = 0;
-    uint32_t offset = addr & 0xfff;
+    uint32_t offset = addr + PCH_PIC_INT_STATUS;
switch (offset) {
-    case STATUS_LO_START:
+    case PCH_PIC_INT_STATUS:
          val = (uint32_t)(s->intisr & (~s->int_mask));
          break;
-    case STATUS_HI_START:
+    case PCH_PIC_INT_STATUS + 4:
          val = (s->intisr & (~s->int_mask)) >> 32;
          break;
-    case POL_LO_START:
+    case PCH_PIC_INT_POL:
          val = (uint32_t)s->int_polarity;
          break;
-    case POL_HI_START:
+    case PCH_PIC_INT_POL + 4:
          val = s->int_polarity >> 32;
          break;
      default:
@@ -236,21 +236,21 @@ static void loongarch_pch_pic_high_writew(void *opaque, 
hwaddr addr,
  {
      LoongArchPICCommonState *s = LOONGARCH_PIC_COMMON(opaque);
      uint32_t offset, data = (uint32_t)value;
-    offset = addr & 0xfff;
+    offset = addr + PCH_PIC_INT_STATUS;
trace_loongarch_pch_pic_high_writew(size, addr, data); switch (offset) {
-    case STATUS_LO_START:
+    case PCH_PIC_INT_STATUS:
          s->intisr = get_writew_val(s->intisr, data, 0);
          break;
-    case STATUS_HI_START:
+    case PCH_PIC_INT_STATUS + 4:
          s->intisr = get_writew_val(s->intisr, data, 1);
          break;
-    case POL_LO_START:
+    case PCH_PIC_INT_POL:
          s->int_polarity = get_writew_val(s->int_polarity, data, 0);
          break;
-    case POL_HI_START:
+    case PCH_PIC_INT_POL + 4:
          s->int_polarity = get_writew_val(s->int_polarity, data, 1);
          break;
      default:
diff --git a/include/hw/intc/loongarch_pic_common.h 
b/include/hw/intc/loongarch_pic_common.h
index b33bebb129..ef6edc15bf 100644
--- a/include/hw/intc/loongarch_pic_common.h
+++ b/include/hw/intc/loongarch_pic_common.h
@@ -26,11 +26,6 @@
  #define PCH_PIC_INT_STATUS              0x3a0
  #define PCH_PIC_INT_POL                 0x3e0
-#define STATUS_LO_START 0
-#define STATUS_HI_START                 0x4
-#define POL_LO_START                    0x40
-#define POL_HI_START                    0x44
-
  #define TYPE_LOONGARCH_PIC_COMMON "loongarch_pic_common"
  OBJECT_DECLARE_TYPE(LoongArchPICCommonState,
                      LoongArchPICCommonClass, LOONGARCH_PIC_COMMON)


Reply via email to