summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ata_piix.c
Commit message (Collapse)AuthorAgeFilesLines
* [libata] ata_piix: correct 'invalid MAP value' typo-caused errorJeff Garzik2006-07-161-1/+1
| | | | Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [libata] ata_piix: minor cleanups noticed in prior patch runJeff Garzik2006-07-161-11/+7
| | | | | | | * delete unused PIIX_FLAG_COMBINED* * port_enable should be u16 rather than u32 Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [libata] ata_piix: attempt to fix ICH8 supportJeff Garzik2006-07-161-4/+38
| | | | | | | Take into account the fact that ICH8 changed the register layout of the MAP and PCS register bits. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [libata] ata_piix: Consolidate PCS register writingJeff Garzik2006-07-161-25/+28
| | | | | | | | | | | | | | | | | | | | | | | | Prior to this patch, the driver would do this for each port: read 8-bit PCS write 8-bit PCS read 8-bit PCS write 8-bit PCS In the field, flaky behavior has been observed related to this register. In particular, these overzealous register writes can cause misdetection problems. Update to do the following once (not once per port) at boot: read 16-bit PCS if needs changing, write 16-bit PCS And thereafter, we only perform a 'read 16-bit PCS' per port. This should eliminate all PCS writes in many cases, and be more friendly in the cases where we do need to enable ports. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: add host_set private structureTejun Heo2006-07-161-16/+40
| | | | | | | | | | Add host_set private structure piix_host_priv. Currently the only field is ->map which used to be stored directly at host_set->private_data. This change allows more host_set private fields to be added. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [libata] Bump versionsJeff Garzik2006-06-261-1/+1
| | | | | | Update major version for libata, and several drivers. Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: convert ata_piix to new probing mechanismTejun Heo2006-05-311-55/+32
| | | | | | | | Convert ata_piix to new probing mechanism. Automatic hotplug is not supported due to hardware limitation (no PHY event interrupt), but warm plugging works. Signed-off-by: Tejun Heo <htejun@gmail.com>
* [PATCH] libata-hp: hook warmplugTejun Heo2006-05-311-0/+1
| | | | | | Hook transportt->user_scan() and hostt->slave_destroy(). Signed-off-by: Tejun Heo <htejun@gmail.com>
* [PATCH] libata: add back ->data_xfer to ata_piix.cAlbert Lee2006-05-261-0/+3
| | | | | | | Add back ->data_xfer and ->mode_filter to ata_piix.c. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix formattingAlan Cox2006-05-241-4/+4
| | | | | | | if( spacing fix for Garzik compliant formatting Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] Add PCI ID for the Intel IDE Controller which is in the Intel Mac ↵Thomas Glanzmann2006-05-201-0/+1
| | | | | | | Minis shipped in first quarter 2006 Signed-off-by: Thomas Glanzmann <sithglan@stud.uni-erlangen.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: convert to new EHTejun Heo2006-05-151-2/+8
| | | | | | ata_piix can use stock BMDMA EH routines. Convert to new EH. Signed-off-by: Tejun Heo <htejun@gmail.com>
* [PATCH] libata: use ATA printk helpersTejun Heo2006-05-151-2/+2
| | | | | | Use ATA printk helpers. Signed-off-by: Tejun Heo <htejun@gmail.com>
* Merge branch 'master'Jeff Garzik2006-04-111-1/+0
|\ | | | | | | | | | | | | Conflicts: drivers/scsi/libata-scsi.c include/linux/libata.h
| * [PATCH] move ->eh_strategy_handler to the transport classChristoph Hellwig2006-04-101-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | Overriding the whole EH code is a per-transport, not per-host thing. Move ->eh_strategy_handler to the transport class, same as ->eh_timed_out. Downside is that scsi_host_alloc can't check for the total lack of EH anymore, but the transition period from old EH where we needed it is long gone already. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [libata] bump versionsJeff Garzik2006-04-021-1/+1
|/
* [PATCH] ata_piix: fix ich6/m_map_dbTejun Heo2006-03-311-2/+2
| | | | | | | | MAP tables of ich6 and ich6m are wrong. Depending on port usage, ata_piix may fail to initialize attached devices. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [libata] export ata_dev_pair; trim trailing whitespaceJeff Garzik2006-03-241-3/+3
| | | | | | | | Mostly, trim trailing whitespace. Also: * export ata_dev_pair * move ata_dev_classify export closer to ata_dev_pair export
* [SCSI] libata: implement minimal transport template for ->eh_timed_outTejun Heo2006-03-211-1/+0
| | | | | | | | | | SCSI midlayer has moved hostt->eh_timed_out to transport template. As libata doesn't need full-blown transport support yet, implement minimal transport for libata. No transport class or whatsoever, just empty transport template with ->eh_timed_out hook. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] ata_piix: rename PIIX_FLAG_IGN_PRESENT to PIIX_FLAG_IGNORE_PCSTejun Heo2006-03-051-3/+3
| | | | | | | | | Rename PIIX_FLAG_IGN_PRESENT to PIIX_FLAG_IGNORE_PCS as Jeff requested. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: reimplement piix_sata_probe()Tejun Heo2006-03-031-23/+38
| | | | | | | | | | | | | | | | Reimplement piix_sata_probe() such that it turns on PCS enable bits on all avaliable ports and check present bits after a while to determine device presence. This should help broken BIOSes. After device presence detection is complete, PCS enable bits of unoccupied bits are turned off unless the controller supports AHCI (ICH6/7 docs mandate all enables bits are always set on AHCI capable controllers). Note that PCS present bits are ignored on 6300ESB as described in the datasheet. This should fix device detection problems reported with the controller. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: implement proper port mapTejun Heo2006-03-031-60/+122
| | | | | | | | | | Replace combined mode handling via PIIX_COMB/COMB_PATA_P0 with proper port map. PIIX now prints port configuration during initialization. ATA_FLAG_SLAVE_POSS is now turned on for SATA ports only when the slave device is actually avaliable. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: add a couple of flagsTejun Heo2006-03-031-4/+7
| | | | | | | | Add PIIX_FLAG_IGN_PRESENT and SCR flags. Thi patch doesn't cause any functional change. To be used by later init/scr updates. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: finer-grained port_infoTejun Heo2006-03-031-19/+58
| | | | | | | | Make port_info finer-grained. This patch doesn't cause any functional change. Later init reimplementation will make use of it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ata_piix: convert sata to new reset mechanismTejun Heo2006-02-201-20/+15
| | | | | | | Convert ata_piix sata ->phy_reset to new reset mechanism. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] ata_piix: convert pata to new reset mechanismTejun Heo2006-02-201-16/+27
| | | | | | | Convert ata_piix pata ->phy_reset to new reset mechanism. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: kill sht->max_sectorsTejun Heo2006-02-121-1/+0
| | | | | | | | The previous dev->max_sectors patch made sht->max_sectors meaningless. Kill all initializations of sht->max_sectors. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] ata_piix: kill spurious assignment in piix_sata_probe()Tejun Heo2006-02-121-3/+0
| | | | | | | | In piix_sata_probe(), mask gets assigned unnecessarily at the beginning of the function. Kill the assignment. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: use ata_scsi_timed_out()Tejun Heo2006-02-101-0/+1
| | | | | | | Make all libata low level drivers use ata_scsi_timed_out(). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Various libata documentation updates.Randy Dunlap2006-01-281-0/+1
| | | | | | | | | | | | | | | | | | This is a merger of libata docs + cleanups from Martin Waitz <tali@admingilde.org> and me. From: Randy Dunlap <rdunlap@xenotime.net> From: Martin Waitz <tali@admingilde.org> Fix libata kernel-doc comments to match code. Add some function parameters to kernel-doc. Fix some typos/spellos. Put comments in <= 80 columns. Make one DPRINTK string unique. Fix sparse cast warnings. Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [libata ata_piix] Fix ICH6/7 map value interpretationJeff Garzik2006-01-281-1/+1
| | | | | The previous change failed to properly mask out unrelated bits, which resulted in a failure to detect devices.
* [PATCH] ata_piix: fix MAP VALUE interpretation for for ICH6/7Tejun Heo2006-01-261-14/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unlike their older siblings, ICH6 and 7 use different scheme for MAP VALUE. This patch makes ata_piix interpret MV properly on ICH6/7. Pre-ICH6/7 The value of these bits indicate the address range the SATA port responds to, and whether or not the SATA and IDE functions are combined. 000 = Non-combined. P0 is primary master. P1 is secondary master. 001 = Non-combined. P0 is secondary master. P1 is primary master. 100 = Combined. P0 is primary master. P1 is primary slave. P-ATA is 2:0 Map Value secondary. 101 = Combined. P0 is primary slave. P1 is primary master. P-ATA is secondary. 110 = Combined. P-ATA is primary. P0 is secondary master. P1 is secondary slave. 111 = Combined. P-ATA is primary. P0 is secondary slave. P1 is secondary master. ICH6/7 Map Value - R/W. Map Value (MV): The value in the bits below indicate the address range the SATA ports responds to, and whether or not the PATA and SATA functions are combined. When in combined mode, the AHCI memory space is not available and AHCI may not be used. 00 = Non-combined. P0 is primary master, P2 is the primary slave. P1 is secondary master, P3 is the 1:0 secondary slave (desktop only). P0 is primary master, P2 is the primary slave (mobile only). 01 = Combined. IDE is primary. P1 is secondary master, P3 is the secondary slave. (desktop only) 10 = Combined. P0 is primary master. P2 is primary slave. IDE is secondary 11 = Reserved Signed-off-by: Tejun Heo <htejun@gmail.com> -- Jeff, without this patch, ata_piix misdetects my ICH7's combined mode, ending up not applying bridge limits to PX-710SA and configuring IDE drive on 40-c cable to UDMA/66. Thanks. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] Intel ICH8 SATA: add PCI device IDsJason Gaston2006-01-171-0/+3
| | | | | Signed-off-by:  Jason Gaston <Jason.d.gaston@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Merge branch 'post-2.6.15' of git://brick.kernel.dk/data/git/linux-2.6-blockLinus Torvalds2006-01-061-1/+0
|\ | | | | | | | | | | | | Manual fixup for merge with Jens' "Suspend support for libata", commit ID 9b847548663ef1039dd49f0eb4463d001e596bc3. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [BLOCK] update libata to use new blk_ordered for barriersTejun Heo2006-01-061-1/+0
| | | | | | | | | | | | | | | | Reflect changes in SCSI midlayer and updated to use new ordered request implementation Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jens Axboe <axboe@suse.de>
* | [PATCH] Suspend support for libataJens Axboe2006-01-061-0/+4
|/ | | | | | | | | | | | | | | | This patch adds suspend patch to libata, and ata_piix in particular. For most low level drivers, they should just need to add the 4 hooks to work. As I can only test ata_piix, I didn't enable it for more though. Suspend support is the single most important feature on a notebook, and most new notebooks have sata drives. It's quite embarrassing that we _still_ do not support this. Right now, it's perfectly possible to suspend the drive in mid-transfer. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] libata: ata_piix 450NX errataAlan Cox2005-12-121-1/+43
| | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] libata: add ata_piix notesAlan Cox2005-12-121-0/+43
| | | | | | | | | | Ok lets start with the 'easy' stuff. This includes my research and summary of chip errata into the new driver so that people can refer to it when updating ata_piix. No code changes Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Merge branch 'upstream-fixes'Jeff Garzik2005-11-161-1/+1
|\
| * [libata] bump versionsJeff Garzik2005-11-161-1/+1
| |
* | [libata ata_piix] cleanup: remove duplicate ata_port_info recordsJeff Garzik2005-11-141-33/+7
|/
* [libata] constify PCI ID table in several driversJeff Garzik2005-11-101-1/+1
|
* [libata] eliminate use of drivers/scsi/scsi.h compatibility header/definesJeff Garzik2005-11-071-2/+1
|
* [libata ata_piix] fix native mode probe, after recent updatesJeff Garzik2005-10-301-4/+3
|
* [libata ata_piix] use dev_printk() where appropriateJeff Garzik2005-10-301-2/+6
|
* libata: const-ification bombing runJeff Garzik2005-10-221-2/+2
| | | | | | | Enforce access rules where appropriate. If the compiler is smart enough, this may buy us an optimization or two as a side effect.
* [PATCH] PATCH: silly in piix driverAlan Cox2005-09-161-1/+0
| | | | | Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] PCI/libata INTx cleanupBrett M Russ2005-09-081-13/+1
| | | | | | | | | Simple cleanup to eliminate X copies of the pci_enable_intx() function in libata. Moved ahci.c's pci_intx() to pci.c and use it throughout libata and msi.c. Signed-off-by: Brett Russ <russb@emc.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] scan all enabled ports on ata_piixHannes Reinecke2005-09-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ICH6 spec defines the PORT_ bits as: PORT_ENABLED (R/W): 0 = Disabled. The port is in the off state and cannot detect any devices. 1 = Enabled. The port can transition between the on, partial, and slumber states and can detect devices. PORT_PRESENT (R/O) The status of this bit may change at any time. This bit is cleared when the port is disabled via PORT_ENABLED. This bit is not cleared upon surprise removal of a device. So from a textual view it is not necessary that PORT_PRESENT _must_ be set, especially if a device detection has to be done anyway. And, in fact, this is the view that ACER has been taken with its new Laptops (e.g. Travelmate 4150). And the definition of PORT_ENABLED / PORT_PRESENT is mixed up, btw. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Jens Axboe <axboe@suse.de> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [libata] update several drivers to use pci_iomap()/pci_iounmap()Jeff Garzik2005-08-301-5/+4
|
OpenPOWER on IntegriCloud