DragonFly BSD

CVS log for src/sys/dev/disk/ata/atapi-all.c

[BACK] Up to [DragonFly] / src / sys / dev / disk / ata

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.20: download - view: text, markup, annotated - select for diffs
Fri Dec 22 23:26:15 2006 UTC (7 years, 3 months ago) by swildner
Branches: MAIN
CVS tags: HEAD, DragonFly_RELEASE_2_0_Slip, DragonFly_RELEASE_2_0, DragonFly_RELEASE_1_8_Slip, DragonFly_RELEASE_1_8, DragonFly_RELEASE_1_12_Slip, DragonFly_RELEASE_1_12, DragonFly_RELEASE_1_10_Slip, DragonFly_RELEASE_1_10, DragonFly_Preview
Diff to: previous 1.19: preferred, unified
Changes since revision 1.19: +5 -5 lines
Rename printf -> kprintf in sys/ and add some defines where necessary
(files which are used in userland, too).

Revision 1.19: download - view: text, markup, annotated - select for diffs
Wed Dec 20 18:14:38 2006 UTC (7 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.18: preferred, unified
Changes since revision 1.18: +1 -1 lines
Rename sprintf  -> ksprintf
Rename snprintf -> knsprintf

Make allowances for source files that are compiled for both userland and
the kernel.

Revision 1.18: download - view: text, markup, annotated - select for diffs
Wed Oct 25 20:55:53 2006 UTC (7 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.17: preferred, unified
Changes since revision 1.17: +3 -2 lines
Do a major clean-up of the BUSDMA architecture.  A large number of
essentially machine-independant drivers use the structures and definitions
in machine-dependant directories that are really machine-independant in
nature.

Split <machine/bus_dma.h> into machine-depdendant and machine-independant parts
and make the primary access run through <sys/bus_dma.h>.

Remove <machine/bus.h>, <machine/bus_memio.h> and <machine/bus_pio.h>.  The
optimizations related to bus_memio.h and bus_pio.h made a huge mess,
introduced machine-specific knowledge into essentially machine-independant
drivers, and required specific #include file orderings to do their job.
They may be reintroduced in some other form later on.

Move <machine/resource.h> to <sys/bus_resource.h>.  The contents of the file
is machine-independant or can be made a superset across many platforms.

Make <sys/bus.h> include <sys/bus_dma.h> and <sys/bus_resource.h> and
include <sys/bus.h> where necessary. Remove all #include's of
<machine/resource.h> and <machine/bus.h>.  That is, make the BUSDMA
infrastructure integral to I/O-mapped and memory-mapped accesses to devices
and remove a large chunk of machine-specific dependancies from drivers.
bus_if.h and device_if.h are now required to be present when using <sys/bus.h>.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Tue Sep 5 00:55:37 2006 UTC (7 years, 7 months ago) by dillon
Branches: MAIN
Diff to: previous 1.16: preferred, unified
Changes since revision 1.16: +7 -7 lines
Rename malloc->kmalloc, free->kfree, and realloc->krealloc.  Pass 1

Revision 1.16: download - view: text, markup, annotated - select for diffs
Fri Feb 17 19:17:54 2006 UTC (8 years, 2 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_6_Slip, DragonFly_RELEASE_1_6
Diff to: previous 1.15: preferred, unified
Changes since revision 1.15: +4 -4 lines
Make the entire BUF/BIO system BIO-centric instead of BUF-centric.  Vnode
and device strategy routines now take a BIO and must pass that BIO to
biodone().  All code which previously managed a BUF undergoing I/O now
manages a BIO.

The new BIO-centric algorithms allow BIOs to be stacked, where each layer
represents a block translation, completion callback, or caller or device
private data.  This information is no longer overloaded within the BUF.
Translation layer linkages remain intact as a 'cache' after I/O has completed.

The VOP and DEV strategy routines no longer make assumptions as to which
translated block number applies to them.  The use the block number in the
BIO specifically passed to them.

Change the 'untranslated' constant to NOOFFSET (for bio_offset), and
(daddr_t)-1 (for bio_blkno).  Rip out all code that previously set the
translated block number to the untranslated block number to indicate
that the translation had not been made.

Rip out all the cluster linkage fields for clustered VFS and clustered
paging operations.  Clustering now occurs in a private BIO layer using
private fields within the BIO.

Reformulate the vn_strategy() and dev_dstrategy() abstraction(s).  These
routines no longer assume that bp->b_vp == the vp of the VOP operation, and
the dev_t is no longer stored in the struct buf.  Instead, only the vp passed
to vn_strategy() (and related *_strategy() routines for VFS ops), and
the dev_t passed to dev_dstrateg() (and related *_strategy() routines for
device ops) is used by the VFS or DEV code.  This will allow an arbitrary
number of translation layers in the future.

Create an independant per-BIO tracking entity, struct bio_track, which
is used to determine when I/O is in-progress on the associated device
or vnode.

NOTE: Unlike FreeBSD's BIO work, our struct BUF is still used to hold
the fields describing the data buffer, resid, and error state.

Major-testing-by: Stefan Krueger

Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri Jun 3 21:56:23 2005 UTC (8 years, 10 months ago) by swildner
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_4_Slip, DragonFly_RELEASE_1_4
Diff to: previous 1.14: preferred, unified
Changes since revision 1.14: +5 -4 lines
Remove spl*() in disk/{ata,buslogic,ccd} and replace them with
critical sections.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sat Sep 18 18:33:38 2004 UTC (9 years, 7 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_Stable, DragonFly_Snap29Sep2004, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2
Diff to: previous 1.13: preferred, unified
Changes since revision 1.13: +6 -6 lines
timeout/untimeout ==> callout_*

Revision 1.13: download - view: text, markup, annotated - select for diffs
Tue Aug 17 20:59:39 2004 UTC (9 years, 8 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_Snap13Sep2004
Diff to: previous 1.12: preferred, unified
Changes since revision 1.12: +15 -1 lines
Add some robustness to the error-requeue code.  FreeBSD-5's (new) ata driver
had an issue with the donecount not being properly reset.  This issue is not
believed to occur with the old code but add sanity checks to be sure.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Tue Jul 6 19:00:06 2004 UTC (9 years, 9 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_1_0_REL, DragonFly_1_0A_REL
Diff to: previous 1.11: preferred, unified
Changes since revision 1.11: +3 -1 lines
Be more verbose when printing information on transfer phase errors.

Taken-from: Brian Feldman <green@freebsd.org>
Suggested-by: Michel Talon

Revision 1.11: download - view: text, markup, annotated - select for diffs
Wed Apr 7 06:22:15 2004 UTC (10 years ago) by dillon
Branches: MAIN
CVS tags: DragonFly_1_0_RC1
Diff to: previous 1.10: preferred, unified
Changes since revision 1.10: +3 -4 lines
General ata malloc() flags cleanup.  Use M_INTWAIT where appropriate and
get rid of unnecessary NULL checks.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Mon Mar 15 01:10:42 2004 UTC (10 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.9: preferred, unified
Changes since revision 1.9: +3 -11 lines
The cam_sim structure was being deallocated unconditionally by device
driver detach routines.  The problem with this is that part of the CAM
bus structure may still be active (for example, with pending timeout()'s),
and even though the bus, target, and device is freed, since the sim IS
freed any accesses through the sim will hit 0xdeadc0de.  This case most often
occurs with USB UMASS devices.

The CAM_XPT and CAM_SIM layer has been revamped.  CAM_DEV_UNCONFIGURED is now
accounted for in the device->refcount, and the cam_sim structure is now
ref-counted as well.  Additionally, the cam_simq* code which handles the
device queues has been revamped to refcount as well, so shared device queues
(raid and multi-channel devices) are not free()'d before all references have
gone away.

scsi_low free'd its cam_sim twice.  Fixed.

USB was improperly using M_NOWAIT.  All M_NOWAIT instances have been renamed
to M_INTWAIT.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Wed Feb 18 04:08:49 2004 UTC (10 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.8: preferred, unified
Changes since revision 1.8: +0 -2 lines
ATAng stage 5: sync chipset changes and bug fixes.  busdma is not synched yet.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Wed Feb 18 02:47:38 2004 UTC (10 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.7: preferred, unified
Changes since revision 1.7: +9 -14 lines
ATAng stage 5: sync additional function API changes from FBsd-4.  We now
have everything except the dma chipset changes and the busdma changes.
Note that we retain our MPIPE code as it is far superior to what is in 4.x and
5.x.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Wed Feb 18 00:50:00 2004 UTC (10 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.6: preferred, unified
Changes since revision 1.6: +7 -7 lines
ATAng stage 2: sync part of the ata_dma*() API.  No operational changes.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Wed Feb 18 00:37:08 2004 UTC (10 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.5: preferred, unified
Changes since revision 1.5: +3 -2 lines
ATAng stage 1: synch ad_attach() and atapi_attach(), including a fix for
a recursive lock issue.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Sun Nov 30 20:14:18 2003 UTC (10 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.4: preferred, unified
Changes since revision 1.4: +16 -10 lines
Add the MPIPE subsystem.  This subsystem is used for 'pipelining' fixed-size
allocations.  Pipelining is used to avoid lack-of-resource deadlocks by
still allowing resource allocations to 'block' by guarenteeing that an
already in-progress operation will soon free memory that will be immediately
used to satisfy the blocked resource.

Adjust the ATAold code to use the new mechanism and remove the code that
tried to back-off into PIO mode when resources were lacking.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Thu Aug 7 21:16:51 2003 UTC (10 years, 8 months ago) by dillon
Branches: MAIN
Diff to: previous 1.3: preferred, unified
Changes since revision 1.3: +7 -6 lines
kernel tree reorganization stage 1: Major cvs repository work (not logged as
commits) plus a major reworking of the #include's to accomodate the
relocations.

    * CVS repository files manually moved.  Old directories left intact
      and empty (temporary).

    * Reorganize all filesystems into vfs/, most devices into dev/,
      sub-divide devices by function.

    * Begin to move device-specific architecture files to the device
      subdirs rather then throwing them all into, e.g. i386/include

    * Reorganize files related to system busses, placing the related code
      in a new bus/ directory.  Also move cam to bus/cam though this may
      not have been the best idea in retrospect.

    * Reorganize emulation code and place it in a new emulation/ directory.

    * Remove the -I- compiler option in order to allow #include file
      localization, rename all config generated X.h files to use_X.h to
      clean up the conflicts.

    * Remove /usr/src/include (or /usr/include) dependancies during the
      kernel build, beyond what is normally needed to compile helper
      programs.

    * Make config create 'machine' softlinks for architecture specific
      directories outside of the standard <arch>/include.

    * Bump the config rev.

    WARNING! after this commit /usr/include and /usr/src/sys/compile/*
    should be regenerated from scratch.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sat Jul 19 21:14:18 2003 UTC (10 years, 9 months ago) by dillon
Branches: MAIN
Diff to: previous 1.2: preferred, unified
Changes since revision 1.2: +3 -3 lines
Remove the priority part of the priority|flags argument to tsleep().  Only
flags are passed now.  The priority was a user scheduler thingy that is not
used by the LWKT subsystem.  For process statistics assume sleeps without
P_SINTR set to be disk-waits, and sleeps with it set to be normal sleeps.

This commit should not contain any operational changes.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Jun 17 04:28:22 2003 UTC (10 years, 10 months ago) by dillon
Branches: MAIN
CVS tags: PRE_MP
Diff to: previous 1.1: preferred, unified
Changes since revision 1.1: +1 -0 lines
Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids.  Most
ids have been removed from !lint sections and moved into comment sections.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Jun 17 02:54:04 2003 UTC (10 years, 10 months ago) by dillon
Branches: MAIN
CVS tags: FREEBSD_4_FORK
import from FreeBSD RELENG_4 1.46.2.18

Diff request

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

Log view options