Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
panloader
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Container Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Panfrost
panloader
Commits
cfddc4ce
Commit
cfddc4ce
authored
Feb 20, 2018
by
Alyssa Rosenzweig
💜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replay soft replay jobs
parent
e812cc3d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
44 additions
and
3 deletions
+44
-3
include/mali-ioctl.h
include/mali-ioctl.h
+0
-2
panwrap/panwrap-decoder.c
panwrap/panwrap-decoder.c
+42
-0
panwrap/panwrap-syscall.c
panwrap/panwrap-syscall.c
+1
-1
panwrap/panwrap.h
panwrap/panwrap.h
+1
-0
No files found.
include/mali-ioctl.h
View file @
cfddc4ce
...
@@ -465,8 +465,6 @@ struct mali_jd_replay_payload {
...
@@ -465,8 +465,6 @@ struct mali_jd_replay_payload {
* Core requirements for the fragment job chain
* Core requirements for the fragment job chain
*/
*/
mali_jd_core_req
fragment_core_req
;
mali_jd_core_req
fragment_core_req
;
u8
padding
[
4
];
};
};
/**
/**
...
...
panwrap/panwrap-decoder.c
View file @
cfddc4ce
...
@@ -865,6 +865,46 @@ void panwrap_replay_jc(mali_ptr jc_gpu_va)
...
@@ -865,6 +865,46 @@ void panwrap_replay_jc(mali_ptr jc_gpu_va)
}
while
((
jc_gpu_va
=
((
u64
)
(
uintptr_t
)
h
->
next_job
)
&
(((
u64
)
1
<<
55
)
-
1
)));
}
while
((
jc_gpu_va
=
((
u64
)
(
uintptr_t
)
h
->
next_job
)
&
(((
u64
)
1
<<
55
)
-
1
)));
}
}
void
panwrap_replay_soft_replay_payload
(
mali_ptr
jc_gpu_va
,
int
job_no
)
{
struct
mali_jd_replay_payload
*
v
;
struct
panwrap_mapped_memory
*
mem
=
panwrap_find_mapped_gpu_mem_containing
(
jc_gpu_va
);
v
=
PANWRAP_PTR
(
mem
,
jc_gpu_va
,
typeof
(
*
v
));
panwrap_log
(
"struct mali_jd_replay_payload soft_replay_payload_%d = {
\n
"
,
job_no
);
panwrap_indent
++
;
MEMORY_PROP
(
tiler_jc_list
);
MEMORY_PROP
(
fragment_jc
);
MEMORY_PROP
(
tiler_heap_free
);
panwrap_prop
(
"fragment_hierarchy_mask = 0x%"
PRIx32
,
v
->
fragment_hierarchy_mask
);
panwrap_prop
(
"tiler_hierarchy_mask = 0x%"
PRIx32
,
v
->
tiler_hierarchy_mask
);
panwrap_prop
(
"hierarchy_default_weight = 0x%"
PRIx32
,
v
->
hierarchy_default_weight
);
panwrap_log
(
".tiler_core_req = "
);
if
(
v
->
tiler_core_req
)
ioctl_log_decoded_jd_core_req
(
v
->
tiler_core_req
);
else
panwrap_log_cont
(
"0"
);
panwrap_log_cont
(
",
\n
"
);
panwrap_log
(
".fragment_core_req = "
);
if
(
v
->
fragment_core_req
)
ioctl_log_decoded_jd_core_req
(
v
->
fragment_core_req
);
else
panwrap_log_cont
(
"0"
);
panwrap_log_cont
(
",
\n
"
);
panwrap_indent
--
;
panwrap_log
(
"};
\n
"
);
TOUCH
(
mem
,
jc_gpu_va
,
*
v
,
"soft_replay_payload"
,
job_no
);
}
void
panwrap_replay_soft_replay
(
mali_ptr
jc_gpu_va
)
void
panwrap_replay_soft_replay
(
mali_ptr
jc_gpu_va
)
{
{
struct
mali_jd_replay_jc
*
v
;
struct
mali_jd_replay_jc
*
v
;
...
@@ -885,6 +925,8 @@ void panwrap_replay_soft_replay(mali_ptr jc_gpu_va)
...
@@ -885,6 +925,8 @@ void panwrap_replay_soft_replay(mali_ptr jc_gpu_va)
panwrap_indent
--
;
panwrap_indent
--
;
panwrap_log
(
"};
\n
"
);
panwrap_log
(
"};
\n
"
);
panwrap_replay_soft_replay_payload
(
jc_gpu_va
+
sizeof
(
struct
mali_jd_replay_jc
),
job_no
);
TOUCH
(
mem
,
jc_gpu_va
,
*
v
,
"soft_replay"
,
job_no
);
TOUCH
(
mem
,
jc_gpu_va
,
*
v
,
"soft_replay"
,
job_no
);
}
while
((
jc_gpu_va
=
v
->
next
));
}
while
((
jc_gpu_va
=
v
->
next
));
}
}
panwrap/panwrap-syscall.c
View file @
cfddc4ce
...
@@ -289,7 +289,7 @@ ioctl_get_job_type_from_jd_core_req(mali_jd_core_req req)
...
@@ -289,7 +289,7 @@ ioctl_get_job_type_from_jd_core_req(mali_jd_core_req req)
panwrap_log_cont("MALI_JD_REQ_%s", "SOFT_" #flag); \
panwrap_log_cont("MALI_JD_REQ_%s", "SOFT_" #flag); \
break
break
/* Decodes the actual jd_core_req flags, but not their meanings */
/* Decodes the actual jd_core_req flags, but not their meanings */
static
inline
void
void
ioctl_log_decoded_jd_core_req
(
mali_jd_core_req
req
)
ioctl_log_decoded_jd_core_req
(
mali_jd_core_req
req
)
{
{
if
(
req
&
MALI_JD_REQ_SOFT_JOB
)
{
if
(
req
&
MALI_JD_REQ_SOFT_JOB
)
{
...
...
panwrap/panwrap.h
View file @
cfddc4ce
...
@@ -43,6 +43,7 @@ void panwrap_log_flush();
...
@@ -43,6 +43,7 @@ void panwrap_log_flush();
void
panwrap_log_decoded_flags
(
const
struct
panwrap_flag_info
*
flag_info
,
void
panwrap_log_decoded_flags
(
const
struct
panwrap_flag_info
*
flag_info
,
u64
flags
);
u64
flags
);
void
ioctl_log_decoded_jd_core_req
(
mali_jd_core_req
req
);
void
panwrap_log_hexdump
(
const
void
*
data
,
size_t
size
);
void
panwrap_log_hexdump
(
const
void
*
data
,
size_t
size
);
void
panwrap_log_hexdump_trimmed
(
const
void
*
data
,
size_t
size
);
void
panwrap_log_hexdump_trimmed
(
const
void
*
data
,
size_t
size
);
...
...
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