summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2012-01-11[media] dvb-core: define general callback value for demodulatorAntti Palosaari
Allow use of that general callback for demod too. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] hd29l2: add debug for used IF frequencyAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] hd29l2: synch for latest DVB core changesAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] HDIC HD29L2 DMB-TH USB2.0 reference design driverAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] HDIC HD29L2 DMB-TH demodulator driverAntti Palosaari
Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] em28xx: Fix tuner_type for Terratec Cinergy 200 USBSascha 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: Sascha Sommer <saschasommer@freenet.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] em28xx: increase maxwidth for em2800Sascha 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 1ca31892e and fb3de0398ab. [mchehab@redhat.com: Fix CodingStyle] Signed-off-by: Sascha Sommer <saschasommer@freenet.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] em28xx: Do not modify EM28XX_R06_I2C_CLK for em2800Sascha 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: Sascha Sommer <saschasommer@freenet.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] em28xx: Fix: I2C_CLK write error message checks wrong return codeSascha Sommer
It looks like the return value check that is done after setting the I2C speed checks the wrong return code. Signed-off-by: Sascha Sommer <saschasommer@freenet.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] em28xx: simplify argument passing to em28xx_init_dev()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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] af9005, af9015: use symbolic names for USB id table indicesJonathan Nieder
The af9005_properties and af9015_properties tables make use of USB ids from the USB id tables with hardcoded indices, as in "&af9015_usb_table[30]". Adding new entries before the end breaks such references, so everyone has had to carefully tiptoe to only add entries at the end of the list. In the spirit of "dw2102: use symbolic names for dw2102_table indices", use C99-style initializers with symbolic names for each index to avoid this. In the new regime, properties tables referring to the USB ids have names like "&af9015_usb_table[CINERGY_T_STICK_RC]" that do not change meaning when items in the USB id table are reordered. Encouraged-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Acked-by: Luca Olivetti <luca@ventoso.org> Acked-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx: use URB_NO_TRANSFER_DMA_MAP on URBs allocated with ↵Thomas Petazzoni
usb_alloc_urb() 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 882787ff8fdeb0be790547ee9b22b281095e95da 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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx: simplify argument passing to cx231xx_init_dev()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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] mxl5007t: bugfix DVB-T 7 MHz and 8 MHz bandwidthAntti Palosaari
DVB-T did not work at all - only 6 MHz was working but it is not commonly used. Fix it. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] tda18271-fe: Fix support for ISDB-TMauro Carvalho Chehab
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx: fix device disconnect checksMauro 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: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx: cx231xx_devused is racyMauro Carvalho Chehab
cx231xx_devused is racy. Re-implement it in a proper way, to remove the risk of mangling it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx: Fix unregister logicMauro 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: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] mb86a20s: implement get_frontend()Mauro Carvalho Chehab
Reports the auto-detected parameters to userspace. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx-input: stop polling if the device got removed.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: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx: remove useless 'lif' variable in cx231xx_usb_probe()Thomas Petazzoni
Now that we set the intfdata on the right interface, the 'lif' variable is useless. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-11[media] cx231xx: fix crash after load/unload/load of moduleThomas 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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-10[media] dvb_ca_en50221: fix compilation breakageMauro Carvalho Chehab
As reported by Toralf: the build failed with : CC [M] drivers/media/dvb/dvb-core/dvb_ca_en50221.o In file included from arch/x86/include/asm/uaccess.h:573:0, from include/linux/poll.h:14, from drivers/media/dvb/dvb-core/dvbdev.h:27, from drivers/media/dvb/dvb-core/dvb_ca_en50221.h:27, from drivers/media/dvb/dvb-core/dvb_ca_en50221.c:41: In function "copy_from_user", inlined from "dvb_ca_en50221_io_write" at drivers/media/dvb/dvb-core/dvb_ca_en50221.c:1314:26: arch/x86/include/asm/uaccess_32.h:211:26: error: call to "copy_from_user_overflow" declared with attribute error: copy_from_user() buffer size is not provably correct Reported-by: Toralf Foerster <toralf.foerster@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] Added model Sveon STV40Mario Ceresa
Signed-off-by: Mario Ceresa <mrceresa@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] media: tvp5150: Add mbus_fmt callbacksJavier Martin
These callbacks allow a host video driver to poll video formats supported by tvp5150. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] dm1105: release dvbnet on frontend attachment failureJonathan Nieder
The patch "dm1105: handle errors from dvb_net_init" moved the initialization of dvbnet to before frontend attachment but forgot to adjust the error handling when frontend attachment fails. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] dvb-bt8xx: convert printks to pr_err()Jonathan Nieder
This module does some printks with the loglevel missing. pr_err() takes care of adding the KERN_ERR tag and the module name. So we can simplify the code and add the missing printk loglevel by using it. Also add a #define pr_fmt() to make this work, and remove a few unnecessary periods at the end of messages and bump the loglevel of "Unknown bttv card type" from KERN_WARNING to KERN_ERR while at it. Inspired-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] dvb-bt8xx: use dprintk for debug statementsJonathan Nieder
This way, the messages will be tagged with KERN_DEBUG and not clutter the log from dmesg unless the "debug" module parameter is set. [mchehab@redhat.com: whitespace fixes] Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] flexcop: CodingStyle fix: don't use "if ((ret = foo()) < 0)"Jonathan Nieder
Lift assignments from "if" conditionals for readability. No change in functionality intended. Suggested-by: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] cx23885: add Terratec Cinergy T PCIe dualStefan Ringel
Signed-off-by: Stefan Ringel <linuxtv@stefanringel.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] dvb: remove bogus modulation checkMauro Carvalho Chehab
This code is wrong as I should have coded it as SYS_DVBC, instead of SYS_DVBS & friends. Anyway, this check has other problems 1) it does some "magic" by assuming that all QAM modulations are below QAM_AUTO; 2) it checks modulation parameters only for one delivery system. Or the core should check invalid parameters for all delivery systems, or it should let the frontend drivers do it; 3) frontend drivers should already be checking for invalid parameters (most of them do it, anyway); 4) not all modulations are mapped at fe->ops.info.caps, so it is not even possible to check for the valid modulations inside the core for some delivery systems; 5) The core check is incomplete anyway: it only checks for a few parameters. If moved into the core other parameters like bandwidth and fec should also be checked; 6) 2nd gen DVB-C uses OFDM. So, that test would fail for it. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] drxk_hard: Remove dead codeMauro Carvalho Chehab
As reported by Oliver, some old dead code were preserved there. Thanks-to: Oliver endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] Add support for two Leadtek Winfast TV 2000XP typesIstvan 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: Miroslav Slugen <thunder.mmm@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-07[media] V4L/DVB: v4l2-ioctl: integer overflow in video_usercopy()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: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] saa7134: use correct array offsetDan 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: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] af9013: change & to &&Dan Carpenter
This is just a cleanup, it doesn't change how the code works. These are compound conditions and not bitwise operations so it should be && and not &. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] cx88: Fix radio support for Leadtek DTV2000H JMiroslav Slugen
Leadtek DTV2000H J has Philips a FMD1216MEX tuner, and not a FMD1216ME. Signed-off-by: Miroslav Slugen <thunder.mmm@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] xc3028: fix center frequency calculation for DTV78 firmwareGianluca Gennari
This patch replaces the previous one proposed in the thread "xc3028: force reload of DTV7 firmware in VHF band with Zarlink demodulator", at the linux-media@vger.kernel.org ML. The problem is that the firmware DTV78 works fine in UHF band (8 MHz bandwidth) but is not working at all in VHF band (7 MHz bandwidth). Reading the comments inside the code, I figured out that the real problem could be connected to the formula used to calculate the center frequency offset in VHF band. In fact, removing this adjustment fixes the problem: if ((priv->cur_fw.type & DTV78) && freq < 470000000) offset -= 500000; This is coherent to what was implemented for the DTV7 firmware by an Australian user: if (priv->cur_fw.type & DTV7) offset += 500000; In the end, now the center frequency is the same for all firmwares (DTV7, DTV8, DTV78) and doesn't depend on channel bandwidth. The final code looks clean and simple, and there is no need for any "magic" adjustment: if (priv->cur_fw.type & DTV6) offset = 1750000; else /* DTV7 or DTV8 or DTV78 */ offset = 2750000; Signed-off-by: Gianluca Gennari <gennarone@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] drivers: media: radio: Fix dependencies for RADIO_WL128XFabio Estevam
Fix the following build warning: warning: (RADIO_WL128X) selects TI_ST which has unmet direct dependencies (MISC_DEVICES && NET && GPIOLIB) Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] drivers: media: tuners: Fix dependency for MEDIA_TUNER_TEA5761Fabio Estevam
Fix the following build warning: warning: (MEDIA_TUNER) selects MEDIA_TUNER_TEA5761 which has unmet direct dependencies (MEDIA_SUPPORT && VIDEO_MEDIA && I2C && EXPERIMENTAL) Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] it913x changed firmware loader for chip version 2 typesMalcolm Priestley
On Thu, 2011-12-15 at 16:42 +0000, Malcolm Priestley wrote: > > [ 1103.536156] it913x: Chip Version=ec Chip Type=5830 > > [ 1104.336178] it913x: Dual mode=92 Remote=92 Tuner Type=92 > > [ 1106.248116] dvb-usb: found a 'ITE 9135(9006) Generic' in cold state, > > will try to load a firmware > > [ 1106.253773] dvb-usb: downloading firmware from file > > 'dvb-usb-it9135-02.fw' > > [ 1106.452123] it913x: FRM Starting Firmware Download > > [ 1130.756039] it913x: FRM Firmware Download Failed (ffffff92) > > [ 1130.956168] it913x: Chip Version=79 Chip Type=5823 > > [ 1131.592192] it913x: DEV it913x Error > > [ 1131.592271] usbcore: registered new interface driver it913x > > > > No frontend is generated anyway. > > Looks like the the firmware is not at all compatible with your device. > > Have you applied the patch cleanly to the latest media_build? > > These appear to be new version of the 9006. A supplier is sending me one > of these devices. > > As a last resort see if the device works with dvb-usb-it9137-01.fw > > You will have force to use this firmware > dvb-usb-it913x firmware=1 Here is a modified firmware loader for version 2 types. The firmware must be as in original ./dvb_get_firmware it9135 dd if=dvb-usb-it9135.fw ibs=1 skip=12866 count=5817 of=dvb-usb-it9135-02.fw Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] af9013: Fix typo in get_frontend() functionGianluca Gennari
This patch fixes an obvious typo in the get_frontend() function of the af9013 driver, recently rewritten by Antti Palosaari. Signed-off-by: Gianluca Gennari <gennarone@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] dvb-bt8xx: Fix a printk statementMauro Carvalho Chehab
By accident, I added an extra comma at the printk format argument. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] it913x-fe ver 1.13 add BER and UNC monitoringMalcolm Priestley
Add BER monitoring with Pre-Viterbi error rate. Add UCBLOCKS based on Aborted packets. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] it913x ver 1.22 corrections to Tuner IDsMalcolm Priestley
Correction to tuner ID 0x51. Don't force tuner ID 0x60 unless eprom data zero. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] [resend] em28xx: Add Plextor ConvertX PX-AV100U to em28xx-cards.cDon 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.pdf Signed-off-by: Don Kramer <dgkramer@comcast.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] [BUG] it913x ver 1.21 Fixed for issue with 9006 and warm bootMalcolm Priestley
Some channels appear weak signal after warm boot. Because tuner id is not present in eprom 0x38 is assigned. 9006 devices are now always assigned 0x60. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] [BUG] it913x ver 1.20. PID filter problemsMalcolm Priestley
Fixes issues with PID filter Stalling of some channels when PID is on. PID filter not turning off fully. PID filter can now turn on and off each index. Removed PID_RST from it913x_pid_filter_ctrl. Replaced with PID_EN removed from it913x_pid_filter Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] v4l: Add VIDIOC_LOG_STATUS support for sub-device nodesSylwester 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: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-01-06[media] s5p-fimc: Prevent lock up caused by incomplete H/W initializationSylwester 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: Tomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>