Message ID | 1463573983-18597-1-git-send-email-guillaume.gardet@free.fr |
---|---|
State | Rejected |
Delegated to: | Stefano Babic |
Headers | show |
Hi Guillaume, On Wed, May 18, 2016 at 02:19:43PM +0200, Guillaume GARDET wrote: >Build with hard-float ARM toolchain was broken by commit 3cb4f25c: >'video: ipu: avoid overflow issue'. >To fix it, we use do_div function. > >Build tested for mx6qsabrelite_defconfig. > >Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> >Cc: Peng Fan <van.freenix@gmail.com> >Cc: Sandor Yu <sandor.yu@nxp.com> >Cc: Anatolij Gustschin <agust@denx.de> >Cc: Stefano Babic <sbabic@denx.de> >Cc: Fabio Estevam <fabio.estevam@nxp.com> >Cc: Tom Rini <trini@konsulko.com> > >--- > drivers/video/ipu_common.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > >diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c >index 36d4b23..e319c82 100644 >--- a/drivers/video/ipu_common.c >+++ b/drivers/video/ipu_common.c >@@ -352,7 +352,8 @@ static int ipu_pixel_clk_set_rate(struct clk *clk, unsigned long rate) > */ > __raw_writel((div / 16) << 16, DI_BS_CLKGEN1(clk->id)); > >- clk->rate = (u64)(clk->parent->rate * 16) / div; >+ do_div(parent_rate, div); >+ clk->rate = parent_rate; This issue was already fixed,. http://git.denx.de/?p=u-boot/u-boot-imx.git;a=commitdiff;h=c510f2e436008e55a50b063f2180cb1e63984224 Thanks, Peng. > > return 0; > } >-- >1.8.4.5 >
Le 19/05/2016 03:09, Peng Fan a écrit : > Hi Guillaume, > > On Wed, May 18, 2016 at 02:19:43PM +0200, Guillaume GARDET wrote: >> Build with hard-float ARM toolchain was broken by commit 3cb4f25c: >> 'video: ipu: avoid overflow issue'. >> To fix it, we use do_div function. >> >> Build tested for mx6qsabrelite_defconfig. >> >> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> >> Cc: Peng Fan <van.freenix@gmail.com> >> Cc: Sandor Yu <sandor.yu@nxp.com> >> Cc: Anatolij Gustschin <agust@denx.de> >> Cc: Stefano Babic <sbabic@denx.de> >> Cc: Fabio Estevam <fabio.estevam@nxp.com> >> Cc: Tom Rini <trini@konsulko.com> >> >> --- >> drivers/video/ipu_common.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c >> index 36d4b23..e319c82 100644 >> --- a/drivers/video/ipu_common.c >> +++ b/drivers/video/ipu_common.c >> @@ -352,7 +352,8 @@ static int ipu_pixel_clk_set_rate(struct clk *clk, unsigned long rate) >> */ >> __raw_writel((div / 16) << 16, DI_BS_CLKGEN1(clk->id)); >> >> - clk->rate = (u64)(clk->parent->rate * 16) / div; >> + do_div(parent_rate, div); >> + clk->rate = parent_rate; > This issue was already fixed,. > http://git.denx.de/?p=u-boot/u-boot-imx.git;a=commitdiff;h=c510f2e436008e55a50b063f2180cb1e63984224 Ok. Sorry, I did not checked u-boot-imx git repo. Do you know why it was not included in the v2016.05 release? Guillaume > > Thanks, > Peng. > >> return 0; >> } >> -- >> 1.8.4.5 >>
Hi Guillaume, On 19/05/2016 09:40, Guillaume Gardet wrote: > > > Le 19/05/2016 03:09, Peng Fan a écrit : >> Hi Guillaume, >> >> On Wed, May 18, 2016 at 02:19:43PM +0200, Guillaume GARDET wrote: >>> Build with hard-float ARM toolchain was broken by commit 3cb4f25c: >>> 'video: ipu: avoid overflow issue'. >>> To fix it, we use do_div function. >>> >>> Build tested for mx6qsabrelite_defconfig. >>> >>> Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> >>> Cc: Peng Fan <van.freenix@gmail.com> >>> Cc: Sandor Yu <sandor.yu@nxp.com> >>> Cc: Anatolij Gustschin <agust@denx.de> >>> Cc: Stefano Babic <sbabic@denx.de> >>> Cc: Fabio Estevam <fabio.estevam@nxp.com> >>> Cc: Tom Rini <trini@konsulko.com> >>> >>> --- >>> drivers/video/ipu_common.c | 3 ++- >>> 1 file changed, 2 insertions(+), 1 deletion(-) >>> >>> diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c >>> index 36d4b23..e319c82 100644 >>> --- a/drivers/video/ipu_common.c >>> +++ b/drivers/video/ipu_common.c >>> @@ -352,7 +352,8 @@ static int ipu_pixel_clk_set_rate(struct clk >>> *clk, unsigned long rate) >>> */ >>> __raw_writel((div / 16) << 16, DI_BS_CLKGEN1(clk->id)); >>> >>> - clk->rate = (u64)(clk->parent->rate * 16) / div; >>> + do_div(parent_rate, div); >>> + clk->rate = parent_rate; >> This issue was already fixed,. >> http://git.denx.de/?p=u-boot/u-boot-imx.git;a=commitdiff;h=c510f2e436008e55a50b063f2180cb1e63984224 >> > > Ok. Sorry, I did not checked u-boot-imx git repo. > Do you know why it was not included in the v2016.05 release? No reason, it was simply missed :-( Best regards, Stefano Babic
diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c index 36d4b23..e319c82 100644 --- a/drivers/video/ipu_common.c +++ b/drivers/video/ipu_common.c @@ -352,7 +352,8 @@ static int ipu_pixel_clk_set_rate(struct clk *clk, unsigned long rate) */ __raw_writel((div / 16) << 16, DI_BS_CLKGEN1(clk->id)); - clk->rate = (u64)(clk->parent->rate * 16) / div; + do_div(parent_rate, div); + clk->rate = parent_rate; return 0; }
Build with hard-float ARM toolchain was broken by commit 3cb4f25c: 'video: ipu: avoid overflow issue'. To fix it, we use do_div function. Build tested for mx6qsabrelite_defconfig. Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr> Cc: Peng Fan <van.freenix@gmail.com> Cc: Sandor Yu <sandor.yu@nxp.com> Cc: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Tom Rini <trini@konsulko.com> --- drivers/video/ipu_common.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)