[RFC] AST2500 video engine driver design

Yi Li liyiadam at gmail.com
Tue May 22 11:58:23 AEST 2018



> On 18 May 2018, at 11:42 PM, Eddie James <eajames at linux.vnet.ibm.com> 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?
> 

There is a requirement from data center customer for BMC, to capture the “last screen (or snapshot)” of host system when hosts shutdown, reset or crash. Hope there is interface for this feature in your design.

Thanks,
-Yi


More information about the openbmc mailing list