29 Apr, 2008

33 commits

  • * Add ide_pad_transfer() helper (which uses ->{in,out}put_data methods
    internally so the transfer is also padded to drive+host requirements)
    and use it instead of ide_atapi_{write_zeros,discard_data}().

    * Remove no longer needed ide_atapi_{write_zeros,discard_data}().

    Cc: Borislav Petkov
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Remove no longer used ->INW and ->OUTW methods.

    While at it:

    * scc_pata.c: scc_ide_{out,in}w() is called only in scc_tf_{load,read}()
    so inline it there.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ->tf_load and ->tf_read methods to ide_hwif_t and set the default
    methods in default_hwif_transport().

    * Use ->tf_{load,read} instead o calling ide_tf_{load,read}() directly.

    * Make ide_tf_{load,read}() static.

    There should be no functional changes caused by this patch.

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Factor out debugging code from ide_tf_load() to ide_tf_dump() helper
    and update ide_tf_load() users accordingly.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Add ide_execute_pkt_cmd() helper for executing PACKET command,
    then convert ATAPI device drivers to use it.

    As a nice side-effect this fixes ide-{floppy,tape,scsi} w.r.t.
    ide_lock taking (ide-cd was OK).

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Use ins{w,l}()/outs{w,l}() and __ide_mm_ins{w,l}()/__ide_mm_outs{w,l}()
    directly in ata_{in,out}put_data() (by using IDE_HFLAG_MMIO host flag to
    decide which I/O ops are required).

    * Remove no longer needed ->INS{W,L} and ->OUTS{W,L} methods (ide-h8300,
    au1xxx-ide and scc_pata implement their own ->{in,out}put_data methods).

    There should be no functional changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add IDE_HFLAG_MMIO host flag and set it for hosts which use
    default_hwif_mmiops().

    v2:
    * Fix kernel panic in pmac host driver (',' should be '|').

    Thanks to Kamalesh for reporting it + testing the fix
    and to Andrew for hinting me about the source of the issue.

    Cc: Kamalesh Babulal
    Cc: Andrew Morton
    Cc: Stephen Rothwell
    Cc: Andy Whitcroft
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Merge ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods
    into new ->{in,out}put_data methods which take number of bytes to
    transfer as an argument and always do padding.

    While at it:

    * Use 'hwif' or 'drive->hwif' instead of 'HWIF(drive)'.

    There should be no functional changes caused by this patch (all users
    of ->ata_{in,out}put_data methods were using multiply-of-4 word counts).

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Add ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods to
    falconide and q40ide host drivers (->ata_* methods are implemented on
    top of ->atapi_* methods so they also do byte-swapping now).

    * Cleanup atapi_{in,out}put_bytes().

    v2:
    * Add 'struct request *rq' argument to ->ata_{in,out}put_data methods
    and don't byte-swap disk fs requests (we shouldn't un-swap fs requests
    because fs itself is stored byte-swapped on the disk) - this is how
    things were done before the patch (ideally device mapper should be
    used instead but it would break existing setups and would have some
    performance impact).

    Cc: Geert Uytterhoeven
    Cc: Michael Schmitz
    Cc: Roman Zippel
    Cc: Alan Cox
    Cc: Richard Zidlicky
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (45 commits)
    [MIPS] Pb1200/DBAu1200: move platform code to its proper place
    [MIPS] Fix handling of trap and breakpoint instructions
    [MIPS] Pb1200: do register SMC 91C111
    [MIPS] DBAu1200: fix bad SMC 91C111 resource size
    [NET] Kconfig: Rename MIKROTIK_RB500 -> MIKROTIK_RB532
    [MIPS] IP27: Fix build bug due to missing include
    [MIPS] Fix some sparse warnings on traps.c and irq-msc01.c
    [MIPS] cevt-gt641xx: Kill unnecessary include
    [MIPS] DS1287: Add clockevent driver
    [MIPS] add DECstation I/O ASIC clocksource
    [MIPS] rbtx4938: minor cleanup
    [MIPS] Alchemy: kill unused PCI_IRQ_TABLE_LOOKUP macro
    [MIPS] rbtx4938: misc cleanups
    [MIPS] jmr3927: use generic txx9 gpio
    [MIPS] rbhma4500: use generic txx9 gpio
    [MIPS] generic txx9 gpio support
    [MIPS] make fallback gpio.h gpiolib-friendly
    [MIPS] unexport null_perf_irq() and make it static
    [MIPS] unexport rtc_mips_set_time()
    [MIPS] unexport copy_from_user_page()
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
    SELinux: Fix a RCU free problem with the netport cache
    SELinux: Made netnode cache adds faster
    SELinux: include/security.h whitespace, syntax, and other cleanups
    SELinux: policydb.h whitespace, syntax, and other cleanups
    SELinux: mls_types.h whitespace, syntax, and other cleanups
    SELinux: mls.h whitespace, syntax, and other cleanups
    SELinux: hashtab.h whitespace, syntax, and other cleanups
    SELinux: context.h whitespace, syntax, and other cleanups
    SELinux: ss/conditional.h whitespace, syntax, and other cleanups
    SELinux: selinux/include/security.h whitespace, syntax, and other cleanups
    SELinux: objsec.h whitespace, syntax, and other cleanups
    SELinux: netlabel.h whitespace, syntax, and other cleanups
    SELinux: avc_ss.h whitespace, syntax, and other cleanups

    Fixed up conflict in include/linux/security.h manually

    Linus Torvalds
     
  • usb_control_msg() converts arguments to little-endian itself,
    doing that in caller means breakage on big-endian boxen.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • psr is not a good name for local variable in macro body when it
    has a good chance of being the argument of said macro (actually
    is at least in one place)

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc: video drivers: add facility level
    sparc: tcx.c make tcx_init and tcx_exit static
    sparc: ffb.c make ffb_init and ffb_exit static
    sparc: cg14.c make cg14_init and cg15_exit static
    sparc: bw2.c fix bw2_exit
    sparc64: Fix accidental syscall restart on child return from clone/fork/vfork.
    sparc64: Clean up handling of pt_regs trap type encoding.
    sparc: Remove old style signal frame support.
    sparc64: Kill bogus RT_ALIGNEDSZ macro from signal.c
    sparc: sunzilog.c remove unused argument
    sparc: fix drivers/video/tcx.c warning
    sparc64: Kill unused local ISA bus layer.
    input: Rewrite sparcspkr device probing.
    sparc64: Do not ignore 'pmu' device ranges.
    sparc64: Kill ISA_FLOPPY_WORKS code.
    sparc64: Kill CONFIG_SPARC32_COMPAT
    sparc64: Cleanups and corrections for arch/sparc64/Kconfig
    sparc64: Fix wedged irq regression.

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    iwlwifi: Allow building iwl3945 without iwl4965.
    wireless: Fix compile error with wifi & leds
    tcp: Fix slab corruption with ipv6 and tcp6fuzz
    ipv4/ipv6 compat: Fix SSM applications on 64bit kernels.
    [IPSEC]: Use digest_null directly for auth
    sunrpc: fix missing kernel-doc
    can: Fix copy_from_user() results interpretation
    Revert "ipv6: Fix typo in net/ipv6/Kconfig"
    tipc: endianness annotations
    ipv6: result of csum_fold() is already 16bit, no need to cast
    [XFRM] AUDIT: Fix flowlabel text format ambibuity.

    Linus Torvalds
     
  • Since both the IDE interface and SMC 91C111 Ethernet chip are on-board
    devices, not SOC devices, move the platform device registration form the
    common to the board specific code.

    While at it, remove semicolon (which didn't break compilation only by
    chance) from the AU1XXX_ATA_DDMA_REQ macro and do some renaming:

    - change 'au1200_ide0_' variable name prefix to the mere 'ide_';

    - change 'smc91x_' variable name prefix to 'smc91c111_' since that's the
    name of the chip used on the boards;

    - drop 'AU1XXX_' prefix from the names of macros describing IDE and Ethernet
    on-board devices;

    - change 'SMC91111_' to 'SMC91C111_', change 'IRQ' to 'INT' in the names of
    the macros describing the Ethernet chip for consistency with the IDE
    macros;

    - change 'ATA_' to 'IDE_' and 'OFFSET' to 'SHIFT' (since this value is
    indeed a shift count) in the names of the macros describing the IDE
    interface.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Ralf Baechle

    Sergei Shtylyov
     
  • asm-mips/mach-ip27/topology.h must #include
    This fixes the following compile error:

    ...
    CC kernel/sched.o
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function 'find_next_best_node':
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: implicit declaration of function 'node_to_cpumask_ptr'
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: '__tmp__' undeclared (first use in this function)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: (Each undeclared identifier is reported only once
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7015: error: for each function it appears in.)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function 'sched_domain_node_span':
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7047: error: 'nodemask' undeclared (first use in this function)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7048: warning: ISO C90 forbids mixed declarations and code
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7059: error: implicit declaration of function 'node_to_cpumask_ptr_next'
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c: In function '__build_sched_domains':
    /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/sched.c:7605: error: 'pnodemask' undeclared (first use in this function)
    make[2]: *** [kernel/sched.o] Error 1

    Signed-off-by: Adrian Bunk
    Signed-off-by: Ralf Baechle

    Adrian Bunk
     
  • * Declare board_bind_eic_interrupt, board_watchpoint_handler in traps.h
    * Make msc_bind_eic_interrupt static and fix its argument types.
    * Make msc_levelirq_type, msc_edgeirq_type static.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • Add DECstation I/O ASIC clocksource

    Signed-off-by: Yoichi Yuasa
    Signed-off-by: Ralf Baechle

    Yoichi Yuasa
     
  • Signed-off-by: Sergei Shtylyov
    Signed-off-by: Ralf Baechle

    Sergei Shtylyov
     
  • * Do not use non-standard I/O accessors, such as reg_rd08, etc.
    * Kill unnecessary wbflush()
    * Kill tx4938_mips.h
    * Kill unnecessary includes

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Use generic txx9 gpio (and gpiolib) for JMR3927 board.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Use generic txx9 gpio (and gpiolib) for RBHMA4500 board.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • This is a board-independent TXx9 gpio API implementation using gpiolib.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • If gpiolib was selected, asm-generic/gpio.h provides some prototypes
    for gpio API and implementation helpers. With this patch, platform
    code can implement its GPIO API using gpiolib without custom gpio.h
    file.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     
  • Defer the unmasking of the count/compare interrupt (IRQ5) till the
    clockevent driver initialization:

    - only enable the cascaded IRQs 0 thru 4 in arch_init_irq(); kill the
    ALLINTS macro -- this change is blessed by AMD as I saw it in their own
    patch; :-)

    - do not force IRQ5 enabled in plat_time_init() if PM is enabled and there's
    no 32 KHz crystal.

    Update the copyrights (taking into account my prior changes), also removing
    Pete Popov's old email...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: Ralf Baechle

    Sergei Shtylyov
     
  • Signed-off-by: daniel.j.laird
    Signed-off-by: Ralf Baechle

    Daniel Laird
     
  • Signed-off-by: Chris Dearman
    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • Signed-off-by: Chris Dearman
    Signed-off-by: Ralf Baechle

    Chris Dearman
     
  • Slightly tacky, but there is a precedent in the sparc archirecture code.

    Signed-off-by: Chris Dearman
    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Chris Dearman
     
  • Signed-off-by: Chris Dearman
    Signed-off-by: Ralf Baechle

    Chris Dearman
     
  • Still, only the 4K may actually implement it.

    Signed-off-by: Chris Dearman
    Signed-off-by: Ralf Baechle

    Chris Dearman
     

28 Apr, 2008

7 commits

  • The on-disk media specification field in FAT is only 8-bits, so testing for

    Acked-by: OGAWA Hirofumi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Currently, free_clusters is not updated until it is trusted, because
    Windows doesn't update it correctly.

    But if user is using FAT driver of Linux, it updates free_clusters
    correctly. Instead, this updates it even if it's untrusted, so if
    free_clustes is correct, now keep correct value.

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

    OGAWA Hirofumi
     
  • Normally utime(2) checks current process is owner of the file, or it
    has CAP_FOWNER capability. But FAT filesystem doesn't have uid/gid as
    on disk info, so normal check is too unflexible.

    With this option you can relax it.

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

    OGAWA Hirofumi
     
  • - Rename fat_notify_change() to fat_setattr()
    - check_mode() cleanup
    - Change layout of code

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

    OGAWA Hirofumi
     
  • Quota files cannot have tails because quota_write and quota_read functions do
    not support them. So far when quota files did have tail, we just refused to
    turn quotas on it. Sadly this check has been wrong and so there are now
    plenty installations where quota files don't have NOTAIL flag set and so now
    after fixing the check, they suddently fail to turn quotas on. Since it's
    easy to unpack the tail from kernel, do this from reiserfs_quota_on() which
    solves the problem and is generally nicer to users anyway.

    Signed-off-by: Jan Kara
    Reported-by:
    Cc: Jeff Mahoney
    Cc: Chris Mason
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • Improve write performance by preventing the delayed_list from dumping all its
    stripes onto the handle_list in one shot. Delayed stripes are now further
    delayed by being held on the 'hold_list'. The 'hold_list' is bypassed when:

    * a STRIPE_IO_STARTED stripe is found at the head of 'handle_list'
    * 'handle_list' is empty and i/o is being done to satisfy full stripe-width
    write requests
    * 'bypass_count' is less than 'bypass_threshold'. By default the threshold
    is 1, i.e. every other stripe handled is a preread stripe provided the
    top two conditions are false.

    Benchmark data:
    System: 2x Xeon 5150, 4x SATA, mem=1GB
    Baseline: 2.6.24-rc7
    Configuration: mdadm --create /dev/md0 /dev/sd[b-e] -n 4 -l 5 --assume-clean
    Test1: dd if=/dev/zero of=/dev/md0 bs=1024k count=2048
    * patched: +33% (stripe_cache_size = 256), +25% (stripe_cache_size = 512)

    Test2: tiobench --size 2048 --numruns 5 --block 4096 --block 131072 (XFS)
    * patched: +13%
    * patched + preread_bypass_threshold = 0: +37%

    Changes since v1:
    * reduce bypass_threshold from (chunk_size / sectors_per_chunk) to (1) and
    make it configurable. This defaults to fairness and modest performance
    gains out of the box.
    Changes since v2:
    * [neilb@suse.de]: kill STRIPE_PRIO_HI and preread_needed as they are not
    necessary, the important change was clearing STRIPE_DELAYED in
    add_stripe_bio and this has been moved out to make_request for the hang
    fix.
    * [neilb@suse.de]: simplify get_priority_stripe
    * [dan.j.williams@intel.com]: reset the bypass_count when ->hold_list is
    sampled empty (+11%)
    * [dan.j.williams@intel.com]: decrement the bypass_count at the detection
    of stripes being naturally promoted off of hold_list +2%. Note, resetting
    bypass_count instead of decrementing on these events yields +4% but that is
    probably too aggressive.
    Changes since v3:
    * cosmetic fixups

    Tested-by: James W. Laferriere
    Signed-off-by: Dan Williams
    Signed-off-by: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Williams
     
  • This patch splits hecubafb into the platform independent hecubafb and the
    platform dependent n411.

    Signed-off-by: Jaya Kumar
    Cc: "Antonino A. Daplas"
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jaya Kumar