aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char
Commit message (Collapse)AuthorAgeFilesLines
* drm: cleanup buffer/map codeDave Airlie2005-07-108-130/+210
| | | | | | | | | This is a patch from DRM CVS that cleans up some code that was in CVS that I never moved to the kernel, this patch produces the result of the cleanups and puts it into the kernel drm. From: Eric Anholt <anholt@freebsd.org>, Jon Smirl, Dave Airlie Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: add mga driver callbacksDave Airlie2005-07-101-0/+8
| | | | | | Add some missing driver callback for the PCI support Signed-off-by: Dave Airlie <airlied@linux.ie>
* Add support for PCI MGA cards to MGA DRM.Dave Airlie2005-07-107-277/+888
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds serveral new ioctls and a new query to get_param query to support PCI MGA cards. Two ioctls were added to implement interrupt based waiting. With this change, the client-side driver no longer needs to map the primary DMA region or the MMIO region. Previously, end-of-frame waiting was done by busy waiting in the client-side driver until one of the MMIO registers (the current DMA pointer) matched a pointer to the end of primary DMA space. By using interrupts, the busy waiting and the extra mappings are removed. A third ioctl was added to bootstrap DMA. This ioctl, which is used by the X-server, moves a *LOT* of code from the X-server into the kernel. This allows the kernel to do whatever needs to be done to setup DMA buffers. The entire process and the locations of the buffers are hidden from user-mode. Additionally, a get_param query was added to differentiate between G4x0 cards and G550 cards. A gap was left in the numbering sequence so that, if needed, G450 cards could be distinguished from G400 cards. According to Ville Syrjälä, the G4x0 cards and the G550 cards handle anisotropic filtering differently. This seems the most compatible way to let the client-side driver know which card it's own. Doing this very small change now eliminates the need to bump the DRM minor version twice. http://marc.theaimsgroup.com/?l=dri-devel&m=106625815319773&w=2 (airlied - this may not work at this point, I think the follow on buffer cleanup patches will be needed) From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: make drm_alloc_agp take a dev arg.Dave Airlie2005-07-103-4/+4
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: add new mga ids and typesDave Airlie2005-07-102-4/+6
| | | | | From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: add test for AGP devices and driver override for it.Dave Airlie2005-07-1013-3/+123
| | | | | | | | | | | | | | | | | | Added device_is_agp callback to drm_driver. This function is called by the platform-specific drm_device_is_agp function. Added implementation of this function the the Linux-specific portion of the MGA driver to detect PCI G450 cards. Added code to the Linux-specific portion of the generic DRM layer to not initialize AGP infrastructure if the card is not AGP (this matches what already existed in BSD). Fix up i810/i830 and i915 drivers to always return AGP as they don't always report the capability. Fix the MGA to not report AGP for a card that has an AGP chip behind a PCI bridge. From: Ian Romanick, Dave Airlie, Alan Hourihane Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: destatic exported function.Dave Airlie2005-07-102-2/+4
| | | | Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: export symbols for use by driversDave Airlie2005-07-103-0/+7
| | | | | | | This just exports symbols for use in drivers. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: fix minor function header issueDave Airlie2005-07-101-2/+2
| | | | | From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: update some function so a driver can call themDave Airlie2005-07-104-101/+167
| | | | | | | | This patch splits some ioctl functions so that they can be called in-kernel by a DRM driver. The driver will use them later. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: update support for drm pci buffersDave Airlie2005-07-107-39/+78
| | | | | | | | The DRM needs to change the drm_pci interface for FreeBSD compatiblity, this patch introduces the drm_dma_handle_t and uses it in the Linux code. From: Tonnerre Lombard, Eric Anholt, and Sergey Vlasov Signed-off-by: David Airlie <airlied@linux.ie>
* Refactor common, boilerplate ioctl code from drm_addbufs_* functions intoDave Airlie2005-07-101-82/+44
| | | | | | | | drm_addbufs. This makes the code more like the BSD code, and makes the drm_addbufs_* functions callable in-kernel. From: Ian Romanick <idr@us.ibm.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: add framebuffer mapsDave Airlie2005-07-103-4/+178
| | | | | | | | | | The patch makes drmAddBufs/drmMapBufs can handle buffers in video memory The attached patch adds a new buffer type DRM_FB_BUFFER. It works like AGP memory but uses video memory. From: Austin Yuan <austinyuan@viatech.com.cn> Signed-off-by: Dave Airlie <airlied@linux.ie>
* drm: add _DRM_CONSISTENT map typeDave Airlie2005-07-105-7/+40
| | | | | | | | Added a new DRM map type _DRM_CONSISTENT for consistent PCI memory. It uses drm_pci_alloc/free for allocating/freeing the memory. From: Felix Kuhling <fxkuehl@gmx.de> Signed-off-by: David Airlie <airlied@linux.ie>
* drm: fix stupid missing semicolon.Dave Airlie2005-07-101-1/+1
| | | | | | I fixed this in one git tree but that wasn't the one I pushed... Signed-off-by: Dave Airlie <airlied@linux.ie>
* Merge head 'drm-fixes' of ↵Linus Torvalds2005-07-0925-194/+146
|\ | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6
| * drm: wrap config.h include in a ifdef KERNELDave Airlie2005-07-071-0/+2
| | | | | | | | | | | | This file can be included from userspace so wrap the config.h include. Signed-off-by: David Airlie <airlied@linux.ie>
| * drm: misc cleanupDave Airlie2005-07-0723-178/+135
| | | | | | | | | | | | | | | | | | | | | | This patch contains the following cleanups: - make needlessly global functions static - remove the following unused global functions: - drm_fops.c: drm_read - i915_dma.c: i915_do_cleanup_pageflip Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: use kcalloc now that it is available..Dave Airlie2005-07-072-14/+7
| | | | | | | | | | | | Make the DRM drm_calloc call kcalloc now. Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: ctx release can happen before dev->ctxlist is allocatedDave Airlie2005-07-071-1/+1
| | | | | | | | | | From: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
| * drm: fix minor issues caused by core conversionDave Airlie2005-07-071-1/+1
| | | | | | | | | | | | The conversion to core/driver got this check in-correct. Signed-off-by: Dave Airlie <airlied@linux.ie>
* | Merge head 'drm-3264' of ↵Linus Torvalds2005-07-0910-0/+628
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6
| * | drm: add 32/64 support for MGA/R128/i915Dave Airlie2005-07-0710-0/+628
| |/ | | | | | | | | | | | | This adds compatiblity ioctls for mga/r128 and i915 DRM drivers. From: Paul Mackerras, David Airlie, Alan Hourihane, Egbert Eich. Signed-off-by: David Airlie <airlied@linux.ie>
* | Merge head 'drm-via' of ↵Linus Torvalds2005-07-0917-0/+5345
|\ \ | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6
| * \ Merge ../linux-2.6/Dave Airlie2005-07-0713-27/+29
| |\ \ | | |/
| * | drm: Add via unichrome supportDave Airlie2005-06-2817-0/+5345
| | | | | | | | | | | | | | | | | | Add DRM device driver for VIA Unichrome chipsets From: Unichrome Project http://unichrome.sf.net, Erdi Chen, Thomas Hellstrom Signed-off-by: Dave Airlie <airlied@linux.ie>
* | | [PATCH] pcmcia: remove references to pcmcia/version.hDominik Brodowski2005-07-071-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | As a follow-up, remove the inclusion of pcmcia/version.h in many files. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] pcmcia: move event handlerDominik Brodowski2005-07-071-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the "event handler" to struct pcmcia_driver -- the unified event handler will disappear really soon, but switching it to struct pcmcia_driver in the meantime allows for better "step-by-step" patches. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] mostly_read data sectionChristoph Lameter2005-07-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new section called ".data.read_mostly" for data items that are read frequently and rarely written to like cpumaps etc. If these maps are placed in the .data section then these frequenly read items may end up in cachelines with data is is frequently updated. In that case all processors in an SMP system must needlessly reload the cachelines again and again containing elements of those frequently used variables. The ability to share these cachelines will allow each cpu in an SMP system to keep local copies of those shared cachelines thereby optimizing performance. Signed-off-by: Alok N Kataria <alokk@calsoftinc.com> Signed-off-by: Shobhit Dayal <shobhit@calsoftinc.com> Signed-off-by: Christoph Lameter <christoph@scalex86.org> Signed-off-by: Shai Fultheim <shai@scalex86.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] tty output lossage fixRoman Zippel2005-07-071-18/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch fixes a few corner cases around tty line editing with very long input lines: - n_tty_receive_char(): don't simply drop eol characters, otherwise canon_data isn't increased and the reader isn't woken up. - n_tty_receive_room(): If there is no newline pending and the edit buffer is full, allow only a single character to be written (until eol is found and the line is flushed), so characters from the next line aren't dropped. - write_chan(): if an incomplete line was written, continue writing until write() returns 0, otherwise it might not write the eol character to flush the line and the writer goes to sleep without ever being woken up. BTW the core problem is that part of this should be handled in the receive_buf path, but for this it has to return the number of written characters, as the amount of written characters may not be the same as the amount of characters going into the write buffer, so the receive_room() usage in pty_write() is not really reliable. Alan said: The problem looks valid. The behaviour of 'traditional unix' appears to be the following If you exceed the line limit then beep and drop the character Always allow EOL to complete a canonical line input Always do signal/control processing if enabled Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Use hvc_get_chars in hvsi codeMilton Miller2005-07-071-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that hvc_get_chars doesn't strip NULs, hvsi doesn't have to duplicate it. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Separate the NUL character filtering from get_hvc_charsMilton Miller2005-07-071-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the NUL character filtering from get_hvc_chars. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Register ops when setting up hvc_consoleMilton Miller2005-07-072-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When registering the hvc console port, register a list of ops (read and write) to go with it, instead of calling fixed function names. This allows different ports to encode the data differently. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Separate hvc_console and vio code 2Milton Miller2005-07-073-40/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove all the vio device driver code from hvc_console.c This will allow us to separate hvsi, hvc, and allow hvc_console to be used without the ppc64 vio layer. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Separate hvc_console and vio codeMilton Miller2005-07-071-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the console setup routines of the hvc_console and the vio layer. Remove the call to find_init_vty from hvc_console.c. Fail the setup routine if the console doesn't exist, but register the console again when the specified channel is instantiated. This scheme maintains the print buffer semantics while eliminating callout and call back for the console code. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Add some sanity checksMilton Miller2005-07-071-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check if a vterm was registered before accepting it as a console. Check that a slot hasn't been probed with a tty in hvc_instantiate(). Check that a slot hasn't been free'ed when handing out console device. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Statically initialize the vtermnos arrayMilton Miller2005-07-071-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Statically initialize the vtermnos array. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: remove num_vterms and some dead codeMilton Miller2005-07-071-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | num_vterms hasn't been used since the hotplug support went in. Also, remove a dead code line from a list_for_each_entry conversion. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Add missing includeMilton Miller2005-07-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | hvc_console checks MAGIC_SYSRQ and XMON config vars. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Unregister the console in the exit routine.Milton Miller2005-07-071-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Be thorough in our exit routine, since it says it is there to be so. Unregistering without registering is safe (checked in 2.6.10). Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: MAGIC_SYSRQ should only be on console channelMilton Miller2005-07-071-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Guard the MAGIC_SYSRQ ^O to be just on the console channel. Make the other channels more transparent. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Dont always kick the poll thread in interruptMilton Miller2005-07-071-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Have the hvc console code try to pull characters immediately when receiving an interrupt, and kick the poll thread only if the immediate poll indicates it needed a call back to do more work. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Match vio and console devices using vterm numbersMilton Miller2005-07-071-7/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the vterm numbers to match the vio devices being probed with the indices already allocated via the console initcall function hvc_find_vtys. The old code required hvc_find_vtys to "guess" the matching devices the vio subsystem would find and its probe order. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] hvc_console: Rearrange codeMilton Miller2005-07-071-142/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Milton Miller has done a lot of work to clean up our hvc_console code. One of the important things the following patch series does is separate the VIO layer from the hvc_console code. With the VIO specific code removed any ppc64 platform, or even any architecture, can use hvc_console as a generic polling console. You simply have to supply a get_chars and put_chars method and hvc_console does the rest of the work. You can even use it for an interrupt driven console. This patch: Rearrange the code in drivers/char/hvc_console.c to make future patches smaller. No actual code changes, just ordering of the functions in the file. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | [PATCH] print order information when OOM killingMarcelo Tosatti2005-07-071-1/+1
| |/ |/| | | | | | | | | | | Dump the current allocation order when OOM killing. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] PCI: clean up dynamic pci id logicGreg Kroah-Hartman2005-07-012-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dynamic pci id logic has been bothering me for a while, and now that I started to look into how to move some of this to the driver core, I thought it was time to clean it all up. It ends up making the code smaller, and easier to follow, and fixes a few bugs at the same time (dynamic ids were not being matched everywhere, and so could be missed on some call paths for new devices, semaphore not needed to be grabbed when adding a new id and calling the driver core, etc.) I also renamed the function pci_match_device() to pci_match_id() as that's what it really does. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | [PATCH] tpm: fix bug introduced by the /proc/miscKylene Jo Hall2005-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | In fixing the /proc/misc problem that was reported last week where the tpm module name was being obfuscated in /proc/misc I introduced a bug in the module unloading code. This patch fixes the problem. Signed-off-by: Kylene Hall <kjhall@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] sis 760 support.Dave Jones2005-06-281-0/+9
| | | | | | | | | | | | | | | | | | This patch adds the SiS 760 ID to the amd64-agp driver, so that agpgart can be used on Athlon64 boards based on this chip. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] coverity: tty_ldisc_ref return null checkKAMBAROV, ZAUR2005-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We add a check of the return value of tty_ldisc_ref(), which is checked 7 out of 8 times, e.g.: 149 ld = tty_ldisc_ref(tty); 150 if (ld != NULL) { 151 if (ld->set_termios) 152 (ld->set_termios)(tty, &old_termios); 153 tty_ldisc_deref(ld); 154 } This defect was found automatically by Coverity Prevent, a static analysis tool. (akpm: presumably `ld' is never NULL. Oh well) Signed-off-by: Zaur Kambarov <zkambarov@coverity.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] coverity: ipmi_msghandler() channels array overrun fixKAMBAROV, ZAUR2005-06-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We fix the check in 1084, which was 1084 if (addr->channel > IPMI_NUM_CHANNELS) { 1085 spin_lock_irqsave(&intf->counter_lock, flags); 1086 intf->sent_invalid_commands++; 1087 spin_unlock_irqrestore(&intf->counter_lock, flags); 1088 rv = -EINVAL; 1089 goto out_err; 1090 } addr->channel is used in 1092 if (intf->channels[addr->channel].medium Definitions involved: 221 struct ipmi_channel channels[IPMI_MAX_CHANNELS]; 134 #define IPMI_MAX_CHANNELS 8 In /linux-2.6.12-rc6/include/linux/ipmi.h 148 #define IPMI_NUM_CHANNELS 0x10 Signed-off-by: Zaur Kambarov <zkambarov@coverity.com> Cc: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>