22 Aug, 2010

1 commit


21 Aug, 2010

1 commit

  • Apparently, the check for a 6-byte ID string introduced by commit
    426c457a3216fac74e3d44dd39729b0689f4c7ab ("mtd: nand: extend NAND flash
    detection to new MLC chips") is NOT sufficient to determine whether or
    not a Samsung chip uses their new MLC detection scheme or the old,
    standard scheme. This adds a condition to check cell type.

    Signed-off-by: Tilman Sauerbeck
    Signed-off-by: Brian Norris
    Signed-off-by: David Woodhouse
    Cc: stable@kernel.org

    Tilman Sauerbeck
     

19 Aug, 2010

1 commit

  • Commit c7b28e25cb9beb943aead770ff14551b55fa8c79 ("mtd: nand: refactor BB
    marker detection") caused a regression in detection of factory-set bad
    block markers, especially for certain small-page NAND. This fix removes
    some unneeded constraints on using NAND_SMALL_BADBLOCK_POS, making the
    detection code more correct.

    This regression can be seen, for example, in Hynix HY27US081G1M and
    similar.

    Signed-off-by: Brian Norris
    Tested-by: Michael Guntsche
    Signed-off-by: David Woodhouse

    Brian Norris
     

18 Aug, 2010

2 commits

  • Test on a PXA310 platform with Samsung K9F2G08X0B NAND flash,
    with tCH=5 and clk is 156MHz, ns2cycle(5, 156000000) returns -1.

    ns2cycle returns negtive value will break NDTR0_tXX macros.

    After checking the commit log, I found the problem is introduced by
    commit 5b0d4d7c8a67c5ba3d35e6ceb0c5530cc6846db7
    "[MTD] [NAND] pxa3xx: convert from ns to clock ticks more accurately"

    To get num of clock cycles, we use below equation:
    num of clock cycles = time (ns) / one clock cycle (ns) + 1
    We need to add 1 cycle here because integer division will truncate the result.
    It is possible the developers set the Min values in SPEC for timing settings.
    Thus the truncate may cause problem, and it is safe to add an extra cycle here.

    The various fields in NDTR{01} are in units of clock ticks minus one,
    thus we should subtract 1 cycle then.

    Thus the correct equation should be:
    num of clock cycles = time (ns) / one clock cycle (ns) + 1 - 1
    = time (ns) / one clock cycle (ns)

    Signed-off-by: Axel Lin
    Signed-off-by: Lei Wen
    Acked-by: Eric Miao
    Signed-off-by: David Woodhouse
    Cc: stable@kernel.org

    Axel Lin
     
  • The drivers for Xilinx' SystemACE and physically mapped MTDs were missing
    prototypes for of_address_to_resource(). This patch adds the necessary
    headers.

    Signed-off-by: Graeme Smecher
    Signed-off-by: Grant Likely

    Graeme Smecher
     

16 Aug, 2010

1 commit

  • * git://git.infradead.org/mtd-2.6:
    mtd/nand_ids: Fix buswidth
    mtd/m25p80: fix test for end of loop
    mtd/m25p80: retlen is never NULL
    MIPS: Fix gen_nand probe structures contents
    gen_nand: Test if nr_chips field is valid
    BFIN: Fix gen_nand probe structures contents
    nand/denali: move all hardware initialization work to denali_hw_init
    nand/denali: Add a page check in denali_read_page & denali_read_page_raw
    nand/denali: use cpu_relax() while waiting for hardware interrupt
    nand/denali: change read_status function method
    nand/denali: Fixed check patch warnings
    ARM: Fix gen_nand probe structures contents
    mtd/nand_base: fix kernel-doc warnings & typos
    nand/denali: use dev_xx debug function to replace nand_dbg_print and some printk
    nand/denali: Fixed handle ECC error bugs
    nand/denali: use iowrite32() to replace denali_write32()
    nand/denali: Fixed probe function bugs

    Linus Torvalds
     

14 Aug, 2010

1 commit


13 Aug, 2010

1 commit


12 Aug, 2010

8 commits


11 Aug, 2010

8 commits

  • Fix mtd/nand_base.c kernel-doc warnings and typos.

    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'invert'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:2087): No description found for parameter 'len'

    Signed-off-by: Randy Dunlap
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix mtd/nand_base.c kernel-doc warnings and typos.

    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:893): No description found for parameter 'invert'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:930): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'mtd'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'ofs'
    Warning(drivers/mtd/nand/nand_base.c:987): No description found for parameter 'len'
    Warning(drivers/mtd/nand/nand_base.c:2087): No description found for parameter 'len'

    Signed-off-by: Randy Dunlap
    Signed-off-by: David Woodhouse

    Randy Dunlap
     
  • Signed-off-by: Chuanxiao Dong
    Signed-off-by: David Woodhouse

    Chuanxiao Dong
     
  • Once the last ECC error was handled, controller will triger an
    interrupt. If this interrupt can not be clean on time, controller
    may corrupt.

    Signed-off-by: Chuanxiao Dong
    Signed-off-by: David Woodhouse

    Chuanxiao Dong
     
  • denali_write32() just implements a debug function for iowrite32(),
    only print out the write value. Remove this function since it's useless

    Signed-off-by: Chuanxiao Dong
    Signed-off-by: David Woodhouse

    Chuanxiao Dong
     
  • Fixed a pci_resource_len function error;
    Changed returning sequence of probe function;

    Signed-off-by: Chuanxiao Dong
    Signed-off-by: David Woodhouse

    Chuanxiao Dong
     
  • * 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
    block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
    xen-blkfront: fix missing out label
    blkdev: fix blkdev_issue_zeroout return value
    block: update request stacking methods to support discards
    block: fix missing export of blk_types.h
    writeback: fix bad _bh spinlock nesting
    drbd: revert "delay probes", feature is being re-implemented differently
    drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
    drbd: Disable delay probes for the upcomming release
    writeback: cleanup bdi_register
    writeback: add new tracepoints
    writeback: remove unnecessary init_timer call
    writeback: optimize periodic bdi thread wakeups
    writeback: prevent unnecessary bdi threads wakeups
    writeback: move bdi threads exiting logic to the forker thread
    writeback: restructure bdi forker loop a little
    writeback: move last_active to bdi
    writeback: do not remove bdi from bdi_list
    writeback: simplify bdi code a little
    writeback: do not lose wake-ups in bdi threads
    ...

    Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
    drivers/scsi/scsi_error.c as per Jens.

    Linus Torvalds
     
  • * git://git.infradead.org/mtd-2.6: (79 commits)
    mtd: Remove obsolete include
    mtd: Update copyright notices
    jffs2: Update copyright notices
    mtd-physmap: add support users can assign the probe type in board files
    mtd: remove redwood map driver
    mxc_nand: Add v3 (i.MX51) Support
    mxc_nand: support 8bit ecc
    mxc_nand: fix correct_data function
    mxc_nand: add V1_V2 namespace to registers
    mxc_nand: factor out a check_int function
    mxc_nand: make some internally used functions overwriteable
    mxc_nand: rework get_dev_status
    mxc_nand: remove 0xe00 offset from registers
    mtd: denali: Add multi connected NAND support
    mtd: denali: Remove set_ecc_config function
    mtd: denali: Remove unuseful code in get_xx_nand_para functions
    mtd: denali: Remove device_info_tag structure
    mtd: m25p80: add support for the Winbond W25Q32 SPI flash chip
    mtd: m25p80: add support for the Intel/Numonyx {16,32,64}0S33B SPI flash chips
    mtd: m25p80: add support for the EON EN25P{32, 64} SPI flash chips
    ...

    Fix up trivial conflicts in drivers/mtd/maps/{Kconfig,redwood.c} due to
    redwood driver removal.

    Linus Torvalds
     

09 Aug, 2010

3 commits

  • Signed-off-by: David Woodhouse

    David Woodhouse
     
  • Signed-off-by: David Woodhouse

    David Woodhouse
     
  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (143 commits)
    omap: mailbox: reorganize headers
    omap: mailbox: standarize on 'omap-mailbox'
    omap: mailbox: only compile for configured archs
    omap: mailbox: simplify omap_mbox_register()
    omap: mailbox: reorganize registering
    omap: mailbox: add IRQ names
    omap: mailbox: remove unecessary fields
    omap: mailbox: don't export unecessary symbols
    omap: mailbox: update omap1 probing
    omap: mailbox: use correct config for omap1
    omap: mailbox: 2420 should be detected at run-time
    omap: mailbox: reorganize structures
    omap: mailbox: trivial cleanups
    omap mailbox: Set a device in logical mbox instance for traceability
    omap: mailbox: convert block api to kfifo
    omap: mailbox: remove (un)likely macros from cold paths
    omap: mailbox cleanup: split MODULE_AUTHOR line
    omap: mailbox: convert rwlocks to spinlock
    Mailbox: disable mailbox interrupt when request queue
    Mailbox: new mutext lock for h/w mailbox configuration
    ...

    Linus Torvalds
     

08 Aug, 2010

4 commits

  • There are three reasons to add this support:
    1. users probably know the interface type of their flashs, then probe
    can be faster if they give the right type in platform data since wrong
    types will not be detected.
    2. sometimes, detecting can cause destory to system. For example, for
    kernel XIP, detecting can cause NOR enter a mode instructions can not
    be fetched right, which will make kernel crash.
    3. For a new probe which is not listed in the rom_probe_types, if users
    assign it in board files, physmap can still probe it.

    Signed-off-by: Barry Song
    Signed-off-by: Mike Frysinger
    Signed-off-by: David Woodhouse

    Barry Song
     
  • The open and release block_device_operations are currently
    called with the BKL held. In order to change that, we must
    first make sure that all drivers that currently rely
    on this have no regressions.

    This blindly pushes the BKL into all .open and .release
    operations for all block drivers to prepare for the
    next step. The drivers can subsequently replace the BKL
    with their own locks or remove it completely when it can
    be shown that it is not needed.

    The functions blkdev_get and blkdev_put are the only
    remaining users of the big kernel lock in the block
    layer, besides a few uses in the ioctl code, none
    of which need to serialize with blkdev_{get,put}.

    Most of these two functions is also under the protection
    of bdev->bd_mutex, including the actual calls to
    ->open and ->release, and the common code does not
    access any global data structures that need the BKL.

    Signed-off-by: Arnd Bergmann
    Acked-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • As a preparation for the removal of the big kernel
    lock in the block layer, this removes the BKL
    from the common ioctl handling code, moving it
    into every single driver still using it.

    Signed-off-by: Arnd Bergmann
    Acked-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Arnd Bergmann
     
  • Remove all the trivial wrappers for the cmd_type and cmd_flags fields in
    struct requests. This allows much easier grepping for different request
    types instead of unwinding through macros.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

07 Aug, 2010

2 commits

  • Removing the redwood mtd mapping driver, because all REDWOOD_[456]
    configuration options were removed from the kernel, because they weren't
    referenced anywhere.

    Signed-off-by: Christian Dietrich
    Signed-off-by: David Woodhouse

    Christian Dietrich
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
    pcmcia: avoid buffer overflow in pcmcia_setup_isa_irq
    pcmcia: do not request windows if you don't need to
    pcmcia: insert PCMCIA device resources into resource tree
    pcmcia: export resource information to sysfs
    pcmcia: use struct resource for PCMCIA devices, part 2
    pcmcia: remove memreq_t
    pcmcia: move local definitions out of include/pcmcia/cs.h
    pcmcia: do not use io_req_t when calling pcmcia_request_io()
    pcmcia: do not use io_req_t after call to pcmcia_request_io()
    pcmcia: use struct resource for PCMCIA devices
    pcmcia: clean up cs.h
    pcmcia: use pcmica_{read,write}_config_byte
    pcmcia: remove cs_types.h
    pcmcia: remove unused flag, simplify headers
    pcmcia: remove obsolete CS_EVENT_ definitions
    pcmcia: split up central event handler
    pcmcia: simplify event callback
    pcmcia: remove obsolete ioctl

    Conflicts in:
    - drivers/staging/comedi/drivers/*
    - drivers/staging/wlags49_h2/wl_cs.c
    due to dev_info_t and whitespace changes

    Linus Torvalds
     

06 Aug, 2010

7 commits