コード例 #1
0
static void apollo_setup_phb(struct phb *phb, unsigned int index)
{
	struct dt_node *ioc_node;

	/* Grab the device-tree node of the IOC */
	ioc_node = phb->dt_node->parent;
	if (!ioc_node)
		return;

	/*
	 * Process the pcie slot entries from the lx vpd lid
	 *
	 * FIXME: We currently assume chip 1 always, this will have to be
	 * fixed once we understand the right way to get the BRxy/BRxy "x"
	 * "x" value. (this actually seems to work...)
	 */
	lxvpd_process_slot_entries(phb, ioc_node, 1, index);
}
コード例 #2
0
ファイル: apollo-pci.c プロジェクト: ajdlinux/skiboot
void apollo_pci_setup_phb(struct phb *phb, unsigned int index)
{
	struct dt_node *ioc_node;

	/* Grab the device-tree node of the IOC */
	ioc_node = phb->dt_node->parent;
	if (!ioc_node) {
		APOLLO_PCI_DBG("No IOC devnode for PHB%04x\n",
			       phb->opal_id);
		return;
	}

	/*
	 * Process the pcie slot entries from the lx vpd lid
	 *
	 * FIXME: We currently assume chip 1 always, this will have to be
	 * fixed once we understand the right way to get the BRxy/BRxy "x"
	 * "x" value. It's not working well. I found 2 different root ports
	 * on Firebird-L has been assigned to same slot label.
	 */
	lxvpd_process_slot_entries(phb, ioc_node, 1,
				   index, sizeof(struct lxvpd_pci_slot));
}