summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTim Yamin2008-12-21 10:54:28 +0100
committerGrant Likely2008-12-21 10:54:28 +0100
commite4efe3c271c5498ffe7e167eaff01514be2b9a77 (patch)
treeef2f2160bbfb4240103198cba74e1b367f1a9694
parentpowerpc/mpc5200: Bugfix on handling variable sized buffer descriptors (diff)
downloadkernel-qcow2-linux-e4efe3c271c5498ffe7e167eaff01514be2b9a77.tar.gz
kernel-qcow2-linux-e4efe3c271c5498ffe7e167eaff01514be2b9a77.tar.xz
kernel-qcow2-linux-e4efe3c271c5498ffe7e167eaff01514be2b9a77.zip
powerpc/mpc5200: Bestcomm fixes to ATA support
1) ata.h has dst_pa in the wrong place (needs to match what the BestComm task microcode in bcom_ata_task.c expects); fix it. 2) The BestComm ATA task priority was changed to maximum in bestcomm_priv.h; this fixes a deadlock issue experienced with heavy DMA occurring on both the ATA and Ethernet BestComm tasks, e.g. when downloading a large file over a LAN to disk. Signed-off-by: Tim Yamin <plasm@roo.me.uk> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
-rw-r--r--arch/powerpc/sysdev/bestcomm/ata.h2
-rw-r--r--arch/powerpc/sysdev/bestcomm/bestcomm_priv.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/powerpc/sysdev/bestcomm/ata.h b/arch/powerpc/sysdev/bestcomm/ata.h
index 10982769c465..0374322be93f 100644
--- a/arch/powerpc/sysdev/bestcomm/ata.h
+++ b/arch/powerpc/sysdev/bestcomm/ata.h
@@ -16,8 +16,8 @@
struct bcom_ata_bd {
u32 status;
- u32 dst_pa;
u32 src_pa;
+ u32 dst_pa;
};
extern struct bcom_task *
diff --git a/arch/powerpc/sysdev/bestcomm/bestcomm_priv.h b/arch/powerpc/sysdev/bestcomm/bestcomm_priv.h
index 866a2915ef2f..746f1551c8a5 100644
--- a/arch/powerpc/sysdev/bestcomm/bestcomm_priv.h
+++ b/arch/powerpc/sysdev/bestcomm/bestcomm_priv.h
@@ -198,8 +198,8 @@ struct bcom_task_header {
#define BCOM_IPR_SCTMR_1 2
#define BCOM_IPR_FEC_RX 6
#define BCOM_IPR_FEC_TX 5
-#define BCOM_IPR_ATA_RX 4
-#define BCOM_IPR_ATA_TX 3
+#define BCOM_IPR_ATA_RX 7
+#define BCOM_IPR_ATA_TX 7
#define BCOM_IPR_SCPCI_RX 2
#define BCOM_IPR_SCPCI_TX 2
#define BCOM_IPR_PSC3_RX 2