mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Joao Pinto <Joao.Pinto@synopsys.com>
Cc: kbuild-all@01.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org, bhelgaas@google.com,
	CARLOS.PALMINHA@synopsys.com, Vineet.Gupta1@synopsys.com,
	Alexey.Brodkin@synopsys.com, Joao Pinto <Joao.Pinto@synopsys.com>
Subject: Re: [PATCH 1/2] add new platform driver for PCI RC
Date: Tue, 24 Nov 2015 20:15:42 +0800	[thread overview]
Message-ID: <201511242016.8k48uXcr%fengguang.wu@intel.com> (raw)
In-Reply-To: <5ee7247815c9e5ca230af5397fd61e03d2c552aa.1448364079.git.jpinto@synopsys.com>

[-- Attachment #1: Type: text/plain, Size: 7118 bytes --]

Hi Joao,

[auto build test ERROR on arc/for-next]
[also build test ERROR on v4.4-rc2 next-20151124]

url:    https://github.com/0day-ci/linux/commits/Joao-Pinto/add-new-platform-driver-for-PCI-RC/20151124-194755
base:   https://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc for-next
config: i386-allmodconfig (attached as .config)
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   drivers/pci/host/pcie-designware.c: In function 'dw_pcie_host_init':
   drivers/pci/host/pcie-designware.c:555:7: error: implicit declaration of function 'pci_has_flag' [-Werror=implicit-function-declaration]
     if (!pci_has_flag(PCI_PROBE_ONLY)) {
          ^
   drivers/pci/host/pcie-designware.c:555:20: error: 'PCI_PROBE_ONLY' undeclared (first use in this function)
     if (!pci_has_flag(PCI_PROBE_ONLY)) {
                       ^
   drivers/pci/host/pcie-designware.c:555:20: note: each undeclared identifier is reported only once for each function it appears in
   drivers/pci/host/pcie-designware.c: In function 'dw_pcie_link_retrain':
>> drivers/pci/host/pcie-designware.c:713:23: error: 'LINK_CONTROL_LINK_STATUS_REG' undeclared (first use in this function)
     dw_pcie_readl_rc(pp, LINK_CONTROL_LINK_STATUS_REG, &val);
                          ^
>> drivers/pci/host/pcie-designware.c:714:14: error: 'PCIE_RETRAIN_LINK_MASK' undeclared (first use in this function)
     val = val | PCIE_RETRAIN_LINK_MASK;
                 ^
   cc1: some warnings being treated as errors

vim +/LINK_CONTROL_LINK_STATUS_REG +713 drivers/pci/host/pcie-designware.c

   549	
   550	#ifdef CONFIG_ARM
   551		/* support old dtbs that incorrectly describe IRQs */
   552		pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci);
   553	#endif
   554	
 > 555		if (!pci_has_flag(PCI_PROBE_ONLY)) {
   556			pci_bus_size_bridges(bus);
   557			pci_bus_assign_resources(bus);
   558	
   559			list_for_each_entry(child, &bus->children, node)
   560				pcie_bus_configure_settings(child);
   561		}
   562	
   563		pci_bus_add_devices(bus);
   564		return 0;
   565	}
   566	
   567	static int dw_pcie_rd_other_conf(struct pcie_port *pp, struct pci_bus *bus,
   568			u32 devfn, int where, int size, u32 *val)
   569	{
   570		int ret, type;
   571		u32 busdev, cfg_size;
   572		u64 cpu_addr;
   573		void __iomem *va_cfg_base;
   574	
   575		busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) |
   576			 PCIE_ATU_FUNC(PCI_FUNC(devfn));
   577	
   578		if (bus->parent->number == pp->root_bus_nr) {
   579			type = PCIE_ATU_TYPE_CFG0;
   580			cpu_addr = pp->cfg0_base;
   581			cfg_size = pp->cfg0_size;
   582			va_cfg_base = pp->va_cfg0_base;
   583		} else {
   584			type = PCIE_ATU_TYPE_CFG1;
   585			cpu_addr = pp->cfg1_base;
   586			cfg_size = pp->cfg1_size;
   587			va_cfg_base = pp->va_cfg1_base;
   588		}
   589	
   590		dw_pcie_prog_outbound_atu(pp, PCIE_ATU_REGION_INDEX0,
   591					  type, cpu_addr,
   592					  busdev, cfg_size);
   593		ret = dw_pcie_cfg_read(va_cfg_base + where, size, val);
   594		dw_pcie_prog_outbound_atu(pp, PCIE_ATU_REGION_INDEX0,
   595					  PCIE_ATU_TYPE_IO, pp->io_base,
   596					  pp->io_bus_addr, pp->io_size);
   597	
   598		return ret;
   599	}
   600	
   601	static int dw_pcie_wr_other_conf(struct pcie_port *pp, struct pci_bus *bus,
   602			u32 devfn, int where, int size, u32 val)
   603	{
   604		int ret, type;
   605		u32 busdev, cfg_size;
   606		u64 cpu_addr;
   607		void __iomem *va_cfg_base;
   608	
   609		busdev = PCIE_ATU_BUS(bus->number) | PCIE_ATU_DEV(PCI_SLOT(devfn)) |
   610			 PCIE_ATU_FUNC(PCI_FUNC(devfn));
   611	
   612		if (bus->parent->number == pp->root_bus_nr) {
   613			type = PCIE_ATU_TYPE_CFG0;
   614			cpu_addr = pp->cfg0_base;
   615			cfg_size = pp->cfg0_size;
   616			va_cfg_base = pp->va_cfg0_base;
   617		} else {
   618			type = PCIE_ATU_TYPE_CFG1;
   619			cpu_addr = pp->cfg1_base;
   620			cfg_size = pp->cfg1_size;
   621			va_cfg_base = pp->va_cfg1_base;
   622		}
   623	
   624		dw_pcie_prog_outbound_atu(pp, PCIE_ATU_REGION_INDEX0,
   625					  type, cpu_addr,
   626					  busdev, cfg_size);
   627		ret = dw_pcie_cfg_write(va_cfg_base + where, size, val);
   628		dw_pcie_prog_outbound_atu(pp, PCIE_ATU_REGION_INDEX0,
   629					  PCIE_ATU_TYPE_IO, pp->io_base,
   630					  pp->io_bus_addr, pp->io_size);
   631	
   632		return ret;
   633	}
   634	
   635	static int dw_pcie_valid_config(struct pcie_port *pp,
   636					struct pci_bus *bus, int dev)
   637	{
   638		/* If there is no link, then there is no device */
   639		if (bus->number != pp->root_bus_nr) {
   640			if (!dw_pcie_link_up(pp))
   641				return 0;
   642		}
   643	
   644		/* access only one slot on each root port */
   645		if (bus->number == pp->root_bus_nr && dev > 0)
   646			return 0;
   647	
   648		/*
   649		 * do not read more than one device on the bus directly attached
   650		 * to RC's (Virtual Bridge's) DS side.
   651		 */
   652		if (bus->primary == pp->root_bus_nr && dev > 0)
   653			return 0;
   654	
   655		return 1;
   656	}
   657	
   658	static int dw_pcie_rd_conf(struct pci_bus *bus, u32 devfn, int where,
   659				int size, u32 *val)
   660	{
   661		struct pcie_port *pp = bus->sysdata;
   662		int ret;
   663	
   664		if (dw_pcie_valid_config(pp, bus, PCI_SLOT(devfn)) == 0) {
   665			*val = 0xffffffff;
   666			return PCIBIOS_DEVICE_NOT_FOUND;
   667		}
   668	
   669		if (bus->number != pp->root_bus_nr)
   670			if (pp->ops->rd_other_conf)
   671				ret = pp->ops->rd_other_conf(pp, bus, devfn,
   672							where, size, val);
   673			else
   674				ret = dw_pcie_rd_other_conf(pp, bus, devfn,
   675							where, size, val);
   676		else
   677			ret = dw_pcie_rd_own_conf(pp, where, size, val);
   678	
   679		return ret;
   680	}
   681	
   682	static int dw_pcie_wr_conf(struct pci_bus *bus, u32 devfn,
   683				int where, int size, u32 val)
   684	{
   685		struct pcie_port *pp = bus->sysdata;
   686		int ret;
   687	
   688		if (dw_pcie_valid_config(pp, bus, PCI_SLOT(devfn)) == 0)
   689			return PCIBIOS_DEVICE_NOT_FOUND;
   690	
   691		if (bus->number != pp->root_bus_nr)
   692			if (pp->ops->wr_other_conf)
   693				ret = pp->ops->wr_other_conf(pp, bus, devfn,
   694							where, size, val);
   695			else
   696				ret = dw_pcie_wr_other_conf(pp, bus, devfn,
   697							where, size, val);
   698		else
   699			ret = dw_pcie_wr_own_conf(pp, where, size, val);
   700	
   701		return ret;
   702	}
   703	
   704	static struct pci_ops dw_pcie_ops = {
   705		.read = dw_pcie_rd_conf,
   706		.write = dw_pcie_wr_conf,
   707	};
   708	
   709	void dw_pcie_link_retrain(struct pcie_port *pp)
   710	{
   711		u32 val = 0;
   712	
 > 713		dw_pcie_readl_rc(pp, LINK_CONTROL_LINK_STATUS_REG, &val);
 > 714		val = val | PCIE_RETRAIN_LINK_MASK;
   715		dw_pcie_writel_rc(pp, val, LINK_CONTROL_LINK_STATUS_REG);
   716	}
   717	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/octet-stream, Size: 52568 bytes --]

  reply	other threads:[~2015-11-24 12:17 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-24 11:44 [PATCH 0/2] adding PCI support to AXS10x Joao Pinto
2015-11-24 11:44 ` [PATCH 1/2] add new platform driver for PCI RC Joao Pinto
2015-11-24 12:15   ` kbuild test robot [this message]
2015-11-24 11:44 ` [PATCH 2/2] PCI support added to ARC Joao Pinto
2015-11-24 14:32 [PATCH 0/2] adding PCI support to AXS10x Joao Pinto
2015-11-24 14:32 ` [PATCH 1/2] add new platform driver for PCI RC Joao Pinto
2015-12-05  0:30   ` Bjorn Helgaas
2015-12-06  0:42   ` kbuild test robot
2015-12-06  5:12   ` kbuild test robot

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=201511242016.8k48uXcr%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=Alexey.Brodkin@synopsys.com \
    --cc=CARLOS.PALMINHA@synopsys.com \
    --cc=Joao.Pinto@synopsys.com \
    --cc=Vineet.Gupta1@synopsys.com \
    --cc=bhelgaas@google.com \
    --cc=kbuild-all@01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®