summaryrefslogtreecommitdiff
authorZhi Zhou <zhi.zhou@amlogic.com>2020-05-15 05:25:40 (GMT)
committer Shen Liu <shen.liu@amlogic.com>2020-11-05 05:43:10 (GMT)
commit02313cdd78887a37b8666b374e5e32e3f60ceef9 (patch)
treeefb537df93da690836633c22ab50a3c4f611cb50
parenta18eb9a7ed2f77184eefbed7f8b22106a2de5019 (diff)
downloadcommon-02313cdd78887a37b8666b374e5e32e3f60ceef9.zip
common-02313cdd78887a37b8666b374e5e32e3f60ceef9.tar.gz
common-02313cdd78887a37b8666b374e5e32e3f60ceef9.tar.bz2
codec_mm: fixed tvp size aligned to 64k check bug. [1/1]
PD#SWPL-35809 Problem: tvp size must be 64K aligned, aligned check function used bug; the align parameter is 1<<n; but the Micro is used the size for check; Solution: change the Micro and all aligned to 1<<17(RESERVE_MM_ALIGNED_2N) Verify: PRIMROSE Change-Id: I6996d5862a9bc7525fc2fe2d5dcadb3c29dc2694 Signed-off-by: Zhi Zhou <zhi.zhou@amlogic.com> Signed-off-by: Tao Guo <tao.guo@amlogic.com>
Diffstat
-rw-r--r--drivers/amlogic/media/common/codec_mm/codec_mm.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/amlogic/media/common/codec_mm/codec_mm.c b/drivers/amlogic/media/common/codec_mm/codec_mm.c
index 4a02175..2bf1e5d 100644
--- a/drivers/amlogic/media/common/codec_mm/codec_mm.c
+++ b/drivers/amlogic/media/common/codec_mm/codec_mm.c
@@ -54,7 +54,7 @@
#define CONFIG_PATH "media.codec_mm"
#define CONFIG_PREFIX "media"
-#define MM_ALIGN_DOWN(addr, size) ((addr) & (~((size) - 1)))
+#define MM_ALIGN_DOWN_2N(addr, alg2n) ((addr) & (~((1 << (alg2n)) - 1)))
#define MM_ALIGN_UP2N(addr, alg2n) ((addr+(1<<alg2n)-1)&(~((1<<alg2n)-1)))
#define RES_IS_MAPED
@@ -1053,8 +1053,8 @@ int codec_mm_extpool_pool_alloc(
int retry = 0;
try_alloced_size = min_t(int,
size - alloced_size, try_alloced_size);
- try_alloced_size = MM_ALIGN_DOWN(try_alloced_size,
- RESERVE_MM_ALIGNED_2N);
+ try_alloced_size = MM_ALIGN_DOWN_2N(try_alloced_size,
+ RESERVE_MM_ALIGNED_2N);
do {
mem = codec_mm_alloc(TVP_POOL_NAME,
try_alloced_size,
@@ -1092,8 +1092,8 @@ int codec_mm_extpool_pool_alloc(
try_alloced_size = min_t(int,
size - alloced_size, try_alloced_size);
- try_alloced_size = MM_ALIGN_DOWN(try_alloced_size,
- RESERVE_MM_ALIGNED_2N);
+ try_alloced_size = MM_ALIGN_DOWN_2N(try_alloced_size,
+ RESERVE_MM_ALIGNED_2N);
do {
mem = codec_mm_alloc(
for_tvp ?