linux/drivers/media/video
Mauro Carvalho Chehab b50e7fe993 V4L/DVB (5147): Make vivi driver to use vmalloced pointers
Before this patch, vivi were simulating a scatter gather DMA transfer.
While this is academic, showing how stuff really works on a real PCI 
device, this means a non-optimized code. 
There are only two memory models that vivi implements:
	1) kernel alloced memory. This is also used by read() method.
	   On this case, a vmalloc32 buffer is allocated at kernel;
	2) userspace allocated memory. This is used by most userspace apps.
	   video-buf will store this pointer.
	   a simple copy_to_user is enough to transfer data.
The third memory model scenario supported by video-buf is overlay mode. 
This model is not implemented on vivi and unlikely to be implemented on 
newer drivers, since now, most userspace apps do some post-processing 
(like de-interlacing).
After this patch, some cleanups may be done at video-buf.c to avoid 
allocating pages, when the driver doesn't need a PCI buffer. This is the 
case of vivi and usb drivers.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-21 13:34:55 -02:00
..
bt8xx V4L/DVB (5077): Bttv cropping support 2007-02-21 13:34:36 -02:00
cpia2 [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
cx88 V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
cx25840 V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
em28xx [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
et61x251 V4L/DVB (5064): ET61X251 driver updates. 2007-02-21 13:34:20 -02:00
ovcamchip
pvrusb2 V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
pwc [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
saa7134 V4L/DVB (5111): Saa7134: add support for Terratec Cinergy HT PCI 2007-02-21 13:34:47 -02:00
sn9c102 V4L/DVB (5062): SN9C102 driver updates 2007-02-21 13:34:19 -02:00
usbvideo [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
usbvision V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
zc0301 V4L/DVB (5063): ZC0301 driver updates. 2007-02-21 13:34:19 -02:00
Kconfig V4L/DVB (5014): Allyesconfig build fixes on some non x86 arch 2006-12-27 14:20:41 -02:00
Makefile V4L/DVB (4922): Add usbvision driver 2006-12-10 09:05:39 -02:00
adv7170.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
adv7175.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
arv.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
bt819.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
bt856.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
bt866.c
btcx-risc.c
btcx-risc.h
bw-qcam.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
bw-qcam.h
c-qcam.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
cafe_ccic-regs.h V4L/DVB (4797): Marvell 88ALP01 "cafe" driver 2006-12-10 08:51:13 -02:00
cafe_ccic.c i2c: Declare more i2c_adapter parent devices 2007-02-13 22:09:03 +01:00
compat_ioctl32.c [PATCH] struct path: convert v4l 2006-12-08 08:28:50 -08:00
cpia.c V4L/DVB (5076): Cpia.c: buffer overflow 2007-02-21 13:34:35 -02:00
cpia.h
cpia_pp.c WorkStruct: make allyesconfig 2006-11-22 14:57:56 +00:00
cpia_usb.c
cs53l32a.c
cs8420.h
cx2341x.c V4L/DVB (4986): Removed unimplemented cx2341x API commands 2007-02-21 13:34:13 -02:00
dabfirmware.h
dabusb.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
dabusb.h
dpc7146.c
font.h
hexium_gemini.c
hexium_orion.c
ibmmpeg2.h
indycam.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
indycam.h
ir-kbd-i2c.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ks0127.c V4L/DVB (5029): Ks0127 status flags 2007-01-15 16:25:52 -02:00
ks0127.h
meye.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
meye.h
msp3400-driver.c V4L/DVB (4996): Msp3400: fix kthread_run error check 2006-12-27 14:20:16 -02:00
msp3400-driver.h
msp3400-kthreads.c V4L/DVB (4982): Fix broken audio mode handling for line-in in msp3400. 2006-12-27 14:19:32 -02:00
mt20xx.c
mxb.c V4L/DVB (4894): Mxb: fix to load the proper i2c modules 2006-12-10 09:05:26 -02:00
mxb.h
ov511.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
ov511.h
ov7670.c Jon needs a new shift key. 2006-12-12 20:15:40 +01:00
planb.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
planb.h
pms.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa711x.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa711x_regs.h
saa5246a.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa5246a.h
saa5249.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
saa6588.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-12-05 14:37:56 +00:00
saa7110.c
saa7111.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa7114.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa7115.c V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
saa7121.h
saa7127.c V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
saa7146.h
saa7146reg.h
saa7185.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa7191.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
saa7191.h
saa7196.h
se401.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
se401.h
stradis.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
stv680.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
stv680.h
tda7432.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
tda8290.c
tda9840.c
tda9840.h
tda9875.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
tda9887.c V4L/DVB (4934): Usbvision radio requires GainNormal at e register 2006-12-10 09:05:51 -02:00
tea5767.c
tea6415c.c
tea6415c.h
tea6420.c
tea6420.h
tlv320aic23b.c
tuner-3036.c
tuner-core.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
tuner-simple.c V4L/DVB (4935): Added the capability of selecting fm gain by tuner 2006-12-10 09:05:52 -02:00
tuner-types.c V4L/DVB (4936): Make MT4049FM5 tuner to set FM Gain to Normal 2006-12-10 09:05:53 -02:00
tvaudio.c [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
tveeprom.c V4L/DVB (5071): Tveeprom: autodetect LG TAPC G701D as tuner type 37 2007-01-15 16:26:04 -02:00
tvmixer.c V4L/DVB (5028): Tvmixer module_put cleanup 2007-02-21 13:34:18 -02:00
tvp5150.c V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
tvp5150_reg.h
upd64031a.c V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
upd64083.c V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
v4l1-compat.c V4L/DVB (5068): Fix authorship references 2007-02-21 13:34:20 -02:00
v4l2-common.c V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
video-buf-dvb.c [PATCH] Add include/linux/freezer.h and move definitions from sched.h 2006-12-07 08:39:27 -08:00
video-buf.c V4L/DVB (5147): Make vivi driver to use vmalloced pointers 2007-02-21 13:34:55 -02:00
videocodec.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
videocodec.h
videodev.c V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only 2007-02-21 13:34:55 -02:00
vino.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
vino.h
vivi.c V4L/DVB (5147): Make vivi driver to use vmalloced pointers 2007-02-21 13:34:55 -02:00
vpx3220.c
w9966.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
w9968cf.c i2c: Declare more i2c_adapter parent devices 2007-02-13 22:09:03 +01:00
w9968cf.h
w9968cf_decoder.h
w9968cf_vpp.h
wm8739.c
wm8775.c
zoran.h
zoran_card.c i2c: Declare more i2c_adapter parent devices 2007-02-13 22:09:03 +01:00
zoran_card.h
zoran_device.c V4L/DVB (4964): VIDEO_PALETTE_YUYV and VIDEO_PALETTE_YUV422 are the same palette 2006-12-27 14:18:50 -02:00
zoran_device.h
zoran_driver.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
zoran_procfs.c [PATCH] mark struct file_operations const 4 2007-02-12 09:48:45 -08:00
zoran_procfs.h
zr36016.c
zr36016.h
zr36050.c
zr36050.h
zr36057.h
zr36060.c
zr36060.h