1. 22 4月, 2016 1 次提交
  2. 08 4月, 2016 1 次提交
  3. 23 3月, 2016 2 次提交
    • B
      drivers: dma-coherent: use memset_io for DMA_MEMORY_IO mappings · 20d7a35b
      Brian Starkey 提交于
      Use memset_io() for DMA_MEMORY_IO mappings which are mapped as I/O
      memory, and regular memset() for DMA_MEMORY_MAP mappings.
      
      This fixes the below alignment fault on arm64 for DMA_MEMORY_IO
      mappings, where memset() uses the DC ZVA instruction which is invalid on
      device memory.
      
         Unhandled fault: alignment fault (0x96000061) at 0xffffff8000380000
         Internal error: : 96000061 [#1] PREEMPT SMP
         Modules linked in: hdlcd(+) clk_scpi
         CPU: 4 PID: 1355 Comm: systemd-udevd Not tainted 4.4.0-rc1+ #5
         Hardware name: ARM Juno development board (r0) (DT)
         task: ffffffc9763eee00 ti: ffffffc9758c4000 task.ti: ffffffc9758c4000
         PC is at __efistub_memset+0x1ac/0x200
         LR is at dma_alloc_from_coherent+0xb0/0x120
         pc : [<ffffffc00030ff2c>] lr : [<ffffffc00042a918>] pstate: 400001c5
         sp : ffffffc9758c79a0
         x29: ffffffc9758c79a0 x28: ffffffc000635cd0
         x27: 0000000000000124 x26: ffffffc000119ef4
         x25: 0000000000010000 x24: 0000000000000140
         x23: ffffffc07e9ac3a8 x22: ffffffc9758c7a58
         x21: ffffffc9758c7a68 x20: 0000000000000004
         x19: ffffffc07e9ac380 x18: 0000000000000001
         x17: 0000007fae1bbba8 x16: ffffffc0001b2d1c
         x15: ffffffffffffffff x14: 0ffffffffffffffe
         x13: 0000000000000010 x12: ffffff800837ffff
         x11: ffffff800837ffff x10: 0000000040000000
         x9 : 0000000000000000 x8 : ffffff8000380000
         x7 : 0000000000000000 x6 : 000000000000003f
         x5 : 0000000000000040 x4 : 0000000000000000
         x3 : 0000000000000004 x2 : 000000000000ffc0
         x1 : 0000000000000000 x0 : ffffff8000380000
      Signed-off-by: NBrian Starkey <brian.starkey@arm.com>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      20d7a35b
    • B
      drivers: dma-coherent: use MEMREMAP_WC for DMA_MEMORY_MAP · 6b03ae0d
      Brian Starkey 提交于
      When the DMA_MEMORY_MAP flag is used, memory which can be accessed
      directly should be returned, so use memremap(..., MEMREMAP_WC) to
      provide a writecombine mapping.
      Signed-off-by: NBrian Starkey <brian.starkey@arm.com>
      Reviewed-by: NCatalin Marinas <catalin.marinas@arm.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6b03ae0d
  4. 18 3月, 2016 1 次提交
  5. 17 3月, 2016 1 次提交
    • J
      PM / clk: Add support for obtaining clocks from device-tree · 02113ba9
      Jon Hunter 提交于
      The PM clocks framework requires clients to pass either a con-id or a
      valid clk pointer in order to add a clock to a device. Add a new
      function of_pm_clk_add_clks() to allows device clocks to be retrieved
      from device-tree and populated for a given device. Note that it is
      not necessary to make the compilation of this new function dependent
      upon CONFIG_OF because there are stubs functions for the device-tree
      APIs used.
      
      In order to handle errors encountered when adding clocks from
      device-tree, add a function pm_clk_remove_clk() to remove any clocks
      (using a pointer to the clk structure) that have been added
      successfully before the error occurred.
      Signed-off-by: NJon Hunter <jonathanh@nvidia.com>
      Acked-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      02113ba9
  6. 16 3月, 2016 1 次提交
    • V
      memory-hotplug: add automatic onlining policy for the newly added memory · 31bc3858
      Vitaly Kuznetsov 提交于
      Currently, all newly added memory blocks remain in 'offline' state
      unless someone onlines them, some linux distributions carry special udev
      rules like:
      
        SUBSYSTEM=="memory", ACTION=="add", ATTR{state}=="offline", ATTR{state}="online"
      
      to make this happen automatically.  This is not a great solution for
      virtual machines where memory hotplug is being used to address high
      memory pressure situations as such onlining is slow and a userspace
      process doing this (udev) has a chance of being killed by the OOM killer
      as it will probably require to allocate some memory.
      
      Introduce default policy for the newly added memory blocks in
      /sys/devices/system/memory/auto_online_blocks file with two possible
      values: "offline" which preserves the current behavior and "online"
      which causes all newly added memory blocks to go online as soon as
      they're added.  The default is "offline".
      Signed-off-by: NVitaly Kuznetsov <vkuznets@redhat.com>
      Reviewed-by: NDaniel Kiper <daniel.kiper@oracle.com>
      Cc: Jonathan Corbet <corbet@lwn.net>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Daniel Kiper <daniel.kiper@oracle.com>
      Cc: Dan Williams <dan.j.williams@intel.com>
      Cc: Tang Chen <tangchen@cn.fujitsu.com>
      Cc: David Vrabel <david.vrabel@citrix.com>
      Acked-by: NDavid Rientjes <rientjes@google.com>
      Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Xishi Qiu <qiuxishi@huawei.com>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Cc: "K. Y. Srinivasan" <kys@microsoft.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Kay Sievers <kay@vrfy.org>
      Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      31bc3858
  7. 11 3月, 2016 1 次提交
  8. 09 3月, 2016 6 次提交
  9. 05 3月, 2016 2 次提交
    • L
      regmap: irq: add devm apis for regmap_{add,del}_irq_chip · 045b9848
      Laxman Dewangan 提交于
      Add device managed APIs for regmap_add_irq_chip() and
      regmap_del_irq_chip() so that it can be managed by
      device framework for freeing it.
      
      This helps on following:
      1. Maintaining the sequence of resource allocation and deallocation
      	regmap_add_irq_chip(&d);
      	devm_requested_threaded_irq(virq)
      
      	On free path:
      		regmap_del_irq_chip(d);
      		and then removing the irq registration.
      
      	On this case, regmap irq is deleted before the irq is free.
      	This force to use normal irq registration.
      
      	By using devm apis, the sequence can be maintain properly:
      		devm_regmap_add_irq_chip(&d);
      		devm_requested_threaded_irq(virq);
      
      	and resource deallocation will be done in reverse order
      	by device framework.
      
      2. No need to delete the regmap_irq_chip in error path or remove
         callback and hence there is less code on this path.
      Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      045b9848
    • K
      regmap: replace regmap_write_bits() · b821957a
      Kuninori Morimoto 提交于
      commit 23b92e4cf5fd ("regmap: remove regmap_write_bits()")
      removed regmap_write_bits(), but MFD driver was using it.
      So, commit e30fccd6771d ("regmap: Keep regmap_write_bits()")
      turns out it, but it is using original style.
      This patch uses regmap_update_bits_base() for regmap_write_bits()
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      b821957a
  10. 29 2月, 2016 2 次提交
  11. 26 2月, 2016 1 次提交
  12. 21 2月, 2016 3 次提交
  13. 20 2月, 2016 14 次提交
  14. 19 2月, 2016 3 次提交
  15. 17 2月, 2016 1 次提交