15 Jan, 2006

1 commit

  • This fixes http://bugzilla.kernel.org/show_bug.cgi?id=5854

    Root cause:

    The dell_rbu driver creates entries in /sys/class/firmware/dell_rbu/ by
    calling request_firmware_nowait (without hotplug ) this function inturn
    starts a kernel thread which creates the entries in
    /sys/class/firmware/dell_rbu/loading , data and the thread waits on the
    user action to return control back to the callback fucntion of dell_rbu.
    The thread calls wait_on_completion which puts it in a D state until the
    user action happens. If there is no user action happening the load average
    goes up as the thread D state is taken in to account. Also after
    downloading the BIOS image the enrties go away momentarily but they are
    recreated from the callback function in dell_rbu. This causes the thread
    to get recreated causing the load average to permenently stay around 1.

    Fix:

    The dell_rbu also creates the entry
    /sys/devices/platform/dell_rbu/image_type at driver load time. The image
    type by default is mono if required the user can echo packet to image_type
    to make the BIOS update mechanism using packets. Also by echoing init in
    to image_type the /sys/class/firmware/dell_rbu entries can be created.

    The driver code was changed to not create /sys/class/firmware/dell_rbu
    entries during load time, and also to not create the above entries from the
    callback function. The entries are only created by echoing init to
    /sys/devices/platform/dell_rbu/image_type The user now needs to create the
    entries to download the image monolithic or packet. This fixes the issue
    since the kernel thread only is created when ever the user is ready to
    download the BIOS image; this minimizes the life span of the kernel thread
    and the load average goes back to normal.

    Signed off by Abhay Salunke

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

    Abhay Salunke
     

12 Jan, 2006

1 commit

  • - Move capable() from sched.h to capability.h;

    - Use where capable() is used
    (in include/, block/, ipc/, kernel/, a few drivers/,
    mm/, security/, & sound/;
    many more drivers/ to go)

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy.Dunlap
     

16 Dec, 2005

1 commit


23 Nov, 2005

1 commit


09 Nov, 2005

1 commit

  • This patch removes almost all inclusions of linux/version.h. The 3
    #defines are unused in most of the touched files.

    A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
    unfortunatly in linux/version.h.

    There are also lots of #ifdef for long obsolete kernels, this was not
    touched. In a few places, the linux/version.h include was move to where
    the LINUX_VERSION_CODE was used.

    quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`

    search pattern:
    /UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h

    Signed-off-by: Olaf Hering
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     

07 Nov, 2005

2 commits

  • Signed-off-by: Deepak Saxena
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Deepak Saxena
     
  • This patch has the changes to support the memory floor fix done in Dell
    BIOS. The BIOS incase of packet update mechanism would not accept packet
    placed in memory below a cretain address. This address is by default 128K
    but can change. The driver now can accept the memory floor if the user
    chooses to make it will try to allocate contiguous physical memory above
    the memory floor by allocating a set of packets till a valid memory
    allocation is made. All the allocates then are freed. This repeats for
    everty packet.

    This patch was created by Michael E Brown and has been tested on 2.6.14-rc5

    Signed-of-by: Michael E Brown
    Signed-off-by: Abhay Salunke
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Abhay Salunke
     

31 Oct, 2005

3 commits


30 Oct, 2005

1 commit


12 Oct, 2005

1 commit

  • In the current dell_rbu code ver 2.0 the packet update mechanism makes the
    user app dump every individual packet in to the driver.

    This adds in efficiency as every packet update makes the
    /sys/class/firmware/dell_rbu/loading and data files to disappear and reappear
    again. Thus the user app needs to wait for the files to reappear to dump
    another packet. This slows down the packet update tremendously in case of
    large number of packets. I am submitting a new patch for dell_rbu which will
    change the way we do packet updates;

    In the new method the user app will create a new single file which has already
    packetized the rbu image and all the packets are now staged in this file.

    This driver also creates a new entry in
    /sys/devices/platform/dell_rbu/packet_size ; the user needs to echo the packet
    size here before downloading the packet file.

    The user should do the following:

    create one single file which has all the packets stacked together.
    echo the packet size in to /sys/devices/platform/dell_rbu/packet_size.
    echo 1 > /sys/class/firmware/dell_rbu/loading
    cat the packetfile > /sys/class/firmware/dell_rbu/data
    echo 0 > /sys/class/firmware/dell_rbu/loading

    The driver takes the file which came through /sys/class/firmware/dell_rbu/data
    and takes chunks of paket_size data from it and place in contiguous memory.

    This makes packet update process very efficient and fast. As all the packet
    update happens in one single operation. The user can still read back the
    downloaded file from /sys/devices/platform/dell_rbu/data.

    Signed-off-by: Abhay Salunke
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Abhay Salunke
     

18 Sep, 2005

2 commits

  • Whitespace standardisation.

    Cc: Abhay Salunke
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • BUG fixes:

    The driver used to allocate memory with spinlock held which has been
    fixed in this patch.

    The driver was printing the entire buffer when it received a invalid
    entry in image_type. The fix is to only print a warning message and not
    the buffer.

    Usability enhancements:

    It is possible that due to user error the /sys/class/firmware/dell_rbu
    entries might be missing, this can happen if the user does the following

    echo 1 > /sys/class/firmware/dell_rbu/loading
    echo 0 > /sys/class/firmware/dell_rbu/loading

    This will make the entries in /sys/class/firmware/ to disappear and the
    only way get them back was bby unloading and loading the driver.

    This patch makes the user recreate these entries by echoing init in to
    image_type.

    This patch has been tested with Libsmbios and Dell OpenManage.

    Signed-off-by: Abhay Salunke
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Abhay Salunke
     

08 Sep, 2005

2 commits


28 Jul, 2005

1 commit


14 Jul, 2005

1 commit

  • Mark's patch added "attribute((packed))" for pcdp_uart, without
    accounting for the fact that the structure definition _relied_ on
    implicit padding by 6 bytes. Fix is to make the padding explicit.

    Signed-off-by: David Mosberger-Tang
    Signed-off-by: Tony Luck

    David Mosberger-Tang
     

29 Jun, 2005

1 commit

  • Resend 2 with changes per Bjorn Helgaas comments. Changes from original:

    + Change globals to vga_console_iobase/vga_console_membase and make them
    unconditional.
    + Address style-related comments.

    Patch to extend the PCDP vga setup code to support PCI io/mem translations
    for the legacy vga ioport and ram spaces on architectures (e.g. altix) which
    need them.

    Summary of the changes:

    drivers/firmware/pcdp.c
    drivers/firmware/pcdp.h
    -----------------------
    + add declaration for the spec-defined PCI interface struct (pcdp_if_pci)
    as well as support macros.

    + extend setup_vga_console() to know about pcdp_if_pci and add a couple of
    globals to hold the io and mem translation offsets if present.

    arch/ia64/kernel/setup.c
    ------------------------
    + tweek early_console_setup() to allow multiple early console setup routines
    to be called.

    include/asm-ia64/vga.h
    ----------------------
    + make VGA_MAP_MEM vga_console_membase aware

    Signed-off-by: Mark Maule
    Signed-off-by: Tony Luck

    Mark Maule
     

26 Jun, 2005

1 commit

  • Here's a patch with kfree() cleanups for drivers/firmware/efivars.c Patch
    removes redundant NULL checks before kfree and also makes a small
    whitespace cleanup - moves two statements on same line to separate lines.

    Signed-off-by: Jesper Juhl
    Acked-by: Matt Domsch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jesper Juhl
     

24 Jun, 2005

1 commit

  • The HCDP specs (i.e., PCDP revision < 3) allow zero as a default value for
    baud rate and data bits. So if firmware doesn't supply them, let
    early_serial_console_init() probe for them rather than telling it the baud
    rate is zero.

    Also, update the URL for the PCDP spec.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bjorn Helgaas
     

21 Jun, 2005

1 commit


01 Jun, 2005

1 commit

  • In file included from drivers/firmware/pcdp.c:18:
    drivers/firmware/pcdp.h:48: error: field `addr' has incomplete type
    drivers/firmware/pcdp.c: In function `setup_serial_console':
    drivers/firmware/pcdp.c:27: error: `ACPI_ADR_SPACE_SYSTEM_MEMORY' undeclared (first use in this function)

    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Chubb
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds