27 Jun, 2017

1 commit

  • As staging for supporting various host management functions, add a host
    ioctl infrastructure to filter ioctl commands and perform operations that
    are common for all host ioctls. Also update the cxlflash documentation to
    create a new section for documenting host ioctls.

    Signed-off-by: Matthew R. Ochs
    Signed-off-by: Uma Krishnan
    Signed-off-by: Martin K. Petersen

    Matthew R. Ochs
     

11 May, 2017

1 commit

  • Pull TEE driver infrastructure and OP-TEE drivers from Arnd Bergmann:
    "This introduces a generic TEE framework in the kernel, to handle
    trusted environemtns (security coprocessor or software implementations
    such as OP-TEE/TrustZone). I'm sending it separately from the other
    arm-soc driver changes to give it a little more visibility, once the
    subsystem is merged, we will likely keep this in the arm₋soc drivers
    branch or have the maintainers submit pull requests directly,
    depending on the patch volume.

    I have reviewed earlier versions in the past, and have reviewed the
    latest version in person during Linaro Connect BUD17.

    Here is my overall assessment of the subsystem:

    - There is clearly demand for this, both for the generic
    infrastructure and the specific OP-TEE implementation.

    - The code has gone through a large number of reviews, and the review
    comments have all been addressed, but the reviews were not coming
    up with serious issues any more and nobody volunteered to vouch for
    the quality.

    - The user space ioctl interface is sufficient to work with the
    OP-TEE driver, and it should in principle work with other TEE
    implementations that follow the GlobalPlatform[1] standards, but it
    might need to be extended in minor ways depending on specific
    requirements of future TEE implementations

    - The main downside of the API to me is how the user space is tied to
    the TEE implementation in hardware or firmware, but uses a generic
    way to communicate with it. This seems to be an inherent problem
    with what it is trying to do, and I could not come up with any
    better solution than what is implemented here.

    For a detailed history of the patch series, see

    https://lkml.org/lkml/2017/3/10/1277"

    * tag 'armsoc-tee' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    arm64: dt: hikey: Add optee node
    Documentation: tee subsystem and op-tee driver
    tee: add OP-TEE driver
    tee: generic TEE subsystem
    dt/bindings: add bindings for optee

    Linus Torvalds
     

09 May, 2017

1 commit

  • Pull PCI updates from Bjorn Helgaas:

    - add framework for supporting PCIe devices in Endpoint mode (Kishon
    Vijay Abraham I)

    - use non-postable PCI config space mappings when possible (Lorenzo
    Pieralisi)

    - clean up and unify mmap of PCI BARs (David Woodhouse)

    - export and unify Function Level Reset support (Christoph Hellwig)

    - avoid FLR for Intel 82579 NICs (Sasha Neftin)

    - add pci_request_irq() and pci_free_irq() helpers (Christoph Hellwig)

    - short-circuit config access failures for disconnected devices (Keith
    Busch)

    - remove D3 sleep delay when possible (Adrian Hunter)

    - freeze PME scan before suspending devices (Lukas Wunner)

    - stop disabling MSI/MSI-X in pci_device_shutdown() (Prarit Bhargava)

    - disable boot interrupt quirk for ASUS M2N-LR (Stefan Assmann)

    - add arch-specific alignment control to improve device passthrough by
    avoiding multiple BARs in a page (Yongji Xie)

    - add sysfs sriov_drivers_autoprobe to control VF driver binding
    (Bodong Wang)

    - allow slots below PCI-to-PCIe "reverse bridges" (Bjorn Helgaas)

    - fix crashes when unbinding host controllers that don't support
    removal (Brian Norris)

    - add driver for MicroSemi Switchtec management interface (Logan
    Gunthorpe)

    - add driver for Faraday Technology FTPCI100 host bridge (Linus
    Walleij)

    - add i.MX7D support (Andrey Smirnov)

    - use generic MSI support for Aardvark (Thomas Petazzoni)

    - make Rockchip driver modular (Brian Norris)

    - advertise 128-byte Read Completion Boundary support for Rockchip
    (Shawn Lin)

    - advertise PCI_EXP_LNKSTA_SLC for Rockchip root port (Shawn Lin)

    - convert atomic_t to refcount_t in HV driver (Elena Reshetova)

    - add CPU IRQ affinity in HV driver (K. Y. Srinivasan)

    - fix PCI bus removal in HV driver (Long Li)

    - add support for ThunderX2 DMA alias topology (Jayachandran C)

    - add ThunderX pass2.x 2nd node MCFG quirk (Tomasz Nowicki)

    - add ITE 8893 bridge DMA alias quirk (Jarod Wilson)

    - restrict Cavium ACS quirk only to CN81xx/CN83xx/CN88xx devices
    (Manish Jaggi)

    * tag 'pci-v4.12-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (146 commits)
    PCI: Don't allow unbinding host controllers that aren't prepared
    ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP
    MAINTAINERS: Add PCI Endpoint maintainer
    Documentation: PCI: Add userguide for PCI endpoint test function
    tools: PCI: Add sample test script to invoke pcitest
    tools: PCI: Add a userspace tool to test PCI endpoint
    Documentation: misc-devices: Add Documentation for pci-endpoint-test driver
    misc: Add host side PCI driver for PCI test function device
    PCI: Add device IDs for DRA74x and DRA72x
    dt-bindings: PCI: dra7xx: Add DT bindings to enable unaligned access
    PCI: dwc: dra7xx: Workaround for errata id i870
    dt-bindings: PCI: dra7xx: Add DT bindings for PCI dra7xx EP mode
    PCI: dwc: dra7xx: Add EP mode support
    PCI: dwc: dra7xx: Facilitate wrapper and MSI interrupts to be enabled independently
    dt-bindings: PCI: Add DT bindings for PCI designware EP mode
    PCI: dwc: designware: Add EP mode support
    Documentation: PCI: Add binding documentation for pci-test endpoint function
    ixgbe: Use pcie_flr() instead of duplicating it
    IB/hfi1: Use pcie_flr() instead of duplicating it
    PCI: imx6: Fix spelling mistake: "contol" -> "control"
    ...

    Linus Torvalds
     

28 Apr, 2017

1 commit


13 Apr, 2017

1 commit

  • Add a couple of special IOCTLs to:

    * Inform userspace of firmware partition locations
    * Pass event counts and allow userspace to wait on events
    * Translate PFF numbers used by the switch to port numbers

    [Dan Carpenter : fix off-by-one in
    ioctl_event_ctl()]
    Tested-by: Krishna Dhulipala
    Signed-off-by: Logan Gunthorpe
    Signed-off-by: Stephen Bates
    Signed-off-by: Bjorn Helgaas
    Reviewed-by: Wei Zhang
    Reviewed-by: Jens Axboe

    Logan Gunthorpe
     

09 Mar, 2017

1 commit

  • Initial patch for generic TEE subsystem.
    This subsystem provides:
    * Registration/un-registration of TEE drivers.
    * Shared memory between normal world and secure world.
    * Ioctl interface for interaction with user space.
    * Sysfs implementation_id of TEE driver

    A TEE (Trusted Execution Environment) driver is a driver that interfaces
    with a trusted OS running in some secure environment, for example,
    TrustZone on ARM cpus, or a separate secure co-processor etc.

    The TEE subsystem can serve a TEE driver for a Global Platform compliant
    TEE, but it's not limited to only Global Platform TEEs.

    This patch builds on other similar implementations trying to solve
    the same problem:
    * "optee_linuxdriver" by among others
    Jean-michel DELORME and
    Emmanuel MICHEL
    * "Generic TrustZone Driver" by Javier González

    Acked-by: Andreas Dannenberg
    Tested-by: Jerome Forissier (HiKey)
    Tested-by: Volodymyr Babchuk (RCAR H3)
    Tested-by: Scott Branden
    Reviewed-by: Javier González
    Signed-off-by: Jens Wiklander

    Jens Wiklander
     

24 Feb, 2017

1 commit

  • Pull rpmsg updates from Bjorn Andersson:
    "This introduces an interface for user space to directly communicate on
    rpmsg endpoints without the implementation of specific kernel drivers,
    which is useful for e.g. debug channels:

    * tag 'rpmsg-v4.11' of git://github.com/andersson/remoteproc:
    rpmsg: rpmsg_create_ept() returns NULL on error
    rpmsg: qcom: smd: Return positively when not enabled
    rpmsg: unlock on error in rpmsg_eptdev_read()
    rpmsg: char: add CONFIG_NET dependency
    rpmsg: smd: Register rpmsg user space interface for edges
    rpmsg: Driver for user space endpoint interface
    rpmsg: qcom_smd: Implement endpoint "poll"
    rpmsg: Introduce "poll" to endpoint ops
    rpmsg: qcom_smd: Add support for "label" property

    Linus Torvalds
     

27 Jan, 2017

1 commit


19 Jan, 2017

1 commit

  • This driver allows rpmsg instances to expose access to rpmsg endpoints
    to user space processes. It provides a control interface, allowing
    userspace to export endpoints and an endpoint interface for each exposed
    endpoint.

    The implementation is based on prior art by Texas Instrument, Google,
    PetaLogix and was derived from a FreeRTOS performance statistics driver
    written by Michal Simek.

    The control interface provides a "create endpoint" ioctl, which is fed a
    name, source and destination address. The three values are used to
    create the endpoint, in a backend-specific way, and a rpmsg endpoint
    device is created - with the three parameters are available in sysfs for
    udev usage.

    E.g. to create an endpoint device for one of the Qualcomm SMD channel
    related to DIAG one would issue:

    struct rpmsg_endpoint_info info = { "DIAG_CNTL", 0, 0 };
    int fd = open("/dev/rpmsg_ctrl0", O_RDWR);
    ioctl(fd, RPMSG_CREATE_EPT_IOCTL, &info);

    Each created endpoint device shows up as an individual character device
    in /dev, allowing permission to be controlled on a per-endpoint basis.
    The rpmsg endpoint will be created and destroyed following the opening
    and closing of the endpoint device, allowing rpmsg backends to open and
    close the physical channel, if supported by the wire protocol.

    Cc: Marek Novak
    Cc: Matteo Sartori
    Cc: Michal Simek
    Signed-off-by: Bjorn Andersson

    Bjorn Andersson
     

06 Sep, 2016

1 commit

  • - The guide currently says to pad the structure to a multiple of
    64-bits. This is not necessary in cases where the structure contains
    no 64-bit types. Clarify this concept to avoid unnecessary padding.
    - When using __u64 to hold user pointers, blindly trying to do a cast to
    a void __user * may generate a warning on 32-bit systems about a cast
    from an integer to a pointer of different size. There is a macro to
    deal with this which hides an ugly double cast. Add a reference to
    this macro.

    Signed-off-by: Laura Abbott
    Acked-by: Arnd Bergmann
    Signed-off-by: Jonathan Corbet

    Laura Abbott
     

03 Aug, 2016

1 commit

  • The header file "include/linux/nilfs2_fs.h" is composed of parts for
    ioctl and disk format, and both are intended to be shared with user
    space programs.

    This moves them to the uapi directory "include/uapi/linux" splitting the
    file to "nilfs2_api.h" and "nilfs2_ondisk.h". The following minor
    changes are accompanied by this migration:

    - nilfs_direct_node struct in nilfs2/direct.h is converged to
    nilfs2_ondisk.h because it's an on-disk structure.
    - inline functions nilfs_rec_len_from_disk() and
    nilfs_rec_len_to_disk() are moved to nilfs2/dir.c.

    Link: http://lkml.kernel.org/r/1465825507-3407-4-git-send-email-konishi.ryusuke@lab.ntt.co.jp
    Signed-off-by: Ryusuke Konishi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ryusuke Konishi
     

30 Jul, 2016

1 commit

  • Pull security subsystem updates from James Morris:
    "Highlights:

    - TPM core and driver updates/fixes
    - IPv6 security labeling (CALIPSO)
    - Lots of Apparmor fixes
    - Seccomp: remove 2-phase API, close hole where ptrace can change
    syscall #"

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (156 commits)
    apparmor: fix SECURITY_APPARMOR_HASH_DEFAULT parameter handling
    tpm: Add TPM 2.0 support to the Nuvoton i2c driver (NPCT6xx family)
    tpm: Factor out common startup code
    tpm: use devm_add_action_or_reset
    tpm2_i2c_nuvoton: add irq validity check
    tpm: read burstcount from TPM_STS in one 32-bit transaction
    tpm: fix byte-order for the value read by tpm2_get_tpm_pt
    tpm_tis_core: convert max timeouts from msec to jiffies
    apparmor: fix arg_size computation for when setprocattr is null terminated
    apparmor: fix oops, validate buffer size in apparmor_setprocattr()
    apparmor: do not expose kernel stack
    apparmor: fix module parameters can be changed after policy is locked
    apparmor: fix oops in profile_unpack() when policy_db is not present
    apparmor: don't check for vmalloc_addr if kvzalloc() failed
    apparmor: add missing id bounds check on dfa verification
    apparmor: allow SYS_CAP_RESOURCE to be sufficient to prlimit another task
    apparmor: use list_next_entry instead of list_entry_next
    apparmor: fix refcount race when finding a child profile
    apparmor: fix ref count leak when profile sha1 hash is read
    apparmor: check that xindex is in trans_table bounds
    ...

    Linus Torvalds
     

12 Jul, 2016

1 commit

  • userspace application can send READ_SUB_CHANNEL command with time bit
    enabled and disabled. The time bit allows selection of address reporting
    format. If the time bit is disabled the response is in logical block
    address(CDROM_LBA) format, represented as a 32-bit integer with ms-byte
    first. If the time bit is enabled the response is in time format i.e.,
    minutes, second, frame (CDROM_MSF) format.

    Signed-off-by: vchannaiah
    Signed-off-by: Mahendran Kuppusamy
    [veeraiyan.chidambaram@in.bosch.com: updated Documentation/ioctl/cdrom.txt]
    Signed-off-by: Veeraiyan Chidambaram
    Signed-off-by: Jens Axboe

    vchannaiah
     

25 Jun, 2016

1 commit

  • Add documentation for the tpm_vtpm device driver that implements
    support for providing TPM functionality to Linux containers.

    Parts of this documentation were recycled from the Xen vTPM
    device driver documentation.

    Update the documentation for the ioctl numbers.

    Signed-off-by: Stefan Berger
    Reviewed-by: Jarkko Sakkinen

    CC: linux-kernel@vger.kernel.org
    CC: linux-doc@vger.kernel.org
    CC: linux-api@vger.kernel.org
    Tested-by: Jarkko Sakkinen
    Reviewed-by: Jarkko Sakkinen
    Signed-off-by: Jarkko Sakkinen

    Stefan Berger
     

10 Mar, 2016

1 commit

  • The previous 'o' is in conflict and not very orderly assigned.
    We want to select an ioctl() major that does not conflict with
    the existining ones.

    Add the new reserved major (0xB4) to Documentation/ioctl/ioctl-number.txt

    Fixes: 3c702e9987e2 ("gpio: add a userspace chardev ABI for GPIOs")
    Suggested-by: Arnd Bergmann
    Signed-off-by: Linus Walleij

    Linus Walleij
     

21 Nov, 2015

1 commit


05 Nov, 2015

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver update for 4.4-rc1. Lots of
    different driver and subsystem updates, hwtracing being the largest
    with the addition of some new platforms that are now supported. Full
    details in the shortlog.

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (181 commits)
    fpga: socfpga: Fix check of return value of devm_request_irq
    lkdtm: fix ACCESS_USERSPACE test
    mcb: Destroy IDA on module unload
    mcb: Do not return zero on error path in mcb_pci_probe()
    mei: bus: set the device name before running fixup
    mei: bus: use correct lock ordering
    mei: Fix debugfs filename in error output
    char: ipmi: ipmi_ssif: Replace timeval with timespec64
    fpga: zynq-fpga: Fix issue with drvdata being overwritten.
    fpga manager: remove unnecessary null pointer checks
    fpga manager: ensure lifetime with of_fpga_mgr_get
    fpga: zynq-fpga: Change fw format to handle bin instead of bit.
    fpga: zynq-fpga: Fix unbalanced clock handling
    misc: sram: partition base address belongs to __iomem space
    coresight: etm3x: adding documentation for sysFS's cpu interface
    vme: 8-bit status/id takes 256 values, not 255
    fpga manager: Adding FPGA Manager support for Xilinx Zynq 7000
    ARM: zynq: dt: Updated devicetree for Zynq 7000 platform.
    ARM: dt: fpga: Added binding docs for Xilinx Zynq FPGA manager.
    ver_linux: proc/modules, limit text processing to 'sed'
    ...

    Linus Torvalds
     

29 Oct, 2015

1 commit

  • 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
    Dongsheng Yang
    Jesper Madsen

    Signed-off-by: Matias Bjørling
    Signed-off-by: Jens Axboe

    Matias Bjørling
     

05 Oct, 2015

1 commit

  • 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: Mathieu Poirier
    Signed-off-by: Alexander Shishkin
    Signed-off-by: Greg Kroah-Hartman

    Alexander Shishkin
     

09 Sep, 2015

1 commit

  • …linux-platform-drivers-x86

    Pull x86 platform driver updates from Darren Hart:
    "Significant work on toshiba_acpi, including new hardware support,
    refactoring, and cleanups. Extend device support for asus, ideapad,
    and acer systems. New surface pro 3 buttons driver. Misc minor
    cleanups for thinkpad and hp-wireless.

    acer-wmi:
    - No rfkill on HP Omen 15 wifi

    thinkpad_acpi:
    - Remove side effects from vdbg_printk -> no_printk macro

    surface pro 3:
    - Add support driver for Surface Pro 3 buttons

    hp-wireless:
    - remove unneeded goto/label in hpwl_init

    ideapad-laptop:
    - add alternative representation for Yoga 2 to DMI table
    - Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list

    asus-laptop:
    - Add key found on Asus F3M

    MAINTAINERS:
    - Remove Toshiba Linux mailing list address

    toshiba_acpi:
    - Bump driver version to 0.23
    - Remove unnecessary checks and returns in HCI/SCI functions
    - Refactor *{get, set} functions return value
    - Remove "*not supported" feature prints
    - Change *available functions return type
    - Add set_fan_status function
    - Change some variables to avoid warnings from ninja-check
    - Reorder toshiba_acpi_alt_keymap entries
    - Remove unused wireless defines
    - Transflective backlight updates
    - Avoid registering input device on WMI event laptops
    - Add /dev/toshiba_acpi device
    - Adapt /proc/acpi/toshiba/keys to TOS1900 devices"

    * tag 'platform-drivers-x86-v4.3-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (21 commits)
    acer-wmi: No rfkill on HP Omen 15 wifi
    thinkpad_acpi: Remove side effects from vdbg_printk -> no_printk macro
    surface pro 3: Add support driver for Surface Pro 3 buttons
    hp-wireless: remove unneeded goto/label in hpwl_init
    ideapad-laptop: add alternative representation for Yoga 2 to DMI table
    asus-laptop: Add key found on Asus F3M
    MAINTAINERS: Remove Toshiba Linux mailing list address
    ideapad-laptop: Add Lenovo Yoga 3 14 to no_hw_rfkill dmi list
    toshiba_acpi: Bump driver version to 0.23
    toshiba_acpi: Remove unnecessary checks and returns in HCI/SCI functions
    toshiba_acpi: Refactor *{get, set} functions return value
    toshiba_acpi: Remove "*not supported" feature prints
    toshiba_acpi: Change *available functions return type
    toshiba_acpi: Add set_fan_status function
    toshiba_acpi: Change some variables to avoid warnings from ninja-check
    toshiba_acpi: Reorder toshiba_acpi_alt_keymap entries
    toshiba_acpi: Remove unused wireless defines
    toshiba_acpi: Transflective backlight updates
    toshiba_acpi: Avoid registering input device on WMI event laptops
    toshiba_acpi: Add /dev/toshiba_acpi device
    ...

    Linus Torvalds
     

05 Sep, 2015

1 commit

  • Defines the uAPI of the userfaultfd, notably the ioctl numbers and protocol.

    Signed-off-by: Andrea Arcangeli
    Acked-by: Pavel Emelyanov
    Cc: Sanidhya Kashyap
    Cc: zhang.zhanghailiang@huawei.com
    Cc: "Kirill A. Shutemov"
    Cc: Andres Lagar-Cavilla
    Cc: Dave Hansen
    Cc: Paolo Bonzini
    Cc: Rik van Riel
    Cc: Mel Gorman
    Cc: Andy Lutomirski
    Cc: Hugh Dickins
    Cc: Peter Feiner
    Cc: "Dr. David Alan Gilbert"
    Cc: Johannes Weiner
    Cc: "Huangpeng (Peter)"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrea Arcangeli
     

03 Sep, 2015

1 commit

  • Pull first round of SCSI updates from James Bottomley:
    "This includes one new driver: cxlflash plus the usual grab bag of
    updates for the major drivers: qla2xxx, ipr, storvsc, pm80xx, hptiop,
    plus a few assorted fixes.

    There's another tranch coming, but I want to incubate it another few
    days in the checkers, plus it includes a mpt2sas separated lifetime
    fix, which Avago won't get done testing until Friday"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (85 commits)
    aic94xx: set an error code on failure
    storvsc: Set the error code correctly in failure conditions
    storvsc: Allow write_same when host is windows 10
    storvsc: use storage protocol version to determine storage capabilities
    storvsc: use correct defaults for values determined by protocol negotiation
    storvsc: Untangle the storage protocol negotiation from the vmbus protocol negotiation.
    storvsc: Use a single value to track protocol versions
    storvsc: Rather than look for sets of specific protocol versions, make decisions based on ranges.
    cxlflash: Remove unused variable from queuecommand
    cxlflash: shift wrapping bug in afu_link_reset()
    cxlflash: off by one bug in cxlflash_show_port_status()
    cxlflash: Virtual LUN support
    cxlflash: Superpipe support
    cxlflash: Base error recovery support
    qla2xxx: Update driver version to 8.07.00.26-k
    qla2xxx: Add pci device id 0x2261.
    qla2xxx: Fix missing device login retries.
    qla2xxx: do not clear slot in outstanding cmd array
    qla2xxx: Remove decrement of sp reference count in abort handler.
    qla2xxx: Add support to show MPI and PEP FW version for ISP27xx.
    ...

    Linus Torvalds
     

27 Aug, 2015

1 commit

  • Add superpipe supporting infrastructure to device driver for the IBM CXL
    Flash adapter. This patch allows userspace applications to take advantage
    of the accelerated I/O features that this adapter provides and bypass the
    traditional filesystem stack.

    Signed-off-by: Matthew R. Ochs
    Signed-off-by: Manoj N. Kumar
    Reviewed-by: Michael Neuling
    Reviewed-by: Wen Xiong
    Reviewed-by: Brian King
    Signed-off-by: James Bottomley

    Matthew R. Ochs
     

04 Aug, 2015

1 commit

  • Add ioctl IOCTL_MEI_NOTIFY_SET for enabling and disabling
    async event notification.
    Add ioctl IOCTL_MEI_NOTIFY_GET for receiving and acking
    an event notification.

    Signed-off-by: Tomas Winkler
    Signed-off-by: Alexander Usyskin
    Signed-off-by: Greg Kroah-Hartman

    Tomas Winkler
     

25 Jul, 2015

1 commit

  • There were previous attempts to "merge" the toshiba SMM module to the
    toshiba_acpi one, they were trying to imitate what the old toshiba
    module does, however, some models (TOS1900 devices) come with a
    "crippled" implementation and do not provide all the "features" a
    "genuine" Toshiba BIOS does.

    This patch adds a new device called toshiba_acpi, which aim is to
    enable userspace to access the SMM on Toshiba laptops via ACPI calls.

    Creating a new convenience _IOWR command to access the SCI functions
    by opening/closing the SCI internally to avoid buggy BIOS, while at
    the same time providing backwards compatibility.

    Older programs (and new) who wish to access the SMM on newer models
    can do it by pointing their path to /dev/toshiba_acpi (instead of
    /dev/toshiba) as the toshiba.h header was modified to reflect these
    changes as well as adds all the toshiba_acpi paths and command,
    however, it is strongly recommended to use the new IOCTL for any
    SCI command to avoid any buggy BIOS.

    Signed-off-by: Azael Avalos
    Signed-off-by: Darren Hart

    Azael Avalos
     

01 Jul, 2015

1 commit

  • Allow an open fuse device to be "cloned". Userspace can create a clone by:

    newfd = open("/dev/fuse", O_RDWR)
    ioctl(newfd, FUSE_DEV_IOC_CLONE, &oldfd);

    At this point newfd will refer to the same fuse connection as oldfd.

    Signed-off-by: Miklos Szeredi
    Reviewed-by: Ashish Samant

    Miklos Szeredi
     

27 Feb, 2015

1 commit


08 Oct, 2014

1 commit

  • This documentation gives an overview of the hardware architecture, userspace
    APIs via /dev/cxl/afuM.N and the syfs files. It also adds a MAINTAINERS file
    entry for cxl.

    Signed-off-by: Ian Munsie
    Signed-off-by: Michael Neuling
    Signed-off-by: Michael Ellerman

    Ian Munsie
     

10 Aug, 2014

1 commit


20 Jun, 2014

1 commit

  • Update to makefiles etc.
    Don't update the firmware/Makefile yet since there is no FW binary in
    the crypto repo yet. This will be added later.

    v3 - removed change to ./firmware/Makefile

    Reviewed-by: Bruce W. Allan
    Signed-off-by: Tadeusz Struk
    Signed-off-by: Herbert Xu

    Tadeusz Struk
     

24 Jan, 2014

1 commit

  • To provide access to the set-partition-resource-parameter interface
    to user space add a new attribute to hypfs/debugfs:
    * s390_hypsfs/diag_304
    The data for the query-partition-resource-parameters command can
    be access by a read on the attribute. All other diagnose 0x304
    requests need to be submitted via ioctl with CAP_SYS_ADMIN rights.

    Signed-off-by: Martin Schwidefsky

    Martin Schwidefsky
     

18 Oct, 2013

1 commit

  • As a start point for further development, this is an incomplete driver
    for DICE devices:
    - only playback (so no clock source except the bus clock)
    - only 44.1 kHz
    - no MIDI
    - recovery after bus reset is slow
    - hwdep device is created, but not actually implemented

    Contains compilation fixes by Stefan Richter.

    Signed-off-by: Clemens Ladisch

    Clemens Ladisch
     

27 Jun, 2013

1 commit


26 Mar, 2013

1 commit

  • Userspace applications need to know the maximum supported message
    size.

    The cdc-wdm driver translates between a character device stream
    and a message based protocol. Each message is transported as a
    usb control message with no further encapsulation or syncronization.
    Each read or write on the character device should translate to
    exactly one usb control message to ensure that message boundaries
    are kept intact. That means that the userspace application must
    know the maximum message size supported by the device and driver,
    making this size a vital part of the cdc-wdm character device API.

    CDC WDM and CDC MBIM functions export the maximum supported
    message size through CDC functional descriptors. The cdc-wdm and
    cdc_mbim drivers will parse these descriptors and use the value
    chosen by the device. The only current way for a userspace
    application to retrive the value is by duplicating the descriptor
    parsing. This is an unnecessary complex task, and application
    writers are likely to postpone it, using a fixed value and adding
    a "todo" item.

    QMI functions have no way to tell the host what message size they
    support. The qmi_wwan driver use a fixed value based on protocol
    recommendations and observed device behaviour. Userspace
    applications must know and hard code the same value. This scheme
    will break if we ever encounter a QMI device needing a device
    specific message size quirk. We are currently unable to support
    such a device because using a non default size would break the
    implicit userspace API.

    The message size is currently a hidden attribute of the cdc-wdm
    userspace API. Retrieving it is unnecessarily complex, increasing
    the possibility of drivers and applications using different limits.
    The resulting errors are hard to debug, and can only be replicated
    on identical hardware.

    Exporting the maximum message size from the driver simplifies the
    task for the userspace application, and creates a unified
    information source independent of device and function class. It also
    serves to document that the message size is part of the cdc-wdm
    userspace API.

    This proposed API extension has been presented for the authors of
    userspace applications and libraries using the current API: libmbim,
    libqmi, uqmi, oFono and ModemManager. The replies were:

    Aleksander Morgado:
    "We do really need max message size for MBIM; and as you say, it may be
    good to have the max message size info also for QMI, so the new ioctl
    seems a good addition. So +1 from my side, for what it's worth."

    Dan Williams:
    "Yeah, +1 here. I'd prefer the sysfs file, but the fact that that
    doesn't work for fd passing pretty much kills it."

    No negative replies are so far received.

    Cc: Aleksander Morgado
    Cc: Dan Williams
    Signed-off-by: Bjørn Mork
    Acked-by: Oliver Neukum
    Signed-off-by: Greg Kroah-Hartman

    Bjørn Mork
     

01 Feb, 2013

1 commit

  • The original suggestion to delete wanrouter started earlier
    with the mainline commit f0d1b3c2bcc5de8a17af5f2274f7fcde8292b5fc
    ("net/wanrouter: Deprecate and schedule for removal") in May 2012.

    More importantly, Dan Carpenter found[1] that the driver had a
    fundamental breakage introduced back in 2008, with commit
    7be6065b39c3 ("netdevice wanrouter: Convert directly reference of
    netdev->priv"). So we know with certainty that the code hasn't been
    used by anyone willing to at least take the effort to send an e-mail
    report of breakage for at least 4 years.

    This commit does a decouple of the wanrouter subsystem, by going
    after the Makefile/Kconfig and similar files, so that these mainline
    files that we are keeping do not have the big wanrouter file/driver
    deletion commit tied into their history.

    Once this commit is in place, we then can remove the obsolete cyclomx
    drivers and similar that have a dependency on CONFIG_WAN_ROUTER_DRIVERS.

    [1] http://www.spinics.net/lists/netdev/msg218670.html

    Originally-by: Joe Perches
    Cc: Dan Carpenter
    Cc: Arnaldo Carvalho de Melo
    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

14 Aug, 2012

1 commit


31 Jul, 2012

1 commit

  • VFIO is a secure user level driver for use with both virtual machines
    and user level drivers. VFIO makes use of IOMMU groups to ensure the
    isolation of devices in use, allowing unprivileged user access. It's
    intended that VFIO will replace KVM device assignment and UIO drivers
    (in cases where the target platform includes a sufficiently capable
    IOMMU).

    New in this version of VFIO is support for IOMMU groups managed
    through the IOMMU core as well as a rework of the API, removing the
    group merge interface. We now go back to a model more similar to
    original VFIO with UIOMMU support where the file descriptor obtained
    from /dev/vfio/vfio allows access to the IOMMU, but only after a
    group is added, avoiding the previous privilege issues with this type
    of model. IOMMU support is also now fully modular as IOMMUs have
    vastly different interface requirements on different platforms. VFIO
    users are able to query and initialize the IOMMU model of their
    choice.

    Please see the follow-on Documentation commit for further description
    and usage example.

    Signed-off-by: Alex Williamson

    Alex Williamson
     

10 May, 2012

1 commit


03 Apr, 2012

1 commit

  • Pull HSI (High Speed Synchronous Serial Interface) framework from Carlos Chinea:
    "The High Speed Synchronous Serial Interface (HSI) is a serial
    interface mainly used for connecting application engines (APE) with
    cellular modem engines (CMT) in cellular handsets.

    The framework is currently being used for some people and we would
    like to see it integrated into the kernel for 3.3. There is no HW
    controller drivers in this pull, but some people have already some of
    them pending which they would like to push as soon as this integrated.
    I am also working on the acceptance for an TI OMAP one, based on a
    compatible legacy version of the interface called SSI."

    Ok, so it didn't get into 3.3, but here it is pulled into 3.4.

    Several people piped up to say "yeah, we want this".

    * 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi:
    HSI: hsi_char: Update ioctl-number.txt
    HSI: Add HSI API documentation
    HSI: hsi_char: Add HSI char device kernel configuration
    HSI: hsi_char: Add HSI char device driver
    HSI: hsi: Introducing HSI framework

    Linus Torvalds
     

22 Mar, 2012

1 commit

  • Pull vfs pile 1 from Al Viro:
    "This is _not_ all; in particular, Miklos' and Jan's stuff is not there
    yet."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (64 commits)
    ext4: initialization of ext4_li_mtx needs to be done earlier
    debugfs-related mode_t whack-a-mole
    hfsplus: add an ioctl to bless files
    hfsplus: change finder_info to u32
    hfsplus: initialise userflags
    qnx4: new helper - try_extent()
    qnx4: get rid of qnx4_bread/qnx4_getblk
    take removal of PF_FORKNOEXEC to flush_old_exec()
    trim includes in inode.c
    um: uml_dup_mmap() relies on ->mmap_sem being held, but activate_mm() doesn't hold it
    um: embed ->stub_pages[] into mmu_context
    gadgetfs: list_for_each_safe() misuse
    ocfs2: fix leaks on failure exits in module_init
    ecryptfs: make register_filesystem() the last potential failure exit
    ntfs: forgets to unregister sysctls on register_filesystem() failure
    logfs: missing cleanup on register_filesystem() failure
    jfs: mising cleanup on register_filesystem() failure
    make configfs_pin_fs() return root dentry on success
    configfs: configfs_create_dir() has parent dentry in dentry->d_parent
    configfs: sanitize configfs_create()
    ...

    Linus Torvalds