Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp154010pxb; Tue, 24 Aug 2021 23:17:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmkRvmEAfSr09+amlYvvKa6pyGwi0OrLb7x4eXjPJnFVgZzKqAeTxWNFECxZOXanoD7+zo X-Received: by 2002:a05:6402:2d8:: with SMTP id b24mr14058484edx.176.1629872245454; Tue, 24 Aug 2021 23:17:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629872245; cv=none; d=google.com; s=arc-20160816; b=gadaporqwWIX6RzY2zjG2iWR/M1V65ctqlWICyu9Oxxamz/mo2+Zl+laosen6dqaYA 3YfIKx/euM31NgqKDIKt1y3ubk8tA/kf01VhRkyiunKoRFBo25uRtawJLbbOi1X+KqBI 5/bP4RFfhQMTGLcdPogM8bsDVIAnYuOz8zdHPId15yYTbsHuN/RgWS8Oe0z02dBiGubY SKkVrUfRQBESoWgcjbUqX/Erd+5XZnCiSVCm/eMd1s80ofu+oowfnOWETvSYlOxkcfrA paKRwgb+hRw91JBrUtHn1yOqlHRRyuWUswtKa+HCmBwIWFBcrfOFcbMJMYVaL8/o5/uO UpJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=t4Vtdhtor1fZP7VJ5OGobv9B9plWVzGtFtCLQkjZr04=; b=BVxcRMMtcMPSrMfbVz69mKWqU1Sl/yQ1hm4VGZYUmKnj1ohdrCWaN18hu9ThyDU/rN RDNPa9WBt73wzEFYC5xg+2HWiwqIu/zqHNCakefgd1ZKmCJIQ5DIkkFtmHv74wmYdjvZ FpzRnMK6N8Rbs0un9+GZLaTsmcbkV0wo7eIvap7b5WaSWptN0Aecx1P+4uEsxOe4gAyd 458BzFGUw7Oz0n7B0uzCD6n9hRokrT092Lc6hQ76btdhkp4kGaUuytYvLd+B3HnS+4Xs KUQVSA3dwk2dRBF6C/TqVGKlHcb0VTBZdBj/Rp8+z/i0L38rjmXQ97kdcvbYjR2+7Qds JwRQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j12si8588472edr.598.2021.08.24.23.17.02; Tue, 24 Aug 2021 23:17:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238197AbhHYGNC (ORCPT + 99 others); Wed, 25 Aug 2021 02:13:02 -0400 Received: from mail.kernel.org ([198.145.29.99]:46204 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238072AbhHYGNB (ORCPT ); Wed, 25 Aug 2021 02:13:01 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id C590B6138B; Wed, 25 Aug 2021 06:12:14 +0000 (UTC) From: Huacai Chen To: Thomas Gleixner , Marc Zyngier Cc: linux-kernel@vger.kernel.org, Xuefeng Li , Huacai Chen , Jiaxun Yang , Huacai Chen Subject: [PATCH V3 00/10] irqchip: Add LoongArch-related irqchip drivers Date: Wed, 25 Aug 2021 14:11:42 +0800 Message-Id: <20210825061152.3396398-1-chenhuacai@loongson.cn> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V. LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit version (LA32S) and a 64-bit version (LA64). LoongArch use ACPI as its boot protocol LoongArch-specific interrupt controllers (similar to APIC) are already added in the next revision of ACPI Specification (current revision is 6.4). This patchset adds some irqchip drivers for LoongArch, it is preparing to add LoongArch support in mainline kernel, we can see a snapshot here: https://github.com/loongson/linux/tree/loongarch-next Cross-compile tool chain to build kernel: https://github.com/loongson/build-tools/releases Loongson and LoongArch documentations: https://github.com/loongson/LoongArch-Documentation LoongArch-specific interrupt controllers: https://mantis.uefi.org/mantis/view.php?id=2203 V1 -> V2: 1, Remove queued patches; 2, Move common logic of DT/ACPI probing to common functions; 3, Split .suspend()/.resume() functions to separate patches. V2 -> V3: 1, Fix a bug for loongson-pch-pic probe; 2, Some minor improvements for LPC controller; Huacai Chen: irqchip: Adjust Kconfig for Loongson. irqchip/loongson-pch-pic: Add ACPI init support. irqchip/loongson-pch-pic: Add suspend/resume support. irqchip/loongson-pch-msi: Add ACPI init support. irqchip/loongson-htvec: Add ACPI init support. irqchip/loongson-htvec: Add suspend/resume support. irqchip/loongson-liointc: Add ACPI init support. irqchip: Add LoongArch CPU interrupt controller support. irqchip: Add Loongson Extended I/O interrupt controller. irqchip: Add Loongson PCH LPC controller support. Signed-off-by: Huacai Chen --- drivers/irqchip/Kconfig | 37 +++- drivers/irqchip/Makefile | 3 + drivers/irqchip/irq-loongarch-cpu.c | 76 ++++++++ drivers/irqchip/irq-loongson-eiointc.c | 326 +++++++++++++++++++++++++++++++++ drivers/irqchip/irq-loongson-htvec.c | 147 +++++++++++---- drivers/irqchip/irq-loongson-liointc.c | 197 ++++++++++++-------- drivers/irqchip/irq-loongson-pch-lpc.c | 204 +++++++++++++++++++++ drivers/irqchip/irq-loongson-pch-msi.c | 126 ++++++++----- drivers/irqchip/irq-loongson-pch-pic.c | 159 +++++++++++++--- include/linux/cpuhotplug.h | 1 + 10 files changed, 1088 insertions(+), 188 deletions(-) create mode 100644 drivers/irqchip/irq-loongarch-cpu.c create mode 100644 drivers/irqchip/irq-loongson-eiointc.c create mode 100644 drivers/irqchip/irq-loongson-pch-lpc.c -- 2.27.0