diff options
author | imp <imp@FreeBSD.org> | 2005-10-28 05:30:47 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2005-10-28 05:30:47 +0000 |
commit | ac1b38e209195bac2d70dc4415942cd0667abd18 (patch) | |
tree | 05a4d55a2a598cc163ec96b53a4fd732dbf06c22 /sys/dev/cardbus | |
parent | 05944d856b83ef8855e85096d05b67a2104b5394 (diff) | |
download | FreeBSD-src-ac1b38e209195bac2d70dc4415942cd0667abd18.zip FreeBSD-src-ac1b38e209195bac2d70dc4415942cd0667abd18.tar.gz |
Simplify code a little, prefer PCI?_FOO registers where possible.
Diffstat (limited to 'sys/dev/cardbus')
-rw-r--r-- | sys/dev/cardbus/cardbus_cis.c | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/sys/dev/cardbus/cardbus_cis.c b/sys/dev/cardbus/cardbus_cis.c index e44d69c..8c1cb76 100644 --- a/sys/dev/cardbus/cardbus_cis.c +++ b/sys/dev/cardbus/cardbus_cis.c @@ -325,7 +325,7 @@ decode_tuple_bar(device_t cbdev, device_t child, int id, } /* Convert from BAR type to BAR offset */ - bar = CARDBUS_BASE0_REG + (bar - 1) * 4; + bar = PCIR_BAR(bar - 1); if (type == SYS_RES_MEMORY) { if (reg & TPL_BAR_REG_PREFETCHABLE) @@ -491,8 +491,10 @@ cardbus_read_tuple_init(device_t cbdev, device_t child, uint32_t *start, uint32_t testval; uint32_t size; struct resource *res; + uint32_t space; - switch (CARDBUS_CIS_SPACE(*start)) { + space = CARDBUS_CIS_SPACE(*start); + switch (space) { case CARDBUS_CIS_ASI_TUPLE: /* CIS in PCI config space need no initialization */ return ((struct resource*)~0UL); @@ -502,21 +504,14 @@ cardbus_read_tuple_init(device_t cbdev, device_t child, uint32_t *start, case CARDBUS_CIS_ASI_BAR3: case CARDBUS_CIS_ASI_BAR4: case CARDBUS_CIS_ASI_BAR5: - *rid = CARDBUS_BASE0_REG + (CARDBUS_CIS_SPACE(*start) - 1) * 4; + *rid = PCIR_BAR(space - CARDBUS_CIS_ASI_BAR0); break; case CARDBUS_CIS_ASI_ROM: *rid = CARDBUS_ROM_REG; -#if 0 - /* - * This mask doesn't contain the bit that actually enables - * the Option ROM. - */ - pci_write_config(child, *rid, CARDBUS_ROM_ADDRMASK, 4); -#endif break; default: device_printf(cbdev, "Unable to read CIS: Unknown space: %d\n", - CARDBUS_CIS_SPACE(*start)); + space); return (NULL); } @@ -546,13 +541,12 @@ cardbus_read_tuple_init(device_t cbdev, device_t child, uint32_t *start, return (NULL); } pci_write_config(child, *rid, - rman_get_start(res) | ((*rid == CARDBUS_ROM_REG)? - CARDBUS_ROM_ENABLE : 0), - 4); + rman_get_start(res) | ((*rid == CARDBUS_ROM_REG) ? + CARDBUS_ROM_ENABLE : 0), 4); PCI_ENABLE_IO(cbdev, child, SYS_RES_MEMORY); /* Flip to the right ROM image if CIS is in ROM */ - if (CARDBUS_CIS_SPACE(*start) == CARDBUS_CIS_ASI_ROM) { + if (space == CARDBUS_CIS_ASI_ROM) { bus_space_tag_t bt; bus_space_handle_t bh; uint32_t imagesize; |