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
     

21 Jan, 2015

1 commit


23 Dec, 2014

1 commit

  • Prior to DRA74x silicon rev 1.1, pcie_pcs register bits 8-15 and bits 16-23
    were used to configure RC delay count for phy1 and phy2 respectively.
    phyid was used as index to distinguish the phys and to configure the delay
    values appropriately.

    As of DRA74x silicon rev 1.1, pcie_pcs register definition has changed.
    Bits 16-23 are used to configure delay values for *both* phy1 and phy2.

    Hence phyid is no longer required.

    So, drop id field from ti_pipe3 structure and its subsequent references
    for configuring pcie_pcs register.

    Also, pcie_pcs register now needs to be configured with delay value of 0x96
    at bit positions 16-23. See register description of CTRL_CORE_PCIE_PCS in
    ARM572x TRM, SPRUHZ6, October 2014, section 18.5.2.2, table 18-1804.

    This is needed to ensure Gen2 cards are enumerated consistently.

    DRA72x silicon behaves same way as DRA74x rev 1.1 as far as this functionality
    is considered.

    Test results on DRA74x and DRA72x EVMs:

    Before patch
    ------------
    DRA74x ES 1.0: Gen1 cards work, Gen2 cards do not work (expected result due to
    silicon errata)
    DRA74x ES 1.1: Gen1 cards work, Gen2 cards do not work sometimes due to incorrect
    programming of register

    DRA72x: Gen1 cards work, Gen2 cards do not work sometimes due to incorrect
    programming of register

    After patch
    -----------
    DRA74x ES 1.0: Gen1 cards work, Gen2 cards do not work (expected result due to
    silicon errata)
    DRA74x ES 1.1: Gen1 cards work, Gen2 cards work consistently.

    DRA72x: Gen1 and Gen2 cards enumerate consistently.

    Signed-off-by: Vignesh R
    Signed-off-by: Kishon Vijay Abraham I

    Vignesh R
     

22 Nov, 2014

1 commit

  • The users of the old method are now converted to the new one.

    Signed-off-by: Heikki Krogerus
    [ kishon@ti.com : made phy-berlin-usb.c and phy-miphy28lp.c to use the updated
    devm_phy_create API.]
    Signed-off-by: Kishon Vijay Abraham I

    Heikki Krogerus
     

21 Nov, 2014

2 commits


22 Jul, 2014

3 commits


25 Apr, 2014

1 commit

  • This fixes a regression on Keystone 2 platforms caused by patch
    57303488cd37da58263e842de134dc65f7c626d5
    "usb: dwc3: adapt dwc3 core to use Generic PHY Framework" which adds
    optional support of generic phy in DWC3 core.

    On Keystone 2 platforms the USB is not working now because
    CONFIG_GENERIC_PHY isn't set and, as result, Generic PHY APIs stubs
    return -ENOSYS always. The log shows:
    dwc3 2690000.dwc3: failed to initialize core
    dwc3: probe of 2690000.dwc3 failed with error -38

    Hence, fix it by making NULL a valid phy reference in Generic PHY
    APIs stubs in the same way as it was done by the patch
    04c2facad8fee66c981a51852806d8923336f362 "drivers: phy: Make NULL
    a valid phy reference".

    Acked-by: Felipe Balbi
    Acked-by: Santosh Shilimkar
    Signed-off-by: Grygorii Strashko
    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Greg Kroah-Hartman

    Grygorii Strashko
     

09 Mar, 2014

3 commits

  • Rename struct omap_control_usb to struct omap_control_phy since it can
    be used to control PHY of USB, SATA and PCIE. Also move the driver and
    include files under *phy* and made the corresponding changes in the users
    of phy-omap-control.

    Signed-off-by: Kishon Vijay Abraham I
    Signed-off-by: Roger Quadros
    Acked-by: Felipe Balbi

    Kishon Vijay Abraham I
     
  • Enable the dra7x errata workaround for false disconnect problem
    with USB2PHY. False disconnects were detected with some of the devices.
    Reduce the sensitivity of the disconnect logic within the USB2PHY subsystem
    to enusre these false disconnects are not registered.

    [george.cherian@ti.com]
    While at that, pass proper flags for each SoC's. This is a common driver
    used across OMAP4,OMAP5,DRA7xx and AM437x USB2PHY.

    False disconnect workaround is currently applicable for only DRA7x.

    Signed-off-by: Austin Beam
    Signed-off-by: George Cherian
    Signed-off-by: Kishon Vijay Abraham I

    Austin Beam
     
  • Adapt phy-omap-usb2 driver for AM437x.
    - Add new comaptible "ti,am437x-usb2" for AM437x
    - Pass proper data to differentiate AM437x and others.
    - AM437x doesnot support set_vbus and start_srp.

    Signed-off-by: George Cherian
    Signed-off-by: Kishon Vijay Abraham I

    George Cherian
     

08 Mar, 2014

3 commits

  • Adding devm_of_phy_get will allow to get phys by supplying a
    pointer to the struct device_node instead of struct device.

    Signed-off-by: Kamil Debski
    Reviewed-by: Tomasz Figa
    Signed-off-by: Kishon Vijay Abraham I

    Kamil Debski
     
  • Previously the of_phy_get function took a struct device * and
    was declared static. It was impossible to call it from
    another driver and thus it was impossible to get phy defined
    for a given node. The old function was renamed to _of_phy_get
    and was left for internal use. of_phy_get function was added
    and it was exported. The function enables to get a phy for
    a given device tree node.

    Signed-off-by: Kamil Debski
    Reviewed-by: Tomasz Figa
    Signed-off-by: Kishon Vijay Abraham I

    Kamil Debski
     
  • No functional change. Moved omap_usb.h from linux/usb/ to linux/phy/.
    Also removed the unused members of struct omap_usb (after phy-omap-pipe3
    started using it's own header file)

    Signed-off-by: Kishon Vijay Abraham I

    Kishon Vijay Abraham I
     

05 Feb, 2014

1 commit

  • Add devm_phy_optional_get and phy_optional_get, which should be used
    when the phy is optional. They does not return an error when the phy
    does not exist, rather they returns NULL, which is considered as a valid
    phy, but results in NOPs when used with the consumer API.

    Signed-off-by: Andrew Lunn
    Tested-by: Gregory CLEMENT
    Acked-by: Kishon Vijay Abraham I
    Signed-off-by: Jason Cooper

    Andrew Lunn
     

24 Dec, 2013

1 commit

  • This adds a pair of APIs that allows the generic PHY subsystem to
    provide information on the PHY bus width. The PHY provider driver may
    use phy_set_bus_width() to set the bus width that the PHY supports.
    The controller driver may then use phy_get_bus_width() to fetch the
    PHY bus width in order to properly configure the controller.

    Signed-off-by: Matt Porter
    Acked-by: Kishon Vijay Abraham I
    Signed-off-by: Felipe Balbi

    Matt Porter
     

28 Sep, 2013

1 commit

  • The PHY framework provides a set of APIs for the PHY drivers to
    create/destroy a PHY and APIs for the PHY users to obtain a reference to the
    PHY with or without using phandle. For dt-boot, the PHY drivers should
    also register *PHY provider* with the framework.

    PHY drivers should create the PHY by passing id and ops like init, exit,
    power_on and power_off. This framework is also pm runtime enabled.

    The documentation for the generic PHY framework is added in
    Documentation/phy.txt and the documentation for dt binding can be found at
    Documentation/devicetree/bindings/phy/phy-bindings.txt

    Cc: Tomasz Figa
    Cc: Greg Kroah-Hartman
    Signed-off-by: Kishon Vijay Abraham I
    Acked-by: Felipe Balbi
    Tested-by: Sylwester Nawrocki
    Signed-off-by: Greg Kroah-Hartman

    Kishon Vijay Abraham I