All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v2
@ 2018-03-24 19:24 Michael Davidsaver
  2018-03-24 19:24 ` [Qemu-devel] [PATCH 01/14] tests: more thorough tests of ds1338 Michael Davidsaver
                   ` (17 more replies)
  0 siblings, 18 replies; 35+ messages in thread
From: Michael Davidsaver @ 2018-03-24 19:24 UTC (permalink / raw)
  To: Peter Maydell, Thomas Huth
  Cc: Antoine Mathys, David Gibson, qemu-devel, Michael Davidsaver

This series generalizes the ds1338 model to also support the ds1375.
As previously, only the time of day registers are modeled.  This
series is largely a do-over wrt. my previous series.  This time I
started with incremental changes from the existing ds1338 model, and only
add support for the ds1375 (which I care about).

I've added a more thorough test of the time of day function, covering
reading and setting in both 12 and 24 hour mode.  This corrects two
(practically inconsequential) bugs with the handling of 12 hour mode,
and day of the week.

In an attempt to address concerns about false positive test failures
in CI builds, instead of comparing the parts of 'struct tm' seperately
I've changed the logic of the tests to compare the difference between
the expected and actual time in seconds.  The threshold is 30 seconds
when run with 'gtester -m quick', and 1 second otherwise.

Comparision of day of the week is still exact, so there is a chance of
a false positive if the test is running across midnight UTC.

Michael Davidsaver (14):
  tests: more thorough tests of ds1338
  timer: ds1338 use registerfields.h
  timer: ds1338 persist 12-hour mode selection
  timer: ds1338 clarify HOUR handling
  timer: ds1338 change write handling
  tests: ds-rtc test 12 hour mode
  timer: ds1338 fix wday_offset handling
  tests: ds-rtc test wday offset
  timer: rename ds1338 -> dsrtc
  timer: rename file ds1338.c -> ds-rtc.c
  timer: generalize ds1338
  timer: ds-rtc handle CENTURY bit
  timer: ds-rtc model ds1375
  tests: drop ds1338-test

 default-configs/arm-softmmu.mak |   2 +-
 hw/timer/Makefile.objs          |   2 +-
 hw/timer/ds-rtc.c               | 331 ++++++++++++++++++++++++++++++++++++++++
 hw/timer/ds1338.c               | 239 -----------------------------
 tests/Makefile.include          |   6 +-
 tests/ds-rtc-common.h           |  71 +++++++++
 tests/ds-rtc-current-test.c     |  66 ++++++++
 tests/ds-rtc-set-test.c         | 171 +++++++++++++++++++++
 tests/ds1338-test.c             |  75 ---------
 9 files changed, 645 insertions(+), 318 deletions(-)
 create mode 100644 hw/timer/ds-rtc.c
 delete mode 100644 hw/timer/ds1338.c
 create mode 100644 tests/ds-rtc-common.h
 create mode 100644 tests/ds-rtc-current-test.c
 create mode 100644 tests/ds-rtc-set-test.c
 delete mode 100644 tests/ds1338-test.c

-- 
2.11.0

^ permalink raw reply	[flat|nested] 35+ messages in thread
* [Qemu-devel] [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v3
@ 2018-07-05 18:19 Michael Davidsaver
  2018-07-05 18:19 ` [Qemu-devel] [PATCH 12/14] timer: ds-rtc handle CENTURY bit Michael Davidsaver
  0 siblings, 1 reply; 35+ messages in thread
From: Michael Davidsaver @ 2018-07-05 18:19 UTC (permalink / raw)
  To: Peter Maydell, Paolo Bonzini
  Cc: Thomas Huth, Antoine Mathys, David Gibson, qemu-devel,
	Michael Davidsaver

This series generalizes the ds1338 model to also support the ds1375.
As previously, only the time of day registers are modeled.  This
series (v3) is a minor iteration on the previous v2.

No changes were made to the unittests.

Summary of changes by patch name in response to comments by Peter Maydell.

= timer: ds1338 use registerfields.h

Changed as requested to be more direct translation.

= timer: ds1338 persist 12-hour mode selection

On 04/12/2018 11:03 AM, Peter Maydell wrote:
> The code change here looks like a reasonable no-behaviour-change
> simplification of the code, but it doesn't match up with
> the description in the commit message ?

While it isn't clear from the diff, the condtional
involved has 3 arms, only two of these were updating
's->nvram[]'.  The arm handling control register
writes is the one which didn't.  So attempts to set
the 12 hour mode bit were ignored, and subsequent
reads always returned 24 hour time.

So this is a behaviour change, and a minor bug fix.

= timer: ds1338 clarify HOUR handling
= timer: ds1338 fix wday_offset handling

These two are combined as requested.

= timer: generalize ds1338

The change to CTRL register handling is split out
as a seperate patch "timer: ds1338 remove vestige of un-modeled OSF"

= timer: ds-rtc handle CENTURY bit

Changed as suggested.



Michael Davidsaver (14):
  tests: more thorough tests of ds1338
  timer: ds1338 use registerfields.h
  timer: ds1338 persist 12-hour mode selection
  timer: ds1338 clarify HOUR handling
  timer: ds1338 change write handling and fix wday_offset handling
  tests: ds-rtc test 12 hour mode
  tests: ds-rtc test wday offset
  timer: rename ds1338 -> dsrtc
  timer: rename file ds1338.c -> ds-rtc.c
  timer: ds1338 remove vestige of un-modeled OSF
  timer: generalize ds1338
  timer: ds-rtc handle CENTURY bit
  timer: ds-rtc model ds1375
  tests: drop ds1338-test

 default-configs/arm-softmmu.mak |   2 +-
 hw/timer/Makefile.objs          |   2 +-
 hw/timer/ds-rtc.c               | 335 ++++++++++++++++++++++++++++++++++++++++
 hw/timer/ds1338.c               | 239 ----------------------------
 tests/Makefile.include          |   6 +-
 tests/ds-rtc-common.h           |  71 +++++++++
 tests/ds-rtc-current-test.c     |  66 ++++++++
 tests/ds-rtc-set-test.c         | 171 ++++++++++++++++++++
 tests/ds1338-test.c             |  75 ---------
 9 files changed, 649 insertions(+), 318 deletions(-)
 create mode 100644 hw/timer/ds-rtc.c
 delete mode 100644 hw/timer/ds1338.c
 create mode 100644 tests/ds-rtc-common.h
 create mode 100644 tests/ds-rtc-current-test.c
 create mode 100644 tests/ds-rtc-set-test.c
 delete mode 100644 tests/ds1338-test.c

-- 
2.11.0

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2018-07-16 10:04 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-24 19:24 [Qemu-devel] [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v2 Michael Davidsaver
2018-03-24 19:24 ` [Qemu-devel] [PATCH 01/14] tests: more thorough tests of ds1338 Michael Davidsaver
2018-03-26  9:18   ` Paolo Bonzini
2018-03-26 16:34     ` Michael Davidsaver
2018-03-24 19:24 ` [Qemu-devel] [PATCH 02/14] timer: ds1338 use registerfields.h Michael Davidsaver
2018-04-12 18:01   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 03/14] timer: ds1338 persist 12-hour mode selection Michael Davidsaver
2018-04-12 18:03   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 04/14] timer: ds1338 clarify HOUR handling Michael Davidsaver
2018-04-12 18:04   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 05/14] timer: ds1338 change write handling Michael Davidsaver
2018-04-13 12:42   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 06/14] tests: ds-rtc test 12 hour mode Michael Davidsaver
2018-03-24 19:24 ` [Qemu-devel] [PATCH 07/14] timer: ds1338 fix wday_offset handling Michael Davidsaver
2018-04-13 12:45   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 08/14] tests: ds-rtc test wday offset Michael Davidsaver
2018-03-24 19:24 ` [Qemu-devel] [PATCH 09/14] timer: rename ds1338 -> dsrtc Michael Davidsaver
2018-04-13 12:49   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 10/14] timer: rename file ds1338.c -> ds-rtc.c Michael Davidsaver
2018-04-13 12:50   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 11/14] timer: generalize ds1338 Michael Davidsaver
2018-04-13 12:55   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 12/14] timer: ds-rtc handle CENTURY bit Michael Davidsaver
2018-04-13 13:00   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 13/14] timer: ds-rtc model ds1375 Michael Davidsaver
2018-04-13 13:01   ` Peter Maydell
2018-03-24 19:24 ` [Qemu-devel] [PATCH 14/14] tests: drop ds1338-test Michael Davidsaver
2018-03-24 22:02 ` [Qemu-devel] [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v2 no-reply
2018-03-24 22:05 ` no-reply
2018-03-24 22:08 ` no-reply
2018-03-26  8:34   ` [Qemu-devel] Patchew failure ? (was: Re: [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v2) Thomas Huth
2018-03-26  8:59     ` Fam Zheng
2018-04-13 13:07 ` [Qemu-devel] [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v2 Peter Maydell
2018-07-05 18:19 [Qemu-devel] [PATCH 00/14] Generalize Dallas/Maxim I2C RTC devices v3 Michael Davidsaver
2018-07-05 18:19 ` [Qemu-devel] [PATCH 12/14] timer: ds-rtc handle CENTURY bit Michael Davidsaver
2018-07-16  9:43   ` David Gibson

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.