ソースを参照

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>
Tim Yamin 16 年 前
コミット
e4efe3c271

+ 1 - 1
arch/powerpc/sysdev/bestcomm/ata.h

@@ -16,8 +16,8 @@
 
 
 struct bcom_ata_bd {
 struct bcom_ata_bd {
 	u32	status;
 	u32	status;
-	u32	dst_pa;
 	u32	src_pa;
 	u32	src_pa;
+	u32	dst_pa;
 };
 };
 
 
 extern struct bcom_task *
 extern struct bcom_task *

+ 2 - 2
arch/powerpc/sysdev/bestcomm/bestcomm_priv.h

@@ -198,8 +198,8 @@ struct bcom_task_header {
 #define BCOM_IPR_SCTMR_1	2
 #define BCOM_IPR_SCTMR_1	2
 #define BCOM_IPR_FEC_RX		6
 #define BCOM_IPR_FEC_RX		6
 #define BCOM_IPR_FEC_TX		5
 #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_RX	2
 #define BCOM_IPR_SCPCI_TX	2
 #define BCOM_IPR_SCPCI_TX	2
 #define BCOM_IPR_PSC3_RX	2
 #define BCOM_IPR_PSC3_RX	2