Lines Matching refs:hnd
192 auto hnd = buf->handle; in FreeBuffer() local
193 ALOGD_IF(DEBUG, "FreeBuffer handle:%p", hnd); in FreeBuffer()
195 if (private_handle_t::validate(hnd) != 0) { in FreeBuffer()
196 ALOGE("FreeBuffer: Invalid handle: %p", hnd); in FreeBuffer()
200 if (allocator_->FreeBuffer(reinterpret_cast<void *>(hnd->base), hnd->size, hnd->offset, in FreeBuffer()
201 hnd->fd, buf->ion_handle_main) != 0) { in FreeBuffer()
206 if (allocator_->FreeBuffer(reinterpret_cast<void *>(hnd->base_metadata), meta_size, in FreeBuffer()
207 hnd->offset_metadata, hnd->fd_metadata, buf->ion_handle_meta) != 0) { in FreeBuffer()
211 private_handle_t * handle = const_cast<private_handle_t *>(hnd); in FreeBuffer()
220 void BufferManager::RegisterHandleLocked(const private_handle_t *hnd, in RegisterHandleLocked() argument
223 auto buffer = std::make_shared<Buffer>(hnd, ion_handle, ion_handle_meta); in RegisterHandleLocked()
224 handles_map_.emplace(std::make_pair(hnd, buffer)); in RegisterHandleLocked()
227 gralloc1_error_t BufferManager::ImportHandleLocked(private_handle_t *hnd) { in ImportHandleLocked() argument
228 if (private_handle_t::validate(hnd) != 0) { in ImportHandleLocked()
229 ALOGE("ImportHandleLocked: Invalid handle: %p", hnd); in ImportHandleLocked()
232 ALOGD_IF(DEBUG, "Importing handle:%p id: %" PRIu64, hnd, hnd->id); in ImportHandleLocked()
233 int ion_handle = allocator_->ImportBuffer(hnd->fd); in ImportHandleLocked()
235 ALOGE("Failed to import ion buffer: hnd: %p, fd:%d, id:%" PRIu64, hnd, hnd->fd, hnd->id); in ImportHandleLocked()
238 int ion_handle_meta = allocator_->ImportBuffer(hnd->fd_metadata); in ImportHandleLocked()
240 ALOGE("Failed to import ion metadata buffer: hnd: %p, fd:%d, id:%" PRIu64, hnd, in ImportHandleLocked()
241 hnd->fd, hnd->id); in ImportHandleLocked()
245 hnd->base = 0; in ImportHandleLocked()
246 hnd->base_metadata = 0; in ImportHandleLocked()
247 RegisterHandleLocked(hnd, ion_handle, ion_handle_meta); in ImportHandleLocked()
252 BufferManager::GetBufferFromHandleLocked(const private_handle_t *hnd) { in GetBufferFromHandleLocked() argument
253 auto it = handles_map_.find(hnd); in GetBufferFromHandleLocked()
262 private_handle_t *hnd = const_cast<private_handle_t *>(handle); in MapBuffer() local
263 ALOGD_IF(DEBUG, "Map buffer handle:%p id: %" PRIu64, hnd, hnd->id); in MapBuffer()
265 hnd->base = 0; in MapBuffer()
266 if (allocator_->MapBuffer(reinterpret_cast<void **>(&hnd->base), hnd->size, hnd->offset, in MapBuffer()
267 hnd->fd) != 0) { in MapBuffer()
273 gralloc1_error_t BufferManager::RetainBuffer(private_handle_t const *hnd) { in RetainBuffer() argument
274 ALOGD_IF(DEBUG, "Retain buffer handle:%p id: %" PRIu64, hnd, hnd->id); in RetainBuffer()
277 auto buf = GetBufferFromHandleLocked(hnd); in RetainBuffer()
281 private_handle_t *handle = const_cast<private_handle_t *>(hnd); in RetainBuffer()
287 gralloc1_error_t BufferManager::ReleaseBuffer(private_handle_t const *hnd) { in ReleaseBuffer() argument
288 ALOGD_IF(DEBUG, "Release buffer handle:%p", hnd); in ReleaseBuffer()
290 auto buf = GetBufferFromHandleLocked(hnd); in ReleaseBuffer()
292 ALOGE("Could not find handle: %p id: %" PRIu64, hnd, hnd->id); in ReleaseBuffer()
296 handles_map_.erase(hnd); in ReleaseBuffer()
304 gralloc1_error_t BufferManager::LockBuffer(const private_handle_t *hnd, in LockBuffer() argument
309 ALOGD_IF(DEBUG, "LockBuffer buffer handle:%p id: %" PRIu64, hnd, hnd->id); in LockBuffer()
316 if (hnd->base == 0) { in LockBuffer()
318 err = MapBuffer(hnd); in LockBuffer()
321 auto buf = GetBufferFromHandleLocked(hnd); in LockBuffer()
331 if (!err && (hnd->flags & private_handle_t::PRIV_FLAGS_USES_ION) && in LockBuffer()
332 (hnd->flags & private_handle_t::PRIV_FLAGS_CACHED)) { in LockBuffer()
333 if (allocator_->CleanBuffer(reinterpret_cast<void *>(hnd->base), hnd->size, hnd->offset, in LockBuffer()
341 private_handle_t *handle = const_cast<private_handle_t *>(hnd); in LockBuffer()
352 private_handle_t *hnd = const_cast<private_handle_t *>(handle); in UnlockBuffer() local
353 auto buf = GetBufferFromHandleLocked(hnd); in UnlockBuffer()
358 if (hnd->flags & private_handle_t::PRIV_FLAGS_NEEDS_FLUSH) { in UnlockBuffer()
359 if (allocator_->CleanBuffer(reinterpret_cast<void *>(hnd->base), hnd->size, hnd->offset, in UnlockBuffer()
363 hnd->flags &= ~private_handle_t::PRIV_FLAGS_NEEDS_FLUSH; in UnlockBuffer()
492 private_handle_t *hnd = new private_handle_t(data.fd, in AllocateBuffer() local
505 hnd->id = ++next_id_; in AllocateBuffer()
506 hnd->base = 0; in AllocateBuffer()
507 hnd->base_metadata = 0; in AllocateBuffer()
508 hnd->layer_count = layer_count; in AllocateBuffer()
511 setMetaData(hnd, UPDATE_COLOR_SPACE, reinterpret_cast<void *>(&colorSpace)); in AllocateBuffer()
512 *handle = hnd; in AllocateBuffer()
513 RegisterHandleLocked(hnd, data.ion_handle, e_data.ion_handle); in AllocateBuffer()
514 ALOGD_IF(DEBUG, "Allocated buffer handle: %p id: %" PRIu64, hnd, hnd->id); in AllocateBuffer()
516 private_handle_t::Dump(hnd); in AllocateBuffer()
533 private_handle_t *hnd = reinterpret_cast<private_handle_t *>( in Perform() local
535 if (hnd) { in Perform()
537 hnd->magic = private_handle_t::kMagic; in Perform()
538 hnd->fd = fd; in Perform()
539 hnd->flags = private_handle_t::PRIV_FLAGS_USES_ION; in Perform()
540 hnd->size = size; in Perform()
541 hnd->offset = offset; in Perform()
542 hnd->base = uint64_t(base) + offset; in Perform()
543 hnd->gpuaddr = 0; in Perform()
546 hnd->unaligned_width = width; in Perform()
547 hnd->unaligned_height = height; in Perform()
548 hnd->width = INT(alignedw); in Perform()
549 hnd->height = INT(alignedh); in Perform()
550 hnd->format = format; in Perform()
551 *handle = reinterpret_cast<native_handle_t *>(hnd); in Perform()
566 private_handle_t *hnd = va_arg(args, private_handle_t *); in Perform() local
568 if (private_handle_t::validate(hnd) != 0) { in Perform()
573 if (getMetaData(hnd, GET_BUFFER_GEOMETRY, &buffer_dim) == 0) { in Perform()
576 *stride = hnd->width; in Perform()
582 private_handle_t *hnd = va_arg(args, private_handle_t *); in Perform() local
585 if (private_handle_t::validate(hnd) != 0) { in Perform()
590 if (getMetaData(hnd, GET_BUFFER_GEOMETRY, &buffer_dim) == 0) { in Perform()
594 *stride = hnd->width; in Perform()
595 *height = hnd->height; in Perform()
623 private_handle_t *hnd = va_arg(args, private_handle_t *); in Perform() local
625 if (private_handle_t::validate(hnd) != 0) { in Perform()
631 if (getMetaData(hnd, GET_COLOR_METADATA, &color_metadata) == 0) { in Perform()
649 if (getMetaData(hnd, GET_COLOR_SPACE, &color_metadata) != 0) { in Perform()
655 private_handle_t *hnd = va_arg(args, private_handle_t *); in Perform() local
657 if (private_handle_t::validate(hnd) != 0) { in Perform()
660 if (allocator_->GetYUVPlaneInfo(hnd, ycbcr)) { in Perform()
666 private_handle_t *hnd = va_arg(args, private_handle_t *); in Perform() local
668 if (private_handle_t::validate(hnd) != 0) { in Perform()
672 if (getMetaData(hnd, GET_MAP_SECURE_BUFFER, map_secure_buffer) == 0) { in Perform()
678 private_handle_t *hnd = va_arg(args, private_handle_t *); in Perform() local
680 if (private_handle_t::validate(hnd) != 0) { in Perform()
683 *flag = hnd->flags &private_handle_t::PRIV_FLAGS_UBWC_ALIGNED; in Perform()
687 private_handle_t *hnd = va_arg(args, private_handle_t *); in Perform() local
689 if (private_handle_t::validate(hnd) != 0) { in Perform()
692 if (allocator_->GetRgbDataAddress(hnd, rgb_data)) { in Perform()
720 buffer_handle_t *hnd = va_arg(args, buffer_handle_t*); in Perform() local
727 AllocateBuffer(descriptor, hnd, size); in Perform()
736 static bool IsYuvFormat(const private_handle_t *hnd) { in IsYuvFormat() argument
737 switch (hnd->format) { in IsYuvFormat()
757 gralloc1_error_t BufferManager::GetNumFlexPlanes(const private_handle_t *hnd, in GetNumFlexPlanes() argument
759 if (!IsYuvFormat(hnd)) { in GetNumFlexPlanes()
767 gralloc1_error_t BufferManager::GetFlexLayout(const private_handle_t *hnd, in GetFlexLayout() argument
769 if (!IsYuvFormat(hnd)) { in GetFlexLayout()
774 int err = allocator_->GetYUVPlaneInfo(hnd, &ycbcr); in GetFlexLayout()
811 auto hnd = buf->handle; in Dump() local
812 *os << "handle id: " << std::setw(4) << hnd->id; in Dump()
813 *os << " fd: " << std::setw(3) << hnd->fd; in Dump()
814 *os << " fd_meta: " << std::setw(3) << hnd->fd_metadata; in Dump()
815 *os << " wxh: " << std::setw(4) << hnd->width <<" x " << std::setw(4) << hnd->height; in Dump()
816 *os << " uwxuh: " << std::setw(4) << hnd->unaligned_width << " x "; in Dump()
817 *os << std::setw(4) << hnd->unaligned_height; in Dump()
818 *os << " size: " << std::setw(9) << hnd->size; in Dump()
820 *os << " priv_flags: " << "0x" << std::setw(8) << hnd->flags; in Dump()
821 *os << " prod_usage: " << "0x" << std::setw(8) << hnd->producer_usage; in Dump()
822 *os << " cons_usage: " << "0x" << std::setw(8) << hnd->consumer_usage; in Dump()
824 *os << " format: " << "0x" << std::setw(8) << hnd->format; in Dump()
830 gralloc1_error_t BufferManager::IsBufferImported(const private_handle_t *hnd) { in IsBufferImported() argument
832 auto buf = GetBufferFromHandleLocked(hnd); in IsBufferImported()
839 gralloc1_error_t BufferManager::ValidateBufferSize(private_handle_t const *hnd, in ValidateBufferSize() argument
848 auto ion_fd_size = static_cast<unsigned int>(lseek(hnd->fd, 0, SEEK_END)); in ValidateBufferSize()