Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 11577
b: refs/heads/master
c: bffa8fc
h: refs/heads/master
i:
  11575: 6280769
v: v3
  • Loading branch information
Stephen Rothwell committed Oct 14, 2005
1 parent 47c47f9 commit 4407ee0
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 18 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 426c1a11a677e39a8c8ed744a521d0f4cb2e417e
refs/heads/master: bffa8fc3835b0d3c4a59af8aceeea3aba823b032
11 changes: 5 additions & 6 deletions trunk/arch/powerpc/platforms/iseries/iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;


Expand Down Expand Up @@ -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;
Expand All @@ -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));
Expand All @@ -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);
Expand Down
9 changes: 0 additions & 9 deletions trunk/arch/powerpc/platforms/iseries/pci.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
7 changes: 5 additions & 2 deletions trunk/arch/powerpc/platforms/iseries/vpdinfo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>

Expand Down Expand Up @@ -243,6 +244,7 @@ static void __init iSeries_Get_Location_Code(u16 bus, HvAgentId agent,
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];
Expand All @@ -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);
Expand Down

0 comments on commit 4407ee0

Please sign in to comment.