.. SPDX-License-Identifier: GPL-2.0 .. include:: ../../disclaimer-zh_TW.rst :Original: Documentation/arch/loongarch/irq-chip-model.rst :Translator: Huacai Chen <chenhuacai@loongson.cn> ================================== LoongArchçš„IRQ芯片模型(層級關係) ================================== ç›®å‰ï¼ŒåŸºæ–¼LoongArch的處ç†å™¨ï¼ˆå¦‚é¾èŠ¯3A5000)åªèƒ½èˆ‡LS7A芯片組é…åˆå·¥ä½œã€‚LoongArch計算機 ä¸çš„ä¸æ–·æŽ§åˆ¶å™¨ï¼ˆå³IRQ芯片)包括CPUINTC(CPU Core Interrupt Controller)ã€LIOINTC( Legacy I/O Interrupt Controller)ã€EIOINTC(Extended I/O Interrupt Controller)〠HTVECINTC(Hyper-Transport Vector Interrupt Controller)ã€PCH-PIC(LS7AèŠ¯ç‰‡çµ„çš„ä¸»ä¸ æ–·æŽ§åˆ¶å™¨ï¼‰ã€PCH-LPC(LS7A芯片組的LPCä¸æ–·æŽ§åˆ¶å™¨ï¼‰å’ŒPCH-MSI(MSIä¸æ–·æŽ§åˆ¶å™¨ï¼‰ã€‚ CPUINTC是一種CPU內部的æ¯å€‹æ ¸æœ¬åœ°çš„ä¸æ–·æŽ§åˆ¶å™¨ï¼ŒLIOINTC/EIOINTC/HTVECINTC是CPU內部的 全局ä¸æ–·æŽ§åˆ¶å™¨ï¼ˆæ¯å€‹èŠ¯ç‰‡ä¸€å€‹ï¼Œæ‰€æœ‰æ ¸å…±äº«ï¼‰ï¼Œè€ŒPCH-PIC/PCH-LPC/PCH-MSI是CPUå¤–éƒ¨çš„ä¸ æ–·æŽ§åˆ¶å™¨ï¼ˆåœ¨é…套芯片組è£é¢ï¼‰ã€‚這些ä¸æ–·æŽ§åˆ¶å™¨ï¼ˆæˆ–者說IRQèŠ¯ç‰‡ï¼‰ä»¥ä¸€ç¨®å±¤æ¬¡æ¨¹çš„çµ„ç¹”å½¢å¼ ç´šè¯åœ¨ä¸€èµ·ï¼Œä¸€å…±æœ‰å…©ç¨®å±¤ç´šé—œä¿‚模型(傳統IRQ模型和擴展IRQ模型)。 傳統IRQ模型 =========== 在這種模型è£é¢ï¼ŒIPI(Inter-Processor Interrupt)和CPU本地時é˜ä¸æ–·ç›´æŽ¥ç™¼é€åˆ°CPUINTC, CPU串å£ï¼ˆUARTs)ä¸æ–·é«®é€åˆ°LIOINTC,而其他所有è¨å‚™çš„ä¸æ–·å‰‡åˆ†åˆ¥ç™¼é€åˆ°æ‰€é€£æŽ¥çš„PCH-PIC/ PCH-LPC/PCH-MSI,然後被HTVECINTC統一收集,å†ç™¼é€åˆ°LIOINTC,最後到é”CPUINTC:: +-----+ +---------+ +-------+ | IPI | --> | CPUINTC | <-- | Timer | +-----+ +---------+ +-------+ ^ | +---------+ +-------+ | LIOINTC | <-- | UARTs | +---------+ +-------+ ^ | +-----------+ | HTVECINTC | +-----------+ ^ ^ | | +---------+ +---------+ | PCH-PIC | | PCH-MSI | +---------+ +---------+ ^ ^ ^ | | | +---------+ +---------+ +---------+ | PCH-LPC | | Devices | | Devices | +---------+ +---------+ +---------+ ^ | +---------+ | Devices | +---------+ 擴展IRQ模型 =========== 在這種模型è£é¢ï¼ŒIPI(Inter-Processor Interrupt)和CPU本地時é˜ä¸æ–·ç›´æŽ¥ç™¼é€åˆ°CPUINTC, CPU串å£ï¼ˆUARTs)ä¸æ–·é«®é€åˆ°LIOINTC,而其他所有è¨å‚™çš„ä¸æ–·å‰‡åˆ†åˆ¥ç™¼é€åˆ°æ‰€é€£æŽ¥çš„PCH-PIC/ PCH-LPC/PCH-MSI,然後被EIOINTC統一收集,å†ç›´æŽ¥åˆ°é”CPUINTC:: +-----+ +---------+ +-------+ | IPI | --> | CPUINTC | <-- | Timer | +-----+ +---------+ +-------+ ^ ^ | | +---------+ +---------+ +-------+ | EIOINTC | | LIOINTC | <-- | UARTs | +---------+ +---------+ +-------+ ^ ^ | | +---------+ +---------+ | PCH-PIC | | PCH-MSI | +---------+ +---------+ ^ ^ ^ | | | +---------+ +---------+ +---------+ | PCH-LPC | | Devices | | Devices | +---------+ +---------+ +---------+ ^ | +---------+ | Devices | +---------+ ACPI相關的定義 ============== CPUINTC:: ACPI_MADT_TYPE_CORE_PIC; struct acpi_madt_core_pic; enum acpi_madt_core_pic_version; LIOINTC:: ACPI_MADT_TYPE_LIO_PIC; struct acpi_madt_lio_pic; enum acpi_madt_lio_pic_version; EIOINTC:: ACPI_MADT_TYPE_EIO_PIC; struct acpi_madt_eio_pic; enum acpi_madt_eio_pic_version; HTVECINTC:: ACPI_MADT_TYPE_HT_PIC; struct acpi_madt_ht_pic; enum acpi_madt_ht_pic_version; PCH-PIC:: ACPI_MADT_TYPE_BIO_PIC; struct acpi_madt_bio_pic; enum acpi_madt_bio_pic_version; PCH-MSI:: ACPI_MADT_TYPE_MSI_PIC; struct acpi_madt_msi_pic; enum acpi_madt_msi_pic_version; PCH-LPC:: ACPI_MADT_TYPE_LPC_PIC; struct acpi_madt_lpc_pic; enum acpi_madt_lpc_pic_version; åƒè€ƒæ–‡ç» ======== é¾èŠ¯3A5000的文檔: https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-3A5000-usermanual-1.02-CN.pdf (ä¸æ–‡ç‰ˆ) https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-3A5000-usermanual-1.02-EN.pdf (英文版) é¾èŠ¯LS7A芯片組的文檔: https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-7A1000-usermanual-2.00-CN.pdf (ä¸æ–‡ç‰ˆ) https://github.com/loongson/LoongArch-Documentation/releases/latest/download/Loongson-7A1000-usermanual-2.00-EN.pdf (英文版) .. note:: - CPUINTC:å³ã€Šé¾èŠ¯æž¶æ§‹åƒè€ƒæ‰‹å†Šå·ä¸€ã€‹ç¬¬7.4節所æè¿°çš„CSR.ECFG/CSR.ESTAT寄å˜å™¨åŠå…¶ ä¸æ–·æŽ§åˆ¶é‚輯; - LIOINTC:å³ã€Šé¾èŠ¯3A5000處ç†å™¨ä½¿ç”¨æ‰‹å†Šã€‹ç¬¬11.1節所æ述的“傳統I/Oä¸æ–·â€ï¼› - EIOINTC:å³ã€Šé¾èŠ¯3A5000處ç†å™¨ä½¿ç”¨æ‰‹å†Šã€‹ç¬¬11.2節所æ述的“擴展I/Oä¸æ–·â€ï¼› - HTVECINTC:å³ã€Šé¾èŠ¯3A5000處ç†å™¨ä½¿ç”¨æ‰‹å†Šã€‹ç¬¬14.3節所æ述的“HyperTransportä¸æ–·â€ï¼› - PCH-PIC/PCH-MSI:å³ã€Šé¾èŠ¯7A1000橋片用戶手冊》第5ç« æ‰€æ述的“ä¸æ–·æŽ§åˆ¶å™¨â€ï¼› - PCH-LPC:å³ã€Šé¾èŠ¯7A1000橋片用戶手冊》第24.3節所æ述的“LPCä¸æ–·â€ã€‚