History log of /haiku/src/add-ons/kernel/busses/scsi/ahci/ahci_defs.h (Results 1 – 25 of 43)
Revision Date Author Comments
# 77463640 05-Nov-2024 Augustin Cavalier <waddlesplash@gmail.com>

SCSI: Use an object_cache for the CCB pool.

Same as for the scatter/gather pool. This also changes CCBs
to use condition variables instead of semaphores for completion,
which means they're now C++-o

SCSI: Use an object_cache for the CCB pool.

Same as for the scatter/gather pool. This also changes CCBs
to use condition variables instead of semaphores for completion,
which means they're now C++-only. A few C files still include
<SCSI.h>, but none use CCBs directly, so this works out fine.

A quick check with a compile benchmark didn't show a performance regression.

show more ...


# 21a284b6 21-Oct-2024 Augustin Cavalier <waddlesplash@gmail.com>

AHCI: Don't cast to addr_t when fetching low/high 32 bits.

Otherwise we'll lose the high 32 bits on 32-bit systems.


# b4ccd212 21-Oct-2024 Augustin Cavalier <waddlesplash@gmail.com>

AHCI: Use count_set_bits from BitUtils.

No behavioral change intended.


# 3b91d73b 17-Dec-2022 X512 <danger_mail@list.ru>

bus & drivers: drop PCI_x86

Change-Id: I494deaf24a4793a5e0fe9fa46ecdce32f65e616a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6226
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-b

bus & drivers: drop PCI_x86

Change-Id: I494deaf24a4793a5e0fe9fa46ecdce32f65e616a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6226
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>

show more ...


# 8b1d35bd 03-Jul-2021 David Sebek <dasebek@gmail.com>

Improve SCSI and SATA trim support

Fixes:
* scsi: Fix a bug that caused the device capacity to be set
to an undefined value for some large SCSI devices when
READ CAPACITY (16) was used
* ahci: F

Improve SCSI and SATA trim support

Fixes:
* scsi: Fix a bug that caused the device capacity to be set
to an undefined value for some large SCSI devices when
READ CAPACITY (16) was used
* ahci: Fix VPD page reporting so that it does not return
undefined values
* ahci: Set the write bit to true when sending a DATA SET
MANAGEMENT (trim) command to a device. The command would
otherwise fail and time out on some devices.

Improvements:
* scsi: Extend the READ CAPACITY (16) support to also
include logical block provisioning information
* scsi: Prefer READ CAPACITY (16) over READ CAPACITY (10)
on devices that are expected to support this command
* scsi, ahci: Enable trim on SCSI and SATA devices that
are expected to support trim and which correctly report
trim support
* ahci: Redo the implementation of the SCSI UNMAP command
* scsi: Redo UNMAP-related code
* scsi: Add support for UNMAP via WRITE SAME (10) and
WRITE SAME (16) commands
* When copying trim ranges between different data types,
make sure that the values don't change (detect overflows)
* Report the number of trimmed blocks even if the trim
operation fails

Change-Id: Ie5fc993bbbc19546b4308138ba10184bf7b9986a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4157
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

show more ...


# 208a3535 22-Jun-2021 X512 <danger_mail@list.ru>

ahci: remove packed attribute from register structure

It cause per-byte access instead of 32 bit on GCC/riscv64 that breaks operation.

All fields are 32 bit so alignment is already fine and packing

ahci: remove packed attribute from register structure

It cause per-byte access instead of 32 bit on GCC/riscv64 that breaks operation.

All fields are 32 bit so alignment is already fine and packing is not needed.

Change-Id: Ie96eac6615c9326e84608be1c667bc5d3600c508
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4117
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>

show more ...


# 2f6a9c68 14-Oct-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

ahci: Fix delays with large numbers of empty ports

* Properly flag missing devices
* Do away with shifts and define ssts and sctl masks
* Tested working on 6 different systems with a
combination o

ahci: Fix delays with large numbers of empty ports

* Properly flag missing devices
* Do away with shifts and define ssts and sctl masks
* Tested working on 6 different systems with a
combination of drive configurations.
* Empty media on AHCI devices still cause port change
storms. (the issue that was attempted fixed in
5584c22fdd)

show more ...


# a1ed294f 06-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 spe

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.

show more ...


# cccf804d 30-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

ahci: Replace use of bit field with shifts and masks.

It's a 32 bit register which needs properly aligned 32 bit writes. Using
a bit field does not guarantee that, so replace it with shifts and
mask

ahci: Replace use of bit field with shifts and masks.

It's a 32 bit register which needs properly aligned 32 bit writes. Using
a bit field does not guarantee that, so replace it with shifts and
masks. Should fix #12338.

show more ...


# d316ccc7 30-Aug-2015 Michael Lotz <mmlr@mlotz.ch>

ahci: Whitespace and line length cleanup only.


# df5aeb6d 28-Aug-2015 Axel Dörfler <axeld@pinc-software.de>

AHCI: fixed constant mixup, minor cleanup.

* TRANSITION_... was incorrectly changed from the original patch.
* Divided it into two constants, and also prefixed the new constants with
the register

AHCI: fixed constant mixup, minor cleanup.

* TRANSITION_... was incorrectly changed from the original patch.
* Divided it into two constants, and also prefixed the new constants with
the register fields they are valid for.
* Fixed incorrect usage of |= and removed the corresponding TODO comments.
* Moved some reoccurring code into their own methods.
* Added check for the ST bit in the command register for the interrupt
hard reset, too.
* This closes ticket #12295, thanks Anarchos!

show more ...


# 5584c22f 08-Aug-2015 Sylvian Kerjean <sylvain_kerjean@hotmail.com>

AHCI: Fix boot failures due to "Port Connect Change" IRQ storm.

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>


# 776dbb03 15-Mar-2015 Jérôme Duval <jerome.duval@gmail.com>

ahci: added some definitions from the specification v1.2+

* print extended capabilities.


# 97f865f7 03-Dec-2013 Jérôme Duval <jerome.duval@gmail.com>

Avoid undefined behavior by using unsigned int instead of int.

* 1 << 31, 2 << 30, 3 << 30 replaced by 1U << 31, 2U << 30 or 3U << 30.


# c14bca29 13-Sep-2013 François Revol <revol@free.fr>

Merge branch 'master' into sam460ex


# cf70d345 12-Sep-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Merge remote-tracking branch 'haiku/master' into package-management

This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
build/jam/BuildFeatures
build/j

Merge remote-tracking branch 'haiku/master' into package-management

This reverts 8f7f28a7c3db28711920ad5d15df401fae90bcf1 (OpenGL: Upgrade
to
Mesa 9.2).

Conflicts:
build/jam/BuildFeatures
build/jam/HaikuImage
build/jam/OptionalPackages
build/scripts/build_cross_tools_gcc4
src/add-ons/opengl/swpipe/Jamfile
src/apps/diskusage/Jamfile
src/kits/tracker/ContainerWindow.cpp
src/kits/tracker/DeskWindow.cpp
src/kits/tracker/Jamfile

show more ...


# c01fadca 30-Jul-2013 Jerome Duval <jerome.duval@gmail.com>

AHCI: add MSI support.


# 22e22417 02-Jul-2008 Stephan Aßmus <superstippi@gmx.de>

* Fixed a race condition where the interrupt for a command happened before
the thread issuing the command called acquire_sem_etc() on the semaphore
that the interrupt handler would otherwise rele

* Fixed a race condition where the interrupt for a command happened before
the thread issuing the command called acquire_sem_etc() on the semaphore
that the interrupt handler would otherwise release. The semaphore is now
released unconditionally, but to prevent the race condition that the
B_RELEASE_IF_WAITING_ONLY was trying to avoid, it is released with the
spinlock held.
* The error interrupt handler did not reset the fCommandsActive flag, but
it seemed to us like it should do that.
* WaitForTransfer now also acquires the spinlock to reset fCommandsActive,
which may be unnecessary but does not harm either.
* Cleanup of some long lines, sorry for mixing that with the actual fix.

Fixes bug #2359 (long pauses when accessing the disk).


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

show more ...


# 1a4dcbd8 29-May-2008 Axel Dörfler <axeld@pinc-software.de>

* gPCI was never set anymore after my changes. I replaced it now by a fPCI
member in AHCIController, since, at least in theory, every PCI device could
come with its own module.
* Fixed exported m

* gPCI was never set anymore after my changes. I replaced it now by a fPCI
member in AHCIController, since, at least in theory, every PCI device could
come with its own module.
* Fixed exported module names to indicate compliance with the new device
manager.
* Apparently, GCC4 doesn't like mixing C++/C linkage even for variables anymore,
though it really shouldn't care about that.


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

show more ...


# 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


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

added simple error handling


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


# 9cb5c9bf 18-May-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Fix the HI32 macro. This fixes bug #2021.


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


# b830be90 05-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Marked some bits as RWC and RW1.


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


# e50610ed 05-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

added defines for LBA limitations


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


# 0cc1690a 04-Jan-2008 Marcus Overhagen <marcusoverhagen@gmail.com>

Added a comment describing the command FIS layout, because AHCI, SATA and ATA/ATAPI standards use inconsitent terminology.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23247 a95241bf-73f2-03

Added a comment describing the command FIS layout, because AHCI, SATA and ATA/ATAPI standards use inconsitent terminology.


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

show more ...


12