[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 280c1e: audio/hda: create millisecond timers
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 280c1e: audio/hda: create millisecond timers that handle I... |
Date: |
Mon, 25 Jun 2018 08:12:48 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 280c1e1cdb24d80ecdfcdfc679ccc5e8ed7af45d
https://github.com/qemu/qemu/commit/280c1e1cdb24d80ecdfcdfc679ccc5e8ed7af45d
Author: Gerd Hoffmann <address@hidden>
Date: 2018-06-25 (Mon, 25 Jun 2018)
Changed paths:
M hw/audio/hda-codec.c
M hw/audio/intel-hda.c
Log Message:
-----------
audio/hda: create millisecond timers that handle IO
Currently, the HDA device tries to sync itself with the QEMU audio
backend by waiting for the guest driver to handle buffer completion
interrupts. This causes the backend to often read too much data from the
device, as well as running out of data whenever the guest takes too long
to handle the interrupt.
According to the HDA specification, the guest is also not required to
use interrupts, but can also sync itself by polling the LPIB registers.
This patch will introduce high frequency (1000Hz) timers that interface
with the device and allow for much smoother emulation of the LPIB
registers. Since the timing is now provided by these timers, the need
to wait for buffer completion interrupts also ceases.
Signed-off-by: Martin Schrodt <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden
Message-id: address@hidden
[ kraxel: keep old code for compatibility with older qemu versions,
add property to switch code paths at runtime ]
[ kraxel: new code is disabled by default, use-timer=on enables it ]
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 0a373bb310c1533e24aa5e3edbf206507fb342ea
https://github.com/qemu/qemu/commit/0a373bb310c1533e24aa5e3edbf206507fb342ea
Author: Gerd Hoffmann <address@hidden>
Date: 2018-06-25 (Mon, 25 Jun 2018)
Changed paths:
M hw/audio/hda-codec.c
M hw/audio/trace-events
Log Message:
-----------
audio/hda: turn some dprintfs into trace points
Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden
Commit: 8ced0669237b2bbedac3e4ce6fcf7aaaafaae663
https://github.com/qemu/qemu/commit/8ced0669237b2bbedac3e4ce6fcf7aaaafaae663
Author: Gerd Hoffmann <address@hidden>
Date: 2018-06-25 (Mon, 25 Jun 2018)
Changed paths:
M hw/audio/hda-codec.c
M hw/audio/trace-events
Log Message:
-----------
audio/hda: tweak timer adjust logic
We have some jitter in the audio timer call frequency and buffer sizes.
So it is rather pointless trying to be very exact, effect is a constant
up+down adjustment. So adjust only in case we are off too much.
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden
Commit: 4501ee16c76e89e0a2b2beb95f3b93f965997391
https://github.com/qemu/qemu/commit/4501ee16c76e89e0a2b2beb95f3b93f965997391
Author: Gerd Hoffmann <address@hidden>
Date: 2018-06-25 (Mon, 25 Jun 2018)
Changed paths:
M hw/audio/hda-codec.c
M hw/audio/trace-events
Log Message:
-----------
audio/hda: detect output buffer overruns
If some event caused some larger playback hickup the fine-grained timer
adjust isn't able to recover. Use a buffer overruns as indicator for
that. Reset timer adjust logic in case we detected one.
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden
Commit: bc753dc09ff33d99bc9004d7286c50de1d5bece6
https://github.com/qemu/qemu/commit/bc753dc09ff33d99bc9004d7286c50de1d5bece6
Author: Gerd Hoffmann <address@hidden>
Date: 2018-06-25 (Mon, 25 Jun 2018)
Changed paths:
M hw/audio/hda-codec.c
M include/hw/compat.h
Log Message:
-----------
audio/hda: enable new timer code by default.
Also add a compat property to disable it for old machine types,
needed for live migration compatibility.
Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden
Commit: 441b345313f1355fb2464f3b37a07a1ded85b61a
https://github.com/qemu/qemu/commit/441b345313f1355fb2464f3b37a07a1ded85b61a
Author: Nia Alarie <address@hidden>
Date: 2018-06-25 (Mon, 25 Jun 2018)
Changed paths:
M audio/audio.c
Log Message:
-----------
audio: Convert use of atoi to qemu_strtoi
If qemu_strtoi indicates an error, return the default value.
Signed-off-by: Nia Alarie <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Gerd Hoffmann <address@hidden>
Commit: 35e238c9330669882487f9929e0aa97900431853
https://github.com/qemu/qemu/commit/35e238c9330669882487f9929e0aa97900431853
Author: Peter Maydell <address@hidden>
Date: 2018-06-25 (Mon, 25 Jun 2018)
Changed paths:
M audio/audio.c
M hw/audio/hda-codec.c
M hw/audio/intel-hda.c
M hw/audio/trace-events
M include/hw/compat.h
Log Message:
-----------
Merge remote-tracking branch
'remotes/kraxel/tags/audio-20180625-pull-request' into staging
audio: new timer code for hda codec, fix audio_get_conf_int
# gpg: Signature made Mon 25 Jun 2018 14:12:41 BST
# gpg: using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <address@hidden>"
# gpg: aka "Gerd Hoffmann <address@hidden>"
# gpg: aka "Gerd Hoffmann (private) <address@hidden>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138
* remotes/kraxel/tags/audio-20180625-pull-request:
audio: Convert use of atoi to qemu_strtoi
audio/hda: enable new timer code by default.
audio/hda: detect output buffer overruns
audio/hda: tweak timer adjust logic
audio/hda: turn some dprintfs into trace points
audio/hda: create millisecond timers that handle IO
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/518d23a976b7...35e238c93306
**NOTE:** This service been marked for deprecation:
https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 280c1e: audio/hda: create millisecond timers that handle I...,
GitHub <=