History log of /dragonfly/sys/dev/disk/nata/ata-all.c (Results 1 – 25 of 34)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2
# eb67213a 26-Mar-2019 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Rewrite the callout_*() API

* Rewrite the entire API from scratch and improve compatibility
with FreeBSD. This is not an attempt to achieve full API compatibility,
as FreeBSD's API has

kernel - Rewrite the callout_*() API

* Rewrite the entire API from scratch and improve compatibility
with FreeBSD. This is not an attempt to achieve full API compatibility,
as FreeBSD's API has unnecessary complexity that coders would frequently
make mistakes interpreting.

* Remove the IPI mechanisms in favor of fine-grained spin-locks instead.

* Add some robustness features in an attempt to track down corrupted
callwheel lists due to originating subsystems freeing structures out
from under an active callout.

* The code supports a full-blown type-stable/adhoc-reuse structural
separation between the front-end and the back-end, but this feature
is currently not operational and may be removed at some future point.
Instead we currently just embed the struct _callout inside the
struct callout.

* Replace callout_stop_sync() with callout_cancel().

* callout_drain() is now implemented as a synchronous cancel instead
of an asynchronous stop, which is closer to the FreeBSD API and
expected operation for ported code (usb stack in particular). We
will just have to fix any deadlocks which we come across.

* Retain our callout_terminate() function as the 'better' way to
stop using a callout, as it will not only cancel the callout but
also de-flag the structure so it can no longer be used.

show more ...


Revision tags: v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2
# 2458a87a 26-Nov-2017 zrj <rimvydas.jasinskas@gmail.com>

kernel/nata: Deal with ATA_DEV() and atadev->unit.

Hopefully I got all places correctly.

While there, some misc cleanup.


# cbf684e5 26-Nov-2017 zrj <rimvydas.jasinskas@gmail.com>

kernel/nata: Extract ad_get_geometry().

While there, extract ata_unit2str() too.


# bb15467a 25-Nov-2017 zrj <rimvydas.jasinskas@gmail.com>

kernel/nata: Misc cleanup in non chipset codes.

* Move some stuff around.
* Add local implementations of biofinish() and g_io_deliver().
* Add prints for READ_NATIVE_MAX_ADDRESS.
* Use >= in

kernel/nata: Misc cleanup in non chipset codes.

* Move some stuff around.
* Add local implementations of biofinish() and g_io_deliver().
* Add prints for READ_NATIVE_MAX_ADDRESS.
* Use >= in comparisons for devclass_get_maxunit()

No functional change.

show more ...


# 9243051b 24-Nov-2017 zrj <rimvydas.jasinskas@gmail.com>

kernel/nata: Return more data for natacontrol(8).

* include info about backing subdisks
* use last 16 bytes of serial number in meta (as MatrixRAID does)
* add optional automatc spindown/spinup s

kernel/nata: Return more data for natacontrol(8).

* include info about backing subdisks
* use last 16 bytes of serial number in meta (as MatrixRAID does)
* add optional automatc spindown/spinup support (dmesg noisy)
* various cleanups
* natacontrol(8) additions + cleanup

Taken-from: FreeBSD

show more ...


# 43156ad7 24-Nov-2017 zrj <rimvydas.jasinskas@gmail.com>

kernel/nata: Pass interrupt function to ata_setup_interrupt().

There is one strange change ATA_AHCI_GHC_HR 0x80000001 -> 0x00000001.
It is used for AHCI reset, all other bits are already in place so

kernel/nata: Pass interrupt function to ata_setup_interrupt().

There is one strange change ATA_AHCI_GHC_HR 0x80000001 -> 0x00000001.
It is used for AHCI reset, all other bits are already in place so going
with the flow on this one.

Futher reduce differences with FreeBSD r183724:
* add ata_netcell_setmode() instead of relying on ata_generic_chipinit()
* add ata_promise_mio_setprd() for promise
* prepare siliconimage for port multipliers
* spray some KASSERT() here and there
* fix typo for ATA_READ_NATIVE_MAX_ADDRESS

Taken-from: FreeBSD

show more ...


# 59503772 23-Nov-2017 zrj <rimvydas.jasinskas@gmail.com>

kernel/nata: Constification.

Attempt at making nata a bit more safe:
* const attributes where possible
* add and use ata_set_desc() helper
* add early returns (for future split modules support

kernel/nata: Constification.

Attempt at making nata a bit more safe:
* const attributes where possible
* add and use ata_set_desc() helper
* add early returns (for future split modules support)
* fix a bug in ata-sis.c where it was patching ids table.

As a bonus, now CCVER=gcc47 no longer warn on -Warray-bounds in ata-ite.c,
finally allowing to buildkernel w/o NO_WERROR (ata_mode2idx() in ata-pci.c).

No functional change intended, except for bugfix in ata-sis.c.

show more ...


# 13b0cf9e 23-Nov-2017 zrj <rimvydas.jasinskas@gmail.com>

kernel/nata: Separate sata bits.

Do some cleanup of defines and headers.
Rename few ATI controllers.

While there, remove no longer used PC98 defines.


Revision tags: v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4, v4.0.3, v4.0.2
# 15bd3c73 25-Nov-2014 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Fix boot-time panic in NATA revealed by new callout mechanics

* The NATA driver was using spin locks in a very, very dangerous way.
They did not play nice with the new blocking callout me

kernel - Fix boot-time panic in NATA revealed by new callout mechanics

* The NATA driver was using spin locks in a very, very dangerous way.
They did not play nice with the new blocking callout mechanism.

* Replace all of NATAs spinlocks with lockmgr locks. In addition, change
all asynchronous callout_stop() calls to synchronous callout_stop_sync()
calls, and use callout_init_lk() to auto-lock ch->state_lock for the
callback, which fixes a long-time deadlock race.

Reported-by: tuxillo

show more ...


Revision tags: v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0
# ba87a4ab 24-Aug-2014 Sascha Wildner <saw@online.de>

kernel/spinlock: Add a description to struct spinlock.

And add it to spin_init() and SPINLOCK_INITIALIZER().

Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>)
OK'd-by: dill

kernel/spinlock: Add a description to struct spinlock.

And add it to spin_init() and SPINLOCK_INITIALIZER().

Submitted-by: dclink (see <http://bugs.dragonflybsd.org/issues/2714>)
OK'd-by: dillon

show more ...


Revision tags: v3.8.2, v3.8.1, v3.6.3
# f6e8a0a1 07-Jun-2014 Imre Vadasz <imre@vdsz.com>

Convert files to UTF-8

Taken-from: FreeBSD


Revision tags: v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1, v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0, v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0
# 86d7f5d3 26-Nov-2011 John Marino <draco@marino.st>

Initial import of binutils 2.22 on the new vendor branch

Future versions of binutils will also reside on this branch rather
than continuing to create new binutils branches for each new version.


Revision tags: v2.12.0, v2.13.0, v2.10.1, v2.11.0, v2.10.0, v2.9.1, v2.8.2, v2.8.1, v2.8.0, v2.9.0, v2.6.3, v2.7.3, v2.6.2, v2.7.2, v2.7.1, v2.6.1, v2.7.0, v2.6.0, v2.5.1, v2.4.1, v2.5.0, v2.4.0
# d557216f 20-Aug-2009 Matthew Dillon <dillon@apollo.backplane.com>

Fix numerous compiler warnings and format conversion specifiers.


# 9469b9f3 19-Aug-2009 Matthew Dillon <dillon@apollo.backplane.com>

NATA - Replace the queuing algorithm with the one used by bioq.

* NATA doesn't use bioq yet, but I replicated the algorithm to fix the
read starvation issue.

* Interesting note: Because NATA does

NATA - Replace the queuing algorithm with the one used by bioq.

* NATA doesn't use bioq yet, but I replicated the algorithm to fix the
read starvation issue.

* Interesting note: Because NATA does not have NCQ reads appear to be
prioritized even more then they are on AHCI.

show more ...


# 3e82b46c 01-Aug-2009 Matthew Dillon <dillon@apollo.backplane.com>

DEVFS - remove dev_ops_add(), dev_ops_get(), and get_dev()


# cd29885a 01-Aug-2009 Matthew Dillon <dillon@apollo.backplane.com>

DEVFS - Bring in Alex's GSOC kernel adjustments.

This is a rollup commit bringing in Alex Hornung's GSOC adjustments
to the main kernel codebase for DEVFS.

Submitted-by: Alex Hornung <ahornung@gmai

DEVFS - Bring in Alex's GSOC kernel adjustments.

This is a rollup commit bringing in Alex Hornung's GSOC adjustments
to the main kernel codebase for DEVFS.

Submitted-by: Alex Hornung <ahornung@gmail.com>

show more ...


Revision tags: v2.3.2, v2.3.1, v2.2.1, v2.2.0, v2.3.0
# b43e83df 22-Jan-2009 Simon Schubert <corecode@dragonflybsd.org>

nata: revert 6e40a325 = don't use tsleep in ata_udelay

ata_udelay might be called from softclock context due to a request
timeout. However we must not tsleep in softclock. This restores the
pre-6e

nata: revert 6e40a325 = don't use tsleep in ata_udelay

ata_udelay might be called from softclock context due to a request
timeout. However we must not tsleep in softclock. This restores the
pre-6e40a325 behavior.

show more ...


# 6e40a325 26-Dec-2008 Matthew Dillon <dillon@apollo.backplane.com>

Use tsleep in the low level delay functions called when resetting
nata ports.

Submitted-by: Dmitry Komissaroff <dxi@mail.ru>


Revision tags: v2.1.1, v2.0.1
# 3ec9ecbc 24-Mar-2008 Matthew Dillon <dillon@dragonflybsd.org>

Synchronize various changes from FreeBSD. This is not exhaustive but gets
the most important patches.

* Better AHCI detection and reporting.
* More robust AHCI chipinit.
* Fixes for additional chip

Synchronize various changes from FreeBSD. This is not exhaustive but gets
the most important patches.

* Better AHCI detection and reporting.
* More robust AHCI chipinit.
* Fixes for additional chipsets which do not support 64K DMA transfers
* VIA8237S support
* Hitachi detection logic.
* Vendor identification for otherwise unidentified chipsets.
* keep ivars intact on atapi-cd reinit.

show more ...


# 79f3abfa 29-Oct-2007 Thomas E. Spanjaard <tgen@dragonflybsd.org>

Remove fugly hack from the ATA channel interrupt handler. It never was really
correct, and it has long become redundant.


# 02d7aa4a 05-Jun-2007 Sascha Wildner <swildner@dragonflybsd.org>

Update FreeBSD ID tags.


# 658104b9 03-Jun-2007 Matthew Dillon <dillon@dragonflybsd.org>

Part 1/2: Add a sanity check to the NATA interrupt code to assert that
the command has actually been issued.


# 87870bc8 01-Jun-2007 Matthew Dillon <dillon@dragonflybsd.org>

Merge all the FreeBSD work done since our initial import of NATA, except
for the disk flushing code. The disk flushing code still needs to be done.
The work includes a ton of SATA chipset work, bug

Merge all the FreeBSD work done since our initial import of NATA, except
for the disk flushing code. The disk flushing code still needs to be done.
The work includes a ton of SATA chipset work, bug fixes, cleanups, and new
chip support.

Obtained-from: FreeBSD / =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@deepcore.dk>

show more ...


# a774914b 31-May-2007 Matthew Dillon <dillon@dragonflybsd.org>

Adjust M_NOWAIT to M_WAITOK or M_INTWAIT as appropriate.


# dbcd0c9b 01-May-2007 Matthew Dillon <dillon@dragonflybsd.org>

Implement kern.do_async_attach. default disabled. To enable add
kern.do_async_attach="1" to your /boot/loader.conf. This feature allows
conforming drivers to attach in their own thread, allowing mu

Implement kern.do_async_attach. default disabled. To enable add
kern.do_async_attach="1" to your /boot/loader.conf. This feature allows
conforming drivers to attach in their own thread, allowing multiple
drivers to attach in parallel.

Implement a new device state, DS_INPROGRESS. Seems to work properly.
Implement device_set_async_attach(), which allows a device's probe
function to indicate that it is ok for its attach function to be run in
its own thread.

Split tsleep's enable out from the 'cold' variable. tsleep works earlier
then when cold is cleared. Add a 'tsleep_now_works' variable to take
over the functionality.

Implement DRIVERSLEEP()... similar to DELAY(), this function works in
any context and will call lwkt_switch() in its spin loop. It isn't perfect
yet.

ATA/NATA:
* Uses the new async attach feature
* Uses DRIVERSLEEP
* No longer uses a configuration interrupt hook. Interrupts are now
available during device config.

NOTE: atapicam does not seem to be scanning the 'bus' (from cam's point
of view), so 'cd0' is not found until CAM scans the bus itself in the
interrupt config hook code.

USB:
* Uses the new async attach feature
* Uses tsleep instead of DELAY

MISC:
* IF_EM, IF_NFE also use the async attach feature as a test, but it
doesn't seem to have a huge effect.

show more ...


12