1. 22 8月, 2013 1 次提交
  2. 16 8月, 2013 19 次提交
  3. 26 7月, 2013 1 次提交
  4. 25 7月, 2013 1 次提交
  5. 24 7月, 2013 18 次提交
    • S
      ARM: EXYNOS: Update CONFIG_ARCH_NR_GPIO for Exynos · 53302bf6
      Sachin Kamat 提交于
      With the recent cleanup in Exynos platform code notably commits
      17859bec ("ARM: EXYNOS: Do not select legacy Kconfig symbols any
      more") and b9222210 ("ARM: EXYNOS: Remove mach/gpio.h"), the definition
      of ARCH_NR_GPIOS got removed. This started causing problems on SoCs like
      Exynos4412 which have more than the default number of GPIOs. Thus define
      this number in KConfig file which takes care of current SoC requirements
      and provides scope for GPIO expanders. Without this patch we get the
      following errors during boot:
      
      gpiochip_add: gpios 251..258 (gpv0) failed to register
      samsung-pinctrl 106e0000.pinctrl: failed to register gpio_chip gpv0, error code: -22
      samsung-pinctrl: probe of 106e0000.pinctrl failed with error -22
      Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org>
      Cc: Tomasz Figa <t.figa@samsung.com>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      53302bf6
    • Y
      ARM: EXYNOS: Fix low level debug support · 7ed76e08
      Yadwinder Singh Brar 提交于
      Presently, using exynos_defconfig with CONFIG_DEBUG_LL and CONFIG_EARLY_PRIN
      on, kernel is not booting, we are getting following:
      
      [    0.000000] ------------[ cut here ]------------
      [    0.000000] kernel BUG at mm/vmalloc.c:1134!
      [    0.000000] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM
      [    0.000000] Modules linked in:
      [    0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 3.11.0-rc1 #633
      [    0.000000] task: c052ec48 ti: c0524000 task.ti: c0524000
      [    0.000000] PC is at vm_area_add_early+0x54/0x94
      [    0.000000] LR is at add_static_vm_early+0xc/0x60
      
      Its because exynos[4/5]_map_io() function ioremaps a single 512KB memory
      size for all the four uart ports which envelopes the mapping created by
      debug_ll_io_init(), called earlier in exynos_init_io().
      
      This patch removes iodesc entries for UART controller for all Samsung SoC's,
      since now the Samsung uart driver does a ioremap during probe and any needed
      iomapping for earlyprintk will be handled by debug_ll_io_init().
      
      Tested on smdk4412 and smdk5250.
      Signed-off-by: NYadwinder Singh Brar <yadi.brar@samsung.com>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      7ed76e08
    • Y
      ARM: SAMSUNG: Save/restore only selected uart's registers · 7bdc84fb
      Yadwinder Singh Brar 提交于
      Basically this code gets executed only during debugging i.e when
      DEBUG_LL & SAMSUNG_PM_DEBUG is on, so required only for UART used
      for debugging. Since we are removing static iodesc entries for UARTs,
      so now only the selected (CONFIG_DEBUG_S3C_UART) UART will be
      ioremapped by the debug_ll_io_init() for DEBUG_LL, so save/restore
      uart registers only for selected uart.
      Signed-off-by: NYadwinder Singh Brar <yadi.brar@samsung.com>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      7bdc84fb
    • H
      Revert "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework" · e70308ec
      Herbert Xu 提交于
      This reverts commits
          67822649
          39761214
          0b95a7f8
          31d93962
          2d31e518
      
      Unfortunately this change broke boot on some systems that used an
      initrd which does not include the newly created crct10dif modules.
      As these modules are required by sd_mod under certain configurations
      this is a serious problem.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      e70308ec
    • A
      ARM: SAMSUNG: Add SAMSUNG_PM config option to select pm · 89693016
      Amit Daniel Kachhap 提交于
      This patch enables the selection of samsung pm related stuffs
      when SAMSUNG_PM config is enabled and not just when generic PM
      config is enabled. Power management for s3c64XX and s3c24XX
      is enabled by default and for other platform depends on S5P_PM.
      This patch also fixes the following compilation error's when compiling
      a platform like exynos5440 which does not select pm stuffs.
      
      arch/arm/mach-exynos/built-in.o: In function '__virt_to_phys':
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      linux/arch/arm/include/asm/memory.h:175: undefined reference to 's3c_cpu_resume'
      arch/arm/mach-exynos/built-in.o: In function 'exynos5_init_irq':
      linux/arch/arm/mach-exynos/common.c:492: undefined reference to 's3c_irq_wake'
      linux/arch/arm/mach-exynos/common.c:492: undefined reference to 's3c_irq_wake'
      arch/arm/mach-exynos/built-in.o: In function 'exynos4_init_irq':
      linux/arch/arm/mach-exynos/common.c:476: undefined reference to 's3c_irq_wake'
      linux/arch/arm/mach-exynos/common.c:476: undefined reference to 's3c_irq_wake'
      arch/arm/plat-samsung/built-in.o: In function 's3c_irqext_wake':
      linux/arch/arm/plat-samsung/pm.c:144: undefined reference to 's3c_irqwake_eintallow'
      linux/arch/arm/plat-samsung/pm.c:144: undefined reference to 's3c_irqwake_eintallow'
      arch/arm/plat-samsung/built-in.o: In function 's3c_pm_enter':
      linux/arch/arm/plat-samsung/pm.c:263: undefined reference to 's3c_irqwake_intallow'
      linux/arch/arm/plat-samsung/pm.c:263: undefined reference to 's3c_irqwake_intallow'
      linux/arch/arm/plat-samsung/pm.c:264: undefined reference to 's3c_irqwake_eintallow'
      linux/arch/arm/plat-samsung/pm.c:264: undefined reference to 's3c_irqwake_eintallow'
      linux/arch/arm/plat-samsung/pm.c:275: undefined reference to 's3c_pm_save_core'
      linux/arch/arm/plat-samsung/pm.c:279: undefined reference to 's3c_pm_configure_extint'
      linux/arch/arm/plat-samsung/pm.c:310: undefined reference to 's3c_pm_restore_core'
      make: *** [vmlinux] Error 1
      Signed-off-by: NAmit Daniel Kachhap <amit.daniel@samsung.com>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      89693016
    • A
      powerpc/perf: BHRB filter configuration should follow the task · ff3d79dc
      Anshuman Khandual 提交于
      When the task moves around the system, the corresponding cpuhw
      per cpu strcuture should be popullated with the BHRB filter
      request value so that PMU could be configured appropriately with
      that during the next call into power_pmu_enable().
      Signed-off-by: NAnshuman Khandual <khandual@linux.vnet.ibm.com>
      Acked-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ff3d79dc
    • A
      powerpc/perf: Ignore separate BHRB privilege state filter request · 7689bdca
      Anshuman Khandual 提交于
      Completely ignore BHRB privilege state filter request as we are
      already configuring that with privilege state filtering attribute
      for the accompanying PMU event. This would help achieve cleaner
      user space interaction for BHRB.
      
      This patch fixes a situation like this
      
      Before patch:-
      ------------
      ./perf record -j any -e branch-misses:k ls
      Error:
      The sys_perf_event_open() syscall returned with 95 (Operation not
      supported) for event (branch-misses:k).
      /bin/dmesg may provide additional information.
      No CONFIG_PERF_EVENTS=y kernel support configured?
      
      Here 'perf record' actually copies over ':k' filter request into BHRB
      privilege state filter config and our previous check in kernel would
      fail that.
      
      After patch:-
      -------------
      ./perf record -j any -e branch-misses:k ls
      perf  perf.data  perf.data.old  test-mmap-ring
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.002 MB perf.data (~102 samples)]
      Signed-off-by: NAnshuman Khandual <khandual@linux.vnet.ibm.com>
      Acked-by: NMichael Neuling <mikey@neuling.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7689bdca
    • B
      powerpc/powernv: Mark pnv_pci_init_ioda2_phb() as __init · 67975005
      Bjorn Helgaas 提交于
      Mark pnv_pci_init_ioda2_phb() as __init.  It is called only from an
      init function (pnv_pci_init()), and it calls an init function
      (pnv_pci_init_ioda_phb()):
      
          pnv_pci_init                # init
            pnv_pci_init_ioda2_phb    # non-init
      	pnv_pci_init_ioda_phb   # init
      
      This should fix a section mismatch warning.
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      67975005
    • A
      powerpc/mm: Use the correct SLB(LLP) encoding in tlbie instruction · de640959
      Aneesh Kumar K.V 提交于
      The sllp value is stored in mmu_psize_defs in such a way that we can easily OR
      the value to get the operand for slbmte instruction. ie, the L and LP bits are
      not contiguous. Decode the bits and use them correctly in tlbie.
      regression is introduced by 1f6aaacc
      "powerpc: Update tlbie/tlbiel as per ISA doc"
      Reported-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      de640959
    • A
      powerpc/mm: Fix fallthrough bug in hpte_decode · 83383b73
      Aneesh Kumar K.V 提交于
      We should not fallthrough different case statements in hpte_decode. Add
      break statement to break out of the switch. The regression is introduced by
      dcda287a "powerpc/mm: Simplify hpte_decode"
      Reported-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      83383b73
    • D
      powerpc/pseries: Fix a typo in pSeries_lpar_hpte_insert() · ad92c615
      Denis Kirjanov 提交于
      Commit 801eb73f introduced
      a bug while checking PTE flags. We have to drop the _PAGE_COHERENT flag
      when __PAGE_NO_CACHE is set and the cache update policy is not write-through
      (i.e. _PAGE_WRITETHRU is not set)
      Signed-off-by: NDenis Kirjanov <kda@linux-powerpc.org>
      Reviewed-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      CC:  Michael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ad92c615
    • S
      ARM: S3C24XX: Add missing clkdev entries for s3c2440 UART · d817468c
      Sylwester Nawrocki 提交于
      This patch restores serial port operation which has been broken since
      commit 60e93575 ("serial: samsung: enable clock before clearing
      pending interrupts during init")
      
      That commit only uncovered the real issue which was missing clkdev
      entries for the "uart" clocks on S3C2440. It went unnoticed so far
      because return value of clk API calls were not being checked at all
      in the samsung serial port driver.
      
      This patch should be backported to at least 3.10 stable kernel, since
      the serial port has not been working on s3c2440 since 3.10-rc5.
      
      Cc: Chander Kashyap <chander.kashyap@linaro.org>
      Signed-off-by: NSylwester Nawrocki <sylvester.nawrocki@gmail.com>
      [on S3C2440 SoC based Mini2440 board]
      Tested-by: NSylwester Nawrocki <sylvester.nawrocki@gmail.com>
      Reviewed-by: NTomasz Figa <t.figa@samsung.com>
      Tested-by: NJuergen Beisert <jbe@pengutronix.de>
      Cc: <stable@vger.kernel.org>	[3.10]
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      d817468c
    • G
      powerpc/eeh: Introdce flag to protect sysfs · ab55d218
      Gavin Shan 提交于
      The patch introduces flag EEH_DEV_SYSFS to keep track that the sysfs
      entries for the corresponding EEH device (then PCI device) has been
      added or removed, in order to avoid race condition.
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ab55d218
    • G
      powerpc/eeh: Fix unbalanced enable for IRQ · 91150af3
      Gavin Shan 提交于
      The patch fixes following issue:
      
      Unbalanced enable for IRQ 23
      ------------[ cut here ]------------
      WARNING: at kernel/irq/manage.c:437
      :
      NIP [c00000000016de8c] .__enable_irq+0x11c/0x140
      LR [c00000000016de88] .__enable_irq+0x118/0x140
      Call Trace:
      [c000003ea1f23880] [c00000000016de88] .__enable_irq+0x118/0x140 (unreliable)
      [c000003ea1f23910] [c00000000016df08] .enable_irq+0x58/0xa0
      [c000003ea1f239a0] [c0000000000388b4] .eeh_enable_irq+0xc4/0xe0
      [c000003ea1f23a30] [c000000000038a28] .eeh_report_reset+0x78/0x130
      [c000003ea1f23ac0] [c000000000037508] .eeh_pe_dev_traverse+0x98/0x170
      [c000003ea1f23b60] [c0000000000391ac] .eeh_handle_normal_event+0x2fc/0x3d0
      [c000003ea1f23bf0] [c000000000039538] .eeh_handle_event+0x2b8/0x2c0
      [c000003ea1f23c90] [c000000000039600] .eeh_event_handler+0xc0/0x170
      [c000003ea1f23d30] [c0000000000da9a0] .kthread+0xf0/0x100
      [c000003ea1f23e30] [c00000000000a1dc] .ret_from_kernel_thread+0x5c/0x80
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      91150af3
    • G
      powerpc/eeh: Don't use pci_dev during BAR restore · 4b83bd45
      Gavin Shan 提交于
      While restoring BARs for one specific PCI device, the pci_dev
      instance should have been released. So it's not reliable to use
      the pci_dev instance on restoring BARs. However, we still need
      some information (e.g. PCIe capability position, header type) from
      the pci_dev instance. So we have to store those information to
      EEH device in advance.
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      4b83bd45
    • G
      powerpc/eeh: Use partial hotplug for EEH unaware drivers · f5c57710
      Gavin Shan 提交于
      When EEH error happens to one specific PE, some devices with drivers
      supporting EEH won't except hotplug on the device. However, there
      might have other deivces without driver, or with driver without EEH
      support. For the case, we need do partial hotplug in order to make
      sure that the PE becomes absolutely quite during reset. Otherise,
      the PE reset might fail and leads to failure of error recovery.
      
      The current code doesn't handle that 'mixed' case properly, it either
      uses the error callbacks to the drivers, or tries hotplug, but doesn't
      handle a PE (EEH domain) composed of a combination of the two.
      
      The patch intends to support so-called "partial" hotplug for EEH:
      Before we do reset, we stop and remove those PCI devices without
      EEH sensitive driver. The corresponding EEH devices are not detached
      from its PE, but with special flag. After the reset is done, those
      EEH devices with the special flag will be scanned one by one.
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f5c57710
    • G
      powerpc/pci: Partial tree hotplug support · ab444ec9
      Gavin Shan 提交于
      When EEH error happens to one specific PE, the device drivers
      of its attached EEH devices (PCI devices) are checked to see
      the further action: reset with complete hotplug, or reset without
      hotplug. However, that's not enough for those PCI devices whose
      drivers can't support EEH, or those PCI devices without driver.
      So we need do so-called "partial hotplug" on basis of PCI devices.
      In the situation, part of PCI devices of the specific PE are
      unplugged and plugged again after PE reset.
      
      The patch changes pcibios_add_pci_devices() so that it can support
      full hotplug and so-called "partial" hotplug based on device-tree
      or real hardware. It's notable that pci_of_scan.c has been changed
      for a bit in order to support the "partial" hotplug based on dev-tree.
      
      Most of the generic code already supports that, we just need to
      plumb it properly on our side.
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ab444ec9
    • G
      powerpc/eeh: Use safe list traversal when walking EEH devices · 9feed42e
      Gavin Shan 提交于
      Currently, we're trasversing the EEH devices list using list_for_each_entry().
      That's not safe enough because the EEH devices might be removed from
      its parent PE while doing iteration. The patch replaces that with
      list_for_each_entry_safe().
      Signed-off-by: NGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      9feed42e