summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/ia64/sn/pci/pcibr/pcibr_dma.c8
-rw-r--r--include/asm-ia64/sn/pcibr_provider.h5
2 files changed, 9 insertions, 4 deletions
diff --git a/arch/ia64/sn/pci/pcibr/pcibr_dma.c b/arch/ia64/sn/pci/pcibr/pcibr_dma.c
index 1ee977fb6ebb..95af40cb22f2 100644
--- a/arch/ia64/sn/pci/pcibr/pcibr_dma.c
+++ b/arch/ia64/sn/pci/pcibr/pcibr_dma.c
@@ -96,10 +96,14 @@ pcibr_dmamap_ate32(struct pcidev_info *info,
}
/*
- * If we're mapping for MSI, set the MSI bit in the ATE
+ * If we're mapping for MSI, set the MSI bit in the ATE. If it's a
+ * TIOCP based pci bus, we also need to set the PIO bit in the ATE.
*/
- if (dma_flags & SN_DMA_MSI)
+ if (dma_flags & SN_DMA_MSI) {
ate |= PCI32_ATE_MSI;
+ if (IS_TIOCP_SOFT(pcibus_info))
+ ate |= PCI32_ATE_PIO;
+ }
ate_write(pcibus_info, ate_index, ate_count, ate);
diff --git a/include/asm-ia64/sn/pcibr_provider.h b/include/asm-ia64/sn/pcibr_provider.h
index 17cb6cc3f21a..da205b7cdaac 100644
--- a/include/asm-ia64/sn/pcibr_provider.h
+++ b/include/asm-ia64/sn/pcibr_provider.h
@@ -21,6 +21,7 @@
#define IS_PCI_BRIDGE_ASIC(asic) (asic == PCIIO_ASIC_TYPE_PIC || \
asic == PCIIO_ASIC_TYPE_TIOCP)
#define IS_PIC_SOFT(ps) (ps->pbi_bridge_type == PCIBR_BRIDGETYPE_PIC)
+#define IS_TIOCP_SOFT(ps) (ps->pbi_bridge_type == PCIBR_BRIDGETYPE_TIOCP)
/*
@@ -53,8 +54,8 @@
* Bridge PMU Address Transaltion Entry Attibutes
*/
#define PCI32_ATE_V (0x1 << 0)
-#define PCI32_ATE_CO (0x1 << 1)
-#define PCI32_ATE_PREC (0x1 << 2)
+#define PCI32_ATE_CO (0x1 << 1) /* PIC ASIC ONLY */
+#define PCI32_ATE_PIO (0x1 << 1) /* TIOCP ASIC ONLY */
#define PCI32_ATE_MSI (0x1 << 2)
#define PCI32_ATE_PREF (0x1 << 3)
#define PCI32_ATE_BAR (0x1 << 4)
td>-2/+3 | * | arm64: don't trash config with compat symbol if COMPAT is disabledYury Norov2019-05-141-1/+1 | * | arm64: assembler: Update comment above cond_yield_neon() macroHillf Danton2019-05-141-6/+5Star | * | drivers/perf: arm_spe: Don't error on high-order pages for aux bufWill Deacon2019-05-131-9/+1Star | * | arm64/iommu: handle non-remapped addresses in ->mmap and ->get_sgtableChristoph Hellwig2019-05-071-0/+10 * | | Merge tag 'gfs2-5.1.fixes2' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds2019-05-221-4/+5 |\ \ \ | * | | gfs2: Fix sign extension bug in gfs2_update_statsAndreas Gruenbacher2019-05-221-4/+5 | | |/ | |/| * | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds2019-05-2223-162/+104Star |\ \ \ | * | | usbnet: fix kernel crash after disconnectKloetzke Jan2019-05-211-0/+6 | * | | selftests: fib_rule_tests: use pre-defined DEV_ADDRHangbin Liu2019-05-211-2/+3 | * | | net-next: net: Fix typos in ip-sysctl.txtMasanari Iida2019-05-211-2/+2 | * | | ipv6: Consider sk_bound_dev_if when binding a raw socket to an addressMike Manning2019-05-211-0/+2 | * | | net: phylink: ensure inband AN works correctlyRussell King2019-05-211-22/+15Star | * | | usbnet: ipheth: fix racing conditionBernd Eckstein2019-05-211-1/+2 | * | | net: stmmac: dma channel control register need to be init firstWeifeng Voon2019-05-211-4/+4 | * | | net: stmmac: fix ethtool flow control not able to get/setTan, Tee Min2019-05-211-2/+2 | * | | net: qrtr: Fix message type of outgoing packetsBjorn Andersson2019-05-211-2/+2 | * | | networking: : fix typos in code commentsWeitao Hou2019-05-211-2/+2 | * | | ptp: Fix example program to match kernel.Richard Cochran2019-05-211-84/+1Star | * | | fddi: fix typos in code commentsWeitao Hou2019-05-211-2/+2 | * | | Merge branch 'kselftests-fib_rule_tests-fix'David S. Miller2019-05-211-1/+6 | |\ \ \ | | * | | selftests: fib_rule_tests: enable forwarding before ipv4 from/iif testHangbin Liu2019-05-211-0/+5 | | * | | selftests: fib_rule_tests: fix local IPv4 address typoHangbin Liu2019-05-211-1/+1 | |/ / / | * | | tipc: Avoid copying bytes beyond the supplied dataChris Packham2019-05-211-3/+7 | * | | Merge branch 'net-readx_poll_timeout'David S. Miller2019-05-213-20/+17Star | |\ \ \ | | * | | 2/2] net: xilinx_emaclite: use readx_poll_timeout() in mdio wait functionKurt Kanzenbach2019-05-211-10/+6Star | | * | | 1/2] net: axienet: use readx_poll_timeout() in mdio wait functionKurt Kanzenbach2019-05-212-10/+11 | |/ / / | * | | vlan: Mark expected switch fall-throughGustavo A. R. Silva2019-05-201-0/+1 | * | | macvlan: Mark expected switch fall-throughGustavo A. R. Silva2019-05-201-0/+1 | * | | net/mlx4_en: ethtool, Remove unsupported SFP EEPROM high pages queryErez Alfasi2019-05-202-6/+3Star | * | | tipc: fix modprobe tipc failed after switch order of device registrationJunwei Hu2019-05-203-10/+27 * | | | Merge tag 'for-5.2/dm-fix-1' of git://git.kernel.org/pub/scm/linux/kernel/git...Linus Torvalds2019-05-221-1/+3 |\ \ \ \ | * | | | dm: make sure to obey max_io_len_target_boundaryMichael Lass2019-05-221-1/+3 * | | | | Merge tag 'selinux-pr-20190521' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds2019-05-211-2/+8 |\ \ \ \ \ | * | | | | selinux: do not report error on connect(AF_UNSPEC)Paolo Abeni2019-05-211-2/+8 * | | | | | Merge tag 'spdx-5.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gre...Linus Torvalds2019-05-21