• Abhay Salunke's avatar
    [PATCH] dell_rbu: changes in packet update mechanism · ad6ce87e
    Abhay Salunke authored
    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: default avatarAbhay Salunke <abhay_salunke@dell.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    ad6ce87e
dell_rbu.c 17.5 KB