summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video/ivtv/ivtv-driver.h
AgeCommit message (Collapse)Author
2007-08-19ivtv: add support for highmem udmaHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> When trying to DMA userspace buffers to the cx23415 you need to check whether the page is in highmem. If this is the case, then bounce buffers have to be used to allow DMA. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: improve debug messagesHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - add FILE debug flag for open/close/read/write/poll. - show cmd for encoder/decoder command ioctl. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-19ivtv: specify some stream sizes in kB instead of MBHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Some streams (PCM, VBI decoding) do not need that much memory, so specify the allocated memory in kB instead of MB to limit memory usage. E.g. 1 MB is overkill for the VBI decoding stream, 64 kB is enough. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-29ivtv: Fix scatter/gather DMA timeoutsHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It turns out that the cx23415/6 DMA engine cannot do scatter/gather DMA reliably. Every so often depending on the phase of the moon and your hardware configuration the cx2341x DMA engine simply chokes on it and you have to reboot to get it working again. This change replaced the scatter/gather DMA by single transfers at a time, where the driver is now responsible for DMA-ing each buffer. UDMA is still done using scatter/gather DMA, that will be fixed soon. Many thanks to Mark Bryars <mark.bryars@etvinteractive.com> for discovering the link between scatter/gather and the DMA timeouts. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-28ivtv: always steal full frames if out of buffers.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> When there are no more free buffers, then buffers are stolen from the predma queue. Buffers should be stolen from the head of that queue (which is where the most recently added buffers are) and all buffers belonging to a frame should be stolen. Otherwise 'half-frames' would remain in the queue, which leads to ugly playback and complete sync failure for YUV buffers. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-07ivtv: remove unused struct field.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-07ivtv: remove userspace tuner dependent codeHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> By request of mchehab I've removed the userspace tuner dependent code. Use my v4l-dvb-xc tree in the meantime for the userspace tuner support. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-05ivtv: simplify setting CONFIG_XC3028Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-04ivtv: add AverMedia M116, prepare for userspace Xceive tunerHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> - Split Club3D card from Yuan PG600-2, GotView PCI DVD Lite (different composite input) - Add AVerTV MCE 116 Plus (M116) card - Allow Xceive cards to be used without Xceive support - Update Xceive support to latest userspace tuner (still not on by default, pending inclusion of userspace tuner in the kernel). - Use CONFIG_XC3028 rather than HAVE_XC3028: gentree.pl will remove them automatically. Thanks to Markus Rechberger for help with the userspace tuner support. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-08-03ivtv: attach yuv field order to each frameHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> In the current driver, the field order is global. As soon as it's changed it takes immediate effect. This is a problem when the video changes order mid stream. Although it mostly works okay, the video may judder / flicker. This patch attaches the field order to the frame, so that any buffered frames will not be displayed until the correct field. In the event that the field order is changed mid stream, the driver will ensure that the previous frame is displayed for a minimum of 3 fields. These are the two original fields the frame should have occupied, plus the one extra since the new frame still has to wait for the correct field. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-30ivtv: fix semaphore / mutex compat for kernels 2.6.15 and earlierMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-07-25Merge: from hg/~hverkuil/v4l-dvb2Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-22ivtv, cx25840: postpone fw load until first use.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The firmware is now loaded when the driver is actually used for the first time. This allows the driver to be compiled in-kernel instead of as a module. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-22ivtv: fix pause/continue/play handlingHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Pausing a decoder followed by a Play command would do nothing. Fixed. Pausing a decoder running at non-standard speed following by a Continue would reset the speed to 100%. Fixed. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-20Add ivtv-fb framebuffer driver.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add the ivtv-fb framebuffer driver for cx23415 devices (currently only the Hauppauge PVR-350 cards). This makes it possible to use the On-Screen Display functionality of these cards, either for menus during MPEG playback, or as a console or X display. Signed-off-by: Kevin Thayer <nufan_wfk@yahoo.com> Signed-off-by: Chris Kennedy <c@groovy.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: John P Harvey <john.p.harvey@btinternet.com> Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>
2007-07-19Remove usage of HZ on ivtv driver, replacing by msecs_to_jiffiesMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-10ivtv: add high volume debugging flagHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Add support for high volume debug messages, allowing them to be turned on selectively. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-07-10ivtv: Add locking to ensure stream setup is atomic.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Starting an MPEG and VBI capture simultaneously caused errors in the VBI setup: this setup was done twice when it should be done only for the first stream that is opened. Added a mutex to prevent this from happening. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-06-16ivtv: fix broken VBI output supportHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> The old service_set_out setting was still tested, even though it no longer was ever set and was in fact obsolete. This meant that everything that was written to /dev/vbi16 was ignored. Removed the service_set_out variable altogether and now it works again. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-05-19Move big PIO accesses from the interrupt handler to a workhandlerHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Sliced VBI transfers use PIO instead of DMA. This was done inside the interrupt handler, but since PIO accesses are very slow this meant that a lot of time was spent inside the interrupt handler. All PIO copies are now moved to a workqueue. This should fix various issues with missing time ticks and remote key hits. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-05-09Fix Kconfig dependencies for ivtvMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> As pointed by Geert Uytterhoeven <geert@linux-m68k.org>, ivtv-driver.h have two checks for CONFIG vars, inerited from the time it were an out of kernel driver. Also, ivtv were wrongly marked as dependent of USB. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-03-16Fix ivtv yuv threshold handlingHans Verkuil
From: Ian Armstrong <ian@iarmst.demon.co.uk> Modifies automatic mode selection for yuv playback. Behaviour is now that source video with a vertical resolution below that of the currently set broadcast mode will be treated as progressive. Video with a vertical resolution greater or equal to the current broadcast mode (up to 576 lines) will be treated as interlaced. Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-03-10Add VIDIOC_G/S_PRIORITY support to ivtv.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-03-10Merges VBI & YUV handling into a single work queue.Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-03-04ivtv: fix backwards compatibility for kernels 2.6.15 and earlierMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> build failure in 2.6.15: CC [M] ivtv-driver.o ivtv-driver.c: In function 'ivtv_init_struct1': ivtv-driver.c:625: warning: implicit declaration of function 'mutex_init' ivtv-driver.c: In function 'ivtv_probe': ivtv-driver.c:1170: error: 'IRQF_SHARED' undeclared (first use in this function) ivtv-driver.c:1170: error: (Each undeclared identifier is reported only once ivtv-driver.c:1170: error: for each function it appears in.) ivtv-driver.c:1170: error: 'IRQF_DISABLED' undeclared (first use in this function) Signed-off-by: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
2007-03-03Add missing IVTV_FB_WARN #defineHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> This is needed for ivtv-fb. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-02-28merge: http://linuxtv.org/hg/~mkrufky/ivtv-compatMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-02-27ivtv: fix semaphore / mutex compat for kernels 2.6.15 and earlierMichael Krufky
From: Michael Krufky <mkrufky@linuxtv.org> Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
2007-02-27Fix comment style and set default debug level to 0Hans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> Convert the '//' comments to kernel approved /* */ style comments. Set the default debug level to 0. As a result of which change some DEBUG_WARNs to errors or remove them altogether. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
2007-02-26Add ivtv driver for the Conexant cx23416/cx23415 MPEG encoder/decoderHans Verkuil
From: Hans Verkuil <hverkuil@xs4all.nl> It took three core maintainers, over four years of work, eight new i2c modules, eleven new V4L2 ioctls, three new DVB video ioctls, a Sliced VBI API, a new MPEG encoder API, an enhanced DVB video MPEG decoding API, major YUV/OSD contributions from Ian and John, web/wiki/svn/trac support from Axel Thimm, (hardware) support from Hauppauge, support and assistance from the v4l-dvb people and the many, many users of ivtv to finally make it possible to merge this driver into the kernel. Thank you all! Signed-off-by: Kevin Thayer <nufan_wfk@yahoo.com> Signed-off-by: Chris Kennedy <c@groovy.org> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: John P Harvey <john.p.harvey@btinternet.com> Signed-off-by: Ian Armstrong <ian@iarmst.demon.co.uk>