Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bffa8fc3 authored by Stephen Rothwell's avatar Stephen Rothwell
Browse files

powerpc: remove ISERIES_[SUB]BUS macros



This allows us to simplify a couple of things.

Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
parent 426c1a11
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -31,10 +31,9 @@
#include <asm/tce.h>
#include <asm/machdep.h>
#include <asm/abs_addr.h>
#include <asm/pci-bridge.h>
#include <asm/iSeries/HvCallXm.h>

#include "pci.h"

extern struct list_head iSeries_Global_Device_List;


@@ -114,7 +113,7 @@ static struct iommu_table *iommu_table_find(struct iommu_table * tbl)
 * 2. TCE table per Bus.
 * 3. TCE Table per IOA.
 */
static void iommu_table_getparms(struct device_node *dn,
static void iommu_table_getparms(struct pci_dn *pdn,
				 struct iommu_table* tbl)
{
	struct iommu_table_cb *parms;
@@ -125,8 +124,8 @@ static void iommu_table_getparms(struct device_node *dn,

	memset(parms, 0, sizeof(*parms));

	parms->itc_busno = ISERIES_BUS(dn);
	parms->itc_slotno = PCI_DN(dn)->LogicalSlot;
	parms->itc_busno = pdn->DsaAddr.Dsa.busNumber;
	parms->itc_slotno = pdn->LogicalSlot;
	parms->itc_virtbus = 0;

	HvCallXm_getTceTableParms(iseries_hv_addr(parms));
@@ -153,7 +152,7 @@ void iommu_devnode_init_iSeries(struct device_node *dn)

	tbl = kmalloc(sizeof(struct iommu_table), GFP_KERNEL);

	iommu_table_getparms(dn, tbl);
	iommu_table_getparms(pdn, tbl);

	/* Look for existing tce table */
	pdn->iommu_table = iommu_table_find(tbl);
+0 −9
Original line number Diff line number Diff line
@@ -30,17 +30,8 @@
 * End Change Activity
 */

#include <asm/pci-bridge.h>

struct pci_dev;				/* For Forward Reference */

/*
 * Gets iSeries Bus, SubBus, DevFn using device_node structure
 */

#define ISERIES_BUS(DevPtr)	PCI_DN(DevPtr)->DsaAddr.Dsa.busNumber
#define ISERIES_SUBBUS(DevPtr)	PCI_DN(DevPtr)->DsaAddr.Dsa.subBusNumber

/*
 * Decodes Linux DevFn to iSeries DevFn, bridge device, or function.
 * For Linux, see PCI_SLOT and PCI_FUNC in include/linux/pci.h
+5 −2
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
#include <asm/types.h>
#include <asm/resource.h>
#include <asm/abs_addr.h>
#include <asm/pci-bridge.h>
#include <asm/iSeries/HvCallPci.h>
#include <asm/iSeries/HvTypes.h>

@@ -243,6 +244,7 @@ out_free:
void __init iSeries_Device_Information(struct pci_dev *PciDev, int count)
{
	struct device_node *DevNode = PciDev->sysdata;
	struct pci_dn *pdn;
	u16 bus;
	u8 frame;
	char card[4];
@@ -255,8 +257,9 @@ void __init iSeries_Device_Information(struct pci_dev *PciDev, int count)
		return;
	}

	bus = ISERIES_BUS(DevNode);
	subbus = ISERIES_SUBBUS(DevNode);
	pdn = PCI_DN(DevNode);
	bus = pdn->DsaAddr.Dsa.busNumber;
	subbus = pdn->DsaAddr.Dsa.subBusNumber;
	agent = ISERIES_PCI_AGENTID(ISERIES_GET_DEVICE_FROM_SUBBUS(subbus),
			ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus));
	iSeries_Get_Location_Code(bus, agent, &frame, card);