1. 26 2月, 2009 1 次提交
  2. 20 2月, 2009 1 次提交
  3. 19 2月, 2009 3 次提交
    • C
      sound: oxygen: handle cards with broken EEPROM · 30459d7b
      Clemens Ladisch 提交于
      Under as yet unknown circumstances, the first word of the sound card's
      EEPROM gets overwritten.  When this has happened, we cannot rely on the
      subsystem IDs that the kernel reads from the PCI configuration
      registers.  Instead, we read the IDs directly from the EEPROM and do the
      ID matching manually.
      
      Because the model-specific driver cannot determine the model before
      calling oxygen_pci_probe(), that function now gets a get_model()
      callback as parameter.  The customizing of the model structure, which
      was formerly done by the probe() callback, also has moved into
      get_model().
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      30459d7b
    • C
      sound: oxygen: make the owner module a parameter of the probe function · bb718588
      Clemens Ladisch 提交于
      Move the owner field out of the oxygen_model structure and make it
      a parameter of oxygen_pci_probe(), because the actual owner module does
      not depend on the card model.  Furthermore, moving it out of the model
      structure allows us to create the card structure before the actual model
      is known.
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      bb718588
    • C
      sound: virtuoso: revert "do not overwrite EEPROM on Xonar D2/D2X" · 6ce6c473
      Clemens Ladisch 提交于
      This reverts commit 7e86c0e6 ("do not
      overwrite EEPROM on Xonar D2/D2X") because it did not actually help with
      the problem.
      
      More user reports show that the overwriting of the EEPROM is not
      triggered by using this driver but by installing Linux, and that the
      installation of any other operating system (even one without any CMI8788
      driver) has the same effect.  In other words, the presence of this
      driver does not have any effect on the occurrence of the error.  (So
      far, the available evidence seems to point to a BIOS bug.)
      
      Furthermore, it turns out that the EEPROM chip is protected against
      stray write commands by the command format and by requiring a separate
      write-enable command, so the error scenario in the previous commit (that
      SPI writes can be misinterpreted as an EEPROM write command) is not even
      theoretically possible.
      
      The mixer control that was removed as a consequence of the previous
      commit can only be partially emulated in userspace, which also means it
      cannot be seen be the in-kernel OSS API emulation, so it is better to
      revert that change.
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      6ce6c473
  4. 19 1月, 2009 2 次提交
  5. 15 1月, 2009 1 次提交
    • C
      sound: virtuoso: do not overwrite EEPROM on Xonar D2/D2X · 7e86c0e6
      Clemens Ladisch 提交于
      On the Asus Xonar D2 and D2X models, the SPI chip select signal for the
      fourth DAC shares its pin with the serial clock for the EEPROM that
      contains the PCI subdevice ID values.  It appears that when DAC
      registers are written and some other unknown conditions occur (probably
      noise on the EEPROM's chip select line), the EEPROM gets overwritten
      with garbage, which makes it impossible to properly detect the card
      later.
      
      Therefore, we better avoid DAC register writes and make sure that the
      driver works with the DAC's registers' default values.  Consequently,
      the sample format is now I2S instead of left-justified (no user-visible
      change), and the DAC's volume/mute registers cannot be used anymore
      (volume changes are now done by the software volume plugin).
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      7e86c0e6
  6. 22 9月, 2008 10 次提交
  7. 14 8月, 2008 1 次提交
  8. 19 5月, 2008 6 次提交
  9. 24 4月, 2008 15 次提交