From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Chou Date: Sat, 7 Nov 2015 06:40:53 +0800 Subject: [U-Boot] [PATCH 04/10] dm: timer: Support 64-bit counter In-Reply-To: References: <1446732171-7439-1-git-send-email-bmeng.cn@gmail.com> <1446732171-7439-5-git-send-email-bmeng.cn@gmail.com> <563C5354.70600@wytron.com.tw> Message-ID: <563D2C75.2050803@wytron.com.tw> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Bin, On 2015?11?06? 22:35, Bin Meng wrote: > Hi Thomas, > > On Fri, Nov 6, 2015 at 3:14 PM, Thomas Chou wrote: >> Hi Bin, >> >> On 2015?11?05? 22:02, Bin Meng wrote: >>> >>> There are timers with a 64-bit counter value but current timer >>> uclass driver assumes a 32-bit one. Introduce a device tree >>> property "counter-64bit", and modify timer_get_count() in the >>> timer uclass driver to handle the 32-bit/64-bit conversion >>> automatically. >>> >>> Signed-off-by: Bin Meng >>> --- >> >> >> Thanks a lot. I tested patches [1-4] on nios2 boards with "ut time" and >> "sleep". It works fine. >> >> I would suggest that we do not need the additional "counter-64bit" property >> by requiring the timer always return 64 bits count. We can provide an inline >> func to do the 32/64 conversion for all 32 bits timers. >> > > Do you mean we move the following codes: > > + /* increment tbh if tbl has rolled over */ > + if (now < gd->timebase_l) > + gd->timebase_h++; > + gd->timebase_l = now; > + *count = ((u64)gd->timebase_h << 32) | gd->timebase_l; > > to an inline function, to have 32-bit timer driver to call this inline > function in their get_count() op? > > This looks duplicate to me. Yes. If we want to support 64 bits count, it should be the driver's responsibility to return 64 bits count. It would be more natural than adding a property to tell the uclass to to the conversion. The "duplicate" you mentioned could be an alternative to the "counter-64bit" addition. I believe 64 bits hardware counter will become more popular in the future. Best regards, Thomas