From: Dmitry Osipenko <digetx@gmail.com>
To: QEMU Developers <qemu-devel@nongnu.org>, qemu-arm@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
Peter Crosthwaite <crosthwaitepeter@gmail.com>
Subject: [Qemu-devel] [PATCH v10 0/7] PTimer fixes/features and ARM MPTimer conversion
Date: Sat, 9 Jan 2016 20:39:48 +0300 [thread overview]
Message-ID: <cover.1452359845.git.digetx@gmail.com> (raw)
Changelog for ARM MPTimer QEMUTimer to ptimer conversion:
V2: Fixed changing periodic timer counter value "on the fly". I added a
test to the gist to cover that issue.
V3: Fixed starting the timer with load = 0 and counter != 0, added tests
to the gist for this issue. Changed vmstate version for all VMSD's,
since loadvm doesn't check version of nested VMSD.
V4: Fixed spurious IT bit set for the timer starting in the periodic mode
with counter = 0. Test added.
V5: Code cleanup, now depends on ptimer_set_limit() fix.
V6: No code change, added test to check ptimer_get_count() with corrected
.limit value.
V7: No change.
V8: No change.
V9: No change.
V10: Correctly handle cases when counter = load = 0 and prescaler != 0,
i.e. triggering interrupt in that case. Call ptimer_* only when
certain MPTimer state was changed, like prescaler change. Factor out
timerblock_set_count from timerblock_run and inline both.
Tests updated.
ARM MPTimer tests: https://gist.github.com/digetx/dbd46109503b1a91941a
Patches for ptimer are introduced since V5 of "ARM MPTimer conversion".
Changelog for the ptimer patches:
V5: Only fixed ptimer_set_limit() for the disabled timer.
V6: As was pointed by Peter Maydell, there are other issues beyond
ptimer_set_limit(), so V6 supposed to cover all those issues.
V7: Added accidentally removed !use_icount check.
Added missed "else" statement.
V8: Adjust period instead of the limit and do it for periodic timer only
(.limit adjusting bug). Added patch/fix for freq/period change and
ptimer_get_count() improvement.
V9: Don't do wrap around if counter == 0, otherwise polled periodic
timer won't ever return counter = 0.
V10: Addressed V8/9 review comments.
Adjust timer period based on delta instead of limit.
Don't wrap around when in icount mode.
New patches: "on the fly" mode switch, silence error msg when
delta = load = 0, introduce ptimer_get_limit.
Dmitry Osipenko (7):
hw/ptimer: Fix issues caused by the adjusted timer limit value
hw/ptimer: Perform tick and counter wrap around if timer already
expired
hw/ptimer: Update .delta on period/freq change
hw/ptimer: Support "on the fly" timer mode switch
hw/ptimer: Legalize running with delta = load = 0
hw/ptimer: Introduce ptimer_get_limit
arm_mptimer: Convert to use ptimer
hw/core/ptimer.c | 109 +++++++++++++++++++++++------------
hw/timer/arm_mptimer.c | 127 ++++++++++++++++++++---------------------
include/hw/ptimer.h | 1 +
include/hw/timer/arm_mptimer.h | 5 +-
4 files changed, 137 insertions(+), 105 deletions(-)
--
2.6.4
next reply other threads:[~2016-01-09 17:45 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-09 17:39 Dmitry Osipenko [this message]
2016-01-09 17:39 ` [Qemu-devel] [PATCH v10 1/7] hw/ptimer: Fix issues caused by the adjusted timer limit value Dmitry Osipenko
2016-01-10 0:28 ` [Qemu-arm] " Peter Crosthwaite
2016-01-09 17:39 ` [Qemu-devel] [PATCH v10 2/7] hw/ptimer: Perform tick and counter wrap around if timer already expired Dmitry Osipenko
2016-01-10 0:44 ` [Qemu-arm] " Peter Crosthwaite
2016-01-10 14:09 ` Dmitry Osipenko
2016-01-20 17:03 ` Dmitry Osipenko
2016-01-20 17:22 ` [Qemu-devel] " Dmitry Osipenko
2016-01-09 17:39 ` [Qemu-devel] [PATCH v10 3/7] hw/ptimer: Update .delta on period/freq change Dmitry Osipenko
2016-01-09 17:39 ` [Qemu-arm] [PATCH v10 4/7] hw/ptimer: Support "on the fly" timer mode switch Dmitry Osipenko
2016-01-10 0:50 ` Peter Crosthwaite
2016-01-09 17:39 ` [Qemu-devel] [PATCH v10 5/7] hw/ptimer: Legalize running with delta = load = 0 Dmitry Osipenko
2016-01-12 3:58 ` [Qemu-arm] " Peter Crosthwaite
2016-01-12 18:12 ` Dmitry Osipenko
2016-01-15 18:10 ` Dmitry Osipenko
2016-01-20 0:50 ` Dmitry Osipenko
2016-01-09 17:39 ` [Qemu-arm] [PATCH v10 6/7] hw/ptimer: Introduce ptimer_get_limit Dmitry Osipenko
2016-01-12 3:59 ` [Qemu-devel] " Peter Crosthwaite
2016-01-09 17:39 ` [Qemu-arm] [PATCH v10 7/7] arm_mptimer: Convert to use ptimer Dmitry Osipenko
2016-01-10 18:05 ` Dmitry Osipenko
2016-01-10 18:12 ` Dmitry Osipenko
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=cover.1452359845.git.digetx@gmail.com \
--to=digetx@gmail.com \
--cc=crosthwaitepeter@gmail.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).