07 Feb, 2019

3 commits

  • The lanes parameter is not solely about the number of lanes, but it also
    carries the fact that those are the first lanes in use during the
    transmission.

    It was implicit so far, so make sure it's explicit now.

    Suggested-by: Sakari Ailus
    Acked-by: Sakari Ailus
    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     
  • The Init and wakeup D-PHY parameters are in the micro/milliseconds range,
    putting the values real close to the types limits if they were in
    picoseconds.

    Move them to microseconds which should be better fit.

    Suggested-by: Sakari Ailus
    Acked-by: Sakari Ailus
    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     
  • The videomode.h header inclusion is an artifact from the patches
    development, remove it.

    Suggested-by: Sakari Ailus
    Acked-by: Sakari Ailus
    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     

16 Jan, 2019

1 commit

  • Commit 49e54187ae0b ("ata: libahci_platform: comply to PHY framework") uses
    the PHY_MODE_SATA, but that enum had not yet been added. This caused a
    build failure for me, with today's linux.git.

    Also, there is a potentially conflicting (mis-named) PHY_MODE_SATA, hiding
    in the Marvell Berlin SATA PHY driver.

    Fix the build by:

    1) Renaming Marvell's defined value to a more scoped name,
    in order to avoid any potential conflicts: PHY_BERLIN_MODE_SATA.

    2) Adding the missing enum, which was going to be added anyway as part
    of [1].

    [1] https://lkml.kernel.org/r/20190108163124.6409-3-miquel.raynal@bootlin.com

    Fixes: 49e54187ae0b ("ata: libahci_platform: comply to PHY framework")

    Cc: Grzegorz Jaszczyk
    Cc: Miquel Raynal
    Cc: Hans de Goede
    Cc: Jens Axboe
    Signed-off-by: John Hubbard
    Signed-off-by: Kishon Vijay Abraham I

    John Hubbard
     

04 Jan, 2019

1 commit

  • Pull networking fixes from David Miller:
    "Several fixes here. Basically split down the line between newly
    introduced regressions and long existing problems:

    1) Double free in tipc_enable_bearer(), from Cong Wang.

    2) Many fixes to nf_conncount, from Florian Westphal.

    3) op->get_regs_len() can throw an error, check it, from Yunsheng
    Lin.

    4) Need to use GFP_ATOMIC in *_add_hash_mac_address() of fsl/fman
    driver, from Scott Wood.

    5) Inifnite loop in fib_empty_table(), from Yue Haibing.

    6) Use after free in ax25_fillin_cb(), from Cong Wang.

    7) Fix socket locking in nr_find_socket(), also from Cong Wang.

    8) Fix WoL wakeup enable in r8169, from Heiner Kallweit.

    9) On 32-bit sock->sk_stamp is not thread-safe, from Deepa Dinamani.

    10) Fix ptr_ring wrap during queue swap, from Cong Wang.

    11) Missing shutdown callback in hinic driver, from Xue Chaojing.

    12) Need to return NULL on error from ip6_neigh_lookup(), from Stefano
    Brivio.

    13) BPF out of bounds speculation fixes from Daniel Borkmann"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (57 commits)
    ipv6: Consider sk_bound_dev_if when binding a socket to an address
    ipv6: Fix dump of specific table with strict checking
    bpf: add various test cases to selftests
    bpf: prevent out of bounds speculation on pointer arithmetic
    bpf: fix check_map_access smin_value test when pointer contains offset
    bpf: restrict unknown scalars of mixed signed bounds for unprivileged
    bpf: restrict stack pointer arithmetic for unprivileged
    bpf: restrict map value pointer arithmetic for unprivileged
    bpf: enable access to ax register also from verifier rewrite
    bpf: move tmp variable into ax register in interpreter
    bpf: move {prev_,}insn_idx into verifier env
    isdn: fix kernel-infoleak in capi_unlocked_ioctl
    ipv6: route: Fix return value of ip6_neigh_lookup() on neigh_create() error
    net/hamradio/6pack: use mod_timer() to rearm timers
    net-next/hinic:add shutdown callback
    net: hns3: call hns3_nic_net_open() while doing HNAE3_UP_CLIENT
    ip: validate header length on virtual device xmit
    tap: call skb_probe_transport_header after setting skb->dev
    ptr_ring: wrap back ->producer in __ptr_ring_swap_queue()
    net: rds: remove unnecessary NULL check
    ...

    Linus Torvalds
     

28 Dec, 2018

1 commit


12 Dec, 2018

7 commits

  • The MIPI D-PHY spec defines default values and boundaries for most of the
    parameters it defines. Introduce helpers to help drivers get meaningful
    values based on their current parameters, and validate the boundaries of
    these parameters if needed.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     
  • Now that we have some infrastructure for it, allow the MIPI D-PHY phy's to
    be configured through the generic functions through a custom structure
    added to the generic union.

    The parameters added here are the ones defined in the MIPI D-PHY spec, plus
    the number of lanes in use. The current set of parameters should cover all
    the potential users.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     
  • The phy framework is only allowing to configure the power state of the PHY
    using the init and power_on hooks, and their power_off and exit
    counterparts.

    While it works for most, simple, PHYs supported so far, some more advanced
    PHYs need some configuration depending on runtime parameters. These PHYs
    have been supported by a number of means already, often by using ad-hoc
    drivers in their consumer drivers.

    That doesn't work too well however, when a consumer device needs to deal
    with multiple PHYs, or when multiple consumers need to deal with the same
    PHY (a DSI driver and a CSI driver for example).

    So we'll add a new interface, through two funtions, phy_validate and
    phy_configure. The first one will allow to check that a current
    configuration, for a given mode, is applicable. It will also allow the PHY
    driver to tune the settings given as parameters as it sees fit.

    phy_configure will actually apply that configuration in the phy itself.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     
  • MIPI D-PHY is a MIPI standard meant mostly for display and cameras in
    embedded systems. Add a mode for it.

    Reviewed-by: Laurent Pinchart
    Reviewed-by: Sakari Ailus
    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     
  • After recent changes PHY_MODE_SGMII, PHY_MODE_2500SGMII, PHY_MODE_QSGMII,
    PHY_MODE_10GKR are not used any more and can be removed. Hence - remove
    them.

    Signed-off-by: Grygorii Strashko
    Signed-off-by: Kishon Vijay Abraham I

    Grygorii Strashko
     
  • Add new PHY's mode to be used by Ethernet PHY interface drivers or
    multipurpose PHYs like serdes. It will be reused in further changes.

    Signed-off-by: Grygorii Strashko
    Signed-off-by: Kishon Vijay Abraham I

    Grygorii Strashko
     
  • Currently the attempt to add support for Ethernet interface mode PHY
    (MII/GMII/RGMII) will lead to the necessity of extending enum phy_mode and
    duplicate there values from phy_interface_t enum (or introduce more PHY
    callbacks) [1]. Both approaches are ineffective and would lead to fast
    bloating of enum phy_mode or struct phy_ops in the process of adding more
    PHYs for different subsystems which will make them unmaintainable.

    As discussed in [1] the solution could be to introduce dual level PHYs mode
    configuration - PHY mode and PHY submode. The PHY mode will define generic
    PHY type (subsystem - PCIE/ETHERNET/USB_) while the PHY submode - subsystem
    specific interface mode. The last is usually already defined in
    corresponding subsystem headers (phy_interface_t for Ethernet, enum
    usb_device_speed for USB).

    This patch is cumulative change which refactors PHY framework code to
    support dual level PHYs mode configuration - PHY mode and PHY submode. It
    extends .set_mode() callback to support additional parameter "int submode"
    and converts all corresponding PHY drivers to support new .set_mode()
    callback declaration.
    The new extended PHY API
    int phy_set_mode_ext(struct phy *phy, enum phy_mode mode, int submode)
    is introduced to support dual level PHYs mode configuration and existing
    phy_set_mode() API is converted to macros, so PHY framework consumers do
    not need to be changed (~21 matches).

    [1] http://lkml.kernel.org/r/d63588f6-9ab0-848a-5ad4-8073143bd95d@ti.com
    Signed-off-by: Grygorii Strashko
    Signed-off-by: Kishon Vijay Abraham I

    Grygorii Strashko
     

26 Oct, 2018

1 commit

  • Pull USB/PHY updates from Greg KH:
    "Here is the big USB/PHY driver patches for 4.20-rc1

    Lots of USB changes in here, primarily in these areas:

    - typec updates and new drivers

    - new PHY drivers

    - dwc2 driver updates and additions (this old core keeps getting
    added to new devices.)

    - usbtmc major update based on the industry group coming together and
    working to add new features and performance to the driver.

    - USB gadget additions for new features

    - USB gadget configfs updates

    - chipidea driver updates

    - other USB gadget updates

    - USB serial driver updates

    - renesas driver updates

    - xhci driver updates

    - other tiny USB driver updates

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

    * tag 'usb-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (229 commits)
    usb: phy: ab8500: silence some uninitialized variable warnings
    usb: xhci: tegra: Add genpd support
    usb: xhci: tegra: Power-off power-domains on removal
    usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten
    usbip: tools: fix atoi() on non-null terminated string
    USB: misc: appledisplay: fix backlight update_status return code
    phy: phy-pxa-usb: add a new driver
    usb: host: add DT bindings for faraday fotg2
    usb: host: ohci-at91: fix request of irq for optional gpio
    usb/early: remove set but not used variable 'remain_length'
    usb: typec: Fix copy/paste on typec_set_vconn_role() kerneldoc
    usb: typec: tcpm: Report back negotiated PPS voltage and current
    USB: core: remove set but not used variable 'udev'
    usb: core: fix memory leak on port_dev_path allocation
    USB: net2280: Remove ->disconnect() callback from net2280_pullup()
    usb: dwc2: disable power_down on rockchip devices
    usb: gadget: udc: renesas_usb3: add support for r8a77990
    dt-bindings: usb: renesas_usb3: add bindings for r8a77990
    usb: gadget: udc: renesas_usb3: Add r8a774a1 support
    USB: serial: cypress_m8: remove set but not used variable 'iflag'
    ...

    Linus Torvalds
     

06 Oct, 2018

1 commit


26 Sep, 2018

2 commits

  • The host makes direct calls into phy using ufs_qcom_phy_*()
    APIs. These APIs are only defined for 20nm qcom-ufs-qmp phy
    which is not being used by any architecture as yet. Future
    architectures too are not going to use 20nm ufs phy.
    So remove these ufs_qcom_phy_*() calls from host to let further
    change declare the 20nm phy as broken.
    Also remove couple of stale enum defines for ufs phy.

    Signed-off-by: Vivek Gautam
    Acked-by: Martin K. Petersen
    Signed-off-by: Kishon Vijay Abraham I

    Vivek Gautam
     
  • Remove ufs_qcom_phy_enable/(disable)_dev_ref_clk() that
    are not being used by any code.

    Signed-off-by: Vivek Gautam
    Reviewed-by: Bjorn Andersson
    Signed-off-by: Kishon Vijay Abraham I

    Vivek Gautam
     

18 May, 2018

1 commit


08 Mar, 2018

2 commits

  • Add missing documentation of structure members and
    modify the order of documentation to match that of
    the structure declaration.

    Signed-off-by: Dov Levenglick
    Signed-off-by: Kishon Vijay Abraham I

    Dov Levenglick
     
  • Add following USB speed related PHY modes:
    LS (Low Speed), FS (Full Speed), HS (High Speed), SS (Super Speed)

    Speed related information is required by some QCOM PHY drivers
    to program PHY monitor resume/remote-wakeup events in suspended
    state. Speed is needed in order to set correct polarity of wakeup
    events for detection. E.g. QUSB2 PHY monitors DP/DM line state
    depending on whether speed is LS or FS/HS to detect resume.
    Similarly QMP USB3 PHY in SS mode should monitor RX terminations
    attach/detach and LFPS events depending on SSPHY is active or not.

    Signed-off-by: Manu Gautam
    Signed-off-by: Kishon Vijay Abraham I

    Manu Gautam
     

14 Nov, 2017

1 commit

  • Pull USB/PHY updates from Greg KH:
    "Here is the big set of USB and PHY driver updates for 4.15-rc1.

    There is the usual amount of gadget and xhci driver updates, along
    with phy and chipidea enhancements. There's also a lot of SPDX tags
    and license boilerplate cleanups as well, which provide some churn in
    the diffstat.

    Other major thing is the typec code that moved out of staging and into
    the "real" part of the drivers/usb/ tree, which was nice to see
    happen.

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

    * tag 'usb-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (263 commits)
    usb: gadget: f_fs: Fix use-after-free in ffs_free_inst
    USB: usbfs: compute urb->actual_length for isochronous
    usb: core: message: remember to reset 'ret' to 0 when necessary
    USB: typec: Remove remaining redundant license text
    USB: typec: add SPDX identifiers to some files
    USB: renesas_usbhs: rcar?.h: add SPDX tags
    USB: chipidea: ci_hdrc_tegra.c: add SPDX line
    USB: host: xhci-debugfs: add SPDX lines
    USB: add SPDX identifiers to all remaining Makefiles
    usb: host: isp1362-hcd: remove a couple of redundant assignments
    USB: adutux: remove redundant variable minor
    usb: core: add a new usb_get_ptm_status() helper
    usb: core: add a 'type' parameter to usb_get_status()
    usb: core: introduce a new usb_get_std_status() helper
    usb: core: rename usb_get_status() 'type' argument to 'recip'
    usb: core: add Status Type definitions
    USB: gadget: Remove redundant license text
    USB: gadget: function: Remove redundant license text
    USB: gadget: udc: Remove redundant license text
    USB: gadget: legacy: Remove redundant license text
    ...

    Linus Torvalds
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

23 Oct, 2017

4 commits

  • Some quirky UDCs (like dwc3 on Exynos) need to have their phys calibrated e.g.
    for using super speed. This patch adds a new phy_calibrate() method.
    When the calibration should be used is dependent on actual chip.

    In case of dwc3 on Exynos the calibration must happen after usb_add_hcd()
    (while in host mode), because certain phy parameters like Tx LOS levels
    and boost levels need to be calibrated further post initialization of xHCI
    controller, to get SuperSpeed operations working. But an hcd must be
    prepared first in order to pass it to usb_add_hcd(), so, in particular, dwc3
    registers must be available first, and in order for the latter to happen
    the phys must be initialized. This poses a chicken and egg problem if
    the calibration were to be performed in phy_init(). To break the circular
    dependency a separate method is added which can be called at a desired
    moment after phy intialization.

    Signed-off-by: Andrzej Pietrasiewicz
    Signed-off-by: Kishon Vijay Abraham I

    Andrzej Pietrasiewicz
     
  • Refactor ufs_qcom_power_up_sequence() to get rid of ugly
    exported phy APIs and use the phy_init() and phy_power_on()
    to do the phy initialization.

    Signed-off-by: Vivek Gautam
    Reviewed-by: Subhash Jadavani
    Signed-off-by: Kishon Vijay Abraham I

    Vivek Gautam
     
  • UFS phy has two modes for each High speed generation.
    These modes are identified by two rates of operations -
    Rate A, and Rate B.
    Add these UFS phy modes to phy framework.

    Signed-off-by: Vivek Gautam
    Signed-off-by: Kishon Vijay Abraham I

    Vivek Gautam
     
  • If we're trying to get a handle to an optional phy, then the phy framework
    being disabled shouldn't return an hard error.

    Instead, return NULL just like phy_optional_get does when there's no phy
    provided in the DT.

    Signed-off-by: Maxime Ripard
    Signed-off-by: Kishon Vijay Abraham I

    Maxime Ripard
     

31 Aug, 2017

1 commit


01 Jun, 2017

1 commit

  • Although ULPI phy is currently being used by tusb1210,
    there can be other consumers too in future. So move this
    to the includes path for phy.

    Signed-off-by: Vivek Gautam
    Cc: Stephen Boyd
    Cc: Heikki Krogerus
    Cc: Kishon Vijay Abraham I
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-usb@vger.kernel.org
    Acked-by: Heikki Krogerus
    Signed-off-by: Kishon Vijay Abraham I

    Vivek Gautam
     

15 Dec, 2016

1 commit

  • Pull SCSI updates from James Bottomley:
    "This update includes the usual round of major driver updates (ncr5380,
    lpfc, hisi_sas, megaraid_sas, ufs, ibmvscsis, mpt3sas).

    There's also an assortment of minor fixes, mostly in error legs or
    other not very user visible stuff. The major change is the
    pci_alloc_irq_vectors replacement for the old pci_msix_.. calls; this
    effectively makes IRQ mapping generic for the drivers and allows
    blk_mq to use the information"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (256 commits)
    scsi: qla4xxx: switch to pci_alloc_irq_vectors
    scsi: hisi_sas: support deferred probe for v2 hw
    scsi: megaraid_sas: switch to pci_alloc_irq_vectors
    scsi: scsi_devinfo: remove synchronous ALUA for NETAPP devices
    scsi: be2iscsi: set errno on error path
    scsi: be2iscsi: set errno on error path
    scsi: hpsa: fallback to use legacy REPORT PHYS command
    scsi: scsi_dh_alua: Fix RCU annotations
    scsi: hpsa: use %phN for short hex dumps
    scsi: hisi_sas: fix free'ing in probe and remove
    scsi: isci: switch to pci_alloc_irq_vectors
    scsi: ipr: Fix runaway IRQs when falling back from MSI to LSI
    scsi: dpt_i2o: double free on error path
    scsi: cxlflash: Migrate scsi command pointer to AFU command
    scsi: cxlflash: Migrate IOARRIN specific routines to function pointers
    scsi: cxlflash: Cleanup queuecommand()
    scsi: cxlflash: Cleanup send_tmf()
    scsi: cxlflash: Remove AFU command lock
    scsi: cxlflash: Wait for active AFU commands to timeout upon tear down
    scsi: cxlflash: Remove private command pool
    ...

    Linus Torvalds
     

09 Nov, 2016

1 commit


05 Nov, 2016

1 commit


10 Sep, 2016

1 commit

  • The only use for this is for solving a hardware design problem in
    usb of Rockchip RK3288.

    Signed-off-by: Randy Li
    Reviewed-by: Heiko Stuebner
    Signed-off-by: Kishon Vijay Abraham I

    Randy Li
     

04 Jul, 2016

1 commit

  • The initial use for this is for PHYs that have a mode related to USB OTG.
    There are several SoCs (e.g. TI OMAP and DA8xx) that have a mode setting
    in the USB PHY to override OTG VBUS and ID signals.

    Of course, the enum can be expaned in the future to include modes for
    other types of PHYs as well.

    Suggested-by: Kishon Vijay Abraham I
    Signed-off-by: David Lechner

    David Lechner
     

29 Apr, 2016

2 commits

  • Add a new driver for the XUSB pad controller found on NVIDIA Tegra SoCs.
    This hardware block used to be exposed as a pin controller, but it turns
    out that this isn't a good fit. The new driver and DT binding much more
    accurately describe the hardware and are more flexible in supporting new
    SoC generations.

    Acked-by: Kishon Vijay Abraham I
    Signed-off-by: Thierry Reding

    Thierry Reding
     
  • In order to more flexibly support device tree bindings, allow drivers to
    override the container of the child nodes. By default the device node of
    the PHY provider is assumed to be the parent for children, but bindings
    may decide to add additional levels for better organization.

    Acked-by: Kishon Vijay Abraham I
    Signed-off-by: Thierry Reding

    Thierry Reding
     

21 Dec, 2015

1 commit


03 Jun, 2015

1 commit


28 May, 2015

1 commit

  • The sunxi otg phy has a bug where it wrongly detects a high speed squelch
    when reset on the root port gets de-asserted with a lo-speed device.

    The workaround for this is to disable squelch detect before de-asserting
    reset, and re-enabling it after the reset de-assert is done. Add a sunxi
    specific phy function to allow the sunxi-musb glue to do this.

    Acked-by: Kishon Vijay Abraham I
    Signed-off-by: Hans de Goede
    Signed-off-by: Felipe Balbi

    Hans de Goede
     

12 May, 2015

1 commit

  • Some generic drivers, such as ehci, may use multiple phys and for such
    drivers referencing phy(s) by name(s) does not make sense. Instead of
    inventing new naming schemes and using custom code to iterate through them,
    such drivers are better of using nameless phy bindings and using this newly
    introduced API to iterate through them.

    Signed-off-by: Arun Ramamurthy
    Reviewed-by: Ray Jui
    Reviewed-by: Scott Branden
    [kishon@ti.com: fix compilation errors]
    Signed-off-by: Kishon Vijay Abraham I

    Arun Ramamurthy
     

12 Feb, 2015

1 commit

  • Pull first round of SCSI updates from James Bottomley:
    "This is the usual grab bag of driver updates (hpsa, storvsc, mp2sas,
    megaraid_sas, ses) plus an assortment of minor updates.

    There's also an update to ufs which adds new phy drivers and finally a
    new logging infrastructure for SCSI"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (114 commits)
    scsi_logging: return void for dev_printk() functions
    scsi: print single-character strings with seq_putc
    scsi: merge consecutive seq_puts calls
    scsi: replace seq_printf with seq_puts
    aha152x: replace seq_printf with seq_puts
    advansys: replace seq_printf with seq_puts
    scsi: remove SPRINTF macro
    sg: remove an unused variable
    hpsa: Use local workqueues instead of system workqueues
    hpsa: add in P840ar controller model name
    hpsa: add in gen9 controller model names
    hpsa: detect and report failures changing controller transport modes
    hpsa: shorten the wait for the CISS doorbell mode change ack
    hpsa: refactor duplicated scan completion code into a new routine
    hpsa: move SG descriptor set-up out of hpsa_scatter_gather()
    hpsa: do not use function pointers in fast path command submission
    hpsa: print CDBs instead of kernel virtual addresses for uncommon errors
    hpsa: do not use a void pointer for scsi_cmd field of struct CommandList
    hpsa: return failed from device reset/abort handlers
    hpsa: check for ctlr lockup after command allocation in main io path
    ...

    Linus Torvalds