<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/dev/trm, branch release/9.2.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F9.2.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F9.2.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2013-06-18T00:36:53Z</updated>
<entry>
<title>Big MFC of the physbio changes necessary for unmapped I/O.  These changes</title>
<updated>2013-06-18T00:36:53Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2013-06-18T00:36:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=039e422c063977ba9073fd2c93883dd8a5a36d48'/>
<id>urn:sha1:039e422c063977ba9073fd2c93883dd8a5a36d48</id>
<content type='text'>
have been in production at Netflix for several months with significant
success.

MFC r246713:

Reform the busdma API so that new types may be added without modifying
every architecture's busdma_machdep.c.  It is done by unifying the
bus_dmamap_load_buffer() routines so that they may be called from MI
code.  The MD busdma is then given a chance to do any final processing
in the complete() callback.

MFC r249538:
Some compilers issue a warning when wider integer is casted to narrow
pointer.  Supposedly shut down the warning by casting through
uintptr_t.

MFC r251479:
Simplify the checking of flags for cam_periph_mapmem().  This gets rid of
a lot of code redundancy and grossness at very minor expense.

MFC r251837:
MFC r251842:
Add infrastructure for doing compatibility shims, as has been sorely
needed for the last 10 years.  Far too much of the internal API is
exposed, and every small adjustment causes applications to stop working.
To kick this off, bump the API version to 0x17 as should have been done
with r246713, but add shims to compensate.  Thanks to the shims, there
should be no visible change in application behavior.

Submitted by:	kib, jeffr
Approved by:	kib
Obtained from:	Netflix
</content>
</entry>
<entry>
<title>MFC 232854,232874,232882,232883,232886 for bus_get_dma_tag()</title>
<updated>2012-03-16T08:46:58Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2012-03-16T08:46:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=03f15131ec6a584935fd83d33e1a1dc1500c3880'/>
<id>urn:sha1:03f15131ec6a584935fd83d33e1a1dc1500c3880</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFp4: Large set of CAM inprovements.</title>
<updated>2010-01-28T08:41:30Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2010-01-28T08:41:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=83c5d981ac176d1cfae8d6dab3c0420ed9d43477'/>
<id>urn:sha1:83c5d981ac176d1cfae8d6dab3c0420ed9d43477</id>
<content type='text'>
- Unify bus reset/probe sequence. Whenever bus attached at boot or later,
CAM will automatically reset and scan it. It allows to remove duplicate
code from many drivers.
- Any bus, attached before CAM completed it's boot-time initialization,
will equally join to the process, delaying boot if needed.
- New kern.cam.boot_delay loader tunable should help controllers that
are still unable to register their buses in time (such as slow USB/
PCCard/ CardBus devices), by adding one more event to wait on boot.
- To allow synchronization between different CAM levels, concept of
requests priorities was extended. Priorities now split between several
"run levels". Device can be freezed at specified level, allowing higher
priority requests to pass. For example, no payload requests allowed,
until PMP driver enable port. ATA XPT negotiate transfer parameters,
periph driver configure caching and so on.
- Frozen requests are no more counted by request allocation scheduler.
It fixes deadlocks, when frozen low priority payload requests occupying
slots, required by higher levels to manage theit execution.
- Two last changes were holding proper ATA reinitialization and error
recovery implementation. Now it is done: SATA controllers and Port
Multipliers now implement automatic hot-plug and should correctly
recover from timeouts and bus resets.
- Improve SCSI error recovery for devices on buses without automatic sense
reporting, such as ATAPI or USB. For example, it allows CAM to wait, while
CD drive loads disk, instead of immediately return error status.
- Decapitalize diagnostic messages and make them more readable and sensible.
- Teach PMP driver to limit maximum speed on fan-out ports.
- Make boot wait for PMP scan completes, and make rescan more reliable.
- Fix pass driver, to return CCB to user level in case of error.
- Increase number of retries in cd driver, as device may return several UAs.
</content>
</entry>
<entry>
<title>Remove extraneous semicolons, no functional changes.</title>
<updated>2010-01-07T21:01:37Z</updated>
<author>
<name>Martin Blapp</name>
<email>mbr@FreeBSD.org</email>
</author>
<published>2010-01-07T21:01:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c2ede4b379d8fa04de02c36201538fd610763299'/>
<id>urn:sha1:c2ede4b379d8fa04de02c36201538fd610763299</id>
<content type='text'>
Submitted by:	Marc Balmer &lt;marc@msys.ch&gt;
MFC after:	1 week
</content>
</entry>
<entry>
<title>Separate the parallel scsi knowledge out of the core of the XPT, and</title>
<updated>2009-07-10T08:18:08Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2009-07-10T08:18:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=52c9ce25d8339ad0228be8aaf0e44b45314b38dc'/>
<id>urn:sha1:52c9ce25d8339ad0228be8aaf0e44b45314b38dc</id>
<content type='text'>
modularize it so that new transports can be created.

Add a transport for SATA

Add a periph+protocol layer for ATA

Add a driver for AHCI-compliant hardware.

Add a maxio field to CAM so that drivers can advertise their max
I/O capability.  Modify various drivers so that they are insulated
from the value of MAXPHYS.

The new ATA/SATA code supports AHCI-compliant hardware, and will override
the classic ATA driver if it is loaded as a module at boot time or compiled
into the kernel.  The stack now support NCQ (tagged queueing) for increased
performance on modern SATA drives.  It also supports port multipliers.

ATA drives are accessed via 'ada' device nodes.  ATAPI drives are
accessed via 'cd' device nodes.  They can all be enumerated and manipulated
via camcontrol, just like SCSI drives.  SCSI commands are not translated to
their ATA equivalents; ATA native commands are used throughout the entire
stack, including camcontrol.  See the camcontrol manpage for further
details.  Testing this code may require that you update your fstab, and
possibly modify your BIOS to enable AHCI functionality, if available.

This code is very experimental at the moment.  The userland ABI/API has
changed, so applications will need to be recompiled.  It may change
further in the near future.  The 'ada' device name may also change as
more infrastructure is completed in this project.  The goal is to
eventually put all CAM busses and devices until newbus, allowing for
interesting topology and management options.

Few functional changes will be seen with existing SCSI/SAS/FC drivers,
though the userland ABI has still changed.  In the future, transports
specific modules for SAS and FC may appear in order to better support
the topologies and capabilities of these technologies.

The modularization of CAM and the addition of the ATA/SATA modules is
meant to break CAM out of the mold of being specific to SCSI, letting it
grow to be a framework for arbitrary transports and protocols.  It also
allows drivers to be written to support discrete hardware without
jeopardizing the stability of non-related hardware.  While only an AHCI
driver is provided now, a Silicon Image driver is also in the works.
Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware
is possible and encouraged.  Help with new transports is also encouraged.

Submitted by:	scottl, mav
Approved by:	re
</content>
</entry>
<entry>
<title>Prepare for future integration between CAM and newbus.  xpt_bus_register</title>
<updated>2007-06-17T05:55:54Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2007-06-17T05:55:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b50569b71dfb110a58aa3e83f629115291802a74'/>
<id>urn:sha1:b50569b71dfb110a58aa3e83f629115291802a74</id>
<content type='text'>
now takes a device_t to be the parent of the bus that is being created.
Most SIMs have been updated with a reasonable argument, but a few exceptions
just pass NULL for now.  This argument isn't used yet and the newbus
integration likely won't be ready until after 7.0-RELEASE.
</content>
</entry>
<entry>
<title>Remove Giant from CAM.  Drivers (SIMs) now register a mutex that CAM will</title>
<updated>2007-04-15T08:49:19Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2007-04-15T08:49:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2b83592fdcb9e7c201677f3605b9e8738a6b0737'/>
<id>urn:sha1:2b83592fdcb9e7c201677f3605b9e8738a6b0737</id>
<content type='text'>
use to synchornize and protect all data objects that are used for that
SIM.  Drivers that are not yet MPSAFE register Giant and operate as
usual.  RIght now, no drivers are MPSAFE, though a few will be changed
in the coming week as this work settles down.

The driver API has changed, so all CAM drivers will need to be recompiled.
The userland API has not changed, so tools like camcontrol do not need to
be recompiled.
</content>
</entry>
<entry>
<title>o break newbus api: add a new argument of type driver_filter_t to</title>
<updated>2007-02-23T12:19:07Z</updated>
<author>
<name>Paolo Pisati</name>
<email>piso@FreeBSD.org</email>
</author>
<published>2007-02-23T12:19:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=ef544f631226436ef590825881e7a28369df82f6'/>
<id>urn:sha1:ef544f631226436ef590825881e7a28369df82f6</id>
<content type='text'>
  bus_setup_intr()

o add an int return code to all fast handlers

o retire INTR_FAST/IH_FAST

For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current

Reviewed by: many
Approved by: re@
</content>
</entry>
<entry>
<title>Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.</title>
<updated>2006-12-11T18:28:31Z</updated>
<author>
<name>Matt Jacob</name>
<email>mjacob@FreeBSD.org</email>
</author>
<published>2006-12-11T18:28:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=b3d93fd0c96f430027eae8ba39f975341cec1648'/>
<id>urn:sha1:b3d93fd0c96f430027eae8ba39f975341cec1648</id>
<content type='text'>
PR:		106543
MFC after:	3 days
</content>
</entry>
<entry>
<title>2nd and final commit that moves us to CAM_NEW_TRAN_CODE</title>
<updated>2006-11-02T00:54:38Z</updated>
<author>
<name>Matt Jacob</name>
<email>mjacob@FreeBSD.org</email>
</author>
<published>2006-11-02T00:54:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=bd3fd815a7fbc96f1506dfdcac840b94cff28d00'/>
<id>urn:sha1:bd3fd815a7fbc96f1506dfdcac840b94cff28d00</id>
<content type='text'>
as the default.

Reviewed by multitudes.
</content>
</entry>
</feed>
