002-clock-overflow
[Patch 02/17] U-Boot-V2: Handle case of clock rollover for get_time_ns

get_time_ns does a simplistic delta = cycle_now - cycle_last. It is possible that the h/w counter reached max and reset back to 0.
This patch addresses this issue by checking for rollover condition.

NOTE 1: This does not guarentee that you cannot confuse get_time_ns. You could possibly wait for two reset cycles and then get a messed up value.
To fix that we may need interrupt mode timer tick - something on the lines of jiffies on linux.
NOTE 2: the question of cs->mask is not clear. if the mask is for the tick, then it is better done with (cycle_now & cs->mask) - (cs->cycle_last & cs->mask).

Signed-off-by: Nishanth Menon<x0nishan@ti.com>
WIP_next-LS master next stable/v2013.05 stable/v2013.06 stable/v2013.07 stable/v2013.08 stable/v2013.10 stable/v2014.05 stable/v2014.06 stable/v2014.07 stable/v2014.08 stable/v2014.09 stable/v2014.10 stable/v2014.11 stable/v2014.12 stable/v2015.01 stable/v2015.02 stable/v2017.05 stable/v2017.06 stable/v2017.07 stable/v2017.11 stable/v2018.07 stable/v2018.09 stable/v2018.12 v2011.03-stable work/fit-support v2020.07.0 v2020.06.0 v2020.05.0 v2020.04.0 v2020.03.0 v2020.02.0 v2020.01.0 v2019.12.0 v2019.11.0 v2019.10.0 v2019.09.0 v2019.08.1 v2019.08.0 v2019.07.0 v2019.06.1 v2019.06.0 v2019.05.0 v2019.04.0 v2019.03.0 v2019.02.0 v2019.01.0 v2018.12.0 v2018.11.0 v2018.10.0 v2018.09.1 v2018.09.0 v2018.08.1 v2018.08.0 v2018.07.2 v2018.07.1 v2018.07.0 v2018.06.0 v2018.05.0 v2018.04.0 v2018.03.0 v2018.02.0 v2018.01.0 v2017.12.0 v2017.11.0 v2017.10.0 v2017.09.0 v2017.08.0 v2017.07.1 v2017.07.0 v2017.06.2 v2017.06.1 v2017.06.0 v2017.05.4 v2017.05.3 v2017.05.2 v2017.05.1 v2017.05.0 v2017.04.0 v2017.03.0 v2017.02.0 v2017.01.0 v2016.11.0 v2016.10.0 v2016.09.0 v2016.08.0 v2016.07.0 v2016.06.0 v2016.05.0 v2016.04.0 v2016.03.0 v2016.02.0 v2016.01.0 v2015.12.0 v2015.11.0 v2015.10.0 v2015.09.0 v2015.08.0 v2015.07.0 v2015.06.0 v2015.05.0 v2015.04.0 v2015.03.0 v2015.02.0 v2015.01.0 v2014.12.0 v2014.11.0 v2014.10.0 v2014.09.0 v2014.08.0 v2014.07.0 v2014.06.0 v2014.05.0 v2014.04.0 v2014.03.0 v2014.02.0 v2014.01.0 v2013.12.0 v2013.11.0 v2013.10.1 v2013.10.0 v2013.09.0 v2013.08.1 v2013.08.0 v2013.07.0 v2013.06.1 v2013.06.0 v2013.05.1 v2013.05.0 v2013.04.0 v2013.03.0 v2013.02.0 v2013.01.0 v2012.12.1 v2012.12.0 v2012.11.0 v2012.10.0 v2012.09.0 v2012.08.0 v2012.07.0 v2012.06.0 v2012.05.0 v2012.04.0 v2012.03.0 v2012.02.0 v2012.01.0 v2011.12.0 v2011.11.0 v2011.10.0 v2011.09.0 v2011.08.0 v2011.07.0 v2011.06.0 v2011.05.0 v2011.04.0-phytec-pcm049 v2011.04.0 v2011.03.1 v2011.03.0 v2011.02.0 v2011.01.0 v2010.12.0 v2010.11.0 v2010.10.0 v2010.09.0 v2010.08.0 v2010.07.0 v2010.06.0 v2010.05.0 v2010.04.0 v2010.03.0 v2010.02.0 v2009.12.0 v2.0.0-rc9 v2.0.0-rc8 v2.0.0-rc7 v2.0.0-rc6 v2.0.0-rc5 v2.0.0-rc10-ptx-pdk6 v2.0.0-rc10-ptx-pdk5 v2.0.0-rc10-ptx-pdk4 v2.0.0-rc10-ptx-pdk3 v2.0.0-rc10-ptx-pdk2 v2.0.0-rc10 freescale-mx35-3-stack-20092611-1
1 parent 9a364f5 commit eb208c746dc7a28237a24ffe50e31d4f829ead90
@Nishanth Menon Nishanth Menon authored on 5 Jun 2008
Sascha Hauer committed on 5 Jun 2008
Showing 1 changed file
View
common/clock.c