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
1d8f38f4
Commit
1d8f38f4
authored
Oct 29, 2010
by
Chris Wilson
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/i915: Record BLT engine error state
Signed-off-by:
Chris Wilson
<
chris@chris-wilson.co.uk
>
parent
33626e6a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
30 additions
and
7 deletions
+30
-7
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/i915_debugfs.c
+13
-6
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_drv.h
+6
-1
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_irq.c
+7
-0
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/i915_reg.h
+4
-0
No files found.
drivers/gpu/drm/i915/i915_debugfs.c
View file @
1d8f38f4
...
...
@@ -616,21 +616,28 @@ static int i915_error_state(struct seq_file *m, void *unused)
seq_printf
(
m
,
"Time: %ld s %ld us
\n
"
,
error
->
time
.
tv_sec
,
error
->
time
.
tv_usec
);
seq_printf
(
m
,
"PCI ID: 0x%04x
\n
"
,
dev
->
pci_device
);
seq_printf
(
m
,
"EIR: 0x%08x
\n
"
,
error
->
eir
);
seq_printf
(
m
,
"PGTBL_ER: 0x%08x
\n
"
,
error
->
pgtbl_er
);
if
(
INTEL_INFO
(
dev
)
->
gen
>=
6
)
{
seq_printf
(
m
,
"ERROR: 0x%08x
\n
"
,
error
->
error
);
seq_printf
(
m
,
"Blitter command stream:
\n
"
);
seq_printf
(
m
,
" ACTHD: 0x%08x
\n
"
,
error
->
bcs_acthd
);
seq_printf
(
m
,
" IPEHR: 0x%08x
\n
"
,
error
->
bcs_ipehr
);
seq_printf
(
m
,
" IPEIR: 0x%08x
\n
"
,
error
->
bcs_ipeir
);
seq_printf
(
m
,
" INSTDONE: 0x%08x
\n
"
,
error
->
bcs_instdone
);
seq_printf
(
m
,
" seqno: 0x%08x
\n
"
,
error
->
bcs_seqno
);
}
seq_printf
(
m
,
"EIR: 0x%08x
\n
"
,
error
->
eir
);
seq_printf
(
m
,
" PGTBL_ER: 0x%08x
\n
"
,
error
->
pgtbl_er
);
seq_printf
(
m
,
" INSTPM: 0x%08x
\n
"
,
error
->
instpm
);
seq_printf
(
m
,
"Render command stream:
\n
"
);
seq_printf
(
m
,
" ACTHD: 0x%08x
\n
"
,
error
->
acthd
);
seq_printf
(
m
,
" IPEIR: 0x%08x
\n
"
,
error
->
ipeir
);
seq_printf
(
m
,
" IPEHR: 0x%08x
\n
"
,
error
->
ipehr
);
seq_printf
(
m
,
" INSTDONE: 0x%08x
\n
"
,
error
->
instdone
);
seq_printf
(
m
,
" ACTHD: 0x%08x
\n
"
,
error
->
acthd
);
if
(
INTEL_INFO
(
dev
)
->
gen
>=
4
)
{
seq_printf
(
m
,
" INSTPS: 0x%08x
\n
"
,
error
->
instps
);
seq_printf
(
m
,
" INSTDONE1: 0x%08x
\n
"
,
error
->
instdone1
);
seq_printf
(
m
,
" INSTPS: 0x%08x
\n
"
,
error
->
instps
);
}
seq_printf
(
m
,
"seqno: 0x%08x
\n
"
,
error
->
seqno
);
seq_printf
(
m
,
" INSTPM: 0x%08x
\n
"
,
error
->
instpm
);
seq_printf
(
m
,
" seqno: 0x%08x
\n
"
,
error
->
seqno
);
if
(
error
->
active_bo_count
)
{
seq_printf
(
m
,
"Buffers [%d]:
\n
"
,
error
->
active_bo_count
);
...
...
drivers/gpu/drm/i915/i915_drv.h
View file @
1d8f38f4
...
...
@@ -142,13 +142,18 @@ struct sdvo_device_mapping {
struct
drm_i915_error_state
{
u32
eir
;
u32
pgtbl_er
;
u32
error
;
/* gen6+ */
u32
pipeastat
;
u32
pipebstat
;
u32
ipeir
;
u32
ipehr
;
u32
instdone
;
u32
acthd
;
u32
error
;
/* gen6+ */
u32
bcs_acthd
;
/* gen6+ blt engine */
u32
bcs_ipehr
;
u32
bcs_ipeir
;
u32
bcs_instdone
;
u32
bcs_seqno
;
u32
instpm
;
u32
instps
;
u32
instdone1
;
...
...
drivers/gpu/drm/i915/i915_irq.c
View file @
1d8f38f4
...
...
@@ -595,6 +595,13 @@ static void i915_capture_error_state(struct drm_device *dev)
error
->
error
=
0
;
if
(
INTEL_INFO
(
dev
)
->
gen
>=
6
)
{
error
->
error
=
I915_READ
(
ERROR_GEN6
);
error
->
bcs_acthd
=
I915_READ
(
BCS_ACTHD
);
error
->
bcs_ipehr
=
I915_READ
(
BCS_IPEHR
);
error
->
bcs_ipeir
=
I915_READ
(
BCS_IPEIR
);
error
->
bcs_instdone
=
I915_READ
(
BCS_INSTDONE
);
error
->
bcs_seqno
=
0
;
if
(
dev_priv
->
blt_ring
.
get_seqno
)
error
->
bcs_seqno
=
dev_priv
->
blt_ring
.
get_seqno
(
&
dev_priv
->
blt_ring
);
}
if
(
INTEL_INFO
(
dev
)
->
gen
>=
4
)
{
error
->
ipeir
=
I915_READ
(
IPEIR_I965
);
...
...
drivers/gpu/drm/i915/i915_reg.h
View file @
1d8f38f4
...
...
@@ -305,6 +305,10 @@
#define INSTDONE 0x02090
#define NOPID 0x02094
#define HWSTAM 0x02098
#define BCS_INSTDONE 0x2206C
#define BCS_IPEIR 0x22064
#define BCS_IPEHR 0x22068
#define BCS_ACTHD 0x22074
#define ERROR_GEN6 0x040a0
...
...
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