1*aef9bcd9SKiyoung Kim /* 2*aef9bcd9SKiyoung Kim * Copyright (C) 2003 - 2016 Sony Corporation 3*aef9bcd9SKiyoung Kim * 4*aef9bcd9SKiyoung Kim * Licensed under the Apache License, Version 2.0 (the "License"); 5*aef9bcd9SKiyoung Kim * you may not use this file except in compliance with the License. 6*aef9bcd9SKiyoung Kim * You may obtain a copy of the License at 7*aef9bcd9SKiyoung Kim * 8*aef9bcd9SKiyoung Kim * http://www.apache.org/licenses/LICENSE-2.0 9*aef9bcd9SKiyoung Kim * 10*aef9bcd9SKiyoung Kim * Unless required by applicable law or agreed to in writing, software 11*aef9bcd9SKiyoung Kim * distributed under the License is distributed on an "AS IS" BASIS, 12*aef9bcd9SKiyoung Kim * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*aef9bcd9SKiyoung Kim * See the License for the specific language governing permissions and 14*aef9bcd9SKiyoung Kim * limitations under the License. 15*aef9bcd9SKiyoung Kim */ 16*aef9bcd9SKiyoung Kim 17*aef9bcd9SKiyoung Kim #include "ldac.h" 18*aef9bcd9SKiyoung Kim 19*aef9bcd9SKiyoung Kim /*************************************************************************************************** 20*aef9bcd9SKiyoung Kim Align Memory 21*aef9bcd9SKiyoung Kim ***************************************************************************************************/ 22*aef9bcd9SKiyoung Kim #define LDAC_ALLOC_LINE 8 23*aef9bcd9SKiyoung Kim align_ldac(size_t size)24*aef9bcd9SKiyoung KimDECLFUNC size_t align_ldac( 25*aef9bcd9SKiyoung Kim size_t size) 26*aef9bcd9SKiyoung Kim { 27*aef9bcd9SKiyoung Kim if (LDAC_ALLOC_LINE != 0) { 28*aef9bcd9SKiyoung Kim size = (((size-1)/LDAC_ALLOC_LINE)+1) * LDAC_ALLOC_LINE; 29*aef9bcd9SKiyoung Kim } 30*aef9bcd9SKiyoung Kim 31*aef9bcd9SKiyoung Kim return size; 32*aef9bcd9SKiyoung Kim } 33*aef9bcd9SKiyoung Kim 34*aef9bcd9SKiyoung Kim /*************************************************************************************************** 35*aef9bcd9SKiyoung Kim Clear Allocate Memory 36*aef9bcd9SKiyoung Kim ***************************************************************************************************/ calloc_ldac(SFINFO * p_sfinfo,size_t nmemb,size_t size)37*aef9bcd9SKiyoung KimDECLFUNC void *calloc_ldac( 38*aef9bcd9SKiyoung Kim SFINFO *p_sfinfo, 39*aef9bcd9SKiyoung Kim size_t nmemb, 40*aef9bcd9SKiyoung Kim size_t size) 41*aef9bcd9SKiyoung Kim { 42*aef9bcd9SKiyoung Kim char *p_tmp; 43*aef9bcd9SKiyoung Kim 44*aef9bcd9SKiyoung Kim if (p_sfinfo->p_mempos != (char *)NULL) { 45*aef9bcd9SKiyoung Kim p_tmp = p_sfinfo->p_mempos; 46*aef9bcd9SKiyoung Kim p_sfinfo->p_mempos += nmemb * align_ldac(size); 47*aef9bcd9SKiyoung Kim } 48*aef9bcd9SKiyoung Kim else { 49*aef9bcd9SKiyoung Kim p_tmp = calloc(nmemb, size); 50*aef9bcd9SKiyoung Kim } 51*aef9bcd9SKiyoung Kim 52*aef9bcd9SKiyoung Kim return (void *)p_tmp; 53*aef9bcd9SKiyoung Kim } 54*aef9bcd9SKiyoung Kim 55