目录
1 qcom,display显示内存作用
qcom,display预留CMA内存,为高通系统明确的预留给显示设备的专有内存,由CMA系统内存分配器进行管理。
在显示内存申请时,会通过usage确认是否需要从qcom,display内存区域分配内存。具有GRALLOC_USAGE_PRIVATE_SECURE_DISPLAY 、GRALLOC_USAGE_PROTECTED或者 CAMERA_OUTPUT usage属性的内存申请会从qcom,display预留内存空间分配内存。
void DmaManager: GetHeapInfo(uint64_t usage, bool sensor_flag,
std::string *dma_heap_name,
std: vector<std:string> *dma_vm_names,
unsigned int *alloc_type
unsigned int * /* dmaflags */,
unsigned int *alloc_size) {
std::stringheap_name="qcom, system";
unsigned int type = 0;
#ifndef QMAA
if(usage & GRALLOC_USAGE_PROTECTED){
if(usage&GRALLOC_USAGE_PRIVATE_SECURE_DISPLAY) {
heap_name = "qcom, display"
dma_vm_names->push_back ("qcom, cp_sec_display");
}else if(usage & BufferUsage::CAMERA_OUTPUT){
int secure_preview_only = 0;
char property[PROPERTY_VALUE_MAX];
if(property_get("vendor.gralloc.secure_preview_only",propperty, NUL)>0) {
secure_preview_only = atoi(property);
}
heap_name = "qcom, display";
if(usage & GRALLOC_USAGE_PRIVATE_CDSP) {
dma_vm_names->push_back ("qcom, cp_cdsp");
}
if(usage & BufferUsage: :COMPOSER_OVERLAY){
if(secure_preview_only){
dma_vm_names->push_back ("qcom, cp_camera_preview");
} else {
dma_vm_names->push_back ("qcom, cp_camera");
dma_vm_names->push_back ("qcom, cp_camera_preview");
}
} else {
dma_vm_names->push_back ("qcom, cp_camera");
}
} else if (usage & GRALLOC_USAGE_PRIVATE_CDSP) {
heap_name="gcom, secure-cdsp";
else {
heap_name = "qcom, secure-pixel";
}
type |= private_handle_t::PRIV_FLAGS_SECURE_BUFFER;
}
<


117

被折叠的 条评论
为什么被折叠?



