Destructive video overlay support relies on userspace passing the address of the framebuffer to the driver with VIDIOC_S_FBUF. The PCI driver can then DMA the captured frame straight into the framebuffer. This was useful 20 years ago, but today not so much. Typically userspace would get the address from the /dev/fbX device using the FBIOGET_FSCREENINFO ioctl. But drm_fb_helper.c sets the smem_start field explicitly to 0 unless: 1) CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is set, and 2) CONFIG_EXPERT is set, and 3) set the drm_kms_helper module parameter drm_leak_fbdev_smem to 1. Effectively destructive overlay support is dead today. This patch series removes it from the remaining drivers. As a result the support for clipping using clipping rectangles or a bitmap can now also be removed. Regards, Hans Changes since the RFC: - dropped 'RFC' :-) - Removed V4L2_CAP_VIDEO_OVERLAY that I missed in saa7146 - Dropped unused variable in get_v4l2_framebuffer32 - I'm pretty sure there were a few more unused variables that I dropped, but I didn't keep track of that :-( Hans Verkuil (9): saa7146: drop overlay support saa7134: drop overlay support bttv: drop overlay support vivid: drop overlay support vivid: drop bitmap and clipping output overlay support v4l2-core: drop v4l2_window clipping and bitmap support videodev.h: drop V4L2_FBUF_CAP_LIST/BITMAP_CLIPPING v4l2-core: zero field base in struct v4l2_framebuffer Documentation: userspace-api: media: drop clipping, destructive overlays .../userspace-api/media/v4l/dev-overlay.rst | 10 +- .../userspace-api/media/v4l/vidioc-g-fbuf.rst | 52 +-- drivers/media/common/saa7146/saa7146_fops.c | 26 +- drivers/media/common/saa7146/saa7146_hlp.c | 296 ------------ drivers/media/common/saa7146/saa7146_video.c | 326 +------------ drivers/media/pci/bt8xx/Kconfig | 2 +- drivers/media/pci/bt8xx/btcx-risc.c | 153 ------ drivers/media/pci/bt8xx/btcx-risc.h | 9 - drivers/media/pci/bt8xx/bttv-cards.c | 15 - drivers/media/pci/bt8xx/bttv-driver.c | 436 +----------------- drivers/media/pci/bt8xx/bttv-risc.c | 131 ------ drivers/media/pci/bt8xx/bttvp.h | 28 +- drivers/media/pci/saa7134/saa7134-cards.c | 1 - drivers/media/pci/saa7134/saa7134-core.c | 32 -- drivers/media/pci/saa7134/saa7134-video.c | 411 +---------------- drivers/media/pci/saa7134/saa7134.h | 13 - drivers/media/test-drivers/vivid/vivid-core.c | 49 +- drivers/media/test-drivers/vivid/vivid-core.h | 19 - .../test-drivers/vivid/vivid-kthread-cap.c | 131 +----- .../media/test-drivers/vivid/vivid-vid-cap.c | 272 ----------- .../media/test-drivers/vivid/vivid-vid-cap.h | 3 - .../media/test-drivers/vivid/vivid-vid-out.c | 74 --- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 85 +--- drivers/media/v4l2-core/v4l2-ioctl.c | 77 +--- drivers/staging/media/av7110/av7110_v4l.c | 17 +- include/media/drv-intf/saa7146_vv.h | 21 - include/uapi/linux/videodev2.h | 2 + 27 files changed, 92 insertions(+), 2599 deletions(-) -- 2.39.1