1. 23 12月, 2015 5 次提交
  2. 19 12月, 2015 1 次提交
  3. 18 12月, 2015 2 次提交
    • F
      ARM: OMAP2+: AM43xx: select ARM TWD timer · 54011103
      Felipe Balbi 提交于
      Make sure to tell the kernel that AM437x devices have ARM TWD timer.
      Signed-off-by: NFelipe Balbi <balbi@ti.com>
      [grygorii.strashko@ti.com: drop ARM Global timer selection, because
       it's incompatible with PM (cpuidle/cpufreq). So, it's unsafe to enable
       it unconditionally]
      Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      54011103
    • G
      ARM: OMAP2+: am43xx: enable GENERIC_CLOCKEVENTS_BROADCAST · 0b3e6fca
      Grygorii Strashko 提交于
      System will misbehave in the following case:
      - AM43XX only build (UP);
      - CONFIG_CPU_IDLE=y
      - ARM TWD timer enabled and selected as clockevent device.
      
      In the above case, It's expected that broadcast timer will be used as
      backup timer when CPUIdle will put MPU in low power states where ARM
      TWD will stop and lose its context. But, the CONFIG_SMP might not be
      selected when kernel is built for AM43XX SoC only and, as result,
      GENERIC_CLOCKEVENTS_BROADCAST option will not be selected also. This
      will break CPUIdle and System will stuck in low power states.
      
      Hence, fix it by selecting GENERIC_CLOCKEVENTS_BROADCAST option for
      AM43XX SoCs always and add empty tick_broadcast() function
      implementation - no need to send any IPI on UP. After this change
      timer1 will be selected as broadcast timer the same way as for SMP,
      and CPUIdle will work properly.
      Signed-off-by: NGrygorii Strashko <grygorii.strashko@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      0b3e6fca
  4. 16 12月, 2015 1 次提交
    • L
      fsl-ifc: add missing include on ARM64 · c4aa1937
      Lijun Pan 提交于
      Need to include sched.h to fix the following compilation error
      if FSL_IFC is enabled on ARM64 machine.
      
      In file included from include/linux/mmzone.h:9:0,
                       from include/linux/gfp.h:5,
                       from include/linux/kmod.h:22,
                       from include/linux/module.h:13,
                       from drivers/memory/fsl_ifc.c:22:
      drivers/memory/fsl_ifc.c: In function ‘check_nand_stat’:
      include/linux/wait.h:165:35: error: ‘TASK_NORMAL’ undeclared (first use in this function)
       #define wake_up(x)   __wake_up(x, TASK_NORMAL, 1, NULL)
                                         ^
      drivers/memory/fsl_ifc.c:136:3: note: in expansion of macro ‘wake_up’
         wake_up(&ctrl->nand_wait);
         ^
      include/linux/wait.h:165:35: note: each undeclared identifier is reported only once for each function it appears in
       #define wake_up(x)   __wake_up(x, TASK_NORMAL, 1, NULL)
                                         ^
      drivers/memory/fsl_ifc.c:136:3: note: in expansion of macro ‘wake_up’
         wake_up(&ctrl->nand_wait);
         ^
      
      Analysis is as follows:
      I put some instrumental code and get the
      following .h files inclusion sequence:
      
      In file included from ./arch/arm64/include/asm/compat.h:25:0,
                       from ./arch/arm64/include/asm/stat.h:23,
                       from include/linux/stat.h:5,
                       from include/linux/module.h:10,
                       from drivers/memory/fsl_ifc.c:23:
      include/linux/sched.h:113:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘struct’
       struct sched_attr {
       ^
      
      CONFIG_COMPAT=y is enabled while 39 and 48 bit VA is selected.
      When 42 bit VA is selected, it does not enable CONFIG_COMPAT=y
      
      In ./arch/arm64/include/asm/stat.h:23, it has
      "#ifdef CONFIG_COMPAT"
      "#include <asm/compat.h>"
      "..."
      "#endif"
      
      Since ./arch/arm64/include/asm/stat.h does not
      include ./arch/arm64/include/asm/compat.h,
      then it will not include include/linux/sched.h
      Hence we have to manually add "#include <linux/sched.h>"
      in drivers/memory/fsl_ifc.c
      Signed-off-by: NLijun Pan <Lijun.Pan@freescale.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      c4aa1937
  5. 15 12月, 2015 3 次提交
  6. 12 12月, 2015 4 次提交
  7. 11 12月, 2015 8 次提交
  8. 10 12月, 2015 1 次提交
  9. 05 12月, 2015 2 次提交
  10. 02 12月, 2015 4 次提交
    • S
      ARM: dts: vf610: fix clock definition for SAI2 · 531ee1f4
      Stefan Agner 提交于
      So far, only the bus clock has been assigned, but in reality the
      SAI IP has for clock inputs. The driver has been updated to
      make use of the additional clock inputs by c3ecef21 ("ASoC:
      fsl_sai: add sai master mode support"). Due to a bug in the
      clock tree, the audio clock has been enabled none the less by
      the specified bus clock (see "ARM: imx: clk-vf610: fix SAI
      clock tree"), which made master mode even without the proper
      clock assigned working.
      
      This patch completes the clock definition for SAI2. On Vybrid,
      only two MCLK out of the four options are available (the first
      being the bus clock itself). See chapter 8.10.1.2.3 of the
      Vybrid Reference manual ("SAI transmitter and receiver options
      for MCLK selection"). Note: The audio clocks are only required
      in master mode.
      Signed-off-by: NStefan Agner <stefan@agner.ch>
      Signed-off-by: NShawn Guo <shawnguo@kernel.org>
      531ee1f4
    • S
      ARM: imx: clk-vf610: fix SAI clock tree · 3b60a26f
      Stefan Agner 提交于
      The Synchronous Audio Interface (SAI) instances are clocked by
      independent clocks: The bus clock and the audio clock (as shown in
      Figure 51-1 in the Vybrid Reference Manual). The clock gates in
      CCGR0/CCGR1 for SAI0 through SAI3 are bus clock gates, as access
      tests to the registers with/without gating those clocks have shown.
      The audio clock is gated by the SAIx_EN gates in CCM_CSCDR1,
      followed by a clock divider (SAIx_DIV). Currently, the parent of
      the bus clock gates has been assigned to SAIx_DIV, which is not
      involved in the bus clock path for the SAI instances (see chapter
      9.10.12, SAI clocking in the Vybrid Reference Manual).
      
      Fix this by define the parent clock of VF610_CLK_SAIx to be the bus
      clock.
      
      If the driver needs the audio clock (when used in master mode), a
      fixed device tree is required which assign the audio clock properly
      to VF610_CLK_SAIx_DIV.
      Signed-off-by: NStefan Agner <stefan@agner.ch>
      Acked-by: NStephen Boyd <sboyd@codeaurora.org>
      Signed-off-by: NShawn Guo <shawnguo@kernel.org>
      3b60a26f
    • A
      ARM: ixp4xx: fix read{b,w,l} return types · d66e5139
      Arnd Bergmann 提交于
      On ixp4xx, the readl() function returns an 'unsigned long' output
      when indirect I/O is used. This is unlike any other platform, and
      it causes lots of harmless compiler warnings, such as:
      
      drivers/ata/libahci.c: In function 'ahci_show_host_version':
      drivers/ata/libahci.c:254:22: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Wformat=]
      drivers/block/mtip32xx/mtip32xx.c: In function 'mtip_hw_read_registers':
      drivers/block/mtip32xx/mtip32xx.c:2602:31: warning: format '%X' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Wformat=]
      drivers/block/cciss.c: In function 'print_cfg_table':
      drivers/block/cciss.c:3845:25: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long unsigned int' [-Wformat=]
      
      This changes all six of the ixp4xx specific I/O read functions
      to return the same types that we have in the normal asm/io.h,
      to avoid the warnings.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NKrzysztof Halasa <khalasa@piap.pl>
      d66e5139
    • G
      irqchip/versatile-fpga: Fix PCI IRQ mapping on Versatile PB · d5d4fdd8
      Guillaume Delbergue 提交于
      This patch is specifically for PCI support on the Versatile PB board using
      a DT. Currently, the dynamic IRQ mapping is broken when using DTs. For
      example, on QEMU, the SCSI driver is unable to request the IRQ. To fix
      this issue, this patch replaces the current dynamic mechanism with a
      static value as is done in the non-DT case.
      Signed-off-by: NGuillaume Delbergue <guillaume.delbergue@greensocs.com>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: stable@vger.kernel.org
      d5d4fdd8
  11. 01 12月, 2015 3 次提交
  12. 30 11月, 2015 6 次提交