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
c57d1f3a
Commit
c57d1f3a
authored
Jan 18, 2004
by
Andrew Morton
Committed by
Linus Torvalds
Jan 18, 2004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] sn: New pci provider interfaces
From: Pat Gefre <pfg@sgi.com> New pci provider interfaces
parent
8e00ee40
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
5 deletions
+22
-5
arch/ia64/sn/io/machvec/pci_bus_cvlink.c
arch/ia64/sn/io/machvec/pci_bus_cvlink.c
+21
-5
include/asm-ia64/sn/pci/pci_bus_cvlink.h
include/asm-ia64/sn/pci/pci_bus_cvlink.h
+1
-0
No files found.
arch/ia64/sn/io/machvec/pci_bus_cvlink.c
View file @
c57d1f3a
...
@@ -31,6 +31,18 @@ void sn_dma_flush_init(unsigned long start, unsigned long end, int idx, int pin,
...
@@ -31,6 +31,18 @@ void sn_dma_flush_init(unsigned long start, unsigned long end, int idx, int pin,
#define IS_OPUS(nasid) (cbrick_type_get_nasid(nasid) == MODULE_OPUSBRICK)
#define IS_OPUS(nasid) (cbrick_type_get_nasid(nasid) == MODULE_OPUSBRICK)
#define IS_ALTIX(nasid) (cbrick_type_get_nasid(nasid) == MODULE_CBRICK)
#define IS_ALTIX(nasid) (cbrick_type_get_nasid(nasid) == MODULE_CBRICK)
/*
* Init the provider asic for a given device
*/
static
void
set_pci_provider
(
struct
sn_device_sysdata
*
device_sysdata
)
{
pciio_info_t
pciio_info
=
pciio_info_get
(
device_sysdata
->
vhdl
);
device_sysdata
->
pci_provider
=
pciio_info_pops_get
(
pciio_info
);
}
/*
/*
* pci_bus_cvlink_init() - To be called once during initialization before
* pci_bus_cvlink_init() - To be called once during initialization before
* SGI IO Infrastructure init is called.
* SGI IO Infrastructure init is called.
...
@@ -329,6 +341,7 @@ sn_pci_fixup(int arg)
...
@@ -329,6 +341,7 @@ sn_pci_fixup(int arg)
struct
sn_widget_sysdata
*
widget_sysdata
;
struct
sn_widget_sysdata
*
widget_sysdata
;
struct
sn_device_sysdata
*
device_sysdata
;
struct
sn_device_sysdata
*
device_sysdata
;
pcibr_intr_t
intr_handle
;
pcibr_intr_t
intr_handle
;
pciio_provider_t
*
pci_provider
;
int
cpuid
;
int
cpuid
;
vertex_hdl_t
device_vertex
;
vertex_hdl_t
device_vertex
;
pciio_intr_line_t
lines
;
pciio_intr_line_t
lines
;
...
@@ -404,6 +417,7 @@ sn_pci_fixup(int arg)
...
@@ -404,6 +417,7 @@ sn_pci_fixup(int arg)
device_vertex
=
device_sysdata
->
vhdl
;
device_vertex
=
device_sysdata
->
vhdl
;
device_dev
->
sysdata
=
(
void
*
)
device_sysdata
;
device_dev
->
sysdata
=
(
void
*
)
device_sysdata
;
set_pci_provider
(
device_sysdata
);
/*
/*
* Set the xbridge Device(X) Write Buffer Flush and Xbow Flush
* Set the xbridge Device(X) Write Buffer Flush and Xbow Flush
...
@@ -445,17 +459,19 @@ sn_pci_fixup(int arg)
...
@@ -445,17 +459,19 @@ sn_pci_fixup(int arg)
cmd
|=
PCI_COMMAND_MASTER
;
/* If the device doesn't support */
cmd
|=
PCI_COMMAND_MASTER
;
/* If the device doesn't support */
/* bit gets dropped .. no harm */
/* bit gets dropped .. no harm */
pci_write_config_word
(
device_dev
,
PCI_COMMAND
,
cmd
);
pci_write_config_word
(
device_dev
,
PCI_COMMAND
,
cmd
);
pci_read_config_byte
(
device_dev
,
PCI_INTERRUPT_PIN
,
pci_read_config_byte
(
device_dev
,
PCI_INTERRUPT_PIN
,
(
unsigned
char
*
)
&
lines
);
(
unsigned
char
*
)
&
lines
);
device_sysdata
=
(
struct
sn_device_sysdata
*
)
device_dev
->
sysdata
;
device_vertex
=
device_sysdata
->
vhdl
;
pci_provider
=
device_sysdata
->
pci_provider
;
irqpdaindr
->
curr
=
device_dev
;
irqpdaindr
->
curr
=
device_dev
;
intr_handle
=
pcibr_intr_alloc
(
device_vertex
,
NULL
,
lines
,
device_vertex
);
intr_handle
=
(
pci_provider
->
intr_alloc
)
(
device_vertex
,
NULL
,
lines
,
device_vertex
);
irq
=
intr_handle
->
bi_irq
;
irq
=
intr_handle
->
bi_irq
;
irqpdaindr
->
device_dev
[
irq
]
=
device_dev
;
irqpdaindr
->
device_dev
[
irq
]
=
device_dev
;
cpuid
=
intr_handle
->
bi_cpu
;
(
pci_provider
->
intr_connect
)(
intr_handle
,
(
intr_func_t
)
0
,
(
intr_arg_t
)
0
);
pcibr_intr_connect
(
intr_handle
,
(
intr_func_t
)
0
,
(
intr_arg_t
)
0
);
device_dev
->
irq
=
irq
;
device_dev
->
irq
=
irq
;
register_pcibr_intr
(
irq
,
intr_handle
);
register_pcibr_intr
(
irq
,
intr_handle
);
...
...
include/asm-ia64/sn/pci/pci_bus_cvlink.h
View file @
c57d1f3a
...
@@ -53,6 +53,7 @@ struct sn_device_sysdata {
...
@@ -53,6 +53,7 @@ struct sn_device_sysdata {
int
isa64
;
int
isa64
;
volatile
unsigned
int
*
dma_buf_sync
;
volatile
unsigned
int
*
dma_buf_sync
;
volatile
unsigned
int
*
xbow_buf_sync
;
volatile
unsigned
int
*
xbow_buf_sync
;
pciio_provider_t
*
pci_provider
;
};
};
struct
ioports_to_tlbs_s
{
struct
ioports_to_tlbs_s
{
...
...
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