summaryrefslogtreecommitdiffstats
path: root/sys/dev/cardbus
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2005-10-28 05:30:47 +0000
committerimp <imp@FreeBSD.org>2005-10-28 05:30:47 +0000
commitac1b38e209195bac2d70dc4415942cd0667abd18 (patch)
tree05a4d55a2a598cc163ec96b53a4fd732dbf06c22 /sys/dev/cardbus
parent05944d856b83ef8855e85096d05b67a2104b5394 (diff)
downloadFreeBSD-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.c24
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;
OpenPOWER on IntegriCloud