summaryrefslogtreecommitdiff
path: root/xhfc
diff options
context:
space:
mode:
authorGuillaume Knispel <gknispel@proformatique.com>2012-02-14 18:25:24 +0100
committerGuillaume Knispel <gknispel@proformatique.com>2012-02-14 18:25:24 +0100
commit69e2bae4a5c19c430000a3628056877594ae1a7f (patch)
tree805890df69910e8fbd49c8e56adca050b33aa462 /xhfc
parentb1756df2e77ce1d6a6d65fd8b64b9534e6c876a4 (diff)
add cs_n1 in struct xhfc_pi, and set it
Diffstat (limited to 'xhfc')
-rw-r--r--xhfc/base.c4
-rw-r--r--xhfc/xhfc.h5
2 files changed, 7 insertions, 2 deletions
diff --git a/xhfc/base.c b/xhfc/base.c
index a717e55..d835679 100644
--- a/xhfc/base.c
+++ b/xhfc/base.c
@@ -1122,6 +1122,10 @@ static int __devinit xhfc_init_one(struct pci_dev *pdev,
if (!pi->cs_n0)
goto err_ioremap_mmbar;
+ /* we have no LEB CS configured to 32MB, so CS are every 16MB
+ * see [Intel 320066] 42.4.1.1 Chip Select Address Allocation */
+ pi->cs_n1 = pi->cs_n0 + 16 * 1024 * 1024;
+
pci_set_drvdata(pdev, pi);
diff --git a/xhfc/xhfc.h b/xhfc/xhfc.h
index 92e889f..1aaa74d 100644
--- a/xhfc/xhfc.h
+++ b/xhfc/xhfc.h
@@ -149,8 +149,9 @@ struct xhfc {
struct xhfc_pi {
- struct tlp_leb_regs __iomem *regs;
- u8 __iomem *cs_n0;
+ struct tlp_leb_regs __iomem *regs; /* own ioremap */
+ u8 __iomem *cs_n0; /* own ioremap */
+ u8 __iomem *cs_n1; /* don't own ioremap */
int irq;
struct xhfc xhfc; /* mem for one XHFC */