1. 18 5月, 2012 5 次提交
    • D
      isci: fix 'link-up' events occur after 'start-complete' · 50a92d93
      Dan Williams 提交于
      The call to wait_for_start() is meant to ensure that all links have been
      given a chance to come up before letting the kernel proceed with
      probing.  However, the implementation is not correctly syncing with the
      port configuration agent.  In the MPC case the ports are hard-coded, in
      the APC case we need to wait for the port-configuration to form ports
      from the started phys.
      
      Towards that end increase the timeout for the APC agent to form ports,
      and delay start complete until all phys are out of link-training.
      
      Cc: <stable@vger.kernel.org>
      Cc: Richard Boyd <richard.g.boyd@intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      50a92d93
    • D
      isci: fix controller stop · eb608c3c
      Dan Williams 提交于
      1/ notify waiters when controller stop completes (fixes 10 second stall
         unloading the driver)
      2/ make sure phy stop is after port and device stop
      
      Cc: Richard Boyd <richard.g.boyd@intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      eb608c3c
    • D
      isci: refactor initialization for S3/S4 · abec912d
      Dan Williams 提交于
      Based on an original implementation by Ed Nadolski and Artur Wojcik
      
      In preparation for S3/S4 support refactor initialization so that
      driver-load and resume-from-suspend can share the common init path of
      isci_host_init().  Organize the initialization into objects that are
      self-contained to the driver (initialized by isci_host_init) versus
      those that have some upward registration (initialized at allocation time
      asd_sas_phy, asd_sas_port, dma allocations).  The largest change is
      moving the the validation of the oem and module parameters from
      isci_host_init() to isci_host_alloc().
      
      The S3/S4 approach being taken is that libsas will be tasked with
      remembering the state of the domain and the lldd is free to be
      forgetful.  In the case of isci we'll just re-init using a subset of the
      normal driver load path.
      
      [clean up some unused / mis-indented function definitions in host.h]
      Signed-off-by: NEd Nadolski <edmund.nadolski@intel.com>
      Signed-off-by: NArtur Wojcik <artur.wojcik@intel.com>
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      abec912d
    • D
      isci: kill ->status, and ->state_lock in isci_host · 1844e478
      Dan Williams 提交于
      They serve no incremental purpose over the existing sas_ha state.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      1844e478
    • D
      isci: kill ->is_direct_attached · 11cc5183
      Dan Williams 提交于
      domain_device ->parent conveys the same information.
      
      Occurrences of ->is_direct_attached appear next to incomplete open-coded
      versions of dev_is_sata(), clean those up as well.
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      11cc5183
  2. 01 3月, 2012 1 次提交
    • D
      [SCSI] isci: kill iphy->isci_port lookups · c132f692
      Dan Williams 提交于
      This field is a holdover from the OS abstraction conversion.  The stable
      phy to port lookups are done via iphy->ownining_port under scic_lock.
      After this conversion to use port->lldd_port the only volatile lookup is
      the initial lookup in isci_port_formed().  After that point any lookup
      via a successfully notified domain_device is guaranteed to be valid
      until the domain_device is destroyed.
      
      Delete ->start_complete as it is only set once and is set as a
      consequence of the port going link up, by definition of getting a port
      formed event the port is "ready".
      
      While we are correcting port lookups also move the asd_sas_port table
      out from under the isci_port.  This is to preclude any temptation to use
      container_of() to convert an asd_sas_port to an isci_port, the
      association is dynamic and under libsas control.
      Tested-by: NMaciej Trela <maciej.trela@intel.com>
      [dmilburn@redhat.com: fix i686 compile error]
      Signed-off-by: NDan Williams <dan.j.williams@intel.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      c132f692
  3. 16 1月, 2012 2 次提交
  4. 22 9月, 2011 1 次提交
  5. 24 8月, 2011 1 次提交
  6. 03 7月, 2011 30 次提交