mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Conke Hu" <conke.hu@gmail.com>
To: "Jeff Garzik" <jeff@garzik.org>, Alan <alan@lxorguk.ukuu.org.uk>,
	"Andrew Morton" <akpm@osdl.org>
Cc: "Linux kernel mailing list" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Add pci class code for SATA
Date: Wed, 20 Dec 2006 11:13:02 +0800	[thread overview]
Message-ID: <5767b9100612191913p29675249v18803c65f536bda4@mail.gmail.com> (raw)
In-Reply-To: <45883E64.20400@garzik.org>

On 12/20/06, Jeff Garzik <jeff@garzik.org> wrote:
> Conke Hu wrote:
> > Add pci class code 0x0106 for SATA to pci_ids.h
> >
> > signed-off-by: conke.hu@gmail.com
> > --------------------
> > --- linux-2.6.20-rc1/include/linux/pci_ids.h.orig     2006-12-20
> > 01:58:30.000000000 +0800
> > +++ linux-2.6.20-rc1/include/linux/pci_ids.h  2006-12-20
> > 01:59:07.000000000 +0800
> > @@ -15,6 +15,7 @@
> >  #define PCI_CLASS_STORAGE_FLOPPY     0x0102
> >  #define PCI_CLASS_STORAGE_IPI                0x0103
> >  #define PCI_CLASS_STORAGE_RAID               0x0104
> > +#define PCI_CLASS_STORAGE_SATA               0x0106
> >  #define PCI_CLASS_STORAGE_SAS                0x0107
> >  #define PCI_CLASS_STORAGE_OTHER              0x0180
>
> Two comments:
>
> 1) I think "_SATA" is an inaccurate description.  It should be _AHCI AFAICS.
>
> 2) Typically we don't add constants unless they are used somewhere...
>
>         Jeff
>

Hi Jeff,
    According to PCI spec 3.0, 0x0106 means SATA controller, 0x010601
means AHCI and 0x010600 means vendor specific SATA controller. Pls see
the following table (PCI spec 3.0 P296):

Base Class 	Sub-Class 	Interface 	Meaning
--------------------------------------------------------
 		00h		00h 		SCSI bus controller
		------------------------------------------------
		01h 		xxh 		IDE controller
		-----------------------------------------------
		02h 		00h 		Floppy disk controller
		-----------------------------------------------------
		03h 		00h 		IPI bus controller
		--------------------------------------------------
		04h 		00h 		RAID controller
01h		------------------------------------------------
				20h 		ATA controller with ADMA interface
		05h		---------------------------------------------------
				30h 		ATA controller with ADMA interface
		-------------------------------------------------------------------
				00h 		Serial ATA controller–vendor specific interface
		06h		-----------------------------------------------------------------
		 		01h 		Serial ATA controller–AHCI 1.0 interface
		-------------------------------------------------------------------------
		07h 		00h 		Serial Attached SCSI (SAS) controller
		---------------------------------------------------------------------
		80h 		00h 		Other mass storage controller
------------------------------------------------------------------------------


So, I think, the following macro is correct:
#define PCI_CLASS_STORAGE_SATA               0x0106
If you would define AHCI class code, it should be 0x010601, not 0x0106:
#define PCI_CLASS_STORAGE_SATA_AHCI               0x010601

And, I think that PCI_CLASS_STORAGE_SATA had better be added to
pci_ids.h since the class code 0x0106 is used more than once. e.g.
ahci.c uses the magic number 0x0106 twice, and it might be used more
in future.

Best regards,
Conke

  reply	other threads:[~2006-12-20  3:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-17 19:15 [PATCH] Use ARRAY_SIZE() macro in i386 relocs.c file Robert P. J. Day
2006-12-19 18:11 ` [PATCH] Add pci class code for SATA Conke Hu
2006-12-19 19:32   ` Jeff Garzik
2006-12-20  3:13     ` Conke Hu [this message]
2006-12-20  3:41       ` Conke Hu
2006-12-20  3:52         ` Conke Hu
2006-12-20  3:58           ` Randy Dunlap
2007-01-08  2:29           ` Jeff Garzik

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=5767b9100612191913p29675249v18803c65f536bda4@mail.gmail.com \
    --to=conke.hu@gmail.com \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=jeff@garzik.org \
    --cc=linux-kernel@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

all inboxes | Powered by JetHome®