From: kernel test robot <lkp@intel.com>
To: "Damien Le Moal" <dlemoal@kernel.org>,
"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <helgaas@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
linux-pci@vger.kernel.org, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
devicetree@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
linux-rockchip@lists.infradead.org,
Rick Wertenbroek <rick.wertenbroek@gmail.com>,
Niklas Cassel <cassel@kernel.org>
Subject: Re: [PATCH v4 12/12] PCI: rockchip-ep: Handle PERST# signal in endpoint mode
Date: Tue, 15 Oct 2024 14:46:39 +0800 [thread overview]
Message-ID: <202410151206.MIdxs469-lkp@intel.com> (raw)
In-Reply-To: <20241011121408.89890-13-dlemoal@kernel.org>
Hi Damien,
kernel test robot noticed the following build errors:
[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus mani-mhi/mhi-next linus/master v6.12-rc3 next-20241014]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Damien-Le-Moal/PCI-rockchip-ep-Fix-address-translation-unit-programming/20241011-201512
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20241011121408.89890-13-dlemoal%40kernel.org
patch subject: [PATCH v4 12/12] PCI: rockchip-ep: Handle PERST# signal in endpoint mode
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20241015/202410151206.MIdxs469-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241015/202410151206.MIdxs469-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410151206.MIdxs469-lkp@intel.com/
All errors (new ones prefixed by >>):
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:255:44: error: invalid use of undefined type 'struct pci_epc_map'
255 | map->map_ofst = map->pci_addr - map->map_pci_addr;
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:257:16: error: invalid use of undefined type 'struct pci_epc_map'
257 | if (map->map_ofst + map->pci_size > SZ_1M)
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:257:32: error: invalid use of undefined type 'struct pci_epc_map'
257 | if (map->map_ofst + map->pci_size > SZ_1M)
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:258:20: error: invalid use of undefined type 'struct pci_epc_map'
258 | map->pci_size = SZ_1M - map->map_ofst;
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:258:44: error: invalid use of undefined type 'struct pci_epc_map'
258 | map->pci_size = SZ_1M - map->map_ofst;
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:260:12: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
In file included from include/vdso/const.h:5,
from include/linux/const.h:4,
from include/uapi/linux/kernel.h:6,
from include/linux/cache.h:5,
from include/linux/time.h:5,
from include/linux/stat.h:19,
from include/linux/configfs.h:22,
from drivers/pci/controller/pcie-rockchip-ep.c:11:
drivers/pci/controller/pcie-rockchip-ep.c:260:34: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:50: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:34: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:50: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:50: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:50: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:34: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:61: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:50: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:61: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c: In function 'rockchip_pcie_ep_perst_irq_thread':
>> drivers/pci/controller/pcie-rockchip-ep.c:631:9: error: implicit declaration of function 'irq_set_irq_type'; did you mean 'irq_set_irq_wake'? [-Werror=implicit-function-declaration]
631 | irq_set_irq_type(ep->perst_irq,
| ^~~~~~~~~~~~~~~~
| irq_set_irq_wake
drivers/pci/controller/pcie-rockchip-ep.c: In function 'rockchip_pcie_ep_setup_irq':
>> drivers/pci/controller/pcie-rockchip-ep.c:660:9: error: implicit declaration of function 'irq_set_status_flags' [-Werror=implicit-function-declaration]
660 | irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/pcie-rockchip-ep.c:660:45: error: 'IRQ_NOAUTOEN' undeclared (first use in this function); did you mean 'IRQF_NO_AUTOEN'?
660 | irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
| ^~~~~~~~~~~~
| IRQF_NO_AUTOEN
drivers/pci/controller/pcie-rockchip-ep.c:660:45: note: each undeclared identifier is reported only once for each function it appears in
drivers/pci/controller/pcie-rockchip-ep.c: At top level:
drivers/pci/controller/pcie-rockchip-ep.c:690:10: error: 'const struct pci_epc_ops' has no member named 'get_mem_map'
690 | .get_mem_map = rockchip_pcie_ep_get_mem_map,
| ^~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:690:27: error: initialization of 'int (*)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t)' {aka 'int (*)(struct pci_epc *, unsigned char, unsigned char, long long unsigned int, long long unsigned int, unsigned int)'} from incompatible pointer type 'int (*)(struct pci_epc *, u8, u8, struct pci_epc_map *)' {aka 'int (*)(struct pci_epc *, unsigned char, unsigned char, struct pci_epc_map *)'} [-Werror=incompatible-pointer-types]
690 | .get_mem_map = rockchip_pcie_ep_get_mem_map,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:690:27: note: (near initialization for 'rockchip_pcie_epc_ops.map_addr')
drivers/pci/controller/pcie-rockchip-ep.c:691:27: warning: initialized field overwritten [-Woverride-init]
691 | .map_addr = rockchip_pcie_ep_map_addr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:691:27: note: (near initialization for 'rockchip_pcie_epc_ops.map_addr')
cc1: some warnings being treated as errors
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for MODVERSIONS
Depends on [n]: MODULES [=y] && !COMPILE_TEST [=y]
Selected by [y]:
- RANDSTRUCT_FULL [=y] && (CC_HAS_RANDSTRUCT [=n] || GCC_PLUGINS [=y]) && MODULES [=y]
WARNING: unmet direct dependencies detected for GET_FREE_REGION
Depends on [n]: SPARSEMEM [=n]
Selected by [m]:
- RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
vim +631 drivers/pci/controller/pcie-rockchip-ep.c
618
619 static irqreturn_t rockchip_pcie_ep_perst_irq_thread(int irq, void *data)
620 {
621 struct pci_epc *epc = data;
622 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
623 struct rockchip_pcie *rockchip = &ep->rockchip;
624 u32 perst = gpiod_get_value(rockchip->perst_gpio);
625
626 if (perst)
627 rockchip_pcie_ep_perst_assert(ep);
628 else
629 rockchip_pcie_ep_perst_deassert(ep);
630
> 631 irq_set_irq_type(ep->perst_irq,
632 (perst ? IRQF_TRIGGER_HIGH : IRQF_TRIGGER_LOW));
633
634 return IRQ_HANDLED;
635 }
636
637 static int rockchip_pcie_ep_setup_irq(struct pci_epc *epc)
638 {
639 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
640 struct rockchip_pcie *rockchip = &ep->rockchip;
641 struct device *dev = rockchip->dev;
642 int ret;
643
644 if (!rockchip->perst_gpio)
645 return 0;
646
647 /* PCIe reset interrupt */
648 ep->perst_irq = gpiod_to_irq(rockchip->perst_gpio);
649 if (ep->perst_irq < 0) {
650 dev_err(dev, "No corresponding IRQ for PERST GPIO\n");
651 return ep->perst_irq;
652 }
653
654 /*
655 * The perst_gpio is active low, so when it is inactive on start, it
656 * is high and will trigger the perst_irq handler. So treat this initial
657 * IRQ as a dummy one by faking the host asserting #PERST.
658 */
659 ep->perst_asserted = true;
> 660 irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
661 ret = devm_request_threaded_irq(dev, ep->perst_irq, NULL,
662 rockchip_pcie_ep_perst_irq_thread,
663 IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
664 "pcie-ep-perst", epc);
665 if (ret) {
666 dev_err(dev, "Request PERST GPIO IRQ failed %d\n", ret);
667 return ret;
668 }
669
670 return 0;
671 }
672
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: "Damien Le Moal" <dlemoal@kernel.org>,
"Manivannan Sadhasivam" <manivannan.sadhasivam@linaro.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Shawn Lin" <shawn.lin@rock-chips.com>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Bjorn Helgaas" <helgaas@kernel.org>,
"Heiko Stuebner" <heiko@sntech.de>,
linux-pci@vger.kernel.org, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
devicetree@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
linux-rockchip@lists.infradead.org,
Rick Wertenbroek <rick.wertenbroek@gmail.com>,
Niklas Cassel <cassel@kernel.org>
Subject: Re: [PATCH v4 12/12] PCI: rockchip-ep: Handle PERST# signal in endpoint mode
Date: Tue, 15 Oct 2024 14:46:39 +0800 [thread overview]
Message-ID: <202410151206.MIdxs469-lkp@intel.com> (raw)
In-Reply-To: <20241011121408.89890-13-dlemoal@kernel.org>
Hi Damien,
kernel test robot noticed the following build errors:
[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus mani-mhi/mhi-next linus/master v6.12-rc3 next-20241014]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Damien-Le-Moal/PCI-rockchip-ep-Fix-address-translation-unit-programming/20241011-201512
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20241011121408.89890-13-dlemoal%40kernel.org
patch subject: [PATCH v4 12/12] PCI: rockchip-ep: Handle PERST# signal in endpoint mode
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20241015/202410151206.MIdxs469-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241015/202410151206.MIdxs469-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410151206.MIdxs469-lkp@intel.com/
All errors (new ones prefixed by >>):
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:255:44: error: invalid use of undefined type 'struct pci_epc_map'
255 | map->map_ofst = map->pci_addr - map->map_pci_addr;
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:257:16: error: invalid use of undefined type 'struct pci_epc_map'
257 | if (map->map_ofst + map->pci_size > SZ_1M)
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:257:32: error: invalid use of undefined type 'struct pci_epc_map'
257 | if (map->map_ofst + map->pci_size > SZ_1M)
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:258:20: error: invalid use of undefined type 'struct pci_epc_map'
258 | map->pci_size = SZ_1M - map->map_ofst;
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:258:44: error: invalid use of undefined type 'struct pci_epc_map'
258 | map->pci_size = SZ_1M - map->map_ofst;
| ^~
drivers/pci/controller/pcie-rockchip-ep.c:260:12: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
In file included from include/vdso/const.h:5,
from include/linux/const.h:4,
from include/uapi/linux/kernel.h:6,
from include/linux/cache.h:5,
from include/linux/time.h:5,
from include/linux/stat.h:19,
from include/linux/configfs.h:22,
from drivers/pci/controller/pcie-rockchip-ep.c:11:
drivers/pci/controller/pcie-rockchip-ep.c:260:34: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:50: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:44: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:34: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:50: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:50: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:50: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:34: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:61: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:50: error: invalid use of undefined type 'struct pci_epc_map'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~
include/uapi/linux/const.h:49:61: note: in definition of macro '__ALIGN_KERNEL_MASK'
49 | #define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
| ^~~~
include/linux/align.h:8:33: note: in expansion of macro '__ALIGN_KERNEL'
8 | #define ALIGN(x, a) __ALIGN_KERNEL((x), (a))
| ^~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:260:25: note: in expansion of macro 'ALIGN'
260 | map->map_size = ALIGN(map->map_ofst + map->pci_size,
| ^~~~~
drivers/pci/controller/pcie-rockchip-ep.c: In function 'rockchip_pcie_ep_perst_irq_thread':
>> drivers/pci/controller/pcie-rockchip-ep.c:631:9: error: implicit declaration of function 'irq_set_irq_type'; did you mean 'irq_set_irq_wake'? [-Werror=implicit-function-declaration]
631 | irq_set_irq_type(ep->perst_irq,
| ^~~~~~~~~~~~~~~~
| irq_set_irq_wake
drivers/pci/controller/pcie-rockchip-ep.c: In function 'rockchip_pcie_ep_setup_irq':
>> drivers/pci/controller/pcie-rockchip-ep.c:660:9: error: implicit declaration of function 'irq_set_status_flags' [-Werror=implicit-function-declaration]
660 | irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/pci/controller/pcie-rockchip-ep.c:660:45: error: 'IRQ_NOAUTOEN' undeclared (first use in this function); did you mean 'IRQF_NO_AUTOEN'?
660 | irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
| ^~~~~~~~~~~~
| IRQF_NO_AUTOEN
drivers/pci/controller/pcie-rockchip-ep.c:660:45: note: each undeclared identifier is reported only once for each function it appears in
drivers/pci/controller/pcie-rockchip-ep.c: At top level:
drivers/pci/controller/pcie-rockchip-ep.c:690:10: error: 'const struct pci_epc_ops' has no member named 'get_mem_map'
690 | .get_mem_map = rockchip_pcie_ep_get_mem_map,
| ^~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:690:27: error: initialization of 'int (*)(struct pci_epc *, u8, u8, phys_addr_t, u64, size_t)' {aka 'int (*)(struct pci_epc *, unsigned char, unsigned char, long long unsigned int, long long unsigned int, unsigned int)'} from incompatible pointer type 'int (*)(struct pci_epc *, u8, u8, struct pci_epc_map *)' {aka 'int (*)(struct pci_epc *, unsigned char, unsigned char, struct pci_epc_map *)'} [-Werror=incompatible-pointer-types]
690 | .get_mem_map = rockchip_pcie_ep_get_mem_map,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:690:27: note: (near initialization for 'rockchip_pcie_epc_ops.map_addr')
drivers/pci/controller/pcie-rockchip-ep.c:691:27: warning: initialized field overwritten [-Woverride-init]
691 | .map_addr = rockchip_pcie_ep_map_addr,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/pcie-rockchip-ep.c:691:27: note: (near initialization for 'rockchip_pcie_epc_ops.map_addr')
cc1: some warnings being treated as errors
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for MODVERSIONS
Depends on [n]: MODULES [=y] && !COMPILE_TEST [=y]
Selected by [y]:
- RANDSTRUCT_FULL [=y] && (CC_HAS_RANDSTRUCT [=n] || GCC_PLUGINS [=y]) && MODULES [=y]
WARNING: unmet direct dependencies detected for GET_FREE_REGION
Depends on [n]: SPARSEMEM [=n]
Selected by [m]:
- RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
vim +631 drivers/pci/controller/pcie-rockchip-ep.c
618
619 static irqreturn_t rockchip_pcie_ep_perst_irq_thread(int irq, void *data)
620 {
621 struct pci_epc *epc = data;
622 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
623 struct rockchip_pcie *rockchip = &ep->rockchip;
624 u32 perst = gpiod_get_value(rockchip->perst_gpio);
625
626 if (perst)
627 rockchip_pcie_ep_perst_assert(ep);
628 else
629 rockchip_pcie_ep_perst_deassert(ep);
630
> 631 irq_set_irq_type(ep->perst_irq,
632 (perst ? IRQF_TRIGGER_HIGH : IRQF_TRIGGER_LOW));
633
634 return IRQ_HANDLED;
635 }
636
637 static int rockchip_pcie_ep_setup_irq(struct pci_epc *epc)
638 {
639 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
640 struct rockchip_pcie *rockchip = &ep->rockchip;
641 struct device *dev = rockchip->dev;
642 int ret;
643
644 if (!rockchip->perst_gpio)
645 return 0;
646
647 /* PCIe reset interrupt */
648 ep->perst_irq = gpiod_to_irq(rockchip->perst_gpio);
649 if (ep->perst_irq < 0) {
650 dev_err(dev, "No corresponding IRQ for PERST GPIO\n");
651 return ep->perst_irq;
652 }
653
654 /*
655 * The perst_gpio is active low, so when it is inactive on start, it
656 * is high and will trigger the perst_irq handler. So treat this initial
657 * IRQ as a dummy one by faking the host asserting #PERST.
658 */
659 ep->perst_asserted = true;
> 660 irq_set_status_flags(ep->perst_irq, IRQ_NOAUTOEN);
661 ret = devm_request_threaded_irq(dev, ep->perst_irq, NULL,
662 rockchip_pcie_ep_perst_irq_thread,
663 IRQF_TRIGGER_HIGH | IRQF_ONESHOT,
664 "pcie-ep-perst", epc);
665 if (ret) {
666 dev_err(dev, "Request PERST GPIO IRQ failed %d\n", ret);
667 return ret;
668 }
669
670 return 0;
671 }
672
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip
next prev parent reply other threads:[~2024-10-15 6:47 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-11 12:13 [PATCH v4 00/12] Fix and improve the Rockchip endpoint driver Damien Le Moal
2024-10-11 12:13 ` Damien Le Moal
2024-10-11 12:13 ` [PATCH v4 01/12] PCI: rockchip-ep: Fix address translation unit programming Damien Le Moal
2024-10-11 12:13 ` Damien Le Moal
2024-10-14 15:34 ` Rick Wertenbroek
2024-10-14 15:34 ` Rick Wertenbroek
2024-10-11 12:13 ` [PATCH v4 02/12] PCI: rockchip-ep: Use a macro to define EP controller .align feature Damien Le Moal
2024-10-11 12:13 ` Damien Le Moal
2024-10-11 12:13 ` [PATCH v4 03/12] PCI: rockchip-ep: Improve rockchip_pcie_ep_unmap_addr() Damien Le Moal
2024-10-11 12:13 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 04/12] PCI: rockchip-ep: Improve rockchip_pcie_ep_map_addr() Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 05/12] PCI: rockchip-ep: Implement the pci_epc_ops::get_mem_map() operation Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-15 1:15 ` kernel test robot
2024-10-15 1:15 ` kernel test robot
2024-10-11 12:14 ` [PATCH v4 06/12] PCI: rockchip-ep: Rename rockchip_pcie_parse_ep_dt() Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 07/12] PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() memory allocations Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 08/12] PCI: rockchip-ep: Refactor rockchip_pcie_ep_probe() MSI-X hiding Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 09/12] PCI: rockchip-ep: Refactor endpoint link training enable Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 10/12] PCI: rockship-ep: Implement the pci_epc_ops::stop_link() operation Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 11/12] PCI: rockchip-ep: Improve link training Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-11 12:14 ` [PATCH v4 12/12] PCI: rockchip-ep: Handle PERST# signal in endpoint mode Damien Le Moal
2024-10-11 12:14 ` Damien Le Moal
2024-10-15 3:01 ` kernel test robot
2024-10-15 3:01 ` kernel test robot
2024-10-15 6:46 ` kernel test robot [this message]
2024-10-15 6:46 ` kernel test robot
2024-10-16 5:32 ` [PATCH v4 00/12] Fix and improve the Rockchip endpoint driver Anand Moon
2024-10-16 5:32 ` Anand Moon
2024-10-16 6:15 ` Damien Le Moal
2024-10-16 6:15 ` Damien Le Moal
2024-10-16 7:22 ` Anand Moon
2024-10-16 7:22 ` Anand Moon
2024-10-16 8:08 ` Damien Le Moal
2024-10-16 8:08 ` Damien Le Moal
2024-10-19 6:24 ` Anand Moon
2024-10-19 6:24 ` Anand Moon
2024-10-20 1:06 ` Damien Le Moal
2024-10-20 1:06 ` Damien Le Moal
2024-10-20 3:18 ` Anand Moon
2024-10-20 3:18 ` Anand Moon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202410151206.MIdxs469-lkp@intel.com \
--to=lkp@intel.com \
--cc=cassel@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlemoal@kernel.org \
--cc=heiko@sntech.de \
--cc=helgaas@kernel.org \
--cc=kishon@kernel.org \
--cc=krzk@kernel.org \
--cc=kw@linux.com \
--cc=linux-pci@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=lpieralisi@kernel.org \
--cc=manivannan.sadhasivam@linaro.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=rick.wertenbroek@gmail.com \
--cc=robh@kernel.org \
--cc=shawn.lin@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.