summaryrefslogtreecommitdiff
path: root/sys
AgeCommit message (Collapse)Author
2010-04-26next step towards unification: make all the genassym chunks handle bothTheo de Raadt
arch and machine dependent files (and add the missing files) ok miod drahn
2010-04-26typoTheo de Raadt
2010-04-26next unification step: remove bsd.rd test build goopTheo de Raadt
2010-04-26BOARDTYPE is no longer used by Makefile.*; spotted by miodTheo de Raadt
2010-04-26next unification step: move all MD naming _mach, _machdir, _arch, and _archdirTheo de Raadt
ok miod drahn
2010-04-26Make this compile with gcc4.Mark Kettenis
2010-04-26first step of unification: spaces at end of lines; comments, etc.Theo de Raadt
ok miod
2010-04-26syncStephan A. Rickauer
2010-04-26add Logitech Webcam C500, ok sthen@Stephan A. Rickauer
2010-04-26cut down simple locks (so simple that they don't even lock) to the pointTheo de Raadt
where there is almost nothing left to them, so that we can continue getting rid of them ok oga
2010-04-25Switch uao_list_lock protecting the uao list (for create, destroy andOwain Ainsworth
most importantly swapoff) over to a mutex. No idea how many times i've written this diff in the past. ok deraadt@
2010-04-25Argh, commited the wrong diff. This was the reversed test that found theOwain Ainsworth
libdrm bug recently. Correct to what was intended.
2010-04-25When querying if an object is busy, it is if it is marked active (beingOwain Ainsworth
accessed by the gpu or needing a flush). Since this implies that the object is wanted, emit the flush then to save time. Makes things a lot smoother than before in some GL applications, since before we were claiming that object needing a flush were unbusy so the next map stalled the gpu waiting on a flush. From daniel vetter on intel-gfx.
2010-04-25oops, kill unneeded write lock grabbing that got mixed in when resolvingOwain Ainsworth
conflicts.
2010-04-25A nice little performance speedup.Owain Ainsworth
If we just read access to some data that has been accessed by the gpu, only sleep until the end of the gpus last write (which we track). So instead of stalling the gpu until the last time accessed, both can read at the same time (which is allowed and coherent as long as the right invalidation happens). Since we check offsets from userland before we exec a batchbuffer, this helps 965 (with lots of read only relocations in the render path) quite a lot.
2010-04-25The locking rework/fix that I promised when I commited GEM.Owain Ainsworth
Before, as well as being kinda nasty there was a very definite race, if the last reference to an object was removed by uvm (a map going away), then the free path happened unlocked, this could cause all kinds of havoc. In order to deal with this, move to fine-grained locking. Since uvm object locks are spinlocks, and we need to sleep in operations that will wait on the gpu, provide a DRM_BUSY flag that is set on a locked object that then allows us to unlock and sleep (this is similar to several things done in uvm on pages and some object types). The rwlock stays around to ensure that execbuffer can have acces to the whole gtt, so ioctls that bind to the gtt need a read lock, and execuffer gets a write lock. otherwise most ioctls just need to busy the object that they operate on. Lists also have their own locks. Some cleanup could be done to make this a little prettier, but it is much more correct than previously. Tested very very vigorously on 855 (x40) and 965 (x61s), this found numerous bugs. Also, the I can no longer crash the kernel at will. A bunch of asserts hidden under DRMLOCKDEBUG have been left in the code for debugging purposes.
2010-04-25Don't bother binding the object in the gtt map ioctl.Owain Ainsworth
these maps tend to be fairly long lived so it buys us nothing other than code complexity.
2010-04-25Do not allow changing tiling mode on pinned objects.Owain Ainsworth
Since this means the necessary gtt alignment may change. Nothing did this already, so all it does it allows the code to be simpler. idea from Daniel Vetter.
2010-04-25Update various comments.Miod Vallat
2010-04-25Simplify the 6:1 pfsr extraction block: process data CMMU first, and do notMiod Vallat
bother zeroing fault registers of CMMU which did not report faults.
2010-04-25Do not include <machine/intr.h> from <sh/psl.h>, and fix <sh/cpu.h> whichMiod Vallat
used to depend on <sh/psl.h> bringing <machine/intr.h>.
2010-04-25Properly adjust group demotion counters when groups are added orMarco Pfatschbacher
removed. Extend carp demote logging to also show the reason for the demote. Return EINVAL instead of ERANGE if a carpdemote request is out range. Requested from otto. OK mcbride, henning.
2010-04-25Novatel MC760 bits from Ted Roby <ted.roby@gmail.com>.Jonathan Gray
2010-04-25regenJonathan Gray
2010-04-25Novatel MC760 ids from Ted Roby <ted.roby@gmail.com>Jonathan Gray
2010-04-25dirhash cna cope with real locks (and has before), enable mutexes here.Ted Unangst
ok deraadt
2010-04-25introducing a 64-bit type to the disklabel structure leads some architecturesTheo de Raadt
to pad-align the size of the structure; it grows, the disklabel ioctl's are break ABI. Change the uid to a character array. this also simplifies some other stuff ok jsing
2010-04-24AViiON VDM and VDIT defines, to be used by disksubr.c very soon.Miod Vallat
2010-04-24grammar in commentsMiod Vallat
2010-04-24SMP support for models 4600 and 530, adapted from the MVME188 code. ModelsMiod Vallat
4000 and 4300 will need more work, because they don't have as many distinct software interrupt sources as required by this implementation, so a different IPI scheme will be necessary. Tested on dual-processor 4625 (AV530 family) and single processor 4300 (AV400 family).
2010-04-24Replace heuristics used to figure out which model we are running on, andMiod Vallat
trust the cpuid value returned by the prom itself (verified against /usr/opt/sdk/include/sys/dg_sys_info.h on a DG-UX filesystem).
2010-04-24There is no reason to protect the pmap_vp_pool with splvm(). The only pmapMark Kettenis
that gets manipulated in interrupt context is the kernel pmap, and we fully populate its VP mappings during pmap_bootstrap(). Gets rid of the excessive spl's at pmap_destroy() time noticed by deraadt@ ok deraadt@, drahn@
2010-04-24This code is only called during autoconf, and never ever from anMark Kettenis
interrupt handler.  So the locking and spl manipulation can simply go away. ok deraadt@, oga@
2010-04-24Make if_ppp and if_sl ioctl handlers return ENOTTY for unsupportedStefan Sperling
ioctls, instead of -1 or EINVAL. ENOTTY audit suggested to me by uwe. ok dlg tedu
2010-04-23Make raidframe compile after recent #include rectification. Noted byKenneth R Westerback
oga@. ok deraadt@
2010-04-23Merge the only relevant (for now) parts of simplelock.h into lock.hTheo de Raadt
since it is time to start transitioning away from the no-op behaviour. ok oga kettenis
2010-04-23Fix null-pointer dereference.Ariane van der Steldt
ok oga
2010-04-23simple_lock -> XXXLOCKING for ufh ihash.Owain Ainsworth
I'm actually 99% sure that these locks are right and could be almost trivially converted to an IPL_NONE mutex protecting the hashtable. Any takers?
2010-04-23simple_lock -> XXXLOCKING comments.Owain Ainsworth
This is a similar case to the ntfs commit just made, howerver things a somewhat more hard to audit because cd9660 actually implements vnode locking (using lockmgr still due to vnode recursion *vomit*). No rwlock on the hash table though so these locks can probably be converted to mutexes fairly simply to prevent reentering the list code.
2010-04-23It is about time that we stopped pretending simple_locks are locks.Owain Ainsworth
replace ntfs_nthash_slock usage with comments prefixed XXXLOCKING (for grepability). This lock looks to be correct, but it could well be the bad way to do it (having a rwlock for inserts to avoid races inserting the same inode but then simple locking on list accesses). approach discussed with deraadt@
2010-04-23Add a barrier before we submit the ringbuffer and before we do anythingOwain Ainsworth
that kills gtt mappings. In both of these case we want all writes to hit the bus before we do whatever we're about to do. Doesn't solve any problems that I know of but it may help.
2010-04-23Allow for lazy fence disable on tiling change.Owain Ainsworth
When we disable tiling (for example whenever we free an object to out userland cache), we stall the gpu so that we can get rid of the fence register covering its bit of the gtt. Instead, mark it as invalid and then free it on next use, leading to less of a gpu stall if any. Leads to some slight performance improvement on 8xx, 91x and 94x chipsets which are fence constrained.
2010-04-23give AR9287 some chance to work.Damien Bergamini
2010-04-23Recycle unused disklabel fields in order to create a disklabel uniqueJoel Sing
identifier, allowing the disk to be identified without relying on the device name. ok deraadt@ krw@ beck@ marco@ todd@
2010-04-23Use proper Queen's English in a comment. Drive-by fix, no functional change.Stefan Sperling
2010-04-23remove unnecessary temp_entry variables and hoist simple check out of a loop.Ted Unangst
no functional change. from Anton Maksimenkov
2010-04-23Make sure IPL_SCHED is always defined by MD headers, instead of having a MIMiod Vallat
fallback definition in <sys/sched.h>, so that there is no hidden include ordering requirement between <machine/intr.h> and <sys/sched.h>. ok deraadt@ tedu@
2010-04-23Remove unnecessary pointer dereference causing gcc2 to warn.Miod Vallat
2010-04-23the SAT spec from t10.org defines messages for tunnelling ATA commands overDavid Gwynne
SCSI when you're talking to a scsi to ata translation layer (satl). this implements the ata command ioctl handler in scsi_ioctl.c that wraps the ata command requests up in these scsi commands and then issues them against the hardware. this cuts atascsi over to interpreting these scsi commands rather than the ioctls directly. this should allow mpi users (with a relatively recent firmware) to use atactl against their SATA disks. i cant test cos my mpi(4) parts are too old to either support these scsi commands or too old to take recent firmwares. ok marco@ @krw tested by krw@ and me on ahci/atascsi
2010-04-22Don't include sysctl.h, and remove an unused struct from the softc.Stuart Henderson
ok deraadt@