On 1/4/22 9:39 PM, Daniel P. Berrangé wrote:
On Mon, Dec 27, 2021 at 10:27:29PM +0800, zhenwei pi wrote:
1, The full picture of this patch set:
+---------+ +------------+ +---------------+
|UVC(done)| |virtio(TODO)| |other HW device|
+---------+ +------------+ +---------------+
| | |
| +------------+ |
+------------+camera(done)+-------------+
+----+-------+
|
+-----------------+---------------------+
| | |
+------+------+ +----+-----+ +------+------+
|builtin(done)| |v4l2(done)| |other drivers|
+-------------+ +----------+ +-------------+
With this patch set, We can run a desktop VM (Ex Ubuntu-2004), several camera
APPs(cheese, kamoso, guvcview and qcam) work fine.
Some works still in working:
1, hot-plug
2, compat with live migration
3, several actions defined in UVC SPEC
Zhenwei Pi (5):
camera: Introduce camera subsystem and builtin driver
camera: v4l2: Introduce v4l2 camera driver
usb: Introduce video&mescellaneous
usb: allow max 8192 bytes for desc
usb-video: Introduce USB video class
camera/builtin.c | 717 ++++++++++++++++++++
camera/camera-int.h | 19 +
camera/camera.c | 522 +++++++++++++++
camera/meson.build | 20 +
camera/trace-events | 28 +
camera/trace.h | 1 +
camera/v4l2.c | 637 ++++++++++++++++++
hw/usb/Kconfig | 5 +
hw/usb/desc.c | 15 +-
hw/usb/desc.h | 1 +
hw/usb/dev-video.c | 1395 +++++++++++++++++++++++++++++++++++++++
hw/usb/meson.build | 1 +
hw/usb/trace-events | 11 +
include/camera/camera.h | 238 +++++++
include/hw/usb.h | 2 +
include/hw/usb/video.h | 303 +++++++++
meson.build | 20 +-
meson_options.txt | 3 +
qapi/camera.json | 101 +++
qapi/meson.build | 1 +
qapi/qapi-schema.json | 1 +
qemu-options.hx | 13 +
softmmu/vl.c | 4 +
There's no MAINTAINERS file update here.
As a general rule, if you are introducing an entire new subsystem
into the QEMU codebase, it is expected someone will be nominated
as the maintainer for the new subsystem. Usually the person adding
it will themselves volunteer to be the maintainer.
Regards,
Daniel
OK, thanks. I have a plan to add two parts in next version:
1, camera subsystem, include folder qemu/camera and qemu/include/camera/
2, UVC, include qemu/hw/usb/dev-video.c and qemu/include/hw/usb/video.h
--
zhenwei pi