1. 15 11月, 2014 23 次提交
  2. 11 11月, 2014 17 次提交
    • N
      [media] dvb-usb-dvbsky: fix i2c adapter for sp2 device · dd0a6fe2
      nibble.max 提交于
      It is wrong that sp2 device uses the i2c adapter from m88ds3103 return.
      sp2 device sits on the same i2c bus with m88ds3103, not behind m88ds3103.
      Signed-off-by: NNibble Max <nibble.max@gmail.com>
      Reviewed-by: NAntti Palosaari <crope@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      dd0a6fe2
    • N
      [media] m88ds3103: change ts clock config for serial mode · b6851419
      nibble.max 提交于
      1> When m88ds3103 works in serial ts mode, its serial ts clock is equal to ts master clock and the clock divider is bypassed.
      2> The serial ts clock is configed by the bridge driver just like parallel ts clock.
      Signed-off-by: NNibble Max <nibble.max@gmail.com>
      Reviewed-by: NAntti Palosaari <crope@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      b6851419
    • N
      [media] cx23885: add DVBSky S952 support · c29d6a83
      nibble.max 提交于
      DVBSky S952 dvb-s/s2 dual PCIe card:
      1>dvb frontend: M88TS2022(tuner),M88DS3103(demod)
      2>PCIe bridge: CX23885(port b: parallel mode, port c: serial mode)
      3>rc: cx23885 integrated.
      Signed-off-by: NNibble Max <nibble.max@gmail.com>
      Reviewed-by: NAntti Palosaari <crope@iki.fi>
      Reviewed-by: NOlli Salonen <olli.salonen@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c29d6a83
    • N
      [media] cx23885: add DVBSky S950 support · cba5480c
      nibble.max 提交于
      DVBSky S950 dvb-s/s2 PCIe card:
      1>dvb frontend: M88TS2022(tuner),M88DS3103(demod)
      2>PCIe bridge: cx23885
      3>rc: cx23885 integrated.
      Signed-off-by: NNibble Max <nibble.max@gmail.com>
      Reviewed-by: NAntti Palosaari <crope@iki.fi>
      Reviewed-by: NOlli Salonen <olli.salonen@iki.fi>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      cba5480c
    • H
      [media] saa7164: fix sparse warnings · 065e1477
      Hans Verkuil 提交于
      Fix many sparse warnings:
      
      drivers/media/pci/saa7164/saa7164-core.c:97:18: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:122:31: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:122:31: warning: incorrect type in initializer (different address spaces)
      drivers/media/pci/saa7164/saa7164-core.c:122:31:    expected unsigned char [noderef] [usertype] <asn:2>*bufcpu
      drivers/media/pci/saa7164/saa7164-core.c:122:31:    got unsigned char [usertype] *<noident>
      drivers/media/pci/saa7164/saa7164-core.c:282:44: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:286:38: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:286:35: warning: incorrect type in assignment (different address spaces)
      drivers/media/pci/saa7164/saa7164-core.c:286:35:    expected unsigned char [noderef] [usertype] <asn:2>*p
      drivers/media/pci/saa7164/saa7164-core.c:286:35:    got unsigned char [usertype] *<noident>
      drivers/media/pci/saa7164/saa7164-core.c:352:44: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:527:53: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-core.c:129:30: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:133:38: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:133:72: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:134:35: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:287:61: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:288:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:289:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:290:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:291:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:292:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:293:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-core.c:294:65: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-fw.c:548:52: warning: incorrect type in argument 5 (different address spaces)
      drivers/media/pci/saa7164/saa7164-fw.c:548:52:    expected unsigned char [usertype] *dst
      drivers/media/pci/saa7164/saa7164-fw.c:548:52:    got unsigned char [noderef] [usertype] <asn:2>*
      drivers/media/pci/saa7164/saa7164-fw.c:579:44: warning: incorrect type in argument 5 (different address spaces)
      drivers/media/pci/saa7164/saa7164-fw.c:579:44:    expected unsigned char [usertype] *dst
      drivers/media/pci/saa7164/saa7164-fw.c:579:44:    got unsigned char [noderef] [usertype] <asn:2>*
      drivers/media/pci/saa7164/saa7164-fw.c:597:44: warning: incorrect type in argument 5 (different address spaces)
      drivers/media/pci/saa7164/saa7164-fw.c:597:44:    expected unsigned char [usertype] *dst
      drivers/media/pci/saa7164/saa7164-fw.c:597:44:    got unsigned char [noderef] [usertype] <asn:2>*
      drivers/media/pci/saa7164/saa7164-bus.c:36:36: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-bus.c:41:36: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-bus.c:151:19: warning: incorrect type in assignment (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:151:19:    expected unsigned short [unsigned] [usertype] size
      drivers/media/pci/saa7164/saa7164-bus.c:151:19:    got restricted __le16 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:152:22: warning: incorrect type in assignment (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:152:22:    expected unsigned int [unsigned] [usertype] command
      drivers/media/pci/saa7164/saa7164-bus.c:152:22:    got restricted __le32 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:153:30: warning: incorrect type in assignment (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:153:30:    expected unsigned short [unsigned] [usertype] controlselector
      drivers/media/pci/saa7164/saa7164-bus.c:153:30:    got restricted __le16 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:172:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:173:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:206:28: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:287:9: warning: incorrect type in argument 1 (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:287:9:    expected unsigned int [unsigned] val
      drivers/media/pci/saa7164/saa7164-bus.c:287:9:    got restricted __le32 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:339:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:340:20: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:463:9: warning: incorrect type in argument 1 (different base types)
      drivers/media/pci/saa7164/saa7164-bus.c:463:9:    expected unsigned int [unsigned] val
      drivers/media/pci/saa7164/saa7164-bus.c:463:9:    got restricted __le32 [usertype] <noident>
      drivers/media/pci/saa7164/saa7164-bus.c:466:21: warning: cast to restricted __le16
      drivers/media/pci/saa7164/saa7164-bus.c:467:24: warning: cast to restricted __le32
      drivers/media/pci/saa7164/saa7164-bus.c:468:32: warning: cast to restricted __le16
      drivers/media/pci/saa7164/saa7164-buffer.c:122:18: warning: incorrect type in assignment (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:122:18:    expected unsigned long long [noderef] [usertype] <asn:2>*cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:122:18:    got void *
      drivers/media/pci/saa7164/saa7164-buffer.c:127:21: warning: incorrect type in assignment (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:127:21:    expected unsigned long long [noderef] [usertype] <asn:2>*pt_cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:127:21:    got void *
      drivers/media/pci/saa7164/saa7164-buffer.c:134:20: warning: cast removes address space of expression
      drivers/media/pci/saa7164/saa7164-buffer.c:156:63: warning: incorrect type in argument 3 (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:156:63:    expected void *vaddr
      drivers/media/pci/saa7164/saa7164-buffer.c:156:63:    got unsigned long long [noderef] [usertype] <asn:2>*cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:179:57: warning: incorrect type in argument 3 (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:179:57:    expected void *vaddr
      drivers/media/pci/saa7164/saa7164-buffer.c:179:57:    got unsigned long long [noderef] [usertype] <asn:2>*cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:180:56: warning: incorrect type in argument 3 (different address spaces)
      drivers/media/pci/saa7164/saa7164-buffer.c:180:56:    expected void *vaddr
      drivers/media/pci/saa7164/saa7164-buffer.c:180:56:    got unsigned long long [noderef] [usertype] <asn:2>*pt_cpu
      drivers/media/pci/saa7164/saa7164-buffer.c:84:17: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-buffer.c:147:31: warning: dereference of noderef expression
      drivers/media/pci/saa7164/saa7164-buffer.c:148:17: warning: dereference of noderef expression
      
      Most are caused by pointers marked as __iomem when they aren't or not marked as
      __iomem when they should.
      
      Also note that readl/writel already do endian conversion, so there is no need to
      do it again.
      
      saa7164_bus_set/get were a bit tricky: you have to make sure the msg endian
      conversion is done at the right time, and that the code isn't using fields that
      are still little endian instead of cpu-endianness.
      
      The approach chosen is to convert just before writing to the ring buffer
      and to convert it back right after reading from the ring buffer.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Cc: Steven Toth <stoth@kernellabs.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      065e1477
    • H
      [media] adv7604: Correct G/S_EDID behaviour · dd9ac11a
      Hans Verkuil 提交于
      In order to have v4l2-compliance tool pass the G/S_EDID some modifications
      where needed in the driver.
      In particular, the edid.reserved zone must be blanked.
      
      Based on a patch from Jean-Michel Hautbois <jean-michel.hautbois@vodalys.com>,
      but reworked it a bit. It should use 'data' (which depends on edid.present)
      instead of edid.blocks as the check whether edid data is present.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      dd9ac11a
    • H
      [media] adv7511: fix G/S_EDID behavior · c81285ae
      Hans Verkuil 提交于
      This fixes the v4l2-compliance failures.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c81285ae
    • H
      [media] adv7842: fix G/S_EDID behavior · c909e5ba
      Hans Verkuil 提交于
      Make this pass the v4l2-compliance test.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c909e5ba
    • S
      [media] media: davinci: vpbe: missing clk_put · 47efeb52
      Sudip Mukherjee 提交于
      we are getting struct clk using clk_get before calling
      clk_prepare_enable. but if clk_prepare_enable fails, then we are
      jumping to fail_mutex_unlock where we are just unlocking the mutex,
      but we are not freeing the clock source.
      this patch just adds a call to clk_put before jumping to
      fail_mutex_unlock.
      Signed-off-by: NSudip Mukherjee <sudip@vectorindia.org>
      Acked-by: NLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      47efeb52
    • H
      [media] vivid: add test array controls · 24c4942d
      Hans Verkuil 提交于
      Add array controls to test support for such controls. There is one
      array with just one element, one 8x16 matrix control and one 4 dimensional
      2x3x4x5 control.
      
      This makes it possible to experiment with such controls without requiring
      hard-to-get hardware.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      24c4942d
    • S
      [media] s2255drv: fix spinlock issue · 9694fbec
      sensoray-dev 提交于
      qlock spinlock controls access to buf_list and sequence.
      qlock spinlock should not be locked during a copy to video buffers, an
      operation that may sleep.
      Signed-off-by: NDean Anderson <linux-dev@sensoray.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9694fbec
    • A
      [media] solo6x10: don't turn off/on encoder interrupt in processing loop · 6db47fa1
      Andrey Utkin 提交于
      It makes no sense to block the SOLO_IRQ_ENCODER interrupt from being sent while
      processing an earlier interrupt. New interrupts will just kick the thread
      again once it is done processing.
      Signed-off-by: NAndrey Utkin <andrey.krieger.utkin@gmail.com>
      [hans.verkuil@cisco.com: fix commit description]
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      6db47fa1
    • A
      [media] solo6x10: bind start & stop of encoded frames processing thread to device (de)init · 670390c2
      Andrey Utkin 提交于
      Before, it was called from individual encoder (de)init procedures, which
      lead to spare threads running (which were actually lost, leaked).
      The current fix uses trivial approach, and the downside is that the
      processing thread is working always, even when there's no consumer.
      Signed-off-by: NAndrey Utkin <andrey.krieger.utkin@gmail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      670390c2
    • A
      [media] solo6x10: free DMA allocation when releasing encoder · 0cb2df38
      Andrey Utkin 提交于
      Fixes this warning:
      
      [  956.730136] ------------[ cut here ]------------
      [  956.730143] WARNING: CPU: 1 PID: 10134 at lib/dma-debug.c:963 dma_debug_device_change+0x191/0x1f0()
      [  956.730146] pci 0000:07:05.0: DMA-API: device driver has pending DMA allocations while released from device [count=8]
      One of leaked entries details: [device address=0x00000000d3d57000] [size=512 bytes] [mapped with DMA_BIDIRECTIONAL] [mapped as coherent]
      [  956.730147] Modules linked in: solo6x10(-) videobuf2_dma_contig videobuf2_dma_sg videobuf2_memops videobuf2_core ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 nf_nat videobuf_vmalloc videobuf_core v4l2_common videodev rt2800usb rt2800lib rt2x00usb rt2x00lib mac80211 cfg80211 crc_ccitt usbkbd hid_a4tech hid_generic usbhid snd_hda_codec_hdmi snd_hda_codec_via snd_hda_codec_generic snd_hda_intel snd_hda_controller snd_hda_codec snd_hwdep snd_pcm x86_pkg_temp_thermal snd_timer snd soundcore
      [  956.730172] CPU: 1 PID: 10134 Comm: rmmod Not tainted 3.18.0-rc1-next-20141023-zver-dirty #24
      [  956.730173] Hardware name: System manufacturer System Product Name/P8H77-V, BIOS 0501 02/28/2012
      [  956.730175]  0000000000000009 ffff8801df9e3c58 ffffffff817ffe6b 0000000000000001
      [  956.730177]  ffff8801df9e3ca8 ffff8801df9e3c98 ffffffff81091ec7 0000000000000046
      [  956.730180]  ffff880215457e90 0000000000000008 ffffffff81cbb10f ffff880215570098
      [  956.730183] Call Trace:
      [  956.730188]  [<ffffffff817ffe6b>] dump_stack+0x4f/0x7c
      [  956.730192]  [<ffffffff81091ec7>] warn_slowpath_common+0x87/0xb0
      [  956.730194]  [<ffffffff81091f91>] warn_slowpath_fmt+0x41/0x50
      [  956.730197]  [<ffffffff81412558>] ? dma_debug_device_change+0xb8/0x1f0
      [  956.730199]  [<ffffffff81412631>] dma_debug_device_change+0x191/0x1f0
      [  956.730203]  [<ffffffff810b14ad>] notifier_call_chain+0x4d/0x70
      [  956.730205]  [<ffffffff810b15f9>] __blocking_notifier_call_chain+0x59/0x80
      [  956.730207]  [<ffffffff810b1631>] blocking_notifier_call_chain+0x11/0x20
      [  956.730211]  [<ffffffff815873af>] __device_release_driver+0xcf/0xf0
      [  956.730213]  [<ffffffff81587ee8>] driver_detach+0xc8/0xd0
      [  956.730215]  [<ffffffff81587147>] bus_remove_driver+0x57/0xd0
      [  956.730218]  [<ffffffff815887e9>] driver_unregister+0x29/0x60
      [  956.730221]  [<ffffffff81420131>] pci_unregister_driver+0x21/0x90
      [  956.730225]  [<ffffffffa03219d7>] solo_pci_driver_exit+0x10/0x12 [solo6x10]
      [  956.730228]  [<ffffffff81112ee0>] SyS_delete_module+0x170/0x1f0
      [  956.730232]  [<ffffffff813eb76e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
      [  956.730234]  [<ffffffff8180abd2>] system_call_fastpath+0x12/0x17
      [  956.730235] ---[ end trace e730af02713a6c53 ]---
      [  956.730237] Mapped at:
      [  956.730238]  [<ffffffff8141186c>] debug_dma_alloc_coherent+0x3c/0xb0
      [  956.730240]  [<ffffffffa03203f6>] solo_enc_v4l2_init+0x706/0xba0 [solo6x10]
      [  956.730243]  [<ffffffffa03165b3>] solo_pci_probe+0x503/0x700 [solo6x10]
      [  956.730245]  [<ffffffff81420459>] local_pci_probe+0x49/0xa0
      [  956.730248]  [<ffffffff814207a1>] pci_device_probe+0xd1/0x120
      Signed-off-by: NAndrey Utkin <andrey.krieger.utkin@gmail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      0cb2df38
    • A
      [media] solo6x10: clean up properly in stop_streaming · 9ccd1809
      Andrey Utkin 提交于
      This fixes warning from drivers/media/v4l2-core/videobuf2-core.c,
      WARN_ON(atomic_read(&q->owned_by_drv_count)).
      Signed-off-by: NAndrey Utkin <andrey.krieger.utkin@gmail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9ccd1809
    • J
      [media] cx25840/cx18: Use standard ordering of mask and shift · 85273c38
      Joe Perches 提交于
      Precedence of & and >> is not the same and is not left to right.
      shift has higher precedence and should be done after the mask.
      
      This use has a mask then shift which is not the normal style.
      
      Move the shift before the mask to match nearly all the other
      uses in kernel.
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      85273c38
    • P
      [media] media: davinci: vpbe: add support for VIDIOC_CREATE_BUFS · 7041bc99
      Prabhakar Lad 提交于
      this patch adds support for vidioc_create_bufs. Along side
      remove unneeded member numbuffers.
      Signed-off-by: NLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      7041bc99