xref: /dragonfly/sys/dev/disk/ahci/TODO (revision 25a2db75)
1
210 second timeout in CAM
3
4
5-----
6
7DELAY's might tsleep, so interrupts might run.  fix poll loop to detect
8completion via other interrupts.
9
10Locking serialize_enter/exit.  Lots of recursion.   Needs help.  Use
11lockmgr()?   Needs to be converted to per-port locking, also.
12
13Port multiplier support (basics are now in)
14
15Simulate various mode pages (serial number access and so forth).
16
17NOTE RACE:  When stopping a port explicitly which has not self stopped,
18i.e. CR is still on, we can race command completion and not have a good
19idea what bits to reload into CI etc to restart the commands that
20were running.  This should only be done if we intend to reset the port.
21
22NOTE RACE:  A transient IFS interrupt (fatal phy/protocol error) can occur
23when soft-resetting through a port multiplier, between the first and second
24FISes.  We need to be able to lock access to the port.
25
26------ serial number -----------
27
28OpenBSD /etc/devtab
29
30name	type	serialnumber
31	naa
32	wwn
33	serno
34	etc
35
36------ Misc probe info --------
37
38<AHCI-PCI-SATA> port
39<S64A,NCQ,SSNTF,SALP,SAL,SCLO,PMD,SSC,PSC,CCCS,EMS>,
406 ports, 32 tags/port, gen 1 (1.5Gbps) and 2 (3Gbps)
41
42ahci0: AHCI 1.2 capabilities 0xe3229f05
43<S64A,NCQ,SSNTF,SAL,SCLO,SPM,PMD>, 6 ports, 32 tags/port, gen 1 (1.5Gbps) and 2 (3Gbps)
44
450xf722ff83<S64A,NCQ,SSNTF,SMPS,SALP,SAL,SCLO,SPM,PMD,SSC,PSC,CCCS> 4 ports, 32
46
47
48Chipsets supporting FBSS (FIS-Based Switching):
49	SB800
50	S5000 (w/ ESB2)
51	(add more)
52---------------------------
53
54Set device bits FIS:
55
56	EEEEEEEE HHHHLLLL NIRxxxxx FFFFFFFF
57	rrrrrrrr rrrrrrrr rrrrrrrr rrrrrrrr	(reserved)
58
59	F8 FIS TYPE (0xA1)
60	N	Notification bit
61	I	Interrupt bit
62	R	Reset bit
63	H4	Status hi (bit 3 is 'r' bit?)
64	L4	Status Lo (bit 3 is 'r' bit?)
65	E8	Error code
66
67	ATAPI/DISK notification:  Word78 of IDENTIFY,
68	Use SET FEATURES to set.
69
70IDENTIFY DEVICE Changed in SATA 2:
71
72	Word 75		4:0 Max Queue depth
73
74	Word 76		9	Supports IPM requests
75			8	supports NCQ
76			7-4	reservedr
77			3	reserved
78			2	supports GEN2
79			1	supports GEN1
80			0	reserved (set to 0)
81
82	Word 78		4	supports in-order data delivery
83			3	supports IPMfrom device
84			2	supports DMA setup AA opt
85			1	supports non-zero buffer offssets in DMA setup
86			0	reserved (set to 0
87
88	Word 79		(sata features enabled)
89
90
91	Device configuration overlay
92	Word 0-7	Defined by ATA
93	Word 8		3	suports async notification
94			2	supports IPM
95			1	supports nz buffer offsets in DMA setup FIS
96			0	supports NCQ
97	Word 9		reserved for SATA
98	10-255		as defined by ATA
99
100SET FEATURES DEF
101
102	Feature 10h	Enable use of SATA feature
103	feature 90h	Disable use of SATA feature
104
105	sector count register contains specific feature to enable
106
107	01		No zero buffer offset in DMA setup fis
108	02		DMA setup fis AA opt
109	03		device initated power state transitions
110	04		guaranteed in-order data delivery
111	05		Asynchronous notification
112
113
114SCR REGISTERS
115
116	0		SStatus
117	1		SError
118	2		SControl
119	3		SActive
120	4		SNotification	<----
121	5-15		reserved
122