summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/umass.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a define for the Zip 250n_hibma2000-05-071-1/+2
|
* Remove ~25 unneeded #include <sys/conf.h>phk2000-04-191-1/+0
| | | | Remove ~60 unneeded #include <sys/malloc.h>
* Dereference a pointer (print int instead of pointer value)n_hibma2000-04-031-1/+1
|
* Numerous fixes brought in by Lennart Augustsson from NetBSD:n_hibma2000-04-031-47/+151
| | | | | | | | | | | | | | | - Request the maximum number of LUNs on a device if it is a Bulk-Only device. - Handle NO_TEST_UNIT_READY case for SCSI - Add NO_START_STOP quirk for LS-120 - Fix a KASSERT which was the wrong way around. - Kickstart the LS-120 with the infamous LS-120 specific command of which no one knows what it doesn, apart from the fact that it appeared in the Linux code someday.
* OpenBSD has a broken debugger that does not grok static. Use an_hibma2000-04-031-57/+57
| | | | | | #define Static static that the OpenBSD folks can define it to be empty if they like.
* Add a hack to cam that makes the cam_xpt available to the rest of then_hibma2000-04-031-26/+3
| | | | | | | | | | | | | | | | | | | | | | | kernel. Justin agress that there is no other reasonable alternative to do automatic rescans on connect. The problem is that when a new device attaches to a SIM (SCSI host controller) we need to send a XPT_SCAN_BUS command to the SIM using xpt_action. This requires however that there is a peripheral available to take the command (otherwise xpt_done and later bomb). The RESCAN ioctl uses the same periph. This enables a USB mass storage drive to do an automatic rescan on connection of the drive. The automatic dropping of a CAM entry on disconnection was already working (asynchronous event). The next thing to do is find someone to commit a change to vpo to do the same thing. Just port umass_cam_rescan and friends across to that driver. Approved by: gibbs
* Shoot. Did a compile in the wrong directory and missed this compilern_hibma2000-04-021-1/+1
| | | | | | error. Could someone pass me the pointy hat, please?
* Remove a static variable, a uniquifier for a SCSI command. It might haven_hibma2000-04-021-5/+5
| | | | | | produced inadvertently failed transfers in the case were multiple Bulk-Only devices are connected and a command is prepared at the same time.
* I got the CAM numbers (path id's, buses, unit numbers) and newbusn_hibma2000-04-021-131/+231
| | | | | | | | | | | | | | | | | unit numbers all wrong. This did not show up because most of them where zero anyway. Use a separate buffer for command transforms instead of fiddling with the existing cdb_bytes. Take CAM_CDB_POINTER into account. Nobody is using it, but someone might in the future. Be more picky about what to accept in the UFI command set. First attempt at implementing the ATAPI command protocol transforms. This should at least make Imation Superdisk and other e-Shuttle based devices show as attached. Maybe they even work to some extent.
* Revert to a static value for the timeout. The timeout was supposedlyn_hibma2000-03-281-14/+5
| | | | | | | | to be based on the transfer speed, but I got it all wrong. The by far biggest factor in the timeout is the start of a removable device, which is about 2 seconds anyway. Prodded by: Lennart Augustsson
* The REQUEST SENSE command is 6b not 16b. Use the struct scsi_sense ton_hibma2000-03-261-11/+13
| | | | | | indicate that we are working with that command. Some corrected/added comments.
* The completely rewritten USB Mass Storage driver. It supports the followingn_hibma2000-03-181-430/+2191
| | | | | | | | | | | | devices: Tested: Zip 100 USB drive Y-E Data USB floppy drive Untested: (let me know whether or not it works!) TEAC USB floppy drive Zip 250 USB drive
* Update de driver for the request->xfer changes.n_hibma1999-11-281-6/+10
| | | | | Add a remark about how the system will panic after you've unplugged the drive.
* Synchronisation with NetBSD as of 1999/11/16:n_hibma1999-11-171-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleaning up the code: - Declare many functions static - Change variable names to make them more self explanatory - Change usbd_request_handle -> usbd_xfer_handle - Syntactical changes - Remove some unused code - Other KNF changes Interrupt context handling - Change delay to usbd_delay_ms were possible (takes polling mode into account) - Change detection mechanism for interrupt context Add support for pre-allocation DMA-able memory by device driver Add preliminary support for isochronous to the UHCI driver (not for OHCI yet). usb.c, uhci.c, ohci.c - Initial attempt at detachable USB host controllers - Handle the use_polling flag with a lttle more care and only set it if we are cold booting. usb.c, uhci.c ohci.c, usbdi.c usbdi_util.c usb_subr.c - Make sure an aborted pipe is marked as not running. - Start queued request in the right order. - Insert some more DIAGNOSTIC sanity checks. - Remove (almost) unused definitions USBD_XFER_OUT and USBD_XFER_IN. usb.c, usb_subr.c - Add an event mechanism so that a userland process can watch devices come and go. ohci.c - Handle the case when a USB transfer is so long that it crosses two page (4K) boundaries. OHCI cannot do that with a single TD so we make a chain. ulpt.c - Use a bigger buffer when transferring data. - Pre-allocate the DMA buffer. This makes the driver slightly more efficient. - Comment out the GET_DEVICE_ID code, because for some unknown reason it causes printing to fail sometimes. usb.h - Add a macro to extract the isoc type. - Add a macro to check whether the routine has been entered after splusb and if not, complain. usbdi.c - Fix a glitch in dequeueing and aborting requests on interrupt pipes. - Add a flag in the request to determine if the data copying is done by the driver or the usbdi layer.
* Major synchronisation with the NetBSD USB stack:n_hibma1999-10-071-4/+7
| | | | | | | | | | | - Some cleanup and improvements in the uhci and ohci drivers - Support for plugging and unplugging devices improved - Now available is bulk transport over OHCI controllers - Resume and suspend have been temporarily been disabled again. Proper support for it is available in the uhci.c and ohci.c files but I have not yet spent the brain cycles to use it. - OpenBSD now uses the USB stack as well - Add FreeBSD tags
* 1) Do not include usbdivar.h and access the interface descriptor throughn_hibma1999-06-201-88/+39
| | | | | | | usbd_get_interface_descriptor 2) remove soft reset. It's been dropped from the USB Mass Storage Bulk-Only Specification 3) move the clear feature halt to the reset routine.
* 1) remove the soft reset after a command failed.n_hibma1999-06-131-5/+17
| | | | 2) remove printing of errno and errstr
* Add remark about where bInterfaceProtocol number for USB Zip drive comesn_hibma1999-06-041-1/+1
| | | | | | from. 0x50 == 'P' for protoype. Obtained from: Pat LaVarre <LAVARRE@iomega.com> on linux-usb@suse.com
* Notify CAM of the removed device on detach.n_hibma1999-05-301-5/+3
|
* Take out calls to cam_sim_set_basexfer_speed(), the base transfer speed isken1999-05-061-3/+0
| | | | | | now returned in the path inquiry CCB. Submitted by: Nick Hibma <hibma@skylink.it>
* Add new member for XPT_PATH_INQ, follows recent changes inn_hibma1999-05-061-0/+1
| | | | version v1.2 of cam_sim.h.
* Replace UE_GET_IN with UE_GET_DIRn_hibma1999-05-031-14/+9
| | | | Remove freeind of description. Is done by subr_bus.c.
* Add driver for the Iomega Zip 100 drive.n_hibma1999-05-021-0/+848
OpenPOWER on IntegriCloud