Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
67c27d08
Commit
67c27d08
authored
Jun 09, 2003
by
Matthew Wilcox
Committed by
Greg Kroah-Hartman
Jun 09, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] PCI: domain support for sysfs
parent
43635f82
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
49 additions
and
85 deletions
+49
-85
arch/alpha/Kconfig
arch/alpha/Kconfig
+4
-0
arch/alpha/kernel/pci.c
arch/alpha/kernel/pci.c
+0
-8
arch/ia64/Kconfig
arch/ia64/Kconfig
+4
-0
arch/ia64/hp/common/sba_iommu.c
arch/ia64/hp/common/sba_iommu.c
+1
-1
arch/ia64/pci/pci.c
arch/ia64/pci/pci.c
+2
-2
arch/ppc/Kconfig
arch/ppc/Kconfig
+4
-0
arch/ppc/kernel/pci.c
arch/ppc/kernel/pci.c
+0
-10
arch/ppc64/Kconfig
arch/ppc64/Kconfig
+4
-0
arch/ppc64/kernel/pci.c
arch/ppc64/kernel/pci.c
+3
-3
arch/sparc64/Kconfig
arch/sparc64/Kconfig
+4
-0
arch/sparc64/kernel/pci.c
arch/sparc64/kernel/pci.c
+3
-3
drivers/pci/probe.c
drivers/pci/probe.c
+2
-1
drivers/pci/proc.c
drivers/pci/proc.c
+1
-1
include/asm-alpha/pci.h
include/asm-alpha/pci.h
+2
-3
include/asm-arm/pci.h
include/asm-arm/pci.h
+0
-8
include/asm-h8300/pci.h
include/asm-h8300/pci.h
+0
-3
include/asm-i386/pci.h
include/asm-i386/pci.h
+0
-6
include/asm-ia64/pci.h
include/asm-ia64/pci.h
+1
-4
include/asm-m68k/pci.h
include/asm-m68k/pci.h
+0
-3
include/asm-mips/pci.h
include/asm-mips/pci.h
+0
-3
include/asm-mips64/pci.h
include/asm-mips64/pci.h
+0
-5
include/asm-parisc/pci.h
include/asm-parisc/pci.h
+0
-3
include/asm-ppc/pci-bridge.h
include/asm-ppc/pci-bridge.h
+1
-1
include/asm-ppc/pci.h
include/asm-ppc/pci.h
+1
-1
include/asm-ppc64/pci.h
include/asm-ppc64/pci.h
+1
-2
include/asm-sh/pci.h
include/asm-sh/pci.h
+0
-3
include/asm-sparc/pci.h
include/asm-sparc/pci.h
+0
-3
include/asm-sparc64/pci.h
include/asm-sparc64/pci.h
+1
-1
include/asm-v850/rte_cb.h
include/asm-v850/rte_cb.h
+0
-1
include/asm-x86_64/pci.h
include/asm-x86_64/pci.h
+0
-6
include/linux/pci.h
include/linux/pci.h
+10
-0
No files found.
arch/alpha/Kconfig
View file @
67c27d08
...
...
@@ -295,6 +295,10 @@ config PCI
information about which PCI hardware does work under Linux and which
doesn't.
config PCI_DOMAINS
bool
default PCI
config ALPHA_CORE_AGP
bool
depends on ALPHA_GENERIC || ALPHA_TITAN || ALPHA_MARVEL
...
...
arch/alpha/kernel/pci.c
View file @
67c27d08
...
...
@@ -484,11 +484,3 @@ sys_pciconfig_iobase(long which, unsigned long bus, unsigned long dfn)
return
-
EOPNOTSUPP
;
}
/* Return the index of the PCI controller for device PDEV. */
int
pci_controller_num
(
struct
pci_dev
*
pdev
)
{
struct
pci_controller
*
hose
=
pdev
->
sysdata
;
return
(
hose
?
(
int
)
hose
->
index
:
-
ENXIO
);
}
arch/ia64/Kconfig
View file @
67c27d08
...
...
@@ -543,6 +543,10 @@ config PCI
information about which PCI hardware does work under Linux and which
doesn't.
config PCI_DOMAINS
bool
default PCI
source "drivers/pci/Kconfig"
config HOTPLUG
...
...
arch/ia64/hp/common/sba_iommu.c
View file @
67c27d08
...
...
@@ -1889,7 +1889,7 @@ sba_connect_bus(struct pci_bus *bus)
handle
=
parent
;
}
while
(
ACPI_SUCCESS
(
status
));
printk
(
KERN_WARNING
"No IOC for PCI Bus %0
2x:%02x in ACPI
\n
"
,
PCI_SEGMENT
(
bus
),
bus
->
number
);
printk
(
KERN_WARNING
"No IOC for PCI Bus %0
4x:%02x in ACPI
\n
"
,
pci_domain_nr
(
bus
),
bus
->
number
);
}
static
int
__init
...
...
arch/ia64/pci/pci.c
View file @
67c27d08
...
...
@@ -87,14 +87,14 @@ __pci_sal_write (int seg, int bus, int dev, int fn, int reg, int len, u32 value)
static
int
pci_sal_read
(
struct
pci_bus
*
bus
,
unsigned
int
devfn
,
int
where
,
int
size
,
u32
*
value
)
{
return
__pci_sal_read
(
PCI_SEGMENT
(
bus
),
bus
->
number
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
),
return
__pci_sal_read
(
pci_domain_nr
(
bus
),
bus
->
number
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
),
where
,
size
,
value
);
}
static
int
pci_sal_write
(
struct
pci_bus
*
bus
,
unsigned
int
devfn
,
int
where
,
int
size
,
u32
value
)
{
return
__pci_sal_write
(
PCI_SEGMENT
(
bus
),
bus
->
number
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
),
return
__pci_sal_write
(
pci_domain_nr
(
bus
),
bus
->
number
,
PCI_SLOT
(
devfn
),
PCI_FUNC
(
devfn
),
where
,
size
,
value
);
}
...
...
arch/ppc/Kconfig
View file @
67c27d08
...
...
@@ -773,6 +773,10 @@ config PCI
your box. If you say Y here, the kernel will include drivers and
infrastructure code to support PCI bus devices.
config PCI_DOMAINS
bool
default PCI
config PC_KEYBOARD
bool "PC PS/2 style Keyboard"
depends on 4xx || 8260
...
...
arch/ppc/kernel/pci.c
View file @
67c27d08
...
...
@@ -1482,16 +1482,6 @@ pci_resource_to_bus(struct pci_dev *pdev, struct resource *res)
return
res
->
start
;
}
/*
* Return the index of the PCI controller for device pdev.
*/
int
pci_controller_num
(
struct
pci_dev
*
dev
)
{
struct
pci_controller
*
hose
=
(
struct
pci_controller
*
)
dev
->
sysdata
;
return
hose
->
index
;
}
/*
* Platform support for /proc/bus/pci/X/Y mmap()s,
* modelled on the sparc64 implementation by Dave Miller.
...
...
arch/ppc64/Kconfig
View file @
67c27d08
...
...
@@ -171,6 +171,10 @@ config PCI
your box. If you say Y here, the kernel will include drivers and
infrastructure code to support PCI bus devices.
config PCI_DOMAINS
bool
default PCI
# only elf supported, a.out is not -- Cort
config KCORE_ELF
bool
...
...
arch/ppc64/kernel/pci.c
View file @
67c27d08
...
...
@@ -371,11 +371,11 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
}
/*
* Return the
index of the PCI controller for device pdev
.
* Return the
domain number for this bus
.
*/
int
pci_
controller_num
(
struct
pci_dev
*
dev
)
int
pci_
domain_nr
(
struct
pci_bus
*
bus
)
{
struct
pci_controller
*
hose
=
PCI_GET_PHB_PTR
(
dev
);
struct
pci_controller
*
hose
=
PCI_GET_PHB_PTR
(
bus
);
return
hose
->
global_number
;
}
...
...
arch/sparc64/Kconfig
View file @
67c27d08
...
...
@@ -318,6 +318,10 @@ config PCI
information about which PCI hardware does work under Linux and which
doesn't.
config PCI_DOMAINS
bool
default PCI
config RTC
tristate
depends on PCI
...
...
arch/sparc64/kernel/pci.c
View file @
67c27d08
...
...
@@ -802,11 +802,11 @@ int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
return
0
;
}
/* Return the
index of the PCI controller for device PDEV.
*/
/* Return the
domain nuber for this pci bus
*/
int
pci_
controller_num
(
struct
pci_dev
*
pdev
)
int
pci_
domain_nr
(
struct
pci_bus
*
bus
)
{
struct
pcidev_cookie
*
cookie
=
pdev
->
sysdata
;
struct
pcidev_cookie
*
cookie
=
bus
->
sysdata
;
int
ret
;
if
(
cookie
!=
NULL
)
{
...
...
drivers/pci/probe.c
View file @
67c27d08
...
...
@@ -529,7 +529,8 @@ pci_scan_device(struct pci_bus *bus, int devfn)
pci_name_device
(
dev
);
/* now put in global tree */
strcpy
(
dev
->
dev
.
bus_id
,
dev
->
slot_name
);
sprintf
(
dev
->
dev
.
bus_id
,
"%04x:%s"
,
pci_domain_nr
(
bus
),
dev
->
slot_name
);
dev
->
dev
.
dma_mask
=
&
dev
->
dma_mask
;
return
dev
;
...
...
drivers/pci/proc.c
View file @
67c27d08
...
...
@@ -210,7 +210,7 @@ static int proc_bus_pci_ioctl(struct inode *inode, struct file *file, unsigned i
switch
(
cmd
)
{
case
PCIIOC_CONTROLLER
:
ret
=
pci_
controller_num
(
dev
);
ret
=
pci_
domain_nr
(
dev
->
bus
);
break
;
#ifdef HAVE_PCI_MMAP
...
...
include/asm-alpha/pci.h
View file @
67c27d08
...
...
@@ -188,13 +188,12 @@ pci_dac_dma_sync_single(struct pci_dev *pdev, dma64_addr_t dma_addr, size_t len,
/* Nothing to do. */
}
/* Return the index of the PCI controller for device PDEV. */
extern
int
pci_controller_num
(
struct
pci_dev
*
pdev
);
extern
void
pcibios_resource_to_bus
(
struct
pci_dev
*
dev
,
struct
pci_bus_region
*
region
,
struct
resource
*
res
);
#define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index
#endif
/* __KERNEL__ */
/* Values for the `which' argument to sys_pciconfig_iobase. */
...
...
include/asm-arm/pci.h
View file @
67c27d08
...
...
@@ -128,14 +128,6 @@ static inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask)
*/
#define pci_dac_dma_supported(pci_dev, mask) (0)
/*
* Return the index of the PCI controller for device PDEV.
*/
static
inline
int
pci_controller_num
(
struct
pci_dev
*
dev
)
{
return
0
;
}
#if defined(CONFIG_SA1111) && !defined(CONFIG_PCI)
/*
...
...
include/asm-h8300/pci.h
View file @
67c27d08
...
...
@@ -19,7 +19,4 @@ extern inline void pcibios_penalize_isa_irq(int irq)
/* We don't do dynamic PCI IRQ allocation */
}
/* Return the index of the PCI controller for device PDEV. */
#define pci_controller_num(PDEV) (0)
#endif
/* _ASM_H8300_PCI_H */
include/asm-i386/pci.h
View file @
67c27d08
...
...
@@ -90,12 +90,6 @@ pci_dac_dma_sync_single(struct pci_dev *pdev, dma64_addr_t dma_addr, size_t len,
#define sg_dma_address(sg) ((sg)->dma_address)
#define sg_dma_len(sg) ((sg)->length)
/* Return the index of the PCI controller for device. */
static
inline
int
pci_controller_num
(
struct
pci_dev
*
dev
)
{
return
0
;
}
#define HAVE_PCI_MMAP
extern
int
pci_mmap_page_range
(
struct
pci_dev
*
dev
,
struct
vm_area_struct
*
vma
,
enum
pci_mmap_state
mmap_state
,
int
write_combine
);
...
...
include/asm-ia64/pci.h
View file @
67c27d08
...
...
@@ -70,9 +70,6 @@ extern int pcibios_prep_mwi (struct pci_dev *);
#define pci_dac_dma_to_offset(dev,dma_addr) ((dma_addr) & ~PAGE_MASK)
#define pci_dac_dma_sync_single(dev,dma_addr,len,dir) do { mb(); } while (0)
/* Return the index of the PCI controller for device PDEV. */
#define pci_controller_num(PDEV) (0)
#define sg_dma_len(sg) ((sg)->dma_length)
#define sg_dma_address(sg) ((sg)->dma_address)
...
...
@@ -95,7 +92,7 @@ struct pci_controller {
};
#define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata)
#define
PCI_SEGMENT
(busdev) (PCI_CONTROLLER(busdev)->segment)
#define
pci_domain_nr
(busdev) (PCI_CONTROLLER(busdev)->segment)
/* generic pci stuff */
#include <asm-generic/pci.h>
...
...
include/asm-m68k/pci.h
View file @
67c27d08
...
...
@@ -45,9 +45,6 @@ extern inline void pcibios_penalize_isa_irq(int irq)
/* We don't do dynamic PCI IRQ allocation */
}
/* Return the index of the PCI controller for device PDEV. */
#define pci_controller_num(PDEV) (0)
/* The PCI address space does equal the physical memory
* address space. The networking and block device layers use
* this boolean for bounce buffer decisions.
...
...
include/asm-mips/pci.h
View file @
67c27d08
...
...
@@ -237,9 +237,6 @@ extern inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask)
}
/* Return the index of the PCI controller for device. */
#define pci_controller_num(pdev) (0)
/*
* These macros should be used after a pci_map_sg call has been done
* to get bus addresses of each of the SG entries and their lengths.
...
...
include/asm-mips64/pci.h
View file @
67c27d08
...
...
@@ -255,11 +255,6 @@ static inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask)
return
1
;
}
/*
* Return the index of the PCI controller for device.
*/
#define pci_controller_num(pdev) (0)
/*
* These macros should be used after a pci_map_sg call has been done
* to get bus addresses of each of the SG entries and their lengths.
...
...
include/asm-parisc/pci.h
View file @
67c27d08
...
...
@@ -180,9 +180,6 @@ extern inline void pcibios_register_hba(struct pci_hba_data *x)
/* Don't support DAC yet. */
#define pci_dac_dma_supported(pci_dev, mask) (0)
/* Return the index of the PCI controller for device PDEV. */
#define pci_controller_num(PDEV) (0)
/* export the pci_ DMA API in terms of the dma_ one */
#include <asm-generic/pci-dma-compat.h>
...
...
include/asm-ppc/pci-bridge.h
View file @
67c27d08
...
...
@@ -39,7 +39,7 @@ pci_process_bridge_OF_ranges(struct pci_controller *hose,
* Structure of a PCI controller (host bridge)
*/
struct
pci_controller
{
int
index
;
/*
used for pci_controller_num
*/
int
index
;
/*
PCI domain number
*/
struct
pci_controller
*
next
;
struct
pci_bus
*
bus
;
void
*
arch_data
;
...
...
include/asm-ppc/pci.h
View file @
67c27d08
...
...
@@ -266,7 +266,7 @@ pci_dac_dma_sync_single(struct pci_dev *pdev, dma64_addr_t dma_addr, size_t len,
}
/* Return the index of the PCI controller for device PDEV. */
extern
int
pci_controller_num
(
struct
pci_dev
*
pdev
);
#define pci_domain_nr(bus) ((struct pci_controller *)(bus)->sysdata)->index
/* Map a range of PCI memory or I/O space for a device into user space */
int
pci_mmap_page_range
(
struct
pci_dev
*
pdev
,
struct
vm_area_struct
*
vma
,
...
...
include/asm-ppc64/pci.h
View file @
67c27d08
...
...
@@ -86,8 +86,7 @@ static inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask)
return
1
;
}
/* Return the index of the PCI controller for device PDEV. */
extern
int
pci_controller_num
(
struct
pci_dev
*
pdev
);
extern
int
pci_domain_nr
(
struct
pci_bus
*
bus
);
struct
vm_area_struct
;
/* Map a range of PCI memory or I/O space for a device into user space */
...
...
include/asm-sh/pci.h
View file @
67c27d08
...
...
@@ -226,9 +226,6 @@ static inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask)
*/
#define pci_dac_dma_supported(pci_dev, mask) (0)
/* Return the index of the PCI controller for device PDEV. */
#define pci_controller_num(PDEV) (0)
/* These macros should be used after a pci_map_sg call has been done
* to get bus addresses of each of the SG entries and their lengths.
* You should only work with the number of sg entries pci_map_sg
...
...
include/asm-sparc/pci.h
View file @
67c27d08
...
...
@@ -132,9 +132,6 @@ extern inline int pci_dma_supported(struct pci_dev *hwdev, u64 mask)
#define pci_dac_dma_supported(dev, mask) (0)
/* Return the index of the PCI controller for device PDEV. */
#define pci_controller_num(PDEV) (0)
#endif
/* __KERNEL__ */
/* generic pci stuff */
...
...
include/asm-sparc64/pci.h
View file @
67c27d08
...
...
@@ -189,7 +189,7 @@ pci_dac_dma_sync_single(struct pci_dev *pdev, dma64_addr_t dma_addr, size_t len,
/* Return the index of the PCI controller for device PDEV. */
extern
int
pci_
controller_num
(
struct
pci_dev
*
pdev
);
extern
int
pci_
domain_nr
(
struct
pci_bus
*
bus
);
/* Platform support for /proc/bus/pci/X/Y mmap()s. */
...
...
include/asm-v850/rte_cb.h
View file @
67c27d08
...
...
@@ -54,7 +54,6 @@
instead, perversely enough, this becomes always true! */
#define pci_dma_supported(dev, mask) 1
#define pci_dac_dma_supported(dev, mask) 0
#define pci_controller_num(dev) 0
#define pcibios_assign_all_busses() 1
...
...
include/asm-x86_64/pci.h
View file @
67c27d08
...
...
@@ -270,12 +270,6 @@ pci_dac_dma_sync_single(struct pci_dev *pdev, dma64_addr_t dma_addr, size_t len,
#define sg_dma_address(sg) ((sg)->dma_address)
#define sg_dma_len(sg) ((sg)->length)
/* Return the index of the PCI controller for device. */
static
inline
int
pci_controller_num
(
struct
pci_dev
*
dev
)
{
return
0
;
}
#define HAVE_PCI_MMAP
extern
int
pci_mmap_page_range
(
struct
pci_dev
*
dev
,
struct
vm_area_struct
*
vma
,
enum
pci_mmap_state
mmap_state
,
int
write_combine
);
...
...
include/linux/pci.h
View file @
67c27d08
...
...
@@ -805,5 +805,15 @@ extern int pci_pci_problems;
#define PCIPCI_VSFX 16
#define PCIPCI_ALIMAGIK 32
/*
* PCI domain support. Sometimes called PCI segment (eg by ACPI),
* a PCI domain is defined to be a set of PCI busses which share
* configuration space.
*/
#ifndef CONFIG_PCI_DOMAINS
#define pci_domain_nr(bus) 0
#endif
#endif
/* __KERNEL__ */
#endif
/* LINUX_PCI_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment