From 944f85f0e00877ca946efda9cd1767c4ce2c449b Mon Sep 17 00:00:00 2001 From: Daniel Hellstrom Date: Mon, 18 Mar 2013 08:29:39 +0100 Subject: PCI-RASTA: set GRPCI1 target cache-line-size to avoid poor performance --- c/src/lib/libbsp/sparc/shared/pci/gr_rasta_adcdac.c | 6 ++++++ c/src/lib/libbsp/sparc/shared/pci/gr_rasta_io.c | 6 ++++++ c/src/lib/libbsp/sparc/shared/pci/gr_rasta_tmtc.c | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_adcdac.c b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_adcdac.c index f0716ab3c9..163ccfb98c 100644 --- a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_adcdac.c +++ b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_adcdac.c @@ -247,6 +247,12 @@ int gr_rasta_adcdac_hw_init1(struct gr_rasta_adcdac_priv *priv) pci_cfg_r32(priv->pcidev, PCI_COMMAND, &data); pci_cfg_w32(priv->pcidev, PCI_COMMAND, (data|PCI_COMMAND_PARITY)); + /* Setup cache line size. Default cache line size will result in + * poor performance (256 word fetches), 0xff will set it according + * to the max size of the PCI FIFO. + */ + pci_cfg_w8(priv->pcidev, PCI_CACHE_LINE_SIZE, 0xff); + /* Scan AMBA Plug&Play */ /* AMBA MAP bar0 (in CPU) ==> 0x80000000(remote amba address) */ diff --git a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_io.c b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_io.c index 42e7397d65..071636ba45 100644 --- a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_io.c +++ b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_io.c @@ -264,6 +264,12 @@ int gr_rasta_io_hw_init(struct gr_rasta_io_priv *priv) } #endif + /* Setup cache line size. Default cache line size will result in + * poor performance (256 word fetches), 0xff will set it according + * to the max size of the PCI FIFO. + */ + pci_cfg_w8(priv->pcidev, PCI_CACHE_LINE_SIZE, 0xff); + /* Scan AMBA Plug&Play */ /* AMBA MAP bar0 (in CPU) ==> 0x80000000(remote amba address) */ diff --git a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_tmtc.c b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_tmtc.c index 671bcf6d83..8e31b65f0e 100644 --- a/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_tmtc.c +++ b/c/src/lib/libbsp/sparc/shared/pci/gr_rasta_tmtc.c @@ -254,6 +254,12 @@ int gr_rasta_tmtc_hw_init(struct gr_rasta_tmtc_priv *priv) } #endif + /* Setup cache line size. Default cache line size will result in + * poor performance (256 word fetches), 0xff will set it according + * to the max size of the PCI FIFO. + */ + pci_cfg_w8(pcidev, PCI_CACHE_LINE_SIZE, 0xff); + /* Scan AMBA Plug&Play */ /* AMBA MAP bar0 (in CPU) ==> 0x80000000(remote amba address) */ -- cgit v1.2.3