- 11 1月, 2012 18 次提交
-
-
由 Andrzej Pietrasiewicz 提交于
Add driver for the JPEG codec IP block available in Samsung Exynos SoC series. The driver is implemented as a V4L2 mem-to-mem device. It exposes two video nodes to user space, one for the encoding part, and one for the decoding part. Signed-off-by: NAndrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Reviewed-by: NSakari Ailus <sakari.ailus@iki.fi> Reviewed-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Reviewed-by: NTomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Tomasz Stanislawski 提交于
Adjusting of Video Processor's scaling factors was flawed. It bounded scaling to range 1/16 to 1/1. The correct range should be 1/4 to 4/1. This patch fixes this bug. Signed-off-by: NTomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Tomasz Stanislawski 提交于
This patch add support for V4L2 selection API to s5p-tv driver. Moreover it removes old API for cropping. Old applications would still work because the crop ioctls are emulated using the selection API. Signed-off-by: NTomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Tomasz Stanislawski 提交于
This patch allows new video drivers to work correctly with applications that use the old-style crop API. The old crop ioctl is emulated by using selection callbacks. Signed-off-by: NTomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Tomasz Stanislawski 提交于
This patch introduces new api for a precise control of cropping and composing features for video devices. The new ioctls are VIDIOC_S_SELECTION and VIDIOC_G_SELECTION. Signed-off-by: NTomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Sascha Sommer 提交于
The card definition of the Terratec Cinergy 200 USB uses the wrong tuner type. Therefore some channels are currently missing. Attached patch fixes this problem. Signed-off-by: NSascha Sommer <saschasommer@freenet.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Sascha Sommer 提交于
The MaxPacketSize for em2800 based devices is too small to capture at full resolution. Therefore scale down when the maximum frame size is selected. The previous workaround that simply reduced the X resolution cannot be used because it crops a part of the input as the em2800 can only scale down with a factor of 0.5. reverts commits 1ca31892 and fb3de039. [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: NSascha Sommer <saschasommer@freenet.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Sascha Sommer 提交于
writing the EM28XX_R06_I2C_CLK register leads to the problem that the i2c bus on the Terratec Cinergy 200 USB is no longer usable when the system is rebooted. The device needs to be unplugged in order to bring it back to life. Attached patch conditionally disables the write in em28xx_pre_card_setup() like it is already done in em28xx_card_setup(). Signed-off-by: NSascha Sommer <saschasommer@freenet.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Sascha Sommer 提交于
It looks like the return value check that is done after setting the I2C speed checks the wrong return code. Signed-off-by: NSascha Sommer <saschasommer@freenet.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Thomas Petazzoni 提交于
The 'struct em28xx *' pointer was passed by reference to the em28xx_init_dev() function, for no reason. Instead, just pass it by value, which is much more logical and simple. Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Thomas Petazzoni 提交于
URBs allocated with usb_alloc_urb() are allocated from DMA-coherent areas, and therefore it is not necessary to call dma_map_single() on such buffers. Worst, on ARM, calling dma_map_single() on a DMA-coherent buffer will trigger a BUG_ON() in arch/arm/mm/dma-mapping.c. Therefore, we mark all URBs allocated with usb_alloc_urb() with the URB_NO_TRANSFER_DMA_MAP transfer_flags, so that the USB core does not do dma_map_single()/dma_unmap_single() on those buffers. This is similar to 882787ff for the gspca driver, and has already been discussed on the linux-media list in the past: http://www.mail-archive.com/linux-media@vger.kernel.org/msg37086.html. Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Thomas Petazzoni 提交于
The 'struct cx231xx *' pointer was passed by reference to the cx231xx_init_dev() function, for no reason. Instead, just pass it by value, which is much more logical and simple. Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
The driver were using DEV_MISCONFIGURED on some places, and DEV_DISCONNECTED on others. In a matter of fact, DEV_MISCONFIGURED were set only during the usb disconnect callback, with was confusing. Also, the alsa driver never checks if the device is present, before doing some dangerous things. Remove DEV_MISCONFIGURED, replacing it by DEV_DISCONNECTED. Also, fixes the other usecases for DEV_DISCONNECTED. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
cx231xx_devused is racy. Re-implement it in a proper way, to remove the risk of mangling it. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
There are several weirdness at the unregister logic. First of all, IR has a poll thread. This thread needs to be removed, as it uses some resources associated to the main driver. So, the driver needs to explicitly unregister the I2C client for ir-kbd-i2c. If, for some reason, the driver needs to wait for a close() to happen, not all memories will be freed, because the free logic were in the wrong place. Also, v4l2_device_unregister() seems to be called too early, as devices are still using it. Finally, even with the device disconnected, there is one USB function call that will still try to talk with it. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
If the device got removed, stops polling it. Also, un-registers it at input/evdev, as it won't work anymore. We can't free the IR structure yet, as the ir_remove method will be called later. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Thomas Petazzoni 提交于
Now that we set the intfdata on the right interface, the 'lif' variable is useless. Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Thomas Petazzoni 提交于
The following sequence of commands was triggering a kernel crash in cdev_get(): modprobe cx231xx rmmod cx231xx modprobe cx231xx v4l2grab -n 1 The problem was that cx231xx_usb_disconnect() was not doing anything because the test: if (!dev->udev) return; was reached (i.e, dev->udev was NULL). This is due to the fact that the 'dev' pointer placed as intfdata into the usb_interface structure had the wrong value, because cx231xx_probe() was doing the usb_set_intfdata() on the wrong usb_interface structure. For some reason, cx231xx_probe() was doing the following: static int cx231xx_usb_probe(struct usb_interface *interface, const struct usb_device_id *id) { struct usb_interface *lif = NULL; [...] /* store the current interface */ lif = interface; [...] /* store the interface 0 back */ lif = udev->actconfig->interface[0]; [...] usb_set_intfdata(lif, dev); [...] retval = v4l2_device_register(&interface->dev, &dev->v4l2_dev); [...] } So, the usb_set_intfdata() was done on udev->actconfig->interface[0] and not on the 'interface' passed as argument to the ->probe() and ->disconnect() hooks. Later on, v4l2_device_register() was initializing the intfdata of the correct usb_interface structure as a pointer to the v4l2_device structure. Upon unregistration, the ->disconnect() hook was getting the intfdata of the usb_interface passed as argument... and casted it to a 'struct cx231xx *' while it was in fact a 'struct v4l2_device *'. The correct fix seems to just be to set the intfdata on the proper interface from the beginning. Now, loading/unloading/reloading the driver allows to use the device properly. Signed-off-by: NThomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 07 1月, 2012 7 次提交
-
-
由 Mario Ceresa 提交于
Signed-off-by: NMario Ceresa <mrceresa@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Javier Martin 提交于
These callbacks allow a host video driver to poll video formats supported by tvp5150. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Stefan Ringel 提交于
Signed-off-by: NStefan Ringel <linuxtv@stefanringel.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Istvan Varga 提交于
Add support for two new types of Leadtek Winfast TV 2000XP tuner The author of this patch is Istvan Varga. Only resending current reformated version against current git. Signed-off-by: NMiroslav Slugen <thunder.mmm@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Dan Carpenter 提交于
If ctrls->count is too high the multiplication could overflow and array_size would be lower than expected. Mauro and Hans Verkuil suggested that we cap it at 1024. That comes from the maximum number of controls with lots of room for expantion. $ grep V4L2_CID include/linux/videodev2.h | wc -l 211 Cc: stable <stable@vger.kernel.org> Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Dan Carpenter 提交于
Smatch complains that i can be one passed the end of the array if we don't hit the break statement. We should be using the "audio" here like we do in the other places. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Miroslav Slugen 提交于
Leadtek DTV2000H J has Philips a FMD1216MEX tuner, and not a FMD1216ME. Signed-off-by: NMiroslav Slugen <thunder.mmm@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 06 1月, 2012 15 次提交
-
-
由 Don Kramer 提交于
Adds support for the Plextor ConvertX PX-AV100U, which uses the eMPIA EM2820 chip. The device has a device_id of '0x093b, 0xa003'. I am using the existing EM2820_BOARD_PINNACLE_DVC_90 board profile, as the Pinnacle Dazzle DVC 90/100/101/107, Kaiser Baas Video to DVD maker, and Kworld DVD Maker 2 were already mapped to it. Some more background on the device and my testing can be found at http://www.donkramer.net/plextor_122710.pdfSigned-off-by: NDon Kramer <dgkramer@comcast.net> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Sylwester Nawrocki 提交于
The VIDIOC_LOG_STATUS ioctl allows to dump the current status of a driver to the kernel log. Currently this ioctl is only available at video device nodes and the subdevs rely on the host driver to expose their core.log_status operation to user space. This patch adds VIDIOC_LOG_STATUS support at the sub-device nodes, for standalone subdevs that expose their own /dev entry. Acked-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Sylwester Nawrocki 提交于
The following ioctl sequence causes fimc_dma_run() to start processing without complete scaler and DMA initialization which causes missing interrupt and blocking on DQBUF: S_FMT, STREAMON, QBUF, DQBUF, STREAMOFF, STREAMON, QBUF, DQBUF. Fix this regression caused by moving pm_runtime* calls to start/stop_streaming callback by making sure the fimc_m2m_resume() is always invoked when expected. Reported-by: NTomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: NSylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Jonathan Nieder 提交于
videobuf_dvb_register_bus relies on dvb_net_init to set dvbnet->dvbdev on success, but ever since commit fcc8e7d8 ("dvb_net: Simplify the code if DVB NET is not defined"), ->dvbdev is left unset when networking support is disabled. Therefore in such configurations videobuf_dvb_register_bus always returns failure, tripping little-tested error handling paths and preventing the device from being initialized and used. Now that dvb_net_init returns a nonzero value on error, we can use that as a more reliable error indication. Do so. Now your card be used with CONFIG_DVB_NET=n, and the kernel will pass on a more useful error code describing what happened when CONFIG_DVB_NET=y but dvb_net_init fails due to resource exhaustion. Reported-by: NDavid Fries <David@Fries.net> Signed-off-by: NJonathan Nieder <jrnieder@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Hans Verkuil 提交于
The function v4l2_device_register() is called too late in vpif_probe(). This meant that vpif_obj.v4l2_dev is accessed before it is initialized which caused a crash. This used to work in the past, but video_register_device() is now actually using the v4l2_dev pointer. Note that vpif_display.c doesn't have this bug, there v4l2_device_register() is called at the beginning of vpif_probe. Signed-off-by: NGeorgios Plakaris <gplakari@cisco.com> Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Acked-by: NManjunath Hadli <Manjunath.hadli@ti.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Jonathan Corbet 提交于
Somehow I didn't ever quite get around to implementing suspend/resume on the MMP2 platform; this patch fixes that little oversight. A bit of core work was necessary to do the right thing in the s/g DMA case. Signed-off-by: NJonathan Corbet <corbet@lwn.net> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Holger Nelson 提交于
Reworked device probing to get rid of hacks to guess the maximum size of dvb iso transfer packets. The new code also selects the first alternate config which supports the largest possible iso transfers for dvb. [mchehab@redhat.com: Fix a few checkpatch.pl CodingStyle compliants] Signed-off-by: NHolger Nelson <hnelson@hnelson.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Gareth Williams 提交于
Adds support for the Honestech Vidbox NW03 USB capture device. Signed-off-by: NGareth Williams <gareth@garethwilliams.me.uk> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Holger Nelson 提交于
This adds support for the Terratec Cinergy HTC USB XS which is similar to the Terratec H5 by adding the USB-ids to the table. According to http://linux.terratec.de it uses the same ICs and DVB-C works for me using the firmware of the H5. Signed-off-by: NHolger Nelson <hnelson@hnelson.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Julia Lawall 提交于
vpbe_dev needs to be freed before leaving the function in an error case. A simplified version of the semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr) // <smpl> @r exists@ local idexpression x; statement S; identifier f1; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } x->f1 ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by: NJulia Lawall <julia@diku.dk> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Javier Martin 提交于
To properly detect frame loss the driver must keep track of a frame_count. Furthermore, field_count use was erroneous because in progressive format this must be incremented twice. Signed-off-by: NJavier Martin <javier.martin@vista-silicon.com> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Javier Martin 提交于
This patch uses channel 2 of the eMMa-PrP to convert format provided by the sensor to YUV420. This format is very useful since it is used by the internal H.264 encoder. Signed-off-by: NJavier Martin <javier.martin@vista-silicon.com> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Josh Wu 提交于
This patch - add ISI_MCK clock enable/disable code. - change field name in isi_platform_data structure Signed-off-by: NJosh Wu <josh.wu@atmel.com> [g.liakhovetski@gmx.de: fix label names] Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Acked-by: NNicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Lei Wen 提交于
As our general practice, we use stream off before we close the video node. So that the drivers its stream off function would be called before its remove function. But for the case for ctrl+c, the program would be force closed. We have no chance to call that vb2 stream off from user space, but directly call the remove function in soc_camera. In that common code of soc_camera: ici->ops->remove(icd); if (ici->ops->init_videobuf2) vb2_queue_release(&icd->vb2_vidq); It would first call the device remove function, then release vb2, in which stream off function is called. Thus it create different order for the driver. This patch change the order to make driver see the same sequence to make it happy. Signed-off-by: NLei Wen <leiwen@marvell.com> Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Guennadi Liakhovetski 提交于
mt9m111 camera sensors support cropping and scaling. The current implementation is broken. For example, .s_crop() sets output frame sizes instead of the input cropping window. This patch adds a proper implementation of these methods. Besides it adds a sensor-disable and -enable operations on first open() and last close() respectively, to save power while closed and to return the camera to the default power-on state. Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-