MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / virtio_gpu_read

Function virtio_gpu_read

components/drivers/virtio/virtio_gpu.c:452–468  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

450}
451
452static rt_ssize_t virtio_gpu_read(rt_device_t dev, rt_off_t pos, void *buffer, rt_size_t size)
453{
454 struct virtio_gpu_device *virtio_gpu_dev = (struct virtio_gpu_device *)dev;
455
456 if (virtio_gpu_dev->framebuffer == RT_NULL || pos + size >= virtio_gpu_dev->smem_len)
457 {
458 return 0;
459 }
460
461 rt_mutex_take(&virtio_gpu_dev->rw_mutex, RT_WAITING_FOREVER);
462
463 rt_memcpy(buffer, (rt_uint8_t *)virtio_gpu_dev->framebuffer + pos, size);
464
465 rt_mutex_release(&virtio_gpu_dev->rw_mutex);
466
467 return size;
468}
469
470static rt_ssize_t virtio_gpu_write(rt_device_t dev, rt_off_t pos, const void *buffer, rt_size_t size)
471{

Callers

nothing calls this directly

Calls 3

rt_mutex_takeFunction · 0.85
rt_memcpyFunction · 0.85
rt_mutex_releaseFunction · 0.85

Tested by

no test coverage detected