[RFC] AST2500 video engine driver design
Andrew Jeffery
andrew at aj.id.au
Mon May 21 12:45:37 AEST 2018
On Sat, 19 May 2018, at 01:12, Eddie James wrote:
> Hi,
>
> I'm working on a driver for the AST2500 video engine; just wanted to
> post up the plan in case anyone has any ideas. The purpose behind this
> development is to be able to use IKVM with video from the host and i/o
> from a remote user.
>
> The video engine is a piece of hardware in the AST24/2500 that captures
> and/or compresses video data. Typically the input is the host graphics,
> writing it's RGB output to the VGA memory on the BMC. The video engine
> will capture and compress the data and store it in memory. The driver
> should provide an interface for an application to read that compressed
> video in order to get it on the network.
>
> The driver interface will use the Video4Linux2 API. This involves
> standard file operations like open, read, and close, as well as a video
> ioctl interface for configuring the device. Configuration options will
> probably be limited, as I think there will only be one mode that will
> provide enough performance for IKVM. I do want to be able to configure
> the video source; either direct from host at the BMC VGA memory or from
> the BMC DRM driver.
>
> The most substantial part of the driver will just be the hardware setup
> and manipulation. Intel has done some work here already (thanks Ed)
> which has been useful for configuring the hardware and doing the
> capture/compress loop. I'll be following what I think is fairly common
> for video drivers and only initializing the engine once a file
> descriptor is opened, and then allow more file descriptors to be opened
> as necessary without further touching the engine, though changing
> configs will obviously do the necessary engine operations. Once the last
> file descriptor is released, the engine and clocks will be shut down.
> The read operation will trigger a single frame capture/compress for now.
>
> I still have details to hash out regarding streaming, user-space
> buffers, etc, which will probably be necessary to get the performance we
> need.
>
> Any comments/questions/concerns?
>
Sounds reasonable to me, but I don't have much experience in V4L land. Keep us posted on your progress, and pipe up if you are looking for opinions on the driver design.
Cheers,
Andrew
More information about the openbmc
mailing list