#
f6b1c44d |
| 01-Jul-2003 |
Scott Long <scottl@FreeBSD.org> |
Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma.
Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour.
sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen.
If anyone gets panics or warnings from dflt_lock() being called, please let me know right away.
Reviewed by: tmm, gibbs
show more ...
|
#
0d3432ec |
| 16-Jun-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Revert previos change for prior release/branch.
|
#
2813692c |
| 15-Jun-2003 |
Nate Lawson <njl@FreeBSD.org> |
Merge common XPT_CALC_GEOMETRY functions into a single convenience function. Devices below may experience a change in geometry.
* Due to a bug, aic(4) never used extended geometry. Changes all driv
Merge common XPT_CALC_GEOMETRY functions into a single convenience function. Devices below may experience a change in geometry.
* Due to a bug, aic(4) never used extended geometry. Changes all drives >1G to now use extended translation. * sbp(4) drives exactly 1 GB in size now no longer use extended geometry. * umass(4) drives exactly 1 GB in size now no longer use extended geometry.
For all other controllers in this commit, this should be a no-op.
Looked over by: scottl
show more ...
|
Revision tags: release/5.1.0_cvs, release/5.1.0 |
|
#
de7f8045 |
| 04-Jun-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Don't call sbp_do_attach() recursively after agent reset while device probing.
|
#
96c7c6dd |
| 12-May-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Make it compiled on 4-stable.
Approved by: re (scottl)
|
#
d7398f23 |
| 05-May-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Write to RESET_START register if TARGET_RESET ORB doesn't work for timeout.
|
#
eadb8f35 |
| 02-May-2003 |
Jake Burkholder <jake@FreeBSD.org> |
Fix printf format errors.
|
#
e47276e5 |
| 01-May-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Fix printf warning caused by recent CAM change.
|
#
98465499 |
| 30-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Release devq before detach.
|
#
45800373 |
| 30-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Add missing crom_next() in the previous revision.
|
#
fd596327 |
| 29-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Get correct firmware/model information for multiple unit directories.
|
#
5e286c32 |
| 26-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
- Improve configuration ROM parser for multiple unit directory. - Remove getcsrdata(). - Don't print device type, this can be obtained by fwcontrol.
Tested with: Maxtor 5000XT Tested by: Daniel O'Co
- Improve configuration ROM parser for multiple unit directory. - Remove getcsrdata(). - Don't print device type, this can be obtained by fwcontrol.
Tested with: Maxtor 5000XT Tested by: Daniel O'Connor <doconnor@gsoft.com.au>
show more ...
|
#
a2da26fc |
| 24-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Fix printf warnings for i386 with PAE.
Submitted by: harti
|
#
77ee030b |
| 17-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
MFp4(simokawa_firewire): Many internal structure changes for the FireWire driver.
- Compute CRC in CROM parsing. - Add support for configuration ROM build. - Simplify dummy buffer handling. - busdm
MFp4(simokawa_firewire): Many internal structure changes for the FireWire driver.
- Compute CRC in CROM parsing. - Add support for configuration ROM build. - Simplify dummy buffer handling. - busdma conversion - Use swi_taskqueue_giant for -current. Mark the interrupt routine as MPSAFE. - AR buffer handling. Don't reallocate AR buffer but just recycle it. Don't malloc and copy per packet in fwohci_arcv(). Pass packet to fw_rcv() using iovec. Application must prepare receiving buffer in advance. - Change fw_bind API so that application should pre-allocate xfer structure. - Add fw_xfer_unload() for recycling struct fw_xfer. - Add post_busreset hook - Remove unused 'sub' and 'act_type' in struct fw_xfer. - Remove npacket from struct fw_bulkxfer. - Don't call back handlers in fwochi_arcv() if the packet has not drained in AT queue - Make firewire works on big endian platform. - Use native endian for packet header and remove unnecessary ntohX/htonX. - Remove FWXFERQ_PACKET mode. We don't use it anymore. - Remove unnecessary restriction of FWSTMAXCHUNK. - Don't set root node for phy config packet if the root node is not cycle master capable but set myself for root node. We should be the root node after next bus reset.
Spotted by: Yoshihiro Tabira <tabira@scd.mei.co.jp> - Improve self id handling
Tested on: i386, sparc64 and i386 with forced bounce buffer
show more ...
|
#
050871cc |
| 14-Apr-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Panic if bus_dmamap_load() doesn't respect maxsegsz.
|
Revision tags: release/4.8.0_cvs, release/4.8.0 |
|
#
d067ce20 |
| 12-Mar-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Put back including sys/devicestat.h for 4-stable.
|
#
60794e04 |
| 08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be r
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
show more ...
|
#
0fc9ced0 |
| 04-Mar-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Fix printf warning on RELENG_4.
|
#
46ce9fef |
| 03-Mar-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Simplify ORB queue management. Don't send doorbell and send ORB pointer only if it's necessary. This reduces bus traffic and interrupts much.
|
#
37413f0a |
| 01-Mar-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Don't reset agent before processing OCB has done.
|
#
45545499 |
| 27-Feb-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
MFp4(simokawa_sbp branch)
Improve SBP device probeing: - Wait 2 sec before issuing LOGIN ORB expecting the reconnection hold timer expires. - Serialize management ORB and scanning LUN by CAM on eac
MFp4(simokawa_sbp branch)
Improve SBP device probeing: - Wait 2 sec before issuing LOGIN ORB expecting the reconnection hold timer expires. - Serialize management ORB and scanning LUN by CAM on each target. This should fix the problem for devices which have multiple LUNs. Test device is donated by: Jaye Mathisen <mrcpu@internetcds.com> - Freeze SIM queue for 2 sec after BUS RESET. - Retry with LOGIN rather than RECONNECT after LOGIN is not completed for BUS RESET. - Use appropriate CAM status for BUS RESET and DEVICE RESET. - Let CAM to scan targets after BUS REST. - Implement CAM scan target function. - Keep our own devq freeze count. - Let CAM to know that SBP does tagged queuing.
These should be merged to RELENG_4 before 4.8-RELEASE.
show more ...
|
#
41dc7a98 |
| 21-Feb-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Oops, forgot to put back debug level.
|
#
d17c7743 |
| 21-Feb-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
Don't scan lun by myself while boot process leave it CAM to scan the bus. Some drives seem to be confused by simultaneous probes.
Tested by: marcel
As a side effect, logical units whose lun is grea
Don't scan lun by myself while boot process leave it CAM to scan the bus. Some drives seem to be confused by simultaneous probes.
Tested by: marcel
As a side effect, logical units whose lun is greater than 0 might not be probed correctly if the lun of 0 doesn't exist in the target because CAM doesn't scan such luns. I have a SCSI-FireWire bridge which maps SCSI-ID to LUN and it is an example of such targets.
show more ...
|
#
f918ec7b |
| 17-Feb-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
* firewire.c - Don't initiate bus reset even if probe failed for some nodes to prevent infinite bus reset loop.
Problem Reported by: Pierre Beyssac <pb@fasterix.frmug.org>
- Protect timeout routin
* firewire.c - Don't initiate bus reset even if probe failed for some nodes to prevent infinite bus reset loop.
Problem Reported by: Pierre Beyssac <pb@fasterix.frmug.org>
- Protect timeout routine with splfw() for 4-stable.
* sbp.c
- Make sure to release devq when start request.
show more ...
|
#
f3d2847d |
| 14-Feb-2003 |
Hidetoshi Shimokawa <simokawa@FreeBSD.org> |
- Though I got a feedback from the originator of kern/48129 that the previous revision fixed the panic, I found the problem exits in another part of the function by investigating the crom dump sent b
- Though I got a feedback from the originator of kern/48129 that the previous revision fixed the panic, I found the problem exits in another part of the function by investigating the crom dump sent by him. The search was started in the middle of bus info block and the routine misunderstood the EUI64 as a crom entry. This problem is fixed.
PR: kern/48129
Fix incorrect type mask included in a logical unit number and check the validity of the lun.
show more ...
|