author | Zhi 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) |
commit | 02313cdd78887a37b8666b374e5e32e3f60ceef9 (patch) | |
tree | efb537df93da690836633c22ab50a3c4f611cb50 | |
parent | a18eb9a7ed2f77184eefbed7f8b22106a2de5019 (diff) | |
download | common-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>
-rw-r--r-- | drivers/amlogic/media/common/codec_mm/codec_mm.c | 10 |
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 ? |