1. 26 9月, 2014 1 次提交
  2. 24 9月, 2014 3 次提交
  3. 22 9月, 2014 2 次提交
    • H
      [media] cx23885: fix size helper functions · 1c5eaa23
      Hans Verkuil 提交于
      The norm_swidth function was unused and is dropped. It's not clear
      what the purpose of that function was.
      
      The norm_maxh function was changed so it tests for 60 Hz standards
      rather than for 50 Hz standards. The is the preferred order.
      
      The norm_maxw function was poorly written and used: it gives the maximum
      allowed line width for the given standard. For 60 Hz that's 720, but
      for 50 Hz that's 768 which allows for 768x576 which gives you square
      pixels. For 60 Hz formats it is 640x480 that gives square pixels, so
      there is no need to go beyond 720.
      
      The initial width was set using norm_maxh(), which was wrong. Just set
      to 720, that's what you normally use. Since the initial standard was
      NTSC anyway the initial width was always 720 anyway.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      1c5eaa23
    • H
      [media] cx23885: fix VBI support · 420b2176
      Hans Verkuil 提交于
      Tested VBI support and discovered that the wrong offset was used.
      After this change it is now working. Verified with CC/XDS for NTSC
      and WSS/Teletext on PAL.
      
      It also reported the wrong start lines for the second field. That's
      now fixed as well.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
      420b2176
  4. 08 9月, 2014 4 次提交
    • H
      [media] cx23885: Add busy checks before changing formats · f1b6a735
      Hans Verkuil 提交于
      Before you can change the standard or the capture format, make sure the
      various vb2_queues aren't in use since you cannot change the buffer size from
      underneath a a busy vb2_queue.
      
      Also make sure that the return code of cx23885_set_tvnorm is returned
      correctly, otherwise the -EBUSY will be lost.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      f1b6a735
    • H
      [media] cx23885: remove btcx-risc dependency · 4d63a25c
      Hans Verkuil 提交于
      It's just as easy to do it in the driver. This dependency only uses a
      fraction of the btcx-risc module and doing it directly in the driver
      adds only a few lines. The btcx-risc module is really meant for the
      bttv driver, not for other drivers.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      4d63a25c
    • H
      [media] cx23885: fix field handling · 96f233e9
      Hans Verkuil 提交于
      Add missing SEQ_BT/TB support, bottom field is first for all 60 Hz formats,
      not just NTSC, restore an overwritten field value and initialize dev->field
      correctly.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      96f233e9
    • H
      [media] cx23885: convert to vb2 · 453afdd9
      Hans Verkuil 提交于
      As usual, this patch is very large due to the fact that half a vb2 conversion
      isn't possible. And since this affects 417, alsa, core, dvb, vbi and video the
      changes are all over.
      
      What made this more difficult was the peculiar way the risc program was setup.
      The driver allowed for running out of buffers in which case the DMA would stop
      and restart when the next buffer was queued. There was also a complicated
      timeout system for when buffers weren't filled. This was replaced by a much
      simpler scheme where there is always one buffer around and the DMA will just
      cycle that buffer until a new buffer is queued. In that case the previous
      buffer will be chained to the new buffer. An interrupt is generated at the
      start of the new buffer telling the driver that the previous buffer can be
      passed on to userspace.
      
      Much simpler and more robust. The old code seems to be copied from the
      cx88 driver. But it didn't fit the vb2 ops very well and replacing it with
      the new scheme made the code easier to understand. Not to mention that this
      patch removes 600 lines of code.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      453afdd9
  5. 03 9月, 2014 16 次提交
  6. 22 8月, 2014 1 次提交
  7. 02 8月, 2014 1 次提交
  8. 28 7月, 2014 1 次提交
  9. 26 7月, 2014 4 次提交
  10. 18 7月, 2014 1 次提交
  11. 17 6月, 2014 2 次提交
    • M
      [media] dib7000: export just one symbol · 8abe4a0a
      Mauro Carvalho Chehab 提交于
      Exporting multiple symbols don't work as it causes compilation
      breakages, due to the way dvb_attach() works.
      
      This were reported several times, like:
      
         drivers/built-in.o: In function `cxusb_dualdig4_rev2_tuner_attach':
      >> cxusb.c:(.text+0x27d4b5): undefined reference to `dib7000p_get_i2c_master'
         drivers/built-in.o: In function `dib7070_set_param_override':
         cxusb.c:(.text+0x27d5a5): undefined reference to `dib0070_wbd_offset'
      >> cxusb.c:(.text+0x27d5be): undefined reference to `dib7000p_set_wbd_ref'
         drivers/built-in.o: In function `dib7070_tuner_reset':
      >> cxusb.c:(.text+0x27d5f9): undefined reference to `dib7000p_set_gpio'
         drivers/built-in.o: In function `cxusb_dualdig4_rev2_frontend_attach':
      >> cxusb.c:(.text+0x27df5c): undefined reference to `dib7000p_i2c_enumeration'
      
      In this specific report:
      	CONFIG_DVB_USB_CXUSB=y
      	CONFIG_DVB_DIB7000P=m
      
      But the same type of bug can happen if:
      	CONFIG_DVB_DIB7000P=m
      and one of the bridge drivers is compiled builtin (cxusb, cx23885-dvb
      and/or dib0700).
      
      As a bonus, dib7000p won't be loaded anymore if the device uses
      a different frontend, reducing the memory footprint.
      
      Tested with Hauppauge Nova-TD (2 frontends).
      Reported-by: NFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      8abe4a0a
    • M
      [media] dib7000p: rename dib7000p_attach to dib7000p_init · 7f67d96a
      Mauro Carvalho Chehab 提交于
      Well, what we call as "foo_attach" is the method that should
      be called by the dvb_attach() macro.
      
      It should be noticed that the name "dvb_attach" is really a
      bad name and don't express what it does.
      
      dvb_attach() basically does three things, if the frontend is
      compiled as a module:
      - It lookups for the module that it is known to have the
        given symbol name and requests such module;
      - It increments the module usage (anonymously - so lsmod
        doesn't print who loaded the module);
      - after loading the module, it runs the function associated
        with the dynamic symbol.
      
      When compiled as builtin, it just calls the function given to it.
      
      As dvb_attach() increments refcount, it can't be (easily)
      called more than once for the same module, or the kernel
      will deny to remove the module, because refcount will never
      be zeroed.
      
      In other words, the function name given to dvb_attach()
      should be one single symbol that will always be called
      before any other function on that module to be used.
      
      For almost all DVB frontends, there's just one function.
      
      However, the dib7000p initialization can require up to 3
      functions to be called:
      	- dib7000p_get_i2c_master;
      	- dib7000p_i2c_enumeration;
      	- dib7000p_init (before this patch dib7000_attach).
      
      (plus a bunch of other functions that the bridge driver will
      need to call).
      
      As we need to get rid of all those direct calls, because they
      cause compilation breakages when bridge is builtin and
      frontend is module, we'll need to add a new function that
      will be the first one to be called, whatever initialization
      is needed.
      
      So, let's rename the function that probes and init the hardware
      to dib7000p_init.
      
      A latter patch will add a new dib7000p_attach that will be
      used as originally conceived by dvb_attach() way.
      Signed-off-by: NMauro Carvalho Chehab <m.chehab@samsung.com>
      7f67d96a
  12. 25 5月, 2014 1 次提交
  13. 12 3月, 2014 1 次提交
  14. 14 2月, 2014 1 次提交
  15. 05 2月, 2014 1 次提交