linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luben Tuikov <luben_tuikov@adaptec.com>
To: Christoph Hellwig <hch@lst.de>
Cc: jejb@steeleye.com, Eric.Moore@lsil.com, linux-scsi@vger.kernel.org
Subject: Re: [PATCH 1/4] sas: add flag for locally attached PHYs
Date: Wed, 19 Oct 2005 15:24:13 -0400	[thread overview]
Message-ID: <43569D5D.1000801@adaptec.com> (raw)
In-Reply-To: <20051019180117.GB21488@lst.de>

On 10/19/05 14:01, Christoph Hellwig wrote:
> Add a flag to mark a PHY as attached to the HBA as opposed to beeing on
> an expander.  This is needed because various features are only supported
> on those.  This is a crude hack, the proper fix would be to use
> different classes for host-attached vs expander phys.  I'm looking into
> that.

The phy isn't quite "attached" -- i.e. at software level you do not
care about that.  At least I've never heard anyone (not of "the community")
say that a phy is "attached".

You don't need to represent that.  While you can, you completely do not
need to do it.  All you should care about is the _port_.  Take a look
at SAS section 4.

Also take a look at:
drivers/scsi/sas/sas_phy.c,
drivers/scsi/sas/sas_port.c and
drivers/scsi/sas/sas_discover.c .

Storage GUI applications can read the expander configuration using SMP
and show this as I've shown in Announcement 1 here:
http://marc.theaimsgroup.com/?l=linux-scsi&m=112629509826900&w=2

All you should care about is the _local_ phys since those are
under your control, and the port formed.

	Luben


> 
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> 
> Index: linux-2.6/drivers/message/fusion/mptsas.c
> ===================================================================
> --- linux-2.6.orig/drivers/message/fusion/mptsas.c	2005-10-19 15:30:29.000000000 +0200
> +++ linux-2.6/drivers/message/fusion/mptsas.c	2005-10-19 19:49:35.000000000 +0200
> @@ -760,7 +760,7 @@
>  }
>  
>  static int mptsas_probe_one_phy(struct device *dev,
> -		struct mptsas_phyinfo *phy_info, int index)
> +		struct mptsas_phyinfo *phy_info, int index, int local)
>  {
>  	struct sas_phy *port;
>  	int error;
> @@ -853,6 +853,9 @@
>  		break;
>  	}
>  
> +	if (local)
> +		port->local_attached = 1;
> +
>  	error = sas_phy_add(port);
>  	if (error) {
>  		sas_phy_free(port);
> @@ -918,7 +921,7 @@
>  		}
>  
>  		mptsas_probe_one_phy(&ioc->sh->shost_gendev,
> -				     &port_info->phy_info[i], *index);
> +				     &port_info->phy_info[i], *index, 1);
>  		(*index)++;
>  	}
>  
> @@ -989,7 +992,8 @@
>  			}
>  		}
>  
> -		mptsas_probe_one_phy(parent, &port_info->phy_info[i], *index);
> +		mptsas_probe_one_phy(parent, &port_info->phy_info[i],
> +				     *index, 0);
>  		(*index)++;
>  	}
>  
> Index: linux-2.6/include/scsi/scsi_transport_sas.h
> ===================================================================
> --- linux-2.6.orig/include/scsi/scsi_transport_sas.h	2005-10-19 15:30:29.000000000 +0200
> +++ linux-2.6/include/scsi/scsi_transport_sas.h	2005-10-19 19:49:35.000000000 +0200
> @@ -56,6 +56,9 @@
>  	enum sas_linkrate	maximum_linkrate;
>  	u8			port_identifier;
>  
> +	/* internal state */
> +	unsigned int		local_attached : 1;
> +
>  	/* link error statistics */
>  	u32			invalid_dword_count;
>  	u32			running_disparity_error_count;
> Index: linux-2.6/drivers/scsi/scsi_transport_sas.c
> ===================================================================
> --- linux-2.6.orig/drivers/scsi/scsi_transport_sas.c	2005-10-19 19:49:35.000000000 +0200
> +++ linux-2.6/drivers/scsi/scsi_transport_sas.c	2005-10-19 19:50:55.000000000 +0200
> @@ -266,6 +266,9 @@
>  	struct sas_internal *i = to_sas_internal(shost->transportt);	\
>  	int error;							\
>  									\
> +	if (!phy->local_attached)					\
> +		return -EINVAL;						\
> +									\
>  	error = i->f->get_linkerrors(phy);				\
>  	if (error)							\
>  		return error;						\
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


-- 
http://linux.adaptec.com/sas/
http://www.adaptec.com/sas/

  reply	other threads:[~2005-10-19 19:24 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-19 18:01 [PATCH 1/4] sas: add flag for locally attached PHYs Christoph Hellwig
2005-10-19 19:24 ` Luben Tuikov [this message]
2005-10-19 19:37   ` Luben Tuikov
  -- strict thread matches above, loose matches on Subject: below --
2005-10-19 20:08 Moore, Eric Dean
2005-10-19 21:00 ` Luben Tuikov
2005-10-20 14:11   ` Christoph Hellwig
2005-10-20 15:29     ` Luben Tuikov
2005-10-20 15:49       ` Christoph Hellwig
2005-10-20 16:08         ` Luben Tuikov
2005-10-20 15:25 Moore, Eric Dean
2005-10-20 15:55 ` Luben Tuikov
2005-10-20 16:01 ` Christoph Hellwig
2005-10-20 16:51   ` Luben Tuikov
2005-10-20 17:03     ` Christoph Hellwig
2005-10-20 17:22       ` Arjan van de Ven
2005-10-20 20:10         ` Luben Tuikov
2005-10-21  8:16           ` Arjan van de Ven
2005-10-20 20:02       ` Luben Tuikov
2005-10-21  0:01         ` Andrew Patterson
2005-10-21  9:06           ` Arjan van de Ven
2005-10-21 17:05             ` Andrew Patterson
2005-10-21 17:18               ` Arjan van de Ven
2005-10-21 18:57               ` Luben Tuikov
2005-10-21 17:32           ` Luben Tuikov
2005-10-21  1:50 ` Douglas Gilbert
2005-10-21  2:16   ` Jeff Garzik
2005-10-21  3:25     ` Douglas Gilbert
2005-10-21 18:04   ` Luben Tuikov
2005-10-20 15:45 Moore, Eric Dean
2005-10-20 16:16 ` Luben Tuikov

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=43569D5D.1000801@adaptec.com \
    --to=luben_tuikov@adaptec.com \
    --cc=Eric.Moore@lsil.com \
    --cc=hch@lst.de \
    --cc=jejb@steeleye.com \
    --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;
as well as URLs for NNTP newsgroup(s).