1. 15 4月, 2016 4 次提交
  2. 25 2月, 2016 1 次提交
  3. 08 2月, 2016 1 次提交
  4. 02 2月, 2016 1 次提交
  5. 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
  6. 14 12月, 2015 1 次提交
  7. 13 10月, 2015 2 次提交
  8. 05 10月, 2015 2 次提交
  9. 30 9月, 2015 3 次提交
  10. 13 8月, 2015 5 次提交
    • T
      iommu/tegra-smmu: Parameterize number of TLB lines · 11cec15b
      Thierry Reding 提交于
      The number of TLB lines was increased from 16 on Tegra30 to 32 on
      Tegra114 and later. Parameterize the value so that the initial default
      can be set accordingly.
      
      On Tegra30, initializing the value to 32 would effectively disable the
      TLB and hence cause massive latencies for memory accesses translated
      through the SMMU. This is especially noticeable for isochronuous clients
      such as display, whose FIFOs would continuously underrun.
      
      Fixes: 89184651 ("memory: Add NVIDIA Tegra memory controller support")
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      11cec15b
    • T
      memory: tegra: Add Tegra210 support · 588c43a7
      Thierry Reding 提交于
      Add the table of memory clients and SWGROUPs for Tegra210 to enable SMMU
      support for this new SoC.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      588c43a7
    • P
      memory: tegra: Add support for a variable-size client ID bitfield · 3c01cf3b
      Paul Walmsley 提交于
      Recent versions of the Tegra MC hardware extend the size of the client
      ID bitfield in the MC_ERR_STATUS register by one bit.  While one could
      simply extend the bitfield for older hardware, that would allow data
      from reserved bits into the driver code, which is generally a bad idea
      on principle.  So this patch instead passes in the client ID mask from
      from the per-SoC MC data.
      
      There's no MC support for T210 (yet), but when that support winds up
      in the kernel, the appropriate soc->client_id_mask value for that chip
      will be 0xff.
      
      Based on an original patch by David Ung <davidu@nvidia.com>.
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      Cc: Paul Walmsley <pwalmsley@nvidia.com>
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: David Ung <davidu@nvidia.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      3c01cf3b
    • R
      iommu/tegra-smmu: Move flush_dcache to tegra-smmu.c · 4b3c7d10
      Russell King 提交于
      Drivers should not be using __cpuc_* functions nor outer_cache_flush()
      directly.  This change partly cleans up tegra-smmu.c.
      
      The only difference between cache handling of the tegra variants is
      Denver, which omits the call to outer_cache_flush().  This is due to
      Denver being an ARM64 CPU, and the ARM64 architecture does not provide
      this function.  (This, in itself, is a good reason why these should not
      be used.)
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      [treding@nvidia.com: fix build failure on 64-bit ARM]
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      4b3c7d10
    • R
      memory: kill off set_irq_flags usage · ed293d1a
      Rob Herring 提交于
      set_irq_flags is ARM specific with custom flags which have genirq
      equivalents. Convert drivers to use the genirq interfaces directly, so we
      can kill off set_irq_flags. The translation of flags is as follows:
      
      IRQF_VALID -> !IRQ_NOREQUEST
      IRQF_PROBE -> !IRQ_NOPROBE
      IRQF_NOAUTOEN -> IRQ_NOAUTOEN
      
      For IRQs managed by an irqdomain, the irqdomain core code handles clearing
      and setting IRQ_NOREQUEST already, so there is no need to do this in
      .map() functions and we can simply remove the set_irq_flags calls. Some
      users also set IRQ_NOPROBE and this has been maintained although it is not
      clear that is really needed. There appears to be a great deal of blind
      copy and paste of this code.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Acked-by: NRoger Quadros <rogerq@ti.com>
      Cc: linux-omap@vger.kernel.org
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      ed293d1a
  11. 12 8月, 2015 1 次提交
    • T
      memory: omap-gpmc: Don't try to save uninitialized GPMC context · e984a179
      Tomeu Vizoso 提交于
      If for some reason the GPMC device hasn't been probed yet, gpmc_base is
      going to be NULL. Because there's no context yet to be saved, just turn
      these functions into no-ops until that device gets probed.
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000010
      pgd = c0204000
      [00000010] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.2.0-rc5-next-20150804-05947-g23f38fe8eda9 #1
      Hardware name: Generic OMAP3-GP (Flattened Device Tree)
      task: c0e623e8 ti: c0e5c000 task.ti: c0e5c000
      PC is at omap3_gpmc_save_context+0x8/0xc4
      LR is at omap_sram_idle+0x154/0x23c
      pc : [<c087c7ac>]    lr : [<c023262c>]    psr: 60000193
      sp : c0e5df40  ip : c0f92a80  fp : c0999eb0
      r10: c0e57364  r9 : c0e66f14  r8 : 00000003
      r7 : 00000000  r6 : 00000003  r5 : 00000000  r4 : c0f5f174
      r3 : c0fa4fe8  r2 : 00000000  r1 : 00000000  r0 : fa200280
      Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
      Control: 10c5387d  Table: 80204019  DAC: 00000015
      Process swapper/0 (pid: 0, stack limit = 0xc0e5c220)
      Stack: (0xc0e5df40 to 0xc0e5e000)
      df40: 00000000 c0e66ef8 c0f5f1a4 00000000 00000003 c02333a4 c3813822 00000000
      df60: 00000000 c0e5a5c8 cfb8a5d0 c07f0c44 0e4f1d7e 00000000 00000000 00000000
      df80: c3813822 00000000 cfb8a5d0 c0e5e4e4 cfb8a5d0 c0e66f14 c0e5a5c8 c0e5e54c
      dfa0: c0e5e544 c0e57364 c0999eb0 c0277758 000000fa c0f5d000 00000000 c0d61c18
      dfc0: ffffffff ffffffff 00000000 c0d61674 00000000 c0df7a48 00000000 c0f5d5d4
      dfe0: c0e5e4c0 c0df7a44 c0e634f8 80204059 00000000 8020807c 00000000 00000000
      [<c087c7ac>] (omap3_gpmc_save_context) from [<c023262c>] (omap_sram_idle+0x154/0x23c)
      [<c023262c>] (omap_sram_idle) from [<c02333a4>] (omap3_enter_idle_bm+0xec/0x1a8)
      [<c02333a4>] (omap3_enter_idle_bm) from [<c07f0c44>] (cpuidle_enter_state+0xbc/0x284)
      [<c07f0c44>] (cpuidle_enter_state) from [<c0277758>] (cpu_startup_entry+0x174/0x24c)
      [<c0277758>] (cpu_startup_entry) from [<c0d61c18>] (start_kernel+0x358/0x3c0)
      [<c0d61c18>] (start_kernel) from [<8020807c>] (0x8020807c)
      Code: c0ccace8 c0ccacc0 e59f30b4 e5932000 (e5921010)
      Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com>
      Suggested-by: NJavier Martinez Canillas <javier@dowhile0.org>
      Reviewed-by: NJavier Martinez Canillas <javier@osg.samsung.com>
      Acked-by: NRoger Quadros <rogerq@ti.com>
      [tony@atomide.com: updated description as suggested by Javier]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      e984a179
  12. 08 8月, 2015 1 次提交
  13. 23 7月, 2015 1 次提交
  14. 18 7月, 2015 1 次提交
  15. 16 7月, 2015 1 次提交
  16. 02 6月, 2015 2 次提交
    • T
      memory: omap-gpmc: Add Kconfig option for debug · 63aa945b
      Tony Lindgren 提交于
      We support decoding the bootloader values if DEBUG is defined.
      But we also need to change the struct omap_hwmod flags to have
      HWMOD_INIT_NO_RESET to avoid the GPMC being reset during the
      boot. Otherwise just the default timings will be displayed
      instead of the bootloader configured timings.
      
      This also allows us to clean up the various GPMC related
      hwmod flags. For debugging, we only need HWMOD_INIT_NO_RESET,
      and HWMOD_INIT_NO_IDLE is not needed.
      
      Cc: Brian Hutchinson <b.hutchman@gmail.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Roger Quadros <rogerq@ti.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      63aa945b
    • T
      memory: omap-gpmc: Fix parsing of devices · 28a7eedd
      Tony Lindgren 提交于
      We currently artificially limit the parsing of GPMC connected
      devices based on the device name. Let's stop doing that, it's
      confusing as adding devices to .dts files with using normal
      names like fpga and usb will currently cause them to not probe.
      
      Cc: Roger Quadros <rogerq@ti.com>
      Reported-by: NBrian Hutchinson <b.hutchman@gmail.com>
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      28a7eedd
  17. 05 5月, 2015 3 次提交
  18. 04 5月, 2015 3 次提交
    • T
      memory: tegra: Disable ARBITRATION_EMEM interrupt · 6f0a4d0c
      Tomeu Vizoso 提交于
      As this interrupt is just for development purposes, as the TRM says, and
      the sheer amount of interrupts fired can seriously disrupt userspace
      when testing the lower frequencies supported by the EMC.
      
      From the TRM:
      
      "There is one performance warning type interrupt: ARBITRATION_EMEM. It
      fires when the MC detects that a request has been pending in the Row
      Sorter long enough to hit the DEADLOCK_PREVENTION_SLACK_THRESHOLD. In
      addition to true performance problems, this interrupt may fire in
      situations such as clock-change where the EMC backpressures pending
      traffic for long periods of time. This interrupt helps developers
      identify and debug performance issues and configuration issues."
      Signed-off-by: NTomeu Vizoso <tomeu.vizoso@collabora.com>
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      6f0a4d0c
    • T
      memory: tegra: Add Tegra132 support · 242b1d71
      Thierry Reding 提交于
      The memory controller on Tegra132 is very similar to the one found on
      Tegra124. But the Denver CPUs don't have an outer cache, so dcache
      maintenance is done slightly differently.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      242b1d71
    • T
      memory: tegra: Add SWGROUP names · e660df07
      Thierry Reding 提交于
      Subsequent patches will add debugfs files that print the status of the
      SWGROUPs. Add a new names field and complement the SoC tables with the
      names of the individual SWGROUPs.
      Signed-off-by: NThierry Reding <treding@nvidia.com>
      e660df07
  19. 27 3月, 2015 1 次提交
  20. 06 3月, 2015 5 次提交