1. 19 May, 2011 26 commits
  2. 12 Apr, 2011 3 commits
    • Dave Martin's avatar
      ARM: mxc: Correct data alignment in headsmp.S for CONFIG_THUMB2_KERNEL · 0575b4b8
      Dave Martin authored
      Directives such as .long and .word do not magically cause the
      assembler location counter to become aligned in gas.  As a
      result, using these directives in code sections can result in
      misaligned data words when building a Thumb-2 kernel
      (CONFIG_THUMB2_KERNEL).
      
      This is a Bad Thing, since the ABI permits the compiler to
      assume that fundamental types of word size or above are word-
      aligned when accessing them from C.  If the data is not really
      word-aligned, this can cause impaired performance and stray
      alignment faults in some circumstances.
      
      In general, the following rules should be applied when using
      data word declaration directives inside code sections:
      
          * .quad and .double:
               .align 3
      
          * .long, .word, .single, .float:
               .align (or .align 2)
      
          * .short:
              No explicit alignment required, since Thumb-2
              instructions are always 2 or 4 bytes in size.
              immediately after an instruction.
      Signed-off-by: default avatarDave Martin <dave.martin@linaro.org>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      LAKML-Reference: 1289913217-8672-1-git-send-email-dave.martin@linaro.org
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      0575b4b8
    • Uwe Kleine-König's avatar
      ARM: mxs/clock-mx28: fix up name##_set_rate · f61b9fc2
      Uwe Kleine-König authored
      For the lcdif clock get_rate looks as follows:
      
      	read div from HW_CLKCTRL_DIS_LCDIF.DIV
      	return clk_get_rate(clk->parent) / div
      
      with clk->parent being ref_pix_clk on my system.
      
      ref_pix_clk's rate depends on HW_CLKCTRL_FRAC1.PIXFRAC.
      
      The set_rate function for lcdif does:
      
      	parent_rate = clk_get_rate(clk->parent);
      	based on that calculate frac and div such that
      	  parent_rate * 18 / frac / div is near the requested rate.
      	HW_CLKCTRL_FRAC1.PIXFRAC is updated with frac
      	HW_CLKCTRL_DIS_LCDIF.DIV is updated with div
      
      For this calculation to be correct parent_rate needs to be
      initialized not with the clock rate of lcdif's parent (i.e. ref_pix) but
      that of its grandparent (i.e. ref_pix' parent == pll0_clk).
      
      The obvious downside of this patch is that now set_rate(lcdif) changes
      its parent's rate, too.  Still this is better than a wrong rate.
      Acked-by: default avatarShawn Guo <shawn.guo@freescale.com>
      LAKML-Reference: 20110225084950.GA13684@S2101-09.ap.freescale.net
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      f61b9fc2
    • Uwe Kleine-König's avatar
      ARM: imx: fix usb related build failure for mach-vpr200 · 32a90b6e
      Uwe Kleine-König authored
      This was broken by
      
      	4bd597b6 (ARM i.MX ehci: do ehci init in board specific functions)
      
      and fixes:
      
        CC      arch/arm/mach-mx3/mach-vpr200.o
      arch/arm/mach-mx3/mach-vpr200.c:263: error: unknown field 'flags' specified in initializer
      arch/arm/mach-mx3/mach-vpr200.c:264: warning: initialization makes pointer from integer without a cast
      
      by just applying the change to mach-vpr200.c that the other machine files
      got by 4bd597b6.
      
      LAKML-Reference: 1302257029-17397-1-git-send-email-u.kleine-koenig@pengutronix.de
      Acked-by: default avatarMarc Reilly <marc@cpdesign.com.au>
      Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      32a90b6e
  3. 06 Apr, 2011 1 commit
  4. 05 Apr, 2011 10 commits