Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/aacraid/aacraid.c
Show First 20 Lines • Show All 573 Lines • ▼ Show 20 Lines | aac_alloc(struct aac_softc *sc) | ||||
*/ | */ | ||||
if (bus_dma_tag_create(sc->aac_parent_dmat, /* parent */ | if (bus_dma_tag_create(sc->aac_parent_dmat, /* parent */ | ||||
1, 0, /* algnmnt, boundary */ | 1, 0, /* algnmnt, boundary */ | ||||
(sc->flags & AAC_FLAGS_SG_64BIT) ? | (sc->flags & AAC_FLAGS_SG_64BIT) ? | ||||
BUS_SPACE_MAXADDR : | BUS_SPACE_MAXADDR : | ||||
BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ | BUS_SPACE_MAXADDR_32BIT, /* lowaddr */ | ||||
BUS_SPACE_MAXADDR, /* highaddr */ | BUS_SPACE_MAXADDR, /* highaddr */ | ||||
NULL, NULL, /* filter, filterarg */ | NULL, NULL, /* filter, filterarg */ | ||||
sc->aac_max_sectors << 9, /* maxsize */ | AAC_MAXIO_SIZE(sc), /* maxsize */ | ||||
sc->aac_sg_tablesize, /* nsegments */ | sc->aac_sg_tablesize, /* nsegments */ | ||||
BUS_SPACE_MAXSIZE_32BIT, /* maxsegsize */ | BUS_SPACE_MAXSIZE_32BIT, /* maxsegsize */ | ||||
BUS_DMA_ALLOCNOW, /* flags */ | BUS_DMA_ALLOCNOW, /* flags */ | ||||
busdma_lock_mutex, /* lockfunc */ | busdma_lock_mutex, /* lockfunc */ | ||||
&sc->aac_io_lock, /* lockfuncarg */ | &sc->aac_io_lock, /* lockfuncarg */ | ||||
&sc->aac_buffer_dmat)) { | &sc->aac_buffer_dmat)) { | ||||
device_printf(sc->aac_dev, "can't allocate buffer DMA tag\n"); | device_printf(sc->aac_dev, "can't allocate buffer DMA tag\n"); | ||||
return (ENOMEM); | return (ENOMEM); | ||||
▲ Show 20 Lines • Show All 1,211 Lines • ▼ Show 20 Lines | aac_init(struct aac_softc *sc) | ||||
if (sc->aac_support_opt2 & AAC_SUPPORTED_POWER_MANAGEMENT) { | if (sc->aac_support_opt2 & AAC_SUPPORTED_POWER_MANAGEMENT) { | ||||
ip->InitFlags |= AAC_INITFLAGS_DRIVER_SUPPORTS_PM; | ip->InitFlags |= AAC_INITFLAGS_DRIVER_SUPPORTS_PM; | ||||
ip->InitFlags |= AAC_INITFLAGS_DRIVER_USES_UTC_TIME; | ip->InitFlags |= AAC_INITFLAGS_DRIVER_USES_UTC_TIME; | ||||
device_printf(sc->aac_dev, "Power Management enabled\n"); | device_printf(sc->aac_dev, "Power Management enabled\n"); | ||||
} | } | ||||
ip->MaxIoCommands = sc->aac_max_fibs; | ip->MaxIoCommands = sc->aac_max_fibs; | ||||
ip->MaxIoSize = sc->aac_max_sectors << 9; | ip->MaxIoSize = AAC_MAXIO_SIZE(sc); | ||||
ip->MaxFibSize = sc->aac_max_fib_size; | ip->MaxFibSize = sc->aac_max_fib_size; | ||||
aac_adapter_init_tole(ip); | aac_adapter_init_tole(ip); | ||||
/* | /* | ||||
* Do controller-type-specific initialisation | * Do controller-type-specific initialisation | ||||
*/ | */ | ||||
AAC_MEM0_SETREG4(sc, AAC_SRC_ODBR_C, ~0); | AAC_MEM0_SETREG4(sc, AAC_SRC_ODBR_C, ~0); | ||||
▲ Show 20 Lines • Show All 2,110 Lines • Show Last 20 Lines |