- 12 1月, 2014 3 次提交
-
-
由 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 11 次提交
-
-
由 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>
-
Signed-off-by: NDouglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 27 2月, 2009 1 次提交
-
-
由 Nicola Soranzo 提交于
As explained in "Writing an ALSA driver" (T. Iwai), audio drivers should set the struct device for the card before registering the card instance. This will add the correct /sys/class/sound/cardN/device symlink, so HAL can see the device and ConsoleKit sets its ACL permissions for the logged-in user. For em28xx audio capture cards found e.g. in Hauppauge WinTV-HVR-900 (R2), this patch fixes errors like: ALSA lib pcm_hw.c:1429:(_snd_pcm_hw_open) Invalid value for card Error opening audio: Permission denied when running mplayer as a normal user. Signed-off-by: NNicola Soranzo <nsoranzo@tiscali.it> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-
- 29 1月, 2009 2 次提交
-
-
由 Robert Krakora 提交于
Trace: (Provided by Douglas) BUG: sleeping function called from invalid context at drivers/usb/core/urb.c:558 in_atomic():0, irqs_disabled():1 Pid: 4918, comm: sox Not tainted 2.6.27.5 #1 [<c04246d8>] __might_sleep+0xc6/0xcb [<c058c8b0>] usb_kill_urb+0x1a/0xd8 [<c0488e68>] ? __kmalloc+0x9b/0xfc [<c0488e85>] ? __kmalloc+0xb8/0xfc [<c058cd5a>] ? usb_alloc_urb+0xf/0x31 [<f8dd638c>] em28xx_isoc_audio_deinit+0x2f/0x6c [em28xx_alsa] [<f8dd6573>] em28xx_cmd+0x1aa/0x1c5 [em28xx_alsa] [<f8dd65e1>] snd_em28xx_capture_trigger+0x53/0x68 [em28xx_alsa] [<f8aa8674>] snd_pcm_do_start+0x1c/0x23 [snd_pcm] [<f8aa85d7>] snd_pcm_action_single+0x25/0x4b [snd_pcm] [<f8aa9833>] snd_pcm_action+0x6a/0x76 [snd_pcm] [<f8aa98f5>] snd_pcm_start+0x14/0x16 [snd_pcm] [<f8aae10e>] snd_pcm_lib_read1+0x66/0x273 [snd_pcm] [<f8aac5a3>] ? snd_pcm_kernel_ioctl+0x46/0x5f [snd_pcm] [<f8aae4a7>] snd_pcm_lib_read+0xbf/0xcd [snd_pcm] [<f8aad774>] ? snd_pcm_lib_read_transfer+0x0/0xaf [snd_pcm] [<f89feeb6>] snd_pcm_oss_read3+0x99/0xdc [snd_pcm_oss] [<f89fef9c>] snd_pcm_oss_read2+0xa3/0xbf [snd_pcm_oss] [<c064169d>] ? _cond_resched+0x8/0x32 [<f89ff0be>] snd_pcm_oss_read+0x106/0x150 [snd_pcm_oss] [<f89fefb8>] ? snd_pcm_oss_read+0x0/0x150 [snd_pcm_oss] [<c048c6e2>] vfs_read+0x81/0xdc [<c048c7d6>] sys_read+0x3b/0x60 [<c04039bf>] sysenter_do_call+0x12/0x34 ======================= The culprit in the trace is snd_pcm_action() which invokes a spin lock which disables pre-emption which disables an IRQ which causes the __might_sleep() function to fail the irqs_disabled() test. Since pre-emption is enabled then it is safe to de-allocate the memory if you first unlink each URB. In this instance you are safe since pre-emption is disabled. If pre-emption and irqs are not disabled then call usb_kill_urb(), else call usb_unlink_urb(). Thanks to Douglas for tracking down this bug originally!!! [dougsland@redhat.com: Fixed codyingstyle] 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>
-
由 Devin Heitmueller 提交于
Revert a change made in change 9743 which resulted in a kernel panic in some cases on shutdown of the audio stream. First discovered when working on the Pinnacle 880e support, and later reproduced by a user on the mailing list with the HVR-900 as well. Signed-off-by: NDevin Heitmueller <dheitmueller@linuxtv.org> Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
-