1. 31 5月, 2011 8 次提交
    • P
      dmaengine: shdma: Fix up fallout from runtime PM changes. · 5c2de444
      Paul Mundt 提交于
      The runtime PM changes introduce sh_dmae_rst() wrapping via the
      runtime_resume helper, depending on dev_get_drvdata() to fetch the
      platform data needed for the DMAOR initialization default at a time
      where drvdata hasn't yet been established by the probe path, resulting
      in general probe misery:
      
              Unable to handle kernel NULL pointer dereference at virtual address 000000c4
              pc = 8025adee
              *pde = 00000000
              Oops: 0000 [#1]
              Modules linked in:
      
              Pid : 1, Comm:           swapper
              CPU : 0                  Not tainted  (3.0.0-rc1-00012-g9436b4ab-dirty #1456)
      
              PC is at sh_dmae_rst+0x28/0x86
              PR is at sh_dmae_rst+0x22/0x86
              PC  : 8025adee SP  : 9e803d10 SR  : 400080f1 TEA : 000000c4
              R0  : 000000c4 R1  : 0000fff8 R2  : 00000000 R3  : 00000040
              R4  : 000000f0 R5  : 00000000 R6  : 00000000 R7  : 804f184c
              R8  : 00000000 R9  : 804dd0e8 R10 : 80283204 R11 : ffffffda
              R12 : 000000a0 R13 : 804dd18c R14 : 9e803d10
              MACH: 00000000 MACL: 00008f20 GBR : 00000000 PR  : 8025ade8
      
              Call trace:
              [<8025ae70>] sh_dmae_runtime_resume+0x24/0x34
              [<80283238>] pm_generic_runtime_resume+0x34/0x3c
              [<80283370>] rpm_callback+0x4a/0x7e
              [<80283efc>] rpm_resume+0x240/0x384
              [<80283f54>] rpm_resume+0x298/0x384
              [<8028428c>] __pm_runtime_resume+0x44/0x7c
              [<8038a358>] __ioremap_caller+0x0/0xec
              [<80284296>] __pm_runtime_resume+0x4e/0x7c
              [<8038a358>] __ioremap_caller+0x0/0xec
              [<80666254>] sh_dmae_probe+0x180/0x6a0
              [<802803ae>] platform_drv_probe+0x26/0x2e
      
      Fix up the ordering accordingly.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      5c2de444
    • P
      Revert "clocksource: sh_cmt: Runtime PM support" · 9436b4ab
      Paul Mundt 提交于
      This reverts commit 01fa68b5.
      
      The same note as per the sh_tmu change applies here, too.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      9436b4ab
    • P
      Revert "clocksource: sh_tmu: Runtime PM support" · d4905ce3
      Paul Mundt 提交于
      This reverts commit 1b842e91.
      
      There is a fundamental ordering race between the early and late probe
      paths and the runtime PM tie-in that results in __pm_runtime_resume()
      attempting to take a lock that hasn't been initialized yet (which by
      proxy also suggests that pm_runtime_init() hasn't yet been run on the
      device either, making the entire thing unsafe) -- resulting in instant
      death on SMP or on UP with spinlock debugging enabled:
      
      	 sh_tmu.0: used for clock events
      	 sh_tmu.0: used for periodic clock events
      	BUG: spinlock trylock failure on UP on CPU#0, swapper/0
      	 lock: 804db198, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0
      	...
      
      Revert it for now until the ordering issues can be resolved, or we can get
      some more help from the runtime PM framework to make this possible.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d4905ce3
    • P
      sh: Fix up asm-generic/ptrace.h fallout. · db7eba29
      Paul Mundt 提交于
      There was an ordering issue with regards to instruction_pointer() being
      used in profile_pc() prior to the asm-generic/ptrace.h include, which
      subsequently provided the instruction_pointer() definition. In the
      interest of simplicity we simply open-code the regs->pc deref for the
      profile_pc() definition instead.
      
      The FP functions were also broken due to a lack of a common regs->fp,
      so provide a common GET_FP() that is safe for both architectures in order
      to fix up the frame pointer helpers too.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      db7eba29
    • P
      sh64: Move from P1SEG to CAC_ADDR for consistent sync. · 3f9b8520
      Paul Mundt 提交于
      sh64 doesn't define a P1SEGADDR, resulting in a build failure. The proper
      mapping can be attained for both sh32 and 64 via the CAC_ADDR macro, so
      switch to that instead.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      3f9b8520
    • P
      sh64: asm/pgtable.h needs asm/mmu.h · 65d517eb
      Paul Mundt 提交于
      Needed to satisfy the __in_29bit_mode() check.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      65d517eb
    • N
      sh: asm/tlb.h needs linux/swap.h · 194cd8df
      Nobuhiro Iwamatsu 提交于
      Commit 1e56a564 introduced the mmu_gather
      rework for sh, but missed a linux/swap.h include:
      
      	CC      arch/sh/mm/tlb-urb.o
      	In file included from arch/sh/mm/tlb-urb.c:14:0:
      	arch/sh/include/asm/tlb.h: In function '__tlb_remove_page':
      	arch/sh/include/asm/tlb.h:92:2: error: implicit declaration of function 'free_page_and_swap_cache'
      Signed-off-by: NNobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
      CC: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      194cd8df
    • P
      Merge branch 'master' of... · 8181d3ef
      Paul Mundt 提交于
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh-fixes-for-linus
      8181d3ef
  2. 30 5月, 2011 32 次提交