bk://gkernel.bkbits.net/libata-2.6
jgarzik@pobox.com|ChangeSet|20040930230559|37200 jgarzik

# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/10/01 19:05:49-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/ide/Kconfig
#   2004/10/01 19:05:45-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/30 21:20:03-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/Makefile
#   2004/09/30 21:19:59-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Kconfig
#   2004/09/30 21:19:59-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/30 19:05:59-04:00 jgarzik@pobox.com 
#   [libata] add sata_uli driver for ULi (formerly ALi) SATA
#   
#   Contributed by Peer Chen <peer_chen@ali.com.tw>, updated to
#   latest libata by me.
# 
# drivers/scsi/sata_uli.c
#   2004/09/30 19:05:51-04:00 jgarzik@pobox.com +41 -44
#   [libata] add sata_uli driver for ULi (formerly ALi) SATA
#   
#   Contributed by Peer Chen <peer_chen@ali.com.tw>, updated to
#   latest libata by me.
# 
# drivers/scsi/Makefile
#   2004/09/30 19:05:51-04:00 jgarzik@pobox.com +1 -0
#   [libata] add sata_uli driver for ULi (formerly ALi) SATA
#   
#   Contributed by Peer Chen <peer_chen@ali.com.tw>, updated to
#   latest libata by me.
# 
# drivers/scsi/Kconfig
#   2004/09/30 19:05:51-04:00 jgarzik@pobox.com +8 -0
#   [libata] add sata_uli driver for ULi (formerly ALi) SATA
#   
#   Contributed by Peer Chen <peer_chen@ali.com.tw>, updated to
#   latest libata by me.
# 
# drivers/scsi/sata_uli.c
#   2004/09/30 18:40:29-04:00 jgarzik@pobox.com +284 -0
# 
# drivers/scsi/sata_uli.c
#   2004/09/30 18:40:29-04:00 jgarzik@pobox.com +0 -0
#   BitKeeper file /spare/repo/libata-2.6/drivers/scsi/sata_uli.c
# 
# ChangeSet
#   2004/09/30 13:05:54-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/09/30 13:05:49-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/17 13:05:50-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/ide/Kconfig
#   2004/09/17 13:05:45-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/16 16:07:06-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/09/16 16:07:02-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/09/16 16:07:02-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_nv.c
#   2004/09/16 16:07:02-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/09/16 16:07:02-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/15 12:17:37-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/09/15 12:17:33-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/09/15 12:17:33-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_nv.c
#   2004/09/15 12:17:33-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/09/15 12:17:33-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/09/11 14:54:25-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/libata-core.c
#   2004/09/11 14:54:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/pci/quirks.c
#   2004/09/11 14:54:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/28 22:27:43-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_nv.c
#   2004/08/28 22:27:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/08/28 22:27:39-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/28 16:12:27-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/08/28 16:12:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Makefile
#   2004/08/28 16:12:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Kconfig
#   2004/08/28 16:12:22-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/27 15:07:56-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/08/27 15:07:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/27 13:45:56-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/08/27 13:45:52-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/23 16:34:44-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/08/23 16:34:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/pci/quirks.c
#   2004/08/23 16:34:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/23 14:20:17-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/08/23 14:20:13-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/22 21:26:53-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/08/22 21:26:49-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/18 23:18:56-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_nv.c
#   2004/08/18 23:18:47-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/18 12:22:35-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# include/linux/ata.h
#   2004/08/18 12:22:31-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/16 10:39:14-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/libata-core.c
#   2004/08/16 10:39:10-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/15 01:13:07-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# include/linux/ata.h
#   2004/08/15 01:13:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_vsc.c
#   2004/08/15 01:13:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/08/15 01:13:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_nv.c
#   2004/08/15 01:13:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/08/15 01:13:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/15 01:12:09-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_nv.c
#   2004/08/15 01:12:04-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/08/15 01:12:04-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/08/01 00:07:37-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/08/01 00:07:31-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/30 22:30:24-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/07/30 22:30:20-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/29 23:28:51-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# include/linux/ata.h
#   2004/07/29 23:28:47-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/07/29 23:28:47-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/pci/quirks.c
#   2004/07/29 23:28:47-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/29 23:27:47-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/ata.h
#   2004/07/29 23:27:44-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/07/29 23:27:44-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/26 22:52:19-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/Kconfig
#   2004/07/26 22:52:15-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/ide/Kconfig
#   2004/07/26 22:52:15-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/25 16:30:41-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/pci/quirks.c
#   2004/07/25 16:30:37-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/16 18:33:45-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/07/16 18:33:41-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/07/16 18:33:41-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Kconfig
#   2004/07/16 18:33:41-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/pci/quirks.c
#   2004/07/16 18:33:41-07:00 akpm@bix.(none) +0 -24
#   Auto merged
# 
# ChangeSet
#   2004/07/11 13:36:09-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/Kconfig
#   2004/07/11 13:36:06-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/10 16:48:25-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/libata-core.c
#   2004/07/10 16:48:21-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/08 14:25:45-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/libata-core.c
#   2004/07/08 14:25:42-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/04 22:50:07-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/07/04 22:50:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/07/04 22:50:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/07/04 22:50:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/04 22:49:15-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/07/04 22:49:11-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/07/04 22:49:11-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/07/04 22:49:11-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/03 13:24:49-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/07/03 13:24:46-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/07/03 13:24:46-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/07/03 13:24:46-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/02 15:20:41-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/07/02 15:20:37-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Kconfig
#   2004/07/02 15:20:37-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/07/01 01:39:29-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/07/01 01:39:25-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/27 16:58:09-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/Makefile
#   2004/06/27 16:58:06-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Kconfig
#   2004/06/27 16:58:06-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/24 18:20:09-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/06/24 18:20:05-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/24 12:47:00-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/06/24 12:46:56-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/ide/Kconfig
#   2004/06/24 12:46:56-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/22 12:15:04-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/libata-core.c
#   2004/06/22 12:15:00-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Makefile
#   2004/06/22 12:15:00-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Kconfig
#   2004/06/22 12:15:00-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/ide/Kconfig
#   2004/06/22 12:15:00-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/18 12:17:44-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/06/18 12:17:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Makefile
#   2004/06/18 12:17:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/Kconfig
#   2004/06/18 12:17:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/ide/Kconfig
#   2004/06/18 12:17:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/17 20:13:32-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/06/17 20:13:28-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/06/17 20:13:28-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/06/17 20:13:28-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/15 21:49:46-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/libata-core.c
#   2004/06/15 21:49:43-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/15 21:47:10-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/06/15 21:47:03-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/03 10:32:06-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/06/03 10:32:02-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/02 23:44:41-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/06/02 23:44:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/06/02 23:44:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/06/02 23:44:38-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/06/02 13:27:03-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/06/02 13:27:00-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/28 17:09:11-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/28 17:09:07-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/28 13:30:30-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/28 13:30:27-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/24 11:34:43-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/24 11:34:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/22 23:37:15-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/22 23:37:12-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/21 18:58:02-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/libata-core.c
#   2004/05/21 18:57:59-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/18 23:52:37-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/18 23:52:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/libata-core.c
#   2004/05/18 23:52:34-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/18 14:40:31-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/18 14:40:28-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/16 01:41:16-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/16 01:41:13-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_vsc.c
#   2004/05/16 01:41:13-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/05/16 01:41:13-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/14 21:35:03-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/14 21:35:00-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/11 16:47:43-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/11 16:47:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_vsc.c
#   2004/05/11 16:47:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/05/11 16:47:40-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/07 01:05:16-07:00 akpm@bix.(none) 
#   Merge bk://gkernel.bkbits.net/libata-2.6
#   into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/05/07 01:05:13-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_vsc.c
#   2004/05/07 01:05:13-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/05/07 01:05:13-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/05/05 14:42:21-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# drivers/scsi/sata_vsc.c
#   2004/05/05 14:42:18-07:00 akpm@bix.(none) +0 -4
#   Auto merged
# 
# drivers/scsi/sata_sis.c
#   2004/05/05 14:42:18-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/29 15:49:47-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/04/29 15:49:44-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
# ChangeSet
#   2004/04/25 22:53:46-07:00 akpm@bix.(none) 
#   Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-libata
# 
# include/linux/pci_ids.h
#   2004/04/25 22:53:43-07:00 akpm@bix.(none) +0 -0
#   Auto merged
# 
diff -Nru a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
--- a/drivers/scsi/Kconfig	2004-10-03 19:09:04 -07:00
+++ b/drivers/scsi/Kconfig	2004-10-03 19:09:04 -07:00
@@ -465,6 +465,14 @@
 
 	  If unsure, say N.
 
+config SCSI_SATA_ULI
+	tristate "ULi Electronics SATA support"
+	depends on SCSI_SATA && PCI && EXPERIMENTAL
+	help
+	  This option enables support for ULi Electronics SATA.
+
+	  If unsure, say N.
+
 config SCSI_SATA_VIA
 	tristate "VIA SATA support"
 	depends on SCSI_SATA && PCI && EXPERIMENTAL
diff -Nru a/drivers/scsi/Makefile b/drivers/scsi/Makefile
--- a/drivers/scsi/Makefile	2004-10-03 19:09:04 -07:00
+++ b/drivers/scsi/Makefile	2004-10-03 19:09:04 -07:00
@@ -130,6 +130,7 @@
 obj-$(CONFIG_SCSI_SATA_SIS)	+= libata.o sata_sis.o
 obj-$(CONFIG_SCSI_SATA_SX4)	+= libata.o sata_sx4.o
 obj-$(CONFIG_SCSI_SATA_NV)	+= libata.o sata_nv.o
+obj-$(CONFIG_SCSI_SATA_ULI)	+= libata.o sata_uli.o
 
 obj-$(CONFIG_ARM)		+= arm/
 
diff -Nru a/drivers/scsi/sata_uli.c b/drivers/scsi/sata_uli.c
--- /dev/null	Wed Dec 31 16:00:00 196900
+++ b/drivers/scsi/sata_uli.c	2004-10-03 19:09:04 -07:00
@@ -0,0 +1,281 @@
+/*
+ *  sata_uli.c - ULi Electronics SATA
+ *
+ *  The contents of this file are subject to the Open
+ *  Software License version 1.1 that can be found at
+ *  http://www.opensource.org/licenses/osl-1.1.txt and is included herein
+ *  by reference.
+ *
+ *  Alternatively, the contents of this file may be used under the terms
+ *  of the GNU General Public License version 2 (the "GPL") as distributed
+ *  in the kernel source COPYING file, in which case the provisions of
+ *  the GPL are applicable instead of the above.  If you wish to allow
+ *  the use of your version of this file only under the terms of the
+ *  GPL and not to allow others to use your version of this file under
+ *  the OSL, indicate your decision by deleting the provisions above and
+ *  replace them with the notice and other provisions required by the GPL.
+ *  If you do not delete the provisions above, a recipient may use your
+ *  version of this file under either the OSL or the GPL.
+ *
+ */
+
+#include <linux/config.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/pci.h>
+#include <linux/init.h>
+#include <linux/blkdev.h>
+#include <linux/delay.h>
+#include <linux/interrupt.h>
+#include "scsi.h"
+#include <scsi/scsi_host.h>
+#include <linux/libata.h>
+
+#define DRV_NAME	"sata_uli"
+#define DRV_VERSION	"0.11"
+
+enum {
+	uli_5289		= 0,
+	uli_5287		= 1,
+
+	/* PCI configuration registers */
+	ULI_SCR_BASE		= 0x90, /* sata0 phy SCR registers */
+	ULI_SATA1_OFS		= 0x10, /* offset from sata0->sata1 phy regs */
+
+};
+
+static int uli_init_one (struct pci_dev *pdev, const struct pci_device_id *ent);
+static u32 uli_scr_read (struct ata_port *ap, unsigned int sc_reg);
+static void uli_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val);
+
+static struct pci_device_id uli_pci_tbl[] = {
+	{ PCI_VENDOR_ID_AL, 0x5289, PCI_ANY_ID, PCI_ANY_ID, 0, 0, uli_5289 },
+	{ PCI_VENDOR_ID_AL, 0x5287, PCI_ANY_ID, PCI_ANY_ID, 0, 0, uli_5287 },
+	{ }	/* terminate list */
+};
+
+
+static struct pci_driver uli_pci_driver = {
+	.name			= DRV_NAME,
+	.id_table		= uli_pci_tbl,
+	.probe			= uli_init_one,
+	.remove			= ata_pci_remove_one,
+};
+
+static Scsi_Host_Template uli_sht = {
+	.module			= THIS_MODULE,
+	.name			= DRV_NAME,
+	.ioctl			= ata_scsi_ioctl,
+	.queuecommand		= ata_scsi_queuecmd,
+	.eh_strategy_handler	= ata_scsi_error,
+	.can_queue		= ATA_DEF_QUEUE,
+	.this_id		= ATA_SHT_THIS_ID,
+	.sg_tablesize		= LIBATA_MAX_PRD,
+	.max_sectors		= ATA_MAX_SECTORS,
+	.cmd_per_lun		= ATA_SHT_CMD_PER_LUN,
+	.emulated		= ATA_SHT_EMULATED,
+	.use_clustering		= ATA_SHT_USE_CLUSTERING,
+	.proc_name		= DRV_NAME,
+	.dma_boundary		= ATA_DMA_BOUNDARY,
+	.slave_configure	= ata_scsi_slave_config,
+	.bios_param		= ata_std_bios_param,
+};
+
+static struct ata_port_operations uli_ops = {
+	.port_disable		= ata_port_disable,
+
+	.tf_load		= ata_tf_load,
+	.tf_read		= ata_tf_read,
+	.check_status		= ata_check_status,
+	.exec_command		= ata_exec_command,
+
+	.phy_reset		= sata_phy_reset,
+
+	.bmdma_setup            = ata_bmdma_setup,
+	.bmdma_start            = ata_bmdma_start,
+	.qc_prep		= ata_qc_prep,
+	.qc_issue		= ata_qc_issue_prot,
+
+	.eng_timeout		= ata_eng_timeout,
+
+	.irq_handler		= ata_interrupt,
+	.irq_clear		= ata_bmdma_irq_clear,
+
+	.scr_read		= uli_scr_read,
+	.scr_write		= uli_scr_write,
+
+	.port_start		= ata_port_start,
+	.port_stop		= ata_port_stop,
+};
+
+static struct ata_port_info uli_port_info = {
+	.sht            = &uli_sht,
+	.host_flags     = ATA_FLAG_SATA | ATA_FLAG_SATA_RESET |
+			  ATA_FLAG_NO_LEGACY,
+	.pio_mask       = 0x03,		//support pio mode 4 (FIXME)
+	.udma_mask      = 0x7f,		//support udma mode 6
+	.port_ops       = &uli_ops,
+};
+
+
+MODULE_AUTHOR("Peer Chen");
+MODULE_DESCRIPTION("low-level driver for ULi Electronics SATA controller");
+MODULE_LICENSE("GPL");
+MODULE_DEVICE_TABLE(pci, uli_pci_tbl);
+
+static unsigned int get_scr_cfg_addr(unsigned int port_no, unsigned int sc_reg)
+{
+	unsigned int addr = ULI_SCR_BASE + (4 * sc_reg);
+
+	switch (port_no) {
+	case 0:
+		break;
+	case 1:
+		addr += ULI_SATA1_OFS;
+		break;
+	case 2:
+		addr += ULI_SATA1_OFS*4;
+		break;
+	case 3:
+		addr += ULI_SATA1_OFS*5;
+		break;
+	default:
+		BUG();
+		break;
+	}
+	return addr;
+}
+
+static u32 uli_scr_cfg_read (struct ata_port *ap, unsigned int sc_reg)
+{
+	unsigned int cfg_addr = get_scr_cfg_addr(ap->port_no, sc_reg);
+	u32 val;
+
+	pci_read_config_dword(ap->host_set->pdev, cfg_addr, &val);
+	return val;
+}
+
+static void uli_scr_cfg_write (struct ata_port *ap, unsigned int scr, u32 val)
+{
+	unsigned int cfg_addr = get_scr_cfg_addr(ap->port_no, scr);
+
+	pci_write_config_dword(ap->host_set->pdev, cfg_addr, val);
+}
+
+static u32 uli_scr_read (struct ata_port *ap, unsigned int sc_reg)
+{
+	if (sc_reg > SCR_CONTROL)
+		return 0xffffffffU;
+
+	return uli_scr_cfg_read(ap, sc_reg);
+}
+
+static void uli_scr_write (struct ata_port *ap, unsigned int sc_reg, u32 val)
+{
+	if (sc_reg > SCR_CONTROL)	//SCR_CONTROL=2, SCR_ERROR=1, SCR_STATUS=0
+		return;
+
+	uli_scr_cfg_write(ap, sc_reg, val);
+}
+
+/* move to PCI layer, integrate w/ MSI stuff */
+static void pci_enable_intx(struct pci_dev *pdev)
+{
+	u16 pci_command;
+
+	pci_read_config_word(pdev, PCI_COMMAND, &pci_command);
+	if (pci_command & PCI_COMMAND_INTX_DISABLE) {
+		pci_command &= ~PCI_COMMAND_INTX_DISABLE;
+		pci_write_config_word(pdev, PCI_COMMAND, pci_command);
+	}
+}
+
+static int uli_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
+{
+	struct ata_probe_ent *probe_ent;
+	struct ata_port_info *ppi;
+	int rc;
+	unsigned int board_idx = (unsigned int) ent->driver_data;
+
+	rc = pci_enable_device(pdev);
+	if (rc)
+		return rc;
+
+	rc = pci_request_regions(pdev, DRV_NAME);
+	if (rc)
+		goto err_out;
+
+	rc = pci_set_dma_mask(pdev, ATA_DMA_MASK);
+	if (rc)
+		goto err_out_regions;
+	rc = pci_set_consistent_dma_mask(pdev, ATA_DMA_MASK);
+	if (rc)
+		goto err_out_regions;
+
+	ppi = &uli_port_info;
+	probe_ent = ata_pci_init_native_mode(pdev, &ppi);
+	if (!probe_ent) {
+		rc = -ENOMEM;
+		goto err_out_regions;
+	}
+
+	switch (board_idx) {
+	case uli_5287:
+       		probe_ent->n_ports = 4;
+
+       		probe_ent->port[2].cmd_addr = pci_resource_start(pdev, 0) + 8;
+		probe_ent->port[2].altstatus_addr =
+		probe_ent->port[2].ctl_addr =
+			(pci_resource_start(pdev, 1) | ATA_PCI_CTL_OFS) + 4;
+		probe_ent->port[2].bmdma_addr = pci_resource_start(pdev, 4) + 16;
+
+		probe_ent->port[3].cmd_addr = pci_resource_start(pdev, 2) + 8;
+		probe_ent->port[3].altstatus_addr =
+		probe_ent->port[3].ctl_addr =
+			(pci_resource_start(pdev, 3) | ATA_PCI_CTL_OFS) + 4;
+		probe_ent->port[3].bmdma_addr = pci_resource_start(pdev, 4) + 24;
+
+		ata_std_ports(&probe_ent->port[2]);
+		ata_std_ports(&probe_ent->port[3]);
+		break;
+
+	case uli_5289:
+		/* do nothing; ata_pci_init_native_mode did it all */
+		break;
+
+	default:
+		BUG();
+		break;
+	}
+
+	pci_set_master(pdev);
+	pci_enable_intx(pdev);
+
+	/* FIXME: check ata_device_add return value */
+	ata_device_add(probe_ent);
+	kfree(probe_ent);
+
+	return 0;
+
+err_out_regions:
+	pci_release_regions(pdev);
+
+err_out:
+	pci_disable_device(pdev);
+	return rc;
+
+}
+
+static int __init uli_init(void)
+{
+	return pci_module_init(&uli_pci_driver);
+}
+
+static void __exit uli_exit(void)
+{
+	pci_unregister_driver(&uli_pci_driver);
+}
+
+
+module_init(uli_init);
+module_exit(uli_exit);