All of lore.kernel.org
 help / color / mirror / Atom feed
From: Geraldo Nascimento <geraldogabriel@gmail.com>
To: Mike Oliphant <oliphant@nostatic.org>
Cc: alsa-devel@alsa-project.org
Subject: Re: Implicit feedback on BOSS GT-1, the saga continues...
Date: Wed, 7 Apr 2021 23:26:14 -0300	[thread overview]
Message-ID: <CAEsQvcuBYnY_k1Rd8US5qrDKcJas62Q5kA4P0NSEJODBCcZMuw@mail.gmail.com> (raw)
In-Reply-To: <CAHXb3beRycUteezmWRqO0u3kZnV8TbCNAqfO3ksjVoJ6WSrdBw@mail.gmail.com>

Thanks, Mike, one thing I can tell you right off the bat is that if you
turn implicit feedback sync on for both endpoints at the same time like you
mentioned, without your workaround inside endpoint.c, they most likely will
stall because they would both be waiting for each other to start.

Have you tried engaging the generic implicit feedback sync just for the
playback, thereby commenting out the capture implicit feedback entries, and
re-enabling snd_usb_endpoint_implicit_feedback_sink(ep) inside endpoint.c?
Does playback still fail to start?

If you choose to perform this simple test please share with us the test's
dyndbg logs right from the moment you turn on the device, not just after
you start jackd.

Sorry for the endless do-this, do-that. Such is the pace of teledebugging


Em Qua, 7 de abr de 2021 21:38, Mike Oliphant <oliphant@nostatic.org>
escreveu:

> Geraldo - here is the dmesg output when starting up jackd for
> capture/playback:
>
> With my patch:
>
> [  136.734081] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0
> [  136.734088] usb 3-1.2:   channels=2, rate=44100, format=S32_LE,
> period_bytes=256, periods=2, implicit_fb=0
> [  136.734092] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e
> [  136.734233] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e
> [  136.734381] usb 3-1.2: 2:1 Set sample rate 44100, clock 0
> [  136.734388] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70480
> [  136.734394] usb 3-1.2: Set up 12 URBS, ret=0
> [  136.734466] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0
> [  136.734468] usb 3-1.2:   channels=2, rate=44100, format=S32_LE,
> period_bytes=256, periods=2, implicit_fb=1
> [  136.734471] usb 3-1.2: Reopened EP 0x8e (count 1)
> [  136.734473] usb 3-1.2: Setting usb interface 1:0 for EP 0xd
> [  136.734605] usb 3-1.2: Setting usb interface 1:1 for EP 0xd
> [  136.734762] usb 3-1.2: 1:1 Set sample rate 44100, clock 0
> [  136.734774] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68400
> [  136.734781] usb 3-1.2: Set up 12 URBS, ret=0
> [  136.734830] usb 3-1.2: Starting data EP 0xd (running 0)
> [  136.734873] usb 3-1.2: 12 URBs submitted for EP 0xd
> [  136.734876] usb 3-1.2: Starting data EP 0x8e (running 0)
> [  136.734906] usb 3-1.2: 12 URBs submitted for EP 0x8e
> [  136.740627] usb 3-1.2: Starting data EP 0x8e (running 1)
> [  136.740634] usb 3-1.2: 2:1 Start Capture PCM
> [  136.740635] usb 3-1.2: 1:1 Start Playback PCM
>
>
> With the unpatched kernel:
>
> [  344.813203] usb 3-1.2: Open EP 0x8e, iface=2:1, idx=0
> [  344.813210] usb 3-1.2:   channels=2, rate=44100, format=S32_LE,
> period_bytes=256, periods=2, implicit_fb=1
> [  344.813213] usb 3-1.2: Open EP 0xd, iface=1:1, idx=0
> [  344.813215] usb 3-1.2:   channels=2, rate=44100, format=S32_LE,
> period_bytes=256, periods=2, implicit_fb=0
> [  344.813217] usb 3-1.2: Setting usb interface 2:0 for EP 0x8e
> [  344.813367] usb 3-1.2: Setting usb interface 2:1 for EP 0x8e
> [  344.813494] usb 3-1.2: 2:1 Set sample rate 44100, clock 0
> [  344.813503] usb 3-1.2: Setting params for data EP 0x8e, pipe 0x70580
> [  344.813509] usb 3-1.2: Set up 12 URBS, ret=0
> [  344.813513] usb 3-1.2: Setting usb interface 1:0 for EP 0xd
> [  344.813587] usb 3-1.2: Setting usb interface 1:1 for EP 0xd
> [  344.813758] usb 3-1.2: 1:1 Set sample rate 44100, clock 0
> [  344.813765] usb 3-1.2: Setting params for data EP 0xd, pipe 0x68500
> [  344.813770] usb 3-1.2: Set up 2 URBS, ret=0
> [  344.813858] usb 3-1.2: Reopened EP 0xd (count 1)
> [  344.813883] usb 3-1.2: Starting data EP 0xd (running 0)
> [  344.813899] usb 3-1.2: 2 URBs submitted for EP 0xd
> [  344.819499] usb 3-1.2: Starting data EP 0x8e (running 0)
> [  344.819532] usb 3-1.2: 12 URBs submitted for EP 0x8e
> [  344.819535] usb 3-1.2: Starting data EP 0xd (running 1)
> [  344.819538] usb 3-1.2: 2:1 Start Capture PCM
> [  344.819540] usb 3-1.2: 1:1 Start Playback PCM
> [  344.820663] usb 3-1.2: Stopping data EP 0xd (running 2)
> [  344.820688] usb 3-1.2: Stopping data EP 0x8e (running 1)
> [  344.820693] usb 3-1.2: 2:1 Stop Capture PCM
> [  344.820695] usb 3-1.2: Stopping data EP 0xd (running 1)
> [  344.820697] usb 3-1.2: 1:1 Stop Playback PCM
> [  344.833799] usb 3-1.2: Starting data EP 0xd (running 0)
> [  344.833852] usb 3-1.2: 2 URBs submitted for EP 0xd
> [  344.833867] usb 3-1.2: Starting data EP 0x8e (running 0)
> [  344.833888] usb 3-1.2: 12 URBs submitted for EP 0x8e
> [  344.833890] usb 3-1.2: Starting data EP 0xd (running 1)
> [  344.833891] usb 3-1.2: 2:1 Start Capture PCM
> [  344.833893] usb 3-1.2: 1:1 Start Playback PCM
>
> On Wed, Apr 7, 2021 at 1:30 PM Geraldo Nascimento <
> geraldogabriel@gmail.com> wrote:
>
>> Em Qua, 7 de abr de 2021 17:16, Mike Oliphant <oliphant@nostatic.org>
>> escreveu:
>>
>>> Hi Geraldo - I don't have that patch applied, but it shouldn't make any
>>> behavioral difference - it just seems to be simplifying the code.
>>>
>>
>> Point taken.
>>
>>
>>> The issue is that the BOSS GT-1 *does* need implicit feedback on
>>> playback to avoid clock timing issues, and the current behavior is
>>> disabling that feedback.
>>>
>>
>> Mike, would you mind posting some dyndbg logs for both the stock
>> behaviour and your endpoint.c/generic quirk modified behaviour?
>>
>> Just add snd_usb_audio.dyndbg=+p to your kernel options and please share
>> the logs.
>>
>>
>>> Mike
>>>
>>> On Wed, Apr 7, 2021 at 1:04 PM Geraldo Nascimento <
>>> geraldogabriel@gmail.com> wrote:
>>>
>>>> Hey Mike, did you catch the latest patch by Takashi Iwai for capture
>>>> quirky devices?
>>>>
>>>> You can find it here:
>>>> https://patchwork.kernel.org/project/alsa-devel/patch/20210406113837.32041-1-tiwai@suse.de/
>>>>
>>>> Em Qua, 7 de abr de 2021 16:55, Mike Oliphant <oliphant@nostatic.org>
>>>> escreveu:
>>>>
>>>>> I had thought that the recent implicit feedback changes were fully
>>>>> working
>>>>> on the BOSS GT-1, but it turns out that I just hadn't tested well
>>>>> enough.
>>>>>
>>>>> Audio playback and capture works, but with periodic dropouts. I get the
>>>>> exact same behavior as I did with the quirk to completely disable
>>>>> implicit
>>>>> feedback. Without the implicit feedback, you get dropouts from clock
>>>>> drift
>>>>> - how bad probably varies from card to card. On mine it is every
>>>>> second or
>>>>> so.
>>>>>
>>>>> If I switch playback feedback for the GT-1 to generic by doing
>>>>> "IMPLICIT_FB_GENERIC_DEV(0x0582, 0x01d6)", I get the previous old
>>>>> behavior,
>>>>> which is that playback completely fails to start.
>>>>>
>>>>> With generic playback feedback, and using my previous patch to
>>>>> endpoint.c
>>>>> to avoid playback waiting on capture mentioned here:
>>>>>
>>>>>
>>>>> https://mailman.alsa-project.org/pipermail/alsa-devel/2020-January/161951.html
>>>>>
>>>>> playback and capture work perfectly for me.
>>>>>
>>>>

  reply	other threads:[~2021-04-08  2:22 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-07 19:54 Implicit feedback on BOSS GT-1, the saga continues Mike Oliphant
2021-04-07 20:08 ` Geraldo Nascimento
2021-04-07 20:16   ` Mike Oliphant
2021-04-07 20:35     ` Geraldo Nascimento
2021-04-08  0:38       ` Mike Oliphant
2021-04-08  2:26         ` Geraldo Nascimento [this message]
2021-04-08  2:46           ` Mike Oliphant
2021-04-08  3:08             ` Lucas
2021-04-08  3:25               ` Lucas
     [not found]             ` <CAEsQvcsCJUi8eP_t8MGUKf0zSf7Zmqiof8b0fmk-XhZtUScbmg@mail.gmail.com>
2021-04-08  5:05               ` Geraldo Nascimento
2021-04-08  5:36                 ` Lucas
2021-04-08  6:14                   ` Geraldo Nascimento
2021-04-08  8:40                     ` Lucas
2021-04-08 15:56                   ` Mike Oliphant
2021-04-08 19:17                 ` Geraldo Nascimento
2021-04-08 19:42                   ` Mike Oliphant
2021-04-08 20:14                     ` Geraldo Nascimento
2021-04-08 20:31                       ` Lucas
2021-04-08 21:05                         ` Geraldo Nascimento
2021-04-08 21:21                           ` Lucas
2021-04-08 20:54                       ` Mike Oliphant
2021-04-08 21:24                         ` Geraldo Nascimento
2021-04-08 22:02                           ` Mike Oliphant
2021-04-09  1:04                             ` Geraldo Nascimento
2021-04-09  1:54                               ` Lucas
2021-04-09  2:40                                 ` Geraldo Nascimento
2021-04-09  3:56                                   ` Lucas
2021-04-09  4:27                                     ` Geraldo Nascimento
2021-04-09  4:55                                       ` Lucas
2021-04-09  6:02                                         ` Geraldo Nascimento
2021-04-09 16:47                                         ` Mike Oliphant
2021-04-09 19:08                                           ` Geraldo Nascimento
2021-04-09 19:09                                           ` Lucas
2021-04-11  7:25                                             ` Lucas
2021-04-11  7:46                                               ` Lucas
2021-04-11 19:46                                               ` Mike Oliphant
2021-04-11 21:11                                                 ` Lucas
2021-04-11 21:33                                               ` Geraldo Nascimento
2021-04-12  5:57                                                 ` Lucas
2021-04-12 23:24                                                   ` Geraldo Nascimento
2021-04-16  1:25                                                     ` Lucas
2021-04-16  1:28                                                       ` Lucas
2021-04-16  7:48                                                         ` Takashi Iwai
2021-04-16 16:19                                                           ` Lucas
2021-04-07 20:18   ` Lucas
2021-04-07 20:23     ` Lucas
2021-04-07 20:24     ` Mike Oliphant
2021-04-07 20:26       ` Mike Oliphant

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAEsQvcuBYnY_k1Rd8US5qrDKcJas62Q5kA4P0NSEJODBCcZMuw@mail.gmail.com \
    --to=geraldogabriel@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=oliphant@nostatic.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.