tws.c (cca5be248f1a85e258ece93b4d828e5aebdef009) | tws.c (a21f086a3316346ba04f9381bf10e463a8328394) |
---|---|
1/*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 2010, LSI Corp. 5 * All rights reserved. 6 * Author : Manjunath Ranganathaiah 7 * Support: freebsdraid@lsi.com 8 * --- 335 unchanged lines hidden (view full) --- 344 345/* Detach device. */ 346 347static int 348tws_detach(device_t dev) 349{ 350 struct tws_softc *sc = device_get_softc(dev); 351 int i; | 1/*- 2 * SPDX-License-Identifier: BSD-3-Clause 3 * 4 * Copyright (c) 2010, LSI Corp. 5 * All rights reserved. 6 * Author : Manjunath Ranganathaiah 7 * Support: freebsdraid@lsi.com 8 * --- 335 unchanged lines hidden (view full) --- 344 345/* Detach device. */ 346 347static int 348tws_detach(device_t dev) 349{ 350 struct tws_softc *sc = device_get_softc(dev); 351 int i; |
352 u_int32_t reg; | 352 u_int32_t reg __diagused; |
353 354 TWS_TRACE_DEBUG(sc, "entry", 0, 0); 355 356 mtx_lock(&sc->gen_lock); 357 tws_send_event(sc, TWS_UNINIT_START); 358 mtx_unlock(&sc->gen_lock); 359 360 /* needs to disable interrupt before detaching from cam */ --- 86 unchanged lines hidden (view full) --- 447 } 448 return(SUCCESS); 449 450} 451 452int 453tws_teardown_intr(struct tws_softc *sc) 454{ | 353 354 TWS_TRACE_DEBUG(sc, "entry", 0, 0); 355 356 mtx_lock(&sc->gen_lock); 357 tws_send_event(sc, TWS_UNINIT_START); 358 mtx_unlock(&sc->gen_lock); 359 360 /* needs to disable interrupt before detaching from cam */ --- 86 unchanged lines hidden (view full) --- 447 } 448 return(SUCCESS); 449 450} 451 452int 453tws_teardown_intr(struct tws_softc *sc) 454{ |
455 int i, error; | 455 int i; |
456 457 for(i=0;i<sc->irqs;i++) { 458 if (sc->intr_handle[i]) { | 456 457 for(i=0;i<sc->irqs;i++) { 458 if (sc->intr_handle[i]) { |
459 error = bus_teardown_intr(sc->tws_dev, | 459 bus_teardown_intr(sc->tws_dev, |
460 sc->irq_res[i], sc->intr_handle[i]); 461 sc->intr_handle[i] = NULL; 462 } 463 } 464 return(SUCCESS); 465} 466 467static int --- 36 unchanged lines hidden (view full) --- 504} 505 506static int 507tws_init(struct tws_softc *sc) 508{ 509 510 u_int32_t max_sg_elements; 511 u_int32_t dma_mem_size; | 460 sc->irq_res[i], sc->intr_handle[i]); 461 sc->intr_handle[i] = NULL; 462 } 463 } 464 return(SUCCESS); 465} 466 467static int --- 36 unchanged lines hidden (view full) --- 504} 505 506static int 507tws_init(struct tws_softc *sc) 508{ 509 510 u_int32_t max_sg_elements; 511 u_int32_t dma_mem_size; |
512 int error; | |
513 u_int32_t reg; 514 515 sc->seq_id = 0; 516 if ( tws_queue_depth > TWS_MAX_REQS ) 517 tws_queue_depth = TWS_MAX_REQS; 518 if (tws_queue_depth < TWS_RESERVED_REQS+1) 519 tws_queue_depth = TWS_RESERVED_REQS+1; 520 sc->is64bit = (sizeof(bus_addr_t) == 8) ? true : false; --- 43 unchanged lines hidden (view full) --- 564 if (bus_dmamem_alloc(sc->cmd_tag, &sc->dma_mem, 565 BUS_DMA_NOWAIT, &sc->cmd_map)) { 566 TWS_TRACE_DEBUG(sc, "DMA mem alloc fail", max_sg_elements, sc->is64bit); 567 return(ENOMEM); 568 } 569 570 /* if bus_dmamem_alloc succeeds then bus_dmamap_load will succeed */ 571 sc->dma_mem_phys=0; | 512 u_int32_t reg; 513 514 sc->seq_id = 0; 515 if ( tws_queue_depth > TWS_MAX_REQS ) 516 tws_queue_depth = TWS_MAX_REQS; 517 if (tws_queue_depth < TWS_RESERVED_REQS+1) 518 tws_queue_depth = TWS_RESERVED_REQS+1; 519 sc->is64bit = (sizeof(bus_addr_t) == 8) ? true : false; --- 43 unchanged lines hidden (view full) --- 563 if (bus_dmamem_alloc(sc->cmd_tag, &sc->dma_mem, 564 BUS_DMA_NOWAIT, &sc->cmd_map)) { 565 TWS_TRACE_DEBUG(sc, "DMA mem alloc fail", max_sg_elements, sc->is64bit); 566 return(ENOMEM); 567 } 568 569 /* if bus_dmamem_alloc succeeds then bus_dmamap_load will succeed */ 570 sc->dma_mem_phys=0; |
572 error = bus_dmamap_load(sc->cmd_tag, sc->cmd_map, sc->dma_mem, | 571 bus_dmamap_load(sc->cmd_tag, sc->cmd_map, sc->dma_mem, |
573 dma_mem_size, tws_dmamap_cmds_load_cbfn, 574 &sc->dma_mem_phys, 0); 575 576 /* 577 * Create a dma tag for data buffers; size will be the maximum 578 * possible I/O size (128kB). 579 */ 580 if (bus_dma_tag_create(sc->parent_tag, /* parent */ --- 313 unchanged lines hidden --- | 572 dma_mem_size, tws_dmamap_cmds_load_cbfn, 573 &sc->dma_mem_phys, 0); 574 575 /* 576 * Create a dma tag for data buffers; size will be the maximum 577 * possible I/O size (128kB). 578 */ 579 if (bus_dma_tag_create(sc->parent_tag, /* parent */ --- 313 unchanged lines hidden --- |