On Fri, Feb 21, 2020 at 2:16 AM Scott BrandenIt doesn't utilize any media interfaces. It is just an offload engine. Really, it could be offloading anything.
<scott.branden@xxxxxxxxxxxx> wrote:
Please see Documentation/core-api/ioctl.rstHaven't had any issues.+struct vk_access {Horrible padding issues, are you sure this all works properly?
+ __u8 barno; /* BAR number to use */
+ __u8 type; /* Type of access */
+#define VK_ACCESS_READ 0
+#define VK_ACCESS_WRITE 1
+ __u32 len; /* length of data */
Don't care about 32-bit user space for this driver.+ __u64 offset; /* offset in BAR */Are you _SURE_ you want a pointer here? How do you handle the compat
+ __u32 *data; /* where to read/write data to */
issues with 32/64 user/kernel space?
I don't think there isn't even enough memory in such systems for the
number of streams of video buffers needed for transcoding.
This driver is only used in high end 64-bit x86 servers.
All ioctl interfaces should be written in a portable way that works with
compat user space and avoids all padding in order to not leak kernel
data into user space.
If the driver is passing video buffers for transcoding, shouldn't the driver
use the existing drivers/media interfaces for that? If it needs features
that are not present there, they can probably be added.
Arnd