History log of /haiku/src/add-ons/kernel/busses/scsi/ahci/sata_request.cpp
Revision Date Author Comments
# c2dbeb9d 16-Jul-2018 Augustin Cavalier <waddlesplash@gmail.com>

Revert the cargo-culted changes to sata_request.

This reverts commit ffd36865cf3e66a57f5b1c5e938d53bdbd1c9933.

They didn't fix anything, and on some systems it's reported that they
cause boot failures.

Fixes #14272.


# ffd36865 09-Jul-2018 Augustin Cavalier <waddlesplash@gmail.com>

sata_request: Cargo-cult some behaviors from FreeBSD.

See 13778#comment:3 for information on FreeBSD behaviors.

I didn't manage to locate where the specification talks about this
(but my specification-fu is rather poor), and it didn't fix the check_sense
syslog spamming on my machine.

But it seems to continue to function as before on my hardware as well as
VirtualBox and VMware, so perhaps it might fix something else.

Signed-off-by: Alexander von Gluck IV <kallisti5@unixzen.com>


# a1ed294f 05-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

AHCI: Rework port reset and control

* Move to more standardized functions matching AHCI spec
* Don't perform unnecessary double port resets
* Begin implementing a software reset to try first per spec.
Software reset needs more work, falls through to port reset
for the moment which is stable.
* Don't duplicate ATA defines, use what we already provide.
* Tested working on VirtualBox 1-16 AHCI ports, Intel C200,
and AMD FCH.


# b31d5cd2 14-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

AHCI: make debug messages more compact

Put more information on a single line. This makes it easier to keep
track of things when debugging higher level parts of the disk stack
(partitionning and file systems).


# 79cb543a 29-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Minor coding style cleanup.

* Renamed some methods to camel case.
* Replaced coding error panics with ASSERTs.


# 2e4e1eb2 29-Oct-2013 Axel Doerfler <axeld@pinc-software.de>

ahci: fixed endless loop, and missing bit.

* The value for trim is bit 0, not 0; added sata_request::SetFeature()
to change this.
* The lba range fill loop never ended.
* Thanks to Marcus for proof-reading!


# 930cb420 28-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Minor cleanup.


# 13e72c9a 18-Sep-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Minor cleanup.

* Mostly utilized ATACommands.h


# e01b1808 14-Jun-2013 Jérôme Duval <jerome.duval@gmail.com>

ahci: fixed typo and narrowing conversion warning.

* completition -> completion.


# a2f24998 21-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Style and automatic whitespace cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36410 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1d4c4d3a 12-Jun-2009 Michael Lotz <mmlr@mlotz.ch>

* Call PostReset() at the end of ResetPort() as it's always used in that way.
* Reset the port directly after executing a command failed instead of letting
the next call do the reset first. This is arbitrary but looks cleaner to me.
* Provide a way to check if a given sata_request is a SCSI_OP_TEST_UNIT_READY
over ATAPI and use this info to calm down all error output. This avoids
spamming the syslog with error output on each media status poll when no disk
is present in a ATAPI device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31014 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0cd4d5fa 08-Jul-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Report SCSI_STATUS_GOOD after successful ATAPI commands. This makes CDDA-fs work with AHCI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26332 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d7c32123 01-Jul-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Set transfer length when doing ATAPI transfers.
Dump ATAPI command packet on error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26205 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d53ddcce 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Provide better sense data. Turn off auto-sense
for ATAPI, as we can't report anything.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 205acfb4 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

first attempt to report sense data


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25652 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 47386374 21-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

The AHCI controller doesn't natively support ATAPI commands.
Instead, one needs to execute the ATA command 0xa0 (PACKET) using
a normal ATA PIO FIS and in addition fill the SCSI CDB into the ACMD
space to transfer the ATAPI PACKET command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fd735f9b 20-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

More preparation for sending ATAPI PACKET commands (pass through of SCSI commands).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25585 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56f0b1a0 04-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

A helper class to easier support Native Command Qeueuing and ATAPI support.
This class either encapsulates scsi_ccb or can be used stand alone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23249 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b31d5cd2b6ff9059eebb15b0e33bd8c4c8e3143a 14-Nov-2014 Adrien Destugues <pulkomandy@gmail.com>

AHCI: make debug messages more compact

Put more information on a single line. This makes it easier to keep
track of things when debugging higher level parts of the disk stack
(partitionning and file systems).


# 79cb543ae0f372eeb1ff7a9c108d19b9150e76c7 29-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Minor coding style cleanup.

* Renamed some methods to camel case.
* Replaced coding error panics with ASSERTs.


# 2e4e1eb2d9d4505cd716151de281319a03695f36 29-Oct-2013 Axel Doerfler <axeld@pinc-software.de>

ahci: fixed endless loop, and missing bit.

* The value for trim is bit 0, not 0; added sata_request::SetFeature()
to change this.
* The lba range fill loop never ended.
* Thanks to Marcus for proof-reading!


# 930cb4206be505be32df1872254f54407af9c1c0 28-Oct-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Minor cleanup.


# 13e72c9a72945449ff77fcd56d7d0868e159641e 18-Sep-2013 Axel Dörfler <axeld@pinc-software.de>

ahci: Minor cleanup.

* Mostly utilized ATACommands.h


# e01b1808b33a937d1f61613eb74cbf946222d701 14-Jun-2013 Jérôme Duval <jerome.duval@gmail.com>

ahci: fixed typo and narrowing conversion warning.

* completition -> completion.


# a2f249984063e429b403e409a05339632871022b 21-Apr-2010 Axel Dörfler <axeld@pinc-software.de>

* Style and automatic whitespace cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36410 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1d4c4d3a5bb167a4df0202a1c1d9e44abd4c156d 12-Jun-2009 Michael Lotz <mmlr@mlotz.ch>

* Call PostReset() at the end of ResetPort() as it's always used in that way.
* Reset the port directly after executing a command failed instead of letting
the next call do the reset first. This is arbitrary but looks cleaner to me.
* Provide a way to check if a given sata_request is a SCSI_OP_TEST_UNIT_READY
over ATAPI and use this info to calm down all error output. This avoids
spamming the syslog with error output on each media status poll when no disk
is present in a ATAPI device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31014 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0cd4d5fa023462d5e4281aae4676226afb060c49 08-Jul-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Report SCSI_STATUS_GOOD after successful ATAPI commands. This makes CDDA-fs work with AHCI.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26332 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d7c321236fb72c4044f75bbad7144ecc37cc0a1a 01-Jul-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Set transfer length when doing ATAPI transfers.
Dump ATAPI command packet on error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26205 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d53ddcce75d9c0dffc1ec1f1b30898a6d470080f 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Provide better sense data. Turn off auto-sense
for ATAPI, as we can't report anything.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25653 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 205acfb4dc452e04bb015a7f64939d1f23e1dc63 24-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

first attempt to report sense data


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25652 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4738637486e91d326ef8d2fb16b19d9c36bc44ea 21-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

The AHCI controller doesn't natively support ATAPI commands.
Instead, one needs to execute the ATA command 0xa0 (PACKET) using
a normal ATA PIO FIS and in addition fill the SCSI CDB into the ACMD
space to transfer the ATAPI PACKET command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25597 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fd735f9bb07a88b6f0b8c5ec1531106d9c2081b5 20-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

More preparation for sending ATAPI PACKET commands (pass through of SCSI commands).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25585 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 56f0b1a01a8d47dcad7c9684285f031f2e6f9994 04-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

A helper class to easier support Native Command Qeueuing and ATAPI support.
This class either encapsulates scsi_ccb or can be used stand alone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23249 a95241bf-73f2-0310-859d-f6bbb57e9c96