1. 22 5月, 2007 3 次提交
    • A
      Add constant for FCS/CRC length (frame check sequence) · 2053ed02
      Auke Kok 提交于
      About a dozen drivers that have some form of crc checksumming or offloading
      use this constant, warranting a global define for it.
      Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      2053ed02
    • A
      x86_64: Support gcc 5 properly · 21124a82
      Andi Kleen 提交于
      The ifdef tests were broken.  Assume it acts like gcc 4
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      21124a82
    • A
      Detach sched.h from mm.h · e8edc6e0
      Alexey Dobriyan 提交于
      First thing mm.h does is including sched.h solely for can_do_mlock() inline
      function which has "current" dereference inside. By dealing with can_do_mlock()
      mm.h can be detached from sched.h which is good. See below, why.
      
      This patch
      a) removes unconditional inclusion of sched.h from mm.h
      b) makes can_do_mlock() normal function in mm/mlock.c
      c) exports can_do_mlock() to not break compilation
      d) adds sched.h inclusions back to files that were getting it indirectly.
      e) adds less bloated headers to some files (asm/signal.h, jiffies.h) that were
         getting them indirectly
      
      Net result is:
      a) mm.h users would get less code to open, read, preprocess, parse, ... if
         they don't need sched.h
      b) sched.h stops being dependency for significant number of files:
         on x86_64 allmodconfig touching sched.h results in recompile of 4083 files,
         after patch it's only 3744 (-8.3%).
      
      Cross-compile tested on
      
      	all arm defconfigs, all mips defconfigs, all powerpc defconfigs,
      	alpha alpha-up
      	arm
      	i386 i386-up i386-defconfig i386-allnoconfig
      	ia64 ia64-up
      	m68k
      	mips
      	parisc parisc-up
      	powerpc powerpc-up
      	s390 s390-up
      	sparc sparc-up
      	sparc64 sparc64-up
      	um-x86_64
      	x86_64 x86_64-up x86_64-defconfig x86_64-allnoconfig
      
      as well as my two usual configs.
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e8edc6e0
  2. 20 5月, 2007 1 次提交
  3. 19 5月, 2007 2 次提交
  4. 18 5月, 2007 2 次提交
  5. 17 5月, 2007 11 次提交
  6. 16 5月, 2007 5 次提交
    • T
      libata: track spindown status and skip spindown_compat if possible · 13b8d09f
      Tejun Heo 提交于
      Our assumption that most distros issue STANDBYNOW seems wrong.  The
      upstream sysvinit and thus many distros including gentoo and opensuse
      don't take any action for libata disks on spindown.  We can skip
      compat handling for these distros so that they don't need to update
      anything to take advantage of kernel-side shutdown.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      13b8d09f
    • T
      libata-acpi: add ATA_FLAG_ACPI_SATA port flag · 3cadbcc0
      Tejun Heo 提交于
      Whether a controller needs IDE or SATA ACPI hierarchy is determined by
      the programming interface of the controller not by whether the
      controller is SATA or PATA, or it supports slave device or not.  This
      patch adds ATA_FLAG_ACPI_SATA port flags which tells libata-acpi that
      the port needs SATA ACPI nodes, and sets the flag for ahci and
      sata_sil24.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      3cadbcc0
    • T
      libata: during revalidation, check n_sectors after device is configured · 6ddcd3b0
      Tejun Heo 提交于
      Device might be resized during ata_dev_configure() due to HPA or
      (later) ACPI _GTF.  Currently it's worked around by caching n_sectors
      before turning off HPA.  The cached original size is overwritten if
      the device is reconfigured without being hardreset - which always
      happens after configuring trasnfer mode.  If the device gets hardreset
      for some reason after that, revalidation fails with -ENODEV.
      
      This patch makes size checking more robust by moving n_sectors check
      from ata_dev_reread_id() to ata_dev_revalidate() after the device is
      fully configured.  No matter what happens during configuration, a
      device must have the same n_sectors after fully configured to be
      treated as the same device.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      6ddcd3b0
    • B
      ide: remove ide_use_dma() · 122ab088
      Bartlomiej Zolnierkiewicz 提交于
      ide_use_dma() duplicates a lot of ide_max_dma_mode() functionality
      and as all users of ide_use_dma() were converted to use ide_tune_dma()
      now it is possible to add missing checks to ide_tune_dma() and remove
      ide_use_dma() completely, so do it.
      
      There should be no functionality changes caused by this patch.
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      122ab088
    • B
      ide: remove ide_dma_enable() · 4728d546
      Bartlomiej Zolnierkiewicz 提交于
      * check ->speedproc return value in ide_tune_dma()
      * use ide_tune_dma() in cmd64x/cs5530/sc1200/siimage/sl82c105/scc_pata drivers
      * remove no longer needed ide_dma_enable()
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      4728d546
  7. 15 5月, 2007 8 次提交
  8. 14 5月, 2007 1 次提交
    • G
      [AGPGART] Fix wrong ID in via-agp.c · bbdfff86
      Gabriel Mansi 提交于
      there is a wrong id in drivers/char/agp/via-agp.c
      #define PCI_DEVICE_ID_VIA_CX700         0x8324
      It must be 0x0324
      
      Notice that PCI_DEVICE_ID_VIA_CX700 is also used in
      drivers/i2c/busses/i2c-viapro.c and
      drivers/ide/pci/via82cxxx.c
      
      So, I think that constant must be renamed to avoid conflicting.
      I attached a proposed patch.
      Signed-off-by: NDave Jones <davej@redhat.com>
      bbdfff86
  9. 13 5月, 2007 1 次提交
  10. 12 5月, 2007 6 次提交
    • H
      Add the combined mode for ATI SB700 · 82377718
      Henry Su 提交于
      Besides those modes in ATI SB600 SATA controller, ATI SB700 supports one
      more mode:the combined mode.
      
      The combined mode is a Legacy IDE mode used for compatibility with some old
      OS without AHCI driver, but now it is not necessary for Linux since the
      kernel has supported AHCI.
      Signed-off-by: NLuugi Marsan <luugi.marsan@amd.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Tejun Heo <htejun@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      82377718
    • T
      libata-acpi: s/CONFIG_SATA_ACPI/CONFIG_ATA_ACPI/ · e92351bb
      Tejun Heo 提交于
      ACPI applies to both SATA and PATA.  Drop the 'S' from the config
      variable.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e92351bb
    • T
      libata: ignore EH scheduling during initialization · f4d6d004
      Tejun Heo 提交于
      libata enables SCSI host during ATA host activation which happens
      after IRQ handler is registered and IRQ is enabled.  All ATA ports are
      in frozen state when IRQ is enabled but frozen ports may raise limited
      number of IRQs after being frozen - IOW, ->freeze() is not responsible
      for clearing pending IRQs.  During normal operation, the IRQ handler
      is responsible for clearing spurious IRQs on frozen ports and it
      usually doesn't require any extra code.
      
      Unfortunately, during host initialization, the IRQ handler can end up
      scheduling EH for a port whose SCSI host isn't initialized yet.  This
      results in OOPS in the SCSI midlayer.  This is relatively short window
      and scheduling EH for probing is the first thing libata does after
      initialization, so ignoring EH scheduling until initialization is
      complete solves the problem nicely.
      
      This problem was spotted by Berck E. Nash in the following thread.
      
        http://thread.gmane.org/gmane.linux.kernel/519412Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Berck E. Nash <flyboy@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      f4d6d004
    • T
      libata: clean up SFF init mess · 1626aeb8
      Tejun Heo 提交于
      The intention of using port_mask in SFF init helpers was to eventually
      support exoctic configurations such as combination of legacy and
      native port on the same controller.  This never became actually
      necessary and the related code always has been subtly broken one way
      or the other.  Now that new init model is in place, there is no reason
      to make common helpers capable of handling all corner cases.  Exotic
      cases can simply dealt within LLDs as necessary.
      
      This patch removes port_mask handling in SFF init helpers.  SFF init
      helpers don't take n_ports argument and interpret it into port_mask
      anymore.  All information is carried via port_info.  n_ports argument
      is dropped and always two ports are allocated.  LLD can tell SFF to
      skip certain port by marking it dummy.  Note that SFF code has been
      treating unuvailable ports this way for a long time until recent
      breakage fix from Linus and is consistent with how other drivers
      handle with unavailable ports.
      
      This fixes 1-port legacy host handling still broken after the recent
      native mode fix and simplifies SFF init logic.  The following changes
      are made...
      
      * ata_pci_init_native_host() and ata_init_legacy_host() both now try
        to initialized whatever they can and mark failed ports dummy.  They
        return 0 if any port is successfully initialized.
      
      * ata_pci_prepare_native_host() and ata_pci_init_one() now doesn't
        take n_ports argument.  All info should be specified via port_info
        array.  Always two ports are allocated.
      
      * ata_pci_init_bmdma() exported to be used by LLDs in exotic cases.
      
      * port_info handling in all LLDs are standardized - all port_info
        arrays are const stack variable named ppi.  Unless the second port
        is different from the first, its port_info is specified as NULL
        (tells libata that it's identical to the last non-NULL port_info).
      
      * pata_hpt37x/hpt3x2n: don't modify static variable directly.  Make an
        on-stack copy instead as ata_piix does.
      
      * pata_uli: It has 4 ports instead of 2.  Don't use
        ata_pci_prepare_native_host().  Allocate the host explicitly and use
        init helpers.  It's simple enough.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1626aeb8
    • T
      libata: reimplement suspend/resume support using sdev->manage_start_stop · 9666f400
      Tejun Heo 提交于
      Reimplement suspend/resume support using sdev->manage_start_stop.
      
      * Device suspend/resume is now SCSI layer's responsibility and the
        code is simplified a lot.
      
      * DPM is dropped.  This also simplifies code a lot.  Suspend/resume
        status is port-wide now.
      
      * ata_scsi_device_suspend/resume() and ata_dev_ready() removed.
      
      * Resume now has to wait for disk to spin up before proceeding.  I
        couldn't find easy way out as libata is in EH waiting for the
        disk to be ready and sd is waiting for EH to complete to issue
        START_STOP.
      
      * sdev->manage_start_stop is set to 1 in ata_scsi_slave_config().
        This fixes spindown on shutdown and suspend-to-disk.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      9666f400
    • A
      [ARM] 4332/2: KS8695: Serial driver · 2c7ee6ab
      Andrew Victor 提交于
      A driver for the KS8695 internal UART.
      
      Based on the 2.6.9 driver from Micrel.
      Signed-off-by: NAndrew Victor <andrew@sanpeople.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      2c7ee6ab