1. 30 12月, 2008 1 次提交
  2. 11 11月, 2008 1 次提交
  3. 18 10月, 2008 3 次提交
    • D
      V4L/DVB (9269): cx88: add I2S-ADC tvaudio method · 430189da
      Darron Broad 提交于
      This adds I2S-ADC tvaudio mode as a formal method of audio
      delivery.
      
      This fixes one bug and adds fm audio via I2S-ADC on cards
      that support it.
      
      The bug occured before when I2S-ADC mode was initiated on
      composite/s-video open but was then reset within 500ms
      by the audio thread which used any previous audio tuning
      details.
      Signed-off-by: NDarron Broad <darron@kewl.org>
      Signed-off-by: NSteven Toth <stoth@linuxtv.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      430189da
    • D
      V4L/DVB (9228): cx88: Add audio routing for the hvr-3000/4000 · 923ac7f7
      Darron Broad 提交于
      This adds audio routing on the hvr-3000/4000
      
      This is a preliminary patch for later routing
      requirements.
      
      This adds line-in support on the 2 cards mentioned.
      It is also apparent that there is an initial open
      fault for line-in when opening composite/s-video.
      This will be fixed later.
      
      It was also noticed that the bit-field for audio
      routing which was 2 bits needs an increase as
      the WM8775 for example, allows a value 4 bits
      wide for it's audio mux.
      Signed-off-by: NDarron Broad <darron@kewl.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      923ac7f7
    • S
      V4L/DVB (9222): S2API: Add Multiple-frontend on a single adapter support. · 363c35fc
      Steven Toth 提交于
      A detailed description from the original patches 2 years ago:
      
      "The WinTV-HVR3000 has a single transport bus which is shared between
      a DVB-T and DVB-S modulator. These patches build on the bus acquisition
      cx88 work from a few weeks ago to add support for this.
      
      So to applications the HVR3000 looks like this:
      /dev/dvb/adapter0/fe0 (cx24123 DVB-S demod)
      /dev/dvb/adapter0/fe1 (cx22702 DVB-T demod)
      
      Additional boards continue as before, eg:
      /dev/dvb/adapter1/fe0 (lgdt3302 ATSC demod)
      
      The basic change is removing the single instance of the videobuf_dvb in
      cx8802_dev and saa7134_dev(?) and replacing it with a list and some
      supporting functions.
      
      *NOTE* This branch was taken before v4l-dvb was closed for 2.6.19 so
      two or three current cx88 patches appear to be reversed by this tree,
      this will be cleaned up in the near future. The patches missing change
      the mutex handing to core->lock, fix an enumeration problem."
      
      It should be recognised that a number of people have been maintaining
      this patchset. Significant levels of Kudos to everyone one involved,
      including but not limited to:
      
      Darron Broad
      Fabio M. Di Nitto
      Carlo Scarfoglio
      Hans Werner
      
      Without the work of these people, and countless others, my two year old
      patches would of died on the Mercurial linuxtv.org vine a long time
      ago.
      
      TODO: Revise these patches a little further so that the need for
      demux1 and dvr0 is optional, not mandatory on the HVR3000.
      
      HISTORY (darron):
      This is the last update to MFE prepared by Hans which is based
      upon the `scratchpad' diff created by Carlo.
      All MFE work prior to that point must be attributed to Fabio
      who ported and maintained Steve's original patch up to that
      time.
      Signed-off-by: NSteven Toth <stoth@linuxtv.org>
      Signed-off-by: NDarron Broad <darron@kewl.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      363c35fc
  4. 13 10月, 2008 1 次提交
  5. 12 10月, 2008 8 次提交
  6. 26 7月, 2008 1 次提交
  7. 25 4月, 2008 7 次提交
  8. 18 2月, 2008 1 次提交
  9. 26 1月, 2008 5 次提交
  10. 22 10月, 2007 3 次提交
  11. 10 10月, 2007 8 次提交
    • T
      V4L/DVB (6283): videobuf: Remove references to old Kconfig option name · 5a3ebe87
      Trent Piepho 提交于
      CONFIG_VIDEO_BUF_DVB became CONFIG_VIDEOBUF_DVB.
      
      But in these cases, it makes more sense to use CONFIG_VIDEO_SAA7134_DVB
      or CONFIG_VIDEO_CX88_DVB_MODULE depending on the driver.
      
      The reference in cx23885.h should just be removed, as the code there needs to
      be included if DVB is on or off.  I do not think you can even compile the
      cx23885 driver without DVB.  It's clearly just leftover from when the file was
      obvious copied from the cx88 driver (which is not mentioned in the copyright
      BTW).
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      5a3ebe87
    • M
    • M
      V4L/DVB (6252): Adapt drivers to use the newer videobuf modules · c1accaa2
      Mauro Carvalho Chehab 提交于
      PCI-dependent videobuf_foo methods were renamed as videobuf_pci_foo.
      
      Also, videobuf_dmabuf is now part of videobuf-dma-sg private struct.
      So, to access it, a subroutine call is needed.
      
      This patch renames all occurences of those function calls to be
      consistent with the video-buf split.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      http://thread.gmane.org/gmane.comp.video.video4linux/34978/focus=34981Reviewed-by: NRicardo Cerqueira <v4l@cerqueira.org>
      c1accaa2
    • M
      V4L/DVB (6247): Fix bug #8689: Fixes IR stop/start during suspend/resume · 13595a51
      Mauro Carvalho Chehab 提交于
      IR workqueue should be disabled during suspend. This avoids some troubles, like
      the one reported on bug #8689:
      
      "The Hauppauge HVR 1100 ir-remote control does not work after resume from
      suspend to ram or disk."
      
      This patch disables IR before suspending, re-enabling it after resume.
      
      Thanks to Peter Poklop <Peter.Poklop@gmx.at> for reporting it and helping with
      the fix.
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      Reviewed-by: NPeter Poklop <Peter.Poklop@gmx.at>
      13595a51
    • T
      V4L/DVB (6083): cx88-alsa: Rework buffer handling · 05b27233
      Trent Piepho 提交于
      Rework the way the DMA buffer is handled and IRQs are generated.
      
      ALSA uses a ring-buffer of multiple periods.  Each period is supposed to
      corrispond to one IRQ.
      
      The existing driver was generating one interrupt per ring-buffer, as opposed
      to per period.  This meant that as soon as the IRQ was generated, the hardware
      was already starting to re-write the beginning of the buffer.  Since the DMA
      happens on a per-line basis, there was only a narrow window to copy the data
      out before the buffer was overwritten.
      
      The cx88 core RISC program generator is modified so that it can set the IRQ
      and counter flags to count every X lines of DMA transfer.  This way we can
      generate an interrupt every period instead of every full ring-buffer.  Right
      now only period of one line are supported, but it should be possible to
      support longer periods.  Note that a WRITE instruction generates an IRQ when
      it starts, not when the transfer is finished.  Thus to generate an IRQ when
      line X is done, one must set the IRQ flag on the instruction that starts line
      X+1, not the one that ends line X.
      
      Change the line size so that there are four lines in the SRAM FIFO.  If there
      are not four lines, the analog output from the cx88's internal DACs is full of
      clicks and pops.
      
      Try to handle FIFO sync errors.  Sometimes the chip generates many of these
      errors before audio data starts.  Up to 50 sync errors will be ignored and the
      counter reset.
      
      Have the IRQ handler save the RISC counter to the chip struct, and then have
      the pointer callback use this to calculate the pointer position.  We could
      read the counter from the pointer callback, but sometimes the sync errors on
      start up cause the counter to go crazy.  ALSA sees this and thinks there has
      been an overrun.  The IRQ hander can avoid saving the counter position on
      sync errors.
      
      The chip "opened" flag wasn't necessary.  ALSA won't try to open the same
      substream multiple times.  Probably this code was cut&pasted from the bt87x
      driver, which has multiple sub-streams for one chip.
      
      Do error checking for the videobuf mapping functions.
      
      snd_card_cx88_runtime_free() is useless and can be deleted.
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      05b27233
    • T
      V4L/DVB (6022): cx88: Move card core creation from cx88-core.c to cx88-cards.c · bbc83597
      Trent Piepho 提交于
      A lot of code in cx88-cards.c was only used by cx88-core.c when the core state
      is first allocated and initialized.  Moving that task to cx88-cards makes the
      driver simpler and the files more self contained.
      
      - Module parameters tuner, radio, card, and latency move to cx88-cards.c
      - cx88_boards is made static
      - cx88_subids is made static and const
      - cx88_bcount is eliminated
      - cx88_idcount is eliminated
      - cx88_card_list() is made static
      - cx88_card_setup_pre_i2c() is made static
      - cx88_card_setup() is made static
      - cx88_pci_quirks() is moved from cx88-core to cx88-cards
        The function argument "char *name" is made const too
      - get_ressources() is moved from cx88-core to cx88-cards, and renamed to
        cx88_get_resources()
      - The code to allocate and initialize the core state struct and the chip is
        moved out of cx88-core.c:cx88_get_core() and into a new function in
        cx88-cards.c, cx88_core_create().  This makes both functions simpler.
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      bbc83597
    • T
      V4L/DVB (6021): cx88: Copy board information into card state · 6a59d64c
      Trent Piepho 提交于
      The cx88 driver state stored the ID of the board type in core->board.  Every
      time the driver need to get some information about the board configuration, it
      uses the board number as an index into board configuration array.
      
      This patch changes it so that the board number is in core->boardnr, and
      core->board is a copy of the board configuration information.  This allows
      access to board information without the extra indirection.  e.g.
      cx88_boards[core->board].mpeg becomes core->board.mpeg.
      
      This has a number of advantages:
      - The code is simpler to write.
      
      - It compiles to be smaller and faster, without needing the extra array lookup
        to get at the board information.
      
      - The cx88_boards array no longer needs to be exported to all cx88 modules.
      
      - The boards array can be made const
      
      - It should be possible to avoid keeping the (large) cx88_boards array around
        after the module is loaded.
      
      - If module parameters or eeprom info override some board configuration
        setting, it's not necessary to modify the boards array, which would
        affect all boards of the same type.
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      6a59d64c
    • T
      V4L/DVB (6019): cx88: Make card database more memory efficient · c252b051
      Trent Piepho 提交于
      The vmux setting is only two bits, but was taking up a whole 32 
      in the input description struct.  By changing it to a two-bit 
      bitfield, it can fit in what was padding space before and drop 
      the input size by 4 bytes, from 28 to 24. This drops the board 
      description struct, which has 9 inputs, from 280 to 244 bytes.  
      Total driver size decreases by 2108 bytes.
      Signed-off-by: NTrent Piepho <xyzzy@speakeasy.org>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@infradead.org>
      c252b051
  12. 21 7月, 2007 1 次提交