As the 'timestamp' variable is declared as a 48-bit bitfield,
we do not need to wrap the sum result.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
hw/block/nvme.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 63078f6009..44fa5b9076 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -1280,12 +1280,7 @@ static inline uint64_t nvme_get_timestamp(const NvmeCtrl *n)
union nvme_timestamp ts;
ts.all = 0;
-
- /*
- * If the sum of the Timestamp value set by the host and the elapsed
- * time exceeds 2^48, the value returned should be reduced modulo 2^48.
- */
- ts.timestamp = (n->host_timestamp + elapsed_time) & 0xffffffffffff;
+ ts.timestamp = n->host_timestamp + elapsed_time;
/* If the host timestamp is non-zero, set the timestamp origin */
ts.origin = n->host_timestamp ? 0x01 : 0x00;
--
2.26.2
On Oct 2 09:57, Philippe Mathieu-Daudé wrote: > As the 'timestamp' variable is declared as a 48-bit bitfield, > we do not need to wrap the sum result. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Klaus Jensen <k.jensen@samsung.com> > --- > hw/block/nvme.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 63078f6009..44fa5b9076 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -1280,12 +1280,7 @@ static inline uint64_t nvme_get_timestamp(const NvmeCtrl *n) > > union nvme_timestamp ts; > ts.all = 0; > - > - /* > - * If the sum of the Timestamp value set by the host and the elapsed > - * time exceeds 2^48, the value returned should be reduced modulo 2^48. > - */ > - ts.timestamp = (n->host_timestamp + elapsed_time) & 0xffffffffffff; > + ts.timestamp = n->host_timestamp + elapsed_time; > > /* If the host timestamp is non-zero, set the timestamp origin */ > ts.origin = n->host_timestamp ? 0x01 : 0x00; > -- > 2.26.2 > > -- One of us - No more doubt, silence or taboo about mental illness.
Le 02/10/2020 à 09:57, Philippe Mathieu-Daudé a écrit : > As the 'timestamp' variable is declared as a 48-bit bitfield, > we do not need to wrap the sum result. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com> > --- > hw/block/nvme.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 63078f6009..44fa5b9076 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -1280,12 +1280,7 @@ static inline uint64_t nvme_get_timestamp(const NvmeCtrl *n) > > union nvme_timestamp ts; > ts.all = 0; > - > - /* > - * If the sum of the Timestamp value set by the host and the elapsed > - * time exceeds 2^48, the value returned should be reduced modulo 2^48. > - */ > - ts.timestamp = (n->host_timestamp + elapsed_time) & 0xffffffffffff; > + ts.timestamp = n->host_timestamp + elapsed_time; > > /* If the host timestamp is non-zero, set the timestamp origin */ > ts.origin = n->host_timestamp ? 0x01 : 0x00; > Applied to my trivial-patches branch. Thanks, Laurent
© 2016 - 2024 Red Hat, Inc.