• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/aic7xxx/

Lines Matching defs:scb_data

589 			if (ahc->scb_data->recovery_scbs == 0
925 ahc->scb_data->hscbs[scbptr].tag);
2150 for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
3948 if (ahc->scb_data == NULL) {
3949 ahc->scb_data = malloc(sizeof(*ahc->scb_data),
3951 if (ahc->scb_data == NULL)
3953 memset(ahc->scb_data, 0, sizeof(*ahc->scb_data));
4269 for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
4313 struct scb_data *scb_data;
4315 scb_data = ahc->scb_data;
4316 SLIST_INIT(&scb_data->free_scbs);
4317 SLIST_INIT(&scb_data->sg_maps);
4320 scb_data->scbarray =
4323 if (scb_data->scbarray == NULL)
4325 memset(scb_data->scbarray, 0, sizeof(struct scb) * AHC_SCB_MAX_ALLOC);
4329 scb_data->maxhscbs = ahc_probe_scbs(ahc);
4330 if (ahc->scb_data->maxhscbs == 0) {
4354 /*flags*/0, &scb_data->hscb_dmat) != 0) {
4358 scb_data->init_level++;
4361 if (aic_dmamem_alloc(ahc, scb_data->hscb_dmat,
4362 (void **)&scb_data->hscbs,
4364 &scb_data->hscb_dmamap) != 0) {
4368 scb_data->init_level++;
4371 aic_dmamap_load(ahc, scb_data->hscb_dmat, scb_data->hscb_dmamap,
4372 scb_data->hscbs,
4374 ahc_dmamap_cb, &scb_data->hscb_busaddr, /*flags*/0);
4376 scb_data->init_level++;
4387 /*flags*/0, &scb_data->sense_dmat) != 0) {
4391 scb_data->init_level++;
4394 if (aic_dmamem_alloc(ahc, scb_data->sense_dmat,
4395 (void **)&scb_data->sense,
4396 BUS_DMA_NOWAIT, &scb_data->sense_dmamap) != 0) {
4400 scb_data->init_level++;
4403 aic_dmamap_load(ahc, scb_data->sense_dmat, scb_data->sense_dmamap,
4404 scb_data->sense,
4406 ahc_dmamap_cb, &scb_data->sense_busaddr, /*flags*/0);
4408 scb_data->init_level++;
4418 /*flags*/0, &scb_data->sg_dmat) != 0) {
4422 scb_data->init_level++;
4425 memset(scb_data->hscbs, 0,
4430 if (scb_data->numscbs == 0) {
4455 struct scb_data *scb_data;
4457 scb_data = ahc->scb_data;
4458 if (scb_data == NULL)
4461 switch (scb_data->init_level) {
4467 while ((sg_map = SLIST_FIRST(&scb_data->sg_maps))!= NULL) {
4468 SLIST_REMOVE_HEAD(&scb_data->sg_maps, links);
4469 aic_dmamap_unload(ahc, scb_data->sg_dmat,
4471 aic_dmamem_free(ahc, scb_data->sg_dmat,
4476 aic_dma_tag_destroy(ahc, scb_data->sg_dmat);
4479 aic_dmamap_unload(ahc, scb_data->sense_dmat,
4480 scb_data->sense_dmamap);
4482 aic_dmamem_free(ahc, scb_data->sense_dmat, scb_data->sense,
4483 scb_data->sense_dmamap);
4485 aic_dma_tag_destroy(ahc, scb_data->sense_dmat);
4487 aic_dmamap_unload(ahc, scb_data->hscb_dmat,
4488 scb_data->hscb_dmamap);
4490 aic_dmamem_free(ahc, scb_data->hscb_dmat, scb_data->hscbs,
4491 scb_data->hscb_dmamap);
4493 aic_dma_tag_destroy(ahc, scb_data->hscb_dmat);
4498 if (scb_data->scbarray != NULL)
4499 free(scb_data->scbarray, M_DEVBUF);
4505 struct scb_data *scb_data;
4513 scb_data = ahc->scb_data;
4514 if (scb_data->numscbs >= AHC_SCB_MAX_ALLOC)
4518 next_scb = &scb_data->scbarray[scb_data->numscbs];
4526 if (aic_dmamem_alloc(ahc, scb_data->sg_dmat,
4534 SLIST_INSERT_HEAD(&scb_data->sg_maps, sg_map, links);
4536 aic_dmamap_load(ahc, scb_data->sg_dmat, sg_map->sg_dmamap,
4544 newcount = MIN(newcount, (AHC_SCB_MAX_ALLOC - scb_data->numscbs));
4570 next_scb->hscb = &scb_data->hscbs[scb_data->numscbs];
4571 next_scb->hscb->tag = ahc->scb_data->numscbs;
4573 SLIST_INSERT_HEAD(&ahc->scb_data->free_scbs,
4578 ahc->scb_data->numscbs++;
4619 ahc->scb_data->maxhscbs, AHC_MAX_QUEUE);
4621 sprintf(buf, "%d SCBs", ahc->scb_data->maxhscbs);
4701 physaddr = ahc->scb_data->hscb_busaddr;
4948 if (ahc->scb_data->maxhscbs == 0)
4978 if (ahc->scb_data->maxhscbs < AHC_SCB_MAX_ALLOC) {
5532 ahc->scb_data->scbindex[scb->hscb->tag] = NULL;
5558 if (scb_index >= ahc->scb_data->numscbs) {
5561 scb_index, ahc->scb_data->numscbs);
5739 if (scb_index >= ahc->scb_data->numscbs) {
5742 scb_index, ahc->scb_data->numscbs);
5964 for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
6774 printf("\nSCB count = %d\n", ahc->scb_data->numscbs);
6832 for (i = 0; i < ahc->scb_data->maxhscbs; i++) {
6865 SLIST_FOREACH(scb, &ahc->scb_data->free_scbs, links.sle) {
7075 && (active_scb_index < ahc->scb_data->numscbs)) {