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
a1bc5cdf
Commit
a1bc5cdf
authored
Jan 16, 2006
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'release' of
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
parents
8dca6f33
85953876
Changes
31
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
2082 additions
and
1756 deletions
+2082
-1756
arch/ia64/kernel/perfmon.c
arch/ia64/kernel/perfmon.c
+2
-0
arch/ia64/kernel/perfmon_montecito.h
arch/ia64/kernel/perfmon_montecito.h
+269
-0
arch/ia64/mm/init.c
arch/ia64/mm/init.c
+36
-0
arch/ia64/pci/pci.c
arch/ia64/pci/pci.c
+14
-5
arch/ia64/sn/include/xtalk/hubdev.h
arch/ia64/sn/include/xtalk/hubdev.h
+5
-5
arch/ia64/sn/include/xtalk/xbow.h
arch/ia64/sn/include/xtalk/xbow.h
+108
-98
arch/ia64/sn/include/xtalk/xwidgetdev.h
arch/ia64/sn/include/xtalk/xwidgetdev.h
+23
-23
arch/ia64/sn/kernel/io_init.c
arch/ia64/sn/kernel/io_init.c
+5
-5
arch/ia64/sn/kernel/irq.c
arch/ia64/sn/kernel/irq.c
+5
-5
arch/ia64/sn/kernel/tiocx.c
arch/ia64/sn/kernel/tiocx.c
+9
-9
arch/ia64/sn/pci/pcibr/pcibr_ate.c
arch/ia64/sn/pci/pcibr/pcibr_ate.c
+8
-8
arch/ia64/sn/pci/pcibr/pcibr_dma.c
arch/ia64/sn/pci/pcibr/pcibr_dma.c
+22
-22
arch/ia64/sn/pci/pcibr/pcibr_provider.c
arch/ia64/sn/pci/pcibr/pcibr_provider.c
+6
-6
arch/ia64/sn/pci/pcibr/pcibr_reg.c
arch/ia64/sn/pci/pcibr/pcibr_reg.c
+14
-14
arch/ia64/sn/pci/tioca_provider.c
arch/ia64/sn/pci/tioca_provider.c
+18
-18
arch/ia64/sn/pci/tioce_provider.c
arch/ia64/sn/pci/tioce_provider.c
+34
-34
include/asm-ia64/pal.h
include/asm-ia64/pal.h
+1
-1
include/asm-ia64/processor.h
include/asm-ia64/processor.h
+2
-2
include/asm-ia64/sn/intr.h
include/asm-ia64/sn/intr.h
+1
-1
include/asm-ia64/sn/pcibr_provider.h
include/asm-ia64/sn/pcibr_provider.h
+24
-24
include/asm-ia64/sn/pcibus_provider_defs.h
include/asm-ia64/sn/pcibus_provider_defs.h
+7
-7
include/asm-ia64/sn/pcidev.h
include/asm-ia64/sn/pcidev.h
+2
-2
include/asm-ia64/sn/pic.h
include/asm-ia64/sn/pic.h
+102
-102
include/asm-ia64/sn/shubio.h
include/asm-ia64/sn/shubio.h
+810
-810
include/asm-ia64/sn/sn_sal.h
include/asm-ia64/sn/sn_sal.h
+6
-6
include/asm-ia64/sn/tioca.h
include/asm-ia64/sn/tioca.h
+41
-41
include/asm-ia64/sn/tioca_provider.h
include/asm-ia64/sn/tioca_provider.h
+28
-28
include/asm-ia64/sn/tioce.h
include/asm-ia64/sn/tioce.h
+331
-331
include/asm-ia64/sn/tioce_provider.h
include/asm-ia64/sn/tioce_provider.h
+15
-15
include/asm-ia64/sn/tiocp.h
include/asm-ia64/sn/tiocp.h
+127
-127
include/asm-ia64/sn/tiocx.h
include/asm-ia64/sn/tiocx.h
+7
-7
No files found.
arch/ia64/kernel/perfmon.c
View file @
a1bc5cdf
...
...
@@ -628,9 +628,11 @@ static int pfm_write_ibr_dbr(int mode, pfm_context_t *ctx, void *arg, int count,
#include "perfmon_itanium.h"
#include "perfmon_mckinley.h"
#include "perfmon_montecito.h"
#include "perfmon_generic.h"
static
pmu_config_t
*
pmu_confs
[]
=
{
&
pmu_conf_mont
,
&
pmu_conf_mck
,
&
pmu_conf_ita
,
&
pmu_conf_gen
,
/* must be last */
...
...
arch/ia64/kernel/perfmon_montecito.h
0 → 100644
View file @
a1bc5cdf
/*
* This file contains the Montecito PMU register description tables
* and pmc checker used by perfmon.c.
*
* Copyright (c) 2005-2006 Hewlett-Packard Development Company, L.P.
* Contributed by Stephane Eranian <eranian@hpl.hp.com>
*/
static
int
pfm_mont_pmc_check
(
struct
task_struct
*
task
,
pfm_context_t
*
ctx
,
unsigned
int
cnum
,
unsigned
long
*
val
,
struct
pt_regs
*
regs
);
#define RDEP_MONT_ETB (RDEP(38)|RDEP(39)|RDEP(48)|RDEP(49)|RDEP(50)|RDEP(51)|RDEP(52)|RDEP(53)|RDEP(54)|\
RDEP(55)|RDEP(56)|RDEP(57)|RDEP(58)|RDEP(59)|RDEP(60)|RDEP(61)|RDEP(62)|RDEP(63))
#define RDEP_MONT_DEAR (RDEP(32)|RDEP(33)|RDEP(36))
#define RDEP_MONT_IEAR (RDEP(34)|RDEP(35))
static
pfm_reg_desc_t
pfm_mont_pmc_desc
[
PMU_MAX_PMCS
]
=
{
/* pmc0 */
{
PFM_REG_CONTROL
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc1 */
{
PFM_REG_CONTROL
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc2 */
{
PFM_REG_CONTROL
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc3 */
{
PFM_REG_CONTROL
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc4 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
4
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc5 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
5
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc6 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
6
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc7 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
7
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc8 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
8
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc9 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
9
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc10 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
10
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc11 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
11
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc12 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
12
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc13 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
13
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc14 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
14
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc15 */
{
PFM_REG_COUNTING
,
6
,
0x2000000
,
0x7c7fff7f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP
(
15
),
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc16 */
{
PFM_REG_NOTIMPL
,
},
/* pmc17 */
{
PFM_REG_NOTIMPL
,
},
/* pmc18 */
{
PFM_REG_NOTIMPL
,
},
/* pmc19 */
{
PFM_REG_NOTIMPL
,
},
/* pmc20 */
{
PFM_REG_NOTIMPL
,
},
/* pmc21 */
{
PFM_REG_NOTIMPL
,
},
/* pmc22 */
{
PFM_REG_NOTIMPL
,
},
/* pmc23 */
{
PFM_REG_NOTIMPL
,
},
/* pmc24 */
{
PFM_REG_NOTIMPL
,
},
/* pmc25 */
{
PFM_REG_NOTIMPL
,
},
/* pmc26 */
{
PFM_REG_NOTIMPL
,
},
/* pmc27 */
{
PFM_REG_NOTIMPL
,
},
/* pmc28 */
{
PFM_REG_NOTIMPL
,
},
/* pmc29 */
{
PFM_REG_NOTIMPL
,
},
/* pmc30 */
{
PFM_REG_NOTIMPL
,
},
/* pmc31 */
{
PFM_REG_NOTIMPL
,
},
/* pmc32 */
{
PFM_REG_CONFIG
,
0
,
0x30f01ffffffffff
,
0x30f01ffffffffff
,
NULL
,
pfm_mont_pmc_check
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc33 */
{
PFM_REG_CONFIG
,
0
,
0x0
,
0x1ffffffffff
,
NULL
,
pfm_mont_pmc_check
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc34 */
{
PFM_REG_CONFIG
,
0
,
0xf01ffffffffff
,
0xf01ffffffffff
,
NULL
,
pfm_mont_pmc_check
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc35 */
{
PFM_REG_CONFIG
,
0
,
0x0
,
0x1ffffffffff
,
NULL
,
pfm_mont_pmc_check
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc36 */
{
PFM_REG_CONFIG
,
0
,
0xfffffff0
,
0xf
,
NULL
,
pfm_mont_pmc_check
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc37 */
{
PFM_REG_MONITOR
,
4
,
0x0
,
0x3fff
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP_MONT_IEAR
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc38 */
{
PFM_REG_CONFIG
,
0
,
0xdb6
,
0x2492
,
NULL
,
pfm_mont_pmc_check
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc39 */
{
PFM_REG_MONITOR
,
6
,
0x0
,
0xffcf
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc40 */
{
PFM_REG_MONITOR
,
6
,
0x2000000
,
0xf01cf
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP_MONT_DEAR
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc41 */
{
PFM_REG_CONFIG
,
0
,
0x00002078fefefefe
,
0x1e00018181818
,
NULL
,
pfm_mont_pmc_check
,
{
0
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
/* pmc42 */
{
PFM_REG_MONITOR
,
6
,
0x0
,
0x7ff4f
,
NULL
,
pfm_mont_pmc_check
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
0
,
0
,
0
,
0
}},
{
PFM_REG_END
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,},
{
0
,}},
/* end marker */
};
static
pfm_reg_desc_t
pfm_mont_pmd_desc
[
PMU_MAX_PMDS
]
=
{
/* pmd0 */
{
PFM_REG_NOTIMPL
,
},
/* pmd1 */
{
PFM_REG_NOTIMPL
,
},
/* pmd2 */
{
PFM_REG_NOTIMPL
,
},
/* pmd3 */
{
PFM_REG_NOTIMPL
,
},
/* pmd4 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
4
),
0
,
0
,
0
}},
/* pmd5 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
5
),
0
,
0
,
0
}},
/* pmd6 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
6
),
0
,
0
,
0
}},
/* pmd7 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
7
),
0
,
0
,
0
}},
/* pmd8 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
8
),
0
,
0
,
0
}},
/* pmd9 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
9
),
0
,
0
,
0
}},
/* pmd10 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
10
),
0
,
0
,
0
}},
/* pmd11 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
11
),
0
,
0
,
0
}},
/* pmd12 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
12
),
0
,
0
,
0
}},
/* pmd13 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
13
),
0
,
0
,
0
}},
/* pmd14 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
14
),
0
,
0
,
0
}},
/* pmd15 */
{
PFM_REG_COUNTING
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,
0
,
0
,
0
},
{
RDEP
(
15
),
0
,
0
,
0
}},
/* pmd16 */
{
PFM_REG_NOTIMPL
,
},
/* pmd17 */
{
PFM_REG_NOTIMPL
,
},
/* pmd18 */
{
PFM_REG_NOTIMPL
,
},
/* pmd19 */
{
PFM_REG_NOTIMPL
,
},
/* pmd20 */
{
PFM_REG_NOTIMPL
,
},
/* pmd21 */
{
PFM_REG_NOTIMPL
,
},
/* pmd22 */
{
PFM_REG_NOTIMPL
,
},
/* pmd23 */
{
PFM_REG_NOTIMPL
,
},
/* pmd24 */
{
PFM_REG_NOTIMPL
,
},
/* pmd25 */
{
PFM_REG_NOTIMPL
,
},
/* pmd26 */
{
PFM_REG_NOTIMPL
,
},
/* pmd27 */
{
PFM_REG_NOTIMPL
,
},
/* pmd28 */
{
PFM_REG_NOTIMPL
,
},
/* pmd29 */
{
PFM_REG_NOTIMPL
,
},
/* pmd30 */
{
PFM_REG_NOTIMPL
,
},
/* pmd31 */
{
PFM_REG_NOTIMPL
,
},
/* pmd32 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP
(
33
)
|
RDEP
(
36
),
0
,
0
,
0
},
{
RDEP
(
40
),
0
,
0
,
0
}},
/* pmd33 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP
(
32
)
|
RDEP
(
36
),
0
,
0
,
0
},
{
RDEP
(
40
),
0
,
0
,
0
}},
/* pmd34 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP
(
35
),
0
,
0
,
0
},
{
RDEP
(
37
),
0
,
0
,
0
}},
/* pmd35 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP
(
34
),
0
,
0
,
0
},
{
RDEP
(
37
),
0
,
0
,
0
}},
/* pmd36 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP
(
32
)
|
RDEP
(
33
),
0
,
0
,
0
},
{
RDEP
(
40
),
0
,
0
,
0
}},
/* pmd37 */
{
PFM_REG_NOTIMPL
,
},
/* pmd38 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd39 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd40 */
{
PFM_REG_NOTIMPL
,
},
/* pmd41 */
{
PFM_REG_NOTIMPL
,
},
/* pmd42 */
{
PFM_REG_NOTIMPL
,
},
/* pmd43 */
{
PFM_REG_NOTIMPL
,
},
/* pmd44 */
{
PFM_REG_NOTIMPL
,
},
/* pmd45 */
{
PFM_REG_NOTIMPL
,
},
/* pmd46 */
{
PFM_REG_NOTIMPL
,
},
/* pmd47 */
{
PFM_REG_NOTIMPL
,
},
/* pmd48 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd49 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd50 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd51 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd52 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd53 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd54 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd55 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd56 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd57 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd58 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd59 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd60 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd61 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd62 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
/* pmd63 */
{
PFM_REG_BUFFER
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
RDEP_MONT_ETB
,
0
,
0
,
0
},
{
RDEP
(
39
),
0
,
0
,
0
}},
{
PFM_REG_END
,
0
,
0x0
,
-
1
,
NULL
,
NULL
,
{
0
,},
{
0
,}},
/* end marker */
};
/*
* PMC reserved fields must have their power-up values preserved
*/
static
int
pfm_mont_reserved
(
unsigned
int
cnum
,
unsigned
long
*
val
,
struct
pt_regs
*
regs
)
{
unsigned
long
tmp1
,
tmp2
,
ival
=
*
val
;
/* remove reserved areas from user value */
tmp1
=
ival
&
PMC_RSVD_MASK
(
cnum
);
/* get reserved fields values */
tmp2
=
PMC_DFL_VAL
(
cnum
)
&
~
PMC_RSVD_MASK
(
cnum
);
*
val
=
tmp1
|
tmp2
;
DPRINT
((
"pmc[%d]=0x%lx, mask=0x%lx, reset=0x%lx, val=0x%lx
\n
"
,
cnum
,
ival
,
PMC_RSVD_MASK
(
cnum
),
PMC_DFL_VAL
(
cnum
),
*
val
));
return
0
;
}
/*
* task can be NULL if the context is unloaded
*/
static
int
pfm_mont_pmc_check
(
struct
task_struct
*
task
,
pfm_context_t
*
ctx
,
unsigned
int
cnum
,
unsigned
long
*
val
,
struct
pt_regs
*
regs
)
{
int
ret
=
0
;
unsigned
long
val32
=
0
,
val38
=
0
,
val41
=
0
;
unsigned
long
tmpval
;
int
check_case1
=
0
;
int
is_loaded
;
/* first preserve the reserved fields */
pfm_mont_reserved
(
cnum
,
val
,
regs
);
tmpval
=
*
val
;
/* sanity check */
if
(
ctx
==
NULL
)
return
-
EINVAL
;
is_loaded
=
ctx
->
ctx_state
==
PFM_CTX_LOADED
||
ctx
->
ctx_state
==
PFM_CTX_MASKED
;
/*
* we must clear the debug registers if pmc41 has a value which enable
* memory pipeline event constraints. In this case we need to clear the
* the debug registers if they have not yet been accessed. This is required
* to avoid picking stale state.
* PMC41 is "active" if:
* one of the pmc41.cfg_dtagXX field is different from 0x3
* AND
* at the corresponding pmc41.en_dbrpXX is set.
* AND
* ctx_fl_using_dbreg == 0 (i.e., dbr not yet used)
*/
DPRINT
((
"cnum=%u val=0x%lx, using_dbreg=%d loaded=%d
\n
"
,
cnum
,
tmpval
,
ctx
->
ctx_fl_using_dbreg
,
is_loaded
));
if
(
cnum
==
41
&&
is_loaded
&&
(
tmpval
&
0x1e00000000000
)
&&
(
tmpval
&
0x18181818UL
)
!=
0x18181818UL
&&
ctx
->
ctx_fl_using_dbreg
==
0
)
{
DPRINT
((
"pmc[%d]=0x%lx has active pmc41 settings, clearing dbr
\n
"
,
cnum
,
tmpval
));
/* don't mix debug with perfmon */
if
(
task
&&
(
task
->
thread
.
flags
&
IA64_THREAD_DBG_VALID
)
!=
0
)
return
-
EINVAL
;
/*
* a count of 0 will mark the debug registers if:
* AND
*/
ret
=
pfm_write_ibr_dbr
(
PFM_DATA_RR
,
ctx
,
NULL
,
0
,
regs
);
if
(
ret
)
return
ret
;
}
/*
* we must clear the (instruction) debug registers if:
* pmc38.ig_ibrpX is 0 (enabled)
* AND
* ctx_fl_using_dbreg == 0 (i.e., dbr not yet used)
*/
if
(
cnum
==
38
&&
is_loaded
&&
((
tmpval
&
0x492UL
)
!=
0x492UL
)
&&
ctx
->
ctx_fl_using_dbreg
==
0
)
{
DPRINT
((
"pmc38=0x%lx has active pmc38 settings, clearing ibr
\n
"
,
tmpval
));
/* don't mix debug with perfmon */
if
(
task
&&
(
task
->
thread
.
flags
&
IA64_THREAD_DBG_VALID
)
!=
0
)
return
-
EINVAL
;
/*
* a count of 0 will mark the debug registers as in use and also
* ensure that they are properly cleared.
*/
ret
=
pfm_write_ibr_dbr
(
PFM_CODE_RR
,
ctx
,
NULL
,
0
,
regs
);
if
(
ret
)
return
ret
;
}
switch
(
cnum
)
{
case
32
:
val32
=
*
val
;
val38
=
ctx
->
ctx_pmcs
[
38
];
val41
=
ctx
->
ctx_pmcs
[
41
];
check_case1
=
1
;
break
;
case
38
:
val38
=
*
val
;
val32
=
ctx
->
ctx_pmcs
[
32
];
val41
=
ctx
->
ctx_pmcs
[
41
];
check_case1
=
1
;
break
;
case
41
:
val41
=
*
val
;
val32
=
ctx
->
ctx_pmcs
[
32
];
val38
=
ctx
->
ctx_pmcs
[
38
];
check_case1
=
1
;
break
;
}
/* check illegal configuration which can produce inconsistencies in tagging
* i-side events in L1D and L2 caches
*/
if
(
check_case1
)
{
ret
=
(((
val41
>>
45
)
&
0xf
)
==
0
&&
((
val32
>>
57
)
&
0x1
)
==
0
)
&&
((((
val38
>>
1
)
&
0x3
)
==
0x2
||
((
val38
>>
1
)
&
0x3
)
==
0
)
||
(((
val38
>>
4
)
&
0x3
)
==
0x2
||
((
val38
>>
4
)
&
0x3
)
==
0
));
if
(
ret
)
{
DPRINT
((
"invalid config pmc38=0x%lx pmc41=0x%lx pmc32=0x%lx
\n
"
,
val38
,
val41
,
val32
));
return
-
EINVAL
;
}
}
*
val
=
tmpval
;
return
0
;
}
/*
* impl_pmcs, impl_pmds are computed at runtime to minimize errors!
*/
static
pmu_config_t
pmu_conf_mont
=
{
.
pmu_name
=
"Montecito"
,
.
pmu_family
=
0x20
,
.
flags
=
PFM_PMU_IRQ_RESEND
,
.
ovfl_val
=
(
1UL
<<
47
)
-
1
,
.
pmd_desc
=
pfm_mont_pmd_desc
,
.
pmc_desc
=
pfm_mont_pmc_desc
,
.
num_ibrs
=
8
,
.
num_dbrs
=
8
,
.
use_rr_dbregs
=
1
/* debug register are use for range retrictions */
};
arch/ia64/mm/init.c
View file @
a1bc5cdf
...
...
@@ -635,3 +635,39 @@ mem_init (void)
ia32_mem_init
();
#endif
}
#ifdef CONFIG_MEMORY_HOTPLUG
void
online_page
(
struct
page
*
page
)
{
ClearPageReserved
(
page
);
set_page_count
(
page
,
1
);
__free_page
(
page
);
totalram_pages
++
;
num_physpages
++
;
}
int
add_memory
(
u64
start
,
u64
size
)
{
pg_data_t
*
pgdat
;
struct
zone
*
zone
;
unsigned
long
start_pfn
=
start
>>
PAGE_SHIFT
;
unsigned
long
nr_pages
=
size
>>
PAGE_SHIFT
;
int
ret
;
pgdat
=
NODE_DATA
(
0
);
zone
=
pgdat
->
node_zones
+
ZONE_NORMAL
;
ret
=
__add_pages
(
zone
,
start_pfn
,
nr_pages
);
if
(
ret
)
printk
(
"%s: Problem encountered in __add_pages() as ret=%d
\n
"
,
__FUNCTION__
,
ret
);
return
ret
;
}
int
remove_memory
(
u64
start
,
u64
size
)
{
return
-
EINVAL
;
}
#endif
arch/ia64/pci/pci.c
View file @
a1bc5cdf
...
...
@@ -454,14 +454,13 @@ static int __devinit is_valid_resource(struct pci_dev *dev, int idx)
return
0
;
}
static
void
__devinit
pcibios_fixup_device_resources
(
struct
pci_dev
*
dev
)
static
void
__devinit
pcibios_fixup_resources
(
struct
pci_dev
*
dev
,
int
start
,
int
limit
)
{
struct
pci_bus_region
region
;
int
i
;
int
limit
=
(
dev
->
hdr_type
==
PCI_HEADER_TYPE_NORMAL
)
?
\
PCI_BRIDGE_RESOURCES
:
PCI_NUM_RESOURCES
;
for
(
i
=
0
;
i
<
limit
;
i
++
)
{
for
(
i
=
start
;
i
<
limit
;
i
++
)
{
if
(
!
dev
->
resource
[
i
].
flags
)
continue
;
region
.
start
=
dev
->
resource
[
i
].
start
;
...
...
@@ -472,6 +471,16 @@ static void __devinit pcibios_fixup_device_resources(struct pci_dev *dev)
}
}
static
void
__devinit
pcibios_fixup_device_resources
(
struct
pci_dev
*
dev
)
{
pcibios_fixup_resources
(
dev
,
0
,
PCI_BRIDGE_RESOURCES
);
}
static
void
__devinit
pcibios_fixup_bridge_resources
(
struct
pci_dev
*
dev
)
{
pcibios_fixup_resources
(
dev
,
PCI_BRIDGE_RESOURCES
,
PCI_NUM_RESOURCES
);
}
/*
* Called after each bus is probed, but before its children are examined.
*/
...
...
@@ -482,7 +491,7 @@ pcibios_fixup_bus (struct pci_bus *b)
if
(
b
->
self
)
{
pci_read_bridge_bases
(
b
);
pcibios_fixup_
devic
e_resources
(
b
->
self
);
pcibios_fixup_
bridg
e_resources
(
b
->
self
);
}
list_for_each_entry
(
dev
,
&
b
->
devices
,
bus_list
)
pcibios_fixup_device_resources
(
dev
);
...
...
arch/ia64/sn/include/xtalk/hubdev.h
View file @
a1bc5cdf
...
...
@@ -40,8 +40,8 @@ struct sn_flush_device_common {
unsigned
long
sfdl_force_int_addr
;
unsigned
long
sfdl_flush_value
;
volatile
unsigned
long
*
sfdl_flush_addr
;
u
int32_t
sfdl_persistent_busnum
;
u
int32_t
sfdl_persistent_segment
;
u
32
sfdl_persistent_busnum
;
u
32
sfdl_persistent_segment
;
struct
pcibus_info
*
sfdl_pcibus_info
;
};
...
...
@@ -56,7 +56,7 @@ struct sn_flush_device_kernel {
*/
struct
sn_flush_nasid_entry
{
struct
sn_flush_device_kernel
**
widget_p
;
// Used as an array of wid_num
u
int64_t
iio_itte
[
8
];
u
64
iio_itte
[
8
];
};
struct
hubdev_info
{
...
...
@@ -70,8 +70,8 @@ struct hubdev_info {
void
*
hdi_nodepda
;
void
*
hdi_node_vertex
;
u
int32_t
max_segment_number
;
u
int32_t
max_pcibus_number
;
u
32
max_segment_number
;
u
32
max_pcibus_number
;
};
extern
void
hubdev_init_node
(
nodepda_t
*
,
cnodeid_t
);
...
...
arch/ia64/sn/include/xtalk/xbow.h
View file @
a1bc5cdf
...
...
@@ -3,7 +3,8 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 1992-1997,2000-2004 Silicon Graphics, Inc. All Rights Reserved.
* Copyright (C) 1992-1997,2000-2006 Silicon Graphics, Inc. All Rights
* Reserved.
*/
#ifndef _ASM_IA64_SN_XTALK_XBOW_H
#define _ASM_IA64_SN_XTALK_XBOW_H
...
...
@@ -21,94 +22,94 @@
/* Register set for each xbow link */
typedef
volatile
struct
xb_linkregs_s
{
/*
/*
* we access these through synergy unswizzled space, so the address
* gets twiddled (i.e. references to 0x4 actually go to 0x0 and vv.)
* That's why we put the register first and filler second.
*/
uint32_t
link_ibf
;
uint32_t
filler0
;
/* filler for proper alignment */
uint32_t
link_control
;
uint32_t
filler1
;
uint32_t
link_status
;
uint32_t
filler2
;
uint32_t
link_arb_upper
;
uint32_t
filler3
;
uint32_t
link_arb_lower
;
uint32_t
filler4
;
uint32_t
link_status_clr
;
uint32_t
filler5
;
uint32_t
link_reset
;
uint32_t
filler6
;
uint32_t
link_aux_status
;
uint32_t
filler7
;
u32
link_ibf
;
u32
filler0
;
/* filler for proper alignment */
u32
link_control
;
u32
filler1
;
u32
link_status
;
u32
filler2
;
u32
link_arb_upper
;
u32
filler3
;
u32
link_arb_lower
;
u32
filler4
;
u32
link_status_clr
;
u32
filler5
;
u32
link_reset
;
u32
filler6
;
u32
link_aux_status
;
u32
filler7
;
}
xb_linkregs_t
;
typedef
volatile
struct
xbow_s
{
/* standard widget configuration
0x000000-0x000057 */
struct
widget_cfg
xb_widget
;
/* 0x000000 */
/* helper fieldnames for accessing bridge widget */
#define xb_wid_id
xb_widget.w_id
#define xb_wid_stat
xb_widget.w_status
#define xb_wid_err_upper
xb_widget.w_err_upper_addr
#define xb_wid_err_lower
xb_widget.w_err_lower_addr
#define xb_wid_control
xb_widget.w_control
#define xb_wid_req_timeout
xb_widget.w_req_timeout
#define xb_wid_int_upper
xb_widget.w_intdest_upper_addr
#define xb_wid_int_lower
xb_widget.w_intdest_lower_addr
#define xb_wid_err_cmdword
xb_widget.w_err_cmd_word
#define xb_wid_llp
xb_widget.w_llp_cfg
#define xb_wid_stat_clr
xb_widget.w_tflush
/*
/* standard widget configuration
0x000000-0x000057 */
struct
widget_cfg
xb_widget
;
/* 0x000000 */
/* helper fieldnames for accessing bridge widget */
#define xb_wid_id
xb_widget.w_id
#define xb_wid_stat
xb_widget.w_status
#define xb_wid_err_upper
xb_widget.w_err_upper_addr
#define xb_wid_err_lower
xb_widget.w_err_lower_addr
#define xb_wid_control
xb_widget.w_control
#define xb_wid_req_timeout
xb_widget.w_req_timeout
#define xb_wid_int_upper
xb_widget.w_intdest_upper_addr
#define xb_wid_int_lower
xb_widget.w_intdest_lower_addr
#define xb_wid_err_cmdword
xb_widget.w_err_cmd_word
#define xb_wid_llp
xb_widget.w_llp_cfg
#define xb_wid_stat_clr
xb_widget.w_tflush
/*
* we access these through synergy unswizzled space, so the address
* gets twiddled (i.e. references to 0x4 actually go to 0x0 and vv.)
* That's why we put the register first and filler second.
*/
/* xbow-specific widget configuration 0x000058-0x0000FF */
uint32_t
xb_wid_arb_reload
;
/* 0x00005C */
uint32_t
_pad_000058
;
uint32_t
xb_perf_ctr_a
;
/* 0x000064 */
uint32_t
_pad_000060
;
uint32_t
xb_perf_ctr_b
;
/* 0x00006c */
uint32_t
_pad_000068
;
uint32_t
xb_nic
;
/* 0x000074 */
uint32_t
_pad_000070
;
/* Xbridge only */
uint32_t
xb_w0_rst_fnc
;
/* 0x00007C */
uint32_t
_pad_000078
;
uint32_t
xb_l8_rst_fnc
;
/* 0x000084 */
uint32_t
_pad_000080
;
uint32_t
xb_l9_rst_fnc
;
/* 0x00008c */
uint32_t
_pad_000088
;
uint32_t
xb_la_rst_fnc
;
/* 0x000094 */
uint32_t
_pad_000090
;
uint32_t
xb_lb_rst_fnc
;
/* 0x00009c */
uint32_t
_pad_000098
;
uint32_t
xb_lc_rst_fnc
;
/* 0x0000a4 */
uint32_t
_pad_0000a0
;
uint32_t
xb_ld_rst_fnc
;
/* 0x0000ac */
uint32_t
_pad_0000a8
;
uint32_t
xb_le_rst_fnc
;
/* 0x0000b4 */
uint32_t
_pad_0000b0
;
uint32_t
xb_lf_rst_fnc
;
/* 0x0000bc */
uint32_t
_pad_0000b8
;
uint32_t
xb_lock
;
/* 0x0000c4 */
uint32_t
_pad_0000c0
;
uint32_t
xb_lock_clr
;
/* 0x0000cc */
uint32_t
_pad_0000c8
;
/* end of Xbridge only */
uint32_t
_pad_0000d0
[
12
];
/* Link Specific Registers, port 8..15 0x000100-0x000300 */
xb_linkregs_t
xb_link_raw
[
MAX_XBOW_PORTS
];
#define xb_link(p) xb_link_raw[(p) & (MAX_XBOW_PORTS - 1)]
/* xbow-specific widget configuration 0x000058-0x0000FF */
u32
xb_wid_arb_reload
;
/* 0x00005C */
u32
_pad_000058
;
u32
xb_perf_ctr_a
;
/* 0x000064 */
u32
_pad_000060
;
u32
xb_perf_ctr_b
;
/* 0x00006c */
u32
_pad_000068
;
u32
xb_nic
;
/* 0x000074 */
u32
_pad_000070
;
/* Xbridge only */
u32
xb_w0_rst_fnc
;
/* 0x00007C */
u32
_pad_000078
;
u32
xb_l8_rst_fnc
;
/* 0x000084 */
u32
_pad_000080
;
u32
xb_l9_rst_fnc
;
/* 0x00008c */
u32
_pad_000088
;
u32
xb_la_rst_fnc
;
/* 0x000094 */
u32
_pad_000090
;
u32
xb_lb_rst_fnc
;
/* 0x00009c */
u32
_pad_000098
;
u32
xb_lc_rst_fnc
;
/* 0x0000a4 */
u32
_pad_0000a0
;
u32
xb_ld_rst_fnc
;
/* 0x0000ac */
u32
_pad_0000a8
;
u32
xb_le_rst_fnc
;
/* 0x0000b4 */
u32
_pad_0000b0
;
u32
xb_lf_rst_fnc
;
/* 0x0000bc */
u32
_pad_0000b8
;
u32
xb_lock
;
/* 0x0000c4 */
u32
_pad_0000c0
;
u32
xb_lock_clr
;
/* 0x0000cc */
u32
_pad_0000c8
;
/* end of Xbridge only */
u32
_pad_0000d0
[
12
];
/* Link Specific Registers, port 8..15 0x000100-0x000300 */
xb_linkregs_t
xb_link_raw
[
MAX_XBOW_PORTS
];
}
xbow_t
;
#define xb_link(p) xb_link_raw[(p) & (MAX_XBOW_PORTS - 1)]
#define XB_FLAGS_EXISTS 0x1
/* device exists */
#define XB_FLAGS_MASTER 0x2
#define XB_FLAGS_SLAVE 0x0
...
...
@@ -160,7 +161,7 @@ typedef volatile struct xbow_s {
/* End of Xbridge only */
/* used only in ide, but defined here within the reserved portion */
/*
of the widget0 address space (before 0xf4) */
/* of the widget0 address space (before 0xf4) */
#define XBOW_WID_UNDEF 0xe4
/* xbow link register set base, legal value for x is 0x8..0xf */
...
...
@@ -179,29 +180,37 @@ typedef volatile struct xbow_s {
/* link_control(x) */
#define XB_CTRL_LINKALIVE_IE 0x80000000
/* link comes alive */
/* reserved: 0x40000000 */
/* reserved: 0x40000000 */
#define XB_CTRL_PERF_CTR_MODE_MSK 0x30000000
/* perf counter mode */
#define XB_CTRL_IBUF_LEVEL_MSK 0x0e000000
/* input packet buffer level */
#define XB_CTRL_8BIT_MODE 0x01000000
/* force link into 8 bit mode */
#define XB_CTRL_BAD_LLP_PKT 0x00800000
/* force bad LLP packet */
#define XB_CTRL_WIDGET_CR_MSK 0x007c0000
/* LLP widget credit mask */
#define XB_CTRL_WIDGET_CR_SHFT 18
/* LLP widget credit shift */
#define XB_CTRL_ILLEGAL_DST_IE 0x00020000
/* illegal destination */
#define XB_CTRL_OALLOC_IBUF_IE 0x00010000
/* overallocated input buffer */
/* reserved: 0x0000fe00 */
#define XB_CTRL_IBUF_LEVEL_MSK 0x0e000000
/* input packet buffer
level */
#define XB_CTRL_8BIT_MODE 0x01000000
/* force link into 8
bit mode */
#define XB_CTRL_BAD_LLP_PKT 0x00800000
/* force bad LLP
packet */
#define XB_CTRL_WIDGET_CR_MSK 0x007c0000
/* LLP widget credit
mask */
#define XB_CTRL_WIDGET_CR_SHFT 18
/* LLP widget credit
shift */
#define XB_CTRL_ILLEGAL_DST_IE 0x00020000
/* illegal destination
*/
#define XB_CTRL_OALLOC_IBUF_IE 0x00010000
/* overallocated input
buffer */
/* reserved: 0x0000fe00 */
#define XB_CTRL_BNDWDTH_ALLOC_IE 0x00000100
/* bandwidth alloc */
#define XB_CTRL_RCV_CNT_OFLOW_IE 0x00000080
/* rcv retry overflow */
#define XB_CTRL_XMT_CNT_OFLOW_IE 0x00000040
/* xmt retry overflow */
#define XB_CTRL_XMT_MAX_RTRY_IE 0x00000020
/* max transmit retry */
#define XB_CTRL_RCV_IE 0x00000010
/* receive */
#define XB_CTRL_XMT_RTRY_IE 0x00000008
/* transmit retry */
/* reserved: 0x00000004 */
#define XB_CTRL_MAXREQ_TOUT_IE 0x00000002
/* maximum request timeout */
/* reserved: 0x00000004 */
#define XB_CTRL_MAXREQ_TOUT_IE 0x00000002
/* maximum request
timeout */
#define XB_CTRL_SRC_TOUT_IE 0x00000001
/* source timeout */
/* link_status(x) */
#define XB_STAT_LINKALIVE XB_CTRL_LINKALIVE_IE
/* reserved: 0x7ff80000 */
/* reserved: 0x7ff80000 */
#define XB_STAT_MULTI_ERR 0x00040000
/* multi error */
#define XB_STAT_ILLEGAL_DST_ERR XB_CTRL_ILLEGAL_DST_IE
#define XB_STAT_OALLOC_IBUF_ERR XB_CTRL_OALLOC_IBUF_IE
...
...
@@ -211,7 +220,7 @@ typedef volatile struct xbow_s {
#define XB_STAT_XMT_MAX_RTRY_ERR XB_CTRL_XMT_MAX_RTRY_IE
#define XB_STAT_RCV_ERR XB_CTRL_RCV_IE
#define XB_STAT_XMT_RTRY_ERR XB_CTRL_XMT_RTRY_IE
/* reserved: 0x00000004 */
/* reserved: 0x00000004 */
#define XB_STAT_MAXREQ_TOUT_ERR XB_CTRL_MAXREQ_TOUT_IE
#define XB_STAT_SRC_TOUT_ERR XB_CTRL_SRC_TOUT_IE
...
...
@@ -222,7 +231,7 @@ typedef volatile struct xbow_s {
#define XB_AUX_LINKFAIL_RST_BAD 0x00000040
#define XB_AUX_STAT_PRESENT 0x00000020
#define XB_AUX_STAT_PORT_WIDTH 0x00000010
/* reserved: 0x0000000f */
/* reserved: 0x0000000f */
/*
* link_arb_upper/link_arb_lower(x), (reg) should be the link_arb_upper
...
...
@@ -238,7 +247,8 @@ typedef volatile struct xbow_s {
/* XBOW_WID_STAT */
#define XB_WID_STAT_LINK_INTR_SHFT (24)
#define XB_WID_STAT_LINK_INTR_MASK (0xFF << XB_WID_STAT_LINK_INTR_SHFT)
#define XB_WID_STAT_LINK_INTR(x) (0x1 << (((x)&7) + XB_WID_STAT_LINK_INTR_SHFT))
#define XB_WID_STAT_LINK_INTR(x) \
(0x1 << (((x)&7) + XB_WID_STAT_LINK_INTR_SHFT))
#define XB_WID_STAT_WIDGET0_INTR 0x00800000
#define XB_WID_STAT_SRCID_MASK 0x000003c0
/* Xbridge only */
#define XB_WID_STAT_REG_ACC_ERR 0x00000020
...
...
@@ -264,7 +274,7 @@ typedef volatile struct xbow_s {
#define XXBOW_WIDGET_PART_NUM 0xd000
/* Xbridge */
#define XBOW_WIDGET_MFGR_NUM 0x0
#define XXBOW_WIDGET_MFGR_NUM 0x0
#define PXBOW_WIDGET_PART_NUM 0xd100
/* PIC */
#define PXBOW_WIDGET_PART_NUM 0xd100
/* PIC */
#define XBOW_REV_1_0 0x1
/* xbow rev 1.0 is "1" */
#define XBOW_REV_1_1 0x2
/* xbow rev 1.1 is "2" */
...
...
@@ -279,13 +289,13 @@ typedef volatile struct xbow_s {
#define XBOW_WID_ARB_RELOAD_INT 0x3f
/* GBR reload interval */
#define IS_XBRIDGE_XBOW(wid) \
(XWIDGET_PART_NUM(wid) == XXBOW_WIDGET_PART_NUM && \
XWIDGET_MFG_NUM(wid) == XXBOW_WIDGET_MFGR_NUM)
(XWIDGET_PART_NUM(wid) == XXBOW_WIDGET_PART_NUM && \
XWIDGET_MFG_NUM(wid) == XXBOW_WIDGET_MFGR_NUM)
#define IS_PIC_XBOW(wid) \
(XWIDGET_PART_NUM(wid) == PXBOW_WIDGET_PART_NUM && \
XWIDGET_MFG_NUM(wid) == XXBOW_WIDGET_MFGR_NUM)
(XWIDGET_PART_NUM(wid) == PXBOW_WIDGET_PART_NUM && \
XWIDGET_MFG_NUM(wid) == XXBOW_WIDGET_MFGR_NUM)
#define XBOW_WAR_ENABLED(pv, widid) ((1 << XWIDGET_REV_NUM(widid)) & pv)
#endif
/* _ASM_IA64_SN_XTALK_XBOW_H */
#endif
/* _ASM_IA64_SN_XTALK_XBOW_H */
arch/ia64/sn/include/xtalk/xwidgetdev.h
View file @
a1bc5cdf
...
...
@@ -25,28 +25,28 @@
/* widget configuration registers */
struct
widget_cfg
{
u
int32_t
w_id
;
/* 0x04 */
u
int32_t
w_pad_0
;
/* 0x00 */
u
int32_t
w_status
;
/* 0x0c */
u
int32_t
w_pad_1
;
/* 0x08 */
u
int32_t
w_err_upper_addr
;
/* 0x14 */
u
int32_t
w_pad_2
;
/* 0x10 */
u
int32_t
w_err_lower_addr
;
/* 0x1c */
u
int32_t
w_pad_3
;
/* 0x18 */
u
int32_t
w_control
;
/* 0x24 */
u
int32_t
w_pad_4
;
/* 0x20 */
u
int32_t
w_req_timeout
;
/* 0x2c */
u
int32_t
w_pad_5
;
/* 0x28 */
u
int32_t
w_intdest_upper_addr
;
/* 0x34 */
u
int32_t
w_pad_6
;
/* 0x30 */
u
int32_t
w_intdest_lower_addr
;
/* 0x3c */
u
int32_t
w_pad_7
;
/* 0x38 */
u
int32_t
w_err_cmd_word
;
/* 0x44 */
u
int32_t
w_pad_8
;
/* 0x40 */
u
int32_t
w_llp_cfg
;
/* 0x4c */
u
int32_t
w_pad_9
;
/* 0x48 */
u
int32_t
w_tflush
;
/* 0x54 */
u
int32_t
w_pad_10
;
/* 0x50 */
u
32
w_id
;
/* 0x04 */
u
32
w_pad_0
;
/* 0x00 */
u
32
w_status
;
/* 0x0c */
u
32
w_pad_1
;
/* 0x08 */
u
32
w_err_upper_addr
;
/* 0x14 */
u
32
w_pad_2
;
/* 0x10 */
u
32
w_err_lower_addr
;
/* 0x1c */
u
32
w_pad_3
;
/* 0x18 */
u
32
w_control
;
/* 0x24 */
u
32
w_pad_4
;
/* 0x20 */
u
32
w_req_timeout
;
/* 0x2c */
u
32
w_pad_5
;
/* 0x28 */
u
32
w_intdest_upper_addr
;
/* 0x34 */
u
32
w_pad_6
;
/* 0x30 */
u
32
w_intdest_lower_addr
;
/* 0x3c */
u
32
w_pad_7
;
/* 0x38 */
u
32
w_err_cmd_word
;
/* 0x44 */
u
32
w_pad_8
;
/* 0x40 */
u
32
w_llp_cfg
;
/* 0x4c */
u
32
w_pad_9
;
/* 0x48 */
u
32
w_tflush
;
/* 0x54 */
u
32
w_pad_10
;
/* 0x50 */
};
/*
...
...
@@ -63,7 +63,7 @@ struct xwidget_info{
struct
xwidget_hwid
xwi_hwid
;
/* Widget Identification */
char
xwi_masterxid
;
/* Hub's Widget Port Number */
void
*
xwi_hubinfo
;
/* Hub's provider private info */
u
int64_t
*
xwi_hub_provider
;
/* prom provider functions */
u
64
*
xwi_hub_provider
;
/* prom provider functions */
void
*
xwi_vertex
;
};
...
...
arch/ia64/sn/kernel/io_init.c
View file @
a1bc5cdf
...
...
@@ -132,8 +132,8 @@ static inline u64 sal_get_pcibus_info(u64 segment, u64 busnum, u64 address)
* Retrieve the pci device information given the bus and device|function number.
*/
static
inline
u64
sal_get_pcidev_info
(
u64
segment
,
u64
bus_number
,
u64
devfn
,
u64
pci_dev
,
u64
sn_irq_info
)
sal_get_pcidev_info
(
u64
segment
,
u64
bus_number
,
u64
devfn
,
u64
pci_dev
,
u64
sn_irq_info
)
{
struct
ia64_sal_retval
ret_stuff
;
ret_stuff
.
status
=
0
;
...
...
@@ -141,7 +141,7 @@ sal_get_pcidev_info(u64 segment, u64 bus_number, u64 devfn, u64 pci_dev,
SAL_CALL_NOLOCK
(
ret_stuff
,
(
u64
)
SN_SAL_IOIF_GET_PCIDEV_INFO
,
(
u64
)
segment
,
(
u64
)
bus_number
,
(
u64
)
devfn
,
(
u64
)
segment
,
(
u64
)
bus_number
,
(
u64
)
devfn
,
(
u64
)
pci_dev
,
sn_irq_info
,
0
,
0
);
return
ret_stuff
.
v0
;
...
...
@@ -268,7 +268,7 @@ static void sn_fixup_ionodes(void)
*/
static
void
sn_pci_window_fixup
(
struct
pci_dev
*
dev
,
unsigned
int
count
,
int64_t
*
pci_addrs
)
s64
*
pci_addrs
)
{
struct
pci_controller
*
controller
=
PCI_CONTROLLER
(
dev
->
bus
);
unsigned
int
i
;
...
...
@@ -328,7 +328,7 @@ void sn_pci_fixup_slot(struct pci_dev *dev)
struct
pci_bus
*
host_pci_bus
;
struct
pci_dev
*
host_pci_dev
;
struct
pcidev_info
*
pcidev_info
;
int64_t
pci_addrs
[
PCI_ROM_RESOURCE
+
1
];
s64
pci_addrs
[
PCI_ROM_RESOURCE
+
1
];
struct
sn_irq_info
*
sn_irq_info
;
unsigned
long
size
;
unsigned
int
bus_no
,
devfn
;
...
...
arch/ia64/sn/kernel/irq.c
View file @
a1bc5cdf
...
...
@@ -28,7 +28,7 @@ extern int sn_ioif_inited;
static
struct
list_head
**
sn_irq_lh
;
static
spinlock_t
sn_irq_info_lock
=
SPIN_LOCK_UNLOCKED
;
/* non-IRQ lock */
static
inline
u
int64_t
sn_intr_alloc
(
nasid_t
local_nasid
,
int
local_widget
,
static
inline
u
64
sn_intr_alloc
(
nasid_t
local_nasid
,
int
local_widget
,
u64
sn_irq_info
,
int
req_irq
,
nasid_t
req_nasid
,
int
req_slice
)
...
...
@@ -123,7 +123,7 @@ static void sn_set_affinity_irq(unsigned int irq, cpumask_t mask)
list_for_each_entry_safe
(
sn_irq_info
,
sn_irq_info_safe
,
sn_irq_lh
[
irq
],
list
)
{
u
int64_t
bridge
;
u
64
bridge
;
int
local_widget
,
status
;
nasid_t
local_nasid
;
struct
sn_irq_info
*
new_irq_info
;
...
...
@@ -134,7 +134,7 @@ static void sn_set_affinity_irq(unsigned int irq, cpumask_t mask)
break
;
memcpy
(
new_irq_info
,
sn_irq_info
,
sizeof
(
struct
sn_irq_info
));
bridge
=
(
u
int64_t
)
new_irq_info
->
irq_bridge
;
bridge
=
(
u
64
)
new_irq_info
->
irq_bridge
;
if
(
!
bridge
)
{
kfree
(
new_irq_info
);
break
;
/* irq is not a device interrupt */
...
...
@@ -349,10 +349,10 @@ static void force_interrupt(int irq)
*/
static
void
sn_check_intr
(
int
irq
,
struct
sn_irq_info
*
sn_irq_info
)
{
u
int64_t
regval
;
u
64
regval
;
int
irr_reg_num
;
int
irr_bit
;
u
int64_t
irr_reg
;
u
64
irr_reg
;
struct
pcidev_info
*
pcidev_info
;
struct
pcibus_info
*
pcibus_info
;
...
...
arch/ia64/sn/kernel/tiocx.c
View file @
a1bc5cdf
...
...
@@ -245,7 +245,7 @@ static int cx_device_reload(struct cx_dev *cx_dev)
cx_dev
->
bt
);
}
static
inline
u
int64_t
tiocx_intr_alloc
(
nasid_t
nasid
,
int
widget
,
static
inline
u
64
tiocx_intr_alloc
(
nasid_t
nasid
,
int
widget
,
u64
sn_irq_info
,
int
req_irq
,
nasid_t
req_nasid
,
int
req_slice
)
...
...
@@ -302,7 +302,7 @@ struct sn_irq_info *tiocx_irq_alloc(nasid_t nasid, int widget, int irq,
void
tiocx_irq_free
(
struct
sn_irq_info
*
sn_irq_info
)
{
u
int64_t
bridge
=
(
uint64_t
)
sn_irq_info
->
irq_bridge
;
u
64
bridge
=
(
u64
)
sn_irq_info
->
irq_bridge
;
nasid_t
nasid
=
NASID_GET
(
bridge
);
int
widget
;
...
...
@@ -313,12 +313,12 @@ void tiocx_irq_free(struct sn_irq_info *sn_irq_info)
}
}
u
int64_t
tiocx_dma_addr
(
uint64_t
addr
)
u
64
tiocx_dma_addr
(
u64
addr
)
{
return
PHYS_TO_TIODMA
(
addr
);
}
u
int64_t
tiocx_swin_base
(
int
nasid
)
u
64
tiocx_swin_base
(
int
nasid
)
{
return
TIO_SWIN_BASE
(
nasid
,
TIOCX_CORELET
);
}
...
...
@@ -335,8 +335,8 @@ EXPORT_SYMBOL(tiocx_swin_base);
static
void
tio_conveyor_set
(
nasid_t
nasid
,
int
enable_flag
)
{
u
int64_t
ice_frz
;
u
int64_t
disable_cb
=
(
1ull
<<
61
);
u
64
ice_frz
;
u
64
disable_cb
=
(
1ull
<<
61
);
if
(
!
(
nasid
&
1
))
return
;
...
...
@@ -388,7 +388,7 @@ static int is_fpga_tio(int nasid, int *bt)
static
int
bitstream_loaded
(
nasid_t
nasid
)
{
u
int64_t
cx_credits
;
u
64
cx_credits
;
cx_credits
=
REMOTE_HUB_L
(
nasid
,
TIO_ICE_PMI_TX_DYN_CREDIT_STAT_CB3
);
cx_credits
&=
TIO_ICE_PMI_TX_DYN_CREDIT_STAT_CB3_CREDIT_CNT_MASK
;
...
...
@@ -404,14 +404,14 @@ static int tiocx_reload(struct cx_dev *cx_dev)
nasid_t
nasid
=
cx_dev
->
cx_id
.
nasid
;
if
(
bitstream_loaded
(
nasid
))
{
u
int64_t
cx_id
;
u
64
cx_id
;
int
rv
;
rv
=
ia64_sn_sysctl_tio_clock_reset
(
nasid
);
if
(
rv
)
{
printk
(
KERN_ALERT
"CX port JTAG reset failed.
\n
"
);
}
else
{
cx_id
=
*
(
volatile
u
int64_t
*
)
cx_id
=
*
(
volatile
u
64
*
)
(
TIO_SWIN_BASE
(
nasid
,
TIOCX_CORELET
)
+
WIDGET_ID
);
part_num
=
XWIDGET_PART_NUM
(
cx_id
);
...
...
arch/ia64/sn/pci/pcibr/pcibr_ate.c
View file @
a1bc5cdf
...
...
@@ -18,10 +18,10 @@ int pcibr_invalidate_ate = 0; /* by default don't invalidate ATE on free */
* mark_ate: Mark the ate as either free or inuse.
*/
static
void
mark_ate
(
struct
ate_resource
*
ate_resource
,
int
start
,
int
number
,
u
int64_t
value
)
u
64
value
)
{
u
int64_t
*
ate
=
ate_resource
->
ate
;
u
64
*
ate
=
ate_resource
->
ate
;
int
index
;
int
length
=
0
;
...
...
@@ -38,7 +38,7 @@ static int find_free_ate(struct ate_resource *ate_resource, int start,
int
count
)
{
u
int64_t
*
ate
=
ate_resource
->
ate
;
u
64
*
ate
=
ate_resource
->
ate
;
int
index
;
int
start_free
;
...
...
@@ -119,7 +119,7 @@ static inline int alloc_ate_resource(struct ate_resource *ate_resource,
int
pcibr_ate_alloc
(
struct
pcibus_info
*
pcibus_info
,
int
count
)
{
int
status
=
0
;
u
int64_t
flag
;
u
64
flag
;
flag
=
pcibr_lock
(
pcibus_info
);
status
=
alloc_ate_resource
(
&
pcibus_info
->
pbi_int_ate_resource
,
count
);
...
...
@@ -139,7 +139,7 @@ int pcibr_ate_alloc(struct pcibus_info *pcibus_info, int count)
* Setup an Address Translation Entry as specified. Use either the Bridge
* internal maps or the external map RAM, as appropriate.
*/
static
inline
u
int64_t
*
pcibr_ate_addr
(
struct
pcibus_info
*
pcibus_info
,
static
inline
u
64
*
pcibr_ate_addr
(
struct
pcibus_info
*
pcibus_info
,
int
ate_index
)
{
if
(
ate_index
<
pcibus_info
->
pbi_int_ate_size
)
{
...
...
@@ -153,7 +153,7 @@ static inline uint64_t *pcibr_ate_addr(struct pcibus_info *pcibus_info,
*/
void
inline
ate_write
(
struct
pcibus_info
*
pcibus_info
,
int
ate_index
,
int
count
,
volatile
u
int64_t
ate
)
volatile
u
64
ate
)
{
while
(
count
--
>
0
)
{
if
(
ate_index
<
pcibus_info
->
pbi_int_ate_size
)
{
...
...
@@ -171,9 +171,9 @@ ate_write(struct pcibus_info *pcibus_info, int ate_index, int count,
void
pcibr_ate_free
(
struct
pcibus_info
*
pcibus_info
,
int
index
)
{
volatile
u
int64_t
ate
;
volatile
u
64
ate
;
int
count
;
u
int64_t
flags
;
u
64
flags
;
if
(
pcibr_invalidate_ate
)
{
/* For debugging purposes, clear the valid bit in the ATE */
...
...
arch/ia64/sn/pci/pcibr/pcibr_dma.c
View file @
a1bc5cdf
...
...
@@ -41,21 +41,21 @@ extern int sn_ioif_inited;
static
dma_addr_t
pcibr_dmamap_ate32
(
struct
pcidev_info
*
info
,
u
int64_t
paddr
,
size_t
req_size
,
uint64_t
flags
)
u
64
paddr
,
size_t
req_size
,
u64
flags
)
{
struct
pcidev_info
*
pcidev_info
=
info
->
pdi_host_pcidev_info
;
struct
pcibus_info
*
pcibus_info
=
(
struct
pcibus_info
*
)
pcidev_info
->
pdi_pcibus_info
;
u
int8_t
internal_device
=
(
PCI_SLOT
(
pcidev_info
->
pdi_host_pcidev_info
->
u
8
internal_device
=
(
PCI_SLOT
(
pcidev_info
->
pdi_host_pcidev_info
->
pdi_linux_pcidev
->
devfn
))
-
1
;
int
ate_count
;
int
ate_index
;
u
int64_t
ate_flags
=
flags
|
PCI32_ATE_V
;
u
int64_t
ate
;
u
int64_t
pci_addr
;
u
int64_t
xio_addr
;
u
int64_t
offset
;
u
64
ate_flags
=
flags
|
PCI32_ATE_V
;
u
64
ate
;
u
64
pci_addr
;
u
64
xio_addr
;
u
64
offset
;
/* PIC in PCI-X mode does not supports 32bit PageMap mode */
if
(
IS_PIC_SOFT
(
pcibus_info
)
&&
IS_PCIX
(
pcibus_info
))
{
...
...
@@ -109,12 +109,12 @@ pcibr_dmamap_ate32(struct pcidev_info *info,
}
static
dma_addr_t
pcibr_dmatrans_direct64
(
struct
pcidev_info
*
info
,
u
int64_t
paddr
,
u
int64_t
dma_attributes
)
pcibr_dmatrans_direct64
(
struct
pcidev_info
*
info
,
u
64
paddr
,
u
64
dma_attributes
)
{
struct
pcibus_info
*
pcibus_info
=
(
struct
pcibus_info
*
)
((
info
->
pdi_host_pcidev_info
)
->
pdi_pcibus_info
);
u
int64_t
pci_addr
;
u
64
pci_addr
;
/* Translate to Crosstalk View of Physical Address */
pci_addr
=
(
IS_PIC_SOFT
(
pcibus_info
)
?
PHYS_TO_DMA
(
paddr
)
:
...
...
@@ -127,7 +127,7 @@ pcibr_dmatrans_direct64(struct pcidev_info * info, uint64_t paddr,
/* Handle Bridge Chipset differences */
if
(
IS_PIC_SOFT
(
pcibus_info
))
{
pci_addr
|=
((
u
int64_t
)
pcibus_info
->
((
u
64
)
pcibus_info
->
pbi_hub_xid
<<
PIC_PCI64_ATTR_TARG_SHFT
);
}
else
pci_addr
|=
TIOCP_PCI64_CMDTYPE_MEM
;
...
...
@@ -142,17 +142,17 @@ pcibr_dmatrans_direct64(struct pcidev_info * info, uint64_t paddr,
static
dma_addr_t
pcibr_dmatrans_direct32
(
struct
pcidev_info
*
info
,
u
int64_t
paddr
,
size_t
req_size
,
uint64_t
flags
)
u
64
paddr
,
size_t
req_size
,
u64
flags
)
{
struct
pcidev_info
*
pcidev_info
=
info
->
pdi_host_pcidev_info
;
struct
pcibus_info
*
pcibus_info
=
(
struct
pcibus_info
*
)
pcidev_info
->
pdi_pcibus_info
;
u
int64_t
xio_addr
;
u
64
xio_addr
;
u
int64_t
xio_base
;
u
int64_t
offset
;
u
int64_t
endoff
;
u
64
xio_base
;
u
64
offset
;
u
64
endoff
;
if
(
IS_PCIX
(
pcibus_info
))
{
return
0
;
...
...
@@ -209,14 +209,14 @@ pcibr_dma_unmap(struct pci_dev *hwdev, dma_addr_t dma_handle, int direction)
* unlike the PIC Device(x) Write Request Buffer Flush register.
*/
void
sn_dma_flush
(
u
int64_t
addr
)
void
sn_dma_flush
(
u
64
addr
)
{
nasid_t
nasid
;
int
is_tio
;
int
wid_num
;
int
i
,
j
;
u
int64_t
flags
;
u
int64_t
itte
;
u
64
flags
;
u
64
itte
;
struct
hubdev_info
*
hubinfo
;
volatile
struct
sn_flush_device_kernel
*
p
;
volatile
struct
sn_flush_device_common
*
common
;
...
...
@@ -299,8 +299,8 @@ void sn_dma_flush(uint64_t addr)
* If CE ever needs the sn_dma_flush mechanism, we will have
* to account for that here and in tioce_bus_fixup().
*/
u
int32_t
tio_id
=
HUB_L
(
TIO_IOSPACE_ADDR
(
nasid
,
TIO_NODE_ID
));
u
int32_t
revnum
=
XWIDGET_PART_REV_NUM
(
tio_id
);
u
32
tio_id
=
HUB_L
(
TIO_IOSPACE_ADDR
(
nasid
,
TIO_NODE_ID
));
u
32
revnum
=
XWIDGET_PART_REV_NUM
(
tio_id
);
/* TIOCP BRINGUP WAR (PV907516): Don't write buffer flush reg */
if
((
1
<<
XWIDGET_PART_REV_NUM_REV
(
revnum
))
&
PV907516
)
{
...
...
@@ -315,7 +315,7 @@ void sn_dma_flush(uint64_t addr)
*
common
->
sfdl_flush_addr
=
0
;
/* force an interrupt. */
*
(
volatile
u
int32_t
*
)(
common
->
sfdl_force_int_addr
)
=
1
;
*
(
volatile
u
32
*
)(
common
->
sfdl_force_int_addr
)
=
1
;
/* wait for the interrupt to come back. */
while
(
*
(
common
->
sfdl_flush_addr
)
!=
0x10f
)
...
...
arch/ia64/sn/pci/pcibr/pcibr_provider.c
View file @
a1bc5cdf
...
...
@@ -23,7 +23,7 @@ int
sal_pcibr_slot_enable
(
struct
pcibus_info
*
soft
,
int
device
,
void
*
resp
)
{
struct
ia64_sal_retval
ret_stuff
;
u
int64_t
busnum
;
u
64
busnum
;
ret_stuff
.
status
=
0
;
ret_stuff
.
v0
=
0
;
...
...
@@ -40,7 +40,7 @@ sal_pcibr_slot_disable(struct pcibus_info *soft, int device, int action,
void
*
resp
)
{
struct
ia64_sal_retval
ret_stuff
;
u
int64_t
busnum
;
u
64
busnum
;
ret_stuff
.
status
=
0
;
ret_stuff
.
v0
=
0
;
...
...
@@ -56,7 +56,7 @@ sal_pcibr_slot_disable(struct pcibus_info *soft, int device, int action,
static
int
sal_pcibr_error_interrupt
(
struct
pcibus_info
*
soft
)
{
struct
ia64_sal_retval
ret_stuff
;
u
int64_t
busnum
;
u
64
busnum
;
int
segment
;
ret_stuff
.
status
=
0
;
ret_stuff
.
v0
=
0
;
...
...
@@ -159,9 +159,9 @@ pcibr_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont
/* Setup the PMU ATE map */
soft
->
pbi_int_ate_resource
.
lowest_free_index
=
0
;
soft
->
pbi_int_ate_resource
.
ate
=
kmalloc
(
soft
->
pbi_int_ate_size
*
sizeof
(
u
int64_t
),
GFP_KERNEL
);
kmalloc
(
soft
->
pbi_int_ate_size
*
sizeof
(
u
64
),
GFP_KERNEL
);
memset
(
soft
->
pbi_int_ate_resource
.
ate
,
0
,
(
soft
->
pbi_int_ate_size
*
sizeof
(
u
int64_t
)));
(
soft
->
pbi_int_ate_size
*
sizeof
(
u
64
)));
if
(
prom_bussoft
->
bs_asic_type
==
PCIIO_ASIC_TYPE_TIOCP
)
{
/* TIO PCI Bridge: find nearest node with CPUs */
...
...
@@ -203,7 +203,7 @@ void pcibr_target_interrupt(struct sn_irq_info *sn_irq_info)
struct
pcidev_info
*
pcidev_info
;
struct
pcibus_info
*
pcibus_info
;
int
bit
=
sn_irq_info
->
irq_int_bit
;
u
int64_t
xtalk_addr
=
sn_irq_info
->
irq_xtalkaddr
;
u
64
xtalk_addr
=
sn_irq_info
->
irq_xtalkaddr
;
pcidev_info
=
(
struct
pcidev_info
*
)
sn_irq_info
->
irq_pciioinfo
;
if
(
pcidev_info
)
{
...
...
arch/ia64/sn/pci/pcibr/pcibr_reg.c
View file @
a1bc5cdf
...
...
@@ -23,7 +23,7 @@ union br_ptr {
/*
* Control Register Access -- Read/Write 0000_0020
*/
void
pcireg_control_bit_clr
(
struct
pcibus_info
*
pcibus_info
,
u
int64_t
bits
)
void
pcireg_control_bit_clr
(
struct
pcibus_info
*
pcibus_info
,
u
64
bits
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
...
...
@@ -43,7 +43,7 @@ void pcireg_control_bit_clr(struct pcibus_info *pcibus_info, uint64_t bits)
}
}
void
pcireg_control_bit_set
(
struct
pcibus_info
*
pcibus_info
,
u
int64_t
bits
)
void
pcireg_control_bit_set
(
struct
pcibus_info
*
pcibus_info
,
u
64
bits
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
...
...
@@ -66,10 +66,10 @@ void pcireg_control_bit_set(struct pcibus_info *pcibus_info, uint64_t bits)
/*
* PCI/PCIX Target Flush Register Access -- Read Only 0000_0050
*/
u
int64_t
pcireg_tflush_get
(
struct
pcibus_info
*
pcibus_info
)
u
64
pcireg_tflush_get
(
struct
pcibus_info
*
pcibus_info
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
u
int64_t
ret
=
0
;
u
64
ret
=
0
;
if
(
pcibus_info
)
{
switch
(
pcibus_info
->
pbi_bridge_type
)
{
...
...
@@ -96,10 +96,10 @@ uint64_t pcireg_tflush_get(struct pcibus_info *pcibus_info)
/*
* Interrupt Status Register Access -- Read Only 0000_0100
*/
u
int64_t
pcireg_intr_status_get
(
struct
pcibus_info
*
pcibus_info
)
u
64
pcireg_intr_status_get
(
struct
pcibus_info
*
pcibus_info
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
u
int64_t
ret
=
0
;
u
64
ret
=
0
;
if
(
pcibus_info
)
{
switch
(
pcibus_info
->
pbi_bridge_type
)
{
...
...
@@ -121,7 +121,7 @@ uint64_t pcireg_intr_status_get(struct pcibus_info * pcibus_info)
/*
* Interrupt Enable Register Access -- Read/Write 0000_0108
*/
void
pcireg_intr_enable_bit_clr
(
struct
pcibus_info
*
pcibus_info
,
u
int64_t
bits
)
void
pcireg_intr_enable_bit_clr
(
struct
pcibus_info
*
pcibus_info
,
u
64
bits
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
...
...
@@ -141,7 +141,7 @@ void pcireg_intr_enable_bit_clr(struct pcibus_info *pcibus_info, uint64_t bits)
}
}
void
pcireg_intr_enable_bit_set
(
struct
pcibus_info
*
pcibus_info
,
u
int64_t
bits
)
void
pcireg_intr_enable_bit_set
(
struct
pcibus_info
*
pcibus_info
,
u
64
bits
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
...
...
@@ -165,7 +165,7 @@ void pcireg_intr_enable_bit_set(struct pcibus_info *pcibus_info, uint64_t bits)
* Intr Host Address Register (int_addr) -- Read/Write 0000_0130 - 0000_0168
*/
void
pcireg_intr_addr_addr_set
(
struct
pcibus_info
*
pcibus_info
,
int
int_n
,
u
int64_t
addr
)
u
64
addr
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
...
...
@@ -217,10 +217,10 @@ void pcireg_force_intr_set(struct pcibus_info *pcibus_info, int int_n)
/*
* Device(x) Write Buffer Flush Reg Access -- Read Only 0000_0240 - 0000_0258
*/
u
int64_t
pcireg_wrb_flush_get
(
struct
pcibus_info
*
pcibus_info
,
int
device
)
u
64
pcireg_wrb_flush_get
(
struct
pcibus_info
*
pcibus_info
,
int
device
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
u
int64_t
ret
=
0
;
u
64
ret
=
0
;
if
(
pcibus_info
)
{
switch
(
pcibus_info
->
pbi_bridge_type
)
{
...
...
@@ -242,7 +242,7 @@ uint64_t pcireg_wrb_flush_get(struct pcibus_info *pcibus_info, int device)
}
void
pcireg_int_ate_set
(
struct
pcibus_info
*
pcibus_info
,
int
ate_index
,
u
int64_t
val
)
u
64
val
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
...
...
@@ -262,10 +262,10 @@ void pcireg_int_ate_set(struct pcibus_info *pcibus_info, int ate_index,
}
}
u
int64_t
__iomem
*
pcireg_int_ate_addr
(
struct
pcibus_info
*
pcibus_info
,
int
ate_index
)
u
64
__iomem
*
pcireg_int_ate_addr
(
struct
pcibus_info
*
pcibus_info
,
int
ate_index
)
{
union
br_ptr
__iomem
*
ptr
=
(
union
br_ptr
__iomem
*
)
pcibus_info
->
pbi_buscommon
.
bs_base
;
u
int64_t
__iomem
*
ret
=
NULL
;
u
64
__iomem
*
ret
=
NULL
;
if
(
pcibus_info
)
{
switch
(
pcibus_info
->
pbi_bridge_type
)
{
...
...
arch/ia64/sn/pci/tioca_provider.c
View file @
a1bc5cdf
...
...
@@ -16,7 +16,7 @@
#include <asm/sn/pcibus_provider_defs.h>
#include <asm/sn/tioca_provider.h>
u
int32_t
tioca_gart_found
;
u
32
tioca_gart_found
;
EXPORT_SYMBOL
(
tioca_gart_found
);
/* used by agp-sgi */
LIST_HEAD
(
tioca_list
);
...
...
@@ -34,8 +34,8 @@ static int tioca_gart_init(struct tioca_kernel *);
static
int
tioca_gart_init
(
struct
tioca_kernel
*
tioca_kern
)
{
u
int64_t
ap_reg
;
u
int64_t
offset
;
u
64
ap_reg
;
u
64
offset
;
struct
page
*
tmp
;
struct
tioca_common
*
tioca_common
;
struct
tioca
__iomem
*
ca_base
;
...
...
@@ -214,7 +214,7 @@ void
tioca_fastwrite_enable
(
struct
tioca_kernel
*
tioca_kern
)
{
int
cap_ptr
;
u
int32_t
reg
;
u
32
reg
;
struct
tioca
__iomem
*
tioca_base
;
struct
pci_dev
*
pdev
;
struct
tioca_common
*
common
;
...
...
@@ -276,7 +276,7 @@ EXPORT_SYMBOL(tioca_fastwrite_enable); /* used by agp-sgi */
* We will always use 0x1
* 55:55 - Swap bytes Currently unused
*/
static
u
int64_t
static
u
64
tioca_dma_d64
(
unsigned
long
paddr
)
{
dma_addr_t
bus_addr
;
...
...
@@ -318,15 +318,15 @@ tioca_dma_d64(unsigned long paddr)
* and so a given CA can only directly target nodes in the range
* xxx - xxx+255.
*/
static
u
int64_t
tioca_dma_d48
(
struct
pci_dev
*
pdev
,
u
int64_t
paddr
)
static
u
64
tioca_dma_d48
(
struct
pci_dev
*
pdev
,
u
64
paddr
)
{
struct
tioca_common
*
tioca_common
;
struct
tioca
__iomem
*
ca_base
;
u
int64_t
ct_addr
;
u
64
ct_addr
;
dma_addr_t
bus_addr
;
u
int32_t
node_upper
;
u
int64_t
agp_dma_extn
;
u
32
node_upper
;
u
64
agp_dma_extn
;
struct
pcidev_info
*
pcidev_info
=
SN_PCIDEV_INFO
(
pdev
);
tioca_common
=
(
struct
tioca_common
*
)
pcidev_info
->
pdi_pcibus_info
;
...
...
@@ -367,10 +367,10 @@ tioca_dma_d48(struct pci_dev *pdev, uint64_t paddr)
* dma_addr_t is guarenteed to be contiguous in CA bus space.
*/
static
dma_addr_t
tioca_dma_mapped
(
struct
pci_dev
*
pdev
,
u
int64_t
paddr
,
size_t
req_size
)
tioca_dma_mapped
(
struct
pci_dev
*
pdev
,
u
64
paddr
,
size_t
req_size
)
{
int
i
,
ps
,
ps_shift
,
entry
,
entries
,
mapsize
,
last_entry
;
u
int64_t
xio_addr
,
end_xio_addr
;
u
64
xio_addr
,
end_xio_addr
;
struct
tioca_common
*
tioca_common
;
struct
tioca_kernel
*
tioca_kern
;
dma_addr_t
bus_addr
=
0
;
...
...
@@ -514,10 +514,10 @@ tioca_dma_unmap(struct pci_dev *pdev, dma_addr_t bus_addr, int dir)
* The mapping mode used is based on the devices dma_mask. As a last resort
* use the GART mapped mode.
*/
static
u
int64_t
tioca_dma_map
(
struct
pci_dev
*
pdev
,
u
int64_t
paddr
,
size_t
byte_count
)
static
u
64
tioca_dma_map
(
struct
pci_dev
*
pdev
,
u
64
paddr
,
size_t
byte_count
)
{
u
int64_t
mapaddr
;
u
64
mapaddr
;
/*
* If card is 64 or 48 bit addresable, use a direct mapping. 32
...
...
@@ -554,8 +554,8 @@ tioca_error_intr_handler(int irq, void *arg, struct pt_regs *pt)
{
struct
tioca_common
*
soft
=
arg
;
struct
ia64_sal_retval
ret_stuff
;
u
int64_t
segment
;
u
int64_t
busnum
;
u
64
segment
;
u
64
busnum
;
ret_stuff
.
status
=
0
;
ret_stuff
.
v0
=
0
;
...
...
@@ -620,7 +620,7 @@ tioca_bus_fixup(struct pcibus_bussoft *prom_bussoft, struct pci_controller *cont
INIT_LIST_HEAD
(
&
tioca_kern
->
ca_dmamaps
);
tioca_kern
->
ca_closest_node
=
nasid_to_cnodeid
(
tioca_common
->
ca_closest_nasid
);
tioca_common
->
ca_kernel_private
=
(
u
int64_t
)
tioca_kern
;
tioca_common
->
ca_kernel_private
=
(
u
64
)
tioca_kern
;
bus
=
pci_find_bus
(
tioca_common
->
ca_common
.
bs_persist_segment
,
tioca_common
->
ca_common
.
bs_persist_busnum
);
...
...
arch/ia64/sn/pci/tioce_provider.c
View file @
a1bc5cdf
...
...
@@ -81,10 +81,10 @@
* 61 - 0 since this is not an MSI transaction
* 60:54 - reserved, MBZ
*/
static
u
int64_t
static
u
64
tioce_dma_d64
(
unsigned
long
ct_addr
)
{
u
int64_t
bus_addr
;
u
64
bus_addr
;
bus_addr
=
ct_addr
|
(
1UL
<<
63
);
...
...
@@ -141,9 +141,9 @@ pcidev_to_tioce(struct pci_dev *pdev, struct tioce **base,
* length, and if enough resources exist, fill in the ATE's and construct a
* tioce_dmamap struct to track the mapping.
*/
static
u
int64_t
static
u
64
tioce_alloc_map
(
struct
tioce_kernel
*
ce_kern
,
int
type
,
int
port
,
u
int64_t
ct_addr
,
int
len
)
u
64
ct_addr
,
int
len
)
{
int
i
;
int
j
;
...
...
@@ -152,11 +152,11 @@ tioce_alloc_map(struct tioce_kernel *ce_kern, int type, int port,
int
entries
;
int
nates
;
int
pagesize
;
u
int64_t
*
ate_shadow
;
u
int64_t
*
ate_reg
;
u
int64_t
addr
;
u
64
*
ate_shadow
;
u
64
*
ate_reg
;
u
64
addr
;
struct
tioce
*
ce_mmr
;
u
int64_t
bus_base
;
u
64
bus_base
;
struct
tioce_dmamap
*
map
;
ce_mmr
=
(
struct
tioce
*
)
ce_kern
->
ce_common
->
ce_pcibus
.
bs_base
;
...
...
@@ -224,7 +224,7 @@ tioce_alloc_map(struct tioce_kernel *ce_kern, int type, int port,
addr
=
ct_addr
;
for
(
j
=
0
;
j
<
nates
;
j
++
)
{
u
int64_t
ate
;
u
64
ate
;
ate
=
ATE_MAKE
(
addr
,
pagesize
);
ate_shadow
[
i
+
j
]
=
ate
;
...
...
@@ -252,15 +252,15 @@ tioce_alloc_map(struct tioce_kernel *ce_kern, int type, int port,
*
* Map @paddr into 32-bit bus space of the CE associated with @pcidev_info.
*/
static
u
int64_t
tioce_dma_d32
(
struct
pci_dev
*
pdev
,
u
int64_t
ct_addr
)
static
u
64
tioce_dma_d32
(
struct
pci_dev
*
pdev
,
u
64
ct_addr
)
{
int
dma_ok
;
int
port
;
struct
tioce
*
ce_mmr
;
struct
tioce_kernel
*
ce_kern
;
u
int64_t
ct_upper
;
u
int64_t
ct_lower
;
u
64
ct_upper
;
u
64
ct_lower
;
dma_addr_t
bus_addr
;
ct_upper
=
ct_addr
&
~
0x3fffffffUL
;
...
...
@@ -269,7 +269,7 @@ tioce_dma_d32(struct pci_dev *pdev, uint64_t ct_addr)
pcidev_to_tioce
(
pdev
,
&
ce_mmr
,
&
ce_kern
,
&
port
);
if
(
ce_kern
->
ce_port
[
port
].
dirmap_refcnt
==
0
)
{
u
int64_t
tmp
;
u
64
tmp
;
ce_kern
->
ce_port
[
port
].
dirmap_shadow
=
ct_upper
;
writeq
(
ct_upper
,
&
ce_mmr
->
ce_ure_dir_map
[
port
]);
...
...
@@ -295,10 +295,10 @@ tioce_dma_d32(struct pci_dev *pdev, uint64_t ct_addr)
* Given a TIOCE bus address, set the appropriate bit to indicate barrier
* attributes.
*/
static
u
int64_t
tioce_dma_barrier
(
u
int64_t
bus_addr
,
int
on
)
static
u
64
tioce_dma_barrier
(
u
64
bus_addr
,
int
on
)
{
u
int64_t
barrier_bit
;
u
64
barrier_bit
;
/* barrier not supported in M40/M40S mode */
if
(
TIOCE_M40_ADDR
(
bus_addr
)
||
TIOCE_M40S_ADDR
(
bus_addr
))
...
...
@@ -351,7 +351,7 @@ tioce_dma_unmap(struct pci_dev *pdev, dma_addr_t bus_addr, int dir)
list_for_each_entry
(
map
,
&
ce_kern
->
ce_dmamap_list
,
ce_dmamap_list
)
{
u
int64_t
last
;
u
64
last
;
last
=
map
->
pci_start
+
map
->
nbytes
-
1
;
if
(
bus_addr
>=
map
->
pci_start
&&
bus_addr
<=
last
)
...
...
@@ -385,17 +385,17 @@ tioce_dma_unmap(struct pci_dev *pdev, dma_addr_t bus_addr, int dir)
* This is the main wrapper for mapping host physical pages to CE PCI space.
* The mapping mode used is based on the device's dma_mask.
*/
static
u
int64_t
tioce_do_dma_map
(
struct
pci_dev
*
pdev
,
u
int64_t
paddr
,
size_t
byte_count
,
static
u
64
tioce_do_dma_map
(
struct
pci_dev
*
pdev
,
u
64
paddr
,
size_t
byte_count
,
int
barrier
)
{
unsigned
long
flags
;
u
int64_t
ct_addr
;
u
int64_t
mapaddr
=
0
;
u
64
ct_addr
;
u
64
mapaddr
=
0
;
struct
tioce_kernel
*
ce_kern
;
struct
tioce_dmamap
*
map
;
int
port
;
u
int64_t
dma_mask
;
u
64
dma_mask
;
dma_mask
=
(
barrier
)
?
pdev
->
dev
.
coherent_dma_mask
:
pdev
->
dma_mask
;
...
...
@@ -425,7 +425,7 @@ tioce_do_dma_map(struct pci_dev *pdev, uint64_t paddr, size_t byte_count,
* address bits than this device can support.
*/
list_for_each_entry
(
map
,
&
ce_kern
->
ce_dmamap_list
,
ce_dmamap_list
)
{
u
int64_t
last
;
u
64
last
;
last
=
map
->
ct_start
+
map
->
nbytes
-
1
;
if
(
ct_addr
>=
map
->
ct_start
&&
...
...
@@ -501,8 +501,8 @@ tioce_do_dma_map(struct pci_dev *pdev, uint64_t paddr, size_t byte_count,
* Simply call tioce_do_dma_map() to create a map with the barrier bit clear
* in the address.
*/
static
u
int64_t
tioce_dma
(
struct
pci_dev
*
pdev
,
u
int64_t
paddr
,
size_t
byte_count
)
static
u
64
tioce_dma
(
struct
pci_dev
*
pdev
,
u
64
paddr
,
size_t
byte_count
)
{
return
tioce_do_dma_map
(
pdev
,
paddr
,
byte_count
,
0
);
}
...
...
@@ -515,8 +515,8 @@ tioce_dma(struct pci_dev *pdev, uint64_t paddr, size_t byte_count)
*
* Simply call tioce_do_dma_map() to create a map with the barrier bit set
* in the address.
*/
static
u
int64_t
tioce_dma_consistent
(
struct
pci_dev
*
pdev
,
u
int64_t
paddr
,
size_t
byte_count
)
*/
static
u
64
tioce_dma_consistent
(
struct
pci_dev
*
pdev
,
u
64
paddr
,
size_t
byte_count
)
{
return
tioce_do_dma_map
(
pdev
,
paddr
,
byte_count
,
1
);
}
...
...
@@ -551,7 +551,7 @@ tioce_error_intr_handler(int irq, void *arg, struct pt_regs *pt)
tioce_kern_init
(
struct
tioce_common
*
tioce_common
)
{
int
i
;
u
int32_t
tmp
;
u
32
tmp
;
struct
tioce
*
tioce_mmr
;
struct
tioce_kernel
*
tioce_kern
;
...
...
@@ -563,7 +563,7 @@ tioce_kern_init(struct tioce_common *tioce_common)
tioce_kern
->
ce_common
=
tioce_common
;
spin_lock_init
(
&
tioce_kern
->
ce_lock
);
INIT_LIST_HEAD
(
&
tioce_kern
->
ce_dmamap_list
);
tioce_common
->
ce_kernel_private
=
(
u
int64_t
)
tioce_kern
;
tioce_common
->
ce_kernel_private
=
(
u
64
)
tioce_kern
;
/*
* Determine the secondary bus number of the port2 logical PPB.
...
...
@@ -575,7 +575,7 @@ tioce_kern_init(struct tioce_common *tioce_common)
raw_pci_ops
->
read
(
tioce_common
->
ce_pcibus
.
bs_persist_segment
,
tioce_common
->
ce_pcibus
.
bs_persist_busnum
,
PCI_DEVFN
(
2
,
0
),
PCI_SECONDARY_BUS
,
1
,
&
tmp
);
tioce_kern
->
ce_port1_secondary
=
(
u
int8_t
)
tmp
;
tioce_kern
->
ce_port1_secondary
=
(
u
8
)
tmp
;
/*
* Set PMU pagesize to the largest size available, and zero out
...
...
@@ -615,7 +615,7 @@ tioce_force_interrupt(struct sn_irq_info *sn_irq_info)
struct
pcidev_info
*
pcidev_info
;
struct
tioce_common
*
ce_common
;
struct
tioce
*
ce_mmr
;
u
int64_t
force_int_val
;
u
64
force_int_val
;
if
(
!
sn_irq_info
->
irq_bridge
)
return
;
...
...
@@ -687,7 +687,7 @@ tioce_target_interrupt(struct sn_irq_info *sn_irq_info)
struct
tioce_common
*
ce_common
;
struct
tioce
*
ce_mmr
;
int
bit
;
u
int64_t
vector
;
u
64
vector
;
pcidev_info
=
(
struct
pcidev_info
*
)
sn_irq_info
->
irq_pciioinfo
;
if
(
!
pcidev_info
)
...
...
@@ -699,7 +699,7 @@ tioce_target_interrupt(struct sn_irq_info *sn_irq_info)
bit
=
sn_irq_info
->
irq_int_bit
;
__sn_setq_relaxed
(
&
ce_mmr
->
ce_adm_int_mask
,
(
1UL
<<
bit
));
vector
=
(
u
int64_t
)
sn_irq_info
->
irq_irq
<<
INTR_VECTOR_SHFT
;
vector
=
(
u
64
)
sn_irq_info
->
irq_irq
<<
INTR_VECTOR_SHFT
;
vector
|=
sn_irq_info
->
irq_xtalkaddr
;
writeq
(
vector
,
&
ce_mmr
->
ce_adm_int_dest
[
bit
]);
__sn_clrq_relaxed
(
&
ce_mmr
->
ce_adm_int_mask
,
(
1UL
<<
bit
));
...
...
include/asm-ia64/pal.h
View file @
a1bc5cdf
...
...
@@ -927,7 +927,7 @@ static inline s64
ia64_pal_cache_flush
(
u64
cache_type
,
u64
invalidate
,
u64
*
progress
,
u64
*
vector
)
{
struct
ia64_pal_retval
iprv
;
PAL_CALL
_IC_OFF
(
iprv
,
PAL_CACHE_FLUSH
,
cache_type
,
invalidate
,
*
progress
);
PAL_CALL
(
iprv
,
PAL_CACHE_FLUSH
,
cache_type
,
invalidate
,
*
progress
);
if
(
vector
)
*
vector
=
iprv
.
v0
;
*
progress
=
iprv
.
v1
;
...
...
include/asm-ia64/processor.h
View file @
a1bc5cdf
...
...
@@ -25,8 +25,8 @@
* Limits for PMC and PMD are set to less than maximum architected values
* but should be sufficient for a while
*/
#define IA64_NUM_PMC_REGS
32
#define IA64_NUM_PMD_REGS
32
#define IA64_NUM_PMC_REGS
64
#define IA64_NUM_PMD_REGS
64
#define DEFAULT_MAP_BASE __IA64_UL_CONST(0x2000000000000000)
#define DEFAULT_TASK_SIZE __IA64_UL_CONST(0xa000000000000000)
...
...
include/asm-ia64/sn/intr.h
View file @
a1bc5cdf
...
...
@@ -40,7 +40,7 @@ struct sn_irq_info {
int
irq_cpuid
;
/* kernel logical cpuid */
int
irq_irq
;
/* the IRQ number */
int
irq_int_bit
;
/* Bridge interrupt pin */
u
int64_t
irq_xtalkaddr
;
/* xtalkaddr IRQ is sent to */
u
64
irq_xtalkaddr
;
/* xtalkaddr IRQ is sent to */
int
irq_bridge_type
;
/* pciio asic type (pciio.h) */
void
*
irq_bridge
;
/* bridge generating irq */
void
*
irq_pciioinfo
;
/* associated pciio_info_t */
...
...
include/asm-ia64/sn/pcibr_provider.h
View file @
a1bc5cdf
...
...
@@ -44,9 +44,9 @@
#define PCI32_MAPPED_BASE 0x40000000
#define PCI32_DIRECT_BASE 0x80000000
#define IS_PCI32_MAPPED(x) ((u
int64_t
)(x) < PCI32_DIRECT_BASE && \
(u
int64_t
)(x) >= PCI32_MAPPED_BASE)
#define IS_PCI32_DIRECT(x) ((u
int64_t
)(x) >= PCI32_MAPPED_BASE)
#define IS_PCI32_MAPPED(x) ((u
64
)(x) < PCI32_DIRECT_BASE && \
(u
64
)(x) >= PCI32_MAPPED_BASE)
#define IS_PCI32_DIRECT(x) ((u
64
)(x) >= PCI32_MAPPED_BASE)
/*
...
...
@@ -63,7 +63,7 @@
(IOPG(IOPGOFF(addr) + (size) - 1) == IOPG((size) - 1))
#define MINIMAL_ATE_FLAG(addr, size) \
(MINIMAL_ATES_REQUIRED((u
int64_t
)addr, size) ? 1 : 0)
(MINIMAL_ATES_REQUIRED((u
64
)addr, size) ? 1 : 0)
/* bit 29 of the pci address is the SWAP bit */
#define ATE_SWAPSHIFT 29
...
...
@@ -90,27 +90,27 @@
* PMU resources.
*/
struct
ate_resource
{
u
int64_t
*
ate
;
u
int64_t
num_ate
;
u
int64_t
lowest_free_index
;
u
64
*
ate
;
u
64
num_ate
;
u
64
lowest_free_index
;
};
struct
pcibus_info
{
struct
pcibus_bussoft
pbi_buscommon
;
/* common header */
u
int32_t
pbi_moduleid
;
u
32
pbi_moduleid
;
short
pbi_bridge_type
;
short
pbi_bridge_mode
;
struct
ate_resource
pbi_int_ate_resource
;
u
int64_t
pbi_int_ate_size
;
u
64
pbi_int_ate_size
;
u
int64_t
pbi_dir_xbase
;
u
64
pbi_dir_xbase
;
char
pbi_hub_xid
;
u
int64_t
pbi_devreg
[
8
];
u
64
pbi_devreg
[
8
];
u
int32_t
pbi_valid_devices
;
u
int32_t
pbi_enabled_devices
;
u
32
pbi_valid_devices
;
u
32
pbi_enabled_devices
;
spinlock_t
pbi_lock
;
};
...
...
@@ -136,22 +136,22 @@ extern void pcibr_dma_unmap(struct pci_dev *, dma_addr_t, int);
/*
* prototypes for the bridge asic register access routines in pcibr_reg.c
*/
extern
void
pcireg_control_bit_clr
(
struct
pcibus_info
*
,
u
int64_t
);
extern
void
pcireg_control_bit_set
(
struct
pcibus_info
*
,
u
int64_t
);
extern
u
int64_t
pcireg_tflush_get
(
struct
pcibus_info
*
);
extern
u
int64_t
pcireg_intr_status_get
(
struct
pcibus_info
*
);
extern
void
pcireg_intr_enable_bit_clr
(
struct
pcibus_info
*
,
u
int64_t
);
extern
void
pcireg_intr_enable_bit_set
(
struct
pcibus_info
*
,
u
int64_t
);
extern
void
pcireg_intr_addr_addr_set
(
struct
pcibus_info
*
,
int
,
u
int64_t
);
extern
void
pcireg_control_bit_clr
(
struct
pcibus_info
*
,
u
64
);
extern
void
pcireg_control_bit_set
(
struct
pcibus_info
*
,
u
64
);
extern
u
64
pcireg_tflush_get
(
struct
pcibus_info
*
);
extern
u
64
pcireg_intr_status_get
(
struct
pcibus_info
*
);
extern
void
pcireg_intr_enable_bit_clr
(
struct
pcibus_info
*
,
u
64
);
extern
void
pcireg_intr_enable_bit_set
(
struct
pcibus_info
*
,
u
64
);
extern
void
pcireg_intr_addr_addr_set
(
struct
pcibus_info
*
,
int
,
u
64
);
extern
void
pcireg_force_intr_set
(
struct
pcibus_info
*
,
int
);
extern
u
int64_t
pcireg_wrb_flush_get
(
struct
pcibus_info
*
,
int
);
extern
void
pcireg_int_ate_set
(
struct
pcibus_info
*
,
int
,
u
int64_t
);
extern
u
int64_t
*
pcireg_int_ate_addr
(
struct
pcibus_info
*
,
int
);
extern
u
64
pcireg_wrb_flush_get
(
struct
pcibus_info
*
,
int
);
extern
void
pcireg_int_ate_set
(
struct
pcibus_info
*
,
int
,
u
64
);
extern
u
64
*
pcireg_int_ate_addr
(
struct
pcibus_info
*
,
int
);
extern
void
pcibr_force_interrupt
(
struct
sn_irq_info
*
sn_irq_info
);
extern
void
pcibr_change_devices_irq
(
struct
sn_irq_info
*
sn_irq_info
);
extern
int
pcibr_ate_alloc
(
struct
pcibus_info
*
,
int
);
extern
void
pcibr_ate_free
(
struct
pcibus_info
*
,
int
);
extern
void
ate_write
(
struct
pcibus_info
*
,
int
,
int
,
u
int64_t
);
extern
void
ate_write
(
struct
pcibus_info
*
,
int
,
int
,
u
64
);
extern
int
sal_pcibr_slot_enable
(
struct
pcibus_info
*
soft
,
int
device
,
void
*
resp
);
extern
int
sal_pcibr_slot_disable
(
struct
pcibus_info
*
soft
,
int
device
,
...
...
include/asm-ia64/sn/pcibus_provider_defs.h
View file @
a1bc5cdf
...
...
@@ -29,13 +29,13 @@
*/
struct
pcibus_bussoft
{
u
int32_t
bs_asic_type
;
/* chipset type */
u
int32_t
bs_xid
;
/* xwidget id */
u
int32_t
bs_persist_busnum
;
/* Persistent Bus Number */
u
int32_t
bs_persist_segment
;
/* Segment Number */
u
int64_t
bs_legacy_io
;
/* legacy io pio addr */
u
int64_t
bs_legacy_mem
;
/* legacy mem pio addr */
u
int64_t
bs_base
;
/* widget base */
u
32
bs_asic_type
;
/* chipset type */
u
32
bs_xid
;
/* xwidget id */
u
32
bs_persist_busnum
;
/* Persistent Bus Number */
u
32
bs_persist_segment
;
/* Segment Number */
u
64
bs_legacy_io
;
/* legacy io pio addr */
u
64
bs_legacy_mem
;
/* legacy mem pio addr */
u
64
bs_base
;
/* widget base */
struct
xwidget_info
*
bs_xwidget_info
;
};
...
...
include/asm-ia64/sn/pcidev.h
View file @
a1bc5cdf
...
...
@@ -55,8 +55,8 @@ struct sn_pci_controller {
#define PCIIO_VENDOR_ID_NONE (-1)
struct
pcidev_info
{
u
int64_t
pdi_pio_mapped_addr
[
7
];
/* 6 BARs PLUS 1 ROM */
u
int64_t
pdi_slot_host_handle
;
/* Bus and devfn Host pci_dev */
u
64
pdi_pio_mapped_addr
[
7
];
/* 6 BARs PLUS 1 ROM */
u
64
pdi_slot_host_handle
;
/* Bus and devfn Host pci_dev */
struct
pcibus_bussoft
*
pdi_pcibus_info
;
/* Kernel common bus soft */
struct
pcidev_info
*
pdi_host_pcidev_info
;
/* Kernel Host pci_dev */
...
...
include/asm-ia64/sn/pic.h
View file @
a1bc5cdf
...
...
@@ -74,120 +74,120 @@ struct pic {
/* 0x000000-0x00FFFF -- Local Registers */
/* 0x000000-0x000057 -- Standard Widget Configuration */
u
int64_t
p_wid_id
;
/* 0x000000 */
u
int64_t
p_wid_stat
;
/* 0x000008 */
u
int64_t
p_wid_err_upper
;
/* 0x000010 */
u
int64_t
p_wid_err_lower
;
/* 0x000018 */
u
64
p_wid_id
;
/* 0x000000 */
u
64
p_wid_stat
;
/* 0x000008 */
u
64
p_wid_err_upper
;
/* 0x000010 */
u
64
p_wid_err_lower
;
/* 0x000018 */
#define p_wid_err p_wid_err_lower
u
int64_t
p_wid_control
;
/* 0x000020 */
u
int64_t
p_wid_req_timeout
;
/* 0x000028 */
u
int64_t
p_wid_int_upper
;
/* 0x000030 */
u
int64_t
p_wid_int_lower
;
/* 0x000038 */
u
64
p_wid_control
;
/* 0x000020 */
u
64
p_wid_req_timeout
;
/* 0x000028 */
u
64
p_wid_int_upper
;
/* 0x000030 */
u
64
p_wid_int_lower
;
/* 0x000038 */
#define p_wid_int p_wid_int_lower
u
int64_t
p_wid_err_cmdword
;
/* 0x000040 */
u
int64_t
p_wid_llp
;
/* 0x000048 */
u
int64_t
p_wid_tflush
;
/* 0x000050 */
u
64
p_wid_err_cmdword
;
/* 0x000040 */
u
64
p_wid_llp
;
/* 0x000048 */
u
64
p_wid_tflush
;
/* 0x000050 */
/* 0x000058-0x00007F -- Bridge-specific Widget Configuration */
u
int64_t
p_wid_aux_err
;
/* 0x000058 */
u
int64_t
p_wid_resp_upper
;
/* 0x000060 */
u
int64_t
p_wid_resp_lower
;
/* 0x000068 */
u
64
p_wid_aux_err
;
/* 0x000058 */
u
64
p_wid_resp_upper
;
/* 0x000060 */
u
64
p_wid_resp_lower
;
/* 0x000068 */
#define p_wid_resp p_wid_resp_lower
u
int64_t
p_wid_tst_pin_ctrl
;
/* 0x000070 */
u
int64_t
p_wid_addr_lkerr
;
/* 0x000078 */
u
64
p_wid_tst_pin_ctrl
;
/* 0x000070 */
u
64
p_wid_addr_lkerr
;
/* 0x000078 */
/* 0x000080-0x00008F -- PMU & MAP */
u
int64_t
p_dir_map
;
/* 0x000080 */
u
int64_t
_pad_000088
;
/* 0x000088 */
u
64
p_dir_map
;
/* 0x000080 */
u
64
_pad_000088
;
/* 0x000088 */
/* 0x000090-0x00009F -- SSRAM */
u
int64_t
p_map_fault
;
/* 0x000090 */
u
int64_t
_pad_000098
;
/* 0x000098 */
u
64
p_map_fault
;
/* 0x000090 */
u
64
_pad_000098
;
/* 0x000098 */
/* 0x0000A0-0x0000AF -- Arbitration */
u
int64_t
p_arb
;
/* 0x0000A0 */
u
int64_t
_pad_0000A8
;
/* 0x0000A8 */
u
64
p_arb
;
/* 0x0000A0 */
u
64
_pad_0000A8
;
/* 0x0000A8 */
/* 0x0000B0-0x0000BF -- Number In A Can or ATE Parity Error */
u
int64_t
p_ate_parity_err
;
/* 0x0000B0 */
u
int64_t
_pad_0000B8
;
/* 0x0000B8 */
u
64
p_ate_parity_err
;
/* 0x0000B0 */
u
64
_pad_0000B8
;
/* 0x0000B8 */
/* 0x0000C0-0x0000FF -- PCI/GIO */
u
int64_t
p_bus_timeout
;
/* 0x0000C0 */
u
int64_t
p_pci_cfg
;
/* 0x0000C8 */
u
int64_t
p_pci_err_upper
;
/* 0x0000D0 */
u
int64_t
p_pci_err_lower
;
/* 0x0000D8 */
u
64
p_bus_timeout
;
/* 0x0000C0 */
u
64
p_pci_cfg
;
/* 0x0000C8 */
u
64
p_pci_err_upper
;
/* 0x0000D0 */
u
64
p_pci_err_lower
;
/* 0x0000D8 */
#define p_pci_err p_pci_err_lower
u
int64_t
_pad_0000E0
[
4
];
/* 0x0000{E0..F8} */
u
64
_pad_0000E0
[
4
];
/* 0x0000{E0..F8} */
/* 0x000100-0x0001FF -- Interrupt */
u
int64_t
p_int_status
;
/* 0x000100 */
u
int64_t
p_int_enable
;
/* 0x000108 */
u
int64_t
p_int_rst_stat
;
/* 0x000110 */
u
int64_t
p_int_mode
;
/* 0x000118 */
u
int64_t
p_int_device
;
/* 0x000120 */
u
int64_t
p_int_host_err
;
/* 0x000128 */
u
int64_t
p_int_addr
[
8
];
/* 0x0001{30,,,68} */
u
int64_t
p_err_int_view
;
/* 0x000170 */
u
int64_t
p_mult_int
;
/* 0x000178 */
u
int64_t
p_force_always
[
8
];
/* 0x0001{80,,,B8} */
u
int64_t
p_force_pin
[
8
];
/* 0x0001{C0,,,F8} */
u
64
p_int_status
;
/* 0x000100 */
u
64
p_int_enable
;
/* 0x000108 */
u
64
p_int_rst_stat
;
/* 0x000110 */
u
64
p_int_mode
;
/* 0x000118 */
u
64
p_int_device
;
/* 0x000120 */
u
64
p_int_host_err
;
/* 0x000128 */
u
64
p_int_addr
[
8
];
/* 0x0001{30,,,68} */
u
64
p_err_int_view
;
/* 0x000170 */
u
64
p_mult_int
;
/* 0x000178 */
u
64
p_force_always
[
8
];
/* 0x0001{80,,,B8} */
u
64
p_force_pin
[
8
];
/* 0x0001{C0,,,F8} */
/* 0x000200-0x000298 -- Device */
u
int64_t
p_device
[
4
];
/* 0x0002{00,,,18} */
u
int64_t
_pad_000220
[
4
];
/* 0x0002{20,,,38} */
u
int64_t
p_wr_req_buf
[
4
];
/* 0x0002{40,,,58} */
u
int64_t
_pad_000260
[
4
];
/* 0x0002{60,,,78} */
u
int64_t
p_rrb_map
[
2
];
/* 0x0002{80,,,88} */
u
64
p_device
[
4
];
/* 0x0002{00,,,18} */
u
64
_pad_000220
[
4
];
/* 0x0002{20,,,38} */
u
64
p_wr_req_buf
[
4
];
/* 0x0002{40,,,58} */
u
64
_pad_000260
[
4
];
/* 0x0002{60,,,78} */
u
64
p_rrb_map
[
2
];
/* 0x0002{80,,,88} */
#define p_even_resp p_rrb_map[0]
/* 0x000280 */
#define p_odd_resp p_rrb_map[1]
/* 0x000288 */
u
int64_t
p_resp_status
;
/* 0x000290 */
u
int64_t
p_resp_clear
;
/* 0x000298 */
u
64
p_resp_status
;
/* 0x000290 */
u
64
p_resp_clear
;
/* 0x000298 */
u
int64_t
_pad_0002A0
[
12
];
/* 0x0002{A0..F8} */
u
64
_pad_0002A0
[
12
];
/* 0x0002{A0..F8} */
/* 0x000300-0x0003F8 -- Buffer Address Match Registers */
struct
{
u
int64_t
upper
;
/* 0x0003{00,,,F0} */
u
int64_t
lower
;
/* 0x0003{08,,,F8} */
u
64
upper
;
/* 0x0003{00,,,F0} */
u
64
lower
;
/* 0x0003{08,,,F8} */
}
p_buf_addr_match
[
16
];
/* 0x000400-0x0005FF -- Performance Monitor Registers (even only) */
struct
{
u
int64_t
flush_w_touch
;
/* 0x000{400,,,5C0} */
u
int64_t
flush_wo_touch
;
/* 0x000{408,,,5C8} */
u
int64_t
inflight
;
/* 0x000{410,,,5D0} */
u
int64_t
prefetch
;
/* 0x000{418,,,5D8} */
u
int64_t
total_pci_retry
;
/* 0x000{420,,,5E0} */
u
int64_t
max_pci_retry
;
/* 0x000{428,,,5E8} */
u
int64_t
max_latency
;
/* 0x000{430,,,5F0} */
u
int64_t
clear_all
;
/* 0x000{438,,,5F8} */
u
64
flush_w_touch
;
/* 0x000{400,,,5C0} */
u
64
flush_wo_touch
;
/* 0x000{408,,,5C8} */
u
64
inflight
;
/* 0x000{410,,,5D0} */
u
64
prefetch
;
/* 0x000{418,,,5D8} */
u
64
total_pci_retry
;
/* 0x000{420,,,5E0} */
u
64
max_pci_retry
;
/* 0x000{428,,,5E8} */
u
64
max_latency
;
/* 0x000{430,,,5F0} */
u
64
clear_all
;
/* 0x000{438,,,5F8} */
}
p_buf_count
[
8
];
/* 0x000600-0x0009FF -- PCI/X registers */
u
int64_t
p_pcix_bus_err_addr
;
/* 0x000600 */
u
int64_t
p_pcix_bus_err_attr
;
/* 0x000608 */
u
int64_t
p_pcix_bus_err_data
;
/* 0x000610 */
u
int64_t
p_pcix_pio_split_addr
;
/* 0x000618 */
u
int64_t
p_pcix_pio_split_attr
;
/* 0x000620 */
u
int64_t
p_pcix_dma_req_err_attr
;
/* 0x000628 */
u
int64_t
p_pcix_dma_req_err_addr
;
/* 0x000630 */
u
int64_t
p_pcix_timeout
;
/* 0x000638 */
u
64
p_pcix_bus_err_addr
;
/* 0x000600 */
u
64
p_pcix_bus_err_attr
;
/* 0x000608 */
u
64
p_pcix_bus_err_data
;
/* 0x000610 */
u
64
p_pcix_pio_split_addr
;
/* 0x000618 */
u
64
p_pcix_pio_split_attr
;
/* 0x000620 */
u
64
p_pcix_dma_req_err_attr
;
/* 0x000628 */
u
64
p_pcix_dma_req_err_addr
;
/* 0x000630 */
u
64
p_pcix_timeout
;
/* 0x000638 */
u
int64_t
_pad_000640
[
120
];
/* 0x000{640,,,9F8} */
u
64
_pad_000640
[
120
];
/* 0x000{640,,,9F8} */
/* 0x000A00-0x000BFF -- PCI/X Read&Write Buffer */
struct
{
u
int64_t
p_buf_addr
;
/* 0x000{A00,,,AF0} */
u
int64_t
p_buf_attr
;
/* 0X000{A08,,,AF8} */
u
64
p_buf_addr
;
/* 0x000{A00,,,AF0} */
u
64
p_buf_attr
;
/* 0X000{A08,,,AF8} */
}
p_pcix_read_buf_64
[
16
];
struct
{
u
int64_t
p_buf_addr
;
/* 0x000{B00,,,BE0} */
u
int64_t
p_buf_attr
;
/* 0x000{B08,,,BE8} */
u
int64_t
p_buf_valid
;
/* 0x000{B10,,,BF0} */
u
int64_t
__pad1
;
/* 0x000{B18,,,BF8} */
u
64
p_buf_addr
;
/* 0x000{B00,,,BE0} */
u
64
p_buf_attr
;
/* 0x000{B08,,,BE8} */
u
64
p_buf_valid
;
/* 0x000{B10,,,BF0} */
u
64
__pad1
;
/* 0x000{B18,,,BF8} */
}
p_pcix_write_buf_64
[
8
];
/* End of Local Registers -- Start of Address Map space */
...
...
@@ -195,45 +195,45 @@ struct pic {
char
_pad_000c00
[
0x010000
-
0x000c00
];
/* 0x010000-0x011fff -- Internal ATE RAM (Auto Parity Generation) */
u
int64_t
p_int_ate_ram
[
1024
];
/* 0x010000-0x011fff */
u
64
p_int_ate_ram
[
1024
];
/* 0x010000-0x011fff */
/* 0x012000-0x013fff -- Internal ATE RAM (Manual Parity Generation) */
u
int64_t
p_int_ate_ram_mp
[
1024
];
/* 0x012000-0x013fff */
u
64
p_int_ate_ram_mp
[
1024
];
/* 0x012000-0x013fff */
char
_pad_014000
[
0x18000
-
0x014000
];
/* 0x18000-0x197F8 -- PIC Write Request Ram */
u
int64_t
p_wr_req_lower
[
256
];
/* 0x18000 - 0x187F8 */
u
int64_t
p_wr_req_upper
[
256
];
/* 0x18800 - 0x18FF8 */
u
int64_t
p_wr_req_parity
[
256
];
/* 0x19000 - 0x197F8 */
u
64
p_wr_req_lower
[
256
];
/* 0x18000 - 0x187F8 */
u
64
p_wr_req_upper
[
256
];
/* 0x18800 - 0x18FF8 */
u
64
p_wr_req_parity
[
256
];
/* 0x19000 - 0x197F8 */
char
_pad_019800
[
0x20000
-
0x019800
];
/* 0x020000-0x027FFF -- PCI Device Configuration Spaces */
union
{
u
int8_t
c
[
0x1000
/
1
];
/* 0x02{0000,,,7FFF} */
u
int16_t
s
[
0x1000
/
2
];
/* 0x02{0000,,,7FFF} */
u
int32_t
l
[
0x1000
/
4
];
/* 0x02{0000,,,7FFF} */
u
int64_t
d
[
0x1000
/
8
];
/* 0x02{0000,,,7FFF} */
u
8
c
[
0x1000
/
1
];
/* 0x02{0000,,,7FFF} */
u
16
s
[
0x1000
/
2
];
/* 0x02{0000,,,7FFF} */
u
32
l
[
0x1000
/
4
];
/* 0x02{0000,,,7FFF} */
u
64
d
[
0x1000
/
8
];
/* 0x02{0000,,,7FFF} */
union
{
u
int8_t
c
[
0x100
/
1
];
u
int16_t
s
[
0x100
/
2
];
u
int32_t
l
[
0x100
/
4
];
u
int64_t
d
[
0x100
/
8
];
u
8
c
[
0x100
/
1
];
u
16
s
[
0x100
/
2
];
u
32
l
[
0x100
/
4
];
u
64
d
[
0x100
/
8
];
}
f
[
8
];
}
p_type0_cfg_dev
[
8
];
/* 0x02{0000,,,7FFF} */
/* 0x028000-0x028FFF -- PCI Type 1 Configuration Space */
union
{
u
int8_t
c
[
0x1000
/
1
];
/* 0x028000-0x029000 */
u
int16_t
s
[
0x1000
/
2
];
/* 0x028000-0x029000 */
u
int32_t
l
[
0x1000
/
4
];
/* 0x028000-0x029000 */
u
int64_t
d
[
0x1000
/
8
];
/* 0x028000-0x029000 */
u
8
c
[
0x1000
/
1
];
/* 0x028000-0x029000 */
u
16
s
[
0x1000
/
2
];
/* 0x028000-0x029000 */
u
32
l
[
0x1000
/
4
];
/* 0x028000-0x029000 */
u
64
d
[
0x1000
/
8
];
/* 0x028000-0x029000 */
union
{
u
int8_t
c
[
0x100
/
1
];
u
int16_t
s
[
0x100
/
2
];
u
int32_t
l
[
0x100
/
4
];
u
int64_t
d
[
0x100
/
8
];
u
8
c
[
0x100
/
1
];
u
16
s
[
0x100
/
2
];
u
32
l
[
0x100
/
4
];
u
64
d
[
0x100
/
8
];
}
f
[
8
];
}
p_type1_cfg
;
/* 0x028000-0x029000 */
...
...
@@ -241,20 +241,20 @@ struct pic {
/* 0x030000-0x030007 -- PCI Interrupt Acknowledge Cycle */
union
{
u
int8_t
c
[
8
/
1
];
u
int16_t
s
[
8
/
2
];
u
int32_t
l
[
8
/
4
];
u
int64_t
d
[
8
/
8
];
u
8
c
[
8
/
1
];
u
16
s
[
8
/
2
];
u
32
l
[
8
/
4
];
u
64
d
[
8
/
8
];
}
p_pci_iack
;
/* 0x030000-0x030007 */
char
_pad_030007
[
0x040000
-
0x030008
];
/* 0x040000-0x030007 -- PCIX Special Cycle */
union
{
u
int8_t
c
[
8
/
1
];
u
int16_t
s
[
8
/
2
];
u
int32_t
l
[
8
/
4
];
u
int64_t
d
[
8
/
8
];
u
8
c
[
8
/
1
];
u
16
s
[
8
/
2
];
u
32
l
[
8
/
4
];
u
64
d
[
8
/
8
];
}
p_pcix_cycle
;
/* 0x040000-0x040007 */
};
...
...
include/asm-ia64/sn/shubio.h
View file @
a1bc5cdf
...
...
@@ -227,13 +227,13 @@
************************************************************************/
typedef
union
ii_wid_u
{
u
int64_t
ii_wid_regval
;
u
64
ii_wid_regval
;
struct
{
u
int64_t
w_rsvd_1
:
1
;
u
int64_t
w_mfg_num
:
11
;
u
int64_t
w_part_num
:
16
;
u
int64_t
w_rev_num
:
4
;
u
int64_t
w_rsvd
:
32
;
u
64
w_rsvd_1
:
1
;
u
64
w_mfg_num
:
11
;
u
64
w_part_num
:
16
;
u
64
w_rev_num
:
4
;
u
64
w_rsvd
:
32
;
}
ii_wid_fld_s
;
}
ii_wid_u_t
;
...
...
@@ -246,18 +246,18 @@ typedef union ii_wid_u {
************************************************************************/
typedef
union
ii_wstat_u
{
u
int64_t
ii_wstat_regval
;
struct
{
u
int64_t
w_pending
:
4
;
u
int64_t
w_xt_crd_to
:
1
;
u
int64_t
w_xt_tail_to
:
1
;
u
int64_t
w_rsvd_3
:
3
;
u
int64_t
w_tx_mx_rty
:
1
;
u
int64_t
w_rsvd_2
:
6
;
u
int64_t
w_llp_tx_cnt
:
8
;
u
int64_t
w_rsvd_1
:
8
;
u
int64_t
w_crazy
:
1
;
u
int64_t
w_rsvd
:
31
;
u
64
ii_wstat_regval
;
struct
{
u
64
w_pending
:
4
;
u
64
w_xt_crd_to
:
1
;
u
64
w_xt_tail_to
:
1
;
u
64
w_rsvd_3
:
3
;
u
64
w_tx_mx_rty
:
1
;
u
64
w_rsvd_2
:
6
;
u
64
w_llp_tx_cnt
:
8
;
u
64
w_rsvd_1
:
8
;
u
64
w_crazy
:
1
;
u
64
w_rsvd
:
31
;
}
ii_wstat_fld_s
;
}
ii_wstat_u_t
;
...
...
@@ -269,16 +269,16 @@ typedef union ii_wstat_u {
************************************************************************/
typedef
union
ii_wcr_u
{
u
int64_t
ii_wcr_regval
;
struct
{
u
int64_t
w_wid
:
4
;
u
int64_t
w_tag
:
1
;
u
int64_t
w_rsvd_1
:
8
;
u
int64_t
w_dst_crd
:
3
;
u
int64_t
w_f_bad_pkt
:
1
;
u
int64_t
w_dir_con
:
1
;
u
int64_t
w_e_thresh
:
5
;
u
int64_t
w_rsvd
:
41
;
u
64
ii_wcr_regval
;
struct
{
u
64
w_wid
:
4
;
u
64
w_tag
:
1
;
u
64
w_rsvd_1
:
8
;
u
64
w_dst_crd
:
3
;
u
64
w_f_bad_pkt
:
1
;
u
64
w_dir_con
:
1
;
u
64
w_e_thresh
:
5
;
u
64
w_rsvd
:
41
;
}
ii_wcr_fld_s
;
}
ii_wcr_u_t
;
...
...
@@ -310,9 +310,9 @@ typedef union ii_wcr_u {
************************************************************************/
typedef
union
ii_ilapr_u
{
u
int64_t
ii_ilapr_regval
;
u
64
ii_ilapr_regval
;
struct
{
u
int64_t
i_region
:
64
;
u
64
i_region
:
64
;
}
ii_ilapr_fld_s
;
}
ii_ilapr_u_t
;
...
...
@@ -330,9 +330,9 @@ typedef union ii_ilapr_u {
************************************************************************/
typedef
union
ii_ilapo_u
{
u
int64_t
ii_ilapo_regval
;
u
64
ii_ilapo_regval
;
struct
{
u
int64_t
i_io_ovrride
:
64
;
u
64
i_io_ovrride
:
64
;
}
ii_ilapo_fld_s
;
}
ii_ilapo_u_t
;
...
...
@@ -344,12 +344,12 @@ typedef union ii_ilapo_u {
************************************************************************/
typedef
union
ii_iowa_u
{
u
int64_t
ii_iowa_regval
;
u
64
ii_iowa_regval
;
struct
{
u
int64_t
i_w0_oac
:
1
;
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_wx_oac
:
8
;
u
int64_t
i_rsvd
:
48
;
u
64
i_w0_oac
:
1
;
u
64
i_rsvd_1
:
7
;
u
64
i_wx_oac
:
8
;
u
64
i_rsvd
:
48
;
}
ii_iowa_fld_s
;
}
ii_iowa_u_t
;
...
...
@@ -363,12 +363,12 @@ typedef union ii_iowa_u {
************************************************************************/
typedef
union
ii_iiwa_u
{
u
int64_t
ii_iiwa_regval
;
u
64
ii_iiwa_regval
;
struct
{
u
int64_t
i_w0_iac
:
1
;
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_wx_iac
:
8
;
u
int64_t
i_rsvd
:
48
;
u
64
i_w0_iac
:
1
;
u
64
i_rsvd_1
:
7
;
u
64
i_wx_iac
:
8
;
u
64
i_rsvd
:
48
;
}
ii_iiwa_fld_s
;
}
ii_iiwa_u_t
;
...
...
@@ -392,16 +392,16 @@ typedef union ii_iiwa_u {
************************************************************************/
typedef
union
ii_iidem_u
{
u
int64_t
ii_iidem_regval
;
struct
{
u
int64_t
i_w8_dxs
:
8
;
u
int64_t
i_w9_dxs
:
8
;
u
int64_t
i_wa_dxs
:
8
;
u
int64_t
i_wb_dxs
:
8
;
u
int64_t
i_wc_dxs
:
8
;
u
int64_t
i_wd_dxs
:
8
;
u
int64_t
i_we_dxs
:
8
;
u
int64_t
i_wf_dxs
:
8
;
u
64
ii_iidem_regval
;
struct
{
u
64
i_w8_dxs
:
8
;
u
64
i_w9_dxs
:
8
;
u
64
i_wa_dxs
:
8
;
u
64
i_wb_dxs
:
8
;
u
64
i_wc_dxs
:
8
;
u
64
i_wd_dxs
:
8
;
u
64
i_we_dxs
:
8
;
u
64
i_wf_dxs
:
8
;
}
ii_iidem_fld_s
;
}
ii_iidem_u_t
;
...
...
@@ -413,22 +413,22 @@ typedef union ii_iidem_u {
************************************************************************/
typedef
union
ii_ilcsr_u
{
u
int64_t
ii_ilcsr_regval
;
struct
{
u
int64_t
i_nullto
:
6
;
u
int64_t
i_rsvd_4
:
2
;
u
int64_t
i_wrmrst
:
1
;
u
int64_t
i_rsvd_3
:
1
;
u
int64_t
i_llp_en
:
1
;
u
int64_t
i_bm8
:
1
;
u
int64_t
i_llp_stat
:
2
;
u
int64_t
i_remote_power
:
1
;
u
int64_t
i_rsvd_2
:
1
;
u
int64_t
i_maxrtry
:
10
;
u
int64_t
i_d_avail_sel
:
2
;
u
int64_t
i_rsvd_1
:
4
;
u
int64_t
i_maxbrst
:
10
;
u
int64_t
i_rsvd
:
22
;
u
64
ii_ilcsr_regval
;
struct
{
u
64
i_nullto
:
6
;
u
64
i_rsvd_4
:
2
;
u
64
i_wrmrst
:
1
;
u
64
i_rsvd_3
:
1
;
u
64
i_llp_en
:
1
;
u
64
i_bm8
:
1
;
u
64
i_llp_stat
:
2
;
u
64
i_remote_power
:
1
;
u
64
i_rsvd_2
:
1
;
u
64
i_maxrtry
:
10
;
u
64
i_d_avail_sel
:
2
;
u
64
i_rsvd_1
:
4
;
u
64
i_maxbrst
:
10
;
u
64
i_rsvd
:
22
;
}
ii_ilcsr_fld_s
;
}
ii_ilcsr_u_t
;
...
...
@@ -441,11 +441,11 @@ typedef union ii_ilcsr_u {
************************************************************************/
typedef
union
ii_illr_u
{
u
int64_t
ii_illr_regval
;
u
64
ii_illr_regval
;
struct
{
u
int64_t
i_sn_cnt
:
16
;
u
int64_t
i_cb_cnt
:
16
;
u
int64_t
i_rsvd
:
32
;
u
64
i_sn_cnt
:
16
;
u
64
i_cb_cnt
:
16
;
u
64
i_rsvd
:
32
;
}
ii_illr_fld_s
;
}
ii_illr_u_t
;
...
...
@@ -464,19 +464,19 @@ typedef union ii_illr_u {
************************************************************************/
typedef
union
ii_iidsr_u
{
u
int64_t
ii_iidsr_regval
;
struct
{
u
int64_t
i_level
:
8
;
u
int64_t
i_pi_id
:
1
;
u
int64_t
i_node
:
11
;
u
int64_t
i_rsvd_3
:
4
;
u
int64_t
i_enable
:
1
;
u
int64_t
i_rsvd_2
:
3
;
u
int64_t
i_int_sent
:
2
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_pi0_forward_int
:
1
;
u
int64_t
i_pi1_forward_int
:
1
;
u
int64_t
i_rsvd
:
30
;
u
64
ii_iidsr_regval
;
struct
{
u
64
i_level
:
8
;
u
64
i_pi_id
:
1
;
u
64
i_node
:
11
;
u
64
i_rsvd_3
:
4
;
u
64
i_enable
:
1
;
u
64
i_rsvd_2
:
3
;
u
64
i_int_sent
:
2
;
u
64
i_rsvd_1
:
2
;
u
64
i_pi0_forward_int
:
1
;
u
64
i_pi1_forward_int
:
1
;
u
64
i_rsvd
:
30
;
}
ii_iidsr_fld_s
;
}
ii_iidsr_u_t
;
...
...
@@ -492,13 +492,13 @@ typedef union ii_iidsr_u {
************************************************************************/
typedef
union
ii_igfx0_u
{
u
int64_t
ii_igfx0_regval
;
u
64
ii_igfx0_regval
;
struct
{
u
int64_t
i_w_num
:
4
;
u
int64_t
i_pi_id
:
1
;
u
int64_t
i_n_num
:
12
;
u
int64_t
i_p_num
:
1
;
u
int64_t
i_rsvd
:
46
;
u
64
i_w_num
:
4
;
u
64
i_pi_id
:
1
;
u
64
i_n_num
:
12
;
u
64
i_p_num
:
1
;
u
64
i_rsvd
:
46
;
}
ii_igfx0_fld_s
;
}
ii_igfx0_u_t
;
...
...
@@ -514,13 +514,13 @@ typedef union ii_igfx0_u {
************************************************************************/
typedef
union
ii_igfx1_u
{
u
int64_t
ii_igfx1_regval
;
u
64
ii_igfx1_regval
;
struct
{
u
int64_t
i_w_num
:
4
;
u
int64_t
i_pi_id
:
1
;
u
int64_t
i_n_num
:
12
;
u
int64_t
i_p_num
:
1
;
u
int64_t
i_rsvd
:
46
;
u
64
i_w_num
:
4
;
u
64
i_pi_id
:
1
;
u
64
i_n_num
:
12
;
u
64
i_p_num
:
1
;
u
64
i_rsvd
:
46
;
}
ii_igfx1_fld_s
;
}
ii_igfx1_u_t
;
...
...
@@ -532,9 +532,9 @@ typedef union ii_igfx1_u {
************************************************************************/
typedef
union
ii_iscr0_u
{
u
int64_t
ii_iscr0_regval
;
u
64
ii_iscr0_regval
;
struct
{
u
int64_t
i_scratch
:
64
;
u
64
i_scratch
:
64
;
}
ii_iscr0_fld_s
;
}
ii_iscr0_u_t
;
...
...
@@ -546,9 +546,9 @@ typedef union ii_iscr0_u {
************************************************************************/
typedef
union
ii_iscr1_u
{
u
int64_t
ii_iscr1_regval
;
u
64
ii_iscr1_regval
;
struct
{
u
int64_t
i_scratch
:
64
;
u
64
i_scratch
:
64
;
}
ii_iscr1_fld_s
;
}
ii_iscr1_u_t
;
...
...
@@ -580,13 +580,13 @@ typedef union ii_iscr1_u {
************************************************************************/
typedef
union
ii_itte1_u
{
u
int64_t
ii_itte1_regval
;
u
64
ii_itte1_regval
;
struct
{
u
int64_t
i_offset
:
5
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_w_num
:
4
;
u
int64_t
i_iosp
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
i_offset
:
5
;
u
64
i_rsvd_1
:
3
;
u
64
i_w_num
:
4
;
u
64
i_iosp
:
1
;
u
64
i_rsvd
:
51
;
}
ii_itte1_fld_s
;
}
ii_itte1_u_t
;
...
...
@@ -618,13 +618,13 @@ typedef union ii_itte1_u {
************************************************************************/
typedef
union
ii_itte2_u
{
u
int64_t
ii_itte2_regval
;
u
64
ii_itte2_regval
;
struct
{
u
int64_t
i_offset
:
5
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_w_num
:
4
;
u
int64_t
i_iosp
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
i_offset
:
5
;
u
64
i_rsvd_1
:
3
;
u
64
i_w_num
:
4
;
u
64
i_iosp
:
1
;
u
64
i_rsvd
:
51
;
}
ii_itte2_fld_s
;
}
ii_itte2_u_t
;
...
...
@@ -656,13 +656,13 @@ typedef union ii_itte2_u {
************************************************************************/
typedef
union
ii_itte3_u
{
u
int64_t
ii_itte3_regval
;
u
64
ii_itte3_regval
;
struct
{
u
int64_t
i_offset
:
5
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_w_num
:
4
;
u
int64_t
i_iosp
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
i_offset
:
5
;
u
64
i_rsvd_1
:
3
;
u
64
i_w_num
:
4
;
u
64
i_iosp
:
1
;
u
64
i_rsvd
:
51
;
}
ii_itte3_fld_s
;
}
ii_itte3_u_t
;
...
...
@@ -694,13 +694,13 @@ typedef union ii_itte3_u {
************************************************************************/
typedef
union
ii_itte4_u
{
u
int64_t
ii_itte4_regval
;
u
64
ii_itte4_regval
;
struct
{
u
int64_t
i_offset
:
5
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_w_num
:
4
;
u
int64_t
i_iosp
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
i_offset
:
5
;
u
64
i_rsvd_1
:
3
;
u
64
i_w_num
:
4
;
u
64
i_iosp
:
1
;
u
64
i_rsvd
:
51
;
}
ii_itte4_fld_s
;
}
ii_itte4_u_t
;
...
...
@@ -732,13 +732,13 @@ typedef union ii_itte4_u {
************************************************************************/
typedef
union
ii_itte5_u
{
u
int64_t
ii_itte5_regval
;
u
64
ii_itte5_regval
;
struct
{
u
int64_t
i_offset
:
5
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_w_num
:
4
;
u
int64_t
i_iosp
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
i_offset
:
5
;
u
64
i_rsvd_1
:
3
;
u
64
i_w_num
:
4
;
u
64
i_iosp
:
1
;
u
64
i_rsvd
:
51
;
}
ii_itte5_fld_s
;
}
ii_itte5_u_t
;
...
...
@@ -770,13 +770,13 @@ typedef union ii_itte5_u {
************************************************************************/
typedef
union
ii_itte6_u
{
u
int64_t
ii_itte6_regval
;
u
64
ii_itte6_regval
;
struct
{
u
int64_t
i_offset
:
5
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_w_num
:
4
;
u
int64_t
i_iosp
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
i_offset
:
5
;
u
64
i_rsvd_1
:
3
;
u
64
i_w_num
:
4
;
u
64
i_iosp
:
1
;
u
64
i_rsvd
:
51
;
}
ii_itte6_fld_s
;
}
ii_itte6_u_t
;
...
...
@@ -808,13 +808,13 @@ typedef union ii_itte6_u {
************************************************************************/
typedef
union
ii_itte7_u
{
u
int64_t
ii_itte7_regval
;
u
64
ii_itte7_regval
;
struct
{
u
int64_t
i_offset
:
5
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_w_num
:
4
;
u
int64_t
i_iosp
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
i_offset
:
5
;
u
64
i_rsvd_1
:
3
;
u
64
i_w_num
:
4
;
u
64
i_iosp
:
1
;
u
64
i_rsvd
:
51
;
}
ii_itte7_fld_s
;
}
ii_itte7_u_t
;
...
...
@@ -843,22 +843,22 @@ typedef union ii_itte7_u {
************************************************************************/
typedef
union
ii_iprb0_u
{
u
int64_t
ii_iprb0_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprb0_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprb0_fld_s
;
}
ii_iprb0_u_t
;
...
...
@@ -887,22 +887,22 @@ typedef union ii_iprb0_u {
************************************************************************/
typedef
union
ii_iprb8_u
{
u
int64_t
ii_iprb8_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprb8_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprb8_fld_s
;
}
ii_iprb8_u_t
;
...
...
@@ -931,22 +931,22 @@ typedef union ii_iprb8_u {
************************************************************************/
typedef
union
ii_iprb9_u
{
u
int64_t
ii_iprb9_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprb9_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprb9_fld_s
;
}
ii_iprb9_u_t
;
...
...
@@ -975,22 +975,22 @@ typedef union ii_iprb9_u {
************************************************************************/
typedef
union
ii_iprba_u
{
u
int64_t
ii_iprba_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprba_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprba_fld_s
;
}
ii_iprba_u_t
;
...
...
@@ -1019,22 +1019,22 @@ typedef union ii_iprba_u {
************************************************************************/
typedef
union
ii_iprbb_u
{
u
int64_t
ii_iprbb_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprbb_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprbb_fld_s
;
}
ii_iprbb_u_t
;
...
...
@@ -1063,22 +1063,22 @@ typedef union ii_iprbb_u {
************************************************************************/
typedef
union
ii_iprbc_u
{
u
int64_t
ii_iprbc_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprbc_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprbc_fld_s
;
}
ii_iprbc_u_t
;
...
...
@@ -1107,22 +1107,22 @@ typedef union ii_iprbc_u {
************************************************************************/
typedef
union
ii_iprbd_u
{
u
int64_t
ii_iprbd_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprbd_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprbd_fld_s
;
}
ii_iprbd_u_t
;
...
...
@@ -1151,22 +1151,22 @@ typedef union ii_iprbd_u {
************************************************************************/
typedef
union
ii_iprbe_u
{
u
int64_t
ii_iprbe_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprbe_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprbe_fld_s
;
}
ii_iprbe_u_t
;
...
...
@@ -1195,22 +1195,22 @@ typedef union ii_iprbe_u {
************************************************************************/
typedef
union
ii_iprbf_u
{
u
int64_t
ii_iprbf_regval
;
struct
{
u
int64_t
i_c
:
8
;
u
int64_t
i_na
:
14
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_nb
:
14
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_m
:
2
;
u
int64_t
i_f
:
1
;
u
int64_t
i_of_cnt
:
5
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rd_to
:
1
;
u
int64_t
i_spur_wr
:
1
;
u
int64_t
i_spur_rd
:
1
;
u
int64_t
i_rsvd
:
11
;
u
int64_t
i_mult_err
:
1
;
u
64
ii_iprbf_regval
;
struct
{
u
64
i_c
:
8
;
u
64
i_na
:
14
;
u
64
i_rsvd_2
:
2
;
u
64
i_nb
:
14
;
u
64
i_rsvd_1
:
2
;
u
64
i_m
:
2
;
u
64
i_f
:
1
;
u
64
i_of_cnt
:
5
;
u
64
i_error
:
1
;
u
64
i_rd_to
:
1
;
u
64
i_spur_wr
:
1
;
u
64
i_spur_rd
:
1
;
u
64
i_rsvd
:
11
;
u
64
i_mult_err
:
1
;
}
ii_iprbe_fld_s
;
}
ii_iprbf_u_t
;
...
...
@@ -1232,10 +1232,10 @@ typedef union ii_iprbf_u {
************************************************************************/
typedef
union
ii_ixcc_u
{
u
int64_t
ii_ixcc_regval
;
u
64
ii_ixcc_regval
;
struct
{
u
int64_t
i_time_out
:
26
;
u
int64_t
i_rsvd
:
38
;
u
64
i_time_out
:
26
;
u
64
i_rsvd
:
38
;
}
ii_ixcc_fld_s
;
}
ii_ixcc_u_t
;
...
...
@@ -1256,16 +1256,16 @@ typedef union ii_ixcc_u {
************************************************************************/
typedef
union
ii_imem_u
{
u
int64_t
ii_imem_regval
;
struct
{
u
int64_t
i_w0_esd
:
1
;
u
int64_t
i_rsvd_3
:
3
;
u
int64_t
i_b0_esd
:
1
;
u
int64_t
i_rsvd_2
:
3
;
u
int64_t
i_b1_esd
:
1
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_clr_precise
:
1
;
u
int64_t
i_rsvd
:
51
;
u
64
ii_imem_regval
;
struct
{
u
64
i_w0_esd
:
1
;
u
64
i_rsvd_3
:
3
;
u
64
i_b0_esd
:
1
;
u
64
i_rsvd_2
:
3
;
u
64
i_b1_esd
:
1
;
u
64
i_rsvd_1
:
3
;
u
64
i_clr_precise
:
1
;
u
64
i_rsvd
:
51
;
}
ii_imem_fld_s
;
}
ii_imem_u_t
;
...
...
@@ -1294,13 +1294,13 @@ typedef union ii_imem_u {
************************************************************************/
typedef
union
ii_ixtt_u
{
u
int64_t
ii_ixtt_regval
;
u
64
ii_ixtt_regval
;
struct
{
u
int64_t
i_tail_to
:
26
;
u
int64_t
i_rsvd_1
:
6
;
u
int64_t
i_rrsp_ps
:
23
;
u
int64_t
i_rrsp_to
:
5
;
u
int64_t
i_rsvd
:
4
;
u
64
i_tail_to
:
26
;
u
64
i_rsvd_1
:
6
;
u
64
i_rrsp_ps
:
23
;
u
64
i_rrsp_to
:
5
;
u
64
i_rsvd
:
4
;
}
ii_ixtt_fld_s
;
}
ii_ixtt_u_t
;
...
...
@@ -1316,37 +1316,37 @@ typedef union ii_ixtt_u {
************************************************************************/
typedef
union
ii_ieclr_u
{
u
int64_t
ii_ieclr_regval
;
struct
{
u
int64_t
i_e_prb_0
:
1
;
u
int64_t
i_rsvd
:
7
;
u
int64_t
i_e_prb_8
:
1
;
u
int64_t
i_e_prb_9
:
1
;
u
int64_t
i_e_prb_a
:
1
;
u
int64_t
i_e_prb_b
:
1
;
u
int64_t
i_e_prb_c
:
1
;
u
int64_t
i_e_prb_d
:
1
;
u
int64_t
i_e_prb_e
:
1
;
u
int64_t
i_e_prb_f
:
1
;
u
int64_t
i_e_crazy
:
1
;
u
int64_t
i_e_bte_0
:
1
;
u
int64_t
i_e_bte_1
:
1
;
u
int64_t
i_reserved_1
:
10
;
u
int64_t
i_spur_rd_hdr
:
1
;
u
int64_t
i_cam_intr_to
:
1
;
u
int64_t
i_cam_overflow
:
1
;
u
int64_t
i_cam_read_miss
:
1
;
u
int64_t
i_ioq_rep_underflow
:
1
;
u
int64_t
i_ioq_req_underflow
:
1
;
u
int64_t
i_ioq_rep_overflow
:
1
;
u
int64_t
i_ioq_req_overflow
:
1
;
u
int64_t
i_iiq_rep_overflow
:
1
;
u
int64_t
i_iiq_req_overflow
:
1
;
u
int64_t
i_ii_xn_rep_cred_overflow
:
1
;
u
int64_t
i_ii_xn_req_cred_overflow
:
1
;
u
int64_t
i_ii_xn_invalid_cmd
:
1
;
u
int64_t
i_xn_ii_invalid_cmd
:
1
;
u
int64_t
i_reserved_2
:
21
;
u
64
ii_ieclr_regval
;
struct
{
u
64
i_e_prb_0
:
1
;
u
64
i_rsvd
:
7
;
u
64
i_e_prb_8
:
1
;
u
64
i_e_prb_9
:
1
;
u
64
i_e_prb_a
:
1
;
u
64
i_e_prb_b
:
1
;
u
64
i_e_prb_c
:
1
;
u
64
i_e_prb_d
:
1
;
u
64
i_e_prb_e
:
1
;
u
64
i_e_prb_f
:
1
;
u
64
i_e_crazy
:
1
;
u
64
i_e_bte_0
:
1
;
u
64
i_e_bte_1
:
1
;
u
64
i_reserved_1
:
10
;
u
64
i_spur_rd_hdr
:
1
;
u
64
i_cam_intr_to
:
1
;
u
64
i_cam_overflow
:
1
;
u
64
i_cam_read_miss
:
1
;
u
64
i_ioq_rep_underflow
:
1
;
u
64
i_ioq_req_underflow
:
1
;
u
64
i_ioq_rep_overflow
:
1
;
u
64
i_ioq_req_overflow
:
1
;
u
64
i_iiq_rep_overflow
:
1
;
u
64
i_iiq_req_overflow
:
1
;
u
64
i_ii_xn_rep_cred_overflow
:
1
;
u
64
i_ii_xn_req_cred_overflow
:
1
;
u
64
i_ii_xn_invalid_cmd
:
1
;
u
64
i_xn_ii_invalid_cmd
:
1
;
u
64
i_reserved_2
:
21
;
}
ii_ieclr_fld_s
;
}
ii_ieclr_u_t
;
...
...
@@ -1360,12 +1360,12 @@ typedef union ii_ieclr_u {
************************************************************************/
typedef
union
ii_ibcr_u
{
u
int64_t
ii_ibcr_regval
;
u
64
ii_ibcr_regval
;
struct
{
u
int64_t
i_count
:
4
;
u
int64_t
i_rsvd_1
:
4
;
u
int64_t
i_soft_reset
:
1
;
u
int64_t
i_rsvd
:
55
;
u
64
i_count
:
4
;
u
64
i_rsvd_1
:
4
;
u
64
i_soft_reset
:
1
;
u
64
i_rsvd
:
55
;
}
ii_ibcr_fld_s
;
}
ii_ibcr_u_t
;
...
...
@@ -1399,22 +1399,22 @@ typedef union ii_ibcr_u {
************************************************************************/
typedef
union
ii_ixsm_u
{
u
int64_t
ii_ixsm_regval
;
struct
{
u
int64_t
i_byte_en
:
32
;
u
int64_t
i_reserved
:
1
;
u
int64_t
i_tag
:
3
;
u
int64_t
i_alt_pactyp
:
4
;
u
int64_t
i_bo
:
1
;
u
int64_t
i_error
:
1
;
u
int64_t
i_vbpm
:
1
;
u
int64_t
i_gbr
:
1
;
u
int64_t
i_ds
:
2
;
u
int64_t
i_ct
:
1
;
u
int64_t
i_tnum
:
5
;
u
int64_t
i_pactyp
:
4
;
u
int64_t
i_sidn
:
4
;
u
int64_t
i_didn
:
4
;
u
64
ii_ixsm_regval
;
struct
{
u
64
i_byte_en
:
32
;
u
64
i_reserved
:
1
;
u
64
i_tag
:
3
;
u
64
i_alt_pactyp
:
4
;
u
64
i_bo
:
1
;
u
64
i_error
:
1
;
u
64
i_vbpm
:
1
;
u
64
i_gbr
:
1
;
u
64
i_ds
:
2
;
u
64
i_ct
:
1
;
u
64
i_tnum
:
5
;
u
64
i_pactyp
:
4
;
u
64
i_sidn
:
4
;
u
64
i_didn
:
4
;
}
ii_ixsm_fld_s
;
}
ii_ixsm_u_t
;
...
...
@@ -1426,11 +1426,11 @@ typedef union ii_ixsm_u {
************************************************************************/
typedef
union
ii_ixss_u
{
u
int64_t
ii_ixss_regval
;
u
64
ii_ixss_regval
;
struct
{
u
int64_t
i_sideband
:
8
;
u
int64_t
i_rsvd
:
55
;
u
int64_t
i_valid
:
1
;
u
64
i_sideband
:
8
;
u
64
i_rsvd
:
55
;
u
64
i_valid
:
1
;
}
ii_ixss_fld_s
;
}
ii_ixss_u_t
;
...
...
@@ -1447,17 +1447,17 @@ typedef union ii_ixss_u {
************************************************************************/
typedef
union
ii_ilct_u
{
u
int64_t
ii_ilct_regval
;
struct
{
u
int64_t
i_test_seed
:
20
;
u
int64_t
i_test_mask
:
8
;
u
int64_t
i_test_data
:
20
;
u
int64_t
i_test_valid
:
1
;
u
int64_t
i_test_cberr
:
1
;
u
int64_t
i_test_flit
:
3
;
u
int64_t
i_test_clear
:
1
;
u
int64_t
i_test_err_capture
:
1
;
u
int64_t
i_rsvd
:
9
;
u
64
ii_ilct_regval
;
struct
{
u
64
i_test_seed
:
20
;
u
64
i_test_mask
:
8
;
u
64
i_test_data
:
20
;
u
64
i_test_valid
:
1
;
u
64
i_test_cberr
:
1
;
u
64
i_test_flit
:
3
;
u
64
i_test_clear
:
1
;
u
64
i_test_err_capture
:
1
;
u
64
i_rsvd
:
9
;
}
ii_ilct_fld_s
;
}
ii_ilct_u_t
;
...
...
@@ -1482,20 +1482,20 @@ typedef union ii_ilct_u {
************************************************************************/
typedef
union
ii_iieph1_u
{
u
int64_t
ii_iieph1_regval
;
struct
{
u
int64_t
i_command
:
7
;
u
int64_t
i_rsvd_5
:
1
;
u
int64_t
i_suppl
:
14
;
u
int64_t
i_rsvd_4
:
1
;
u
int64_t
i_source
:
14
;
u
int64_t
i_rsvd_3
:
1
;
u
int64_t
i_err_type
:
4
;
u
int64_t
i_rsvd_2
:
4
;
u
int64_t
i_overrun
:
1
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_valid
:
1
;
u
int64_t
i_rsvd
:
13
;
u
64
ii_iieph1_regval
;
struct
{
u
64
i_command
:
7
;
u
64
i_rsvd_5
:
1
;
u
64
i_suppl
:
14
;
u
64
i_rsvd_4
:
1
;
u
64
i_source
:
14
;
u
64
i_rsvd_3
:
1
;
u
64
i_err_type
:
4
;
u
64
i_rsvd_2
:
4
;
u
64
i_overrun
:
1
;
u
64
i_rsvd_1
:
3
;
u
64
i_valid
:
1
;
u
64
i_rsvd
:
13
;
}
ii_iieph1_fld_s
;
}
ii_iieph1_u_t
;
...
...
@@ -1511,13 +1511,13 @@ typedef union ii_iieph1_u {
************************************************************************/
typedef
union
ii_iieph2_u
{
u
int64_t
ii_iieph2_regval
;
u
64
ii_iieph2_regval
;
struct
{
u
int64_t
i_rsvd_0
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_rsvd_1
:
10
;
u
int64_t
i_tail
:
1
;
u
int64_t
i_rsvd
:
3
;
u
64
i_rsvd_0
:
3
;
u
64
i_address
:
47
;
u
64
i_rsvd_1
:
10
;
u
64
i_tail
:
1
;
u
64
i_rsvd
:
3
;
}
ii_iieph2_fld_s
;
}
ii_iieph2_u_t
;
...
...
@@ -1532,9 +1532,9 @@ typedef union ii_iieph2_u {
************************************************************************/
typedef
union
ii_islapr_u
{
u
int64_t
ii_islapr_regval
;
u
64
ii_islapr_regval
;
struct
{
u
int64_t
i_region
:
64
;
u
64
i_region
:
64
;
}
ii_islapr_fld_s
;
}
ii_islapr_u_t
;
...
...
@@ -1547,10 +1547,10 @@ typedef union ii_islapr_u {
************************************************************************/
typedef
union
ii_islapo_u
{
u
int64_t
ii_islapo_regval
;
u
64
ii_islapo_regval
;
struct
{
u
int64_t
i_io_sbx_ovrride
:
56
;
u
int64_t
i_rsvd
:
8
;
u
64
i_io_sbx_ovrride
:
56
;
u
64
i_rsvd
:
8
;
}
ii_islapo_fld_s
;
}
ii_islapo_u_t
;
...
...
@@ -1563,14 +1563,14 @@ typedef union ii_islapo_u {
************************************************************************/
typedef
union
ii_iwi_u
{
u
int64_t
ii_iwi_regval
;
struct
{
u
int64_t
i_prescale
:
24
;
u
int64_t
i_rsvd
:
8
;
u
int64_t
i_timeout
:
8
;
u
int64_t
i_rsvd1
:
8
;
u
int64_t
i_intrpt_retry_period
:
8
;
u
int64_t
i_rsvd2
:
8
;
u
64
ii_iwi_regval
;
struct
{
u
64
i_prescale
:
24
;
u
64
i_rsvd
:
8
;
u
64
i_timeout
:
8
;
u
64
i_rsvd1
:
8
;
u
64
i_intrpt_retry_period
:
8
;
u
64
i_rsvd2
:
8
;
}
ii_iwi_fld_s
;
}
ii_iwi_u_t
;
...
...
@@ -1582,26 +1582,26 @@ typedef union ii_iwi_u {
************************************************************************/
typedef
union
ii_iwel_u
{
u
int64_t
ii_iwel_regval
;
struct
{
u
int64_t
i_intr_timed_out
:
1
;
u
int64_t
i_rsvd
:
7
;
u
int64_t
i_cam_overflow
:
1
;
u
int64_t
i_cam_read_miss
:
1
;
u
int64_t
i_rsvd1
:
2
;
u
int64_t
i_ioq_rep_underflow
:
1
;
u
int64_t
i_ioq_req_underflow
:
1
;
u
int64_t
i_ioq_rep_overflow
:
1
;
u
int64_t
i_ioq_req_overflow
:
1
;
u
int64_t
i_iiq_rep_overflow
:
1
;
u
int64_t
i_iiq_req_overflow
:
1
;
u
int64_t
i_rsvd2
:
6
;
u
int64_t
i_ii_xn_rep_cred_over_under
:
1
;
u
int64_t
i_ii_xn_req_cred_over_under
:
1
;
u
int64_t
i_rsvd3
:
6
;
u
int64_t
i_ii_xn_invalid_cmd
:
1
;
u
int64_t
i_xn_ii_invalid_cmd
:
1
;
u
int64_t
i_rsvd4
:
30
;
u
64
ii_iwel_regval
;
struct
{
u
64
i_intr_timed_out
:
1
;
u
64
i_rsvd
:
7
;
u
64
i_cam_overflow
:
1
;
u
64
i_cam_read_miss
:
1
;
u
64
i_rsvd1
:
2
;
u
64
i_ioq_rep_underflow
:
1
;
u
64
i_ioq_req_underflow
:
1
;
u
64
i_ioq_rep_overflow
:
1
;
u
64
i_ioq_req_overflow
:
1
;
u
64
i_iiq_rep_overflow
:
1
;
u
64
i_iiq_req_overflow
:
1
;
u
64
i_rsvd2
:
6
;
u
64
i_ii_xn_rep_cred_over_under
:
1
;
u
64
i_ii_xn_req_cred_over_under
:
1
;
u
64
i_rsvd3
:
6
;
u
64
i_ii_xn_invalid_cmd
:
1
;
u
64
i_xn_ii_invalid_cmd
:
1
;
u
64
i_rsvd4
:
30
;
}
ii_iwel_fld_s
;
}
ii_iwel_u_t
;
...
...
@@ -1612,22 +1612,22 @@ typedef union ii_iwel_u {
************************************************************************/
typedef
union
ii_iwc_u
{
u
int64_t
ii_iwc_regval
;
struct
{
u
int64_t
i_dma_byte_swap
:
1
;
u
int64_t
i_rsvd
:
3
;
u
int64_t
i_cam_read_lines_reset
:
1
;
u
int64_t
i_rsvd1
:
3
;
u
int64_t
i_ii_xn_cred_over_under_log
:
1
;
u
int64_t
i_rsvd2
:
19
;
u
int64_t
i_xn_rep_iq_depth
:
5
;
u
int64_t
i_rsvd3
:
3
;
u
int64_t
i_xn_req_iq_depth
:
5
;
u
int64_t
i_rsvd4
:
3
;
u
int64_t
i_iiq_depth
:
6
;
u
int64_t
i_rsvd5
:
12
;
u
int64_t
i_force_rep_cred
:
1
;
u
int64_t
i_force_req_cred
:
1
;
u
64
ii_iwc_regval
;
struct
{
u
64
i_dma_byte_swap
:
1
;
u
64
i_rsvd
:
3
;
u
64
i_cam_read_lines_reset
:
1
;
u
64
i_rsvd1
:
3
;
u
64
i_ii_xn_cred_over_under_log
:
1
;
u
64
i_rsvd2
:
19
;
u
64
i_xn_rep_iq_depth
:
5
;
u
64
i_rsvd3
:
3
;
u
64
i_xn_req_iq_depth
:
5
;
u
64
i_rsvd4
:
3
;
u
64
i_iiq_depth
:
6
;
u
64
i_rsvd5
:
12
;
u
64
i_force_rep_cred
:
1
;
u
64
i_force_req_cred
:
1
;
}
ii_iwc_fld_s
;
}
ii_iwc_u_t
;
...
...
@@ -1638,12 +1638,12 @@ typedef union ii_iwc_u {
************************************************************************/
typedef
union
ii_iws_u
{
u
int64_t
ii_iws_regval
;
u
64
ii_iws_regval
;
struct
{
u
int64_t
i_xn_rep_iq_credits
:
5
;
u
int64_t
i_rsvd
:
3
;
u
int64_t
i_xn_req_iq_credits
:
5
;
u
int64_t
i_rsvd1
:
51
;
u
64
i_xn_rep_iq_credits
:
5
;
u
64
i_rsvd
:
3
;
u
64
i_xn_req_iq_credits
:
5
;
u
64
i_rsvd1
:
51
;
}
ii_iws_fld_s
;
}
ii_iws_u_t
;
...
...
@@ -1654,26 +1654,26 @@ typedef union ii_iws_u {
************************************************************************/
typedef
union
ii_iweim_u
{
u
int64_t
ii_iweim_regval
;
struct
{
u
int64_t
i_intr_timed_out
:
1
;
u
int64_t
i_rsvd
:
7
;
u
int64_t
i_cam_overflow
:
1
;
u
int64_t
i_cam_read_miss
:
1
;
u
int64_t
i_rsvd1
:
2
;
u
int64_t
i_ioq_rep_underflow
:
1
;
u
int64_t
i_ioq_req_underflow
:
1
;
u
int64_t
i_ioq_rep_overflow
:
1
;
u
int64_t
i_ioq_req_overflow
:
1
;
u
int64_t
i_iiq_rep_overflow
:
1
;
u
int64_t
i_iiq_req_overflow
:
1
;
u
int64_t
i_rsvd2
:
6
;
u
int64_t
i_ii_xn_rep_cred_overflow
:
1
;
u
int64_t
i_ii_xn_req_cred_overflow
:
1
;
u
int64_t
i_rsvd3
:
6
;
u
int64_t
i_ii_xn_invalid_cmd
:
1
;
u
int64_t
i_xn_ii_invalid_cmd
:
1
;
u
int64_t
i_rsvd4
:
30
;
u
64
ii_iweim_regval
;
struct
{
u
64
i_intr_timed_out
:
1
;
u
64
i_rsvd
:
7
;
u
64
i_cam_overflow
:
1
;
u
64
i_cam_read_miss
:
1
;
u
64
i_rsvd1
:
2
;
u
64
i_ioq_rep_underflow
:
1
;
u
64
i_ioq_req_underflow
:
1
;
u
64
i_ioq_rep_overflow
:
1
;
u
64
i_ioq_req_overflow
:
1
;
u
64
i_iiq_rep_overflow
:
1
;
u
64
i_iiq_req_overflow
:
1
;
u
64
i_rsvd2
:
6
;
u
64
i_ii_xn_rep_cred_overflow
:
1
;
u
64
i_ii_xn_req_cred_overflow
:
1
;
u
64
i_rsvd3
:
6
;
u
64
i_ii_xn_invalid_cmd
:
1
;
u
64
i_xn_ii_invalid_cmd
:
1
;
u
64
i_rsvd4
:
30
;
}
ii_iweim_fld_s
;
}
ii_iweim_u_t
;
...
...
@@ -1688,13 +1688,13 @@ typedef union ii_iweim_u {
************************************************************************/
typedef
union
ii_ipca_u
{
u
int64_t
ii_ipca_regval
;
u
64
ii_ipca_regval
;
struct
{
u
int64_t
i_wid
:
4
;
u
int64_t
i_adjust
:
1
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_field
:
2
;
u
int64_t
i_rsvd
:
54
;
u
64
i_wid
:
4
;
u
64
i_adjust
:
1
;
u
64
i_rsvd_1
:
3
;
u
64
i_field
:
2
;
u
64
i_rsvd
:
54
;
}
ii_ipca_fld_s
;
}
ii_ipca_u_t
;
...
...
@@ -1709,12 +1709,12 @@ typedef union ii_ipca_u {
************************************************************************/
typedef
union
ii_iprte0a_u
{
u
int64_t
ii_iprte0a_regval
;
u
64
ii_iprte0a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprte0a_fld_s
;
}
ii_iprte0a_u_t
;
...
...
@@ -1729,12 +1729,12 @@ typedef union ii_iprte0a_u {
************************************************************************/
typedef
union
ii_iprte1a_u
{
u
int64_t
ii_iprte1a_regval
;
u
64
ii_iprte1a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprte1a_fld_s
;
}
ii_iprte1a_u_t
;
...
...
@@ -1749,12 +1749,12 @@ typedef union ii_iprte1a_u {
************************************************************************/
typedef
union
ii_iprte2a_u
{
u
int64_t
ii_iprte2a_regval
;
u
64
ii_iprte2a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprte2a_fld_s
;
}
ii_iprte2a_u_t
;
...
...
@@ -1769,12 +1769,12 @@ typedef union ii_iprte2a_u {
************************************************************************/
typedef
union
ii_iprte3a_u
{
u
int64_t
ii_iprte3a_regval
;
u
64
ii_iprte3a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprte3a_fld_s
;
}
ii_iprte3a_u_t
;
...
...
@@ -1789,12 +1789,12 @@ typedef union ii_iprte3a_u {
************************************************************************/
typedef
union
ii_iprte4a_u
{
u
int64_t
ii_iprte4a_regval
;
u
64
ii_iprte4a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprte4a_fld_s
;
}
ii_iprte4a_u_t
;
...
...
@@ -1809,12 +1809,12 @@ typedef union ii_iprte4a_u {
************************************************************************/
typedef
union
ii_iprte5a_u
{
u
int64_t
ii_iprte5a_regval
;
u
64
ii_iprte5a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprte5a_fld_s
;
}
ii_iprte5a_u_t
;
...
...
@@ -1829,12 +1829,12 @@ typedef union ii_iprte5a_u {
************************************************************************/
typedef
union
ii_iprte6a_u
{
u
int64_t
ii_iprte6a_regval
;
u
64
ii_iprte6a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprte6a_fld_s
;
}
ii_iprte6a_u_t
;
...
...
@@ -1849,12 +1849,12 @@ typedef union ii_iprte6a_u {
************************************************************************/
typedef
union
ii_iprte7a_u
{
u
int64_t
ii_iprte7a_regval
;
u
64
ii_iprte7a_regval
;
struct
{
u
int64_t
i_rsvd_1
:
54
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
i_rsvd_1
:
54
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
ii_iprtea7_fld_s
;
}
ii_iprte7a_u_t
;
...
...
@@ -1869,12 +1869,12 @@ typedef union ii_iprte7a_u {
************************************************************************/
typedef
union
ii_iprte0b_u
{
u
int64_t
ii_iprte0b_regval
;
u
64
ii_iprte0b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte0b_fld_s
;
}
ii_iprte0b_u_t
;
...
...
@@ -1889,12 +1889,12 @@ typedef union ii_iprte0b_u {
************************************************************************/
typedef
union
ii_iprte1b_u
{
u
int64_t
ii_iprte1b_regval
;
u
64
ii_iprte1b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte1b_fld_s
;
}
ii_iprte1b_u_t
;
...
...
@@ -1909,12 +1909,12 @@ typedef union ii_iprte1b_u {
************************************************************************/
typedef
union
ii_iprte2b_u
{
u
int64_t
ii_iprte2b_regval
;
u
64
ii_iprte2b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte2b_fld_s
;
}
ii_iprte2b_u_t
;
...
...
@@ -1929,12 +1929,12 @@ typedef union ii_iprte2b_u {
************************************************************************/
typedef
union
ii_iprte3b_u
{
u
int64_t
ii_iprte3b_regval
;
u
64
ii_iprte3b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte3b_fld_s
;
}
ii_iprte3b_u_t
;
...
...
@@ -1949,12 +1949,12 @@ typedef union ii_iprte3b_u {
************************************************************************/
typedef
union
ii_iprte4b_u
{
u
int64_t
ii_iprte4b_regval
;
u
64
ii_iprte4b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte4b_fld_s
;
}
ii_iprte4b_u_t
;
...
...
@@ -1969,12 +1969,12 @@ typedef union ii_iprte4b_u {
************************************************************************/
typedef
union
ii_iprte5b_u
{
u
int64_t
ii_iprte5b_regval
;
u
64
ii_iprte5b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte5b_fld_s
;
}
ii_iprte5b_u_t
;
...
...
@@ -1989,12 +1989,12 @@ typedef union ii_iprte5b_u {
************************************************************************/
typedef
union
ii_iprte6b_u
{
u
int64_t
ii_iprte6b_regval
;
u
64
ii_iprte6b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte6b_fld_s
;
}
ii_iprte6b_u_t
;
...
...
@@ -2010,12 +2010,12 @@ typedef union ii_iprte6b_u {
************************************************************************/
typedef
union
ii_iprte7b_u
{
u
int64_t
ii_iprte7b_regval
;
u
64
ii_iprte7b_regval
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_address
:
47
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
11
;
u
64
i_rsvd_1
:
3
;
u
64
i_address
:
47
;
u
64
i_init
:
3
;
u
64
i_source
:
11
;
}
ii_iprte7b_fld_s
;
}
ii_iprte7b_u_t
;
...
...
@@ -2038,13 +2038,13 @@ typedef union ii_iprte7b_u {
************************************************************************/
typedef
union
ii_ipdr_u
{
u
int64_t
ii_ipdr_regval
;
u
64
ii_ipdr_regval
;
struct
{
u
int64_t
i_te
:
3
;
u
int64_t
i_rsvd_1
:
1
;
u
int64_t
i_pnd
:
1
;
u
int64_t
i_init_rpcnt
:
1
;
u
int64_t
i_rsvd
:
58
;
u
64
i_te
:
3
;
u
64
i_rsvd_1
:
1
;
u
64
i_pnd
:
1
;
u
64
i_init_rpcnt
:
1
;
u
64
i_rsvd
:
58
;
}
ii_ipdr_fld_s
;
}
ii_ipdr_u_t
;
...
...
@@ -2066,11 +2066,11 @@ typedef union ii_ipdr_u {
************************************************************************/
typedef
union
ii_icdr_u
{
u
int64_t
ii_icdr_regval
;
u
64
ii_icdr_regval
;
struct
{
u
int64_t
i_crb_num
:
4
;
u
int64_t
i_pnd
:
1
;
u
int64_t
i_rsvd
:
59
;
u
64
i_crb_num
:
4
;
u
64
i_pnd
:
1
;
u
64
i_rsvd
:
59
;
}
ii_icdr_fld_s
;
}
ii_icdr_u_t
;
...
...
@@ -2092,13 +2092,13 @@ typedef union ii_icdr_u {
************************************************************************/
typedef
union
ii_ifdr_u
{
u
int64_t
ii_ifdr_regval
;
u
64
ii_ifdr_regval
;
struct
{
u
int64_t
i_ioq_max_rq
:
7
;
u
int64_t
i_set_ioq_rq
:
1
;
u
int64_t
i_ioq_max_rp
:
7
;
u
int64_t
i_set_ioq_rp
:
1
;
u
int64_t
i_rsvd
:
48
;
u
64
i_ioq_max_rq
:
7
;
u
64
i_set_ioq_rq
:
1
;
u
64
i_ioq_max_rp
:
7
;
u
64
i_set_ioq_rp
:
1
;
u
64
i_rsvd
:
48
;
}
ii_ifdr_fld_s
;
}
ii_ifdr_u_t
;
...
...
@@ -2114,12 +2114,12 @@ typedef union ii_ifdr_u {
************************************************************************/
typedef
union
ii_iiap_u
{
u
int64_t
ii_iiap_regval
;
u
64
ii_iiap_regval
;
struct
{
u
int64_t
i_rq_mls
:
6
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_rp_mls
:
6
;
u
int64_t
i_rsvd
:
50
;
u
64
i_rq_mls
:
6
;
u
64
i_rsvd_1
:
2
;
u
64
i_rp_mls
:
6
;
u
64
i_rsvd
:
50
;
}
ii_iiap_fld_s
;
}
ii_iiap_u_t
;
...
...
@@ -2133,22 +2133,22 @@ typedef union ii_iiap_u {
************************************************************************/
typedef
union
ii_icmr_u
{
u
int64_t
ii_icmr_regval
;
struct
{
u
int64_t
i_sp_msg
:
1
;
u
int64_t
i_rd_hdr
:
1
;
u
int64_t
i_rsvd_4
:
2
;
u
int64_t
i_c_cnt
:
4
;
u
int64_t
i_rsvd_3
:
4
;
u
int64_t
i_clr_rqpd
:
1
;
u
int64_t
i_clr_rppd
:
1
;
u
int64_t
i_rsvd_2
:
2
;
u
int64_t
i_fc_cnt
:
4
;
u
int64_t
i_crb_vld
:
15
;
u
int64_t
i_crb_mark
:
15
;
u
int64_t
i_rsvd_1
:
2
;
u
int64_t
i_precise
:
1
;
u
int64_t
i_rsvd
:
11
;
u
64
ii_icmr_regval
;
struct
{
u
64
i_sp_msg
:
1
;
u
64
i_rd_hdr
:
1
;
u
64
i_rsvd_4
:
2
;
u
64
i_c_cnt
:
4
;
u
64
i_rsvd_3
:
4
;
u
64
i_clr_rqpd
:
1
;
u
64
i_clr_rppd
:
1
;
u
64
i_rsvd_2
:
2
;
u
64
i_fc_cnt
:
4
;
u
64
i_crb_vld
:
15
;
u
64
i_crb_mark
:
15
;
u
64
i_rsvd_1
:
2
;
u
64
i_precise
:
1
;
u
64
i_rsvd
:
11
;
}
ii_icmr_fld_s
;
}
ii_icmr_u_t
;
...
...
@@ -2161,13 +2161,13 @@ typedef union ii_icmr_u {
************************************************************************/
typedef
union
ii_iccr_u
{
u
int64_t
ii_iccr_regval
;
u
64
ii_iccr_regval
;
struct
{
u
int64_t
i_crb_num
:
4
;
u
int64_t
i_rsvd_1
:
4
;
u
int64_t
i_cmd
:
8
;
u
int64_t
i_pending
:
1
;
u
int64_t
i_rsvd
:
47
;
u
64
i_crb_num
:
4
;
u
64
i_rsvd_1
:
4
;
u
64
i_cmd
:
8
;
u
64
i_pending
:
1
;
u
64
i_rsvd
:
47
;
}
ii_iccr_fld_s
;
}
ii_iccr_u_t
;
...
...
@@ -2178,10 +2178,10 @@ typedef union ii_iccr_u {
************************************************************************/
typedef
union
ii_icto_u
{
u
int64_t
ii_icto_regval
;
u
64
ii_icto_regval
;
struct
{
u
int64_t
i_timeout
:
8
;
u
int64_t
i_rsvd
:
56
;
u
64
i_timeout
:
8
;
u
64
i_rsvd
:
56
;
}
ii_icto_fld_s
;
}
ii_icto_u_t
;
...
...
@@ -2197,10 +2197,10 @@ typedef union ii_icto_u {
************************************************************************/
typedef
union
ii_ictp_u
{
u
int64_t
ii_ictp_regval
;
u
64
ii_ictp_regval
;
struct
{
u
int64_t
i_prescale
:
24
;
u
int64_t
i_rsvd
:
40
;
u
64
i_prescale
:
24
;
u
64
i_rsvd
:
40
;
}
ii_ictp_fld_s
;
}
ii_ictp_u_t
;
...
...
@@ -2228,14 +2228,14 @@ typedef union ii_ictp_u {
************************************************************************/
typedef
union
ii_icrb0_a_u
{
u
int64_t
ii_icrb0_a_regval
;
struct
{
u
int64_t
ia_iow
:
1
;
u
int64_t
ia_vld
:
1
;
u
int64_t
ia_addr
:
47
;
u
int64_t
ia_tnum
:
5
;
u
int64_t
ia_sidn
:
4
;
u
int64_t
ia_rsvd
:
6
;
u
64
ii_icrb0_a_regval
;
struct
{
u
64
ia_iow
:
1
;
u
64
ia_vld
:
1
;
u
64
ia_addr
:
47
;
u
64
ia_tnum
:
5
;
u
64
ia_sidn
:
4
;
u
64
ia_rsvd
:
6
;
}
ii_icrb0_a_fld_s
;
}
ii_icrb0_a_u_t
;
...
...
@@ -2249,30 +2249,30 @@ typedef union ii_icrb0_a_u {
************************************************************************/
typedef
union
ii_icrb0_b_u
{
u
int64_t
ii_icrb0_b_regval
;
struct
{
u
int64_t
ib_xt_err
:
1
;
u
int64_t
ib_mark
:
1
;
u
int64_t
ib_ln_uce
:
1
;
u
int64_t
ib_errcode
:
3
;
u
int64_t
ib_error
:
1
;
u
int64_t
ib_stall__bte_1
:
1
;
u
int64_t
ib_stall__bte_0
:
1
;
u
int64_t
ib_stall__intr
:
1
;
u
int64_t
ib_stall_ib
:
1
;
u
int64_t
ib_intvn
:
1
;
u
int64_t
ib_wb
:
1
;
u
int64_t
ib_hold
:
1
;
u
int64_t
ib_ack
:
1
;
u
int64_t
ib_resp
:
1
;
u
int64_t
ib_ack_cnt
:
11
;
u
int64_t
ib_rsvd
:
7
;
u
int64_t
ib_exc
:
5
;
u
int64_t
ib_init
:
3
;
u
int64_t
ib_imsg
:
8
;
u
int64_t
ib_imsgtype
:
2
;
u
int64_t
ib_use_old
:
1
;
u
int64_t
ib_rsvd_1
:
11
;
u
64
ii_icrb0_b_regval
;
struct
{
u
64
ib_xt_err
:
1
;
u
64
ib_mark
:
1
;
u
64
ib_ln_uce
:
1
;
u
64
ib_errcode
:
3
;
u
64
ib_error
:
1
;
u
64
ib_stall__bte_1
:
1
;
u
64
ib_stall__bte_0
:
1
;
u
64
ib_stall__intr
:
1
;
u
64
ib_stall_ib
:
1
;
u
64
ib_intvn
:
1
;
u
64
ib_wb
:
1
;
u
64
ib_hold
:
1
;
u
64
ib_ack
:
1
;
u
64
ib_resp
:
1
;
u
64
ib_ack_cnt
:
11
;
u
64
ib_rsvd
:
7
;
u
64
ib_exc
:
5
;
u
64
ib_init
:
3
;
u
64
ib_imsg
:
8
;
u
64
ib_imsgtype
:
2
;
u
64
ib_use_old
:
1
;
u
64
ib_rsvd_1
:
11
;
}
ii_icrb0_b_fld_s
;
}
ii_icrb0_b_u_t
;
...
...
@@ -2286,17 +2286,17 @@ typedef union ii_icrb0_b_u {
************************************************************************/
typedef
union
ii_icrb0_c_u
{
u
int64_t
ii_icrb0_c_regval
;
struct
{
u
int64_t
ic_source
:
15
;
u
int64_t
ic_size
:
2
;
u
int64_t
ic_ct
:
1
;
u
int64_t
ic_bte_num
:
1
;
u
int64_t
ic_gbr
:
1
;
u
int64_t
ic_resprqd
:
1
;
u
int64_t
ic_bo
:
1
;
u
int64_t
ic_suppl
:
15
;
u
int64_t
ic_rsvd
:
27
;
u
64
ii_icrb0_c_regval
;
struct
{
u
64
ic_source
:
15
;
u
64
ic_size
:
2
;
u
64
ic_ct
:
1
;
u
64
ic_bte_num
:
1
;
u
64
ic_gbr
:
1
;
u
64
ic_resprqd
:
1
;
u
64
ic_bo
:
1
;
u
64
ic_suppl
:
15
;
u
64
ic_rsvd
:
27
;
}
ii_icrb0_c_fld_s
;
}
ii_icrb0_c_u_t
;
...
...
@@ -2310,14 +2310,14 @@ typedef union ii_icrb0_c_u {
************************************************************************/
typedef
union
ii_icrb0_d_u
{
u
int64_t
ii_icrb0_d_regval
;
struct
{
u
int64_t
id_pa_be
:
43
;
u
int64_t
id_bte_op
:
1
;
u
int64_t
id_pr_psc
:
4
;
u
int64_t
id_pr_cnt
:
4
;
u
int64_t
id_sleep
:
1
;
u
int64_t
id_rsvd
:
11
;
u
64
ii_icrb0_d_regval
;
struct
{
u
64
id_pa_be
:
43
;
u
64
id_bte_op
:
1
;
u
64
id_pr_psc
:
4
;
u
64
id_pr_cnt
:
4
;
u
64
id_sleep
:
1
;
u
64
id_rsvd
:
11
;
}
ii_icrb0_d_fld_s
;
}
ii_icrb0_d_u_t
;
...
...
@@ -2331,14 +2331,14 @@ typedef union ii_icrb0_d_u {
************************************************************************/
typedef
union
ii_icrb0_e_u
{
u
int64_t
ii_icrb0_e_regval
;
struct
{
u
int64_t
ie_timeout
:
8
;
u
int64_t
ie_context
:
15
;
u
int64_t
ie_rsvd
:
1
;
u
int64_t
ie_tvld
:
1
;
u
int64_t
ie_cvld
:
1
;
u
int64_t
ie_rsvd_0
:
38
;
u
64
ii_icrb0_e_regval
;
struct
{
u
64
ie_timeout
:
8
;
u
64
ie_context
:
15
;
u
64
ie_rsvd
:
1
;
u
64
ie_tvld
:
1
;
u
64
ie_cvld
:
1
;
u
64
ie_rsvd_0
:
38
;
}
ii_icrb0_e_fld_s
;
}
ii_icrb0_e_u_t
;
...
...
@@ -2351,12 +2351,12 @@ typedef union ii_icrb0_e_u {
************************************************************************/
typedef
union
ii_icsml_u
{
u
int64_t
ii_icsml_regval
;
u
64
ii_icsml_regval
;
struct
{
u
int64_t
i_tt_addr
:
47
;
u
int64_t
i_newsuppl_ex
:
14
;
u
int64_t
i_reserved
:
2
;
u
int64_t
i_overflow
:
1
;
u
64
i_tt_addr
:
47
;
u
64
i_newsuppl_ex
:
14
;
u
64
i_reserved
:
2
;
u
64
i_overflow
:
1
;
}
ii_icsml_fld_s
;
}
ii_icsml_u_t
;
...
...
@@ -2369,10 +2369,10 @@ typedef union ii_icsml_u {
************************************************************************/
typedef
union
ii_icsmm_u
{
u
int64_t
ii_icsmm_regval
;
u
64
ii_icsmm_regval
;
struct
{
u
int64_t
i_tt_ack_cnt
:
11
;
u
int64_t
i_reserved
:
53
;
u
64
i_tt_ack_cnt
:
11
;
u
64
i_reserved
:
53
;
}
ii_icsmm_fld_s
;
}
ii_icsmm_u_t
;
...
...
@@ -2385,48 +2385,48 @@ typedef union ii_icsmm_u {
************************************************************************/
typedef
union
ii_icsmh_u
{
u
int64_t
ii_icsmh_regval
;
struct
{
u
int64_t
i_tt_vld
:
1
;
u
int64_t
i_xerr
:
1
;
u
int64_t
i_ft_cwact_o
:
1
;
u
int64_t
i_ft_wact_o
:
1
;
u
int64_t
i_ft_active_o
:
1
;
u
int64_t
i_sync
:
1
;
u
int64_t
i_mnusg
:
1
;
u
int64_t
i_mnusz
:
1
;
u
int64_t
i_plusz
:
1
;
u
int64_t
i_plusg
:
1
;
u
int64_t
i_tt_exc
:
5
;
u
int64_t
i_tt_wb
:
1
;
u
int64_t
i_tt_hold
:
1
;
u
int64_t
i_tt_ack
:
1
;
u
int64_t
i_tt_resp
:
1
;
u
int64_t
i_tt_intvn
:
1
;
u
int64_t
i_g_stall_bte1
:
1
;
u
int64_t
i_g_stall_bte0
:
1
;
u
int64_t
i_g_stall_il
:
1
;
u
int64_t
i_g_stall_ib
:
1
;
u
int64_t
i_tt_imsg
:
8
;
u
int64_t
i_tt_imsgtype
:
2
;
u
int64_t
i_tt_use_old
:
1
;
u
int64_t
i_tt_respreqd
:
1
;
u
int64_t
i_tt_bte_num
:
1
;
u
int64_t
i_cbn
:
1
;
u
int64_t
i_match
:
1
;
u
int64_t
i_rpcnt_lt_34
:
1
;
u
int64_t
i_rpcnt_ge_34
:
1
;
u
int64_t
i_rpcnt_lt_18
:
1
;
u
int64_t
i_rpcnt_ge_18
:
1
;
u
int64_t
i_rpcnt_lt_2
:
1
;
u
int64_t
i_rpcnt_ge_2
:
1
;
u
int64_t
i_rqcnt_lt_18
:
1
;
u
int64_t
i_rqcnt_ge_18
:
1
;
u
int64_t
i_rqcnt_lt_2
:
1
;
u
int64_t
i_rqcnt_ge_2
:
1
;
u
int64_t
i_tt_device
:
7
;
u
int64_t
i_tt_init
:
3
;
u
int64_t
i_reserved
:
5
;
u
64
ii_icsmh_regval
;
struct
{
u
64
i_tt_vld
:
1
;
u
64
i_xerr
:
1
;
u
64
i_ft_cwact_o
:
1
;
u
64
i_ft_wact_o
:
1
;
u
64
i_ft_active_o
:
1
;
u
64
i_sync
:
1
;
u
64
i_mnusg
:
1
;
u
64
i_mnusz
:
1
;
u
64
i_plusz
:
1
;
u
64
i_plusg
:
1
;
u
64
i_tt_exc
:
5
;
u
64
i_tt_wb
:
1
;
u
64
i_tt_hold
:
1
;
u
64
i_tt_ack
:
1
;
u
64
i_tt_resp
:
1
;
u
64
i_tt_intvn
:
1
;
u
64
i_g_stall_bte1
:
1
;
u
64
i_g_stall_bte0
:
1
;
u
64
i_g_stall_il
:
1
;
u
64
i_g_stall_ib
:
1
;
u
64
i_tt_imsg
:
8
;
u
64
i_tt_imsgtype
:
2
;
u
64
i_tt_use_old
:
1
;
u
64
i_tt_respreqd
:
1
;
u
64
i_tt_bte_num
:
1
;
u
64
i_cbn
:
1
;
u
64
i_match
:
1
;
u
64
i_rpcnt_lt_34
:
1
;
u
64
i_rpcnt_ge_34
:
1
;
u
64
i_rpcnt_lt_18
:
1
;
u
64
i_rpcnt_ge_18
:
1
;
u
64
i_rpcnt_lt_2
:
1
;
u
64
i_rpcnt_ge_2
:
1
;
u
64
i_rqcnt_lt_18
:
1
;
u
64
i_rqcnt_ge_18
:
1
;
u
64
i_rqcnt_lt_2
:
1
;
u
64
i_rqcnt_ge_2
:
1
;
u
64
i_tt_device
:
7
;
u
64
i_tt_init
:
3
;
u
64
i_reserved
:
5
;
}
ii_icsmh_fld_s
;
}
ii_icsmh_u_t
;
...
...
@@ -2439,14 +2439,14 @@ typedef union ii_icsmh_u {
************************************************************************/
typedef
union
ii_idbss_u
{
u
int64_t
ii_idbss_regval
;
struct
{
u
int64_t
i_iioclk_core_submenu
:
3
;
u
int64_t
i_rsvd
:
5
;
u
int64_t
i_fsbclk_wrapper_submenu
:
3
;
u
int64_t
i_rsvd_1
:
5
;
u
int64_t
i_iioclk_menu
:
5
;
u
int64_t
i_rsvd_2
:
43
;
u
64
ii_idbss_regval
;
struct
{
u
64
i_iioclk_core_submenu
:
3
;
u
64
i_rsvd
:
5
;
u
64
i_fsbclk_wrapper_submenu
:
3
;
u
64
i_rsvd_1
:
5
;
u
64
i_iioclk_menu
:
5
;
u
64
i_rsvd_2
:
43
;
}
ii_idbss_fld_s
;
}
ii_idbss_u_t
;
...
...
@@ -2466,13 +2466,13 @@ typedef union ii_idbss_u {
************************************************************************/
typedef
union
ii_ibls0_u
{
u
int64_t
ii_ibls0_regval
;
u
64
ii_ibls0_regval
;
struct
{
u
int64_t
i_length
:
16
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_busy
:
1
;
u
int64_t
i_rsvd
:
43
;
u
64
i_length
:
16
;
u
64
i_error
:
1
;
u
64
i_rsvd_1
:
3
;
u
64
i_busy
:
1
;
u
64
i_rsvd
:
43
;
}
ii_ibls0_fld_s
;
}
ii_ibls0_u_t
;
...
...
@@ -2487,11 +2487,11 @@ typedef union ii_ibls0_u {
************************************************************************/
typedef
union
ii_ibsa0_u
{
u
int64_t
ii_ibsa0_regval
;
u
64
ii_ibsa0_regval
;
struct
{
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_addr
:
42
;
u
int64_t
i_rsvd
:
15
;
u
64
i_rsvd_1
:
7
;
u
64
i_addr
:
42
;
u
64
i_rsvd
:
15
;
}
ii_ibsa0_fld_s
;
}
ii_ibsa0_u_t
;
...
...
@@ -2506,11 +2506,11 @@ typedef union ii_ibsa0_u {
************************************************************************/
typedef
union
ii_ibda0_u
{
u
int64_t
ii_ibda0_regval
;
u
64
ii_ibda0_regval
;
struct
{
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_addr
:
42
;
u
int64_t
i_rsvd
:
15
;
u
64
i_rsvd_1
:
7
;
u
64
i_addr
:
42
;
u
64
i_rsvd
:
15
;
}
ii_ibda0_fld_s
;
}
ii_ibda0_u_t
;
...
...
@@ -2527,14 +2527,14 @@ typedef union ii_ibda0_u {
************************************************************************/
typedef
union
ii_ibct0_u
{
u
int64_t
ii_ibct0_regval
;
struct
{
u
int64_t
i_zerofill
:
1
;
u
int64_t
i_rsvd_2
:
3
;
u
int64_t
i_notify
:
1
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_poison
:
1
;
u
int64_t
i_rsvd
:
55
;
u
64
ii_ibct0_regval
;
struct
{
u
64
i_zerofill
:
1
;
u
64
i_rsvd_2
:
3
;
u
64
i_notify
:
1
;
u
64
i_rsvd_1
:
3
;
u
64
i_poison
:
1
;
u
64
i_rsvd
:
55
;
}
ii_ibct0_fld_s
;
}
ii_ibct0_u_t
;
...
...
@@ -2546,11 +2546,11 @@ typedef union ii_ibct0_u {
************************************************************************/
typedef
union
ii_ibna0_u
{
u
int64_t
ii_ibna0_regval
;
u
64
ii_ibna0_regval
;
struct
{
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_addr
:
42
;
u
int64_t
i_rsvd
:
15
;
u
64
i_rsvd_1
:
7
;
u
64
i_addr
:
42
;
u
64
i_rsvd
:
15
;
}
ii_ibna0_fld_s
;
}
ii_ibna0_u_t
;
...
...
@@ -2563,13 +2563,13 @@ typedef union ii_ibna0_u {
************************************************************************/
typedef
union
ii_ibia0_u
{
u
int64_t
ii_ibia0_regval
;
u
64
ii_ibia0_regval
;
struct
{
u
int64_t
i_rsvd_2
:
1
;
u
int64_t
i_node_id
:
11
;
u
int64_t
i_rsvd_1
:
4
;
u
int64_t
i_level
:
7
;
u
int64_t
i_rsvd
:
41
;
u
64
i_rsvd_2
:
1
;
u
64
i_node_id
:
11
;
u
64
i_rsvd_1
:
4
;
u
64
i_level
:
7
;
u
64
i_rsvd
:
41
;
}
ii_ibia0_fld_s
;
}
ii_ibia0_u_t
;
...
...
@@ -2589,13 +2589,13 @@ typedef union ii_ibia0_u {
************************************************************************/
typedef
union
ii_ibls1_u
{
u
int64_t
ii_ibls1_regval
;
u
64
ii_ibls1_regval
;
struct
{
u
int64_t
i_length
:
16
;
u
int64_t
i_error
:
1
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_busy
:
1
;
u
int64_t
i_rsvd
:
43
;
u
64
i_length
:
16
;
u
64
i_error
:
1
;
u
64
i_rsvd_1
:
3
;
u
64
i_busy
:
1
;
u
64
i_rsvd
:
43
;
}
ii_ibls1_fld_s
;
}
ii_ibls1_u_t
;
...
...
@@ -2610,11 +2610,11 @@ typedef union ii_ibls1_u {
************************************************************************/
typedef
union
ii_ibsa1_u
{
u
int64_t
ii_ibsa1_regval
;
u
64
ii_ibsa1_regval
;
struct
{
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_addr
:
33
;
u
int64_t
i_rsvd
:
24
;
u
64
i_rsvd_1
:
7
;
u
64
i_addr
:
33
;
u
64
i_rsvd
:
24
;
}
ii_ibsa1_fld_s
;
}
ii_ibsa1_u_t
;
...
...
@@ -2629,11 +2629,11 @@ typedef union ii_ibsa1_u {
************************************************************************/
typedef
union
ii_ibda1_u
{
u
int64_t
ii_ibda1_regval
;
u
64
ii_ibda1_regval
;
struct
{
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_addr
:
33
;
u
int64_t
i_rsvd
:
24
;
u
64
i_rsvd_1
:
7
;
u
64
i_addr
:
33
;
u
64
i_rsvd
:
24
;
}
ii_ibda1_fld_s
;
}
ii_ibda1_u_t
;
...
...
@@ -2650,14 +2650,14 @@ typedef union ii_ibda1_u {
************************************************************************/
typedef
union
ii_ibct1_u
{
u
int64_t
ii_ibct1_regval
;
struct
{
u
int64_t
i_zerofill
:
1
;
u
int64_t
i_rsvd_2
:
3
;
u
int64_t
i_notify
:
1
;
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_poison
:
1
;
u
int64_t
i_rsvd
:
55
;
u
64
ii_ibct1_regval
;
struct
{
u
64
i_zerofill
:
1
;
u
64
i_rsvd_2
:
3
;
u
64
i_notify
:
1
;
u
64
i_rsvd_1
:
3
;
u
64
i_poison
:
1
;
u
64
i_rsvd
:
55
;
}
ii_ibct1_fld_s
;
}
ii_ibct1_u_t
;
...
...
@@ -2669,11 +2669,11 @@ typedef union ii_ibct1_u {
************************************************************************/
typedef
union
ii_ibna1_u
{
u
int64_t
ii_ibna1_regval
;
u
64
ii_ibna1_regval
;
struct
{
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_addr
:
33
;
u
int64_t
i_rsvd
:
24
;
u
64
i_rsvd_1
:
7
;
u
64
i_addr
:
33
;
u
64
i_rsvd
:
24
;
}
ii_ibna1_fld_s
;
}
ii_ibna1_u_t
;
...
...
@@ -2686,13 +2686,13 @@ typedef union ii_ibna1_u {
************************************************************************/
typedef
union
ii_ibia1_u
{
u
int64_t
ii_ibia1_regval
;
u
64
ii_ibia1_regval
;
struct
{
u
int64_t
i_pi_id
:
1
;
u
int64_t
i_node_id
:
8
;
u
int64_t
i_rsvd_1
:
7
;
u
int64_t
i_level
:
7
;
u
int64_t
i_rsvd
:
41
;
u
64
i_pi_id
:
1
;
u
64
i_node_id
:
8
;
u
64
i_rsvd_1
:
7
;
u
64
i_level
:
7
;
u
64
i_rsvd
:
41
;
}
ii_ibia1_fld_s
;
}
ii_ibia1_u_t
;
...
...
@@ -2712,12 +2712,12 @@ typedef union ii_ibia1_u {
************************************************************************/
typedef
union
ii_ipcr_u
{
u
int64_t
ii_ipcr_regval
;
u
64
ii_ipcr_regval
;
struct
{
u
int64_t
i_ippr0_c
:
4
;
u
int64_t
i_ippr1_c
:
4
;
u
int64_t
i_icct
:
8
;
u
int64_t
i_rsvd
:
48
;
u
64
i_ippr0_c
:
4
;
u
64
i_ippr1_c
:
4
;
u
64
i_icct
:
8
;
u
64
i_rsvd
:
48
;
}
ii_ipcr_fld_s
;
}
ii_ipcr_u_t
;
...
...
@@ -2728,10 +2728,10 @@ typedef union ii_ipcr_u {
************************************************************************/
typedef
union
ii_ippr_u
{
u
int64_t
ii_ippr_regval
;
u
64
ii_ippr_regval
;
struct
{
u
int64_t
i_ippr0
:
32
;
u
int64_t
i_ippr1
:
32
;
u
64
i_ippr0
:
32
;
u
64
i_ippr1
:
32
;
}
ii_ippr_fld_s
;
}
ii_ippr_u_t
;
...
...
@@ -3267,15 +3267,15 @@ typedef ii_icrb0_e_u_t icrbe_t;
#define IO_PERF_SETS 32
/* Bit for the widget in inbound access register */
#define IIO_IIWA_WIDGET(_w) ((u
int64_t
)(1ULL << _w))
#define IIO_IIWA_WIDGET(_w) ((u
64
)(1ULL << _w))
/* Bit for the widget in outbound access register */
#define IIO_IOWA_WIDGET(_w) ((u
int64_t
)(1ULL << _w))
#define IIO_IOWA_WIDGET(_w) ((u
64
)(1ULL << _w))
/* NOTE: The following define assumes that we are going to get
* widget numbers from 8 thru F and the device numbers within
* widget from 0 thru 7.
*/
#define IIO_IIDEM_WIDGETDEV_MASK(w, d) ((u
int64_t
)(1ULL << (8 * ((w) - 8) + (d))))
#define IIO_IIDEM_WIDGETDEV_MASK(w, d) ((u
64
)(1ULL << (8 * ((w) - 8) + (d))))
/* IO Interrupt Destination Register */
#define IIO_IIDSR_SENT_SHIFT 28
...
...
@@ -3302,9 +3302,9 @@ typedef ii_icrb0_e_u_t icrbe_t;
*/
typedef
union
hubii_wcr_u
{
u
int64_t
wcr_reg_value
;
u
64
wcr_reg_value
;
struct
{
u
int64_t
wcr_widget_id
:
4
,
/* LLP crossbar credit */
u
64
wcr_widget_id
:
4
,
/* LLP crossbar credit */
wcr_tag_mode:
1
,
/* Tag mode */
wcr_rsvd1:
8
,
/* Reserved */
wcr_xbar_crd:
3
,
/* LLP crossbar credit */
...
...
@@ -3324,9 +3324,9 @@ performance registers */
performed */
typedef
union
io_perf_sel
{
u
int64_t
perf_sel_reg
;
u
64
perf_sel_reg
;
struct
{
u
int64_t
perf_ippr0
:
4
,
perf_ippr1
:
4
,
perf_icct
:
8
,
perf_rsvd
:
48
;
u
64
perf_ippr0
:
4
,
perf_ippr1
:
4
,
perf_icct
:
8
,
perf_rsvd
:
48
;
}
perf_sel_bits
;
}
io_perf_sel_t
;
...
...
@@ -3334,24 +3334,24 @@ typedef union io_perf_sel {
hardware problems there is only one counter, not two. */
typedef
union
io_perf_cnt
{
u
int64_t
perf_cnt
;
u
64
perf_cnt
;
struct
{
u
int64_t
perf_cnt
:
20
,
perf_rsvd2
:
12
,
perf_rsvd1
:
32
;
u
64
perf_cnt
:
20
,
perf_rsvd2
:
12
,
perf_rsvd1
:
32
;
}
perf_cnt_bits
;
}
io_perf_cnt_t
;
typedef
union
iprte_a
{
u
int64_t
entry
;
struct
{
u
int64_t
i_rsvd_1
:
3
;
u
int64_t
i_addr
:
38
;
u
int64_t
i_init
:
3
;
u
int64_t
i_source
:
8
;
u
int64_t
i_rsvd
:
2
;
u
int64_t
i_widget
:
4
;
u
int64_t
i_to_cnt
:
5
;
u
int64_t
i_vld
:
1
;
u
64
entry
;
struct
{
u
64
i_rsvd_1
:
3
;
u
64
i_addr
:
38
;
u
64
i_init
:
3
;
u
64
i_source
:
8
;
u
64
i_rsvd
:
2
;
u
64
i_widget
:
4
;
u
64
i_to_cnt
:
5
;
u
64
i_vld
:
1
;
}
iprte_fields
;
}
iprte_a_t
;
...
...
include/asm-ia64/sn/sn_sal.h
View file @
a1bc5cdf
...
...
@@ -273,7 +273,7 @@ ia64_sn_console_putc(char ch)
ret_stuff
.
v0
=
0
;
ret_stuff
.
v1
=
0
;
ret_stuff
.
v2
=
0
;
SAL_CALL_NOLOCK
(
ret_stuff
,
SN_SAL_CONSOLE_PUTC
,
(
u
int64_t
)
ch
,
0
,
0
,
0
,
0
,
0
,
0
);
SAL_CALL_NOLOCK
(
ret_stuff
,
SN_SAL_CONSOLE_PUTC
,
(
u
64
)
ch
,
0
,
0
,
0
,
0
,
0
,
0
);
return
ret_stuff
.
status
;
}
...
...
@@ -290,7 +290,7 @@ ia64_sn_console_putb(const char *buf, int len)
ret_stuff
.
v0
=
0
;
ret_stuff
.
v1
=
0
;
ret_stuff
.
v2
=
0
;
SAL_CALL_NOLOCK
(
ret_stuff
,
SN_SAL_CONSOLE_PUTB
,
(
u
int64_t
)
buf
,
(
uint64_t
)
len
,
0
,
0
,
0
,
0
,
0
);
SAL_CALL_NOLOCK
(
ret_stuff
,
SN_SAL_CONSOLE_PUTB
,
(
u
64
)
buf
,
(
u64
)
len
,
0
,
0
,
0
,
0
,
0
);
if
(
ret_stuff
.
status
==
0
)
{
return
ret_stuff
.
v0
;
...
...
@@ -310,7 +310,7 @@ ia64_sn_plat_specific_err_print(int (*hook)(const char*, ...), char *rec)
ret_stuff
.
v0
=
0
;
ret_stuff
.
v1
=
0
;
ret_stuff
.
v2
=
0
;
SAL_CALL_REENTRANT
(
ret_stuff
,
SN_SAL_PRINT_ERROR
,
(
u
int64_t
)
hook
,
(
uint64_t
)
rec
,
0
,
0
,
0
,
0
,
0
);
SAL_CALL_REENTRANT
(
ret_stuff
,
SN_SAL_PRINT_ERROR
,
(
u
64
)
hook
,
(
u64
)
rec
,
0
,
0
,
0
,
0
,
0
);
return
ret_stuff
.
status
;
}
...
...
@@ -398,7 +398,7 @@ ia64_sn_console_intr_status(void)
* Enable an interrupt on the SAL console device.
*/
static
inline
void
ia64_sn_console_intr_enable
(
u
int64_t
intr
)
ia64_sn_console_intr_enable
(
u
64
intr
)
{
struct
ia64_sal_retval
ret_stuff
;
...
...
@@ -415,7 +415,7 @@ ia64_sn_console_intr_enable(uint64_t intr)
* Disable an interrupt on the SAL console device.
*/
static
inline
void
ia64_sn_console_intr_disable
(
u
int64_t
intr
)
ia64_sn_console_intr_disable
(
u
64
intr
)
{
struct
ia64_sal_retval
ret_stuff
;
...
...
@@ -441,7 +441,7 @@ ia64_sn_console_xmit_chars(char *buf, int len)
ret_stuff
.
v1
=
0
;
ret_stuff
.
v2
=
0
;
SAL_CALL_NOLOCK
(
ret_stuff
,
SN_SAL_CONSOLE_XMIT_CHARS
,
(
u
int64_t
)
buf
,
(
uint64_t
)
len
,
(
u
64
)
buf
,
(
u64
)
len
,
0
,
0
,
0
,
0
,
0
);
if
(
ret_stuff
.
status
==
0
)
{
...
...
include/asm-ia64/sn/tioca.h
View file @
a1bc5cdf
...
...
@@ -19,47 +19,47 @@
*/
struct
tioca
{
u
int64_t
ca_id
;
/* 0x000000 */
u
int64_t
ca_control1
;
/* 0x000008 */
u
int64_t
ca_control2
;
/* 0x000010 */
u
int64_t
ca_status1
;
/* 0x000018 */
u
int64_t
ca_status2
;
/* 0x000020 */
u
int64_t
ca_gart_aperature
;
/* 0x000028 */
u
int64_t
ca_gfx_detach
;
/* 0x000030 */
u
int64_t
ca_inta_dest_addr
;
/* 0x000038 */
u
int64_t
ca_intb_dest_addr
;
/* 0x000040 */
u
int64_t
ca_err_int_dest_addr
;
/* 0x000048 */
u
int64_t
ca_int_status
;
/* 0x000050 */
u
int64_t
ca_int_status_alias
;
/* 0x000058 */
u
int64_t
ca_mult_error
;
/* 0x000060 */
u
int64_t
ca_mult_error_alias
;
/* 0x000068 */
u
int64_t
ca_first_error
;
/* 0x000070 */
u
int64_t
ca_int_mask
;
/* 0x000078 */
u
int64_t
ca_crm_pkterr_type
;
/* 0x000080 */
u
int64_t
ca_crm_pkterr_type_alias
;
/* 0x000088 */
u
int64_t
ca_crm_ct_error_detail_1
;
/* 0x000090 */
u
int64_t
ca_crm_ct_error_detail_2
;
/* 0x000098 */
u
int64_t
ca_crm_tnumto
;
/* 0x0000A0 */
u
int64_t
ca_gart_err
;
/* 0x0000A8 */
u
int64_t
ca_pcierr_type
;
/* 0x0000B0 */
u
int64_t
ca_pcierr_addr
;
/* 0x0000B8 */
u
int64_t
ca_pad_0000C0
[
3
];
/* 0x0000{C0..D0} */
u
int64_t
ca_pci_rd_buf_flush
;
/* 0x0000D8 */
u
int64_t
ca_pci_dma_addr_extn
;
/* 0x0000E0 */
u
int64_t
ca_agp_dma_addr_extn
;
/* 0x0000E8 */
u
int64_t
ca_force_inta
;
/* 0x0000F0 */
u
int64_t
ca_force_intb
;
/* 0x0000F8 */
u
int64_t
ca_debug_vector_sel
;
/* 0x000100 */
u
int64_t
ca_debug_mux_core_sel
;
/* 0x000108 */
u
int64_t
ca_debug_mux_pci_sel
;
/* 0x000110 */
u
int64_t
ca_debug_domain_sel
;
/* 0x000118 */
u
int64_t
ca_pad_000120
[
28
];
/* 0x0001{20..F8} */
u
int64_t
ca_gart_ptr_table
;
/* 0x200 */
u
int64_t
ca_gart_tlb_addr
[
8
];
/* 0x2{08..40} */
u
64
ca_id
;
/* 0x000000 */
u
64
ca_control1
;
/* 0x000008 */
u
64
ca_control2
;
/* 0x000010 */
u
64
ca_status1
;
/* 0x000018 */
u
64
ca_status2
;
/* 0x000020 */
u
64
ca_gart_aperature
;
/* 0x000028 */
u
64
ca_gfx_detach
;
/* 0x000030 */
u
64
ca_inta_dest_addr
;
/* 0x000038 */
u
64
ca_intb_dest_addr
;
/* 0x000040 */
u
64
ca_err_int_dest_addr
;
/* 0x000048 */
u
64
ca_int_status
;
/* 0x000050 */
u
64
ca_int_status_alias
;
/* 0x000058 */
u
64
ca_mult_error
;
/* 0x000060 */
u
64
ca_mult_error_alias
;
/* 0x000068 */
u
64
ca_first_error
;
/* 0x000070 */
u
64
ca_int_mask
;
/* 0x000078 */
u
64
ca_crm_pkterr_type
;
/* 0x000080 */
u
64
ca_crm_pkterr_type_alias
;
/* 0x000088 */
u
64
ca_crm_ct_error_detail_1
;
/* 0x000090 */
u
64
ca_crm_ct_error_detail_2
;
/* 0x000098 */
u
64
ca_crm_tnumto
;
/* 0x0000A0 */
u
64
ca_gart_err
;
/* 0x0000A8 */
u
64
ca_pcierr_type
;
/* 0x0000B0 */
u
64
ca_pcierr_addr
;
/* 0x0000B8 */
u
64
ca_pad_0000C0
[
3
];
/* 0x0000{C0..D0} */
u
64
ca_pci_rd_buf_flush
;
/* 0x0000D8 */
u
64
ca_pci_dma_addr_extn
;
/* 0x0000E0 */
u
64
ca_agp_dma_addr_extn
;
/* 0x0000E8 */
u
64
ca_force_inta
;
/* 0x0000F0 */
u
64
ca_force_intb
;
/* 0x0000F8 */
u
64
ca_debug_vector_sel
;
/* 0x000100 */
u
64
ca_debug_mux_core_sel
;
/* 0x000108 */
u
64
ca_debug_mux_pci_sel
;
/* 0x000110 */
u
64
ca_debug_domain_sel
;
/* 0x000118 */
u
64
ca_pad_000120
[
28
];
/* 0x0001{20..F8} */
u
64
ca_gart_ptr_table
;
/* 0x200 */
u
64
ca_gart_tlb_addr
[
8
];
/* 0x2{08..40} */
};
/*
...
...
include/asm-ia64/sn/tioca_provider.h
View file @
a1bc5cdf
...
...
@@ -56,31 +56,31 @@ struct tioca_kernel {
/*
* General GART stuff
*/
u
int64_t
ca_ap_size
;
/* size of aperature in bytes */
u
int32_t
ca_gart_entries
;
/* # uint64_t
entries in gart */
u
int32_t
ca_ap_pagesize
;
/* aperature page size in bytes */
u
int64_t
ca_ap_bus_base
;
/* bus address of CA aperature */
u
int64_t
ca_gart_size
;
/* gart size in bytes */
u
int64_t
*
ca_gart
;
/* gart table vaddr */
u
int64_t
ca_gart_coretalk_addr
;
/* gart coretalk addr */
u
int8_t
ca_gart_iscoherent
;
/* used in tioca_tlbflush */
u
64
ca_ap_size
;
/* size of aperature in bytes */
u
32
ca_gart_entries
;
/* # u64
entries in gart */
u
32
ca_ap_pagesize
;
/* aperature page size in bytes */
u
64
ca_ap_bus_base
;
/* bus address of CA aperature */
u
64
ca_gart_size
;
/* gart size in bytes */
u
64
*
ca_gart
;
/* gart table vaddr */
u
64
ca_gart_coretalk_addr
;
/* gart coretalk addr */
u
8
ca_gart_iscoherent
;
/* used in tioca_tlbflush */
/* PCI GART convenience values */
u
int64_t
ca_pciap_base
;
/* pci aperature bus base address */
u
int64_t
ca_pciap_size
;
/* pci aperature size (bytes) */
u
int64_t
ca_pcigart_base
;
/* gfx GART bus base address */
u
int64_t
*
ca_pcigart
;
/* gfx GART vm address */
u
int32_t
ca_pcigart_entries
;
u
int32_t
ca_pcigart_start
;
/* PCI start index in ca_gart */
u
64
ca_pciap_base
;
/* pci aperature bus base address */
u
64
ca_pciap_size
;
/* pci aperature size (bytes) */
u
64
ca_pcigart_base
;
/* gfx GART bus base address */
u
64
*
ca_pcigart
;
/* gfx GART vm address */
u
32
ca_pcigart_entries
;
u
32
ca_pcigart_start
;
/* PCI start index in ca_gart */
void
*
ca_pcigart_pagemap
;
/* AGP GART convenience values */
u
int64_t
ca_gfxap_base
;
/* gfx aperature bus base address */
u
int64_t
ca_gfxap_size
;
/* gfx aperature size (bytes) */
u
int64_t
ca_gfxgart_base
;
/* gfx GART bus base address */
u
int64_t
*
ca_gfxgart
;
/* gfx GART vm address */
u
int32_t
ca_gfxgart_entries
;
u
int32_t
ca_gfxgart_start
;
/* agpgart start index in ca_gart */
u
64
ca_gfxap_base
;
/* gfx aperature bus base address */
u
64
ca_gfxap_size
;
/* gfx aperature size (bytes) */
u
64
ca_gfxgart_base
;
/* gfx GART bus base address */
u
64
*
ca_gfxgart
;
/* gfx GART vm address */
u
32
ca_gfxgart_entries
;
u
32
ca_gfxgart_start
;
/* agpgart start index in ca_gart */
};
/*
...
...
@@ -93,11 +93,11 @@ struct tioca_kernel {
struct
tioca_common
{
struct
pcibus_bussoft
ca_common
;
/* common pciio header */
u
int32_t
ca_rev
;
u
int32_t
ca_closest_nasid
;
u
32
ca_rev
;
u
32
ca_closest_nasid
;
u
int64_t
ca_prom_private
;
u
int64_t
ca_kernel_private
;
u
64
ca_prom_private
;
u
64
ca_kernel_private
;
};
/**
...
...
@@ -139,9 +139,9 @@ tioca_paddr_to_gart(unsigned long paddr)
*/
static
inline
unsigned
long
tioca_physpage_to_gart
(
u
int64_t
page_addr
)
tioca_physpage_to_gart
(
u
64
page_addr
)
{
u
int64_t
coretalk_addr
;
u
64
coretalk_addr
;
coretalk_addr
=
PHYS_TO_TIODMA
(
page_addr
);
if
(
!
coretalk_addr
)
{
...
...
@@ -161,7 +161,7 @@ tioca_physpage_to_gart(uint64_t page_addr)
static
inline
void
tioca_tlbflush
(
struct
tioca_kernel
*
tioca_kernel
)
{
volatile
u
int64_t
tmp
;
volatile
u
64
tmp
;
volatile
struct
tioca
*
ca_base
;
struct
tioca_common
*
tioca_common
;
...
...
@@ -200,7 +200,7 @@ tioca_tlbflush(struct tioca_kernel *tioca_kernel)
tmp
=
__sn_readq_relaxed
(
&
ca_base
->
ca_control2
);
}
extern
u
int32_t
tioca_gart_found
;
extern
u
32
tioca_gart_found
;
extern
struct
list_head
tioca_list
;
extern
int
tioca_init_provider
(
void
);
extern
void
tioca_fastwrite_enable
(
struct
tioca_kernel
*
tioca_kern
);
...
...
include/asm-ia64/sn/tioce.h
View file @
a1bc5cdf
...
...
@@ -35,72 +35,72 @@ typedef volatile struct tioce {
/*
* ADMIN : Administration Registers
*/
u
int64_t
ce_adm_id
;
/* 0x000000 */
u
int64_t
ce_pad_000008
;
/* 0x000008 */
u
int64_t
ce_adm_dyn_credit_status
;
/* 0x000010 */
u
int64_t
ce_adm_last_credit_status
;
/* 0x000018 */
u
int64_t
ce_adm_credit_limit
;
/* 0x000020 */
u
int64_t
ce_adm_force_credit
;
/* 0x000028 */
u
int64_t
ce_adm_control
;
/* 0x000030 */
u
int64_t
ce_adm_mmr_chn_timeout
;
/* 0x000038 */
u
int64_t
ce_adm_ssp_ure_timeout
;
/* 0x000040 */
u
int64_t
ce_adm_ssp_dre_timeout
;
/* 0x000048 */
u
int64_t
ce_adm_ssp_debug_sel
;
/* 0x000050 */
u
int64_t
ce_adm_int_status
;
/* 0x000058 */
u
int64_t
ce_adm_int_status_alias
;
/* 0x000060 */
u
int64_t
ce_adm_int_mask
;
/* 0x000068 */
u
int64_t
ce_adm_int_pending
;
/* 0x000070 */
u
int64_t
ce_adm_force_int
;
/* 0x000078 */
u
int64_t
ce_adm_ure_ups_buf_barrier_flush
;
/* 0x000080 */
u
int64_t
ce_adm_int_dest
[
15
];
/* 0x000088 -- 0x0000F8 */
u
int64_t
ce_adm_error_summary
;
/* 0x000100 */
u
int64_t
ce_adm_error_summary_alias
;
/* 0x000108 */
u
int64_t
ce_adm_error_mask
;
/* 0x000110 */
u
int64_t
ce_adm_first_error
;
/* 0x000118 */
u
int64_t
ce_adm_error_overflow
;
/* 0x000120 */
u
int64_t
ce_adm_error_overflow_alias
;
/* 0x000128 */
u
int64_t
ce_pad_000130
[
2
];
/* 0x000130 -- 0x000138 */
u
int64_t
ce_adm_tnum_error
;
/* 0x000140 */
u
int64_t
ce_adm_mmr_err_detail
;
/* 0x000148 */
u
int64_t
ce_adm_msg_sram_perr_detail
;
/* 0x000150 */
u
int64_t
ce_adm_bap_sram_perr_detail
;
/* 0x000158 */
u
int64_t
ce_adm_ce_sram_perr_detail
;
/* 0x000160 */
u
int64_t
ce_adm_ce_credit_oflow_detail
;
/* 0x000168 */
u
int64_t
ce_adm_tx_link_idle_max_timer
;
/* 0x000170 */
u
int64_t
ce_adm_pcie_debug_sel
;
/* 0x000178 */
u
int64_t
ce_pad_000180
[
16
];
/* 0x000180 -- 0x0001F8 */
u
int64_t
ce_adm_pcie_debug_sel_top
;
/* 0x000200 */
u
int64_t
ce_adm_pcie_debug_lat_sel_lo_top
;
/* 0x000208 */
u
int64_t
ce_adm_pcie_debug_lat_sel_hi_top
;
/* 0x000210 */
u
int64_t
ce_adm_pcie_debug_trig_sel_top
;
/* 0x000218 */
u
int64_t
ce_adm_pcie_debug_trig_lat_sel_lo_top
;
/* 0x000220 */
u
int64_t
ce_adm_pcie_debug_trig_lat_sel_hi_top
;
/* 0x000228 */
u
int64_t
ce_adm_pcie_trig_compare_top
;
/* 0x000230 */
u
int64_t
ce_adm_pcie_trig_compare_en_top
;
/* 0x000238 */
u
int64_t
ce_adm_ssp_debug_sel_top
;
/* 0x000240 */
u
int64_t
ce_adm_ssp_debug_lat_sel_lo_top
;
/* 0x000248 */
u
int64_t
ce_adm_ssp_debug_lat_sel_hi_top
;
/* 0x000250 */
u
int64_t
ce_adm_ssp_debug_trig_sel_top
;
/* 0x000258 */
u
int64_t
ce_adm_ssp_debug_trig_lat_sel_lo_top
;
/* 0x000260 */
u
int64_t
ce_adm_ssp_debug_trig_lat_sel_hi_top
;
/* 0x000268 */
u
int64_t
ce_adm_ssp_trig_compare_top
;
/* 0x000270 */
u
int64_t
ce_adm_ssp_trig_compare_en_top
;
/* 0x000278 */
u
int64_t
ce_pad_000280
[
48
];
/* 0x000280 -- 0x0003F8 */
u
int64_t
ce_adm_bap_ctrl
;
/* 0x000400 */
u
int64_t
ce_pad_000408
[
127
];
/* 0x000408 -- 0x0007F8 */
u
int64_t
ce_msg_buf_data63_0
[
35
];
/* 0x000800 -- 0x000918 */
u
int64_t
ce_pad_000920
[
29
];
/* 0x000920 -- 0x0009F8 */
u
int64_t
ce_msg_buf_data127_64
[
35
];
/* 0x000A00 -- 0x000B18 */
u
int64_t
ce_pad_000B20
[
29
];
/* 0x000B20 -- 0x000BF8 */
u
int64_t
ce_msg_buf_parity
[
35
];
/* 0x000C00 -- 0x000D18 */
u
int64_t
ce_pad_000D20
[
29
];
/* 0x000D20 -- 0x000DF8 */
u
int64_t
ce_pad_000E00
[
576
];
/* 0x000E00 -- 0x001FF8 */
u
64
ce_adm_id
;
/* 0x000000 */
u
64
ce_pad_000008
;
/* 0x000008 */
u
64
ce_adm_dyn_credit_status
;
/* 0x000010 */
u
64
ce_adm_last_credit_status
;
/* 0x000018 */
u
64
ce_adm_credit_limit
;
/* 0x000020 */
u
64
ce_adm_force_credit
;
/* 0x000028 */
u
64
ce_adm_control
;
/* 0x000030 */
u
64
ce_adm_mmr_chn_timeout
;
/* 0x000038 */
u
64
ce_adm_ssp_ure_timeout
;
/* 0x000040 */
u
64
ce_adm_ssp_dre_timeout
;
/* 0x000048 */
u
64
ce_adm_ssp_debug_sel
;
/* 0x000050 */
u
64
ce_adm_int_status
;
/* 0x000058 */
u
64
ce_adm_int_status_alias
;
/* 0x000060 */
u
64
ce_adm_int_mask
;
/* 0x000068 */
u
64
ce_adm_int_pending
;
/* 0x000070 */
u
64
ce_adm_force_int
;
/* 0x000078 */
u
64
ce_adm_ure_ups_buf_barrier_flush
;
/* 0x000080 */
u
64
ce_adm_int_dest
[
15
];
/* 0x000088 -- 0x0000F8 */
u
64
ce_adm_error_summary
;
/* 0x000100 */
u
64
ce_adm_error_summary_alias
;
/* 0x000108 */
u
64
ce_adm_error_mask
;
/* 0x000110 */
u
64
ce_adm_first_error
;
/* 0x000118 */
u
64
ce_adm_error_overflow
;
/* 0x000120 */
u
64
ce_adm_error_overflow_alias
;
/* 0x000128 */
u
64
ce_pad_000130
[
2
];
/* 0x000130 -- 0x000138 */
u
64
ce_adm_tnum_error
;
/* 0x000140 */
u
64
ce_adm_mmr_err_detail
;
/* 0x000148 */
u
64
ce_adm_msg_sram_perr_detail
;
/* 0x000150 */
u
64
ce_adm_bap_sram_perr_detail
;
/* 0x000158 */
u
64
ce_adm_ce_sram_perr_detail
;
/* 0x000160 */
u
64
ce_adm_ce_credit_oflow_detail
;
/* 0x000168 */
u
64
ce_adm_tx_link_idle_max_timer
;
/* 0x000170 */
u
64
ce_adm_pcie_debug_sel
;
/* 0x000178 */
u
64
ce_pad_000180
[
16
];
/* 0x000180 -- 0x0001F8 */
u
64
ce_adm_pcie_debug_sel_top
;
/* 0x000200 */
u
64
ce_adm_pcie_debug_lat_sel_lo_top
;
/* 0x000208 */
u
64
ce_adm_pcie_debug_lat_sel_hi_top
;
/* 0x000210 */
u
64
ce_adm_pcie_debug_trig_sel_top
;
/* 0x000218 */
u
64
ce_adm_pcie_debug_trig_lat_sel_lo_top
;
/* 0x000220 */
u
64
ce_adm_pcie_debug_trig_lat_sel_hi_top
;
/* 0x000228 */
u
64
ce_adm_pcie_trig_compare_top
;
/* 0x000230 */
u
64
ce_adm_pcie_trig_compare_en_top
;
/* 0x000238 */
u
64
ce_adm_ssp_debug_sel_top
;
/* 0x000240 */
u
64
ce_adm_ssp_debug_lat_sel_lo_top
;
/* 0x000248 */
u
64
ce_adm_ssp_debug_lat_sel_hi_top
;
/* 0x000250 */
u
64
ce_adm_ssp_debug_trig_sel_top
;
/* 0x000258 */
u
64
ce_adm_ssp_debug_trig_lat_sel_lo_top
;
/* 0x000260 */
u
64
ce_adm_ssp_debug_trig_lat_sel_hi_top
;
/* 0x000268 */
u
64
ce_adm_ssp_trig_compare_top
;
/* 0x000270 */
u
64
ce_adm_ssp_trig_compare_en_top
;
/* 0x000278 */
u
64
ce_pad_000280
[
48
];
/* 0x000280 -- 0x0003F8 */
u
64
ce_adm_bap_ctrl
;
/* 0x000400 */
u
64
ce_pad_000408
[
127
];
/* 0x000408 -- 0x0007F8 */
u
64
ce_msg_buf_data63_0
[
35
];
/* 0x000800 -- 0x000918 */
u
64
ce_pad_000920
[
29
];
/* 0x000920 -- 0x0009F8 */
u
64
ce_msg_buf_data127_64
[
35
];
/* 0x000A00 -- 0x000B18 */
u
64
ce_pad_000B20
[
29
];
/* 0x000B20 -- 0x000BF8 */
u
64
ce_msg_buf_parity
[
35
];
/* 0x000C00 -- 0x000D18 */
u
64
ce_pad_000D20
[
29
];
/* 0x000D20 -- 0x000DF8 */
u
64
ce_pad_000E00
[
576
];
/* 0x000E00 -- 0x001FF8 */
/*
* LSI : LSI's PCI Express Link Registers (Link#1 and Link#2)
...
...
@@ -109,141 +109,141 @@ typedef volatile struct tioce {
*/
#define ce_lsi(link_num) ce_lsi[link_num-1]
struct
ce_lsi_reg
{
u
int64_t
ce_lsi_lpu_id
;
/* 0x00z000 */
u
int64_t
ce_lsi_rst
;
/* 0x00z008 */
u
int64_t
ce_lsi_dbg_stat
;
/* 0x00z010 */
u
int64_t
ce_lsi_dbg_cfg
;
/* 0x00z018 */
u
int64_t
ce_lsi_ltssm_ctrl
;
/* 0x00z020 */
u
int64_t
ce_lsi_lk_stat
;
/* 0x00z028 */
u
int64_t
ce_pad_00z030
[
2
];
/* 0x00z030 -- 0x00z038 */
u
int64_t
ce_lsi_int_and_stat
;
/* 0x00z040 */
u
int64_t
ce_lsi_int_mask
;
/* 0x00z048 */
u
int64_t
ce_pad_00z050
[
22
];
/* 0x00z050 -- 0x00z0F8 */
u
int64_t
ce_lsi_lk_perf_cnt_sel
;
/* 0x00z100 */
u
int64_t
ce_pad_00z108
;
/* 0x00z108 */
u
int64_t
ce_lsi_lk_perf_cnt_ctrl
;
/* 0x00z110 */
u
int64_t
ce_pad_00z118
;
/* 0x00z118 */
u
int64_t
ce_lsi_lk_perf_cnt1
;
/* 0x00z120 */
u
int64_t
ce_lsi_lk_perf_cnt1_test
;
/* 0x00z128 */
u
int64_t
ce_lsi_lk_perf_cnt2
;
/* 0x00z130 */
u
int64_t
ce_lsi_lk_perf_cnt2_test
;
/* 0x00z138 */
u
int64_t
ce_pad_00z140
[
24
];
/* 0x00z140 -- 0x00z1F8 */
u
int64_t
ce_lsi_lk_lyr_cfg
;
/* 0x00z200 */
u
int64_t
ce_lsi_lk_lyr_status
;
/* 0x00z208 */
u
int64_t
ce_lsi_lk_lyr_int_stat
;
/* 0x00z210 */
u
int64_t
ce_lsi_lk_ly_int_stat_test
;
/* 0x00z218 */
u
int64_t
ce_lsi_lk_ly_int_stat_mask
;
/* 0x00z220 */
u
int64_t
ce_pad_00z228
[
3
];
/* 0x00z228 -- 0x00z238 */
u
int64_t
ce_lsi_fc_upd_ctl
;
/* 0x00z240 */
u
int64_t
ce_pad_00z248
[
3
];
/* 0x00z248 -- 0x00z258 */
u
int64_t
ce_lsi_flw_ctl_upd_to_timer
;
/* 0x00z260 */
u
int64_t
ce_lsi_flw_ctl_upd_timer0
;
/* 0x00z268 */
u
int64_t
ce_lsi_flw_ctl_upd_timer1
;
/* 0x00z270 */
u
int64_t
ce_pad_00z278
[
49
];
/* 0x00z278 -- 0x00z3F8 */
u
int64_t
ce_lsi_freq_nak_lat_thrsh
;
/* 0x00z400 */
u
int64_t
ce_lsi_ack_nak_lat_tmr
;
/* 0x00z408 */
u
int64_t
ce_lsi_rply_tmr_thr
;
/* 0x00z410 */
u
int64_t
ce_lsi_rply_tmr
;
/* 0x00z418 */
u
int64_t
ce_lsi_rply_num_stat
;
/* 0x00z420 */
u
int64_t
ce_lsi_rty_buf_max_addr
;
/* 0x00z428 */
u
int64_t
ce_lsi_rty_fifo_ptr
;
/* 0x00z430 */
u
int64_t
ce_lsi_rty_fifo_rd_wr_ptr
;
/* 0x00z438 */
u
int64_t
ce_lsi_rty_fifo_cred
;
/* 0x00z440 */
u
int64_t
ce_lsi_seq_cnt
;
/* 0x00z448 */
u
int64_t
ce_lsi_ack_sent_seq_num
;
/* 0x00z450 */
u
int64_t
ce_lsi_seq_cnt_fifo_max_addr
;
/* 0x00z458 */
u
int64_t
ce_lsi_seq_cnt_fifo_ptr
;
/* 0x00z460 */
u
int64_t
ce_lsi_seq_cnt_rd_wr_ptr
;
/* 0x00z468 */
u
int64_t
ce_lsi_tx_lk_ts_ctl
;
/* 0x00z470 */
u
int64_t
ce_pad_00z478
;
/* 0x00z478 */
u
int64_t
ce_lsi_mem_addr_ctl
;
/* 0x00z480 */
u
int64_t
ce_lsi_mem_d_ld0
;
/* 0x00z488 */
u
int64_t
ce_lsi_mem_d_ld1
;
/* 0x00z490 */
u
int64_t
ce_lsi_mem_d_ld2
;
/* 0x00z498 */
u
int64_t
ce_lsi_mem_d_ld3
;
/* 0x00z4A0 */
u
int64_t
ce_lsi_mem_d_ld4
;
/* 0x00z4A8 */
u
int64_t
ce_pad_00z4B0
[
2
];
/* 0x00z4B0 -- 0x00z4B8 */
u
int64_t
ce_lsi_rty_d_cnt
;
/* 0x00z4C0 */
u
int64_t
ce_lsi_seq_buf_cnt
;
/* 0x00z4C8 */
u
int64_t
ce_lsi_seq_buf_bt_d
;
/* 0x00z4D0 */
u
int64_t
ce_pad_00z4D8
;
/* 0x00z4D8 */
u
int64_t
ce_lsi_ack_lat_thr
;
/* 0x00z4E0 */
u
int64_t
ce_pad_00z4E8
[
3
];
/* 0x00z4E8 -- 0x00z4F8 */
u
int64_t
ce_lsi_nxt_rcv_seq_1_cntr
;
/* 0x00z500 */
u
int64_t
ce_lsi_unsp_dllp_rcvd
;
/* 0x00z508 */
u
int64_t
ce_lsi_rcv_lk_ts_ctl
;
/* 0x00z510 */
u
int64_t
ce_pad_00z518
[
29
];
/* 0x00z518 -- 0x00z5F8 */
u
int64_t
ce_lsi_phy_lyr_cfg
;
/* 0x00z600 */
u
int64_t
ce_pad_00z608
;
/* 0x00z608 */
u
int64_t
ce_lsi_phy_lyr_int_stat
;
/* 0x00z610 */
u
int64_t
ce_lsi_phy_lyr_int_stat_test
;
/* 0x00z618 */
u
int64_t
ce_lsi_phy_lyr_int_mask
;
/* 0x00z620 */
u
int64_t
ce_pad_00z628
[
11
];
/* 0x00z628 -- 0x00z678 */
u
int64_t
ce_lsi_rcv_phy_cfg
;
/* 0x00z680 */
u
int64_t
ce_lsi_rcv_phy_stat1
;
/* 0x00z688 */
u
int64_t
ce_lsi_rcv_phy_stat2
;
/* 0x00z690 */
u
int64_t
ce_lsi_rcv_phy_stat3
;
/* 0x00z698 */
u
int64_t
ce_lsi_rcv_phy_int_stat
;
/* 0x00z6A0 */
u
int64_t
ce_lsi_rcv_phy_int_stat_test
;
/* 0x00z6A8 */
u
int64_t
ce_lsi_rcv_phy_int_mask
;
/* 0x00z6B0 */
u
int64_t
ce_pad_00z6B8
[
9
];
/* 0x00z6B8 -- 0x00z6F8 */
u
int64_t
ce_lsi_tx_phy_cfg
;
/* 0x00z700 */
u
int64_t
ce_lsi_tx_phy_stat
;
/* 0x00z708 */
u
int64_t
ce_lsi_tx_phy_int_stat
;
/* 0x00z710 */
u
int64_t
ce_lsi_tx_phy_int_stat_test
;
/* 0x00z718 */
u
int64_t
ce_lsi_tx_phy_int_mask
;
/* 0x00z720 */
u
int64_t
ce_lsi_tx_phy_stat2
;
/* 0x00z728 */
u
int64_t
ce_pad_00z730
[
10
];
/* 0x00z730 -- 0x00z77F */
u
int64_t
ce_lsi_ltssm_cfg1
;
/* 0x00z780 */
u
int64_t
ce_lsi_ltssm_cfg2
;
/* 0x00z788 */
u
int64_t
ce_lsi_ltssm_cfg3
;
/* 0x00z790 */
u
int64_t
ce_lsi_ltssm_cfg4
;
/* 0x00z798 */
u
int64_t
ce_lsi_ltssm_cfg5
;
/* 0x00z7A0 */
u
int64_t
ce_lsi_ltssm_stat1
;
/* 0x00z7A8 */
u
int64_t
ce_lsi_ltssm_stat2
;
/* 0x00z7B0 */
u
int64_t
ce_lsi_ltssm_int_stat
;
/* 0x00z7B8 */
u
int64_t
ce_lsi_ltssm_int_stat_test
;
/* 0x00z7C0 */
u
int64_t
ce_lsi_ltssm_int_mask
;
/* 0x00z7C8 */
u
int64_t
ce_lsi_ltssm_stat_wr_en
;
/* 0x00z7D0 */
u
int64_t
ce_pad_00z7D8
[
5
];
/* 0x00z7D8 -- 0x00z7F8 */
u
int64_t
ce_lsi_gb_cfg1
;
/* 0x00z800 */
u
int64_t
ce_lsi_gb_cfg2
;
/* 0x00z808 */
u
int64_t
ce_lsi_gb_cfg3
;
/* 0x00z810 */
u
int64_t
ce_lsi_gb_cfg4
;
/* 0x00z818 */
u
int64_t
ce_lsi_gb_stat
;
/* 0x00z820 */
u
int64_t
ce_lsi_gb_int_stat
;
/* 0x00z828 */
u
int64_t
ce_lsi_gb_int_stat_test
;
/* 0x00z830 */
u
int64_t
ce_lsi_gb_int_mask
;
/* 0x00z838 */
u
int64_t
ce_lsi_gb_pwr_dn1
;
/* 0x00z840 */
u
int64_t
ce_lsi_gb_pwr_dn2
;
/* 0x00z848 */
u
int64_t
ce_pad_00z850
[
246
];
/* 0x00z850 -- 0x00zFF8 */
u
64
ce_lsi_lpu_id
;
/* 0x00z000 */
u
64
ce_lsi_rst
;
/* 0x00z008 */
u
64
ce_lsi_dbg_stat
;
/* 0x00z010 */
u
64
ce_lsi_dbg_cfg
;
/* 0x00z018 */
u
64
ce_lsi_ltssm_ctrl
;
/* 0x00z020 */
u
64
ce_lsi_lk_stat
;
/* 0x00z028 */
u
64
ce_pad_00z030
[
2
];
/* 0x00z030 -- 0x00z038 */
u
64
ce_lsi_int_and_stat
;
/* 0x00z040 */
u
64
ce_lsi_int_mask
;
/* 0x00z048 */
u
64
ce_pad_00z050
[
22
];
/* 0x00z050 -- 0x00z0F8 */
u
64
ce_lsi_lk_perf_cnt_sel
;
/* 0x00z100 */
u
64
ce_pad_00z108
;
/* 0x00z108 */
u
64
ce_lsi_lk_perf_cnt_ctrl
;
/* 0x00z110 */
u
64
ce_pad_00z118
;
/* 0x00z118 */
u
64
ce_lsi_lk_perf_cnt1
;
/* 0x00z120 */
u
64
ce_lsi_lk_perf_cnt1_test
;
/* 0x00z128 */
u
64
ce_lsi_lk_perf_cnt2
;
/* 0x00z130 */
u
64
ce_lsi_lk_perf_cnt2_test
;
/* 0x00z138 */
u
64
ce_pad_00z140
[
24
];
/* 0x00z140 -- 0x00z1F8 */
u
64
ce_lsi_lk_lyr_cfg
;
/* 0x00z200 */
u
64
ce_lsi_lk_lyr_status
;
/* 0x00z208 */
u
64
ce_lsi_lk_lyr_int_stat
;
/* 0x00z210 */
u
64
ce_lsi_lk_ly_int_stat_test
;
/* 0x00z218 */
u
64
ce_lsi_lk_ly_int_stat_mask
;
/* 0x00z220 */
u
64
ce_pad_00z228
[
3
];
/* 0x00z228 -- 0x00z238 */
u
64
ce_lsi_fc_upd_ctl
;
/* 0x00z240 */
u
64
ce_pad_00z248
[
3
];
/* 0x00z248 -- 0x00z258 */
u
64
ce_lsi_flw_ctl_upd_to_timer
;
/* 0x00z260 */
u
64
ce_lsi_flw_ctl_upd_timer0
;
/* 0x00z268 */
u
64
ce_lsi_flw_ctl_upd_timer1
;
/* 0x00z270 */
u
64
ce_pad_00z278
[
49
];
/* 0x00z278 -- 0x00z3F8 */
u
64
ce_lsi_freq_nak_lat_thrsh
;
/* 0x00z400 */
u
64
ce_lsi_ack_nak_lat_tmr
;
/* 0x00z408 */
u
64
ce_lsi_rply_tmr_thr
;
/* 0x00z410 */
u
64
ce_lsi_rply_tmr
;
/* 0x00z418 */
u
64
ce_lsi_rply_num_stat
;
/* 0x00z420 */
u
64
ce_lsi_rty_buf_max_addr
;
/* 0x00z428 */
u
64
ce_lsi_rty_fifo_ptr
;
/* 0x00z430 */
u
64
ce_lsi_rty_fifo_rd_wr_ptr
;
/* 0x00z438 */
u
64
ce_lsi_rty_fifo_cred
;
/* 0x00z440 */
u
64
ce_lsi_seq_cnt
;
/* 0x00z448 */
u
64
ce_lsi_ack_sent_seq_num
;
/* 0x00z450 */
u
64
ce_lsi_seq_cnt_fifo_max_addr
;
/* 0x00z458 */
u
64
ce_lsi_seq_cnt_fifo_ptr
;
/* 0x00z460 */
u
64
ce_lsi_seq_cnt_rd_wr_ptr
;
/* 0x00z468 */
u
64
ce_lsi_tx_lk_ts_ctl
;
/* 0x00z470 */
u
64
ce_pad_00z478
;
/* 0x00z478 */
u
64
ce_lsi_mem_addr_ctl
;
/* 0x00z480 */
u
64
ce_lsi_mem_d_ld0
;
/* 0x00z488 */
u
64
ce_lsi_mem_d_ld1
;
/* 0x00z490 */
u
64
ce_lsi_mem_d_ld2
;
/* 0x00z498 */
u
64
ce_lsi_mem_d_ld3
;
/* 0x00z4A0 */
u
64
ce_lsi_mem_d_ld4
;
/* 0x00z4A8 */
u
64
ce_pad_00z4B0
[
2
];
/* 0x00z4B0 -- 0x00z4B8 */
u
64
ce_lsi_rty_d_cnt
;
/* 0x00z4C0 */
u
64
ce_lsi_seq_buf_cnt
;
/* 0x00z4C8 */
u
64
ce_lsi_seq_buf_bt_d
;
/* 0x00z4D0 */
u
64
ce_pad_00z4D8
;
/* 0x00z4D8 */
u
64
ce_lsi_ack_lat_thr
;
/* 0x00z4E0 */
u
64
ce_pad_00z4E8
[
3
];
/* 0x00z4E8 -- 0x00z4F8 */
u
64
ce_lsi_nxt_rcv_seq_1_cntr
;
/* 0x00z500 */
u
64
ce_lsi_unsp_dllp_rcvd
;
/* 0x00z508 */
u
64
ce_lsi_rcv_lk_ts_ctl
;
/* 0x00z510 */
u
64
ce_pad_00z518
[
29
];
/* 0x00z518 -- 0x00z5F8 */
u
64
ce_lsi_phy_lyr_cfg
;
/* 0x00z600 */
u
64
ce_pad_00z608
;
/* 0x00z608 */
u
64
ce_lsi_phy_lyr_int_stat
;
/* 0x00z610 */
u
64
ce_lsi_phy_lyr_int_stat_test
;
/* 0x00z618 */
u
64
ce_lsi_phy_lyr_int_mask
;
/* 0x00z620 */
u
64
ce_pad_00z628
[
11
];
/* 0x00z628 -- 0x00z678 */
u
64
ce_lsi_rcv_phy_cfg
;
/* 0x00z680 */
u
64
ce_lsi_rcv_phy_stat1
;
/* 0x00z688 */
u
64
ce_lsi_rcv_phy_stat2
;
/* 0x00z690 */
u
64
ce_lsi_rcv_phy_stat3
;
/* 0x00z698 */
u
64
ce_lsi_rcv_phy_int_stat
;
/* 0x00z6A0 */
u
64
ce_lsi_rcv_phy_int_stat_test
;
/* 0x00z6A8 */
u
64
ce_lsi_rcv_phy_int_mask
;
/* 0x00z6B0 */
u
64
ce_pad_00z6B8
[
9
];
/* 0x00z6B8 -- 0x00z6F8 */
u
64
ce_lsi_tx_phy_cfg
;
/* 0x00z700 */
u
64
ce_lsi_tx_phy_stat
;
/* 0x00z708 */
u
64
ce_lsi_tx_phy_int_stat
;
/* 0x00z710 */
u
64
ce_lsi_tx_phy_int_stat_test
;
/* 0x00z718 */
u
64
ce_lsi_tx_phy_int_mask
;
/* 0x00z720 */
u
64
ce_lsi_tx_phy_stat2
;
/* 0x00z728 */
u
64
ce_pad_00z730
[
10
];
/* 0x00z730 -- 0x00z77F */
u
64
ce_lsi_ltssm_cfg1
;
/* 0x00z780 */
u
64
ce_lsi_ltssm_cfg2
;
/* 0x00z788 */
u
64
ce_lsi_ltssm_cfg3
;
/* 0x00z790 */
u
64
ce_lsi_ltssm_cfg4
;
/* 0x00z798 */
u
64
ce_lsi_ltssm_cfg5
;
/* 0x00z7A0 */
u
64
ce_lsi_ltssm_stat1
;
/* 0x00z7A8 */
u
64
ce_lsi_ltssm_stat2
;
/* 0x00z7B0 */
u
64
ce_lsi_ltssm_int_stat
;
/* 0x00z7B8 */
u
64
ce_lsi_ltssm_int_stat_test
;
/* 0x00z7C0 */
u
64
ce_lsi_ltssm_int_mask
;
/* 0x00z7C8 */
u
64
ce_lsi_ltssm_stat_wr_en
;
/* 0x00z7D0 */
u
64
ce_pad_00z7D8
[
5
];
/* 0x00z7D8 -- 0x00z7F8 */
u
64
ce_lsi_gb_cfg1
;
/* 0x00z800 */
u
64
ce_lsi_gb_cfg2
;
/* 0x00z808 */
u
64
ce_lsi_gb_cfg3
;
/* 0x00z810 */
u
64
ce_lsi_gb_cfg4
;
/* 0x00z818 */
u
64
ce_lsi_gb_stat
;
/* 0x00z820 */
u
64
ce_lsi_gb_int_stat
;
/* 0x00z828 */
u
64
ce_lsi_gb_int_stat_test
;
/* 0x00z830 */
u
64
ce_lsi_gb_int_mask
;
/* 0x00z838 */
u
64
ce_lsi_gb_pwr_dn1
;
/* 0x00z840 */
u
64
ce_lsi_gb_pwr_dn2
;
/* 0x00z848 */
u
64
ce_pad_00z850
[
246
];
/* 0x00z850 -- 0x00zFF8 */
}
ce_lsi
[
2
];
u
int64_t
ce_pad_004000
[
10
];
/* 0x004000 -- 0x004048 */
u
64
ce_pad_004000
[
10
];
/* 0x004000 -- 0x004048 */
/*
* CRM: Coretalk Receive Module Registers
*/
u
int64_t
ce_crm_debug_mux
;
/* 0x004050 */
u
int64_t
ce_pad_004058
;
/* 0x004058 */
u
int64_t
ce_crm_ssp_err_cmd_wrd
;
/* 0x004060 */
u
int64_t
ce_crm_ssp_err_addr
;
/* 0x004068 */
u
int64_t
ce_crm_ssp_err_syn
;
/* 0x004070 */
u
64
ce_crm_debug_mux
;
/* 0x004050 */
u
64
ce_pad_004058
;
/* 0x004058 */
u
64
ce_crm_ssp_err_cmd_wrd
;
/* 0x004060 */
u
64
ce_crm_ssp_err_addr
;
/* 0x004068 */
u
64
ce_crm_ssp_err_syn
;
/* 0x004070 */
u
int64_t
ce_pad_004078
[
499
];
/* 0x004078 -- 0x005008 */
u
64
ce_pad_004078
[
499
];
/* 0x004078 -- 0x005008 */
/*
* CXM: Coretalk Xmit Module Registers
*/
u
int64_t
ce_cxm_dyn_credit_status
;
/* 0x005010 */
u
int64_t
ce_cxm_last_credit_status
;
/* 0x005018 */
u
int64_t
ce_cxm_credit_limit
;
/* 0x005020 */
u
int64_t
ce_cxm_force_credit
;
/* 0x005028 */
u
int64_t
ce_cxm_disable_bypass
;
/* 0x005030 */
u
int64_t
ce_pad_005038
[
3
];
/* 0x005038 -- 0x005048 */
u
int64_t
ce_cxm_debug_mux
;
/* 0x005050 */
u
64
ce_cxm_dyn_credit_status
;
/* 0x005010 */
u
64
ce_cxm_last_credit_status
;
/* 0x005018 */
u
64
ce_cxm_credit_limit
;
/* 0x005020 */
u
64
ce_cxm_force_credit
;
/* 0x005028 */
u
64
ce_cxm_disable_bypass
;
/* 0x005030 */
u
64
ce_pad_005038
[
3
];
/* 0x005038 -- 0x005048 */
u
64
ce_cxm_debug_mux
;
/* 0x005050 */
u
int64_t
ce_pad_005058
[
501
];
/* 0x005058 -- 0x005FF8 */
u
64
ce_pad_005058
[
501
];
/* 0x005058 -- 0x005FF8 */
/*
* DTL: Downstream Transaction Layer Regs (Link#1 and Link#2)
...
...
@@ -258,209 +258,209 @@ typedef volatile struct tioce {
#define ce_utl(link_num) ce_dtl_utl[link_num-1]
struct
ce_dtl_utl_reg
{
/* DTL */
u
int64_t
ce_dtl_dtdr_credit_limit
;
/* 0x00y000 */
u
int64_t
ce_dtl_dtdr_credit_force
;
/* 0x00y008 */
u
int64_t
ce_dtl_dyn_credit_status
;
/* 0x00y010 */
u
int64_t
ce_dtl_dtl_last_credit_stat
;
/* 0x00y018 */
u
int64_t
ce_dtl_dtl_ctrl
;
/* 0x00y020 */
u
int64_t
ce_pad_00y028
[
5
];
/* 0x00y028 -- 0x00y048 */
u
int64_t
ce_dtl_debug_sel
;
/* 0x00y050 */
u
int64_t
ce_pad_00y058
[
501
];
/* 0x00y058 -- 0x00yFF8 */
u
64
ce_dtl_dtdr_credit_limit
;
/* 0x00y000 */
u
64
ce_dtl_dtdr_credit_force
;
/* 0x00y008 */
u
64
ce_dtl_dyn_credit_status
;
/* 0x00y010 */
u
64
ce_dtl_dtl_last_credit_stat
;
/* 0x00y018 */
u
64
ce_dtl_dtl_ctrl
;
/* 0x00y020 */
u
64
ce_pad_00y028
[
5
];
/* 0x00y028 -- 0x00y048 */
u
64
ce_dtl_debug_sel
;
/* 0x00y050 */
u
64
ce_pad_00y058
[
501
];
/* 0x00y058 -- 0x00yFF8 */
/* UTL */
u
int64_t
ce_utl_utl_ctrl
;
/* 0x00z000 */
u
int64_t
ce_utl_debug_sel
;
/* 0x00z008 */
u
int64_t
ce_pad_00z010
[
510
];
/* 0x00z010 -- 0x00zFF8 */
u
64
ce_utl_utl_ctrl
;
/* 0x00z000 */
u
64
ce_utl_debug_sel
;
/* 0x00z008 */
u
64
ce_pad_00z010
[
510
];
/* 0x00z010 -- 0x00zFF8 */
}
ce_dtl_utl
[
2
];
u
int64_t
ce_pad_00A000
[
514
];
/* 0x00A000 -- 0x00B008 */
u
64
ce_pad_00A000
[
514
];
/* 0x00A000 -- 0x00B008 */
/*
* URE: Upstream Request Engine
*/
u
int64_t
ce_ure_dyn_credit_status
;
/* 0x00B010 */
u
int64_t
ce_ure_last_credit_status
;
/* 0x00B018 */
u
int64_t
ce_ure_credit_limit
;
/* 0x00B020 */
u
int64_t
ce_pad_00B028
;
/* 0x00B028 */
u
int64_t
ce_ure_control
;
/* 0x00B030 */
u
int64_t
ce_ure_status
;
/* 0x00B038 */
u
int64_t
ce_pad_00B040
[
2
];
/* 0x00B040 -- 0x00B048 */
u
int64_t
ce_ure_debug_sel
;
/* 0x00B050 */
u
int64_t
ce_ure_pcie_debug_sel
;
/* 0x00B058 */
u
int64_t
ce_ure_ssp_err_cmd_wrd
;
/* 0x00B060 */
u
int64_t
ce_ure_ssp_err_addr
;
/* 0x00B068 */
u
int64_t
ce_ure_page_map
;
/* 0x00B070 */
u
int64_t
ce_ure_dir_map
[
TIOCE_NUM_PORTS
];
/* 0x00B078 */
u
int64_t
ce_ure_pipe_sel1
;
/* 0x00B088 */
u
int64_t
ce_ure_pipe_mask1
;
/* 0x00B090 */
u
int64_t
ce_ure_pipe_sel2
;
/* 0x00B098 */
u
int64_t
ce_ure_pipe_mask2
;
/* 0x00B0A0 */
u
int64_t
ce_ure_pcie1_credits_sent
;
/* 0x00B0A8 */
u
int64_t
ce_ure_pcie1_credits_used
;
/* 0x00B0B0 */
u
int64_t
ce_ure_pcie1_credit_limit
;
/* 0x00B0B8 */
u
int64_t
ce_ure_pcie2_credits_sent
;
/* 0x00B0C0 */
u
int64_t
ce_ure_pcie2_credits_used
;
/* 0x00B0C8 */
u
int64_t
ce_ure_pcie2_credit_limit
;
/* 0x00B0D0 */
u
int64_t
ce_ure_pcie_force_credit
;
/* 0x00B0D8 */
u
int64_t
ce_ure_rd_tnum_val
;
/* 0x00B0E0 */
u
int64_t
ce_ure_rd_tnum_rsp_rcvd
;
/* 0x00B0E8 */
u
int64_t
ce_ure_rd_tnum_esent_timer
;
/* 0x00B0F0 */
u
int64_t
ce_ure_rd_tnum_error
;
/* 0x00B0F8 */
u
int64_t
ce_ure_rd_tnum_first_cl
;
/* 0x00B100 */
u
int64_t
ce_ure_rd_tnum_link_buf
;
/* 0x00B108 */
u
int64_t
ce_ure_wr_tnum_val
;
/* 0x00B110 */
u
int64_t
ce_ure_sram_err_addr0
;
/* 0x00B118 */
u
int64_t
ce_ure_sram_err_addr1
;
/* 0x00B120 */
u
int64_t
ce_ure_sram_err_addr2
;
/* 0x00B128 */
u
int64_t
ce_ure_sram_rd_addr0
;
/* 0x00B130 */
u
int64_t
ce_ure_sram_rd_addr1
;
/* 0x00B138 */
u
int64_t
ce_ure_sram_rd_addr2
;
/* 0x00B140 */
u
int64_t
ce_ure_sram_wr_addr0
;
/* 0x00B148 */
u
int64_t
ce_ure_sram_wr_addr1
;
/* 0x00B150 */
u
int64_t
ce_ure_sram_wr_addr2
;
/* 0x00B158 */
u
int64_t
ce_ure_buf_flush10
;
/* 0x00B160 */
u
int64_t
ce_ure_buf_flush11
;
/* 0x00B168 */
u
int64_t
ce_ure_buf_flush12
;
/* 0x00B170 */
u
int64_t
ce_ure_buf_flush13
;
/* 0x00B178 */
u
int64_t
ce_ure_buf_flush20
;
/* 0x00B180 */
u
int64_t
ce_ure_buf_flush21
;
/* 0x00B188 */
u
int64_t
ce_ure_buf_flush22
;
/* 0x00B190 */
u
int64_t
ce_ure_buf_flush23
;
/* 0x00B198 */
u
int64_t
ce_ure_pcie_control1
;
/* 0x00B1A0 */
u
int64_t
ce_ure_pcie_control2
;
/* 0x00B1A8 */
u
int64_t
ce_pad_00B1B0
[
458
];
/* 0x00B1B0 -- 0x00BFF8 */
u
64
ce_ure_dyn_credit_status
;
/* 0x00B010 */
u
64
ce_ure_last_credit_status
;
/* 0x00B018 */
u
64
ce_ure_credit_limit
;
/* 0x00B020 */
u
64
ce_pad_00B028
;
/* 0x00B028 */
u
64
ce_ure_control
;
/* 0x00B030 */
u
64
ce_ure_status
;
/* 0x00B038 */
u
64
ce_pad_00B040
[
2
];
/* 0x00B040 -- 0x00B048 */
u
64
ce_ure_debug_sel
;
/* 0x00B050 */
u
64
ce_ure_pcie_debug_sel
;
/* 0x00B058 */
u
64
ce_ure_ssp_err_cmd_wrd
;
/* 0x00B060 */
u
64
ce_ure_ssp_err_addr
;
/* 0x00B068 */
u
64
ce_ure_page_map
;
/* 0x00B070 */
u
64
ce_ure_dir_map
[
TIOCE_NUM_PORTS
];
/* 0x00B078 */
u
64
ce_ure_pipe_sel1
;
/* 0x00B088 */
u
64
ce_ure_pipe_mask1
;
/* 0x00B090 */
u
64
ce_ure_pipe_sel2
;
/* 0x00B098 */
u
64
ce_ure_pipe_mask2
;
/* 0x00B0A0 */
u
64
ce_ure_pcie1_credits_sent
;
/* 0x00B0A8 */
u
64
ce_ure_pcie1_credits_used
;
/* 0x00B0B0 */
u
64
ce_ure_pcie1_credit_limit
;
/* 0x00B0B8 */
u
64
ce_ure_pcie2_credits_sent
;
/* 0x00B0C0 */
u
64
ce_ure_pcie2_credits_used
;
/* 0x00B0C8 */
u
64
ce_ure_pcie2_credit_limit
;
/* 0x00B0D0 */
u
64
ce_ure_pcie_force_credit
;
/* 0x00B0D8 */
u
64
ce_ure_rd_tnum_val
;
/* 0x00B0E0 */
u
64
ce_ure_rd_tnum_rsp_rcvd
;
/* 0x00B0E8 */
u
64
ce_ure_rd_tnum_esent_timer
;
/* 0x00B0F0 */
u
64
ce_ure_rd_tnum_error
;
/* 0x00B0F8 */
u
64
ce_ure_rd_tnum_first_cl
;
/* 0x00B100 */
u
64
ce_ure_rd_tnum_link_buf
;
/* 0x00B108 */
u
64
ce_ure_wr_tnum_val
;
/* 0x00B110 */
u
64
ce_ure_sram_err_addr0
;
/* 0x00B118 */
u
64
ce_ure_sram_err_addr1
;
/* 0x00B120 */
u
64
ce_ure_sram_err_addr2
;
/* 0x00B128 */
u
64
ce_ure_sram_rd_addr0
;
/* 0x00B130 */
u
64
ce_ure_sram_rd_addr1
;
/* 0x00B138 */
u
64
ce_ure_sram_rd_addr2
;
/* 0x00B140 */
u
64
ce_ure_sram_wr_addr0
;
/* 0x00B148 */
u
64
ce_ure_sram_wr_addr1
;
/* 0x00B150 */
u
64
ce_ure_sram_wr_addr2
;
/* 0x00B158 */
u
64
ce_ure_buf_flush10
;
/* 0x00B160 */
u
64
ce_ure_buf_flush11
;
/* 0x00B168 */
u
64
ce_ure_buf_flush12
;
/* 0x00B170 */
u
64
ce_ure_buf_flush13
;
/* 0x00B178 */
u
64
ce_ure_buf_flush20
;
/* 0x00B180 */
u
64
ce_ure_buf_flush21
;
/* 0x00B188 */
u
64
ce_ure_buf_flush22
;
/* 0x00B190 */
u
64
ce_ure_buf_flush23
;
/* 0x00B198 */
u
64
ce_ure_pcie_control1
;
/* 0x00B1A0 */
u
64
ce_ure_pcie_control2
;
/* 0x00B1A8 */
u
64
ce_pad_00B1B0
[
458
];
/* 0x00B1B0 -- 0x00BFF8 */
/* Upstream Data Buffer, Port1 */
struct
ce_ure_maint_ups_dat1_data
{
u
int64_t
data63_0
[
512
];
/* 0x00C000 -- 0x00CFF8 */
u
int64_t
data127_64
[
512
];
/* 0x00D000 -- 0x00DFF8 */
u
int64_t
parity
[
512
];
/* 0x00E000 -- 0x00EFF8 */
u
64
data63_0
[
512
];
/* 0x00C000 -- 0x00CFF8 */
u
64
data127_64
[
512
];
/* 0x00D000 -- 0x00DFF8 */
u
64
parity
[
512
];
/* 0x00E000 -- 0x00EFF8 */
}
ce_ure_maint_ups_dat1
;
/* Upstream Header Buffer, Port1 */
struct
ce_ure_maint_ups_hdr1_data
{
u
int64_t
data63_0
[
512
];
/* 0x00F000 -- 0x00FFF8 */
u
int64_t
data127_64
[
512
];
/* 0x010000 -- 0x010FF8 */
u
int64_t
parity
[
512
];
/* 0x011000 -- 0x011FF8 */
u
64
data63_0
[
512
];
/* 0x00F000 -- 0x00FFF8 */
u
64
data127_64
[
512
];
/* 0x010000 -- 0x010FF8 */
u
64
parity
[
512
];
/* 0x011000 -- 0x011FF8 */
}
ce_ure_maint_ups_hdr1
;
/* Upstream Data Buffer, Port2 */
struct
ce_ure_maint_ups_dat2_data
{
u
int64_t
data63_0
[
512
];
/* 0x012000 -- 0x012FF8 */
u
int64_t
data127_64
[
512
];
/* 0x013000 -- 0x013FF8 */
u
int64_t
parity
[
512
];
/* 0x014000 -- 0x014FF8 */
u
64
data63_0
[
512
];
/* 0x012000 -- 0x012FF8 */
u
64
data127_64
[
512
];
/* 0x013000 -- 0x013FF8 */
u
64
parity
[
512
];
/* 0x014000 -- 0x014FF8 */
}
ce_ure_maint_ups_dat2
;
/* Upstream Header Buffer, Port2 */
struct
ce_ure_maint_ups_hdr2_data
{
u
int64_t
data63_0
[
512
];
/* 0x015000 -- 0x015FF8 */
u
int64_t
data127_64
[
512
];
/* 0x016000 -- 0x016FF8 */
u
int64_t
parity
[
512
];
/* 0x017000 -- 0x017FF8 */
u
64
data63_0
[
512
];
/* 0x015000 -- 0x015FF8 */
u
64
data127_64
[
512
];
/* 0x016000 -- 0x016FF8 */
u
64
parity
[
512
];
/* 0x017000 -- 0x017FF8 */
}
ce_ure_maint_ups_hdr2
;
/* Downstream Data Buffer */
struct
ce_ure_maint_dns_dat_data
{
u
int64_t
data63_0
[
512
];
/* 0x018000 -- 0x018FF8 */
u
int64_t
data127_64
[
512
];
/* 0x019000 -- 0x019FF8 */
u
int64_t
parity
[
512
];
/* 0x01A000 -- 0x01AFF8 */
u
64
data63_0
[
512
];
/* 0x018000 -- 0x018FF8 */
u
64
data127_64
[
512
];
/* 0x019000 -- 0x019FF8 */
u
64
parity
[
512
];
/* 0x01A000 -- 0x01AFF8 */
}
ce_ure_maint_dns_dat
;
/* Downstream Header Buffer */
struct
ce_ure_maint_dns_hdr_data
{
u
int64_t
data31_0
[
64
];
/* 0x01B000 -- 0x01B1F8 */
u
int64_t
data95_32
[
64
];
/* 0x01B200 -- 0x01B3F8 */
u
int64_t
parity
[
64
];
/* 0x01B400 -- 0x01B5F8 */
u
64
data31_0
[
64
];
/* 0x01B000 -- 0x01B1F8 */
u
64
data95_32
[
64
];
/* 0x01B200 -- 0x01B3F8 */
u
64
parity
[
64
];
/* 0x01B400 -- 0x01B5F8 */
}
ce_ure_maint_dns_hdr
;
/* RCI Buffer Data */
struct
ce_ure_maint_rci_data
{
u
int64_t
data41_0
[
64
];
/* 0x01B600 -- 0x01B7F8 */
u
int64_t
data69_42
[
64
];
/* 0x01B800 -- 0x01B9F8 */
u
64
data41_0
[
64
];
/* 0x01B600 -- 0x01B7F8 */
u
64
data69_42
[
64
];
/* 0x01B800 -- 0x01B9F8 */
}
ce_ure_maint_rci
;
/* Response Queue */
u
int64_t
ce_ure_maint_rspq
[
64
];
/* 0x01BA00 -- 0x01BBF8 */
u
64
ce_ure_maint_rspq
[
64
];
/* 0x01BA00 -- 0x01BBF8 */
u
int64_t
ce_pad_01C000
[
4224
];
/* 0x01BC00 -- 0x023FF8 */
u
64
ce_pad_01C000
[
4224
];
/* 0x01BC00 -- 0x023FF8 */
/* Admin Build-a-Packet Buffer */
struct
ce_adm_maint_bap_buf_data
{
u
int64_t
data63_0
[
258
];
/* 0x024000 -- 0x024808 */
u
int64_t
data127_64
[
258
];
/* 0x024810 -- 0x025018 */
u
int64_t
parity
[
258
];
/* 0x025020 -- 0x025828 */
u
64
data63_0
[
258
];
/* 0x024000 -- 0x024808 */
u
64
data127_64
[
258
];
/* 0x024810 -- 0x025018 */
u
64
parity
[
258
];
/* 0x025020 -- 0x025828 */
}
ce_adm_maint_bap_buf
;
u
int64_t
ce_pad_025830
[
5370
];
/* 0x025830 -- 0x02FFF8 */
u
64
ce_pad_025830
[
5370
];
/* 0x025830 -- 0x02FFF8 */
/* URE: 40bit PMU ATE Buffer */
/* 0x030000 -- 0x037FF8 */
u
int64_t
ce_ure_ate40
[
TIOCE_NUM_M40_ATES
];
u
64
ce_ure_ate40
[
TIOCE_NUM_M40_ATES
];
/* URE: 32/40bit PMU ATE Buffer */
/* 0x038000 -- 0x03BFF8 */
u
int64_t
ce_ure_ate3240
[
TIOCE_NUM_M3240_ATES
];
u
64
ce_ure_ate3240
[
TIOCE_NUM_M3240_ATES
];
u
int64_t
ce_pad_03C000
[
2050
];
/* 0x03C000 -- 0x040008 */
u
64
ce_pad_03C000
[
2050
];
/* 0x03C000 -- 0x040008 */
/*
* DRE: Down Stream Request Engine
*/
u
int64_t
ce_dre_dyn_credit_status1
;
/* 0x040010 */
u
int64_t
ce_dre_dyn_credit_status2
;
/* 0x040018 */
u
int64_t
ce_dre_last_credit_status1
;
/* 0x040020 */
u
int64_t
ce_dre_last_credit_status2
;
/* 0x040028 */
u
int64_t
ce_dre_credit_limit1
;
/* 0x040030 */
u
int64_t
ce_dre_credit_limit2
;
/* 0x040038 */
u
int64_t
ce_dre_force_credit1
;
/* 0x040040 */
u
int64_t
ce_dre_force_credit2
;
/* 0x040048 */
u
int64_t
ce_dre_debug_mux1
;
/* 0x040050 */
u
int64_t
ce_dre_debug_mux2
;
/* 0x040058 */
u
int64_t
ce_dre_ssp_err_cmd_wrd
;
/* 0x040060 */
u
int64_t
ce_dre_ssp_err_addr
;
/* 0x040068 */
u
int64_t
ce_dre_comp_err_cmd_wrd
;
/* 0x040070 */
u
int64_t
ce_dre_comp_err_addr
;
/* 0x040078 */
u
int64_t
ce_dre_req_status
;
/* 0x040080 */
u
int64_t
ce_dre_config1
;
/* 0x040088 */
u
int64_t
ce_dre_config2
;
/* 0x040090 */
u
int64_t
ce_dre_config_req_status
;
/* 0x040098 */
u
int64_t
ce_pad_0400A0
[
12
];
/* 0x0400A0 -- 0x0400F8 */
u
int64_t
ce_dre_dyn_fifo
;
/* 0x040100 */
u
int64_t
ce_pad_040108
[
3
];
/* 0x040108 -- 0x040118 */
u
int64_t
ce_dre_last_fifo
;
/* 0x040120 */
u
int64_t
ce_pad_040128
[
27
];
/* 0x040128 -- 0x0401F8 */
u
64
ce_dre_dyn_credit_status1
;
/* 0x040010 */
u
64
ce_dre_dyn_credit_status2
;
/* 0x040018 */
u
64
ce_dre_last_credit_status1
;
/* 0x040020 */
u
64
ce_dre_last_credit_status2
;
/* 0x040028 */
u
64
ce_dre_credit_limit1
;
/* 0x040030 */
u
64
ce_dre_credit_limit2
;
/* 0x040038 */
u
64
ce_dre_force_credit1
;
/* 0x040040 */
u
64
ce_dre_force_credit2
;
/* 0x040048 */
u
64
ce_dre_debug_mux1
;
/* 0x040050 */
u
64
ce_dre_debug_mux2
;
/* 0x040058 */
u
64
ce_dre_ssp_err_cmd_wrd
;
/* 0x040060 */
u
64
ce_dre_ssp_err_addr
;
/* 0x040068 */
u
64
ce_dre_comp_err_cmd_wrd
;
/* 0x040070 */
u
64
ce_dre_comp_err_addr
;
/* 0x040078 */
u
64
ce_dre_req_status
;
/* 0x040080 */
u
64
ce_dre_config1
;
/* 0x040088 */
u
64
ce_dre_config2
;
/* 0x040090 */
u
64
ce_dre_config_req_status
;
/* 0x040098 */
u
64
ce_pad_0400A0
[
12
];
/* 0x0400A0 -- 0x0400F8 */
u
64
ce_dre_dyn_fifo
;
/* 0x040100 */
u
64
ce_pad_040108
[
3
];
/* 0x040108 -- 0x040118 */
u
64
ce_dre_last_fifo
;
/* 0x040120 */
u
64
ce_pad_040128
[
27
];
/* 0x040128 -- 0x0401F8 */
/* DRE Downstream Head Queue */
struct
ce_dre_maint_ds_head_queue
{
u
int64_t
data63_0
[
32
];
/* 0x040200 -- 0x0402F8 */
u
int64_t
data127_64
[
32
];
/* 0x040300 -- 0x0403F8 */
u
int64_t
parity
[
32
];
/* 0x040400 -- 0x0404F8 */
u
64
data63_0
[
32
];
/* 0x040200 -- 0x0402F8 */
u
64
data127_64
[
32
];
/* 0x040300 -- 0x0403F8 */
u
64
parity
[
32
];
/* 0x040400 -- 0x0404F8 */
}
ce_dre_maint_ds_head_q
;
u
int64_t
ce_pad_040500
[
352
];
/* 0x040500 -- 0x040FF8 */
u
64
ce_pad_040500
[
352
];
/* 0x040500 -- 0x040FF8 */
/* DRE Downstream Data Queue */
struct
ce_dre_maint_ds_data_queue
{
u
int64_t
data63_0
[
256
];
/* 0x041000 -- 0x0417F8 */
u
int64_t
ce_pad_041800
[
256
];
/* 0x041800 -- 0x041FF8 */
u
int64_t
data127_64
[
256
];
/* 0x042000 -- 0x0427F8 */
u
int64_t
ce_pad_042800
[
256
];
/* 0x042800 -- 0x042FF8 */
u
int64_t
parity
[
256
];
/* 0x043000 -- 0x0437F8 */
u
int64_t
ce_pad_043800
[
256
];
/* 0x043800 -- 0x043FF8 */
u
64
data63_0
[
256
];
/* 0x041000 -- 0x0417F8 */
u
64
ce_pad_041800
[
256
];
/* 0x041800 -- 0x041FF8 */
u
64
data127_64
[
256
];
/* 0x042000 -- 0x0427F8 */
u
64
ce_pad_042800
[
256
];
/* 0x042800 -- 0x042FF8 */
u
64
parity
[
256
];
/* 0x043000 -- 0x0437F8 */
u
64
ce_pad_043800
[
256
];
/* 0x043800 -- 0x043FF8 */
}
ce_dre_maint_ds_data_q
;
/* DRE URE Upstream Response Queue */
struct
ce_dre_maint_ure_us_rsp_queue
{
u
int64_t
data63_0
[
8
];
/* 0x044000 -- 0x044038 */
u
int64_t
ce_pad_044040
[
24
];
/* 0x044040 -- 0x0440F8 */
u
int64_t
data127_64
[
8
];
/* 0x044100 -- 0x044138 */
u
int64_t
ce_pad_044140
[
24
];
/* 0x044140 -- 0x0441F8 */
u
int64_t
parity
[
8
];
/* 0x044200 -- 0x044238 */
u
int64_t
ce_pad_044240
[
24
];
/* 0x044240 -- 0x0442F8 */
u
64
data63_0
[
8
];
/* 0x044000 -- 0x044038 */
u
64
ce_pad_044040
[
24
];
/* 0x044040 -- 0x0440F8 */
u
64
data127_64
[
8
];
/* 0x044100 -- 0x044138 */
u
64
ce_pad_044140
[
24
];
/* 0x044140 -- 0x0441F8 */
u
64
parity
[
8
];
/* 0x044200 -- 0x044238 */
u
64
ce_pad_044240
[
24
];
/* 0x044240 -- 0x0442F8 */
}
ce_dre_maint_ure_us_rsp_q
;
u
int64_t
ce_dre_maint_us_wrt_rsp
[
32
];
/* 0x044300 -- 0x0443F8 */
u
64
ce_dre_maint_us_wrt_rsp
[
32
];
/* 0x044300 -- 0x0443F8 */
u
int64_t
ce_end_of_struct
;
/* 0x044400 */
u
64
ce_end_of_struct
;
/* 0x044400 */
}
tioce_t
;
...
...
@@ -625,11 +625,11 @@ typedef volatile struct tioce {
#define CE_URE_BUS_MASK (0xFFULL << BUS_SRC_ID_SHFT)
#define CE_URE_DEV_MASK (0x1FULL << DEV_SRC_ID_SHFT)
#define CE_URE_FNC_MASK (0x07ULL << FNC_SRC_ID_SHFT)
#define CE_URE_PIPE_BUS(b) (((u
int64_t
)(b) << BUS_SRC_ID_SHFT) & \
#define CE_URE_PIPE_BUS(b) (((u
64
)(b) << BUS_SRC_ID_SHFT) & \
CE_URE_BUS_MASK)
#define CE_URE_PIPE_DEV(d) (((u
int64_t
)(d) << DEV_SRC_ID_SHFT) & \
#define CE_URE_PIPE_DEV(d) (((u
64
)(d) << DEV_SRC_ID_SHFT) & \
CE_URE_DEV_MASK)
#define CE_URE_PIPE_FNC(f) (((u
int64_t
)(f) << FNC_SRC_ID_SHFT) & \
#define CE_URE_PIPE_FNC(f) (((u
64
)(f) << FNC_SRC_ID_SHFT) & \
CE_URE_FNC_MASK)
#define CE_URE_SEL1_SHFT 0
...
...
@@ -660,9 +660,9 @@ typedef volatile struct tioce {
#define CE_URE_PN1_MASK (0xFFULL << CE_URE_PN1_SHFT)
#define CE_URE_PN2_SHFT 24
#define CE_URE_PN2_MASK (0xFFULL << CE_URE_PN2_SHFT)
#define CE_URE_PN1_SET(n) (((u
int64_t
)(n) << CE_URE_PN1_SHFT) & \
#define CE_URE_PN1_SET(n) (((u
64
)(n) << CE_URE_PN1_SHFT) & \
CE_URE_PN1_MASK)
#define CE_URE_PN2_SET(n) (((u
int64_t
)(n) << CE_URE_PN2_SHFT) & \
#define CE_URE_PN2_SET(n) (((u
64
)(n) << CE_URE_PN2_SHFT) & \
CE_URE_PN2_MASK)
/* ce_ure_pcie_control2 register bit masks & shifts */
...
...
@@ -681,9 +681,9 @@ typedef volatile struct tioce {
#define CE_URE_PSN1_MASK (0x1FFFULL << CE_URE_PSN1_SHFT)
#define CE_URE_PSN2_SHFT 32
#define CE_URE_PSN2_MASK (0x1FFFULL << CE_URE_PSN2_SHFT)
#define CE_URE_PSN1_SET(n) (((u
int64_t
)(n) << CE_URE_PSN1_SHFT) & \
#define CE_URE_PSN1_SET(n) (((u
64
)(n) << CE_URE_PSN1_SHFT) & \
CE_URE_PSN1_MASK)
#define CE_URE_PSN2_SET(n) (((u
int64_t
)(n) << CE_URE_PSN2_SHFT) & \
#define CE_URE_PSN2_SET(n) (((u
64
)(n) << CE_URE_PSN2_SHFT) & \
CE_URE_PSN2_MASK)
/*
...
...
include/asm-ia64/sn/tioce_provider.h
View file @
a1bc5cdf
...
...
@@ -21,9 +21,9 @@
struct
tioce_common
{
struct
pcibus_bussoft
ce_pcibus
;
/* common pciio header */
u
int32_t
ce_rev
;
u
int64_t
ce_kernel_private
;
u
int64_t
ce_prom_private
;
u
32
ce_rev
;
u
64
ce_kernel_private
;
u
64
ce_prom_private
;
};
struct
tioce_kernel
{
...
...
@@ -31,31 +31,31 @@ struct tioce_kernel {
spinlock_t
ce_lock
;
struct
list_head
ce_dmamap_list
;
u
int64_t
ce_ate40_shadow
[
TIOCE_NUM_M40_ATES
];
u
int64_t
ce_ate3240_shadow
[
TIOCE_NUM_M3240_ATES
];
u
int32_t
ce_ate3240_pagesize
;
u
64
ce_ate40_shadow
[
TIOCE_NUM_M40_ATES
];
u
64
ce_ate3240_shadow
[
TIOCE_NUM_M3240_ATES
];
u
32
ce_ate3240_pagesize
;
u
int8_t
ce_port1_secondary
;
u
8
ce_port1_secondary
;
/* per-port resources */
struct
{
int
dirmap_refcnt
;
u
int64_t
dirmap_shadow
;
u
64
dirmap_shadow
;
}
ce_port
[
TIOCE_NUM_PORTS
];
};
struct
tioce_dmamap
{
struct
list_head
ce_dmamap_list
;
/* headed by tioce_kernel */
u
int32_t
refcnt
;
u
32
refcnt
;
u
int64_t
nbytes
;
/* # bytes mapped */
u
64
nbytes
;
/* # bytes mapped */
u
int64_t
ct_start
;
/* coretalk start address */
u
int64_t
pci_start
;
/* bus start address */
u
64
ct_start
;
/* coretalk start address */
u
64
pci_start
;
/* bus start address */
u
int64_t
*
ate_hw
;
/* hw ptr of first ate in map */
u
int64_t
*
ate_shadow
;
/* shadow ptr of firat ate */
u
int16_t
ate_count
;
/* # ate's in the map */
u
64
*
ate_hw
;
/* hw ptr of first ate in map */
u
64
*
ate_shadow
;
/* shadow ptr of firat ate */
u
16
ate_count
;
/* # ate's in the map */
};
extern
int
tioce_init_provider
(
void
);
...
...
include/asm-ia64/sn/tiocp.h
View file @
a1bc5cdf
...
...
@@ -21,189 +21,189 @@ struct tiocp{
/* 0x000000-0x00FFFF -- Local Registers */
/* 0x000000-0x000057 -- (Legacy Widget Space) Configuration */
u
int64_t
cp_id
;
/* 0x000000 */
u
int64_t
cp_stat
;
/* 0x000008 */
u
int64_t
cp_err_upper
;
/* 0x000010 */
u
int64_t
cp_err_lower
;
/* 0x000018 */
u
64
cp_id
;
/* 0x000000 */
u
64
cp_stat
;
/* 0x000008 */
u
64
cp_err_upper
;
/* 0x000010 */
u
64
cp_err_lower
;
/* 0x000018 */
#define cp_err cp_err_lower
u
int64_t
cp_control
;
/* 0x000020 */
u
int64_t
cp_req_timeout
;
/* 0x000028 */
u
int64_t
cp_intr_upper
;
/* 0x000030 */
u
int64_t
cp_intr_lower
;
/* 0x000038 */
u
64
cp_control
;
/* 0x000020 */
u
64
cp_req_timeout
;
/* 0x000028 */
u
64
cp_intr_upper
;
/* 0x000030 */
u
64
cp_intr_lower
;
/* 0x000038 */
#define cp_intr cp_intr_lower
u
int64_t
cp_err_cmdword
;
/* 0x000040 */
u
int64_t
_pad_000048
;
/* 0x000048 */
u
int64_t
cp_tflush
;
/* 0x000050 */
u
64
cp_err_cmdword
;
/* 0x000040 */
u
64
_pad_000048
;
/* 0x000048 */
u
64
cp_tflush
;
/* 0x000050 */
/* 0x000058-0x00007F -- Bridge-specific Configuration */
u
int64_t
cp_aux_err
;
/* 0x000058 */
u
int64_t
cp_resp_upper
;
/* 0x000060 */
u
int64_t
cp_resp_lower
;
/* 0x000068 */
u
64
cp_aux_err
;
/* 0x000058 */
u
64
cp_resp_upper
;
/* 0x000060 */
u
64
cp_resp_lower
;
/* 0x000068 */
#define cp_resp cp_resp_lower
u
int64_t
cp_tst_pin_ctrl
;
/* 0x000070 */
u
int64_t
cp_addr_lkerr
;
/* 0x000078 */
u
64
cp_tst_pin_ctrl
;
/* 0x000070 */
u
64
cp_addr_lkerr
;
/* 0x000078 */
/* 0x000080-0x00008F -- PMU & MAP */
u
int64_t
cp_dir_map
;
/* 0x000080 */
u
int64_t
_pad_000088
;
/* 0x000088 */
u
64
cp_dir_map
;
/* 0x000080 */
u
64
_pad_000088
;
/* 0x000088 */
/* 0x000090-0x00009F -- SSRAM */
u
int64_t
cp_map_fault
;
/* 0x000090 */
u
int64_t
_pad_000098
;
/* 0x000098 */
u
64
cp_map_fault
;
/* 0x000090 */
u
64
_pad_000098
;
/* 0x000098 */
/* 0x0000A0-0x0000AF -- Arbitration */
u
int64_t
cp_arb
;
/* 0x0000A0 */
u
int64_t
_pad_0000A8
;
/* 0x0000A8 */
u
64
cp_arb
;
/* 0x0000A0 */
u
64
_pad_0000A8
;
/* 0x0000A8 */
/* 0x0000B0-0x0000BF -- Number In A Can or ATE Parity Error */
u
int64_t
cp_ate_parity_err
;
/* 0x0000B0 */
u
int64_t
_pad_0000B8
;
/* 0x0000B8 */
u
64
cp_ate_parity_err
;
/* 0x0000B0 */
u
64
_pad_0000B8
;
/* 0x0000B8 */
/* 0x0000C0-0x0000FF -- PCI/GIO */
u
int64_t
cp_bus_timeout
;
/* 0x0000C0 */
u
int64_t
cp_pci_cfg
;
/* 0x0000C8 */
u
int64_t
cp_pci_err_upper
;
/* 0x0000D0 */
u
int64_t
cp_pci_err_lower
;
/* 0x0000D8 */
u
64
cp_bus_timeout
;
/* 0x0000C0 */
u
64
cp_pci_cfg
;
/* 0x0000C8 */
u
64
cp_pci_err_upper
;
/* 0x0000D0 */
u
64
cp_pci_err_lower
;
/* 0x0000D8 */
#define cp_pci_err cp_pci_err_lower
u
int64_t
_pad_0000E0
[
4
];
/* 0x0000{E0..F8} */
u
64
_pad_0000E0
[
4
];
/* 0x0000{E0..F8} */
/* 0x000100-0x0001FF -- Interrupt */
u
int64_t
cp_int_status
;
/* 0x000100 */
u
int64_t
cp_int_enable
;
/* 0x000108 */
u
int64_t
cp_int_rst_stat
;
/* 0x000110 */
u
int64_t
cp_int_mode
;
/* 0x000118 */
u
int64_t
cp_int_device
;
/* 0x000120 */
u
int64_t
cp_int_host_err
;
/* 0x000128 */
u
int64_t
cp_int_addr
[
8
];
/* 0x0001{30,,,68} */
u
int64_t
cp_err_int_view
;
/* 0x000170 */
u
int64_t
cp_mult_int
;
/* 0x000178 */
u
int64_t
cp_force_always
[
8
];
/* 0x0001{80,,,B8} */
u
int64_t
cp_force_pin
[
8
];
/* 0x0001{C0,,,F8} */
u
64
cp_int_status
;
/* 0x000100 */
u
64
cp_int_enable
;
/* 0x000108 */
u
64
cp_int_rst_stat
;
/* 0x000110 */
u
64
cp_int_mode
;
/* 0x000118 */
u
64
cp_int_device
;
/* 0x000120 */
u
64
cp_int_host_err
;
/* 0x000128 */
u
64
cp_int_addr
[
8
];
/* 0x0001{30,,,68} */
u
64
cp_err_int_view
;
/* 0x000170 */
u
64
cp_mult_int
;
/* 0x000178 */
u
64
cp_force_always
[
8
];
/* 0x0001{80,,,B8} */
u
64
cp_force_pin
[
8
];
/* 0x0001{C0,,,F8} */
/* 0x000200-0x000298 -- Device */
u
int64_t
cp_device
[
4
];
/* 0x0002{00,,,18} */
u
int64_t
_pad_000220
[
4
];
/* 0x0002{20,,,38} */
u
int64_t
cp_wr_req_buf
[
4
];
/* 0x0002{40,,,58} */
u
int64_t
_pad_000260
[
4
];
/* 0x0002{60,,,78} */
u
int64_t
cp_rrb_map
[
2
];
/* 0x0002{80,,,88} */
u
64
cp_device
[
4
];
/* 0x0002{00,,,18} */
u
64
_pad_000220
[
4
];
/* 0x0002{20,,,38} */
u
64
cp_wr_req_buf
[
4
];
/* 0x0002{40,,,58} */
u
64
_pad_000260
[
4
];
/* 0x0002{60,,,78} */
u
64
cp_rrb_map
[
2
];
/* 0x0002{80,,,88} */
#define cp_even_resp cp_rrb_map[0]
/* 0x000280 */
#define cp_odd_resp cp_rrb_map[1]
/* 0x000288 */
u
int64_t
cp_resp_status
;
/* 0x000290 */
u
int64_t
cp_resp_clear
;
/* 0x000298 */
u
64
cp_resp_status
;
/* 0x000290 */
u
64
cp_resp_clear
;
/* 0x000298 */
u
int64_t
_pad_0002A0
[
12
];
/* 0x0002{A0..F8} */
u
64
_pad_0002A0
[
12
];
/* 0x0002{A0..F8} */
/* 0x000300-0x0003F8 -- Buffer Address Match Registers */
struct
{
u
int64_t
upper
;
/* 0x0003{00,,,F0} */
u
int64_t
lower
;
/* 0x0003{08,,,F8} */
u
64
upper
;
/* 0x0003{00,,,F0} */
u
64
lower
;
/* 0x0003{08,,,F8} */
}
cp_buf_addr_match
[
16
];
/* 0x000400-0x0005FF -- Performance Monitor Registers (even only) */
struct
{
u
int64_t
flush_w_touch
;
/* 0x000{400,,,5C0} */
u
int64_t
flush_wo_touch
;
/* 0x000{408,,,5C8} */
u
int64_t
inflight
;
/* 0x000{410,,,5D0} */
u
int64_t
prefetch
;
/* 0x000{418,,,5D8} */
u
int64_t
total_pci_retry
;
/* 0x000{420,,,5E0} */
u
int64_t
max_pci_retry
;
/* 0x000{428,,,5E8} */
u
int64_t
max_latency
;
/* 0x000{430,,,5F0} */
u
int64_t
clear_all
;
/* 0x000{438,,,5F8} */
u
64
flush_w_touch
;
/* 0x000{400,,,5C0} */
u
64
flush_wo_touch
;
/* 0x000{408,,,5C8} */
u
64
inflight
;
/* 0x000{410,,,5D0} */
u
64
prefetch
;
/* 0x000{418,,,5D8} */
u
64
total_pci_retry
;
/* 0x000{420,,,5E0} */
u
64
max_pci_retry
;
/* 0x000{428,,,5E8} */
u
64
max_latency
;
/* 0x000{430,,,5F0} */
u
64
clear_all
;
/* 0x000{438,,,5F8} */
}
cp_buf_count
[
8
];
/* 0x000600-0x0009FF -- PCI/X registers */
u
int64_t
cp_pcix_bus_err_addr
;
/* 0x000600 */
u
int64_t
cp_pcix_bus_err_attr
;
/* 0x000608 */
u
int64_t
cp_pcix_bus_err_data
;
/* 0x000610 */
u
int64_t
cp_pcix_pio_split_addr
;
/* 0x000618 */
u
int64_t
cp_pcix_pio_split_attr
;
/* 0x000620 */
u
int64_t
cp_pcix_dma_req_err_attr
;
/* 0x000628 */
u
int64_t
cp_pcix_dma_req_err_addr
;
/* 0x000630 */
u
int64_t
cp_pcix_timeout
;
/* 0x000638 */
u
64
cp_pcix_bus_err_addr
;
/* 0x000600 */
u
64
cp_pcix_bus_err_attr
;
/* 0x000608 */
u
64
cp_pcix_bus_err_data
;
/* 0x000610 */
u
64
cp_pcix_pio_split_addr
;
/* 0x000618 */
u
64
cp_pcix_pio_split_attr
;
/* 0x000620 */
u
64
cp_pcix_dma_req_err_attr
;
/* 0x000628 */
u
64
cp_pcix_dma_req_err_addr
;
/* 0x000630 */
u
64
cp_pcix_timeout
;
/* 0x000638 */
u
int64_t
_pad_000640
[
24
];
/* 0x000{640,,,6F8} */
u
64
_pad_000640
[
24
];
/* 0x000{640,,,6F8} */
/* 0x000700-0x000737 -- Debug Registers */
u
int64_t
cp_ct_debug_ctl
;
/* 0x000700 */
u
int64_t
cp_br_debug_ctl
;
/* 0x000708 */
u
int64_t
cp_mux3_debug_ctl
;
/* 0x000710 */
u
int64_t
cp_mux4_debug_ctl
;
/* 0x000718 */
u
int64_t
cp_mux5_debug_ctl
;
/* 0x000720 */
u
int64_t
cp_mux6_debug_ctl
;
/* 0x000728 */
u
int64_t
cp_mux7_debug_ctl
;
/* 0x000730 */
u
64
cp_ct_debug_ctl
;
/* 0x000700 */
u
64
cp_br_debug_ctl
;
/* 0x000708 */
u
64
cp_mux3_debug_ctl
;
/* 0x000710 */
u
64
cp_mux4_debug_ctl
;
/* 0x000718 */
u
64
cp_mux5_debug_ctl
;
/* 0x000720 */
u
64
cp_mux6_debug_ctl
;
/* 0x000728 */
u
64
cp_mux7_debug_ctl
;
/* 0x000730 */
u
int64_t
_pad_000738
[
89
];
/* 0x000{738,,,9F8} */
u
64
_pad_000738
[
89
];
/* 0x000{738,,,9F8} */
/* 0x000A00-0x000BFF -- PCI/X Read&Write Buffer */
struct
{
u
int64_t
cp_buf_addr
;
/* 0x000{A00,,,AF0} */
u
int64_t
cp_buf_attr
;
/* 0X000{A08,,,AF8} */
u
64
cp_buf_addr
;
/* 0x000{A00,,,AF0} */
u
64
cp_buf_attr
;
/* 0X000{A08,,,AF8} */
}
cp_pcix_read_buf_64
[
16
];
struct
{
u
int64_t
cp_buf_addr
;
/* 0x000{B00,,,BE0} */
u
int64_t
cp_buf_attr
;
/* 0x000{B08,,,BE8} */
u
int64_t
cp_buf_valid
;
/* 0x000{B10,,,BF0} */
u
int64_t
__pad1
;
/* 0x000{B18,,,BF8} */
u
64
cp_buf_addr
;
/* 0x000{B00,,,BE0} */
u
64
cp_buf_attr
;
/* 0x000{B08,,,BE8} */
u
64
cp_buf_valid
;
/* 0x000{B10,,,BF0} */
u
64
__pad1
;
/* 0x000{B18,,,BF8} */
}
cp_pcix_write_buf_64
[
8
];
/* End of Local Registers -- Start of Address Map space */
char
_pad_000c00
[
0x010000
-
0x000c00
];
char
_pad_000c00
[
0x010000
-
0x000c00
];
/* 0x010000-0x011FF8 -- Internal ATE RAM (Auto Parity Generation) */
u
int64_t
cp_int_ate_ram
[
1024
];
/* 0x010000-0x011FF8 */
u
64
cp_int_ate_ram
[
1024
];
/* 0x010000-0x011FF8 */
char
_pad_012000
[
0x14000
-
0x012000
];
char
_pad_012000
[
0x14000
-
0x012000
];
/* 0x014000-0x015FF8 -- Internal ATE RAM (Manual Parity Generation) */
u
int64_t
cp_int_ate_ram_mp
[
1024
];
/* 0x014000-0x015FF8 */
u
64
cp_int_ate_ram_mp
[
1024
];
/* 0x014000-0x015FF8 */
char
_pad_016000
[
0x18000
-
0x016000
];
char
_pad_016000
[
0x18000
-
0x016000
];
/* 0x18000-0x197F8 -- TIOCP Write Request Ram */
u
int64_t
cp_wr_req_lower
[
256
];
/* 0x18000 - 0x187F8 */
u
int64_t
cp_wr_req_upper
[
256
];
/* 0x18800 - 0x18FF8 */
u
int64_t
cp_wr_req_parity
[
256
];
/* 0x19000 - 0x197F8 */
u
64
cp_wr_req_lower
[
256
];
/* 0x18000 - 0x187F8 */
u
64
cp_wr_req_upper
[
256
];
/* 0x18800 - 0x18FF8 */
u
64
cp_wr_req_parity
[
256
];
/* 0x19000 - 0x197F8 */
char
_pad_019800
[
0x1C000
-
0x019800
];
char
_pad_019800
[
0x1C000
-
0x019800
];
/* 0x1C000-0x1EFF8 -- TIOCP Read Response Ram */
u
int64_t
cp_rd_resp_lower
[
512
];
/* 0x1C000 - 0x1CFF8 */
u
int64_t
cp_rd_resp_upper
[
512
];
/* 0x1D000 - 0x1DFF8 */
u
int64_t
cp_rd_resp_parity
[
512
];
/* 0x1E000 - 0x1EFF8 */
u
64
cp_rd_resp_lower
[
512
];
/* 0x1C000 - 0x1CFF8 */
u
64
cp_rd_resp_upper
[
512
];
/* 0x1D000 - 0x1DFF8 */
u
64
cp_rd_resp_parity
[
512
];
/* 0x1E000 - 0x1EFF8 */
char
_pad_01F000
[
0x20000
-
0x01F000
];
char
_pad_01F000
[
0x20000
-
0x01F000
];
/* 0x020000-0x021FFF -- Host Device (CP) Configuration Space (not used) */
char
_pad_020000
[
0x021000
-
0x20000
];
char
_pad_020000
[
0x021000
-
0x20000
];
/* 0x021000-0x027FFF -- PCI Device Configuration Spaces */
union
{
u
int8_t
c
[
0x1000
/
1
];
/* 0x02{0000,,,7FFF} */
u
int16_t
s
[
0x1000
/
2
];
/* 0x02{0000,,,7FFF} */
u
int32_t
l
[
0x1000
/
4
];
/* 0x02{0000,,,7FFF} */
u
int64_t
d
[
0x1000
/
8
];
/* 0x02{0000,,,7FFF} */
u
8
c
[
0x1000
/
1
];
/* 0x02{0000,,,7FFF} */
u
16
s
[
0x1000
/
2
];
/* 0x02{0000,,,7FFF} */
u
32
l
[
0x1000
/
4
];
/* 0x02{0000,,,7FFF} */
u
64
d
[
0x1000
/
8
];
/* 0x02{0000,,,7FFF} */
union
{
u
int8_t
c
[
0x100
/
1
];
u
int16_t
s
[
0x100
/
2
];
u
int32_t
l
[
0x100
/
4
];
u
int64_t
d
[
0x100
/
8
];
u
8
c
[
0x100
/
1
];
u
16
s
[
0x100
/
2
];
u
32
l
[
0x100
/
4
];
u
64
d
[
0x100
/
8
];
}
f
[
8
];
}
cp_type0_cfg_dev
[
7
];
/* 0x02{1000,,,7FFF} */
/* 0x028000-0x028FFF -- PCI Type 1 Configuration Space */
union
{
u
int8_t
c
[
0x1000
/
1
];
/* 0x028000-0x029000 */
u
int16_t
s
[
0x1000
/
2
];
/* 0x028000-0x029000 */
u
int32_t
l
[
0x1000
/
4
];
/* 0x028000-0x029000 */
u
int64_t
d
[
0x1000
/
8
];
/* 0x028000-0x029000 */
u
8
c
[
0x1000
/
1
];
/* 0x028000-0x029000 */
u
16
s
[
0x1000
/
2
];
/* 0x028000-0x029000 */
u
32
l
[
0x1000
/
4
];
/* 0x028000-0x029000 */
u
64
d
[
0x1000
/
8
];
/* 0x028000-0x029000 */
union
{
u
int8_t
c
[
0x100
/
1
];
u
int16_t
s
[
0x100
/
2
];
u
int32_t
l
[
0x100
/
4
];
u
int64_t
d
[
0x100
/
8
];
u
8
c
[
0x100
/
1
];
u
16
s
[
0x100
/
2
];
u
32
l
[
0x100
/
4
];
u
64
d
[
0x100
/
8
];
}
f
[
8
];
}
cp_type1_cfg
;
/* 0x028000-0x029000 */
...
...
@@ -211,30 +211,30 @@ struct tiocp{
/* 0x030000-0x030007 -- PCI Interrupt Acknowledge Cycle */
union
{
u
int8_t
c
[
8
/
1
];
u
int16_t
s
[
8
/
2
];
u
int32_t
l
[
8
/
4
];
u
int64_t
d
[
8
/
8
];
u
8
c
[
8
/
1
];
u
16
s
[
8
/
2
];
u
32
l
[
8
/
4
];
u
64
d
[
8
/
8
];
}
cp_pci_iack
;
/* 0x030000-0x030007 */
char
_pad_030007
[
0x040000
-
0x030008
];
/* 0x040000-0x040007 -- PCIX Special Cycle */
union
{
u
int8_t
c
[
8
/
1
];
u
int16_t
s
[
8
/
2
];
u
int32_t
l
[
8
/
4
];
u
int64_t
d
[
8
/
8
];
u
8
c
[
8
/
1
];
u
16
s
[
8
/
2
];
u
32
l
[
8
/
4
];
u
64
d
[
8
/
8
];
}
cp_pcix_cycle
;
/* 0x040000-0x040007 */
char
_pad_040007
[
0x200000
-
0x040008
];
/* 0x200000-0x7FFFFF -- PCI/GIO Device Spaces */
union
{
u
int8_t
c
[
0x100000
/
1
];
u
int16_t
s
[
0x100000
/
2
];
u
int32_t
l
[
0x100000
/
4
];
u
int64_t
d
[
0x100000
/
8
];
u
8
c
[
0x100000
/
1
];
u
16
s
[
0x100000
/
2
];
u
32
l
[
0x100000
/
4
];
u
64
d
[
0x100000
/
8
];
}
cp_devio_raw
[
6
];
/* 0x200000-0x7FFFFF */
#define cp_devio(n) cp_devio_raw[((n)<2)?(n*2):(n+2)]
...
...
@@ -243,10 +243,10 @@ struct tiocp{
/* 0xA00000-0xBFFFFF -- PCI/GIO Device Spaces w/flush */
union
{
u
int8_t
c
[
0x100000
/
1
];
u
int16_t
s
[
0x100000
/
2
];
u
int32_t
l
[
0x100000
/
4
];
u
int64_t
d
[
0x100000
/
8
];
u
8
c
[
0x100000
/
1
];
u
16
s
[
0x100000
/
2
];
u
32
l
[
0x100000
/
4
];
u
64
d
[
0x100000
/
8
];
}
cp_devio_raw_flush
[
6
];
/* 0xA00000-0xBFFFFF */
#define cp_devio_flush(n) cp_devio_raw_flush[((n)<2)?(n*2):(n+2)]
...
...
include/asm-ia64/sn/tiocx.h
View file @
a1bc5cdf
...
...
@@ -40,10 +40,10 @@ struct cx_drv {
};
/* create DMA address by stripping AS bits */
#define TIOCX_DMA_ADDR(a) (u
int64_t)((uint64_t
)(a) & 0xffffcfffffffffUL)
#define TIOCX_DMA_ADDR(a) (u
64)((u64
)(a) & 0xffffcfffffffffUL)
#define TIOCX_TO_TIOCX_DMA_ADDR(a) (u
int64_t)(((uint64_t
)(a) & 0xfffffffff) | \
((((u
int64_t
)(a)) & 0xffffc000000000UL) <<2))
#define TIOCX_TO_TIOCX_DMA_ADDR(a) (u
64)(((u64
)(a) & 0xfffffffff) | \
((((u
64
)(a)) & 0xffffc000000000UL) <<2))
#define TIO_CE_ASIC_PARTNUM 0xce00
#define TIOCX_CORELET 3
...
...
@@ -63,10 +63,10 @@ extern int cx_device_unregister(struct cx_dev *);
extern
int
cx_device_register
(
nasid_t
,
int
,
int
,
struct
hubdev_info
*
,
int
);
extern
int
cx_driver_unregister
(
struct
cx_drv
*
);
extern
int
cx_driver_register
(
struct
cx_drv
*
);
extern
u
int64_t
tiocx_dma_addr
(
uint64_t
addr
);
extern
u
int64_t
tiocx_swin_base
(
int
nasid
);
extern
void
tiocx_mmr_store
(
int
nasid
,
u
int64_t
offset
,
uint64_t
value
);
extern
u
int64_t
tiocx_mmr_load
(
int
nasid
,
uint64_t
offset
);
extern
u
64
tiocx_dma_addr
(
u64
addr
);
extern
u
64
tiocx_swin_base
(
int
nasid
);
extern
void
tiocx_mmr_store
(
int
nasid
,
u
64
offset
,
u64
value
);
extern
u
64
tiocx_mmr_load
(
int
nasid
,
u64
offset
);
#endif // __KERNEL__
#endif // _ASM_IA64_SN_TIO_TIOCX__
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