summaryrefslogtreecommitdiff
path: root/sys/dev/pci
AgeCommit message (Collapse)Author
2006-12-12remember our dma tag. be able to do dma is like, really cool. man.David Gwynne
2006-12-12add functions to get and put ccbs out of each ports command free list.David Gwynne
2006-12-12add 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-12introduce the command control blocks, and the concept that they are managedDavid 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-12stash the number of commands each port can do in the softcDavid Gwynne
2006-12-11use oct bits consistently in the format string for %b. pointed out byDavid Gwynne
deraadt@
2006-12-11On i386, swizzle interrupts for devices for which we don't have explicitMark Kettenis
inetrrupt routing information. ok deraadt@
2006-12-11do not bus_space_map devices which are at address 0; ok kettenisTheo de Raadt
2006-12-11oops, we want to return when everything goes well in ahci_attach, ratherDavid Gwynne
than fall through to the bits that do cleanup when an error occurs.
2006-12-11remove the argument to all the port registers that say which port you wantDavid 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-11dont stash the implemented ports map, im going to use a differentDavid Gwynne
mechanism to figure out if a port is usable or not later on.
2006-12-11define 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-11pull the wrapper for allocations of dma mem with a single segment in fromDavid 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-11oops, too far for the match/attach funcsDavid Gwynne
2006-12-11give the function prototypes a bit more room for the return type.David Gwynne
2006-12-11Only disarm the watchdog if we really want to, not before each re-trigger.Marc Balmer
2006-12-11Shorten the code, but no functional changes.Marc Balmer
2006-12-11per port register definitionsDavid Gwynne
2006-12-11fix %b format string now that deraadt fixed printfDavid Gwynne
2006-12-11stash the field showing which ports are hooked up, and dump it if verboseDavid Gwynne
debug is on
2006-12-11if 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-10regenDimitry Andric
2006-12-10Add ATI RS200M AGP.Dimitry Andric
2006-12-09sigh, split the bus space mapping and interrupt hookup apart so i canDavid Gwynne
reset the controller and clear interrupts off it before doing the hookup.
2006-12-09reset the hba and set the enable bit.David Gwynne
2006-12-09figure 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-09split the mapping of the pci resources out of the main attach funcDavid Gwynne
2006-12-09add wrappers for safe access to the register space. stolen from arc (whichDavid Gwynne
stole them from mpi).
2006-12-09add macros for debug shizzDavid Gwynne
2006-12-09bit definitions for the cap and ghc registersDavid Gwynne
2006-12-09registers for hba controlDavid Gwynne
2006-12-09the start of a driver for ahci controllers. this does nothing but map theDavid 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-08regenGordon Willem Klok
2006-12-08Add 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-08From Jon Simola <simola@mecha.com>:Marcus Glocker
Style and whitespace cleanup.
2006-12-07regenMichael Knudsen
2006-12-07Add Broadcom BCM5787F.Michael Knudsen
From brad.
2006-12-06- Move TX ring full sanity check further up and check the number of DMAReyk 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-06Implement em_read_pcie_cap_reg(), where we set the max read size onReyk 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-staticMartin Reindl
- use pci_matchbyid, makes attaching way simpler ok brad@ reyk@
2006-12-06replace Adaptec AIC-6915 Starfire driver with the fully bus_dma(9)-ableMartin Reindl
driver from NetBSD ok brad@ reyk@ additional testing Nick Nauwelaerts
2006-12-06From 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-04report full/half duplex state for non-MII interfacesReyk Floeter
ok brad@
2006-12-03Re-enable RX engine every time otherwise it occasionallyAlexander Yurchenko
stops under unknown circumstances. Tested by many people, ok brad a long time ago.
2006-12-03Set sis_stopped=1 early on attach and reset it later in sis_init().Alexander Yurchenko
With mickey's help.
2006-12-03always assume full duplex state if the interface is up... what doesReyk Floeter
full duplex mean for a virtual interface?
2006-12-03re-add a tiny little #ifdef VIC_DEBUG, used to compare the vic(4)Reyk Floeter
features and capabilities on different vmware platforms.
2006-11-29From Jon Simola <simola@mecha.com>:Marcus Glocker
New bcw_powercontrol_crystal_on() function, and fix the license for the pci wrapper.
2006-11-29Add an unpack_attr function to struct wsdisplay_emulops, to match theMiod Vallat
existing alloc_attr function. This allows rasops_unpack_attr to be kept private to rasops, yet available to the screen drivers.
2006-11-29Limit the number of openings to 1 for now, there're still bugs.Alexander Yurchenko
Thanks to miod for the hint.