Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
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
9 years ago
by
danh-arm
Browse files
Options
Download
Plain Diff
Merge pull request #375 from vwadekar/clear-videomem-region-v2
Tegra: fix logic to clear videomem regions
parents
e04723e2
d49b9c80
master
v2.5
v2.5-rc1
v2.5-rc0
v2.4
v2.4-rc2
v2.4-rc1
v2.4-rc0
v2.3
v2.3-rc2
v2.3-rc1
v2.3-rc0
v2.2
v2.2-rc2
v2.2-rc1
v2.2-rc0
v2.1
v2.1-rc1
v2.1-rc0
v2.0
v2.0-rc0
v1.6
v1.6-rc1
v1.6-rc0
v1.5
v1.5-rc3
v1.5-rc2
v1.5-rc1
v1.5-rc0
v1.4
v1.4-rc0
v1.3
v1.3_rc2
v1.3_rc1
v1.3-rc0
v1.2
v1.2-rc0
arm_cca_v0.2
arm_cca_v0.1
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
plat/nvidia/tegra/common/drivers/memctrl/memctrl.c
+12
-5
plat/nvidia/tegra/common/drivers/memctrl/memctrl.c
with
12 additions
and
5 deletions
+12
-5
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:
...
...
This diff is collapsed.
Click to expand it.
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
Menu
Projects
Groups
Snippets
Help