1. 14 Nov, 2014 27 commits
  2. 11 Nov, 2014 13 commits
    • nibble.max's avatar
      [media] dvb-usb-dvbsky: fix i2c adapter for sp2 device · dd0a6fe2
      nibble.max authored
      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: default avatarNibble Max <nibble.max@gmail.com>
      Reviewed-by: default avatarAntti Palosaari <crope@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      dd0a6fe2
    • nibble.max's avatar
      [media] m88ds3103: change ts clock config for serial mode · b6851419
      nibble.max authored
      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: default avatarNibble Max <nibble.max@gmail.com>
      Reviewed-by: default avatarAntti Palosaari <crope@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      b6851419
    • nibble.max's avatar
      [media] cx23885: add DVBSky S952 support · c29d6a83
      nibble.max authored
      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: default avatarNibble Max <nibble.max@gmail.com>
      Reviewed-by: default avatarAntti Palosaari <crope@iki.fi>
      Reviewed-by: default avatarOlli Salonen <olli.salonen@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c29d6a83
    • nibble.max's avatar
      [media] cx23885: add DVBSky S950 support · cba5480c
      nibble.max authored
      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: default avatarNibble Max <nibble.max@gmail.com>
      Reviewed-by: default avatarAntti Palosaari <crope@iki.fi>
      Reviewed-by: default avatarOlli Salonen <olli.salonen@iki.fi>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      cba5480c
    • Hans Verkuil's avatar
      [media] saa7164: fix sparse warnings · 065e1477
      Hans Verkuil authored
      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: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Cc: Steven Toth <stoth@kernellabs.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      065e1477
    • Hans Verkuil's avatar
      [media] adv7604: Correct G/S_EDID behaviour · dd9ac11a
      Hans Verkuil authored
      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: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      dd9ac11a
    • Hans Verkuil's avatar
      [media] adv7511: fix G/S_EDID behavior · c81285ae
      Hans Verkuil authored
      This fixes the v4l2-compliance failures.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c81285ae
    • Hans Verkuil's avatar
      [media] adv7842: fix G/S_EDID behavior · c909e5ba
      Hans Verkuil authored
      Make this pass the v4l2-compliance test.
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      c909e5ba
    • Sudip Mukherjee's avatar
      [media] media: davinci: vpbe: missing clk_put · 47efeb52
      Sudip Mukherjee authored
      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: default avatarSudip Mukherjee <sudip@vectorindia.org>
      Acked-by: default avatarLad, Prabhakar <prabhakar.csengg@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      47efeb52
    • Hans Verkuil's avatar
      [media] vivid: add test array controls · 24c4942d
      Hans Verkuil authored
      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: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      24c4942d
    • sensoray-dev's avatar
      [media] s2255drv: fix spinlock issue · 9694fbec
      sensoray-dev authored
      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: default avatarDean Anderson <linux-dev@sensoray.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      9694fbec
    • Andrey Utkin's avatar
      [media] solo6x10: don't turn off/on encoder interrupt in processing loop · 6db47fa1
      Andrey Utkin authored
      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: default avatarAndrey Utkin <andrey.krieger.utkin@gmail.com>
      [hans.verkuil@cisco.com: fix commit description]
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      6db47fa1
    • Andrey Utkin's avatar
      [media] solo6x10: bind start & stop of encoded frames processing thread to device (de)init · 670390c2
      Andrey Utkin authored
      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: default avatarAndrey Utkin <andrey.krieger.utkin@gmail.com>
      Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
      670390c2