Deleted Added
full compact
tw_cl_init.c (208969) tw_cl_init.c (212008)
1/*
2 * Copyright (c) 2004-07 Applied Micro Circuits Corporation.
3 * Copyright (c) 2004-05 Vinod Kashyap
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
1/*
2 * Copyright (c) 2004-07 Applied Micro Circuits Corporation.
3 * Copyright (c) 2004-05 Vinod Kashyap
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 10 unchanged lines hidden (view full) ---

19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGE.
26 *
27 * $FreeBSD: head/sys/dev/twa/tw_cl_init.c 208969 2010-06-09 21:40:38Z delphij $
27 * $FreeBSD: head/sys/dev/twa/tw_cl_init.c 212008 2010-08-30 19:15:04Z delphij $
28 */
29
30/*
31 * AMCC'S 3ware driver for 9000 series storage controllers.
32 *
33 * Author: Vinod Kashyap
34 * Modifications by: Adam Radford
35 * Modifications by: Manjunath Ranganathaiah

--- 274 unchanged lines hidden (view full) ---

310 ctlr->max_simult_reqs = max_simult_reqs;
311 ctlr->max_aens_supported = max_aens;
312
313 /* Initialize queues of CL internal request context packets. */
314 tw_cli_req_q_init(ctlr, TW_CLI_FREE_Q);
315 tw_cli_req_q_init(ctlr, TW_CLI_BUSY_Q);
316 tw_cli_req_q_init(ctlr, TW_CLI_PENDING_Q);
317 tw_cli_req_q_init(ctlr, TW_CLI_COMPLETE_Q);
28 */
29
30/*
31 * AMCC'S 3ware driver for 9000 series storage controllers.
32 *
33 * Author: Vinod Kashyap
34 * Modifications by: Adam Radford
35 * Modifications by: Manjunath Ranganathaiah

--- 274 unchanged lines hidden (view full) ---

310 ctlr->max_simult_reqs = max_simult_reqs;
311 ctlr->max_aens_supported = max_aens;
312
313 /* Initialize queues of CL internal request context packets. */
314 tw_cli_req_q_init(ctlr, TW_CLI_FREE_Q);
315 tw_cli_req_q_init(ctlr, TW_CLI_BUSY_Q);
316 tw_cli_req_q_init(ctlr, TW_CLI_PENDING_Q);
317 tw_cli_req_q_init(ctlr, TW_CLI_COMPLETE_Q);
318 tw_cli_req_q_init(ctlr, TW_CLI_RESET_Q);
318
319 /* Initialize all locks used by CL. */
320 ctlr->gen_lock = &(ctlr->gen_lock_handle);
321 tw_osl_init_lock(ctlr_handle, "tw_cl_gen_lock", ctlr->gen_lock);
322 ctlr->io_lock = &(ctlr->io_lock_handle);
323 tw_osl_init_lock(ctlr_handle, "tw_cl_io_lock", ctlr->io_lock);
324
325 /* Initialize CL internal request context packets. */

--- 344 unchanged lines hidden (view full) ---

670 init_connect->fw_branch = TW_CL_SWAP16(current_fw_branch);
671 init_connect->fw_build = TW_CL_SWAP16(current_fw_build);
672 } else
673 init_connect->size = 3;
674
675 /* Submit the command, and wait for it to complete. */
676 error = tw_cli_submit_and_poll_request(req,
677 TW_CLI_REQUEST_TIMEOUT_PERIOD);
319
320 /* Initialize all locks used by CL. */
321 ctlr->gen_lock = &(ctlr->gen_lock_handle);
322 tw_osl_init_lock(ctlr_handle, "tw_cl_gen_lock", ctlr->gen_lock);
323 ctlr->io_lock = &(ctlr->io_lock_handle);
324 tw_osl_init_lock(ctlr_handle, "tw_cl_io_lock", ctlr->io_lock);
325
326 /* Initialize CL internal request context packets. */

--- 344 unchanged lines hidden (view full) ---

671 init_connect->fw_branch = TW_CL_SWAP16(current_fw_branch);
672 init_connect->fw_build = TW_CL_SWAP16(current_fw_build);
673 } else
674 init_connect->size = 3;
675
676 /* Submit the command, and wait for it to complete. */
677 error = tw_cli_submit_and_poll_request(req,
678 TW_CLI_REQUEST_TIMEOUT_PERIOD);
678 if (error == TW_OSL_ETIMEDOUT)
679 /* Clean-up done by tw_cli_submit_and_poll_request. */
680 return(error);
681 if (error)
682 goto out;
683 if ((error = init_connect->status)) {
679 if (error)
680 goto out;
681 if ((error = init_connect->status)) {
682#if 0
684 tw_cli_create_ctlr_event(ctlr,
685 TW_CL_MESSAGE_SOURCE_CONTROLLER_ERROR,
686 &(req->cmd_pkt->cmd_hdr));
683 tw_cli_create_ctlr_event(ctlr,
684 TW_CL_MESSAGE_SOURCE_CONTROLLER_ERROR,
685 &(req->cmd_pkt->cmd_hdr));
686#endif // 0
687 goto out;
688 }
689 if (set_features & TWA_EXTENDED_INIT_CONNECT) {
690 *fw_on_ctlr_srl = TW_CL_SWAP16(init_connect->fw_srl);
691 *fw_on_ctlr_arch_id = TW_CL_SWAP16(init_connect->fw_arch_id);
692 *fw_on_ctlr_branch = TW_CL_SWAP16(init_connect->fw_branch);
693 *fw_on_ctlr_build = TW_CL_SWAP16(init_connect->fw_build);
694 *init_connect_result = TW_CL_SWAP32(init_connect->result);

--- 16 unchanged lines hidden ---
687 goto out;
688 }
689 if (set_features & TWA_EXTENDED_INIT_CONNECT) {
690 *fw_on_ctlr_srl = TW_CL_SWAP16(init_connect->fw_srl);
691 *fw_on_ctlr_arch_id = TW_CL_SWAP16(init_connect->fw_arch_id);
692 *fw_on_ctlr_branch = TW_CL_SWAP16(init_connect->fw_branch);
693 *fw_on_ctlr_build = TW_CL_SWAP16(init_connect->fw_build);
694 *init_connect_result = TW_CL_SWAP32(init_connect->result);

--- 16 unchanged lines hidden ---