1
0
Fork 0
alistair23-linux/arch/arm/mach-shmobile
Linus Torvalds 12f03ee606 libnvdimm for 4.3:
1/ Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
    mechanism for adding device-driver-discovered memory regions to the
    kernel's direct map.  This facility is used by the pmem driver to
    enable pfn_to_page() operations on the page frames returned by DAX
    ('direct_access' in 'struct block_device_operations'). For now, the
    'memmap' allocation for these "device" pages comes from "System
    RAM".  Support for allocating the memmap from device memory will
    arrive in a later kernel.
 
 2/ Introduce memremap() to replace usages of ioremap_cache() and
    ioremap_wt().  memremap() drops the __iomem annotation for these
    mappings to memory that do not have i/o side effects.  The
    replacement of ioremap_cache() with memremap() is limited to the
    pmem driver to ease merging the api change in v4.3.  Completion of
    the conversion is targeted for v4.4.
 
 3/ Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
    driver, update the VFS DAX implementation and PMEM api to provide
    persistence guarantees for kernel operations on a DAX mapping.
 
 4/ Convert the ACPI NFIT 'BLK' driver to map the block apertures as
    cacheable to improve performance.
 
 5/ Miscellaneous updates and fixes to libnvdimm including support
    for issuing "address range scrub" commands, clarifying the optimal
    'sector size' of pmem devices, a clarification of the usage of the
    ACPI '_STA' (status) property for DIMM devices, and other minor
    fixes.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJV6Nx7AAoJEB7SkWpmfYgCWyYQAI5ju6Gvw27RNFtPovHcZUf5
 JGnxXejI6/AqeTQ+IulgprxtEUCrXOHjCDA5dkjr1qvsoqK1qxug+vJHOZLgeW0R
 OwDtmdW4Qrgeqm+CPoxETkorJ8wDOc8mol81kTiMgeV3UqbYeeHIiTAmwe7VzZ0C
 nNdCRDm5g8dHCjTKcvK3rvozgyoNoWeBiHkPe76EbnxDICxCB5dak7XsVKNMIVFQ
 NuYlnw6IYN7+rMHgpgpRux38NtIW8VlYPWTmHExejc2mlioWMNBG/bmtwLyJ6M3e
 zliz4/cnonTMUaizZaVozyinTa65m7wcnpjK+vlyGV2deDZPJpDRvSOtB0lH30bR
 1gy+qrKzuGKpaN6thOISxFLLjmEeYwzYd7SvC9n118r32qShz+opN9XX0WmWSFlA
 sajE1ehm4M7s5pkMoa/dRnAyR8RUPu4RNINdQ/Z9jFfAOx+Q26rLdQXwf9+uqbEb
 bIeSQwOteK5vYYCstvpAcHSMlJAglzIX5UfZBvtEIJN7rlb0VhmGWfxAnTu+ktG1
 o9cqAt+J4146xHaFwj5duTsyKhWb8BL9+xqbKPNpXEp+PbLsrnE/+WkDLFD67jxz
 dgIoK60mGnVXp+16I2uMqYYDgAyO5zUdmM4OygOMnZNa1mxesjbDJC6Wat1Wsndn
 slsw6DkrWT60CRE42nbK
 =o57/
 -----END PGP SIGNATURE-----

Merge tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm

Pull libnvdimm updates from Dan Williams:
 "This update has successfully completed a 0day-kbuild run and has
  appeared in a linux-next release.  The changes outside of the typical
  drivers/nvdimm/ and drivers/acpi/nfit.[ch] paths are related to the
  removal of IORESOURCE_CACHEABLE, the introduction of memremap(), and
  the introduction of ZONE_DEVICE + devm_memremap_pages().

  Summary:

   - Introduce ZONE_DEVICE and devm_memremap_pages() as a generic
     mechanism for adding device-driver-discovered memory regions to the
     kernel's direct map.

     This facility is used by the pmem driver to enable pfn_to_page()
     operations on the page frames returned by DAX ('direct_access' in
     'struct block_device_operations').

     For now, the 'memmap' allocation for these "device" pages comes
     from "System RAM".  Support for allocating the memmap from device
     memory will arrive in a later kernel.

   - Introduce memremap() to replace usages of ioremap_cache() and
     ioremap_wt().  memremap() drops the __iomem annotation for these
     mappings to memory that do not have i/o side effects.  The
     replacement of ioremap_cache() with memremap() is limited to the
     pmem driver to ease merging the api change in v4.3.

     Completion of the conversion is targeted for v4.4.

   - Similar to the usage of memcpy_to_pmem() + wmb_pmem() in the pmem
     driver, update the VFS DAX implementation and PMEM api to provide
     persistence guarantees for kernel operations on a DAX mapping.

   - Convert the ACPI NFIT 'BLK' driver to map the block apertures as
     cacheable to improve performance.

   - Miscellaneous updates and fixes to libnvdimm including support for
     issuing "address range scrub" commands, clarifying the optimal
     'sector size' of pmem devices, a clarification of the usage of the
     ACPI '_STA' (status) property for DIMM devices, and other minor
     fixes"

* tag 'libnvdimm-for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (34 commits)
  libnvdimm, pmem: direct map legacy pmem by default
  libnvdimm, pmem: 'struct page' for pmem
  libnvdimm, pfn: 'struct page' provider infrastructure
  x86, pmem: clarify that ARCH_HAS_PMEM_API implies PMEM mapped WB
  add devm_memremap_pages
  mm: ZONE_DEVICE for "device memory"
  mm: move __phys_to_pfn and __pfn_to_phys to asm/generic/memory_model.h
  dax: drop size parameter to ->direct_access()
  nd_blk: change aperture mapping from WC to WB
  nvdimm: change to use generic kvfree()
  pmem, dax: have direct_access use __pmem annotation
  dax: update I/O path to do proper PMEM flushing
  pmem: add copy_from_iter_pmem() and clear_pmem()
  pmem, x86: clean up conditional pmem includes
  pmem: remove layer when calling arch_has_wmb_pmem()
  pmem, x86: move x86 PMEM API to new pmem.h header
  libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option
  pmem: switch to devm_ allocations
  devres: add devm_memremap
  libnvdimm, btt: write and validate parent_uuid
  ...
2015-09-08 14:35:59 -07:00
..
include/mach ARM: shmobile: Remove obsolete zboot support 2015-07-06 09:29:45 +09:00
Kconfig ARM: SoC driver updates for v4.3 2015-09-01 13:00:04 -07:00
Makefile ARM: SoC platform updates for v4.3 2015-09-01 12:18:40 -07:00
Makefile.boot Renesas ARM Based SoC Marzen Board Removal for v4.3 2015-08-06 10:09:08 +02:00
board-bockw-reference.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
board-bockw.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
clock-r8a7778.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
clock.c ARM: shmobile: Remove mach/clkdev.h 2015-02-24 07:12:15 +09:00
clock.h ARM: shmobile: Remove shmobile_clk_workaround() implementation 2014-10-30 10:14:57 +09:00
common.h ARM: 8392/3: smp: Only expose /sys/.../cpuX/online if hotpluggable 2015-07-31 18:58:30 +01:00
console.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
cpufreq.c cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' 2014-10-03 15:37:54 +02:00
headsmp-scu.S ARM: v7 setup function should invalidate L1 cache 2015-06-01 11:30:26 +01:00
headsmp.S ARM: v7 setup function should invalidate L1 cache 2015-06-01 11:30:26 +01:00
intc.h ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h 2014-08-22 12:23:32 +09:00
irqs.h ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h 2014-08-22 12:23:32 +09:00
platsmp-apmu.c ARM: shmobile: apmu: silence build warnings 2015-07-14 16:35:24 +09:00
platsmp-apmu.h ARM: shmobile: Separate APMU resource data into CPU dependant part 2014-11-04 09:31:23 +09:00
platsmp-scu.c ARM: shmobile: Move common.h 2014-06-17 17:09:39 +09:00
platsmp.c ARM: 8392/3: smp: Only expose /sys/.../cpuX/online if hotpluggable 2015-07-31 18:58:30 +01:00
pm-r8a7779.c Renesas ARM Based SoC PM Domain Updates for v4.3 2015-07-14 11:50:26 +02:00
pm-rcar-gen2.c ARM: shmobile: Consolidate the pm code for R-Car Gen2 2015-03-17 08:05:13 +09:00
pm-rcar.c libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
pm-rcar.h ARM: shmobile: R-Car: Make struct rcar_sysc_ch * parameters const 2015-07-06 09:35:19 +09:00
pm-rmobile.c ARM: shmobile: R-Mobile: Remove legacy PM Domain code 2015-07-06 09:29:45 +09:00
pm-rmobile.h ARM: shmobile: R-Mobile: Remove legacy PM Domain code 2015-07-06 09:29:45 +09:00
r8a7778.h Renesas ARM Based SoC Cleanup for v3.19 2014-11-04 14:43:02 -08:00
r8a7779.h ARM: shmobile: r8a7779: Remove legacy SoC code 2015-07-28 09:27:16 +09:00
r8a7790.h ARM: shmobile: Consolidate the pm code for R-Car Gen2 2015-03-17 08:05:13 +09:00
r8a7791.h ARM: shmobile: Consolidate the pm code for R-Car Gen2 2015-03-17 08:05:13 +09:00
rcar-gen2.h ARM: shmobile: Consolidate the pm code for R-Car Gen2 2015-03-17 08:05:13 +09:00
regulator-quirk-rcar-gen2.c ARM: shmobile: gose: enable R-Car Gen2 regulator quirk 2015-07-06 09:37:24 +09:00
setup-emev2.c ARM: make arrays containing machine compatible strings const 2015-02-19 09:44:17 +01:00
setup-r7s72100.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a73a4.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a7740.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a7778.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a7779.c Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2015-09-01 14:33:35 -07:00
setup-r8a7790.c ARM: shmobile: r8a7790: Remove legacy code 2014-12-21 17:03:50 +09:00
setup-r8a7791.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
setup-r8a7793.c ARM: shmobile: Basic r8a7793 SoC support 2015-07-06 09:37:23 +09:00
setup-r8a7794.c ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs 2014-09-16 15:01:58 +09:00
setup-rcar-gen2.c ARM: shmobile: R-Car Gen2: CONFIG_ARCH_SHMOBILE_MULTI is always set 2015-07-06 09:29:46 +09:00
setup-sh73a0.c ARM: appropriate __init annotation for const data 2015-07-28 13:55:27 +02:00
sh-gpio.h ARM: shmobile: mackerel: Use pinconf API to configure pin pull-down 2013-12-10 17:24:49 +09:00
sh73a0.h ARM: shmobile: Remove legacy SoC code for SH-Mobile AG5 2015-07-06 09:24:01 +09:00
smp-emev2.c ARM: shmobile: Remove FSF address from copyright headers 2014-10-27 09:48:07 +09:00
smp-r8a7779.c Renesas ARM Based SoC Marzen Board Removal for v4.3 2015-08-06 10:09:08 +02:00
smp-r8a7790.c Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-09-03 16:27:01 -07:00
smp-r8a7791.c ARM: 8392/3: smp: Only expose /sys/.../cpuX/online if hotpluggable 2015-07-31 18:58:30 +01:00
smp-sh73a0.c Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm 2015-09-03 16:27:01 -07:00
suspend.c arm: Use generic idle loop 2013-04-08 17:39:24 +02:00
timer.c ARM: shmobile: timer: r8a73a4 and r8a7790 are multi-platform only 2015-07-06 09:29:46 +09:00