1. 13 Jan, 2020 3 commits
    • Takashi Sakamoto's avatar
      ALSA: oxfw: fix for Stanton SCS.1d · 41dbc792
      Takashi Sakamoto authored
      Stanton SCS.1d uses Oxford Semiconductor FW 971 ASIC (FW971) for
      communication. Although the unit is bound to ALSA oxfw driver, the instance
      of sound card can not be added due to its quirk of plug information. This
      bug was added when snd-scs1x is merged into snd-oxfw at commit
      9e2004f9 ("ALSA: oxfw: obsolete scs1x module").
      
      This commit fixes the driver for the quirk. In cases that the unit returns
      NOT IMPLEMENTED for some AV/C commands, the sound card is added without any
      PCM/MIDI interfaces for packet streaming. For SCS.1d, model dependent
      operation adds MIDI interface and applications can use it to operate
      according to HSS1394 protocol from reverse-engineering work by Sean M.
      Pappalardo.
      
      Plug Control Register (PCR) has information that the unit has a pair of
      plugs for isochronous communication:
      
      (oMPR)
      $ ./firewire-request /dev/fw1 read 0xfffff0000900
      result: 80ff0001
      (iMPR)
      $ ./firewire-request /dev/fw1 read 0xfffff0000980
      result: 80ff0001
      
      AV/C PLUG INFO also returns information that the unit has a pair of
      plugs for isochronous communication.
      
      (AV/C PLUG INFO command)
      $ ./firewire-request /dev/fw1 fcp 0x01ff0200ffffffff
      response: 000: 0c ff 02 00 01 01 02 02
      
      However, AV/C PLUG SIGNAL INFO command is rejected for both plugs.
      
      (AV/C OUTPUT PLUG SIGNAL INFO command)
      $ ./firewire-request /dev/fw1 fcp 0x01ff1800ffffffff
      response: 000: 0a ff 18 00 ff ff ff ff
      (AV/C INPUT PLUG SIGNAL INFO command)
      $ ./firewire-request /dev/fw1 fcp 0x01ff1900ffffffff
      response: 000: 0a ff 19 00 ff ff ff ff
      
      Furthermore, AV/C EXTENDED STREAM FORMAT INFO is not implemented.
      
      (AV/C EXTENDED STREAM FORMAT INFO list subfunction for input plug)
      $ ./firewire-request /dev/fw1 fcp 0x01ffbfc000000000ffff00ff
      response: 000: 08 ff bf c0 00 00 00 00 ff ff 00 ff
      (AV/C EXTENDED STREAM FORMAT INFO list subfunction for output plug)
      $ ./firewire-request /dev/fw1 fcp 0x01ffbfc001000000ffff00ff
      response: 000: 08 ff bf c0 01 00 00 00 ff ff 00 ff
      (AV/C EXTENDED STREAM FORMAT INFO single subfunction for input plug)
      $ ./firewire-request /dev/fw1 fcp 0x01ffbfc100000000ffffffff
      response: 000: 08 ff bf c1 00 00 00 00 ff ff ff ff
      (AV/C EXTENDED STREAM FORMAT INFO single subfunction for output plug)
      $ ./firewire-request /dev/fw1 fcp 0x01ffbfc101000000ffffffff
      response: 000: 08 ff bf c1 01 00 00 00 ff ff ff ff
      
      Reference: https://mailman.alsa-project.org/pipermail/alsa-devel/2012-May/052264.htmlSigned-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200113073418.24622-4-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      41dbc792
    • Takashi Sakamoto's avatar
      ALSA: oxfw: don't add MIDI/PCM interface when packet streaming is unavailable · 06a42a74
      Takashi Sakamoto authored
      Stanton SCS.1d doesn't support packet streaming even if it has plugs for
      isochronous communication.
      
      This commit is a preparation for this case. The 'has_input' member is
      added to specific structure, and MIDI/PCM interfaces are not added when
      the member is false.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200113073418.24622-3-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      06a42a74
    • Takashi Sakamoto's avatar
      ALSA: oxfw: use ENXIO for not-supported cases · 03be63b2
      Takashi Sakamoto authored
      When AV/C command returns 'NOT IMPLEMENTED' status in its response, ALSA
      oxfw driver uses ENOSYS as error code. However, it's expected just to be
      used for missing system call number.
      
      This commit replaces it with ENXIO.
      Signed-off-by: default avatarTakashi Sakamoto <o-takashi@sakamocchi.jp>
      Link: https://lore.kernel.org/r/20200113073418.24622-2-o-takashi@sakamocchi.jpSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      03be63b2
  2. 12 Jan, 2020 3 commits
  3. 11 Jan, 2020 2 commits
    • Takashi Iwai's avatar
      Merge branch 'for-linus' into for-next · 3cdca6d6
      Takashi Iwai authored
      Sync 5.5-devel branch once again for applying the HD-audio fixes.
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      3cdca6d6
    • Takashi Iwai's avatar
      ALSA: hda: Rename back to dmic_detect option · 7fba6aea
      Takashi Iwai authored
      We've got quite a few bug reports showing the SOF driver being loaded
      unintentionally recently, and the reason seems to be that users didn't
      know the module option change: with the recent kernel, a new option
      dsp_driver=1 has to be passed to a new module snd-intel-dspcfg
      instead of snd_hda_intel.dmic_detect=0 option.
      
      That is, actually there are two tricky things here:
      - We changed the whole detection in another module and another
        option semantics.
      - The existing option for skipping the DSP probe was also renamed.
      
      For avoiding the confusion and giving user more hint, this patch
      reverts the renamed option dsp_driver back to dmic_detect for
      snd-hda-intel module, and show the warning about the module option
      change when the non-default value is passed.
      
      Fixes: 82d9d54a ("ALSA: hda: add Intel DSP configuration / probe code")
      Link: https://lore.kernel.org/r/20200109082000.26729-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      7fba6aea
  4. 08 Jan, 2020 6 commits
  5. 06 Jan, 2020 1 commit
  6. 05 Jan, 2020 25 commits