1. 23 3月, 2013 1 次提交
  2. 19 3月, 2013 2 次提交
    • S
      ARM: imx: add dependency check for DEBUG_IMX_UART_PORT · 287939a3
      Shawn Guo 提交于
      While adding i.MX DEBUG_LL selection, commit f8c95fe6 (ARM: imx: support
      DEBUG_LL uart port selection for all i.MX SoCs) leaves Kconfig symbol
      DEBUG_IMX_UART_PORT there without any dependency check.  This results in
      that everyone gets the symbol in their config, which is someting
      undesirable.  Add "depends on ARCH_MXC" for the symbol to prevent that.
      Reported-by: NKarl Beldan <karl.beldan@gmail.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      287939a3
    • M
      ARM: video: mxs: Fix mxsfb misconfiguring VDCTRL0 · 6a15075e
      Marek Vasut 提交于
      The issue fixed by this patch manifests only then using X11
      with mxsfb driver. The X11 will display either shifted image
      or otherwise distorted image on the LCD.
      
      The problem is that the X11 tries to reconfigure the framebuffer
      and along the way calls fb_ops.fb_set_par() with X11's desired
      configuration values. The field of particular interest is
      fb_info->var.sync which contains non-standard values if
      configured by kernel. These are either FB_SYNC_DATA_ENABLE_HIGH_ACT,
      FB_SYNC_DOTCLK_FAILING_ACT or both, depending on the platform
      configuration. Both of these values are defined in the
      include/linux/mxsfb.h file.
      
      The driver interprets these values and configures the LCD controller
      accordingly. Yet X11 only has access to the standard values for this
      field defined in include/uapi/linux/fb.h and thus, unlike kernel,
      omits these special values. This results in distorted image on the
      LCD.
      
      This patch moves these non-standard values into new field of the
      mxsfb_platform_data structure so the driver can in turn check this
      field instead of the video mode field for these specific portions.
      
      Moreover, this patch prefixes these values with MXSFB_SYNC_ prefix
      instead of FB_SYNC_ prefix to prevent confusion of subsequent users.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Fabio Estevam <fabio.estevam@freescale.com>
      Cc: Linux ARM <linux-arm-kernel@lists.infradead.org>
      Cc: Linux FBDEV <linux-fbdev@vger.kernel.org>
      Cc: Lothar Waßmann <LW@karo-electronics.de>
      Cc: Sascha Hauer <kernel@pengutronix.de>
      Tested-by: NFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: NShawn Guo <shawn.guo@linaro.org>
      6a15075e
  3. 18 3月, 2013 1 次提交
    • A
      ARM: fix CONFIG_VIRT_TO_BUS handling · b4811bac
      Arnd Bergmann 提交于
      887cbce0 "arch Kconfig: centralise CONFIG_ARCH_NO_VIRT_TO_BUS"
      and  4febd95a "Select VIRT_TO_BUS directly where needed" from
      Stephen Rothwell changed globally how CONFIG_VIRT_TO_BUS is
      selected, while my own a5d533ee "ARM: disable virt_to_bus/
      virt_to_bus almost everywhere" was merged at the same time and
      changed which platforms select it on ARM.
      
      The result of this conflict was that we again see CONFIG_VIRT_TO_BUS
      on all ARM systems. This patch fixes up the problem and removes
      CONFIG_ARCH_NO_VIRT_TO_BUS again on ARM.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      b4811bac
  4. 16 3月, 2013 1 次提交
  5. 15 3月, 2013 4 次提交
    • S
      ARM: i.MX35: enable MAX clock · 5dc2eb7d
      Sascha Hauer 提交于
      The i.MX35 has two bits per clock gate which are decoded as follows:
            0b00 -> clock off
            0b01 -> clock is on in run mode, off in wait/doze
            0b10 -> clock is on in run/wait mode, off in doze
            0b11 -> clock is always on
      
      The reset value for the MAX clock is 0b10.
      
      The MAX clock is needed by the SoC, yet unused in the Kernel, so the
      common clock framework will disable it during late init time. It will
      only disable clocks though which it detects as being turned on. This
      detection is made depending on the lower bit of the gate. If the reset
      value has been altered by the bootloader to 0b11 the clock framework
      will detect the clock as turned on, yet unused, hence it will turn it
      off and the system locks up.
      
      This patch turns the MAX clock on unconditionally making the Kernel
      independent of the bootloader.
      Signed-off-by: NSascha Hauer <s.hauer@pengutronix.de>
      5dc2eb7d
    • S
      ARM: Scorpion is a v7 architecture, not v6 · 8dda05cc
      Stephen Boyd 提交于
      Scorpion processors have always been v7 CPUs. Fix the Kconfig
      text to reflect this.
      Reported-by: NStepan Moskovchenko <stepanm@codeaurora.org>
      Signed-off-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      8dda05cc
    • H
      ARM: mmp: add platform_device head file in gplugd · e71dc5f7
      Haojian Zhuang 提交于
      arch/arm/mach-mmp/gplugd.c: In function ‘gplugd_init’:
      arch/arm/mach-mmp/gplugd.c:188:2: error: implicit declaration of
      function ‘platform_device_register’
      [-Werror=implicit-function-declaration]
      cc1: some warnings being treated as errors
      make[1]: *** [arch/arm/mach-mmp/gplugd.o] Error 1
      make: *** [arch/arm/mach-mmp] Error 2
      
      So append platform_device.h to resolve build issue.
      Signed-off-by: NHaojian Zhuang <haojian.zhuang@linaro.org>
      e71dc5f7
    • A
      [media] s5p-fimc: fix s5pv210 build · 01ffe957
      Arnd Bergmann 提交于
      56bc911a "[media] s5p-fimc: Redefine platform data structure for fimc-is"
      changed the bus_type member of struct fimc_source_info treewide, but
      got one instance wrong in mach-s5pv210, which was evidently not
      even build tested.
      
      This adds the missing change to get s5pv210_defconfig to build again.
      Applies on the Mauro's media tree.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
      01ffe957
  6. 14 3月, 2013 4 次提交
  7. 13 3月, 2013 4 次提交
  8. 12 3月, 2013 8 次提交
  9. 11 3月, 2013 2 次提交
  10. 09 3月, 2013 11 次提交
  11. 08 3月, 2013 2 次提交
    • S
      ARM: shmobile: marzen: Include mmc/host.h · 44e9ac45
      Simon Horman 提交于
      mmc/host.h provides MMC_CAP_SD_HIGHSPEED which is used in board-marzen.c
      
      This resolves a build problem observed when compiling with
      "mmc: tmio: remove unused and deprecated symbols" applied.
      Acked-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      44e9ac45
    • I
      ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations · 455bd4c4
      Ivan Djelic 提交于
      Recent GCC versions (e.g. GCC-4.7.2) perform optimizations based on
      assumptions about the implementation of memset and similar functions.
      The current ARM optimized memset code does not return the value of
      its first argument, as is usually expected from standard implementations.
      
      For instance in the following function:
      
      void debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
      {
      	memset(waiter, MUTEX_DEBUG_INIT, sizeof(*waiter));
      	waiter->magic = waiter;
      	INIT_LIST_HEAD(&waiter->list);
      }
      
      compiled as:
      
      800554d0 <debug_mutex_lock_common>:
      800554d0:       e92d4008        push    {r3, lr}
      800554d4:       e1a00001        mov     r0, r1
      800554d8:       e3a02010        mov     r2, #16 ; 0x10
      800554dc:       e3a01011        mov     r1, #17 ; 0x11
      800554e0:       eb04426e        bl      80165ea0 <memset>
      800554e4:       e1a03000        mov     r3, r0
      800554e8:       e583000c        str     r0, [r3, #12]
      800554ec:       e5830000        str     r0, [r3]
      800554f0:       e5830004        str     r0, [r3, #4]
      800554f4:       e8bd8008        pop     {r3, pc}
      
      GCC assumes memset returns the value of pointer 'waiter' in register r0; causing
      register/memory corruptions.
      
      This patch fixes the return value of the assembly version of memset.
      It adds a 'mov' instruction and merges an additional load+store into
      existing load/store instructions.
      For ease of review, here is a breakdown of the patch into 4 simple steps:
      
      Step 1
      ======
      Perform the following substitutions:
      ip -> r8, then
      r0 -> ip,
      and insert 'mov ip, r0' as the first statement of the function.
      At this point, we have a memset() implementation returning the proper result,
      but corrupting r8 on some paths (the ones that were using ip).
      
      Step 2
      ======
      Make sure r8 is saved and restored when (! CALGN(1)+0) == 1:
      
      save r8:
      -       str     lr, [sp, #-4]!
      +       stmfd   sp!, {r8, lr}
      
      and restore r8 on both exit paths:
      -       ldmeqfd sp!, {pc}               @ Now <64 bytes to go.
      +       ldmeqfd sp!, {r8, pc}           @ Now <64 bytes to go.
      (...)
              tst     r2, #16
              stmneia ip!, {r1, r3, r8, lr}
      -       ldr     lr, [sp], #4
      +       ldmfd   sp!, {r8, lr}
      
      Step 3
      ======
      Make sure r8 is saved and restored when (! CALGN(1)+0) == 0:
      
      save r8:
      -       stmfd   sp!, {r4-r7, lr}
      +       stmfd   sp!, {r4-r8, lr}
      
      and restore r8 on both exit paths:
              bgt     3b
      -       ldmeqfd sp!, {r4-r7, pc}
      +       ldmeqfd sp!, {r4-r8, pc}
      (...)
              tst     r2, #16
              stmneia ip!, {r4-r7}
      -       ldmfd   sp!, {r4-r7, lr}
      +       ldmfd   sp!, {r4-r8, lr}
      
      Step 4
      ======
      Rewrite register list "r4-r7, r8" as "r4-r8".
      Signed-off-by: NIvan Djelic <ivan.djelic@parrot.com>
      Reviewed-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NDirk Behme <dirk.behme@gmail.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      455bd4c4