public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
From: Arkadiusz Bokowy <noreply@github.com>
To: linux-bluetooth@vger.kernel.org
Subject: [bluez/bluez] b19d44: shared/io: add watcher to be used with TX timestam...
Date: Wed, 09 Apr 2025 07:15:38 -0700	[thread overview]
Message-ID: <bluez/bluez/push/refs/heads/master/956b27-1288fa@github.com> (raw)

  Branch: refs/heads/master
  Home:   https://github.com/bluez/bluez
  Commit: b19d445b01920ba5ffdcbe320d406cd5ddac8746
      https://github.com/bluez/bluez/commit/b19d445b01920ba5ffdcbe320d406cd5ddac8746
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M acinclude.m4
    M configure.ac
    M src/shared/io-ell.c
    M src/shared/io-glib.c
    M src/shared/io-mainloop.c
    M src/shared/io.h

  Log Message:
  -----------
  shared/io: add watcher to be used with TX timestamping

Add special implementation of fd watcher GSource for audio use.

For audio use cases, sound server may turn on TX timestamping on a
socket that we are watching.  In this case, we shall not consider the TX
timestamping POLLERR as a socket error condition, nor read the TX
timestamps.

When TX timestamps appear in errqueue, switch from fd poll wait to
polling the fd at regular intervals.  This is because unread errqueue
causes poll() to wake up immediately, so the mainloop cannot block on
that, and we have to use a timer instead with some reasonable timeout
for the use case.

This rate limits wakeups on new TX timestamps we aren't going to read,
and also avoids the busy looping if timestamping was left on but
errqueue is not flushed.

Kernel does not provide any way for user applications to disable wakeup
on POLLERR currently.  Note that even with epoll() POLLET it still wakes
up on every timestamp.

Implement this only for io-glib; it is only needed for audio use cases
that anyway are using glib, so add a glib-specific API for it in
addition to the 'struct io *' one. Uses features from GLib 2.36 (from
2013) so update configure.ac also.


  Commit: 0e831d8e67096eacfe9870f8d8c1134fc0b045d3
      https://github.com/bluez/bluez/commit/0e831d8e67096eacfe9870f8d8c1134fc0b045d3
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M profiles/audio/avdtp.c

  Log Message:
  -----------
  avdtp: don't consider TX timestamps as errors

Use io_add_err_watch to avoid considering TX timestamps as errors in the
transport io channel.


  Commit: 9f167d495adb47cef9482ed6c4344d4c953d26b8
      https://github.com/bluez/bluez/commit/9f167d495adb47cef9482ed6c4344d4c953d26b8
  Author: Pauli Virtanen <pav@iki.fi>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M profiles/audio/bap.c
    M src/shared/bap.c

  Log Message:
  -----------
  bap: don't consider TX timestamps as errors

Use io_add_err_watch to avoid considering TX timestamps as errors in the
transport io channel.


  Commit: 1288facd554823b302024d7f0589a68a58fa2ac8
      https://github.com/bluez/bluez/commit/1288facd554823b302024d7f0589a68a58fa2ac8
  Author: Arkadiusz Bokowy <arkadiusz.bokowy@gmail.com>
  Date:   2025-04-09 (Wed, 09 Apr 2025)

  Changed paths:
    M doc/org.bluez.AdvertisementMonitorManager.rst
    M doc/org.bluez.Agent.rst
    M doc/org.bluez.AgentManager.rst
    M doc/org.bluez.GattCharacteristic.rst
    M doc/org.bluez.GattDescriptor.rst
    M doc/org.bluez.LEAdvertisement.rst
    M doc/org.bluez.LEAdvertisingManager.rst
    M doc/org.bluez.Media.rst
    M doc/org.bluez.obex.Agent.rst
    M doc/org.bluez.obex.AgentManager.rst
    M doc/org.bluez.obex.FileTransfer.rst

  Log Message:
  -----------
  doc: Fix various typos in D-Bus interface documentation


Compare: https://github.com/bluez/bluez/compare/956b277f8da6...1288facd5548

To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications

                 reply	other threads:[~2025-04-09 14:15 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=bluez/bluez/push/refs/heads/master/956b27-1288fa@github.com \
    --to=noreply@github.com \
    --cc=linux-bluetooth@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox