Linux ATA/IDE development
 help / color / mirror / Atom feed
* Re: Acard ATP8620 2SATA / 1 IDE  driver - AHCI.C Nov082007
  2007-11-08 11:34               ` Re:Acard ATP8620 2SATA / 1 IDE driver - AHCI.C Nov082007 jameshsu
@ 2007-11-08 16:22                 ` Jeff Garzik
  2007-11-08 19:52                   ` Mark Lord
  2007-11-27 10:18                   ` jameshsu
  0 siblings, 2 replies; 7+ messages in thread
From: Jeff Garzik @ 2007-11-08 16:22 UTC (permalink / raw)
  To: jameshsu
  Cc: Jason Wu, DerweiChen (陳德威), LaurenceWu,
	Andrew Morton, IDE/ATA development list, tytso, Matti Aarnio,
	James Bottomley, Daniel Weng

On Thu, Nov 08, 2007 at 07:34:22PM +0800, jameshsu wrote:
> From: LaurenceWu

> We didn't study about ata/ahci.c, but it should be based on AHCI1.0 or 1.1
> spec. That is, NO P.M. FIS base switching, but supports both non-NCQ and NCQ
> protocols.
> 
> For NCQ or nonNCQ, 8620 is very AHCI-like, although not fully compatible,
> programmer can easily modify standard ahci.c
> for 8620. The main differences between 8620 and AHCI are :
> 
> 1. PRD table format changed, (please compare AHCI 1.x section 4.2.3.3 and
> 8620 datasheet section 7.3), 'I' bit in 8620 is defined as 'EOT' and NO
> PRDTL value are available in the
>     Command List Structure.
> 
> 2. For NCQ transfer, PxIS bit 3(SDBS) is changed. ATP8620 add the Reg_144h
> to accumulate 32 Sactive bits in each SDB FIS.
>     The Reg_144h is RWC and all its 32 bits are 'ORed'  to form the PxIS
> bit3 and interrupt, if PxIE bit 3 enabled.
> 
> Yes.  Modifying the ata/ahci.c is OK to support atp8620.

This is good information, thanks.

After studying the datasheet I also noted a couple differences:

1) Port Multiplier support appears different from standard AHCI.

2) This chip includes target mode support.  Very nice, well done!
I hope that standard AHCI eventually supports this nice feature!

	Jeff




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Acard ATP8620 2SATA / 1 IDE  driver - AHCI.C Nov082007
  2007-11-08 16:22                 ` Acard " Jeff Garzik
@ 2007-11-08 19:52                   ` Mark Lord
  2007-11-08 20:09                     ` Jeff Garzik
  2007-11-27 10:18                   ` jameshsu
  1 sibling, 1 reply; 7+ messages in thread
From: Mark Lord @ 2007-11-08 19:52 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: IDE/ATA development list, Tejun Heo, Alan Cox

Jeff Garzik wrote:
>..
> 2) This chip includes target mode support.  Very nice, well done!
> I hope that standard AHCI eventually supports this nice feature!
..

Speaking of which.  Do we have a strategy as to how to implement/support
the target side of target mode on controllers which can do it?

The Marvell chips also have a target mode feature, and I'd like to add
support for it soon-ish, but it's now clear how you would like it plumbed
into libata.

It's almost like a separate driver/subsystem, except that would be very silly.

???

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Acard ATP8620 2SATA / 1 IDE  driver - AHCI.C Nov082007
  2007-11-08 19:52                   ` Mark Lord
@ 2007-11-08 20:09                     ` Jeff Garzik
  2007-11-08 20:19                       ` Mark Lord
  0 siblings, 1 reply; 7+ messages in thread
From: Jeff Garzik @ 2007-11-08 20:09 UTC (permalink / raw)
  To: Mark Lord; +Cc: IDE/ATA development list, Tejun Heo, Alan Cox

On Thu, Nov 08, 2007 at 02:52:26PM -0500, Mark Lord wrote:
> Jeff Garzik wrote:
> >..
> >2) This chip includes target mode support.  Very nice, well done!
> >I hope that standard AHCI eventually supports this nice feature!
> ..
> 
> Speaking of which.  Do we have a strategy as to how to implement/support
> the target side of target mode on controllers which can do it?
> 
> The Marvell chips also have a target mode feature, and I'd like to add
> support for it soon-ish, but it's now clear how you would like it plumbed
> into libata.
> 
> It's almost like a separate driver/subsystem, except that would be very 
> silly.

I'm letting the SCSI folks do the heavy lifting, implementing SCSI
target mode -- an effort already quite well along.

We should be able to piggyback off of that work.

	Jeff



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Acard ATP8620 2SATA / 1 IDE  driver - AHCI.C Nov082007
  2007-11-08 20:09                     ` Jeff Garzik
@ 2007-11-08 20:19                       ` Mark Lord
  2007-11-08 20:31                         ` Jeff Garzik
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Lord @ 2007-11-08 20:19 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: IDE/ATA development list, Tejun Heo, Alan Cox

Jeff Garzik wrote:
> On Thu, Nov 08, 2007 at 02:52:26PM -0500, Mark Lord wrote:
>> Jeff Garzik wrote:
>>> ..
>>> 2) This chip includes target mode support.  Very nice, well done!
>>> I hope that standard AHCI eventually supports this nice feature!
>> ..
>>
>> Speaking of which.  Do we have a strategy as to how to implement/support
>> the target side of target mode on controllers which can do it?
>>
>> The Marvell chips also have a target mode feature, and I'd like to add
>> support for it soon-ish, but it's now clear how you would like it plumbed
>> into libata.
>>
>> It's almost like a separate driver/subsystem, except that would be very 
>> silly.
> 
> I'm letting the SCSI folks do the heavy lifting, implementing SCSI
> target mode -- an effort already quite well along.
> 
> We should be able to piggyback off of that work.
..

MMmm..  I wonder what the most common use case is for target mode?

Everybody I've dealt with thus far uses it as a high-speed local comms interface,
which would suggest that it might be done as a network interface (ethernet emulation).

But that would confusingly go across driver subsystems,
despite that this is how it actually is used.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Acard ATP8620 2SATA / 1 IDE  driver - AHCI.C Nov082007
  2007-11-08 20:19                       ` Mark Lord
@ 2007-11-08 20:31                         ` Jeff Garzik
  0 siblings, 0 replies; 7+ messages in thread
From: Jeff Garzik @ 2007-11-08 20:31 UTC (permalink / raw)
  To: Mark Lord; +Cc: IDE/ATA development list, Tejun Heo, Alan Cox

On Thu, Nov 08, 2007 at 03:19:52PM -0500, Mark Lord wrote:
> Jeff Garzik wrote:
> >On Thu, Nov 08, 2007 at 02:52:26PM -0500, Mark Lord wrote:
> >>Jeff Garzik wrote:
> >>>..
> >>>2) This chip includes target mode support.  Very nice, well done!
> >>>I hope that standard AHCI eventually supports this nice feature!
> >>..
> >>
> >>Speaking of which.  Do we have a strategy as to how to implement/support
> >>the target side of target mode on controllers which can do it?
> >>
> >>The Marvell chips also have a target mode feature, and I'd like to add
> >>support for it soon-ish, but it's now clear how you would like it plumbed
> >>into libata.
> >>
> >>It's almost like a separate driver/subsystem, except that would be very 
> >>silly.
> >
> >I'm letting the SCSI folks do the heavy lifting, implementing SCSI
> >target mode -- an effort already quite well along.
> >
> >We should be able to piggyback off of that work.
> ..
> 
> MMmm..  I wonder what the most common use case is for target mode?
> 
> Everybody I've dealt with thus far uses it as a high-speed local comms 
> interface,
> which would suggest that it might be done as a network interface (ethernet 
> emulation).
> 
> But that would confusingly go across driver subsystems,
> despite that this is how it actually is used.

The low-level driver itself will just be a dumb DMA send/receive engine,
with submit/completion APIs highly similar to the existing ones.  Then
you can easily provide a network interface interface (not a typo) on top
of that.

The biggest use case I've seen is in the embedded space, where you
really are creating a SCSI (or ATA) target, that appears to the
initiator/client to be a real SCSI-or-ATA device.

There are certainly other uses:  networking, creating a cheap SATA bus
analyzer, creating a cheap SATA bridge, ...

My main goal is to ensure that the low-level driver is as simple as
possible, which permits upper layers to actually figure out what
purposes it shall use.

Modern SATA is just a DMA engine with PHY control anyway (just like
networking), so we really just need to be sure to abstract away
initiator-mode (aka host mode) specifics in drivers that support target
mode.

	Jeff




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Acard ATP8620 2SATA / 1 IDE  driver - AHCI.C Nov082007
  2007-11-08 16:22                 ` Acard " Jeff Garzik
  2007-11-08 19:52                   ` Mark Lord
@ 2007-11-27 10:18                   ` jameshsu
  1 sibling, 0 replies; 7+ messages in thread
From: jameshsu @ 2007-11-27 10:18 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: James Bottomley, Matti Aarnio, tytso, IDE/ATA development list,
	Andrew Morton

Jeff,

First, appreciate for taking few minutes to answer my short question:

1) How is the status of ACARD Linux SATA driver after spec studying??.
Any progress and any qustion/help needed from Acard, esp., AHCI support??
If you have draft open source(driver) now, do you mind to share with us!
Please advise! Thanks!

Best regards & happy holiday season!

James
----- Original Message -----
From: Jeff Garzik
To: jameshsu
Cc: Jason Wu ; LaurenceWu ; Andrew Morton ; IDE/ATA development list ;
tytso@us.ibm.com ; Matti Aarnio ; James Bottomley ; Daniel Weng
Sent: Friday, November 09, 2007 12:22 AM
Subject: Re: Acard ATP8620 2SATA / 1 IDE driver - AHCI.C Nov082007


On Thu, Nov 08, 2007 at 07:34:22PM +0800, jameshsu wrote:
> From: LaurenceWu

> We didn't study about ata/ahci.c, but it should be based on AHCI1.0 or 1.1
> spec. That is, NO P.M. FIS base switching, but supports both non-NCQ and
NCQ
> protocols.
>
> For NCQ or nonNCQ, 8620 is very AHCI-like, although not fully compatible,
> programmer can easily modify standard ahci.c
> for 8620. The main differences between 8620 and AHCI are :
>
> 1. PRD table format changed, (please compare AHCI 1.x section 4.2.3.3 and
> 8620 datasheet section 7.3), 'I' bit in 8620 is defined as 'EOT' and NO
> PRDTL value are available in the
>     Command List Structure.
>
> 2. For NCQ transfer, PxIS bit 3(SDBS) is changed. ATP8620 add the Reg_144h
> to accumulate 32 Sactive bits in each SDB FIS.
>     The Reg_144h is RWC and all its 32 bits are 'ORed'  to form the PxIS
> bit3 and interrupt, if PxIE bit 3 enabled.
>
> Yes.  Modifying the ata/ahci.c is OK to support atp8620.

This is good information, thanks.

After studying the datasheet I also noted a couple differences:

1) Port Multiplier support appears different from standard AHCI.

2) This chip includes target mode support.  Very nice, well done!
I hope that standard AHCI eventually supports this nice feature!

Jeff


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Acard ATP8620 2SATA / 1 IDE  driver - AHCI.C Nov082007
@ 2007-12-17  2:35 jameshsu
  0 siblings, 0 replies; 7+ messages in thread
From: jameshsu @ 2007-12-17  2:35 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Andrew Morton, IDE/ATA development list, tytso, Matti Aarnio,
	James Bottomley

Jeff,

Do you know who has SATA sample driver w/ AHCI support for reference (esp., 
for Acard SATA chip)??
If possible, please advise in your earlier convenience ! Appreciate for your 
help!
James
----- Original Message ----- 
From: jameshsu
To: Jeff Garzik
Cc: James Bottomley ; Matti Aarnio ; tytso@us.ibm.com ; IDE/ATA development 
list ; Andrew Morton
Sent: Tuesday, November 27, 2007 6:18 PM
Subject: Re: Acard ATP8620 2SATA / 1 IDE driver - AHCI.C Nov082007


Jeff,

First, appreciate for taking few minutes to answer my short question:

1) How is the status of ACARD Linux SATA driver after spec studying??.
Any progress and any qustion/help needed from Acard, esp., AHCI support??
If you have draft open source(driver) now, do you mind to share with us!
Please advise! Thanks!

Best regards & happy holiday season!

James
----- Original Message -----
From: Jeff Garzik
To: jameshsu
Cc: Jason Wu ; LaurenceWu ; Andrew Morton ; IDE/ATA development list ;
tytso@us.ibm.com ; Matti Aarnio ; James Bottomley ; Daniel Weng
Sent: Friday, November 09, 2007 12:22 AM
Subject: Re: Acard ATP8620 2SATA / 1 IDE driver - AHCI.C Nov082007


On Thu, Nov 08, 2007 at 07:34:22PM +0800, jameshsu wrote:
> From: LaurenceWu

> We didn't study about ata/ahci.c, but it should be based on AHCI1.0 or 1.1
> spec. That is, NO P.M. FIS base switching, but supports both non-NCQ and
NCQ
> protocols.
>
> For NCQ or nonNCQ, 8620 is very AHCI-like, although not fully compatible,
> programmer can easily modify standard ahci.c
> for 8620. The main differences between 8620 and AHCI are :
>
> 1. PRD table format changed, (please compare AHCI 1.x section 4.2.3.3 and
> 8620 datasheet section 7.3), 'I' bit in 8620 is defined as 'EOT' and NO
> PRDTL value are available in the
>     Command List Structure.
>
> 2. For NCQ transfer, PxIS bit 3(SDBS) is changed. ATP8620 add the Reg_144h
> to accumulate 32 Sactive bits in each SDB FIS.
>     The Reg_144h is RWC and all its 32 bits are 'ORed'  to form the PxIS
> bit3 and interrupt, if PxIE bit 3 enabled.
>
> Yes.  Modifying the ata/ahci.c is OK to support atp8620.

This is good information, thanks.

After studying the datasheet I also noted a couple differences:

1) Port Multiplier support appears different from standard AHCI.

2) This chip includes target mode support.  Very nice, well done!
I hope that standard AHCI eventually supports this nice feature!

Jeff 


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-12-17  2:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-17  2:35 Acard ATP8620 2SATA / 1 IDE driver - AHCI.C Nov082007 jameshsu
     [not found] <00b501c81ace$ece895f0$6200a8c0@jameshsu>
2007-10-30 10:24 ` Should be Acard ATP8620 2SATA / 1 IDE driver Jeff Garzik
2007-11-01  8:47   ` jameshsu
     [not found]     ` <025c01c82016$fbcf3810$d400a8c0@laurence>
     [not found]       ` <025001c82067$d76c04c0$6200a8c0@jameshsu>
2007-11-07 22:13         ` Jeff Garzik
     [not found]           ` <001f01c821b0$20b6c9f0$6200a8c0@jameshsu>
     [not found]             ` <02d301c821e2$25dc01c0$d400a8c0@laurence>
2007-11-08 11:34               ` Re:Acard ATP8620 2SATA / 1 IDE driver - AHCI.C Nov082007 jameshsu
2007-11-08 16:22                 ` Acard " Jeff Garzik
2007-11-08 19:52                   ` Mark Lord
2007-11-08 20:09                     ` Jeff Garzik
2007-11-08 20:19                       ` Mark Lord
2007-11-08 20:31                         ` Jeff Garzik
2007-11-27 10:18                   ` jameshsu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox