Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 93400
b: refs/heads/master
c: 85afb93
h: refs/heads/master
v: v3
  • Loading branch information
Mark Lord authored and Jeff Garzik committed Apr 25, 2008
1 parent 379c84c commit 68d106d
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 51 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8d07379d251ab24d937e6cb0748b71106dddbc74
refs/heads/master: 85afb934575abdff1b2ac8ea4d522d1355f22a89
79 changes: 29 additions & 50 deletions trunk/drivers/ata/sata_mv.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,46 +23,34 @@
*/

/*
sata_mv TODO list:
1) Needs a full errata audit for all chipsets. I implemented most
of the errata workarounds found in the Marvell vendor driver, but
I distinctly remember a couple workarounds (one related to PCI-X)
are still needed.
2) Improve/fix IRQ and error handling sequences.
3) ATAPI support (Marvell claims the 60xx/70xx chips can do it).
4) Think about TCQ support here, and for libata in general
with controllers that suppport it via host-queuing hardware
(a software-only implementation could be a nightmare).
5) Investigate problems with PCI Message Signalled Interrupts (MSI).
6) Cache frequently-accessed registers in mv_port_priv to reduce overhead.
7) Fix/reenable hot plug/unplug (should happen as a side-effect of (2) above).
8) Develop a low-power-consumption strategy, and implement it.
9) [Experiment, low priority] See if ATAPI can be supported using
"unknown FIS" or "vendor-specific FIS" support, or something creative
like that.
10) [Experiment, low priority] Investigate interrupt coalescing.
Quite often, especially with PCI Message Signalled Interrupts (MSI),
the overhead reduced by interrupt mitigation is quite often not
worth the latency cost.
11) [Experiment, Marvell value added] Is it possible to use target
mode to cross-connect two Linux boxes with Marvell cards? If so,
creating LibATA target mode support would be very interesting.
Target mode, for those without docs, is the ability to directly
connect two SATA controllers.
*/
* sata_mv TODO list:
*
* --> Errata workaround for NCQ device errors.
*
* --> More errata workarounds for PCI-X.
*
* --> Complete a full errata audit for all chipsets to identify others.
*
* --> ATAPI support (Marvell claims the 60xx/70xx chips can do it).
*
* --> Investigate problems with PCI Message Signalled Interrupts (MSI).
*
* --> Cache frequently-accessed registers in mv_port_priv to reduce overhead.
*
* --> Develop a low-power-consumption strategy, and implement it.
*
* --> [Experiment, low priority] Investigate interrupt coalescing.
* Quite often, especially with PCI Message Signalled Interrupts (MSI),
* the overhead reduced by interrupt mitigation is quite often not
* worth the latency cost.
*
* --> [Experiment, Marvell value added] Is it possible to use target
* mode to cross-connect two Linux boxes with Marvell cards? If so,
* creating LibATA target mode support would be very interesting.
*
* Target mode, for those without docs, is the ability to directly
* connect two SATA ports.
*/

#include <linux/kernel.h>
#include <linux/module.h>
Expand Down Expand Up @@ -300,9 +288,7 @@ enum {
EDMA_ERR_IRQ_TRANSIENT = EDMA_ERR_LNK_CTRL_RX_0 |
EDMA_ERR_LNK_CTRL_RX_1 |
EDMA_ERR_LNK_CTRL_RX_3 |
EDMA_ERR_LNK_CTRL_TX |
/* temporary, until we fix hotplug: */
(EDMA_ERR_DEV_DCON | EDMA_ERR_DEV_CON),
EDMA_ERR_LNK_CTRL_TX,

EDMA_EH_FREEZE = EDMA_ERR_D_PAR |
EDMA_ERR_PRD_PAR |
Expand Down Expand Up @@ -2124,13 +2110,6 @@ static int mv6_reset_hc(struct mv_host_priv *hpriv, void __iomem *mmio,
printk(KERN_ERR DRV_NAME ": can't clear global reset\n");
rc = 1;
}
/*
* Temporary: wait 3 seconds before port-probing can happen,
* so that we don't miss finding sleepy SilXXXX port-multipliers.
* This can go away once hotplug is fully/correctly implemented.
*/
if (rc == 0)
msleep(3000);
done:
return rc;
}
Expand Down

0 comments on commit 68d106d

Please sign in to comment.