Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

PCI: xilinx-cpm: Move IRQ definitions to a common header

Move the interrupt bit definitions to the pcie-xilinx-common.h file,
which then can be shared between pcie-xilinx-cpm and the new xilinx-xdma
drivers.

While at it, also rename them so these definitions are not CPM-specific.

No functional change intended.

[kwilczynski: commit log]
Link: https://lore.kernel.org/linux-pci/20231003173453.938190-2-thippeswamy.havalige@amd.com
Signed-off-by: Thippeswamy Havalige <thippeswamy.havalige@amd.com>
Signed-off-by: Bharat Kumar Gogada <bharat.kumar.gogada@amd.com>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>

authored by

Thippeswamy Havalige and committed by
Krzysztof Wilczyński
a977ee94 0bb80ecc

+37 -31
+30
drivers/pci/controller/pcie-xilinx-common.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0 */ 2 + /* 3 + * (C) Copyright 2023, Xilinx, Inc. 4 + */ 5 + 6 + #include <linux/pci.h> 7 + #include <linux/pci-ecam.h> 8 + #include <linux/platform_device.h> 9 + 10 + /* Interrupt registers definitions */ 11 + #define XILINX_PCIE_INTR_LINK_DOWN 0 12 + #define XILINX_PCIE_INTR_HOT_RESET 3 13 + #define XILINX_PCIE_INTR_CFG_PCIE_TIMEOUT 4 14 + #define XILINX_PCIE_INTR_CFG_TIMEOUT 8 15 + #define XILINX_PCIE_INTR_CORRECTABLE 9 16 + #define XILINX_PCIE_INTR_NONFATAL 10 17 + #define XILINX_PCIE_INTR_FATAL 11 18 + #define XILINX_PCIE_INTR_CFG_ERR_POISON 12 19 + #define XILINX_PCIE_INTR_PME_TO_ACK_RCVD 15 20 + #define XILINX_PCIE_INTR_INTX 16 21 + #define XILINX_PCIE_INTR_PM_PME_RCVD 17 22 + #define XILINX_PCIE_INTR_SLV_UNSUPP 20 23 + #define XILINX_PCIE_INTR_SLV_UNEXP 21 24 + #define XILINX_PCIE_INTR_SLV_COMPL 22 25 + #define XILINX_PCIE_INTR_SLV_ERRP 23 26 + #define XILINX_PCIE_INTR_SLV_CMPABT 24 27 + #define XILINX_PCIE_INTR_SLV_ILLBUR 25 28 + #define XILINX_PCIE_INTR_MST_DECERR 26 29 + #define XILINX_PCIE_INTR_MST_SLVERR 27 30 + #define XILINX_PCIE_INTR_SLV_PCIE_TIMEOUT 28
+7 -31
drivers/pci/controller/pcie-xilinx-cpm.c
··· 16 16 #include <linux/of_address.h> 17 17 #include <linux/of_pci.h> 18 18 #include <linux/of_platform.h> 19 - #include <linux/pci.h> 20 - #include <linux/platform_device.h> 21 - #include <linux/pci-ecam.h> 22 19 23 20 #include "../pci.h" 21 + #include "pcie-xilinx-common.h" 24 22 25 23 /* Register definitions */ 26 24 #define XILINX_CPM_PCIE_REG_IDR 0x00000E10 ··· 36 38 #define XILINX_CPM_PCIE_IR_ENABLE 0x000002A8 37 39 #define XILINX_CPM_PCIE_IR_LOCAL BIT(0) 38 40 39 - /* Interrupt registers definitions */ 40 - #define XILINX_CPM_PCIE_INTR_LINK_DOWN 0 41 - #define XILINX_CPM_PCIE_INTR_HOT_RESET 3 42 - #define XILINX_CPM_PCIE_INTR_CFG_PCIE_TIMEOUT 4 43 - #define XILINX_CPM_PCIE_INTR_CFG_TIMEOUT 8 44 - #define XILINX_CPM_PCIE_INTR_CORRECTABLE 9 45 - #define XILINX_CPM_PCIE_INTR_NONFATAL 10 46 - #define XILINX_CPM_PCIE_INTR_FATAL 11 47 - #define XILINX_CPM_PCIE_INTR_CFG_ERR_POISON 12 48 - #define XILINX_CPM_PCIE_INTR_PME_TO_ACK_RCVD 15 49 - #define XILINX_CPM_PCIE_INTR_INTX 16 50 - #define XILINX_CPM_PCIE_INTR_PM_PME_RCVD 17 51 - #define XILINX_CPM_PCIE_INTR_SLV_UNSUPP 20 52 - #define XILINX_CPM_PCIE_INTR_SLV_UNEXP 21 53 - #define XILINX_CPM_PCIE_INTR_SLV_COMPL 22 54 - #define XILINX_CPM_PCIE_INTR_SLV_ERRP 23 55 - #define XILINX_CPM_PCIE_INTR_SLV_CMPABT 24 56 - #define XILINX_CPM_PCIE_INTR_SLV_ILLBUR 25 57 - #define XILINX_CPM_PCIE_INTR_MST_DECERR 26 58 - #define XILINX_CPM_PCIE_INTR_MST_SLVERR 27 59 - #define XILINX_CPM_PCIE_INTR_SLV_PCIE_TIMEOUT 28 60 - 61 - #define IMR(x) BIT(XILINX_CPM_PCIE_INTR_ ##x) 41 + #define IMR(x) BIT(XILINX_PCIE_INTR_ ##x) 62 42 63 43 #define XILINX_CPM_PCIE_IMR_ALL_MASK \ 64 44 ( \ ··· 299 323 } 300 324 301 325 #define _IC(x, s) \ 302 - [XILINX_CPM_PCIE_INTR_ ## x] = { __stringify(x), s } 326 + [XILINX_PCIE_INTR_ ## x] = { __stringify(x), s } 303 327 304 328 static const struct { 305 329 const char *sym; ··· 335 359 d = irq_domain_get_irq_data(port->cpm_domain, irq); 336 360 337 361 switch (d->hwirq) { 338 - case XILINX_CPM_PCIE_INTR_CORRECTABLE: 339 - case XILINX_CPM_PCIE_INTR_NONFATAL: 340 - case XILINX_CPM_PCIE_INTR_FATAL: 362 + case XILINX_PCIE_INTR_CORRECTABLE: 363 + case XILINX_PCIE_INTR_NONFATAL: 364 + case XILINX_PCIE_INTR_FATAL: 341 365 cpm_pcie_clear_err_interrupts(port); 342 366 fallthrough; 343 367 ··· 442 466 } 443 467 444 468 port->intx_irq = irq_create_mapping(port->cpm_domain, 445 - XILINX_CPM_PCIE_INTR_INTX); 469 + XILINX_PCIE_INTR_INTX); 446 470 if (!port->intx_irq) { 447 471 dev_err(dev, "Failed to map INTx interrupt\n"); 448 472 return -ENXIO;