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
nexedi
linux
Commits
b5463305
Commit
b5463305
authored
Feb 28, 2006
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
parents
7b14e3b5
56ec6462
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
42 additions
and
23 deletions
+42
-23
arch/powerpc/kernel/vdso64/gettimeofday.S
arch/powerpc/kernel/vdso64/gettimeofday.S
+2
-2
arch/powerpc/mm/hash_utils_64.c
arch/powerpc/mm/hash_utils_64.c
+1
-1
arch/powerpc/platforms/pseries/eeh.c
arch/powerpc/platforms/pseries/eeh.c
+14
-0
arch/powerpc/platforms/pseries/eeh_driver.c
arch/powerpc/platforms/pseries/eeh_driver.c
+1
-1
arch/powerpc/platforms/pseries/pci_dlpar.c
arch/powerpc/platforms/pseries/pci_dlpar.c
+20
-16
include/asm-powerpc/eeh.h
include/asm-powerpc/eeh.h
+4
-3
No files found.
arch/powerpc/kernel/vdso64/gettimeofday.S
View file @
b5463305
...
@@ -225,9 +225,9 @@ V_FUNCTION_BEGIN(__do_get_xsec)
...
@@ -225,9 +225,9 @@ V_FUNCTION_BEGIN(__do_get_xsec)
.
cfi_startproc
.
cfi_startproc
/
*
check
for
update
count
&
load
values
*/
/
*
check
for
update
count
&
load
values
*/
1
:
ld
r8
,
CFG_TB_UPDATE_COUNT
(
r3
)
1
:
ld
r8
,
CFG_TB_UPDATE_COUNT
(
r3
)
andi
.
r0
,
r
4
,
1
/*
pending
update
?
loop
*/
andi
.
r0
,
r
8
,
1
/*
pending
update
?
loop
*/
bne
-
1
b
bne
-
1
b
xor
r0
,
r
4
,
r4
/*
create
dependency
*/
xor
r0
,
r
8
,
r8
/*
create
dependency
*/
add
r3
,
r3
,
r0
add
r3
,
r3
,
r0
/
*
Get
TB
&
offset
it
*/
/
*
Get
TB
&
offset
it
*/
...
...
arch/powerpc/mm/hash_utils_64.c
View file @
b5463305
...
@@ -169,7 +169,7 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
...
@@ -169,7 +169,7 @@ int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
#ifdef CONFIG_PPC_ISERIES
#ifdef CONFIG_PPC_ISERIES
if
(
_machine
==
PLATFORM_ISERIES_LPAR
)
if
(
_machine
==
PLATFORM_ISERIES_LPAR
)
ret
=
iSeries_hpte_insert
(
hpteg
,
va
,
ret
=
iSeries_hpte_insert
(
hpteg
,
va
,
virt_to_abs
(
p
addr
),
__pa
(
v
addr
),
tmp_mode
,
tmp_mode
,
HPTE_V_BOLTED
,
HPTE_V_BOLTED
,
psize
);
psize
);
...
...
arch/powerpc/platforms/pseries/eeh.c
View file @
b5463305
...
@@ -893,6 +893,20 @@ void eeh_add_device_tree_early(struct device_node *dn)
...
@@ -893,6 +893,20 @@ void eeh_add_device_tree_early(struct device_node *dn)
}
}
EXPORT_SYMBOL_GPL
(
eeh_add_device_tree_early
);
EXPORT_SYMBOL_GPL
(
eeh_add_device_tree_early
);
void
eeh_add_device_tree_late
(
struct
pci_bus
*
bus
)
{
struct
pci_dev
*
dev
;
list_for_each_entry
(
dev
,
&
bus
->
devices
,
bus_list
)
{
eeh_add_device_late
(
dev
);
if
(
dev
->
hdr_type
==
PCI_HEADER_TYPE_BRIDGE
)
{
struct
pci_bus
*
subbus
=
dev
->
subordinate
;
if
(
subbus
)
eeh_add_device_tree_late
(
subbus
);
}
}
}
/**
/**
* eeh_add_device_late - perform EEH initialization for the indicated pci device
* eeh_add_device_late - perform EEH initialization for the indicated pci device
* @dev: pci device for which to set up EEH
* @dev: pci device for which to set up EEH
...
...
arch/powerpc/platforms/pseries/eeh_driver.c
View file @
b5463305
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
static
inline
const
char
*
pcid_name
(
struct
pci_dev
*
pdev
)
static
inline
const
char
*
pcid_name
(
struct
pci_dev
*
pdev
)
{
{
if
(
pdev
->
dev
.
driver
)
if
(
pdev
&&
pdev
->
dev
.
driver
)
return
pdev
->
dev
.
driver
->
name
;
return
pdev
->
dev
.
driver
->
name
;
return
""
;
return
""
;
}
}
...
...
arch/powerpc/platforms/pseries/pci_dlpar.c
View file @
b5463305
...
@@ -106,6 +106,8 @@ pcibios_fixup_new_pci_devices(struct pci_bus *bus, int fix_bus)
...
@@ -106,6 +106,8 @@ pcibios_fixup_new_pci_devices(struct pci_bus *bus, int fix_bus)
}
}
}
}
}
}
eeh_add_device_tree_late
(
bus
);
}
}
EXPORT_SYMBOL_GPL
(
pcibios_fixup_new_pci_devices
);
EXPORT_SYMBOL_GPL
(
pcibios_fixup_new_pci_devices
);
...
@@ -114,7 +116,6 @@ pcibios_pci_config_bridge(struct pci_dev *dev)
...
@@ -114,7 +116,6 @@ pcibios_pci_config_bridge(struct pci_dev *dev)
{
{
u8
sec_busno
;
u8
sec_busno
;
struct
pci_bus
*
child_bus
;
struct
pci_bus
*
child_bus
;
struct
pci_dev
*
child_dev
;
/* Get busno of downstream bus */
/* Get busno of downstream bus */
pci_read_config_byte
(
dev
,
PCI_SECONDARY_BUS
,
&
sec_busno
);
pci_read_config_byte
(
dev
,
PCI_SECONDARY_BUS
,
&
sec_busno
);
...
@@ -129,10 +130,6 @@ pcibios_pci_config_bridge(struct pci_dev *dev)
...
@@ -129,10 +130,6 @@ pcibios_pci_config_bridge(struct pci_dev *dev)
pci_scan_child_bus
(
child_bus
);
pci_scan_child_bus
(
child_bus
);
list_for_each_entry
(
child_dev
,
&
child_bus
->
devices
,
bus_list
)
{
eeh_add_device_late
(
child_dev
);
}
/* Fixup new pci devices without touching bus struct */
/* Fixup new pci devices without touching bus struct */
pcibios_fixup_new_pci_devices
(
child_bus
,
0
);
pcibios_fixup_new_pci_devices
(
child_bus
,
0
);
...
@@ -160,7 +157,15 @@ pcibios_add_pci_devices(struct pci_bus * bus)
...
@@ -160,7 +157,15 @@ pcibios_add_pci_devices(struct pci_bus * bus)
eeh_add_device_tree_early
(
dn
);
eeh_add_device_tree_early
(
dn
);
/* pci_scan_slot should find all children */
if
(
_machine
==
PLATFORM_PSERIES_LPAR
)
{
/* use ofdt-based probe */
of_scan_bus
(
dn
,
bus
);
if
(
!
list_empty
(
&
bus
->
devices
))
{
pcibios_fixup_new_pci_devices
(
bus
,
0
);
pci_bus_add_devices
(
bus
);
}
}
else
{
/* use legacy probe */
slotno
=
PCI_SLOT
(
PCI_DN
(
dn
->
child
)
->
devfn
);
slotno
=
PCI_SLOT
(
PCI_DN
(
dn
->
child
)
->
devfn
);
num
=
pci_scan_slot
(
bus
,
PCI_DEVFN
(
slotno
,
0
));
num
=
pci_scan_slot
(
bus
,
PCI_DEVFN
(
slotno
,
0
));
if
(
num
)
{
if
(
num
)
{
...
@@ -168,8 +173,7 @@ pcibios_add_pci_devices(struct pci_bus * bus)
...
@@ -168,8 +173,7 @@ pcibios_add_pci_devices(struct pci_bus * bus)
pci_bus_add_devices
(
bus
);
pci_bus_add_devices
(
bus
);
}
}
list_for_each_entry
(
dev
,
&
bus
->
devices
,
bus_list
)
{
list_for_each_entry
(
dev
,
&
bus
->
devices
,
bus_list
)
eeh_add_device_late
(
dev
);
if
(
dev
->
hdr_type
==
PCI_HEADER_TYPE_BRIDGE
)
if
(
dev
->
hdr_type
==
PCI_HEADER_TYPE_BRIDGE
)
pcibios_pci_config_bridge
(
dev
);
pcibios_pci_config_bridge
(
dev
);
}
}
...
...
include/asm-powerpc/eeh.h
View file @
b5463305
...
@@ -27,6 +27,7 @@
...
@@ -27,6 +27,7 @@
#include <linux/string.h>
#include <linux/string.h>
struct
pci_dev
;
struct
pci_dev
;
struct
pci_bus
;
struct
device_node
;
struct
device_node
;
#ifdef CONFIG_EEH
#ifdef CONFIG_EEH
...
@@ -61,7 +62,7 @@ void __init pci_addr_cache_build(void);
...
@@ -61,7 +62,7 @@ void __init pci_addr_cache_build(void);
*/
*/
void
eeh_add_device_early
(
struct
device_node
*
);
void
eeh_add_device_early
(
struct
device_node
*
);
void
eeh_add_device_tree_early
(
struct
device_node
*
);
void
eeh_add_device_tree_early
(
struct
device_node
*
);
void
eeh_add_device_
late
(
struct
pci_dev
*
);
void
eeh_add_device_
tree_late
(
struct
pci_bus
*
);
/**
/**
* eeh_remove_device - undo EEH setup for the indicated pci device
* eeh_remove_device - undo EEH setup for the indicated pci device
...
@@ -116,12 +117,12 @@ static inline void pci_addr_cache_build(void) { }
...
@@ -116,12 +117,12 @@ static inline void pci_addr_cache_build(void) { }
static
inline
void
eeh_add_device_early
(
struct
device_node
*
dn
)
{
}
static
inline
void
eeh_add_device_early
(
struct
device_node
*
dn
)
{
}
static
inline
void
eeh_add_device_late
(
struct
pci_dev
*
dev
)
{
}
static
inline
void
eeh_remove_device
(
struct
pci_dev
*
dev
)
{
}
static
inline
void
eeh_remove_device
(
struct
pci_dev
*
dev
)
{
}
static
inline
void
eeh_add_device_tree_early
(
struct
device_node
*
dn
)
{
}
static
inline
void
eeh_add_device_tree_early
(
struct
device_node
*
dn
)
{
}
static
inline
void
eeh_add_device_tree_late
(
struct
pci_bus
*
bus
)
{
}
static
inline
void
eeh_remove_bus_device
(
struct
pci_dev
*
dev
)
{
}
static
inline
void
eeh_remove_bus_device
(
struct
pci_dev
*
dev
)
{
}
#define EEH_POSSIBLE_ERROR(val, type) (0)
#define EEH_POSSIBLE_ERROR(val, type) (0)
#define EEH_IO_ERROR_VALUE(size) (-1UL)
#define EEH_IO_ERROR_VALUE(size) (-1UL)
...
...
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