summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2007-03-06big changes to the completion path in ahci.cDavid Gwynne
- add a ccb_done member to the ahci_ccb, which points to a function that is used to complete the current xfer - ccbs no longer rely on an ata_xfer being provided for submission to work - ahci is stupid and has no way to telling you the difference between an empty command slot, and a completed command. we keep track of active commands with ap_active in ahci_port, so we dont try and complete commands we havent actually submitted - ahci_start simple submits a command to the hardware now - provide the start of an interrupt handler for each port (which is not yet called by the controllers interrupt handler) - provide an ahci_poll which is built on top of ahci_start and ahci_port_intr - remove the fake ata_xfers from the softreset path - on completion of an ahci command, sync the relevant dma memory - provide a completion path for ata_xfers which syncs the xfers buffer and calls the xfers completion handler in atascsi.c: - start defining the contents of the response to an ATA IDENTIFY command specific to SATA - implement the faking of scsi inquiries, so now you'll actually see a disk attach to ahci. - start implementing a fake scsi read capacity. it presents a fake geometry though, so dont get too excited when ahci magically makes your disk have a terabyte in size. lots of discussion, help, tweaks, and an ok from pascoe@
2007-03-06since we dont overwrite the dva of the cmd_table in the cmd_hdr now, weDavid Gwynne
dont have to carry the cmd_tables dva around in the ccb anymore.
2007-03-06dont do pointer maths with void *David Gwynne
2007-03-06Apply a SG segment size limit and remove the length check.Christopher Pascoe
2007-03-06No need to continually assign the control table addresses, provided we don'tChristopher Pascoe
ever zero out the whole command header. Also add some diagnostic checks to ensure we don't violate any of the controller's DMA address/size restrictions.
2007-03-06dlg@ advises that the bus_space operations will endian convert the DMA baseChristopher Pascoe
addresses for me when it writes to the registers. Don't swap them manually.
2007-03-06Make the 1:1 mapping of command slot to command header/table entriesChristopher Pascoe
explicit by including pointers to both of them in the ccb. Inspired by dlg@
2007-03-05Add pmap_prefer() for SH4, from NetBSD; ok drahn@Miod Vallat
2007-03-05Prevent a NULL pointer dereference in __pmap_kptp_lookup(); from NetBSDMiod Vallat
2007-03-05Lower the ipl to what it was at the time of the trap in general_exception,Miod Vallat
instead of remaining at splhigh; from NetBSD ok drahn@
2007-03-05Work around a virtual aliasing conflict issue. Basically allow multipleDale Rahn
readers but only one writer on a physical page. Not the most optimal, but has been tested. ok miod@
2007-03-05Add mmap for upa(4). Makes the X wsfb(4) driver actually work instead ofMark Kettenis
crashing the machine on UltraSPARC-III machines with creator(4) framebuffers. ok jason@, tsi@
2007-03-05proper check for [non]user returns to syscall gate page; found by miod@Michael Shalayeff
2007-03-05back out, reyk is not paying attentionTheo de Raadt
2007-03-05Add some HAL functions.Reyk Floeter
From madwifi-old-openhal via Nick Kossifidis (mickflemm at gmail dot com) Bump copyright while I'm here.
2007-03-05remove jumbo frame support by replacing MEXTALLOC with MCLGET, andReyk Floeter
simplify the VLAN code. this will close PR 5356 (system panics under high load). From claudio@ who is currently not around to commit this fix tested and ok by mcbride@, reyk@, todd@, Paul Hirsch, and brad
2007-03-05If tty-timestamping is requested, but no PPS signal is present, output aMarc Balmer
warning message and unconditionally set the sensor state to WARNING. discussed with otto, ckuethe; ok otto, "i like it" ckuethe
2007-03-05add a reminder about the extra attach functionDavid Gwynne
2007-03-05add space for a match and attach routine to the device list, so particularDavid Gwynne
controllers can specify extra code to run at match or attach time. use this on jmicron controllers to restrict attaching to ahci on pci function 0 (high functions are normal pciide style controllers), and to do the CCR tweaking to enable ahci.
2007-03-05Recognise ATAPI device signatures.Christopher Pascoe
2007-03-04Make sure a bpf device can only be opened once.Can Erkin Acar
Previously the descriptor was locked only after an interface is set, leading to a race condition. Reported by Jon Steel < jon.steel at esentire com > tested by otto@, looks correct deraadt@
2007-03-04Fix another panic in bcw_phy_init() for sparc64. Now firmware loadsMarcus Glocker
and radio initializes on sparc64, too.
2007-03-04Oops, bring back pmap_collect1() and the check for pmap_kernel() inMiod Vallat
pmap_collect() as we do an explicit pmap_collect(pmap_kernel()) in dire memory situations.
2007-03-04Fix bcw_gpio_init(); Before we can write to the GPIO control register,Marcus Glocker
we must switch back to the common core. Found because sparc64 panics on this (I start to like sparc64 :).
2007-03-04Make bcw_change_core() conform to other functions.Marcus Glocker
2007-03-04Limit knowledge of splfoo() return values, and use mac68k_machine.via1_iplMiod Vallat
instead of hardcoded 1; this gets us rid of unnecessary polls on machines running with A/UX interrupts.
2007-03-04Invoke adb_cuda_autopoll() and leave polling mode after all initializationMiod Vallat
commands are set; also add a delay between adb_intr_cuda() and adb_soft_intr() while polling, as this seems to be necessary on some models; ok gwk@ drahn@
2007-03-04Fix non AHCI_DEBUG build.Christopher Pascoe
2007-03-04Replace empty ahci_ata_{probe,cmd} stubs with ones that do something.Christopher Pascoe
Mostly from dlg@
2007-03-04Include port number in debug messages, where appropriate.Christopher Pascoe
Clean up some whitespace problems.
2007-03-04Fix panic caused by bcw_leds_switch_all() because reading from wrongMarcus Glocker
register. Noted while testing on sparc64.
2007-03-04Now actually activate ports and try to detect devices.Christopher Pascoe
2007-03-04Save BIOS configured parameters over reset. Always enable staggered spin-up.Christopher Pascoe
Don't clean interrupt status now - have to flush individual ports' status first.
2007-03-04Add support for enabling/disabling port activity, and soft/port resets.Christopher Pascoe
2007-03-04Add support for issuing a (polled) command.Christopher Pascoe
2007-03-04Add function to set up Physical Region Descriptor Tables, mostly from dlg@Christopher Pascoe
2007-03-04Oops, remove duplicate prototypes that I mismerged.Christopher Pascoe
2007-03-04Third argument to pci_mapreg_map is the "map type", not "memory type".Christopher Pascoe
2007-03-04Perform separate memory allocations for the RFIS, command list and commandChristopher Pascoe
tables. Avoids alignment issues and simplifies the calculation of the ranges to sync before DMA.
2007-03-04When freeing port memory, use actual pointer to port rather than random memory.Christopher Pascoe
2007-03-04Add functions to wait for bit changes in port registers.Christopher Pascoe
2007-03-04HBAs by JMICRON have an additional "Controller Control Register" thatChristopher Pascoe
must be programmed to switch the ports into AHCI mode. Do so.
2007-03-04Use CARDBUS_PRODUCT macro to read product id.Marcus Glocker
2007-03-04Fix strict alignment panic. Makes my BCM4306 attach on sparc64.Marcus Glocker
2007-03-04comment members of ahci_cmd_tableDavid Gwynne
2007-03-04pull the prdt into the ahci_cmd_table struct, which gets rid of ahci_cmd.David Gwynne
from pascoe@
2007-03-04rename struct ahci_cmd_list to ahci_cmd_hdr to better match the spec andDavid Gwynne
make it easier to read the code. fix the ordering of the flags and prdtl fields. from pascoe@
2007-03-04reverse the order of the fields in the %b fmt strings so that they readDavid Gwynne
the bitfield from left to right like us humans do. from pascoe@
2007-03-04Kill a cardbus dependency which breaked kernel compilation e.g. forMarcus Glocker
sparc*. OK deraadt
2007-03-03Kernel crash dumps and associated libkvm bits for landisk.Miod Vallat