freebsd-nq/sys
Alexander Motin 08c8fde007 According to SATA specification, when Serial ATA Enclosure Management Bridge
(SEMB) is unable to communicate to Storage Enclosure Processor (SEP), in
response to hard and soft resets it should among other things return value
0x7F in Status register. The weird side is that it means DRQ bit set, which
tells that reset request is not completed. It would be fine if SEMB was the
only device on port. But if SEMB connected to PMP or built into it, it may
block access to other devices sharing same SATA port.

Make some tunings/fixes to soft-reset handling to workaround the issue:
 - ahci(4): request CLO on the port after soft reset to ignore DRQ bit;
 - siis(4): gracefully reinitialize port after soft reset timeout (hardware
doesn't detect reset request completion in this case);
 - mvs(4): if PMP is used, send dummy soft-reset to the PMP port to make it
clear DRQ bit for us.

For now this makes quirks in ata_pmp.c, hiding SEMB ports of SiI3726/SiI4726
PMPs, less important. Further, if hardware permit, I hope to implement real
SEMB support.
2011-05-25 13:55:49 +00:00
..
amd64 Bring back r222275. runfw(4) will statically link in rt2870.fw.uu 2011-05-25 10:04:13 +00:00
arm Move the ZERO_REGION_SIZE to a machine-dependent file, as on many 2011-05-13 19:35:01 +00:00
boot Disconnect sun4v architecture from the three. 2011-05-14 01:53:38 +00:00
bsm Add ECAPMODE, "Not permitted in capability mode", a new kernel errno 2011-03-01 13:14:28 +00:00
cam scsi_cd: silence READ_TOC errors in CDIOREADTOCHEADER ioctl 2011-05-07 10:06:43 +00:00
cddl Don't pass pointer to name buffer which is on the stack to another thread, 2011-05-24 20:10:12 +00:00
compat Commit the missing linux_videdev2_compat.h (lost somewhere between 2011-05-04 13:09:20 +00:00
conf Remove an outdated comment as requested by Bruce Evans in a private email to 2011-05-24 09:01:56 +00:00
contrib Make pf compile without INET support by adding #ifdef INETs and 2011-04-27 19:34:01 +00:00
crypto Fix a bug in the result of manual assembly. 2011-03-02 14:56:58 +00:00
ddb Trim some additional unnecessary <linker_set.h> includes. 2011-04-28 17:59:33 +00:00
dev According to SATA specification, when Serial ATA Enclosure Management Bridge 2011-05-25 13:55:49 +00:00
fs Set the MNT_NFS4ACLS flag for an NFSv4 client mount 2011-05-23 22:31:42 +00:00
gdb Modify kdb_trap() so that it re-calls the dbbe_trap function as long as 2011-02-18 22:25:11 +00:00
geom Prevent non-aligned reading from provider while tasting. Reject 2011-05-25 11:14:26 +00:00
gnu Fix typo in unused function name 2011-05-22 09:58:48 +00:00
i386 Bring back r222275. runfw(4) will statically link in rt2870.fw.uu 2011-05-25 10:04:13 +00:00
ia64 Prefer switching the memory stack from user to kernel *before* switching 2011-05-14 14:55:15 +00:00
isa Move VT switching hack for suspend/resume from bus drivers to syscons.c 2011-05-09 18:46:49 +00:00
kern Silly spelling typos. 2011-05-24 19:55:57 +00:00
kgssapi
libkern Fix typos - remove duplicate "is". 2011-02-23 09:22:33 +00:00
mips Merge r221846 from largeSMP project branch: 2011-05-23 23:35:50 +00:00
modules Fix a typo, it is MPDU not MDPU. 2011-05-21 16:34:53 +00:00
net Rework netisr policy mechanism so that per-protocol dispatch policies can 2011-05-24 12:34:19 +00:00
net80211 Fix typo, it is MPDU not MDPU. 2011-05-21 16:41:41 +00:00
netatalk
netgraph Assume the link to be dead if bit error rate (BER) parameter is set to 1. 2011-05-24 14:36:32 +00:00
netinet Add FEATURE() definitions for IPv4 and IPv6 so that we can use 2011-05-25 00:34:25 +00:00
netinet6 Add FEATURE() definitions for IPv4 and IPv6 so that we can use 2011-05-25 00:34:25 +00:00
netipsec Release SP's refcount in key_get_spdbyid(). 2011-05-09 13:16:21 +00:00
netipx
netnatm
netncp
netsmb Change some variables from int to size_t. This is more accurate since 2011-01-08 23:06:54 +00:00
nfs Change the sysctl naming for the old and new NFS clients 2011-05-15 20:52:43 +00:00
nfsclient Eliminate duplicate #include's. 2011-05-22 18:11:41 +00:00
nfsserver Add a lock flags argument to the VFS_FHTOVP() file system 2011-05-22 01:07:54 +00:00
nlm Add a lock flags argument to the VFS_FHTOVP() file system 2011-05-22 01:07:54 +00:00
ofed - Catch up to falloc() changes. 2011-04-26 07:30:52 +00:00
opencrypto After the r219999 is merged to stable/8, rename fallocf(9) to falloc(9) 2011-04-01 13:28:34 +00:00
pc98 Move VT switching hack for suspend/resume from bus drivers to syscons.c 2011-05-09 18:46:49 +00:00
pci Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
powerpc Add RTC support for the LV1 clock on the PS3. The hypervisor won't let us 2011-05-24 02:19:45 +00:00
rpc This patch is believed to fix a problem in the kernel rpc for 2011-04-27 18:19:26 +00:00
security - Add a FEATURE for capsicum (security_capabilities). 2011-03-04 09:03:54 +00:00
sparc64 Recognize the eeprom device found in Fujitsu PRIMEPOWER650 and 900. 2011-05-15 13:25:26 +00:00
sys Merge r221901 from largeSMP project branch: 2011-05-22 21:31:36 +00:00
teken Add proper build infrastructure for teken. 2011-05-09 16:27:39 +00:00
tools GNU awk does not output escaped newlines in multi-line printc statements. This 2011-03-31 21:33:33 +00:00
ufs Fix the ufs/ffs file system so that it uses the lock 2011-05-22 20:39:07 +00:00
vm Correct an error in r222163. Unless UMA_MD_SMALL_ALLOC is defined, 2011-05-22 17:46:16 +00:00
x86 Implement boot-time TSC synchronization test for SMP. This test is executed 2011-05-09 17:34:00 +00:00
xdr
xen Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
Makefile Disconnect sun4v architecture from the three. 2011-05-14 01:53:38 +00:00