1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-27 18:35:55 +02:00

ar71xx: flush DDR writeback buffers for WMAC and PCIe on AR934X

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29108 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
juhosg 2011-11-14 11:49:53 +00:00
parent c86a746ece
commit 2f0405019f
2 changed files with 7 additions and 6 deletions

View File

@ -239,14 +239,15 @@ static void ar934x_ip2_irq_dispatch(unsigned int irq, struct irq_desc *desc)
status = ar71xx_reset_rr(AR934X_RESET_REG_PCIE_WMAC_INT_STATUS); status = ar71xx_reset_rr(AR934X_RESET_REG_PCIE_WMAC_INT_STATUS);
if (status & AR934X_PCIE_WMAC_INT_PCIE_ALL) if (status & AR934X_PCIE_WMAC_INT_PCIE_ALL) {
ar71xx_ddr_flush(AR934X_DDR_REG_FLUSH_PCIE);
generic_handle_irq(AR934X_IP2_IRQ_PCIE); generic_handle_irq(AR934X_IP2_IRQ_PCIE);
} else if (status & AR934X_PCIE_WMAC_INT_WMAC_ALL) {
else if (status & AR934X_PCIE_WMAC_INT_WMAC_ALL) ar71xx_ddr_flush(AR934X_DDR_REG_FLUSH_WMAC);
generic_handle_irq(AR934X_IP2_IRQ_WMAC); generic_handle_irq(AR934X_IP2_IRQ_WMAC);
} else {
else
spurious_interrupt(); spurious_interrupt();
}
enable_irq(irq); enable_irq(irq);
} }
@ -297,7 +298,6 @@ static void ar933x_ip2_handler(void)
static void ar934x_ip2_handler(void) static void ar934x_ip2_handler(void)
{ {
ar71xx_ddr_flush(AR934X_DDR_REG_FLUSH_PCIE);
do_IRQ(AR71XX_CPU_IRQ_IP2); do_IRQ(AR71XX_CPU_IRQ_IP2);
} }

View File

@ -533,6 +533,7 @@ void ar71xx_gpio_function_setup(u32 set, u32 clear);
#define AR934X_DDR_REG_FLUSH_GE1 0xa0 #define AR934X_DDR_REG_FLUSH_GE1 0xa0
#define AR934X_DDR_REG_FLUSH_USB 0xa4 #define AR934X_DDR_REG_FLUSH_USB 0xa4
#define AR934X_DDR_REG_FLUSH_PCIE 0xa8 #define AR934X_DDR_REG_FLUSH_PCIE 0xa8
#define AR934X_DDR_REG_FLUSH_WMAC 0xac
#define PCI_WIN0_OFFS 0x10000000 #define PCI_WIN0_OFFS 0x10000000