07 Nov, 2005

40 commits

  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • I've recently added this documentation, Alasdair gave some corrections, and
    here are some further corrections on top of his work (partly style issue,
    partly a technical error due to different past experience, partly a note
    which I've added - i.e. transient snapshots are lighter).

    Cc: Alasdair G Kergon
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paolo 'Blaisorblade' Giarrusso
     
  • The current init code sets hiprilvl to 0 and maxhipri to 5. According to the
    specs those values are illegal on both G200 and G400. It also causes
    distortions on the TV-out at least when CRTC2 is in YUV mode as is the case
    with DirectFB. This patch resets both values to 0.

    Signed-off-by: Ville Syrjälä
    Signed-off-by: Petr Vandrovec
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjälä
     
  • No point in spamming the logs with a message about xres rounding.

    Signed-off-by: Ville Syrjälä
    Signed-off-by: Petr Vandrovec
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjälä
     
  • Use the CACHEFLUSH register on all chip types. The register is listed in all
    other specs except 2064W. However I have verified that the register does work
    on a 2064W despite being marked reserved in the specs. There were no
    noticeable side effects after writing to the register.

    Signed-off-by: Ville Syrjälä
    Signed-off-by: Petr Vandrovec
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjälä
     
  • Add new entries for Mystique AGP with the PCI ID 0x051e.

    I don't actually have such boards but according to google they do exist.
    Curiosly X.Org doesn't recognize that PCI ID. And what's even more
    interesting is that Matrox's own Windows drivers don't recognize it either.
    After going through about a dozen different versions I did find one older
    driver that does list this particular ID. It is also listed in the pci.ids
    file.

    I'm not sure if non-220 AGP chips exist. I left the chip revision check
    intact for AGP chips nonetheless.

    Signed-off-by: Ville Syrjälä
    Signed-off-by: Petr Vandrovec
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjälä
     
  • wait_event_event_interruptible() uses a private wait queue entry so there's no
    need for the caller to initialize one.

    Signed-off-by: Ville Syrjälä
    Signed-off-by: Petr Vandrovec
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ville Syrjälä
     
  • Here's the PCI ID for the ATI RN50 chip.

    Signed-off-by: Jake Moilanen
    Signed-off-by: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jake Moilanen
     
  • Convert i810fb, nvidiafb and savagefb to use the fb_find_best_display helper
    when searching for the initial video mode.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Add new helper, fb_find_best_display(), which will search the modelist for the
    best mode for the attached display. This requires an EDID block that is
    converted to struct fb_monspecs and a private modelist. The search will be
    done in this manner:

    - if 1st detailed timing is preferred, use that
    - else if dimensions of the display are known, use that to estimate xres and
    - else if modelist has detailed timings, use the first detailed timing
    - else, use the very first entry from the modelist

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Rearrange mode database entries such that preferred timings are entered first,
    and less preferred timings are entered last. (Detailed, VESA,
    established/standard).

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • I converted the "rl" console font from the kbd utility to be a built-in font
    for the framebuffer console, and I was wondering if you would be OK with
    including it. I've generated a font_rl.c file and related minor
    modifications. I find it's the most visually appealing of the kbd fonts which
    is why I use it and selected it for conversion. I believe the font is GPL'd.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Zach Smith
     
  • Fix following compile error (From Kernel Bugzilla Bug 5427):

    include/linux/console_struct.h:53: error: field `vt_mode' has incomplete type

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • - The functions for reading the 1st and 2nd bus are essentially the same,
    except for the register. Consolidate them all.

    - According to Nicolas Boichat, there is an undocumented 3rd i2c bus for
    attaching daughter cards. Add support for this.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • vesafb occassionally gets the size wrong when setting the mtrr. When X or DRI
    attempts to set the mtrr, it will fail due to range overlap significantly
    affecting their performance. Disable mtrr and let the user explicitly enable
    it with the mtrr:n option.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Initialise the .owner field, so that if the driver is built as a module, the
    system has a link to the owner

    Signed-off-by: Ben Dooks
    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ben Dooks
     
  • Currently the fb_find_nearest_mode() function finds a mode with screen
    resolution closest to that described by the 'var' argument and with some
    arbitrary refresh rate (eg. in the following sequence of refresh rates: 70 60
    53 85 75, 53 is selected).

    This patch fixes the function so that it looks for the closest mode as far as
    both resolution and refresh rate are concerned. The function's first argument
    is changed to fb_videomode so that the refresh rate can be specified by the
    caller, as fb_var_screeninfo doesn't have any fields that could directly hold
    this data.

    Signed-off-by: Michal Januszewski
    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Januszewski
     
  • Use do {} while(0) for empty reverse_order() macro.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Some EDID blocks set the flag "prefer first detailed timing" without providing
    any detailed timing at all. Clear this flag if the block does not provide
    detailed timings.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Attached is a small patch which configures the correct memory clock and
    timings on the Elsa Winner 2000 Office pm2 based card. This is necessary when
    the card is used on a platform which does not support PC style BIOS
    initialization.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter 'p2' De Schrijver
     
  • Use MMIO registers instead of banging the VGA IO registers.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Reported by: Jean-Philippe Guérard (Bugzilla Bug 1782)

    "I've tried with video=atyfb:debug and video=atyfb:debug,mode:1280x600, \
    nomtrr.

    In both case, the screen stays black, but seems divided into 4 vertical bands.
    Some white lines pop up randomly on each vertical band."

    The problem is a combination of an incorrect xclk plus lack of timing
    information. The adapter is attached to an LCD device that can do 1280x600
    (which is not a standard resolution). The global mode database does not have
    an entry for it. Fortunately, the Video BIOS contains the complete timing
    info for this display, however, atyfb is not making use of it.

    Add support to get the timing information from the BIOS, if available.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Fix out-of-bounds bug. The pseudopalette has room only for 16 entries, thus,
    write only the first 16 entries to the pseudopalette.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Remove software clipping from imageblit, fillrect and copyarea. Clipping is
    not needed because the console layer assures that reads/writes doest not
    happen beyond the extents of the framebuffer. And software clipping tends to
    hide bugs, if they do exist.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • If machine has more than 1 driver installed, and they all drive the same
    hardware, it's possible that the driver's fb_release() method will attempt to
    restore the hardware state to the initial state. This will leave the new
    driver in an undefined state. To prevent this problem, initialize the new
    driver by calling fb_set_par() when the old driver is released by fbcon.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Instead of manually filling up the fields in struct fb_var_screeninfo, use the
    display_to_var() helper.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Lot's of redundant code scattered throughout fbcon.c. Consolidate them all
    into one function, fbcon_update_softback().

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • According to Jon Smirl, filling in the field fb_cursor with soft_cursor for
    drivers that do not support hardware cursors is redundant. The soft_cursor
    function is usable by all drivers because it is just a wrapper around
    fb_imageblit. And because soft_cursor is an fbcon-specific hook, the file is
    moved to the console directory.

    Thus, drivers that do not support hardware cursors can leave the fb_cursor
    field blank. For drivers that do, they can fill up this field with their own
    version.

    The end result is a smaller code size. And if the framebuffer console is not
    loaded, module/kernel size is also reduced because the soft_cursor module will
    also not be loaded.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Prevent spurious recompilations of the radeonfb driver when I2C/DDC support
    is not included and i2c header files are modified.

    Signed-off-by: Jean Delvare
    Acked-by: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • Add partial support for GMA900 within the i915GM chipset.

    Signed-off-by: Scott MacKenzie
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Scott MacKenzie
     
  • nvidiafb didn't fully hook-up the code it borrowed from X for doing flat
    panel dithering (this is useful for 6 bits panels). This adds a driver
    option to force it, and by default "reads" the current value from the chip
    to get the firmware setting. It significantly improves the quality of
    images on the iMac G5 I have here (though the X driver doesn't yet "read"
    the current value and defaults to 0, so you have to add Option "FBDither"
    "true" to your X config file to get that, I'll try to fix X.org to "read"
    the default unless specified asap).

    Signed-off-by: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • drivers/video/nvidia/nv_setup.c: In function `NVCommonSetup':
    drivers/video/nvidia/nv_setup.c:408: warning: statement with no effect
    drivers/video/nvidia/nv_setup.c:496: warning: statement with no effect
    drivers/video/nvidia/nv_setup.c:504: warning: statement with no effect

    Cc: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • This patch fixes nvifiafb mode setting code to be closer to what the X
    driver does, which actually makes it work on the 5200FX I have access to.
    It also fix the routine that gets the EDID from Open Firmware on PPC, it
    was broken in various ways and would crash at boot. Compared to the patch
    I posted to linux-fbdev last week, this one just changes a printk to be
    closer to the other ones in the driver.

    Signed-off-by: Benjamin Herrenschmidt
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • Arrange frame buffer menu:
    - puts all Epson drivers together
    - removes split of FB_PXA and FB_PXA_PARAMETERS by FB_W100
    - results in PXA, W100, Epson, S3C2410, & Virtual FB drivers being
    presented at the same menu level as all other FB drivers

    Signed-off-by: Randy Dunlap
    Acked-by: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Frame buffer driver help text changes:
    - Move S3 Trio next to S3 Savage;
    - add or clarify help text for several FB drivers;
    - add help text for FB console;
    - add help text for bootup logos;

    Acked-by: Antonino Daplas
    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy.Dunlap
     
  • If an RPC socket is serving multiple programs, then the pg_authenticate of
    the first program in the list is called, instead of pg_authenticate for the
    program to be run.

    This does not cause a problem with any programs in the current kernel, but
    could confuse future code.

    Also set pg_authenticate for nfsd_acl_program incase it ever gets used.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • There are a couple of tests which could possibly be confused by extremely
    large numbers appearing in 'xdr' packets. I think the closest to an exploit
    you could get would be writing random data from a free page into a file - i.e.
    leak data out of kernel space.

    I'm fairly sure they cannot be used for remote compromise.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Provide a file in the NFSD filesystem that allows setting and querying of
    which version of NFS are being exported. Changes are only allowed while no
    server is running.

    Signed-off-by: Steve Dickson
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • Most files in the nfsd filesystems are transaction files. You write a
    request, and read a response.

    For some (e.g. 'threads') it makes sense to just be able to read and get the
    current value.

    This functionality did exist but was broken recently when someone modified
    nfsctl.c without going through the maintainer. This patch fixes the
    regression.

    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown
     
  • This is a somewhat cosmetic fix to keep the SpecFS validation test from
    complaining.

    SpecFS want's to try chmod on symlinks, and ext3 and reiser (at least) return
    ENOTSUPP.

    Probably both sides are being silly, but it is easiest to simply make it a
    non-issue and filter out chmod requests on symlinks at the nfsd level.

    Signed-off-by: Olaf Kirch
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    NeilBrown