mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-22 14:22:26 +00:00
19 lines
787 B
Diff
19 lines
787 B
Diff
|
diff --recursive -u ./clean/linux-4.9.80/drivers/ata/libahci.c linux-4.9.80/drivers/ata/libahci.c
|
||
|
--- ./clean/linux-4.9.80/drivers/ata/libahci.c 2018-02-03 11:05:43.000000000 -0500
|
||
|
+++ linux-4.9.80/drivers/ata/libahci.c 2018-02-07 18:02:32.526535910 -0500
|
||
|
@@ -537,8 +537,12 @@
|
||
|
}
|
||
|
|
||
|
/* fabricate port_map from cap.nr_ports for < AHCI 1.3 */
|
||
|
- if (!port_map && vers < 0x10300) {
|
||
|
- port_map = (1 << ahci_nr_ports(cap)) - 1;
|
||
|
+ if (!port_map) { // && vers < 0x10300) {
|
||
|
+ printk("%s: saved_port=%02x\n", __func__, hpriv->saved_port_map);
|
||
|
+ writel(0x1, mmio + HOST_PORTS_IMPL);
|
||
|
+ port_map = readl(mmio + HOST_PORTS_IMPL);
|
||
|
+
|
||
|
+ //port_map = (1 << ahci_nr_ports(cap)) - 1;
|
||
|
dev_warn(dev, "forcing PORTS_IMPL to 0x%x\n", port_map);
|
||
|
|
||
|
/* write the fixed up value to the PI register */
|