1285242Sachim/******************************************************************************* 2285242Sachim*Copyright (c) 2014 PMC-Sierra, Inc. All rights reserved. 3285242Sachim* 4285242Sachim*Redistribution and use in source and binary forms, with or without modification, are permitted provided 5285242Sachim*that the following conditions are met: 6285242Sachim*1. Redistributions of source code must retain the above copyright notice, this list of conditions and the 7285242Sachim*following disclaimer. 8285242Sachim*2. Redistributions in binary form must reproduce the above copyright notice, 9285242Sachim*this list of conditions and the following disclaimer in the documentation and/or other materials provided 10285242Sachim*with the distribution. 11285242Sachim* 12285242Sachim*THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED 13285242Sachim*WARRANTIES,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 14285242Sachim*FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 15285242Sachim*FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 16285242Sachim*NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 17285242Sachim*BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 18285242Sachim*LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 19285242Sachim*SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE 20285242Sachim 21285242Sachim********************************************************************************/ 22285242Sachim/*******************************************************************************/ 23285242Sachim/** \file 24285242Sachim * 25285242Sachim * $RCSfile: ttdglobl.h,v $ 26285242Sachim * 27285242Sachim * Copyright 2006 PMC-Sierra, Inc. 28285242Sachim * 29285242Sachim * $Author: vempatin $ 30285242Sachim * $Revision: 113679 $ 31285242Sachim * $Date: 2012-04-16 14:35:19 -0700 (Mon, 16 Apr 2012) $ 32285242Sachim * 33285242Sachim * #define for SAS target in SAS/SATA TD layer 34285242Sachim * 35285242Sachim */ 36285242Sachim 37285242Sachim 38285242Sachim#ifndef __TTD_GLOBALS_H__ 39285242Sachim 40285242Sachim#define __TTD_GLOBALS_H__ 41285242Sachim 42285242Sachim/* 43285242Sachim * Transport Target specific default parameters. 44285242Sachim */ 45285242Sachim#define DEFAULT_XCHGS 256 46285242Sachim#define DEFAULT_TGT_TIMER_TICK 1000000 /* 1 second */ 47285242Sachim#define DEFAULT_MAX_TARGETS 256 48285242Sachim#define DEFAULT_BLOCK_SIZE 512 49285242Sachim 50285242Sachim 51285242Sachim/* Exchange field accessors */ 52285242Sachim#define TD_XCHG_CONTEXT(ti_root) (&TD_GET_TITGT_CONTEXT(ti_root)->ttdsaXchgData) 53285242Sachim#define TD_XCHG_CONTEXT_MAX_NUM_XCHGS(ti_root) (TD_XCHG_CONTEXT(ti_root)->maxNumXchgs) 54285242Sachim#define TD_XCHG_CONTEXT_NO_USED(ti_root) (TD_XCHG_CONTEXT(ti_root)->noUsed) 55285242Sachim#define TD_XCHG_CONTEXT_NO_FREED(ti_root) (TD_XCHG_CONTEXT(ti_root)->noFreed) 56285242Sachim#define TD_XCHG_CONTEXT_NO_CMD_RCVD(ti_root) (TD_XCHG_CONTEXT(ti_root)->noCmdRcvd) 57285242Sachim#define TD_XCHG_CONTEXT_NO_START_IO(ti_root) (TD_XCHG_CONTEXT(ti_root)->noStartIo) 58285242Sachim#define TD_XCHG_CONTEXT_NO_SEND_RSP(ti_root) (TD_XCHG_CONTEXT(ti_root)->noSendRsp) 59285242Sachim#define TD_XCHG_CONTEXT_NO_IO_COMPLETED(ti_root) (TD_XCHG_CONTEXT(ti_root)->noCompleted) 60285242Sachim 61285242Sachim#define TD_XCHG_GET_CONTEXT(ti_request) ((ttdsaXchg_t *)(ti_request)->tdData) 62285242Sachim#define TD_XCHG_GET_STATE(xchg) (xchg->state) 63285242Sachim#define TD_XCHG_SET_STATE(xchg, val) (xchg->state) = (val) 64285242Sachim 65285242Sachim#define TD_XCHG_STATE_ACTIVE 1 66285242Sachim#define TD_XCHG_STATE_INACTIVE 0 67285242Sachim 68285242Sachim#define READ_GOOD_RESPONSE 0x1 69285242Sachim#define WRITE_GOOD_RESPONSE 0x2 70285242Sachim 71285242Sachim#endif /* __TTD_GLOBALS_H__ */ 72