public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@SteelEye.com>
To: dougg@torque.net
Cc: Alexis Bruemmer <alexisb@us.ibm.com>,
	linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH] aic94xx: make use of the new sas_port
Date: Thu, 01 Jun 2006 16:40:30 -0500	[thread overview]
Message-ID: <1149198030.3489.60.camel@mulgrave.il.steeleye.com> (raw)
In-Reply-To: <447F1425.3070205@torque.net>

On Thu, 2006-06-01 at 12:21 -0400, Douglas Gilbert wrote:
> >>Also during the boot process on the x260 with an expander we see these
> >>printk's:
> >>sas: phy[n] matched wide port0
> >>If we are going to print this then we better be sure that this is truly
> >>a wide port.  It seems under the sys/class/ we have both a single
> >>port0:0 and then also port-0:0:[n]-- a port[n] for each phy[n].  and
> >>although each phy seems to have the same sas_address the end_device
> >>attached to that phy have unique addresses.  My understanding is that a
> >>wide port has multiple phys with the same sas address and are attached
> >>to one end device.

Just for reference, this is what my x260 looks like:

./
  +-- phy-0:0/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:0@ -> ../../../../../class/sas_phy/phy-0:0
  |   +-- uevent
  +-- phy-0:1/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:1@ -> ../../../../../class/sas_phy/phy-0:1
  |   +-- uevent
  +-- phy-0:2/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:2@ -> ../../../../../class/sas_phy/phy-0:2
  |   +-- uevent
  +-- phy-0:3/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:3@ -> ../../../../../class/sas_phy/phy-0:3
  |   +-- uevent
  +-- phy-0:4/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:4@ -> ../../../../../class/sas_phy/phy-0:4
  |   +-- uevent
  +-- phy-0:5/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:5@ -> ../../../../../class/sas_phy/phy-0:5
  |   +-- uevent
  +-- phy-0:6/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:6@ -> ../../../../../class/sas_phy/phy-0:6
  |   +-- uevent
  +-- phy-0:7/
  |   +-- port@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_phy:phy-0:7@ -> ../../../../../class/sas_phy/phy-0:7
  |   +-- uevent
  +-- port-0:0/
  |   +-- expander-0:0/
  |   |   +-- phy-0-0:0/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:0@ -> ../../../../../../../class/sas_phy/phy-0-0:0
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:1/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:1@ -> ../../../../../../../class/sas_phy/phy-0-0:1
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:10/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:10@ -> ../../../../../../../class/sas_phy/phy-0-0:10
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:11/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:11@ -> ../../../../../../../class/sas_phy/phy-0-0:11
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:12/
  |   |   |   +-- port@ -> ../../../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0/expander-0:0/port-0:0:0
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:12@ -> ../../../../../../../class/sas_phy/phy-0-0:12
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:2/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:2@ -> ../../../../../../../class/sas_phy/phy-0-0:2
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:3/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:3@ -> ../../../../../../../class/sas_phy/phy-0-0:3
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:4/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:4@ -> ../../../../../../../class/sas_phy/phy-0-0:4
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:5/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:5@ -> ../../../../../../../class/sas_phy/phy-0-0:5
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:6/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:6@ -> ../../../../../../../class/sas_phy/phy-0-0:6
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:7/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:7@ -> ../../../../../../../class/sas_phy/phy-0-0:7
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:8/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:8@ -> ../../../../../../../class/sas_phy/phy-0-0:8
  |   |   |   +-- uevent
  |   |   +-- phy-0-0:9/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-0:9@ -> ../../../../../../../class/sas_phy/phy-0-0:9
  |   |   |   +-- uevent
  |   |   +-- port-0:0:0/
  |   |   |   +-- end_device-0:0-0/
  |   |   |   |   +-- power/
  |   |   |   |   |   +-- state
  |   |   |   |   |   +-- wakeup
  |   |   |   |   +-- sas_device:end_device-0:0-0@ -> ../../../../../../../../class/sas_device/end_device-0:0-0
  |   |   |   |   +-- sas_end_device:end_device-0:0-0@ -> ../../../../../../../../class/sas_end_device/end_device-0:0-0
  |   |   |   |   +-- target0:0:0/
  |   |   |   |   |   +-- 0:0:0:0/
  |   |   |   |   |   |   +-- bus@ -> ../../../../../../../../../../bus/scsi
  |   |   |   |   |   |   +-- delete
  |   |   |   |   |   |   +-- device_blocked
  |   |   |   |   |   |   +-- iocounterbits
  |   |   |   |   |   |   +-- iodone_cnt
  |   |   |   |   |   |   +-- ioerr_cnt
  |   |   |   |   |   |   +-- iorequest_cnt
  |   |   |   |   |   |   +-- model
  |   |   |   |   |   |   +-- power/
  |   |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   |   +-- wakeup
  |   |   |   |   |   |   +-- queue_depth
  |   |   |   |   |   |   +-- queue_type
  |   |   |   |   |   |   +-- rescan
  |   |   |   |   |   |   +-- rev
  |   |   |   |   |   |   +-- scsi_device:0:0:0:0@ -> ../../../../../../../../../../class/scsi_device/0:0:0:0
  |   |   |   |   |   |   +-- scsi_level
  |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   +-- timeout
  |   |   |   |   |   |   +-- type
  |   |   |   |   |   |   +-- uevent
  |   |   |   |   |   |   +-- vendor
  |   |   |   |   |   +-- power/
  |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   +-- wakeup
  |   |   |   |   |   +-- uevent
  |   |   |   |   +-- uevent
  |   |   |   +-- phy-0-0:12@ -> ../../../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:0/expander-0:0/phy-0-0:12
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_port:port-0:0:0@ -> ../../../../../../../class/sas_port/port-0:0:0
  |   |   |   +-- uevent
  |   |   +-- power/
  |   |   |   +-- state
  |   |   |   +-- wakeup
  |   |   +-- sas_device:expander-0:0@ -> ../../../../../../class/sas_device/expander-0:0
  |   |   +-- sas_expander:expander-0:0@ -> ../../../../../../class/sas_expander/expander-0:0
  |   |   +-- uevent
  |   +-- phy-0:0@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:0
  |   +-- phy-0:1@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:1
  |   +-- phy-0:2@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:2
  |   +-- phy-0:3@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:3
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_port:port-0:0@ -> ../../../../../class/sas_port/port-0:0
  |   +-- uevent
  +-- port-0:1/
  |   +-- expander-0:1/
  |   |   +-- phy-0-1:0/
  |   |   |   +-- port@ -> ../../../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1/expander-0:1/port-0:1:0
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:0@ -> ../../../../../../../class/sas_phy/phy-0-1:0
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:1/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:1@ -> ../../../../../../../class/sas_phy/phy-0-1:1
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:10/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:10@ -> ../../../../../../../class/sas_phy/phy-0-1:10
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:11/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:11@ -> ../../../../../../../class/sas_phy/phy-0-1:11
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:12/
  |   |   |   +-- port@ -> ../../../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1/expander-0:1/port-0:1:1
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:12@ -> ../../../../../../../class/sas_phy/phy-0-1:12
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:2/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:2@ -> ../../../../../../../class/sas_phy/phy-0-1:2
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:3/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:3@ -> ../../../../../../../class/sas_phy/phy-0-1:3
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:4/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:4@ -> ../../../../../../../class/sas_phy/phy-0-1:4
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:5/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:5@ -> ../../../../../../../class/sas_phy/phy-0-1:5
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:6/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:6@ -> ../../../../../../../class/sas_phy/phy-0-1:6
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:7/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:7@ -> ../../../../../../../class/sas_phy/phy-0-1:7
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:8/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:8@ -> ../../../../../../../class/sas_phy/phy-0-1:8
  |   |   |   +-- uevent
  |   |   +-- phy-0-1:9/
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_phy:phy-0-1:9@ -> ../../../../../../../class/sas_phy/phy-0-1:9
  |   |   |   +-- uevent
  |   |   +-- port-0:1:0/
  |   |   |   +-- end_device-0:0-0/
  |   |   |   |   +-- power/
  |   |   |   |   |   +-- state
  |   |   |   |   |   +-- wakeup
  |   |   |   |   +-- target0:0:1/
  |   |   |   |   |   +-- 0:0:1:0/
  |   |   |   |   |   |   +-- block:sda@ -> ../../../../../../../../../../block/sda
  |   |   |   |   |   |   +-- bus@ -> ../../../../../../../../../../bus/scsi
  |   |   |   |   |   |   +-- delete
  |   |   |   |   |   |   +-- device_blocked
  |   |   |   |   |   |   +-- driver@ -> ../../../../../../../../../../bus/scsi/drivers/sd
  |   |   |   |   |   |   +-- iocounterbits
  |   |   |   |   |   |   +-- iodone_cnt
  |   |   |   |   |   |   +-- ioerr_cnt
  |   |   |   |   |   |   +-- iorequest_cnt
  |   |   |   |   |   |   +-- model
  |   |   |   |   |   |   +-- power/
  |   |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   |   +-- wakeup
  |   |   |   |   |   |   +-- queue_depth
  |   |   |   |   |   |   +-- queue_type
  |   |   |   |   |   |   +-- rescan
  |   |   |   |   |   |   +-- rev
  |   |   |   |   |   |   +-- scsi_device:0:0:1:0@ -> ../../../../../../../../../../class/scsi_device/0:0:1:0
  |   |   |   |   |   |   +-- scsi_disk:0:0:1:0@ -> ../../../../../../../../../../class/scsi_disk/0:0:1:0
  |   |   |   |   |   |   +-- scsi_level
  |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   +-- timeout
  |   |   |   |   |   |   +-- type
  |   |   |   |   |   |   +-- uevent
  |   |   |   |   |   |   +-- vendor
  |   |   |   |   |   +-- power/
  |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   +-- wakeup
  |   |   |   |   |   +-- uevent
  |   |   |   |   +-- uevent
  |   |   |   +-- phy-0-1:0@ -> ../../../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1/expander-0:1/phy-0-1:0
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_port:port-0:1:0@ -> ../../../../../../../class/sas_port/port-0:1:0
  |   |   |   +-- uevent
  |   |   +-- port-0:1:1/
  |   |   |   +-- end_device-0:1-1/
  |   |   |   |   +-- power/
  |   |   |   |   |   +-- state
  |   |   |   |   |   +-- wakeup
  |   |   |   |   +-- sas_device:end_device-0:1-1@ -> ../../../../../../../../class/sas_device/end_device-0:1-1
  |   |   |   |   +-- sas_end_device:end_device-0:1-1@ -> ../../../../../../../../class/sas_end_device/end_device-0:1-1
  |   |   |   |   +-- target0:1:2/
  |   |   |   |   |   +-- 0:1:2:0/
  |   |   |   |   |   |   +-- bus@ -> ../../../../../../../../../../bus/scsi
  |   |   |   |   |   |   +-- delete
  |   |   |   |   |   |   +-- device_blocked
  |   |   |   |   |   |   +-- iocounterbits
  |   |   |   |   |   |   +-- iodone_cnt
  |   |   |   |   |   |   +-- ioerr_cnt
  |   |   |   |   |   |   +-- iorequest_cnt
  |   |   |   |   |   |   +-- model
  |   |   |   |   |   |   +-- power/
  |   |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   |   +-- wakeup
  |   |   |   |   |   |   +-- queue_depth
  |   |   |   |   |   |   +-- queue_type
  |   |   |   |   |   |   +-- rescan
  |   |   |   |   |   |   +-- rev
  |   |   |   |   |   |   +-- scsi_device:0:1:2:0@ -> ../../../../../../../../../../class/scsi_device/0:1:2:0
  |   |   |   |   |   |   +-- scsi_level
  |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   +-- timeout
  |   |   |   |   |   |   +-- type
  |   |   |   |   |   |   +-- uevent
  |   |   |   |   |   |   +-- vendor
  |   |   |   |   |   +-- power/
  |   |   |   |   |   |   +-- state
  |   |   |   |   |   |   +-- wakeup
  |   |   |   |   |   +-- uevent
  |   |   |   |   +-- uevent
  |   |   |   +-- phy-0-1:12@ -> ../../../../../../../devices/pci0000:01/0000:01:02.0/host0/port-0:1/expander-0:1/phy-0-1:12
  |   |   |   +-- power/
  |   |   |   |   +-- state
  |   |   |   |   +-- wakeup
  |   |   |   +-- sas_port:port-0:1:1@ -> ../../../../../../../class/sas_port/port-0:1:1
  |   |   |   +-- uevent
  |   |   +-- power/
  |   |   |   +-- state
  |   |   |   +-- wakeup
  |   |   +-- sas_device:expander-0:1@ -> ../../../../../../class/sas_device/expander-0:1
  |   |   +-- sas_expander:expander-0:1@ -> ../../../../../../class/sas_expander/expander-0:1
  |   |   +-- uevent
  |   +-- phy-0:4@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:4
  |   +-- phy-0:5@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:5
  |   +-- phy-0:6@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:6
  |   +-- phy-0:7@ -> ../../../../../devices/pci0000:01/0000:01:02.0/host0/phy-0:7
  |   +-- power/
  |   |   +-- state
  |   |   +-- wakeup
  |   +-- sas_port:port-0:1@ -> ../../../../../class/sas_port/port-0:1
  |   +-- uevent
  +-- power/
  |   +-- state
  |   +-- wakeup
  +-- sas_host:host0@ -> ../../../../class/sas_host/host0
  +-- scsi_host:host0@ -> ../../../../class/scsi_host/host0
  +-- uevent

As you see: two wide ports over 8 phys on the HBA then three single
ports on the expanders for the two SES monitors and the one disk.

James



      reply	other threads:[~2006-06-01 21:40 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-31  4:09 [PATCH] aic94xx: make use of the new sas_port James Bottomley
2006-05-31 19:46 ` Alexis Bruemmer
2006-05-31 20:57   ` James Bottomley
2006-05-31 22:00     ` Alexis Bruemmer
2006-05-31 22:11       ` James Bottomley
2006-05-31 21:32   ` Douglas Gilbert
2006-05-31 22:30     ` Alexis Bruemmer
2006-05-31 22:37       ` James Bottomley
2006-05-31 23:16         ` Alexis Bruemmer
2006-06-01 16:21     ` Douglas Gilbert
2006-06-01 21:40       ` James Bottomley [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1149198030.3489.60.camel@mulgrave.il.steeleye.com \
    --to=james.bottomley@steeleye.com \
    --cc=alexisb@us.ibm.com \
    --cc=dougg@torque.net \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox