| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Return PROTO_ATA protocol in response to XPT_PATH_INQ.
smartmontools uses it to identify ATA devices and I don't know any other
place now where it is important. It could probably use XPT_GDEV_TYPE
instead for more accurate protocol information, but let it live for now.
Reported by: matthew
MFC after: 3 days
Notes:
svn path=/head/; revision=236847
|
| |
|
|
|
|
|
|
|
|
| |
until transport will do some probe actions (at least soft reset).
Make ATA/SATA SIMs to not report bogus and confusing PROTO_ATA protocol.
Make ATA/SATA transport to fill that gap by reporting protocol to SIM with
XPT_SET_TRAN_SETTINGS and patching XPT_GET_TRAN_SETTINGS results if needed.
Notes:
svn path=/head/; revision=236666
|
| |
|
|
|
|
|
|
|
|
|
|
| |
to allow drivers to handle request completion directly without passing
them to the CAM SWI thread removing extra context switch.
Modify all ATA/SATA drivers to use them.
Reviewed by: gibbs, ken
MFC after: 2 weeks
Notes:
svn path=/head/; revision=235333
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
channels available
- current code treats bits 4:7 in 'SATAHC interrupt mask' and 'SATAHC
interrupt cause' as flags for SATA channels 2 and 3
- for embedded SATA controllers (SoC) these bits have been marked as reserved
in datasheets so far, but for some new and upcoming chips they are used for
purposes other than SATA
Submitted by: Lukasz Plachno
Reviewed by: mav
Obtained from: Semihalf
MFC after: 2 weeks
Notes:
svn path=/head/; revision=230865
|
| |
|
|
|
|
|
|
| |
Suggested by: jhb @ and marius @
MFC after: 1 week
Notes:
svn path=/head/; revision=227849
|
| |
|
|
|
|
|
|
|
|
|
| |
to kern/subr_bus.c. Simplify this function so that it no longer
depends on malloc() to execute. Identify a few other places where
it makes sense to use device_delete_all_children().
MFC after: 1 week
Notes:
svn path=/head/; revision=227701
|
| |
|
|
|
|
|
| |
This means that their use is restricted to a single C file.
Notes:
svn path=/head/; revision=227293
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
Notes:
svn path=/head/; revision=222285
|
| |
|
|
| |
Notes:
svn path=/head/; revision=220830
|
| |
|
|
|
|
|
|
| |
in no more then 10ms. If we detected no device presence within that time,
there is no reason to wait longer.
Notes:
svn path=/head/; revision=220829
|
| |
|
|
| |
Notes:
svn path=/head/; revision=220822
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of spinning in a tight loop for up to 15 seconds, polling for device
readiness while it spins up, return reset completion just after PHY reports
"connect well" or 100ms connection timeout. If device was found, use callout
for checking device readiness with 100ms period up to full 31 second timeout.
This fixes system freeze for 5-10 seconds on drives hot plug-in.
Notes:
svn path=/head/; revision=220615
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- make SATA SIMs announce capabilities to handle SDB with Notification bit;
- make PMP driver honor this SIMs capability;
- make SATA XPT to negotiate and enable this feature for ATAPI devices.
This feature allows supporting SATA ATAPI devices to inform system about
some events happened, that may require attention. In my case this allows
LG GH22LS50 SATA DVR-RW drive to report tray open/close events. Events
reported to CAM in form of AC_SCSI_AEN async. Further they could be used
as a hints for checking device status and reporting media change to upper
layers, for example, via spoiling mechanism of GEOM.
Notes:
svn path=/head/; revision=220602
|
| |
|
|
|
|
|
|
| |
Make few improvements/changes to ATAPI PIO support to pass most of scgcheck
(cdrtools) tests.
Notes:
svn path=/head/; revision=220569
|
| |
|
|
| |
Notes:
svn path=/head/; revision=220097
|
| |
|
|
|
|
|
|
|
|
|
| |
of proper value. It caused bunch of "EMPTY CRPB" messages and potentially
may cause premature requests completion, which could cause data corruption.
For most cases it seems enough to just reread register to get proper value.
To protect against worse cases - erase processed queue entries with
impossible values and ignore them if problem still happen.
Notes:
svn path=/head/; revision=214102
|
| |
|
|
|
|
|
|
| |
- remove commented debugging code;
- wrap long lines.
Notes:
svn path=/head/; revision=214099
|
| |
|
|
|
|
|
|
|
|
| |
port multiplier some command triggers false positive timeout, but then
completes normally.
MFC after: 2 weeks
Notes:
svn path=/head/; revision=212732
|
| |
|
|
|
|
|
|
| |
GEOM. This information needed for proper soft-RAID's on-disk metadata
reading and writing.
Notes:
svn path=/head/; revision=210471
|
| |
|
|
|
|
|
|
| |
Found with: Coverity Prevent(tm)
CID: 4137
Notes:
svn path=/head/; revision=208818
|
| |
|
|
| |
Notes:
svn path=/head/; revision=208414
|
| |
|
|
| |
Notes:
svn path=/head/; revision=208410
|
| |
|
|
|
|
|
| |
and reset it on resume.
Notes:
svn path=/head/; revision=208393
|
| |
|
|
| |
Notes:
svn path=/head/; revision=207696
|
|
|
driver for CAM ATA subsystem. This driver supports same hardware as
atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides
many additional features, such as NCQ, PMP, etc.
Notes:
svn path=/head/; revision=207536
|