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

Function virtio_gpu_write

components/drivers/virtio/virtio_gpu.c:470–486  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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{
472 struct virtio_gpu_device *virtio_gpu_dev = (struct virtio_gpu_device *)dev;
473
474 if (virtio_gpu_dev->framebuffer == RT_NULL || pos + size >= virtio_gpu_dev->smem_len)
475 {
476 return 0;
477 }
478
479 rt_mutex_take(&virtio_gpu_dev->rw_mutex, RT_WAITING_FOREVER);
480
481 rt_memcpy((rt_uint8_t *)virtio_gpu_dev->framebuffer + pos, buffer, size);
482
483 rt_mutex_release(&virtio_gpu_dev->rw_mutex);
484
485 return size;
486}
487
488static rt_err_t virtio_gpu_control(rt_device_t dev, int cmd, void *args)
489{

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