- 12 1月, 2014 7 次提交
-
-
由 Mauro Carvalho Chehab 提交于
If em28xx is disconnected, return -ENODEV to all PCM callbacks. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
The URB calculus code may eventually be moved to some other place, like at pcm open, if it ends by needing more setups, like working with different bit rates, or different audio latency. So, move it into a separate routine. That also makes the code more readable. No functional changes. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Pulseaudio has the bad habit of stopping a streaming audio if a device, opened in non-block mode, waits. It is impossible to avoid em28xx to wait, as it will send commands via I2C, and other I2C operations may be happening (firmware transfers, Remote Controller polling, etc). Yet, as each em28xx subdriver locks em28xx-dev to protect the access to the hardware, it is possible to minimize the audio glitches by returning -EAGAIN to pulseaudio, if the lock is already taken by another subdriver. Reported-by: NAntti Palosaari <crope@iki.fi> Tested-by: NAntti Palosaari <crope@iki.fi> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
If the period size is wrong, userspace will assume a wrong delay any may negociate an inadequate value. The em28xx devices use 8 for URB interval, in microframes, and the driver programs it to have 64 packets. That means that the IRQ sampling period is 125 * 8 * 64, with is equal to 64 ms. So, that's the minimal latency with the current settings. It is possible to program a lower latency, by using less than 64 packets, but that increases the amount of bandwitdh used, and the number of IRQ events per second. In any case, in order to support it, the driver logic should be changed to fill those parameters in realtime. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
The current code hardcodes the number of audio URBs, the number of packets per URB and the maximum URB size. This is not a good idea, as it: - wastes more bandwidth than necessary, by using a very large number of packets; - those constants are bound to an specific scenario, with a bandwidth of 48 kHz; - don't take the maximum endpoint size into account; - with urb->interval = 1 on xHCI, those constraints cause a "funny" setup: URBs with 64 packets inside, with only 24 bytes total. E. g. a complete waste of space. Change the code to do dynamic URB audio calculus and allocation. For now, use the same constraints as used before this patch, to avoid regressions. A good scenario (tested) seems to use those defines, instead: #define EM28XX_MAX_AUDIO_BUFS 8 #define EM28XX_MIN_AUDIO_PACKETS 2 But let's not do such change here, letting the optimization to happen on latter patches, after more tests. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
De-allocate memory and free sound if an error happens. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Just filling urb->interval with 1 is wrong, and causes a different behaviour with xHCI. With EHCI, the URB size is typically 192 bytes. However, as xHCI specifies intervals in microframes, the URB size becomes too short (24 bytes). With this patch, the interval will be properly initialized, and the device will behave the same if connected into a xHCI or an EHCI device port. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 10 1月, 2014 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Instead of allocating/deallocating URBs and transfer buffers every time stream is started/stopped, just do it once. That reduces the memory allocation pressure and makes the code that start/stop streaming a way simpler. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Instead of allocating transfer buffers with kmalloc() use usb_alloc_coherent(). This patch should make it work also with ARM CPUs. Reviewed-by: NFrank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 07 1月, 2014 2 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Use the same module version on all em28xx sub-modules, and use the same naming convention to describe the driver. Reviewed-by: NFrank Schäfer <fschaefer.oss@googlemail.com> Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
由 Mauro Carvalho Chehab 提交于
Add a message with consistent prints before and after each extension initialization, and provide a better text for module load. While here, add a missing sanity check for extension finish code at em28xx-v4l extension. Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
-
- 16 8月, 2012 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Rename all USB drivers with their own directory under drivers/media/video into drivers/media/usb and update the building system. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 11 8月, 2012 1 次提交
-
-
由 Ezequiel García 提交于
Signed-off-by: NEzequiel Garcia <elezegarcia@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 21 6月, 2012 2 次提交
-
-
由 Ezequiel García 提交于
Signed-off-by: NEzequiel Garcia <elezegarcia@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Ezequiel García 提交于
Signed-off-by: NEzequiel Garcia <elezegarcia@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 15 5月, 2012 1 次提交
-
-
由 Hans Verkuil 提交于
media_build/v4l/au0828-video.c: In function 'au0828_irq_callback': media_build/v4l/au0828-video.c:123:6: warning: variable 'rc' set but not used [-Wunused-but-set-variable] media_build/v4l/cx23888-ir.c: In function 'pulse_clocks_to_clock_divider': media_build/v4l/cx23888-ir.c:334:6: warning: variable 'rem' set but not used [-Wunused-but-set-variable] media_build/v4l/cx25840-ir.c: In function 'pulse_clocks_to_clock_divider': media_build/v4l/cx25840-ir.c:319:6: warning: variable 'rem' set but not used [-Wunused-but-set-variable] media_build/v4l/cx25840-ir.c: In function 'cx25840_ir_tx_write': media_build/v4l/cx25840-ir.c:863:21: warning: variable 'c' set but not used [-Wunused-but-set-variable] media_build/v4l/em28xx-audio.c: In function 'snd_em28xx_hw_capture_params': media_build/v4l/em28xx-audio.c:346:31: warning: variable 'format' set but not used [-Wunused-but-set-variable] media_build/v4l/em28xx-audio.c:346:25: warning: variable 'rate' set but not used [-Wunused-but-set-variable] media_build/v4l/em28xx-audio.c:346:15: warning: variable 'channels' set but not used [-Wunused-but-set-variable] media_build/v4l/hdpvr-control.c: In function 'get_input_lines_info': media_build/v4l/hdpvr-control.c:98:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] media_build/v4l/hdpvr-video.c: In function 'hdpvr_try_ctrl': media_build/v4l/hdpvr-video.c:955:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] media_build/v4l/saa7134-video.c: In function 'saa7134_s_tuner': media_build/v4l/saa7134-video.c:2030:6: warning: variable 'rx' set but not used [-Wunused-but-set-variable] media_build/v4l/sn9c102_core.c: In function 'sn9c102_stream_interrupt': media_build/v4l/sn9c102_core.c:998:7: warning: variable 'timeout' set but not used [-Wunused-but-set-variable] Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com> Acked-by: NJanne Grunau <j@jannau.net> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 06 1月, 2012 1 次提交
-
-
由 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>
-
- 28 7月, 2011 8 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Some devices use a separate interface for the vendor audio class. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Mark the alsa stream with SNDRV_PCM_INFO_BATCH, as the timing to get audio streams can vary. Also, add SNDRV_PCM_TRIGGER for pause/release. while here, fix the stop indicator, to be sure that audio will be properly released at the stop events. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
If the audio stream fails for any reason, it should: 1) Report an error via dmesg; 2) Mark internally that the stream didn't started. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
While here, fix volume mask to 5 bits Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Export ac97 volume controls via mixer. Pulseaudio will probably handle it very badly, as it has no idea about how volumes are wired, and how are they associated with each TV input. Those wirings are card model dependent, and we don't have the wiring mappings for each supported device. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Mauro Carvalho Chehab 提交于
Fixes most cases of initializing a var but not using it. There are still 3 cases at em28xx-alsa, were those vars should probably be used. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 21 10月, 2010 1 次提交
-
-
由 Mauro Carvalho Chehab 提交于
Those locking issues affect tvtime, causing a kernel oops/panic, due to a race condition. Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 18 5月, 2010 1 次提交
-
-
由 Dan Carpenter 提交于
card->driver is 15 characters and a NULL. The original code goes past the end of the array. Signed-off-by: NDan Carpenter <error27@gmail.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 06 12月, 2009 1 次提交
-
-
由 Filipe Rosset 提交于
Convert printks to em28xx_err. Signed-off-by: NFilipe Rosset <rosset.filipe@gmail.com> Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 07 11月, 2009 1 次提交
-
-
由 Devin Heitmueller 提交于
Because the counters were not reset when starting up streaming, they would be reused from the previous run. This can result in cases such that when the second instance of streaming starts up, the "cnt" variable in em28xx_audio_isocirq() can end up being negative, resulting in attempting to write to memory before the start of runtime->dma_area (as well as having a negative number of bytes to copy). Signed-off-by: NDevin Heitmueller <dheitmueller@kernellabs.com> CC: stable@kernel.org Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 17 6月, 2009 1 次提交
-
-
由 Robert Krakora 提交于
Test Code: (Provided by Douglas) v4l-dvb/v4l2-apps/test/stress-buffer.c The audio DMA area was never being freed and would slowly leak over time as the v4l device was opened and closed by an application. Thanks again to Douglas for generating the test code to help locate memory leaks!!! Signed-off-by: NRobert Krakora <rob.krakora@messagenetsystems.com> Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 30 3月, 2009 10 次提交
-
-
由 Nicola Soranzo 提交于
Coding style fixes for recent changesets in em28xx. Signed-off-by: NNicola Soranzo <nsoranzo@tiscali.it> Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Nicola Soranzo 提交于
Lots of coding style fixes and a typo correction for em28xx. [dougsland@redhat.com: fixed a reject due to a change on em28xx-audio.c] Signed-off-by: NNicola Soranzo <nsoranzo@tiscali.it> Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
Added macros EM28XX_START_AUDIO and EM28XX_STOP_AUDIO for em28xx_cmd(). Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Alexey Klimov 提交于
Patch removes printk and place em28xx_errdev macros to provide information about driver name to dmesg. Signed-off-by: NAlexey Klimov <klimov.linux@gmail.com> Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
Added lock for users count Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
Added spinlock for trigger session Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Robert Krakora 提交于
Essentially if a snd_em28xx_capture_trigger() stop followed by a snd_em28xx_capture_trigger() start would not yield any data because there was some logic put in with an adev->shutdown variable which did not seem warranted in my humble opinion. It would cause snd_em28xx_capture_trigger start never to start up the audio stream until the device was closed and reopened again. Upon re-opening the device adev->shutdown is reset and audio data would again flow. Signed-off-by: NRobert Krakora <rob.krakora@messagenetsystems.com> Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
由 Robert Krakora 提交于
Fix for em28xx memory leak and function rename Signed-off-by: NRobert Krakora <rob.krakora@messagenetsystems.com> Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
Removed bad check. Thanks to Robert Krakora <rob.krakora@messagenetsystems.com> to report that. Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
Just call em28xx_isoc_audio_deinit() if em28xx sent a usb_submit(). Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-