Age | Commit message (Collapse) | Author | |
---|---|---|---|
2006-12-12 | remember our dma tag. be able to do dma is like, really cool. man. | David Gwynne | |
2006-12-12 | add functions to get and put ccbs out of each ports command free list. | David Gwynne | |
2006-12-12 | add wrappers for reading and writing a ports registers called ahci_pread, | David Gwynne | |
and ahci_pwrite. these will use an io handle into a window of the controllers register space that can be created with bus_space_subregion, and which is stored in the ahci_port struct. | |||
2006-12-12 | introduce the command control blocks, and the concept that they are managed | David Gwynne | |
per port rather than as a big list for the whole controller. the softc has an array of pointers to a struct that manages all the shizz relevant to a particular port. when we map the controllers ports, we'll allocate these as needed. if the port isnt implemented, we leave its pointer in the softc null and use that to decide if a drive might be there or not, rather than lookup up the PI register all the time. a comparison has to null has to be cheaper than doing bit operations, surely. | |||
2006-12-12 | stash the number of commands each port can do in the softc | David Gwynne | |
2006-12-11 | use oct bits consistently in the format string for %b. pointed out by | David Gwynne | |
deraadt@ | |||
2006-12-11 | On i386, swizzle interrupts for devices for which we don't have explicit | Mark Kettenis | |
inetrrupt routing information. ok deraadt@ | |||
2006-12-11 | do not bus_space_map devices which are at address 0; ok kettenis | Theo de Raadt | |
2006-12-11 | oops, we want to return when everything goes well in ahci_attach, rather | David Gwynne | |
than fall through to the bits that do cleanup when an error occurs. | |||
2006-12-11 | remove the argument to all the port registers that say which port you want | David Gwynne | |
to address. instead make them simply offsets from the start of a ports register space, which is something we can easily set up with bus_space_subregion. this should make the code a lot easier to read later on. | |||
2006-12-11 | dont stash the implemented ports map, im going to use a different | David Gwynne | |
mechanism to figure out if a port is usable or not later on. | |||
2006-12-11 | define the command structs used by the ports. | David Gwynne | |
this stuff isnt endearing me to ata at all, and apparently ahci is a good ata controller. the command path looks way more complicated than it needs to be (or maybe i am used to really good scsi controllers, i dont know). a lot of the terminology seems annoyingly different just for the sake of being different. i mean, what is the advantage of calling a scatter gather lement a "physical region descriptor table"? noone else calls it that. there's a lot of weird stuff in here. blah. | |||
2006-12-11 | pull the wrapper for allocations of dma mem with a single segment in from | David Gwynne | |
arc, which got it from mpi, which got it from ami. grange is right, we should look at pushing it back up into the bus_dma api somewhere. | |||
2006-12-11 | oops, too far for the match/attach funcs | David Gwynne | |
2006-12-11 | give the function prototypes a bit more room for the return type. | David Gwynne | |
2006-12-11 | Only disarm the watchdog if we really want to, not before each re-trigger. | Marc Balmer | |
2006-12-11 | Shorten the code, but no functional changes. | Marc Balmer | |
2006-12-11 | per port register definitions | David Gwynne | |
2006-12-11 | fix %b format string now that deraadt fixed printf | David Gwynne | |
2006-12-11 | stash the field showing which ports are hooked up, and dump it if verbose | David Gwynne | |
debug is on | |||
2006-12-11 | if ahci debug and verbose output is enabled, then dump the cap register. | David Gwynne | |
this also fixes a few reg definition errors i found after having them dumped. something seems really screwy with %b. i cant select the 32nd bit position using \x20 or \040, so im using \32 and the rest are octal (\oNN). hex (\xNN) seems really really borked, and the compiler doesnt like eating some of the dec ones (eg, \8BITNAME). | |||
2006-12-10 | regen | Dimitry Andric | |
2006-12-10 | Add ATI RS200M AGP. | Dimitry Andric | |
2006-12-09 | sigh, split the bus space mapping and interrupt hookup apart so i can | David Gwynne | |
reset the controller and clear interrupts off it before doing the hookup. | |||
2006-12-09 | reset the hba and set the enable bit. | David Gwynne | |
2006-12-09 | figure out which revision of ahci we're trying to use and print it out. | David Gwynne | |
if we don't know about it, bomb out. | |||
2006-12-09 | split the mapping of the pci resources out of the main attach func | David Gwynne | |
2006-12-09 | add wrappers for safe access to the register space. stolen from arc (which | David Gwynne | |
stole them from mpi). | |||
2006-12-09 | add macros for debug shizz | David Gwynne | |
2006-12-09 | bit definitions for the cap and ghc registers | David Gwynne | |
2006-12-09 | registers for hba control | David Gwynne | |
2006-12-09 | the start of a driver for ahci controllers. this does nothing but map the | David Gwynne | |
register space and hook an interrupt up for the controller i have, but it is going into the tree so i can work on it. commit early, commit often | |||
2006-12-08 | regen | Gordon Willem Klok | |
2006-12-08 | Add the Broadcom BCM5787F PCI id. | Gordon Willem Klok | |
Add D-Link DGE-560SX and another Marvell Yukon (unknown model) PCI ids. From the Linux sky2 driver via brad@ | |||
2006-12-08 | From Jon Simola <simola@mecha.com>: | Marcus Glocker | |
Style and whitespace cleanup. | |||
2006-12-07 | regen | Michael Knudsen | |
2006-12-07 | Add Broadcom BCM5787F. | Michael Knudsen | |
From brad. | |||
2006-12-06 | - Move TX ring full sanity check further up and check the number of DMA | Reyk Floeter | |
segments from the DMA map, instead of counting the DMA segments in the for loop and breaking out later. - Unload the DMA map if encountering an error condition. Tested on amd64/i386/sparc64 ok brad@ mglocker@ | |||
2006-12-06 | Implement em_read_pcie_cap_reg(), where we set the max read size on | Reyk Floeter | |
PCIe to 4k. >From kmacy@FreeBSD Tested by mk@ and Johan Mson Lindman <tybollt at solace dot mh dot se> with the 82573 chipset. ok brad@ mglocker@ mk@ | |||
2006-12-06 | - de-static | Martin Reindl | |
- use pci_matchbyid, makes attaching way simpler ok brad@ reyk@ | |||
2006-12-06 | replace Adaptec AIC-6915 Starfire driver with the fully bus_dma(9)-able | Martin Reindl | |
driver from NetBSD ok brad@ reyk@ additional testing Nick Nauwelaerts | |||
2006-12-06 | From Jon Simola <simola@mecha.com>: | Marcus Glocker | |
Add bus-specific config space read and write functions, this fixes the attach for ian@darwinsys.com and properly enumerates multiple cores. | |||
2006-12-04 | report full/half duplex state for non-MII interfaces | Reyk Floeter | |
ok brad@ | |||
2006-12-03 | Re-enable RX engine every time otherwise it occasionally | Alexander Yurchenko | |
stops under unknown circumstances. Tested by many people, ok brad a long time ago. | |||
2006-12-03 | Set sis_stopped=1 early on attach and reset it later in sis_init(). | Alexander Yurchenko | |
With mickey's help. | |||
2006-12-03 | always assume full duplex state if the interface is up... what does | Reyk Floeter | |
full duplex mean for a virtual interface? | |||
2006-12-03 | re-add a tiny little #ifdef VIC_DEBUG, used to compare the vic(4) | Reyk Floeter | |
features and capabilities on different vmware platforms. | |||
2006-11-29 | From Jon Simola <simola@mecha.com>: | Marcus Glocker | |
New bcw_powercontrol_crystal_on() function, and fix the license for the pci wrapper. | |||
2006-11-29 | Add an unpack_attr function to struct wsdisplay_emulops, to match the | Miod Vallat | |
existing alloc_attr function. This allows rasops_unpack_attr to be kept private to rasops, yet available to the screen drivers. | |||
2006-11-29 | Limit the number of openings to 1 for now, there're still bugs. | Alexander Yurchenko | |
Thanks to miod for the hint. |