Change summary:
1) Fix regression that could cause a misdiagnosis, which in turn could lead to an erroneous 3.0 Gbps -> 1.5 downshift, particularly when hotplug and suspend/resume is involved. 2) Fix a regression that led to ata%d controller ids being numbered one larger than in <= 3.4-rc3 (oh, the horror!). Controller ids should now be as expected. 3) add some DT, PCI id's 4) ata/pata_arasan_cf: minor cpp fixing/cleaning -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQIVAwUAT6LKvSWzCDIBeCsvAQIq2BAAikXKo+1ZVjeG4qRQvjCLFC0vaP7Roflr aWpcl4Dmrq3MFw7L69uUnYnZETaBETiMuXYqj8ysaB6EUZHcXYUvgK96iWU4+gmb rLVXj5KJqMREQiAxwvYhhYYEsJHeKWSdNJKhCJPL9knfDzrB8rYznfSSZCpBNazk cKPJFBQJbIfbhtJce1QRatnT0B7bEJongnEmNiaBKoUyfdJslUw7XqfxwWRGphwg QGJez8GPDKPRnKL9d8j1zoDjTTrSSPCkpyGwl66cGov65CRFJKekanz9l7+E5ztY Uzyce/ew3VUXYFErIJUGzVu9pdBWdYnrDHvnvMbOgiy2kUfdVLNfQ3p8mToHTaN7 SBuzrNwG+UxSMMioXdE4yLaQ8mI2xY4XC6iaHHSb0f30xmzCvLRZ8FbOXM/gETAd s65lLC+9ebrmVdz15MLLbJsjgnovpgMehpjAZ6EZhKxbw0oAnybrRLceilKBDSkl gzjK38HKZke08EZ0t5QsNOPV878ELY0exl724YRk35W5kTJkvUptFDmbgJ5s/uAx BJinG2xHGp0HAbdSfxrFbBmUjlCO0cmdUWVk7ZxvEsWQ7EGmLleCFFSbCeTWA6Ah QRDZpEWA9wjku1Q6d05KYfz364nUksKds1VobHCOwodsPdWdWs59oYbNf38Gu/mh qlgFHFVU/j0= =c7fz -----END PGP SIGNATURE----- Merge tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev Pull libata fixes from Jeff Garzik: 1) Fix regression that could cause a misdiagnosis, which in turn could lead to an erroneous 3.0 Gbps -> 1.5 downshift, particularly when hotplug and suspend/resume is involved. 2) Fix a regression that led to ata%d controller ids being numbered one larger than in <= 3.4-rc3 (oh, the horror!). Controller ids should now be as expected. 3) add some DT, PCI id's 4) ata/pata_arasan_cf: minor cpp fixing/cleaning * tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata: ahci_platform: Add synopsys ahci controller in DT's compatible list ata/pata_arasan_cf: Move arasan_cf_pm_ops out of #ifdef, #endif macros libata: init ata_print_id to 0 ahci: Detect Marvell 88SE9172 SATA controller libata: skip old error history when counting probe trials
This commit is contained in:
commit
6b4c555a6b
|
@ -1,10 +1,10 @@
|
||||||
* Calxeda SATA Controller
|
* AHCI SATA Controller
|
||||||
|
|
||||||
SATA nodes are defined to describe on-chip Serial ATA controllers.
|
SATA nodes are defined to describe on-chip Serial ATA controllers.
|
||||||
Each SATA controller should have its own node.
|
Each SATA controller should have its own node.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : compatible list, contains "calxeda,hb-ahci"
|
- compatible : compatible list, contains "calxeda,hb-ahci" or "snps,spear-ahci"
|
||||||
- interrupts : <interrupt mapping for SATA IRQ>
|
- interrupts : <interrupt mapping for SATA IRQ>
|
||||||
- reg : <registers mapping>
|
- reg : <registers mapping>
|
||||||
|
|
||||||
|
@ -14,4 +14,3 @@ Example:
|
||||||
reg = <0xffe08000 0x1000>;
|
reg = <0xffe08000 0x1000>;
|
||||||
interrupts = <115>;
|
interrupts = <115>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -394,6 +394,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
||||||
.driver_data = board_ahci_yes_fbs }, /* 88se9128 */
|
.driver_data = board_ahci_yes_fbs }, /* 88se9128 */
|
||||||
{ PCI_DEVICE(0x1b4b, 0x9125),
|
{ PCI_DEVICE(0x1b4b, 0x9125),
|
||||||
.driver_data = board_ahci_yes_fbs }, /* 88se9125 */
|
.driver_data = board_ahci_yes_fbs }, /* 88se9125 */
|
||||||
|
{ PCI_DEVICE(0x1b4b, 0x917a),
|
||||||
|
.driver_data = board_ahci_yes_fbs }, /* 88se9172 */
|
||||||
{ PCI_DEVICE(0x1b4b, 0x91a3),
|
{ PCI_DEVICE(0x1b4b, 0x91a3),
|
||||||
.driver_data = board_ahci_yes_fbs },
|
.driver_data = board_ahci_yes_fbs },
|
||||||
|
|
||||||
|
|
|
@ -280,6 +280,7 @@ static struct dev_pm_ops ahci_pm_ops = {
|
||||||
|
|
||||||
static const struct of_device_id ahci_of_match[] = {
|
static const struct of_device_id ahci_of_match[] = {
|
||||||
{ .compatible = "calxeda,hb-ahci", },
|
{ .compatible = "calxeda,hb-ahci", },
|
||||||
|
{ .compatible = "snps,spear-ahci", },
|
||||||
{},
|
{},
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, ahci_of_match);
|
MODULE_DEVICE_TABLE(of, ahci_of_match);
|
||||||
|
|
|
@ -95,7 +95,7 @@ static unsigned int ata_dev_set_xfermode(struct ata_device *dev);
|
||||||
static void ata_dev_xfermask(struct ata_device *dev);
|
static void ata_dev_xfermask(struct ata_device *dev);
|
||||||
static unsigned long ata_dev_blacklisted(const struct ata_device *dev);
|
static unsigned long ata_dev_blacklisted(const struct ata_device *dev);
|
||||||
|
|
||||||
atomic_t ata_print_id = ATOMIC_INIT(1);
|
atomic_t ata_print_id = ATOMIC_INIT(0);
|
||||||
|
|
||||||
struct ata_force_param {
|
struct ata_force_param {
|
||||||
const char *name;
|
const char *name;
|
||||||
|
|
|
@ -3501,7 +3501,8 @@ static int ata_count_probe_trials_cb(struct ata_ering_entry *ent, void *void_arg
|
||||||
u64 now = get_jiffies_64();
|
u64 now = get_jiffies_64();
|
||||||
int *trials = void_arg;
|
int *trials = void_arg;
|
||||||
|
|
||||||
if (ent->timestamp < now - min(now, interval))
|
if ((ent->eflags & ATA_EFLAG_OLD_ER) ||
|
||||||
|
(ent->timestamp < now - min(now, interval)))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
(*trials)++;
|
(*trials)++;
|
||||||
|
|
|
@ -943,9 +943,9 @@ static int arasan_cf_resume(struct device *dev)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static SIMPLE_DEV_PM_OPS(arasan_cf_pm_ops, arasan_cf_suspend, arasan_cf_resume);
|
static SIMPLE_DEV_PM_OPS(arasan_cf_pm_ops, arasan_cf_suspend, arasan_cf_resume);
|
||||||
#endif
|
|
||||||
|
|
||||||
static struct platform_driver arasan_cf_driver = {
|
static struct platform_driver arasan_cf_driver = {
|
||||||
.probe = arasan_cf_probe,
|
.probe = arasan_cf_probe,
|
||||||
|
@ -953,9 +953,7 @@ static struct platform_driver arasan_cf_driver = {
|
||||||
.driver = {
|
.driver = {
|
||||||
.name = DRIVER_NAME,
|
.name = DRIVER_NAME,
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
#ifdef CONFIG_PM
|
|
||||||
.pm = &arasan_cf_pm_ops,
|
.pm = &arasan_cf_pm_ops,
|
||||||
#endif
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue