1. 16 11月, 2016 1 次提交
  2. 30 9月, 2016 1 次提交
    • A
      ipmi: add an Aspeed BT IPMI BMC driver · 54f9c4d0
      Alistair Popple 提交于
      This patch adds a simple device driver to expose the iBT interface on
      Aspeed SOCs (AST2400 and AST2500) as a character device. Such SOCs are
      commonly used as BMCs (BaseBoard Management Controllers) and this
      driver implements the BMC side of the BT interface.
      
      The BT (Block Transfer) interface is used to perform in-band IPMI
      communication between a host and its BMC. Entire messages are buffered
      before sending a notification to the other end, host or BMC, that
      there is data to be read. Usually, the host emits requests and the BMC
      responses but the specification provides a mean for the BMC to send
      SMS Attention (BMC-to-Host attention or System Management Software
      attention) messages.
      
      For this purpose, the driver introduces a specific ioctl on the
      device: 'BT_BMC_IOCTL_SMS_ATN' that can be used by the system running
      on the BMC to signal the host of such an event.
      
      The device name defaults to '/dev/ipmi-bt-host'
      Signed-off-by: NAlistair Popple <alistair@popple.id.au>
      Signed-off-by: NJeremy Kerr <jk@ozlabs.org>
      Signed-off-by: NJoel Stanley <joel@jms.id.au>
      [clg: - checkpatch fixes
            - added a devicetree binding documentation
            - replace 'bt_host' by 'bt_bmc' to reflect that the driver is
              the BMC side of the IPMI BT interface
            - renamed the device to 'ipmi-bt-host'
            - introduced a temporary buffer to copy_{to,from}_user
            - used platform_get_irq()
            - moved the driver under drivers/char/ipmi/ but kept it as a misc
              device
            - changed the compatible cell to "aspeed,ast2400-bt-bmc"
      ]
      Signed-off-by: NCédric Le Goater <clg@kaod.org>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      [clg: - checkpatch --strict fixes
            - removed the use of devm_iounmap, devm_kfree in cleanup paths
            - introduced an atomic-t to limit opens to 1
            - introduced a mutex to protect write/read operations]
      Acked-by: NRob Herring <robh@kernel.org>
      Signed-off-by: NCédric Le Goater <clg@kaod.org>
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      54f9c4d0
  3. 23 9月, 2016 1 次提交
  4. 02 8月, 2016 1 次提交
  5. 27 6月, 2016 1 次提交
  6. 15 6月, 2016 1 次提交
  7. 14 6月, 2016 1 次提交
  8. 30 5月, 2016 1 次提交
  9. 21 5月, 2016 1 次提交
    • D
      /dev/dax, pmem: direct access to persistent memory · ab68f262
      Dan Williams 提交于
      Device DAX is the device-centric analogue of Filesystem DAX
      (CONFIG_FS_DAX).  It allows memory ranges to be allocated and mapped
      without need of an intervening file system.  Device DAX is strict,
      precise and predictable.  Specifically this interface:
      
      1/ Guarantees fault granularity with respect to a given page size (pte,
      pmd, or pud) set at configuration time.
      
      2/ Enforces deterministic behavior by being strict about what fault
      scenarios are supported.
      
      For example, by forcing MADV_DONTFORK semantics and omitting MAP_PRIVATE
      support device-dax guarantees that a mapping always behaves/performs the
      same once established.  It is the "what you see is what you get" access
      mechanism to differentiated memory vs filesystem DAX which has
      filesystem specific implementation semantics.
      
      Persistent memory is the first target, but the mechanism is also
      targeted for exclusive allocations of performance differentiated memory
      ranges.
      
      This commit is limited to the base device driver infrastructure to
      associate a dax device with pmem range.
      
      Cc: Jeff Moyer <jmoyer@redhat.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Dave Hansen <dave.hansen@linux.intel.com>
      Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
      Reviewed-by: NJohannes Thumshirn <jthumshirn@suse.de>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      ab68f262
  10. 08 12月, 2015 1 次提交
    • K
      power: Fix unmet dependency on POWER_SUPPLY by POWER_RESET by uncoupling them · f96576bd
      Krzysztof Kozlowski 提交于
      Currently the reset/power off handlers (POWER_RESET) and Adaptive Voltage
      Scaling class (POWER_AVS) are not built when POWER_SUPPLY is disabled.
      The POWER_RESET is also not visible in drivers main section of config.
      
      However they do not really depend on power supply so they can be built
      always. The objects for power supply drivers already depend on
      particular Kconfig symbols so there is no need for any changes in
      drivers/power/Makefile.
      
      This allows selecting POWER_RESET from main drivers config section and
      fixes following build warning (encountered on ARM exynos defconfig when
      POWER_SUPPLY is disabled manually):
      
      warning: (ARCH_HISI && ARCH_INTEGRATOR && ARCH_EXYNOS && ARCH_VEXPRESS && REALVIEW_DT) selects POWER_RESET which has unmet direct dependencies (POWER_SUPPLY)
      warning: (ARCH_EXYNOS) selects POWER_RESET_SYSCON which has unmet direct dependencies (POWER_SUPPLY && POWER_RESET && OF)
      warning: (ARCH_EXYNOS) selects POWER_RESET_SYSCON_POWEROFF which has unmet direct dependencies (POWER_SUPPLY && POWER_RESET && OF)
      Reported-by: NPavel Fedin <p.fedin@samsung.com>
      Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com>
      Signed-off-by: NSebastian Reichel <sre@kernel.org>
      f96576bd
  11. 17 11月, 2015 1 次提交
    • M
      null_blk: register as a LightNVM device · b2b7e001
      Matias Bjørling 提交于
      Add support for registering as a LightNVM device. This allows us to
      evaluate the performance of the LightNVM subsystem.
      
      In /drivers/Makefile, LightNVM is moved above block device drivers
      to make sure that the LightNVM media managers have been initialized
      before drivers under /drivers/block are initialized.
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Fix by Jens Axboe to remove unneeded slab cache and the following
      memory leak.
      Signed-off-by: NJens Axboe <axboe@fb.com>
      b2b7e001
  12. 29 10月, 2015 1 次提交
    • M
      lightnvm: Support for Open-Channel SSDs · cd9e9808
      Matias Bjørling 提交于
      Open-channel SSDs are devices that share responsibilities with the host
      in order to implement and maintain features that typical SSDs keep
      strictly in firmware. These include (i) the Flash Translation Layer
      (FTL), (ii) bad block management, and (iii) hardware units such as the
      flash controller, the interface controller, and large amounts of flash
      chips. In this way, Open-channels SSDs exposes direct access to their
      physical flash storage, while keeping a subset of the internal features
      of SSDs.
      
      LightNVM is a specification that gives support to Open-channel SSDs
      LightNVM allows the host to manage data placement, garbage collection,
      and parallelism. Device specific responsibilities such as bad block
      management, FTL extensions to support atomic IOs, or metadata
      persistence are still handled by the device.
      
      The implementation of LightNVM consists of two parts: core and
      (multiple) targets. The core implements functionality shared across
      targets. This is initialization, teardown and statistics. The targets
      implement the interface that exposes physical flash to user-space
      applications. Examples of such targets include key-value store,
      object-store, as well as traditional block devices, which can be
      application-specific.
      
      Contributions in this patch from:
      
        Javier Gonzalez <jg@lightnvm.io>
        Dongsheng Yang <yangds.fnst@cn.fujitsu.com>
        Jesper Madsen <jmad@itu.dk>
      Signed-off-by: NMatias Bjørling <m@bjorling.me>
      Signed-off-by: NJens Axboe <axboe@fb.com>
      cd9e9808
  13. 10 10月, 2015 1 次提交
  14. 08 10月, 2015 1 次提交
    • A
      add FPGA manager core · 6a8c3be7
      Alan Tull 提交于
      API to support programming FPGA's.
      
      The following functions are exported as GPL:
      * fpga_mgr_buf_load
         Load fpga from image in buffer
      
      * fpga_mgr_firmware_load
         Request firmware and load it to the FPGA.
      
      * fpga_mgr_register
      * fpga_mgr_unregister
         FPGA device drivers can be added by calling
         fpga_mgr_register() to register a set of
         fpga_manager_ops to do device specific stuff.
      
      * of_fpga_mgr_get
      * fpga_mgr_put
         Get/put a reference to a fpga manager.
      
      The following sysfs files are created:
      * /sys/class/fpga_manager/<fpga>/name
        Name of low level driver.
      
      * /sys/class/fpga_manager/<fpga>/state
        State of fpga manager
      Signed-off-by: NAlan Tull <atull@opensource.altera.com>
      Acked-by: NMichal Simek <michal.simek@xilinx.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      6a8c3be7
  15. 05 10月, 2015 2 次提交
    • A
      intel_th: Add driver infrastructure for Intel(R) Trace Hub devices · 39f40346
      Alexander Shishkin 提交于
      Intel(R) Trace Hub (TH) is a set of hardware blocks (subdevices) that
      produce, switch and output trace data from multiple hardware and
      software sources over several types of trace output ports encoded
      in System Trace Protocol (MIPI STPv2) and is intended to perform
      full system debugging.
      
      For these subdevices, we create a bus, where they can be discovered
      and configured by userspace software.
      
      This patch creates this bus infrastructure, three types of devices
      (source, output, switch), resource allocation, some callback mechanisms
      to facilitate communication between the subdevices' drivers and some
      common sysfs attributes.
      Signed-off-by: NAlexander Shishkin <alexander.shishkin@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      39f40346
    • A
      stm class: Introduce an abstraction for System Trace Module devices · 7bd1d409
      Alexander Shishkin 提交于
      A System Trace Module (STM) is a device exporting data in System Trace
      Protocol (STP) format as defined by MIPI STP standards. Examples of such
      devices are Intel(R) Trace Hub and Coresight STM.
      
      This abstraction provides a unified interface for software trace sources
      to send their data over an STM device to a debug host. In order to do
      that, such a trace source needs to be assigned a pair of master/channel
      identifiers that all the data from this source will be tagged with. The
      STP decoder on the debug host side will use these master/channel tags to
      distinguish different trace streams from one another inside one STP
      stream.
      
      This abstraction provides a configfs-based policy management mechanism
      for dynamic allocation of these master/channel pairs based on trace
      source-supplied string identifier. It has the flexibility of being
      defined at runtime and at the same time (provided that the policy
      definition is aligned with the decoding end) consistency.
      
      For userspace trace sources, this abstraction provides write()-based and
      mmap()-based (if the underlying stm device allows this) output mechanism.
      
      For kernel-side trace sources, we provide "stm_source" device class that
      can be connected to an stm device at run time.
      
      Cc: linux-api@vger.kernel.org
      Reviewed-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Signed-off-by: NAlexander Shishkin <alexander.shishkin@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      7bd1d409
  16. 06 8月, 2015 1 次提交
  17. 31 7月, 2015 1 次提交
    • M
      arm: perf: factor arm_pmu core out to drivers · fa8ad788
      Mark Rutland 提交于
      To enable sharing of the arm_pmu code with arm64, this patch factors it
      out to drivers/perf/. A new drivers/perf directory is added for
      performance monitor drivers to live under.
      
      MAINTAINERS is updated accordingly. Files added previously without a
      corresponsing MAINTAINERS update (perf_regs.c, perf_callchain.c, and
      perf_event.h) are also added.
      
      Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Will Deacon <will.deacon@arm.com>
      Signed-off-by: NMark Rutland <mark.rutland@arm.com>
      [will: augmented Kconfig help slightly]
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      fa8ad788
  18. 16 7月, 2015 1 次提交
  19. 25 6月, 2015 1 次提交
  20. 25 5月, 2015 1 次提交
  21. 03 4月, 2015 1 次提交
  22. 22 12月, 2014 1 次提交
    • O
      drivers: Move iommu/ before gpu/ in Makefile · 1bacc894
      Oded Gabbay 提交于
      AMD GPU devices are dependent on AMD IOMMU controller functionality to allow
      the GPU to access a process's virtual memory address space, without the need
      for pinning the memory.
      
      This patch changes the order in the drivers makefile, so iommu/ subsystem is
      linked before gpu/ subsystem. That way, if the gpu and iommu drivers are
      compiled inside the kernel image (not as modules), the correct order of device
      loading is still maintained (iommu module is loaded before gpu module).
      Signed-off-by: NOded Gabbay <oded.gabbay@amd.com>
      Reviewed-by: NChristian König <christian.koenig@amd.com>
      1bacc894
  23. 08 11月, 2014 1 次提交
    • P
      coresight: add CoreSight core layer framework · a06ae860
      Pratik Patel 提交于
      CoreSight components are compliant with the ARM CoreSight
      architecture specification and can be connected in various
      topologies to suit a particular SoC tracing needs. These trace
      components can generally be classified as sources, links and
      sinks. Trace data produced by one or more sources flows through
      the intermediate links connecting the source to the currently
      selected sink.
      
      The CoreSight framework provides an interface for the CoreSight trace
      drivers to register themselves with. It's intended to build up a
      topological view of the CoreSight components and configure the
      correct serie of components on user input via sysfs.
      
      For eg., when enabling a source, the framework builds up a path
      consisting of all the components connecting the source to the
      currently selected sink(s) and enables all of them.
      
      The framework also supports switching between available sinks
      and provides status information to user space applications
      through the debugfs interface.
      Signed-off-by: NPratik Patel <pratikp@codeaurora.org>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      a06ae860
  24. 20 10月, 2014 1 次提交
  25. 09 7月, 2014 1 次提交
  26. 24 6月, 2014 1 次提交
  27. 20 6月, 2014 1 次提交
    • A
      thunderbolt: Add initial cactus ridge NHI support · 16603153
      Andreas Noever 提交于
      Thunderbolt hotplug is supposed to be handled by the firmware. But Apple
      decided to implement thunderbolt at the operating system level. The
      firmare only initializes thunderbolt devices that are present at boot
      time. This driver enables hotplug of thunderbolt of non-chained
      thunderbolt devices on Apple systems with a cactus ridge controller.
      
      This first patch adds the Kconfig file as well the parts of the driver
      which talk directly to the hardware (that is pci device setup, interrupt
      handling and RX/TX ring management).
      Signed-off-by: NAndreas Noever <andreas.noever@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      16603153
  28. 28 5月, 2014 1 次提交
  29. 24 5月, 2014 1 次提交
  30. 12 5月, 2014 1 次提交
    • G
      drivers: sh: compile drivers/sh/pm_runtime.c if ARCH_SHMOBILE_MULTI · 3c90c55d
      Geert Uytterhoeven 提交于
      If the kernel is built to support multi-ARM configuration with shmobile
      support built in, then drivers/sh is not built. This contains the PM
      runtime code in drivers/sh/pm_runtime.c, which implicitly enables the
      module clocks for all devices, and thus is quite essential.
      Without this, the state of clocks depends on implicit reset state, or on
      the bootloader.
      
      If ARCH_SHMOBILE_MULTI then build the drivers/sh directory, but ensure that
      bits that may conflict (drivers/sh/clk if the common clock framework is
      enabled) or are not used (drivers/sh/intc), are not built.
      Also, only enable the PM runtime code when actually running on a shmobile
      SoCs that needs it.
      
      ARCH_SHMOBILE_MULTI was added a while ago by commit
      efacfce5 ("ARM: shmobile: Introduce
      ARCH_SHMOBILE_MULTI"), but drivers/sh was compiled for both
      ARCH_SHMOBILE_LEGACY and ARCH_SHMOBILE_MULTI until commit
      bf98c1ea ("ARM: Rename ARCH_SHMOBILE to
      ARCH_SHMOBILE_LEGACY").
      
      Inspired by a patch from Ben Dooks <ben.dooks@codethink.co.uk>.
      Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be>
      Signed-off-by: NSimon Horman <horms+renesas@verge.net.au>
      3c90c55d
  31. 17 4月, 2014 1 次提交
  32. 01 3月, 2014 1 次提交
  33. 16 2月, 2014 1 次提交
  34. 10 12月, 2013 1 次提交
  35. 17 10月, 2013 1 次提交
  36. 28 9月, 2013 1 次提交
  37. 18 6月, 2013 1 次提交
  38. 12 6月, 2013 1 次提交
  39. 12 4月, 2013 1 次提交