From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934410AbdKGONr (ORCPT ); Tue, 7 Nov 2017 09:13:47 -0500 Received: from mout.kundenserver.de ([212.227.126.131]:65035 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932671AbdKGONo (ORCPT ); Tue, 7 Nov 2017 09:13:44 -0500 From: Arnd Bergmann To: Bartlomiej Zolnierkiewicz Cc: Arnd Bergmann , Himanshu Jha , "Gustavo A. R. Silva" , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] fbdev: pxa3xx: use ktime_get_ts64 for time stamps Date: Tue, 7 Nov 2017 15:13:05 +0100 Message-Id: <20171107141319.3390036-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:zrBNnQy7F1GiLqfnkkgoEcPMZJOuxMKHnmtRX8/mcFKsQm8xXOY 87jJSDNXrdKvQ7EHawdYA5IiOIagJXFXNU34mz0X82uwR/6/PGasL6HxnvKCI47pGti8hH2 0i71d/X2wU3wnRgnlKnHr7IHVX5lnyZNW0++QUzsT2E8iSsXOttAsNDhGn1RvLocy0W+/ix QS0yHozoQeT/0FMVbAoRQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:Mz1SyV0OOZY=:HvKuEUiB6h5Hj66HDHlOa8 NIdF9EkUSOz3vk/EXlXj2wi/l2XxLmu8Tv29EeAJ1lprjB9F/6XVoPMGKsbRxB1yFJOSkl3QL 75vF8vy6kAEX7p2iR64OTW5jShZOS4Y0B19ljsbJ2IXakeiKFG5sWZid7UETGplEFEaiDumLX lqBECiyt0d4FkwWRhL+A/p+nSWRJjTUccDlVHmdzNrjXcqSyVtjOflixROrxZC2ZnRXUgBXeu 3vp1lU/0itzg+cYbnoN3cJMquj7Vt8NI8XZAQycYa8fn9z9HNdwFOY3mi7YwBYpnF3CkxMZ8U XHNR7pCMPvuvz2IYt2wp0mIy1BpP+byeBjyoV+2NQeBM9ybm+vE1+h3wXMJ0AsZX6J4xKmNlD iGaIQLZDCGcrQvRnU5yKR1JEmbAKzZn0twh043NXmkc01BUQinnhm09jeXmzk3u1MgMoQkJM5 bvi/0ekvj0v5QpNkaztbtOer+sDmVBi82ZU0RlngZZx+ZhEXsZFdwaRnk7QQE+XfYnr7/TASC LQvQAd3EaJGo2DsMBulFjhGpqk6yEYgFavDDxblRrvi7AYCrp0AQkilYx8c5QcvlmWISdDl1x /Lv5trgLd2eY6WYh2vvPva58xk514rnnN9GT620rADSS4mySKrHcs4XU0kUuXgxupAfZx5/gc WFUaPkSrhqbJS5R6+UcX2NPCdi5YtfqwDkVh59gNC3xPutH5J3PrUtQY+B7SwtjewgxjmsX3j Dd21wVl6tG2D/stChH2ECmHr3Z1i9xSNYlErXQ== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org do_gettimeofday() is deprecated because it is not y2038 safe, so I'm changing the calculation for the diagnostic output over to using 'timespec64'. We really only print time deltas here, so changing it to monotonic time makes this more robust, the correct accessor for this is ktime_get_ts64(). Signed-off-by: Arnd Bergmann --- drivers/video/fbdev/pxa3xx-gcu.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/video/fbdev/pxa3xx-gcu.c b/drivers/video/fbdev/pxa3xx-gcu.c index 3366076f9e0f..ddca4425adc8 100644 --- a/drivers/video/fbdev/pxa3xx-gcu.c +++ b/drivers/video/fbdev/pxa3xx-gcu.c @@ -104,7 +104,7 @@ struct pxa3xx_gcu_priv { wait_queue_head_t wait_idle; wait_queue_head_t wait_free; spinlock_t spinlock; - struct timeval base_time; + struct timespec64 base_time; struct pxa3xx_gcu_batch *free; struct pxa3xx_gcu_batch *ready; @@ -126,18 +126,20 @@ gc_writel(struct pxa3xx_gcu_priv *priv, unsigned int off, unsigned long val) #define QPRINT(priv, level, msg) \ do { \ - struct timeval tv; \ + struct timespec64 ts; \ struct pxa3xx_gcu_shared *shared = priv->shared; \ u32 base = gc_readl(priv, REG_GCRBBR); \ \ - do_gettimeofday(&tv); \ + ktime_get_ts64(&ts); \ + ts = timespec64_sub(ts, priv->base_time); \ \ - printk(level "%ld.%03ld.%03ld - %-17s: %-21s (%s, " \ + printk(level "%lld.%03ld.%03ld - %-17s: %-21s (%s, " \ "STATUS " \ "0x%02lx, B 0x%08lx [%ld], E %5ld, H %5ld, " \ "T %5ld)\n", \ - tv.tv_sec - priv->base_time.tv_sec, \ - tv.tv_usec / 1000, tv.tv_usec % 1000, \ + (s64)(tv.tv_sec), \ + tv.tv_usec / NSEC_PER_MSEC, \ + (tv.tv_usec % NSEC_PER_MSEC) / USEC_PER_MSEC, \ __func__, msg, \ shared->hw_running ? "running" : " idle", \ gc_readl(priv, REG_GCISCR), \ @@ -164,7 +166,7 @@ pxa3xx_gcu_reset(struct pxa3xx_gcu_priv *priv) priv->shared->buffer_phys = priv->shared_phys; priv->shared->magic = PXA3XX_GCU_SHARED_MAGIC; - do_gettimeofday(&priv->base_time); + ktime_get_ts64(&priv->base_time); /* set up the ring buffer pointers */ gc_writel(priv, REG_GCRBLR, 0); -- 2.9.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Date: Tue, 07 Nov 2017 14:13:05 +0000 Subject: [PATCH 1/2] fbdev: pxa3xx: use ktime_get_ts64 for time stamps Message-Id: <20171107141319.3390036-1-arnd@arndb.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Bartlomiej Zolnierkiewicz Cc: linux-fbdev@vger.kernel.org, Arnd Bergmann , "Gustavo A. R. Silva" , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Himanshu Jha do_gettimeofday() is deprecated because it is not y2038 safe, so I'm changing the calculation for the diagnostic output over to using 'timespec64'. We really only print time deltas here, so changing it to monotonic time makes this more robust, the correct accessor for this is ktime_get_ts64(). Signed-off-by: Arnd Bergmann --- drivers/video/fbdev/pxa3xx-gcu.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/video/fbdev/pxa3xx-gcu.c b/drivers/video/fbdev/pxa3xx-gcu.c index 3366076f9e0f..ddca4425adc8 100644 --- a/drivers/video/fbdev/pxa3xx-gcu.c +++ b/drivers/video/fbdev/pxa3xx-gcu.c @@ -104,7 +104,7 @@ struct pxa3xx_gcu_priv { wait_queue_head_t wait_idle; wait_queue_head_t wait_free; spinlock_t spinlock; - struct timeval base_time; + struct timespec64 base_time; struct pxa3xx_gcu_batch *free; struct pxa3xx_gcu_batch *ready; @@ -126,18 +126,20 @@ gc_writel(struct pxa3xx_gcu_priv *priv, unsigned int off, unsigned long val) #define QPRINT(priv, level, msg) \ do { \ - struct timeval tv; \ + struct timespec64 ts; \ struct pxa3xx_gcu_shared *shared = priv->shared; \ u32 base = gc_readl(priv, REG_GCRBBR); \ \ - do_gettimeofday(&tv); \ + ktime_get_ts64(&ts); \ + ts = timespec64_sub(ts, priv->base_time); \ \ - printk(level "%ld.%03ld.%03ld - %-17s: %-21s (%s, " \ + printk(level "%lld.%03ld.%03ld - %-17s: %-21s (%s, " \ "STATUS " \ "0x%02lx, B 0x%08lx [%ld], E %5ld, H %5ld, " \ "T %5ld)\n", \ - tv.tv_sec - priv->base_time.tv_sec, \ - tv.tv_usec / 1000, tv.tv_usec % 1000, \ + (s64)(tv.tv_sec), \ + tv.tv_usec / NSEC_PER_MSEC, \ + (tv.tv_usec % NSEC_PER_MSEC) / USEC_PER_MSEC, \ __func__, msg, \ shared->hw_running ? "running" : " idle", \ gc_readl(priv, REG_GCISCR), \ @@ -164,7 +166,7 @@ pxa3xx_gcu_reset(struct pxa3xx_gcu_priv *priv) priv->shared->buffer_phys = priv->shared_phys; priv->shared->magic = PXA3XX_GCU_SHARED_MAGIC; - do_gettimeofday(&priv->base_time); + ktime_get_ts64(&priv->base_time); /* set up the ring buffer pointers */ gc_writel(priv, REG_GCRBLR, 0); -- 2.9.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: [PATCH 1/2] fbdev: pxa3xx: use ktime_get_ts64 for time stamps Date: Tue, 7 Nov 2017 15:13:05 +0100 Message-ID: <20171107141319.3390036-1-arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 847116E2A5 for ; Tue, 7 Nov 2017 14:13:41 +0000 (UTC) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Bartlomiej Zolnierkiewicz Cc: linux-fbdev@vger.kernel.org, Arnd Bergmann , "Gustavo A. R. Silva" , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Himanshu Jha List-Id: dri-devel@lists.freedesktop.org ZG9fZ2V0dGltZW9mZGF5KCkgaXMgZGVwcmVjYXRlZCBiZWNhdXNlIGl0IGlzIG5vdCB5MjAzOCBz YWZlLCBzbyBJJ20KY2hhbmdpbmcgdGhlIGNhbGN1bGF0aW9uIGZvciB0aGUgZGlhZ25vc3RpYyBv dXRwdXQgb3ZlciB0byB1c2luZwondGltZXNwZWM2NCcuCgpXZSByZWFsbHkgb25seSBwcmludCB0 aW1lIGRlbHRhcyBoZXJlLCBzbyBjaGFuZ2luZyBpdCB0byBtb25vdG9uaWMKdGltZSBtYWtlcyB0 aGlzIG1vcmUgcm9idXN0LCB0aGUgY29ycmVjdCBhY2Nlc3NvciBmb3IgdGhpcyBpcwprdGltZV9n ZXRfdHM2NCgpLgoKU2lnbmVkLW9mZi1ieTogQXJuZCBCZXJnbWFubiA8YXJuZEBhcm5kYi5kZT4K LS0tCiBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3B4YTN4eC1nY3UuYyB8IDE2ICsrKysrKysrKy0tLS0t LS0KIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9weGEzeHgtZ2N1LmMgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3B4YTN4eC1nY3UuYwppbmRleCAzMzY2MDc2ZjllMGYuLmRkY2E0NDI1YWRjOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9weGEzeHgtZ2N1LmMKKysrIGIvZHJpdmVycy92 aWRlby9mYmRldi9weGEzeHgtZ2N1LmMKQEAgLTEwNCw3ICsxMDQsNyBAQCBzdHJ1Y3QgcHhhM3h4 X2djdV9wcml2IHsKIAl3YWl0X3F1ZXVlX2hlYWRfdAkgIHdhaXRfaWRsZTsKIAl3YWl0X3F1ZXVl X2hlYWRfdAkgIHdhaXRfZnJlZTsKIAlzcGlubG9ja190CQkgIHNwaW5sb2NrOwotCXN0cnVjdCB0 aW1ldmFsIAkJICBiYXNlX3RpbWU7CisJc3RydWN0IHRpbWVzcGVjNjQJICBiYXNlX3RpbWU7CiAK IAlzdHJ1Y3QgcHhhM3h4X2djdV9iYXRjaCAqZnJlZTsKIAlzdHJ1Y3QgcHhhM3h4X2djdV9iYXRj aCAqcmVhZHk7CkBAIC0xMjYsMTggKzEyNiwyMCBAQCBnY193cml0ZWwoc3RydWN0IHB4YTN4eF9n Y3VfcHJpdiAqcHJpdiwgdW5zaWduZWQgaW50IG9mZiwgdW5zaWduZWQgbG9uZyB2YWwpCiAKICNk ZWZpbmUgUVBSSU5UKHByaXYsIGxldmVsLCBtc2cpCQkJCQlcCiAJZG8gewkJCQkJCQkJXAotCQlz dHJ1Y3QgdGltZXZhbCB0djsJCQkJCVwKKwkJc3RydWN0IHRpbWVzcGVjNjQgdHM7CQkJCQlcCiAJ CXN0cnVjdCBweGEzeHhfZ2N1X3NoYXJlZCAqc2hhcmVkID0gcHJpdi0+c2hhcmVkOwlcCiAJCXUz MiBiYXNlID0gZ2NfcmVhZGwocHJpdiwgUkVHX0dDUkJCUik7CQkJXAogCQkJCQkJCQkJXAotCQlk b19nZXR0aW1lb2ZkYXkoJnR2KTsJCQkJCVwKKwkJa3RpbWVfZ2V0X3RzNjQoJnRzKTsJCQkJCVwK KwkJdHMgPSB0aW1lc3BlYzY0X3N1Yih0cywgcHJpdi0+YmFzZV90aW1lKTsJCVwKIAkJCQkJCQkJ CVwKLQkJcHJpbnRrKGxldmVsICIlbGQuJTAzbGQuJTAzbGQgLSAlLTE3czogJS0yMXMgKCVzLCAi CVwKKwkJcHJpbnRrKGxldmVsICIlbGxkLiUwM2xkLiUwM2xkIC0gJS0xN3M6ICUtMjFzICglcywg IglcCiAJCQkiU1RBVFVTICIJCQkJCVwKIAkJCSIweCUwMmx4LCBCIDB4JTA4bHggWyVsZF0sIEUg JTVsZCwgSCAlNWxkLCAiCVwKIAkJCSJUICU1bGQpXG4iLAkJCQkJXAotCQkJdHYudHZfc2VjIC0g cHJpdi0+YmFzZV90aW1lLnR2X3NlYywJCVwKLQkJCXR2LnR2X3VzZWMgLyAxMDAwLCB0di50dl91 c2VjICUgMTAwMCwJCVwKKwkJCShzNjQpKHR2LnR2X3NlYyksCQkJCVwKKwkJCXR2LnR2X3VzZWMg LyBOU0VDX1BFUl9NU0VDLAkJCVwKKwkJCSh0di50dl91c2VjICUgTlNFQ19QRVJfTVNFQykgLyBV U0VDX1BFUl9NU0VDLAlcCiAJCQlfX2Z1bmNfXywgbXNnLAkJCQkJXAogCQkJc2hhcmVkLT5od19y dW5uaW5nID8gInJ1bm5pbmciIDogIiAgIGlkbGUiLAlcCiAJCQlnY19yZWFkbChwcml2LCBSRUdf R0NJU0NSKSwJCQlcCkBAIC0xNjQsNyArMTY2LDcgQEAgcHhhM3h4X2djdV9yZXNldChzdHJ1Y3Qg cHhhM3h4X2djdV9wcml2ICpwcml2KQogCXByaXYtPnNoYXJlZC0+YnVmZmVyX3BoeXMgPSBwcml2 LT5zaGFyZWRfcGh5czsKIAlwcml2LT5zaGFyZWQtPm1hZ2ljID0gUFhBM1hYX0dDVV9TSEFSRURf TUFHSUM7CiAKLQlkb19nZXR0aW1lb2ZkYXkoJnByaXYtPmJhc2VfdGltZSk7CisJa3RpbWVfZ2V0 X3RzNjQoJnByaXYtPmJhc2VfdGltZSk7CiAKIAkvKiBzZXQgdXAgdGhlIHJpbmcgYnVmZmVyIHBv aW50ZXJzICovCiAJZ2Nfd3JpdGVsKHByaXYsIFJFR19HQ1JCTFIsIDApOwotLSAKMi45LjAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=