18 Oct, 2007

2 commits


17 Oct, 2007

3 commits

  • AFAICS, fallout from repacing include of blkdev.h with include of bio.h.

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

    Al Viro
     
  • * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block: (63 commits)
    Fix memory leak in dm-crypt
    SPARC64: sg chaining support
    SPARC: sg chaining support
    PPC: sg chaining support
    PS3: sg chaining support
    IA64: sg chaining support
    x86-64: enable sg chaining
    x86-64: update pci-gart iommu to sg helpers
    x86-64: update nommu to sg helpers
    x86-64: update calgary iommu to sg helpers
    swiotlb: sg chaining support
    i386: enable sg chaining
    i386 dma_map_sg: convert to using sg helpers
    mmc: need to zero sglist on init
    Panic in blk_rq_map_sg() from CCISS driver
    remove sglist_len
    remove blk_queue_max_phys_segments in libata
    revert sg segment size ifdefs
    Fixup u14-34f ENABLE_SG_CHAINING
    qla1280: enable use_sg_chaining option
    ...

    Linus Torvalds
     
  • Make the SPI framework and drivers stop using class_device. Update docs
    accordingly ... highlighting just which sysfs paths should be
    "safe"/stable.

    Signed-off-by: Tony Jones
    Signed-off-by: David Brownell
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Tony Jones
     

16 Oct, 2007

2 commits

  • Otherwise we could have junk in the sg fields, fooling
    the sg chaining into thinking ->page is valid.

    Acked-by: Pierre Ossman
    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • * 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (95 commits)
    [ARM] 4578/1: CM-x270: PCMCIA support
    [ARM] 4577/1: ITE 8152 PCI bridge support
    [ARM] 4576/1: CM-X270 machine support
    [ARM] pxa: Avoid pxa_gpio_mode() in gpio_direction_{in,out}put()
    [ARM] pxa: move pxa_set_mode() from pxa2xx_mainstone.c to mainstone.c
    [ARM] pxa: move pxa_set_mode() from pxa2xx_lubbock.c to lubbock.c
    [ARM] pxa: Make cpu_is_pxaXXX dependent on configuration symbols
    [ARM] pxa: PXA3xx base support
    [NET] smc91x: fix PXA DMA support code
    [SERIAL] Fix console initialisation ordering
    [ARM] pxa: tidy up arch/arm/mach-pxa/Makefile
    [ARM] Update arch/arm/Kconfig for drivers/Kconfig changes
    [ARM] 4600/1: fix kernel build failure with build-id-supporting binutils
    [ARM] 4599/1: Preserve ATAG list for use with kexec (2.6.23)
    [ARM] Rename consistent_sync() as dma_cache_maint()
    [ARM] 4572/1: ep93xx: add cirrus logic edb9307 support
    [ARM] 4596/1: S3C2412: Correct IRQs for SDI+CF and add decoding support
    [ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32
    [ARM] 4594/1: ns9xxx: use the new gpio functions
    [ARM] 4593/1: ns9xxx: implement generic clockevents
    ...

    Linus Torvalds
     

15 Oct, 2007

1 commit

  • Make sure the mmc_spi driver can build without CONFIG_BLOCK.
    Issue noted by "Avuton Olrich" and randconfig.

    While that won't be a common configuration, sometimes embedded
    boards use SDIO to interface WLAN or Bluetooth chips (vs some
    parallel interface), and don't provide an MMC/SD socket for use
    with flash memory cards.

    Signed-off-by: David Brownell
    Signed-off-by: Linus Torvalds

    David Brownell
     

14 Oct, 2007

1 commit


13 Oct, 2007

4 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (75 commits)
    PM: merge device power-management source files
    sysfs: add copyrights
    kobject: update the copyrights
    kset: add some kerneldoc to help describe what these strange things are
    Driver core: rename ktype_edd and ktype_efivar
    Driver core: rename ktype_driver
    Driver core: rename ktype_device
    Driver core: rename ktype_class
    driver core: remove subsystem_init()
    sysfs: move sysfs file poll implementation to sysfs_open_dirent
    sysfs: implement sysfs_open_dirent
    sysfs: move sysfs_dirent->s_children into sysfs_dirent->s_dir
    sysfs: make sysfs_root a regular directory dirent
    sysfs: open code sysfs_attach_dentry()
    sysfs: make s_elem an anonymous union
    sysfs: make bin attr open get active reference of parent too
    sysfs: kill unnecessary NULL pointer check in sysfs_release()
    sysfs: kill unnecessary sysfs_get() in open paths
    sysfs: reposition sysfs_dirent->s_mode.
    sysfs: kill sysfs_update_file()
    ...

    Linus Torvalds
     
  • This changes the uevent buffer functions to use a struct instead of a
    long list of parameters. It does no longer require the caller to do the
    proper buffer termination and size accounting, which is currently wrong
    in some places. It fixes a known bug where parts of the uevent
    environment are overwritten because of wrong index calculations.

    Many thanks to Mathieu Desnoyers for finding bugs and improving the
    error handling.

    Signed-off-by: Kay Sievers
    Cc: Mathieu Desnoyers
    Cc: Cornelia Huck
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     
  • We register a simple trigger so make sure we use the corresponding
    unregister function.

    (Also means we get a dummy function when triggers aren't compiled in)

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • Signed-off-by: Russell King

    Russell King
     

12 Oct, 2007

1 commit

  • Using weight32() to determine if a value is a power of 2 is a rather
    heavi weight solution. The classic idiom is (x & (x - 1)) == 0, but
    the kernel already provide a is_power_of_2 function for it.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Pierre Ossman

    Nicolas Pitre
     

11 Oct, 2007

1 commit

  • The PXA has two transmit FIFOes, each32 byte deep. when one FIFO is
    full and the other one has been transmitted, they are automatically
    swapped and DMA is triggered for another 32 byte burst. However, when
    there is less than 32 bytes left to send, the FIFO swap has to be done
    manually. This is required for some SDIO transfers which are not
    required to be multiples of 32 bytes.

    A DMA completion interrupt is set for each descriptor which length isn't
    a multiple of 32 in order to force the FIFO swap. While at it, the DMA
    interrupt handler has been made a bit more resilient against errors.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Pierre Ossman

    Nicolas Pitre
     

06 Oct, 2007

2 commits


04 Oct, 2007

5 commits


27 Sep, 2007

1 commit

  • The interrupt polling frequency is a compromise between power usage and
    interrupt latency. Unfortunately, it affects throughput rather severely
    for devices which require an interrupt for every chunk of data.

    By making the polling frequency adaptive, we get better throughput with
    those devices without sacficing too much power. Polling will quickly
    increase when there is an actual interrupt, and slowly fall back to the
    idle frequency when the interrupts stop coming.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     

26 Sep, 2007

4 commits


25 Sep, 2007

1 commit


24 Sep, 2007

12 commits

  • Add a led trigger for each host controller that indicates if there
    is a request active on the controller.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • This is the latest version of the MMC-over-SPI support. It works
    on 2.6.23-rc2 plus git-mmc (from rc1-mm2), along with the preceding
    patches which teach the rest of the MMC stack about SPI.

    The main issue of note is that sometimes cards need to be power cycled
    to recover after certain faults. Also, it may sometimes be necessary
    to disable CRCs. ("modprobe mmc_core use_spi_crc=n")

    Signed-off-by: David Brownell
    Cc: mikael.starvik@axis.com,
    Cc: Hans-Peter Nilsson
    Cc: Jan Nikitenko
    Cc: Mike Lavender
    Signed-off-by: Pierre Ossman

    David Brownell
     
  • Teach the MMC/SD/SDIO core about using SPI mode.

    - Use mmc_host_is_spi() so enumeration works through SPI signaling
    and protocols, not just the native versions.

    - Provide the SPI response type flags with each request issued,
    including requests from the new lock/unlock code.

    - Understand that cmd->resp[0] and mmc_get_status() results for SPI
    return different values than for "native" MMC/SD protocol; this
    affects resetting, checking card lock status, and some others.

    - Understand that some commands act a bit differently ... notably:
    * OP_COND command doesn't return the OCR
    * APP_CMD status doesn't have an R1_APP_CMD analogue

    Those changes required some new and updated primitives:

    - Provide utilities to access two SPI-only requests, and one
    request that wasn't previously needed:
    * mmc_spi_read_ocr() ... SPI only
    * mmc_spi_set_crc() ... SPI only (override by module parm)
    * mmc_send_cid() ... for use without broadcast mode

    - Updated internal routines:
    * Previous mmc_send_csd() modified into mmc_send_cxd_native();
    it uses native "R2" responses, which include 16 bytes of data.
    * Previous mmc_send_ext_csd() becomes new mmc_send_cxd_data()
    helper for command-and-data access
    * Bugfix to that mmc_send_cxd_data() code: dma-to-stack is
    unsafe/nonportable, so kmalloc a bounce buffer instead.

    - Modified mmc_send_ext_csd() now uses mmc_send_cxd_data() helper

    - Modified mmc_send_csd(), and new mmc_spi_send_cid(), routines use
    those helper routines based on whether they're native or SPI

    The newest categories of cards supported by the MMC stack aren't expected
    to work yet with SPI: MMC or SD cards with over 4GB data, and SDIO.
    All those cards support SPI mode, so eventually they should work too.

    Signed-off-by: David Brownell
    Signed-off-by: Pierre Ossman

    David Brownell
     
  • Teaching the MMC/SD block card driver about SPI.

    - Provide the SPI response type flags with each request issued.

    - Understand that multiblock SPI writes don't use STOP_TRANSMISSION.

    - Correct check for APP_CMD failure.

    Signed-off-by: David Brownell
    Signed-off-by: Pierre Ossman

    David Brownell
     
  • Store vendor strings found in CISTPL_VERS_1 so that function drivers
    can access them.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • Increase delay for power up in order to support some slower boards.

    Also add some comments about why the delays are there.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • Add support for relaying the sdio interrupt signal from the card.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • In a few places, sdio_uart_irq() is called directly instead of waiting
    for the actual interrupt to be raised and the SDIO IRQ thread scheduled
    in order to reduce latency. However, some interaction with the tty core
    may end up calling us back (serial echo, flow control, etc.) creating
    two issues:

    - the host lock gets claimed twice from the same thread causing a
    deadlock;

    - the same direct calls to sdio_uart_irq() may be performed causing
    unexpected reentrancy into the IRQ handler.

    This patch handles both of those issues.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Pierre Ossman

    Nicolas Pitre
     
  • Note that the default baudrate is 4800 instead of 9600 as a convenience
    because that's what GPS devices want which is still the main use for
    this driver.

    Signed-off-by: Nicolas Pitre
    Signed-off-by: Pierre Ossman

    Nicolas Pitre
     
  • Add sdio_f0_readb() and sdio_f0_writeb() functions to reading and
    writing function 0 registers. Writes outside the vendor specific CCCR
    registers (0xF0 - 0xFF) are not permitted.

    Signed-off-by: David Vrabel
    Signed-off-by: Pierre Ossman

    David Vrabel
     
  • Replace all cases of BUG_ON with WARN_ON where there is a chance
    (with varying degrees of slim) that the kernel can continue without
    incidence.

    Signed-off-by: Pierre Ossman

    Pierre Ossman
     
  • Signed-off-by: Mariusz Kozlowski
    Signed-off-by: Pierre Ossman

    Mariusz Kozlowski