1. 10 Mar, 2005 40 commits
    • Randy Dunlap's avatar
      [PATCH] imsttfb: eliminate bad section references · a76f26e9
      Randy Dunlap authored
      Fix imsttfb section references:  change __initdata to __devinitdata
        and __init to __devinit.
      
      Error: ./drivers/video/imsttfb.o .text refers to 000000000000103b R_X86_64_32S      .init.data+0x0000000000000040
      Error: ./drivers/video/imsttfb.o .text refers to 0000000000001049 R_X86_64_32S      .init.data+0x0000000000000041
      Error: ./drivers/video/imsttfb.o .text refers to 0000000000001064 R_X86_64_32S      .init.data
      Error: ./drivers/video/imsttfb.o .text refers to 0000000000001071 R_X86_64_32S      .init.data+0x0000000000000001
      Signed-off-by: default avatarRandy Dunlap <rddunlap@osdl.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a76f26e9
    • Randy Dunlap's avatar
      [PATCH] atyfb: eliminate bad section references · 335d6502
      Randy Dunlap authored
      Fix atyfb references to __initdata from .text code sections
        by changing __initdata to __devinitdata.
      
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002416 R_X86_64_32S      .init.data+0x00000000000004a0
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002514 R_X86_64_32S      .init.data
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 000000000000253e R_X86_64_32S      .init.data+0x0000000000000060
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026c4 R_X86_64_32S      .init.data+0x00000000000004a0
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026e7 R_X86_64_32S      .init.data+0x0000000000000070
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026ee R_X86_64_32S      .init.data+0x0000000000000068
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026fa R_X86_64_32S      .init.data+0x0000000000000074
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002706 R_X86_64_32S      .init.data+0x0000000000000078
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002712 R_X86_64_32S      .init.data+0x000000000000007c
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002afb R_X86_64_32S      .init.data+0x0000000000000560
      Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002baa R_X86_64_32S      .init.data+0x00000000000004c0
      Signed-off-by: default avatarRandy Dunlap <rddunlap@osdl.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      335d6502
    • Randy Dunlap's avatar
      [PATCH] asiliantfb: eliminate bad section references · f657f4f7
      Randy Dunlap authored
      asiliantfb refers to __initdata that should be __devinitdata
        and calls __init functions that should be __devinit;
      
      Error: ./drivers/video/asiliantfb.o .text refers to 00000000000006ee R_X86_64_32S      .init.data+0x00000000000000a0
      Error: ./drivers/video/asiliantfb.o .text refers to 0000000000000711 R_X86_64_32S      .init.data
      Signed-off-by: default avatarRandy Dunlap <rddunlap@osdl.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f657f4f7
    • Benjamin Herrenschmidt's avatar
      [PATCH] radeonfb: PLL access workaround · 3a5a6a4a
      Benjamin Herrenschmidt authored
      So you remember all those weird lockups at boot that happened in late
      2.6.11-rc with radeonfb.  I posted a "workaround" which just moved code
      around a bit and it appeared to work.  I finally got some real infos about
      the problem from ATI, and it seems my "workaround" is not very safe and
      there are other potential issues realted to HW bugs when accessing the PLL
      registers.
      
      This patch implements all of these workarounds (and puts back the code
      where it was before my previous fix).  
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3a5a6a4a
    • Antonino Daplas's avatar
      [PATCH] fbdev: Cleanups in driver/video · 64c823b4
      Antonino Daplas authored
      This patch contains cleanups including the following:
      - make needlessly global code static
      - remove the needlessly #ifdef MODULE from several module_exit
      - remove or #if 0 the following unused global functions:
        - fbmon.c: fb_create_modedb
        - fbmon.c: fb_get_monitor_limits
        - nvidia/nv_i2c.c: nvidia_delete_i2c_busses
        - nvidia/nv_setup.c: NVEnablePalette
        - nvidia/nv_setup.c: NVReadDacMask
      - remove the following unneeded EXPORT_SYMBOL's:
        - fbmon.c: fb_create_modedb
        - fbmon.c: fb_get_monitor_limits
        - hgafb.c: hgafb_setup
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      64c823b4
    • Antonino Daplas's avatar
      [PATCH] savagefb: Make savagefb one module · 948592ca
      Antonino Daplas authored
      #if defined(CONFIG_FB_SAVAGE_ACCEL)
      
        doesn't work with FB_SAVAGE_ACCEL=m, and
      
      #if defined(CONFIG_FB_SAVAGE_ACCEL) || defined(CONFIG_FB_SAVAGE_ACCEL_MODULE)
      
        would break with FB_SAVAGE=y and FB_SAVAGE_ACCEL=m.
      
      Rename savagefb.c to savagefb_driver.c.
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      948592ca
    • Jon Smirl's avatar
      [PATCH] fbdev: Allow core fb to be built as a module · 06b051b9
      Jon Smirl authored
      Allow the framebuffer core to be built as a module to ease debugging.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      06b051b9
    • James Simmons's avatar
      [PATCH] fbdev: Generic drawing function cleanups 2 · bd7ff3fa
      James Simmons authored
      Replaced LONG_MASK, SHIFT_PER_LONG, BYTES_PER_LONG with dynamic variables. 
      This will allow drivers in the future to control how much data to read/write
      from the framebuffer.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      bd7ff3fa
    • Antonino Daplas's avatar
      [PATCH] nvidiafb: Some chipsets need a buffer pitch divisible by 64 · 285311b3
      Antonino Daplas authored
      The Geforce2 cards crashes at 800x600-8, but not at 640x480 or 1024x768.
      Changing the xres_virtual to be divisible by 64 fixes the problem.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      285311b3
    • Antonino Daplas's avatar
      [PATCH] nvidiafb: Fix i2c error handling · 71992da3
      Antonino Daplas authored
      Fixed error handling in rivafb-i2c.c if bus registration fails.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      71992da3
    • Antonino Daplas's avatar
      [PATCH] rivafb: Fix i2c error handling · 71b2cdc4
      Antonino Daplas authored
      Fixed error handling in rivafb-i2c.c if bus registration fails.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      71b2cdc4
    • Antonino Daplas's avatar
      [PATCH] fbcon: Cursor fixes · 20067d73
      Antonino Daplas authored
      From Jiri Benc:
      
      we found several bugs in framebuffer console code in recent kernels.
      
      1. The escape sequence '\033[?25l' does not work (should disable cursor).
      
      2. When scrolling console using Shift-PgUp with cursor in the upper half
         part of the screen, cursor position is not updated.
      
      3. If cursor is placed at some character and console is scrolled using
         Shift-PgUp, that character remains on the screen.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      20067d73
    • Antonino Daplas's avatar
      [PATCH] fbdev: Capture modelist change event · bbfda4e4
      Antonino Daplas authored
      Add capability to change private modelist.  It checks if the entries in the
      new modelist are acceptable, and if not, trimmed from the modelist.
      
      Also added a new event, FB_EVENT_NEW_MODELIST, sent by fbmem, and captured by
      fbcon to resize all consoles, if need be.
      
      Requires minor changes to new functions, ie, fb_get_color_depth().
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      bbfda4e4
    • Jon Smirl's avatar
      [PATCH] fbdev: Add mode changing via sysfs · 8c91d5e9
      Jon Smirl authored
      This is a first pass at adding two new sysfs attributes to
      /sys/class/graphics/fb0 for setting modes.  There are two attributes: modes
      which contains a list of valid modes, and mode which is the current mode.  To
      switch modes echo one of the entries from the modes list to the mode
      attribute.
      
      The D,V,S on the modes represents Detailed, Vesa, Standard from the DDC info.
      
      modes is root writable.  It can also be used to set the list of modes.  For
      example a /etc file could add modes that are not in the monitor's DDC.
      
      mode is user writable.  PAM would set ownership of mode at user login time.
      This provides a safe way for a user to set the mode without being root.  You
      can only set the mode to one of the modes on the list.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8c91d5e9
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc32: uninorth-agp suspend support · 8f719499
      Benjamin Herrenschmidt authored
      This patch adds suspend/resume support to the Apple UniNorth AGP bridge to
      make sure AGP is properly disabled when the machine goes to sleep.  Without
      this, the r300 based laptops will fail to wakeup from sleep when using the
      new experimental r300 DRI driver.  It should also improve reliablility in
      general with other chips.
      
      Unfortunately, uninorth-agp is just a "sibling" of the video chip on the
      PCI bus, and thus ends up beeing called either before the video chip
      suspend routine, or after, depending on the HW layout or other random
      things.
      
      To make sure the device side of AGP is always disabled first and that we
      never touch the device after having put it into D2 state (which can be
      deadly), I also need the separate patch to radeonfb and aty128fb which will
      make them disabled their own side if not already done by the bridge driver.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8f719499
    • Benjamin Herrenschmidt's avatar
      [PATCH] aty128fb: Disable AGP on suspend · 58a40ef7
      Benjamin Herrenschmidt authored
      This patch improves reliability of suspend/resume by making sure AGP is
      disabled on the Rage 128 chip before putting it into a suspend state.  It
      works in conjunction with the uninorth-agp suspend patch, but should be
      harmless on machines with a different AGP bridge.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      58a40ef7
    • Benjamin Herrenschmidt's avatar
      [PATCH] radeonfb: Disable AGP on suspend · cd616dd9
      Benjamin Herrenschmidt authored
      This patch improves reliability of suspend/resume by making sure AGP is
      disabled on the radeon chip before putting it into a suspend state.  It
      works in conjunction with the uninorth-agp suspend patch, but should be
      harmless on machines with a different AGP bridge.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      cd616dd9
    • Antonino Daplas's avatar
      [PATCH] fbdev: Generic drawing function cleanups · 7ae26b93
      Antonino Daplas authored
        From Ulrich Eckhardt:
      
         * removed trailing whitespace
         * use helper function for common bitwise operations
         * fixed several cases where either the wrong mask was used for bitops
           or the mask was computed falsely, messing up <32 BPP support
         * added self-tests for bitcpy_rev() algorithm in module-init function
         * no need to use explicitly sized integers in some cases
         * added a few comments where things weren't obvious to me
      
        I tested these changes on an Au1100 based board, using the patches to its
        framebuffer code that were posted here by Christian Pellegrin[1]. I had this
        code working both on a 16BPP color LCD and a 4BPP monochrome one.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7ae26b93
    • Antonino Daplas's avatar
      [PATCH] nvidiafb: Add update framebuffer driver for nVidia chipsets · 8e0de75e
      Antonino Daplas authored
      Because nVidia keeps pumping out new graphics chipsets, it is becoming
      harder to add support for these with the old rivafb code.  Currently, rivafb
      can properly support NV_ARCH_20 chipsets and older.
      
      Instead of rewriting rivafb to support the latest chipsets, I've decided to
      write a new driver, called nvidiafb.  The aim is to closely follow Xorg
      development.
      
      Currently, this driver is based on the most recent CVS Xorg nv driver. Main
      
        - console acceleration for all chipsets
        - uses DMA instead of PIO
        - better LCD/digital output support
        - better monitor detection
        - support for Riva128 will be dropped as it cannot do DMA, rivafb
          will remain as the driver for this chipset
      
      It should work with Xorg/XFree86 nv driver, but as with rivafb, is not
      compatible with the proprietary nvidia driver.
      
      Once the code becomes stable, rivafb code will be trimmed to only support the
      Riva128 and perhaps some of the older chipsets.  The code has been tested on
      several nVidia graphics card on x86 and x86_64.  I'm still waiting for
      feedback from Guido Guenther regarding ppc.
      
      This need not go to mainline immediately, as I would prefer the code to
      receive rigorous testing in the mm tree.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8e0de75e
    • Antonino Daplas's avatar
      [PATCH] geodefb: Add Geode framebuffer driver · 3dcf6506
      Antonino Daplas authored
        Attached is a patch (against 2.6.10) for a framebuffer driver for the
        Geode family of processors.  It does not use AMD's horrible Durango API.
         It is, however, rather feature incomplete at the moment.
      
                * Only Geode GX1 (with CS5530 companion chip) is supported.
                * Tested resolutions: 640x480 to 1280x1024.
                * Supported bit depths: 8 bit palette, 16 bit RGB 5-6-5.
                * CRT output only.
                * No accelerated features.
                * Compression is not enabled.
                * flat panel support (panel=<x>x<y> option). (Only one 640x480 panel
                  has been tested though.)
                * blank function for display blanking/powersaving.
                * crt=<n> option to enable/disable the CRT output.
      
      From: Alexey Dobriyan <adobriyan@mail.ru>
      
      Fix
      
      drivers/video/geode/display_gx1.c: error: `loops_per_jiffy' undeclared (first use in this function)
      drivers/video/geode/video_cs5530.c: error: `loops_per_jiffy' undeclared (first use in this function)
      Signed-off-by: default avatarDavid Vrabel <dvrabel@arcom.com>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAlexey Dobriyan <adobriyan@mail.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3dcf6506
    • David Vrabel's avatar
      [PATCH] fbdev: Kbuild cleanups · 5eeb19bd
      David Vrabel authored
      This set of two patches add new options (FB_CFB_IMAGEBLIT, FB_CFB_FILLRECT,
      FB_CFB_COPYAREA, FB_SOFT_CURSOR) to the framebuffer Kconfig to enable
      building the generic software cfbfillrect, cfbcopyarea, cfbimageblt and
      softcursor objects.  This cuts out a lot of stuff from the Makefile and
      allows drivers in their own directory to be more self-contained.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5eeb19bd
    • Antonino Daplas's avatar
      [PATCH] fbdev: Logo code fixes · 3c71ab5c
      Antonino Daplas authored
        This patch fixes a few bugs with the low level logo code.
      
        1. Allow DEC Alpha machines to draw the DEC logo
        2. Cleanup the logo directory on a make clean
        3. Some makefile cleanups.
      
        I have tested on my local machines. I like to be able to create the C
        files from the logos for only the ones we want to compile but I haven't
        figured out how to do that. That can wait. Please apply.
      Signed-off-by: default avatarJames Simmons <jsimmons@www.infradead.org>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3c71ab5c
    • Antonino Daplas's avatar
      [PATCH] intelfb: vesa_modes require CONFIG_FB_MODEHELPERS · d566ddb2
      Antonino Daplas authored
      The recent intelfb update made intelfb pass vesa_modes as the database to
      fb_find_mode(). The array vesa_modes depends on CONFIG_FB_MODEHELPERS. Fix
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      d566ddb2
    • Andrew Morton's avatar
      [PATCH] tridentfb warning fix · 7bae2dad
      Andrew Morton authored
      drivers/video/tridentfb.c:1219: warning: `tridentfb_setup' declared `static' but never defined
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7bae2dad
    • Adrian Bunk's avatar
      [PATCH] tridentfb.c: make some code static · 747525de
      Adrian Bunk authored
      This patch makes some needlessly global code static.
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      747525de
    • Andrew Morton's avatar
      [PATCH] sis warning fix · 31859ae9
      Andrew Morton authored
      drivers/video/sis/sis_main.c: In function `sisfb_compat_ioctl':
      drivers/video/sis/sis_main.c:2204: warning: implicit declaration of function `lock_kernel'
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      31859ae9
    • Andrew Morton's avatar
      [PATCH] fbdev compat_ioctl warning fix · 922b072e
      Andrew Morton authored
      Fix some confusion over fbdev compat_ioctl return types - compat_ioctls return
      `long'.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      922b072e
    • Antonino Daplas's avatar
      [PATCH] intelfb: Add partial support 915G chipset · 089d5f72
      Antonino Daplas authored
      Add (partial) support for 915G
        No HW cursor at the moment
        Screen is blanked but signal/sync is not switched off
      Mostly derived from XFree86/Xorg driver
      Pass "vesa_modes" and VESA_MODEDB_SIZE in call to "fb_find_mode()"
        to allow loading as module. Makes "vesa_modes" also the default
        "modedb" when linking statically into the kernel.
      Change PREFERRED_MODE to more reasonable value "1024x768-32@70"
      Signed-off-by: default avatarAxel Buttchereit <XL@XLsigned.net>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      089d5f72
    • lucasvr@gobolinux.org's avatar
      [PATCH] skeletonfb: Documentation fixes · 9c3bf968
      lucasvr@gobolinux.org authored
      This patch just fixes some typos and adds retval documentation for some
      functions that were missing it.
      
      I've also a question here: skeletonfb says that xxxfb_setcolreg() should
      return a negative errno on error.  However, if the register number being
      accessed is out of bounds, 1 is returned.  Shouldn't it be better to return
      -EINVAL instead?  By looking at fbcmap.c, the retval isn't being checked
      against positive/negative values, so it doesn't make sense to return 1.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      9c3bf968
    • Antonino Daplas's avatar
      [PATCH] kyrofb: copy_*_user return value checks added to kyro fb · 30afec67
      Antonino Daplas authored
      Here's a patch that makes sure the return value of copy_from/to_user gets
      checked and handled in drivers/video/kyro/fbdev.c It also updates a comment at
      the top of the file that lists the files name and location.
      Signed-off-by: default avatarJesper Juhl <juhl-lkml@dif.dk>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      30afec67
    • Antonino Daplas's avatar
      [PATCH] w100fb: Make blanking function interrupt safe · 58f533f9
      Antonino Daplas authored
      w100fb bugfix: The blanking function used vmalloc/vfree which isn't interrupt
      safe.  To avoid problems, switch to kmalloc/kfree and use several buffers to
      avoid kmalloc size limitations.
      Signed-off-by: default avatarRichard Purdie <rpurdie@rpsys.net>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      58f533f9
    • Antonino Daplas's avatar
      [PATCH] radeonfb: Fix spurious error return in FBIO_RADEON_SET_MIRROR · 117738c4
      Antonino Daplas authored
      FBIO_RADEON_SET_MIRROR always returns with -EINVAL even if successful due to
      an inappropriate fall-through.
      Signed-off-by: default avatarAndreas Schwab <schwab@suse.de>
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      117738c4
    • Alan Cox's avatar
      [PATCH] Ressurrect the esp serial driver · ec567d00
      Alan Cox authored
      Another first pass rescue run.  Fix up for modern locking, make it build
      and check over.  It could still do with other fixes (sleep_on etc) but it's
      a start
      Signed-off-by: default avatarAlan Cox <alan@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ec567d00
    • Paul Jackson's avatar
      [PATCH] cpusets: make CONFIG_CPUSETS the default in sn2_defconfig · 0043c15d
      Paul Jackson authored
      Make CONFIG_CPUSETS enabled by default in sn2_defconfig.
      Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      0043c15d
    • Paul Jackson's avatar
      [PATCH] cpusets - big numa cpu and memory placement · 3a978e55
      Paul Jackson authored
      This my cpuset patch, with the following changes in the last two weeks:
      
       1) Updated to 2.6.8.1-mm1
       2) [Simon Derr <Simon.Derr@bull.net>] Fix new cpuset to begin empty,
          not copied from parent.  Needed to avoid breaking exclusive property.
       3) [Dinakar Guniguntala <dino@in.ibm.com>] Finish initializing top
          cpuset from cpu_possible_map after smp_init() called.
       4) [Paul Jackson <pj@sgi.com>] Check on each call to __alloc_pages()
          if the current tasks cpuset mems_allowed has changed.  Use a cpuset
          generation number, bumped on any cpuset memory placement change,
          to make this check efficient.  Update the tasks mems_allowed from
          its cpuset, if the cpuset has changed.
       5) [Paul Jackson <pj@sgi.com>] If a task is moved to another cpuset,
          then update its cpus_allowed, using set_cpus_allowed().
       6) [Paul Jackson <pj@sgi.com>] Update Documentation/cpusets.txt to
          reflect above changes (4) and (5).
      
      I continue to recommend the following patch for inclusion in your 2.6.9-*mm
      series, when that opens.  It provides an important facility for high
      performance computing on large systems.  Simon Derr of Bull (France) and
      myself are the primary authors.  Erich Focht has indicated that NEC is also
      a potential user of this patch on the TX-7 NUMA machines, and that he
      "would very much welcome the inclusion of cpusets."
      
      I offer this update to lkml, in order to invite continued feedback.
      
      The one prerequiste patch for this cpuset patch was just posted before this
      one.  That was a patch to provide a new bitmap list format, of which
      cpusets is the first user.
      
      This patch has been built on top of 2.6.8.1-mm1, for the arch's:
      
        i386 x86_64 sparc ia64 powerpc-405 powerpc-750 sparc64
      
      with and without CONFIG_CPUSET.  It has been booted and tested on ia64
      (sn2_defconfig, SN2 hardware).  The 'alpha' arch also built, except for
      what seems to be an unrelated toolchain problem (crosstool ld sigsegv) in
      the final link step.
      
      ===
      
      Cpusets provide a mechanism for assigning a set of CPUs and Memory Nodes to
      a set of tasks.
      
      Cpusets constrain the CPU and Memory placement of tasks to only the
      processor and memory resources within a tasks current cpuset.  They form a
      nested hierarchy visible in a virtual file system.  These are the essential
      hooks, beyond what is already present, required to manage dynamic job
      placement on large systems.
      
      Cpusets require small kernel hooks in init, exit, fork, mempolicy,
      sched_setaffinity, page_alloc and vmscan.  And they require a "struct
      cpuset" pointer, a cpuset_mems_generation, and a "mems_allowed" nodemask_t
      (to go along with the "cpus_allowed" cpumask_t that's already there) in
      each task struct.
      
      These hooks:
        1) establish and propagate cpusets,
        2) enforce CPU placement in sched_setaffinity,
        3) enforce Memory placement in mbind and sys_set_mempolicy,
        4) restrict page allocation and scanning to mems_allowed, and
        5) restrict migration and set_cpus_allowed to cpus_allowed.
      
      The other required hook, restricting task scheduling to CPUs in a tasks
      cpus_allowed mask, is already present.
      
      Cpusets extend the usefulness of, the existing placement support that was
      added to Linux 2.6 kernels: sched_setaffinity() for CPU placement, and
      mbind() and set_mempolicy() for memory placement.  On smaller or dedicated
      use systems, the existing calls are often sufficient.
      
      On larger NUMA systems, running more than one, performance critical, job,
      it is necessary to be able to manage jobs in their entirety.  This includes
      providing a job with exclusive CPU and memory that no other job can use,
      and being able to list all tasks currently in a cpuset.
      
      A given job running within a cpuset, would likely use the existing
      placement calls to manage its CPU and memory placement in more detail.
      
      Cpusets are named, nested sets of CPUs and Memory Nodes.  Each cpuset is
      represented by a directory in the cpuset virtual file system, normally
      mounted at /dev/cpuset.
      
      Each cpuset directory provides the following files, which can be
      read and written:
      
        cpus:
            List of CPUs allowed to tasks in that cpuset.
      
        mems:
            List of Memory Nodes allowed to tasks in that cpuset.
      
        tasks:
            List of pid's of tasks in that cpuset.
      
        cpu_exclusive:
            Flag (0 or 1) - if set, cpuset has exclusive use of
            its CPUs (no sibling or cousin cpuset may overlap CPUs).
      
        mem_exclusive:
            Flag (0 or 1) - if set, cpuset has exclusive use of
            its Memory Nodes (no sibling or cousin may overlap).
      
        notify_on_release:
            Flag (0 or 1) - if set, then /sbin/cpuset_release_agent
            will be invoked, with the name (/dev/cpuset relative path)
            of that cpuset in argv[1], when the last user of it (task
            or child cpuset) goes away.  This supports automatic
            cleanup of abandoned cpusets.
      
      In addition one new filetype is added to the /proc file system:
      
        /proc/<pid>/cpuset:
            For each task (pid), list its cpuset path, relative to the
            root of the cpuset file system.  This file is read-only.
      
      New cpusets are created using 'mkdir' (at the shell or in C).  Old ones are
      removed using 'rmdir'.  The above files are accessed using read(2) and
      write(2) system calls, or shell commands such as 'cat' and 'echo'.
      
      The CPUs and Memory Nodes in a given cpuset are always a subset of its
      parent.  The root cpuset has all possible CPUs and Memory Nodes in the
      system.  A cpuset may be exclusive (cpu or memory) only if its parent is
      similarly exclusive.
      
      See further Documentation/cpusets.txt, at the top of the following
      patch.
      
      
      /proc interface:
      
      It is useful, when learning and making new uses of cpusets and placement to be
      able to see what are the current value of a tasks cpus_allowed and
      mems_allowed, which are the actual placement used by the kernel scheduler and
      memory allocator.
      
      The cpus_allowed and mems_allowed values are needed by user space apps that
      are micromanaging placement, such as when moving an app to a obtained by
      that app within its cpuset using sched_setaffinity, mbind and
      set_mempolicy.
      
      The cpus_allowed value is also available via the sched_getaffinity system
      call.  But since the entire rest of the cpuset API, including the display
      of mems_allowed added here, is via an ascii style presentation in /proc and
      /dev/cpuset, it is worth the extra couple lines of code to display
      cpus_allowed in the same way.
      
      This patch adds the display of these two fields to the 'status' file in the
      /proc/<pid> directory of each task.  The fields are only added if
      CONFIG_CPUSETS is enabled (which is also needed to define the mems_allowed
      field of each task).  The new output lines look like:
      
        $ tail -2 /proc/1/status
        Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff
        Mems_allowed:   ffffffff,ffffffff
      Signed-off-by: default avatarDinakar Guniguntala <dino@in.ibm.com>
      Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
      Signed-off-by: default avatarSimon Derr <simon.derr@bull.net>
      Signed-off-by: default avatarMatt Mackall <mpm@selenic.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3a978e55
    • Paul Jackson's avatar
      [PATCH] new bitmap list format (for cpusets) · 794c8de9
      Paul Jackson authored
      [This is a copy of the bitmap list format patch that I submitted to lkml
       on 9 Aug 2004, after removing the prefix character fluff^Wstuff.  I
       include it here again just to get it associated with the current cpuset
       patch, which will follow in a second email 10 seconds later.  -pj]
      
      A bitmap print and parse format that provides lists of ranges of numbers,
      to be first used for by cpusets (next patch).
      
      Cpusets provide a way to manage subsets of CPUs and Memory Nodes for
      scheduling and memory placement, via a new virtual file system, usually
      mounted at /dev/cpuset.  Manipulation of cpusets can be done directly via
      this file system, from the shell.
      
      However, manipulating 512 bit cpumasks or 256 bit nodemasks (which will get
      bigger) via hex mask strings is painful for humans.
      
      The intention is to provide a format for the cpu and memory mask files in
      /dev/cpusets that will stand the test of time.  This format is supported by
      a couple of new lib/bitmap.c routines, for printing and parsing these
      strings.  Wrappers for cpumask and nodemask are provided.
      Signed-off-by: default avatarPaul Jackson <pj@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      794c8de9
    • Hirofumi Ogawa's avatar
      [PATCH] FAT: Fix typo · 883ba744
      Hirofumi Ogawa authored
      Add a `:'.
      Signed-off-by: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      883ba744
    • Hirofumi Ogawa's avatar
      [PATCH] FAT: Update ->rename() path · fbc3c2a7
      Hirofumi Ogawa authored
      a) If old_dir == new_dir, we don't need to update the ".." entry,
         so this doesn't touch it if unneeded.
      
      b) old algorithm is using
               1) add a new entry (doen't point the data cluster yet).
      	 2) remove a old entry.
      	 3) switch the data cluster to new entry.
      	 4) update a ".." entry
         this order lose the data cluster when between 2) and 3).
      
         Instead of above, this is using
               1) add a new entry (doen't point the data cluster yet).
      	 2) switch the data cluster to new entry.
      	 3) update a ".." entry if needed.
      	 4) remove a old entry.
         this order would not lose the data cluster, but on disk metadata is
         corrupted on some point (later, fsck would recover this corruption
         without losing the data).
      
      c) use synchronous update.
      
      d) Fix the corrupted directory check created by 1 of new algorithm.
         1) Fix fat_bmap(). If directory's ->i_start == 0, fat_bmap() is
            handling it as root directory, this removes that strange behavior.
         2) On mkdir() path if directory's ->i_start == 0, returns -EIO.
      Signed-off-by: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      fbc3c2a7
    • Hirofumi Ogawa's avatar
      [PATCH] FAT: Use synchronous update for {vfat,msdos}_add_entry() · e33b8d60
      Hirofumi Ogawa authored
      Use the synchronous updates, in order to guarantee that the writing to
      a disk is completeing when a system call returns.
      Signed-off-by: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e33b8d60
    • Hirofumi Ogawa's avatar
      [PATCH] FAT: Fix fat_write_inode() · c1ae98cc
      Hirofumi Ogawa authored
      Fix a missing error check for sync_buffer_dirty().
      Signed-off-by: default avatarOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c1ae98cc