I am working on camera driver under linux. One way of passing data/frame and command to userspace from kernel space is using copy_to_user function that we do when we call ioctl from userspace.
When a frame arrives in kernel space it gets notification through interrupts and now it has to pass the frame to userspace for processing. The user space has done mmap with kernel space so it has the access to this frame in kernel space so it takes it and processes it. Did the user space get to know the arrival of a frame using poll function? Please check my concepts and correct me if I am wrong.