Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Arm Trusted Firmware
Commits
f81bdb6e
Commit
f81bdb6e
authored
Sep 01, 2015
by
danh-arm
Browse files
Merge pull request #375 from vwadekar/clear-videomem-region-v2
Tegra: fix logic to clear videomem regions
parents
e04723e2
d49b9c80
Changes
1
Hide whitespace changes
Inline
Side-by-side
plat/nvidia/tegra/common/drivers/memctrl/memctrl.c
View file @
f81bdb6e
...
...
@@ -118,6 +118,7 @@ void tegra_memctrl_videomem_setup(uint64_t phys_base, uint32_t size_in_bytes)
uintptr_t
vmem_end_old
=
video_mem_base
+
(
video_mem_size
<<
20
);
uintptr_t
vmem_end_new
=
phys_base
+
size_in_bytes
;
uint32_t
regval
;
uint64_t
size
;
/*
* The GPU is the user of the Video Memory region. In order to
...
...
@@ -153,12 +154,18 @@ void tegra_memctrl_videomem_setup(uint64_t phys_base, uint32_t size_in_bytes)
INFO
(
"Cleaning previous Video Memory Carveout
\n
"
);
disable_mmu_el3
();
if
(
phys_base
>
vmem_end_old
||
video_mem_base
>
vmem_end_new
)
if
(
phys_base
>
vmem_end_old
||
video_mem_base
>
vmem_end_new
)
{
zeromem16
((
void
*
)
video_mem_base
,
video_mem_size
<<
20
);
else
if
(
video_mem_base
<
phys_base
)
zeromem16
((
void
*
)
video_mem_base
,
phys_base
-
video_mem_base
);
else
if
(
vmem_end_old
>
vmem_end_new
)
zeromem16
((
void
*
)
vmem_end_new
,
vmem_end_old
-
vmem_end_new
);
}
else
{
if
(
video_mem_base
<
phys_base
)
{
size
=
phys_base
-
video_mem_base
;
zeromem16
((
void
*
)
video_mem_base
,
size
);
}
if
(
vmem_end_old
>
vmem_end_new
)
{
size
=
vmem_end_old
-
vmem_end_new
;
zeromem16
((
void
*
)
vmem_end_new
,
size
);
}
}
enable_mmu_el3
(
0
);
done:
...
...
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