Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 890cae9b authored by Maciej Patelczyk's avatar Maciej Patelczyk Committed by Dan Williams
Browse files

isci: Removed sci_base_object from scic_sds_request.



The 'struct sci_base_object' was removed from the struct
scic_sds_request and was replaced by a pointer to
struct isci_request.

Signed-off-by: default avatarMaciej Patelczyk <maciej.patelczyk@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent af23e857
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ void scic_word_copy_with_swap(

void *scic_request_get_virt_addr(struct scic_sds_request *sci_req, dma_addr_t phys_addr)
{
	struct isci_request *ireq = sci_object_get_association(sci_req);
	struct isci_request *ireq = sci_req->ireq;
	dma_addr_t offset;

	BUG_ON(phys_addr < ireq->request_daddr);
@@ -87,8 +87,7 @@ void *scic_request_get_virt_addr(struct scic_sds_request *sci_req, dma_addr_t ph
dma_addr_t scic_io_request_get_dma_addr(struct scic_sds_request *sds_request,
					void *virt_addr)
{
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sds_request);
	struct isci_request *isci_request = sds_request->ireq;

	char *requested_addr = (char *)virt_addr;
	char *base_addr = (char *)isci_request;
+17 −25
Original line number Diff line number Diff line
@@ -253,8 +253,7 @@ static struct scu_sgl_element_pair *scic_sds_request_get_sgl_element_pair(
 */
void scic_sds_request_build_sgl(struct scic_sds_request *sds_request)
{
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sds_request);
	struct isci_request *isci_request = sds_request->ireq;
	struct isci_host *isci_host = isci_request->isci_host;
	struct sas_task *task = isci_request_access_task(isci_request);
	struct scatterlist *sg = NULL;
@@ -359,8 +358,7 @@ static void scic_sds_io_request_build_ssp_command_iu(
	struct sci_ssp_command_iu *command_frame;
	u32 cdb_length;
	u32 *cdb_buffer;
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sds_request);
	struct isci_request *isci_request = sds_request->ireq;

	command_frame =
		(struct sci_ssp_command_iu *)sds_request->command_buffer;
@@ -403,8 +401,7 @@ static void scic_sds_task_request_build_ssp_task_iu(
	struct scic_sds_request *sds_request)
{
	struct sci_ssp_task_iu *command_frame;
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sds_request);
	struct isci_request *isci_request = sds_request->ireq;

	command_frame =
		(struct sci_ssp_task_iu *)sds_request->command_buffer;
@@ -700,8 +697,7 @@ u32 scic_io_request_get_object_size(void)
enum sci_status scic_io_request_construct_basic_ssp(
	struct scic_sds_request *sci_req)
{
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sci_req);
	struct isci_request *isci_request = sci_req->ireq;

	sci_req->protocol = SCIC_SSP_PROTOCOL;

@@ -744,8 +740,7 @@ enum sci_status scic_io_request_construct_basic_sata(
	u32 len;
	enum dma_data_direction dir;
	bool copy = false;
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sci_req);
	struct isci_request *isci_request = sci_req->ireq;
	struct sas_task *task = isci_request_access_task(isci_request);

	stp_req = container_of(sci_req, typeof(*stp_req), parent);
@@ -772,8 +767,7 @@ enum sci_status scic_task_request_construct_sata(
{
	enum sci_status status;
	u8 sat_protocol;
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sci_req);
	struct isci_request *isci_request = sci_req->ireq;

	sat_protocol = isci_sata_get_sat_protocol(isci_request);

@@ -1002,8 +996,7 @@ void scic_sds_io_request_copy_response(struct scic_sds_request *sds_request)
	u32 user_response_length;
	u32 core_response_length;
	struct sci_ssp_response_iu *ssp_response;
	struct isci_request *isci_request =
		(struct isci_request *)sci_object_get_association(sds_request);
	struct isci_request *isci_request = sds_request->ireq;

	ssp_response =
		(struct sci_ssp_response_iu *)sds_request->response_buffer;
@@ -1523,7 +1516,7 @@ static const struct scic_sds_io_request_state_handler scic_sds_request_state_han
 */
static void scic_sds_request_initial_state_enter(void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
@@ -1542,7 +1535,7 @@ static void scic_sds_request_initial_state_enter(void *object)
 */
static void scic_sds_request_constructed_state_enter(void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
@@ -1562,7 +1555,7 @@ static void scic_sds_request_constructed_state_enter(void *object)
 */
static void scic_sds_request_started_state_enter(void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
@@ -1589,7 +1582,7 @@ static void scic_sds_request_started_state_enter(void *object)
 */
static void scic_sds_request_started_state_exit(void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	if (sci_req->has_started_substate_machine == true)
		sci_base_state_machine_stop(&sci_req->started_substate_machine);
@@ -1609,11 +1602,11 @@ static void scic_sds_request_started_state_exit(void *object)
 */
static void scic_sds_request_completed_state_enter(void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;
	struct scic_sds_controller *scic =
		scic_sds_request_get_controller(sci_req);
	struct isci_host *ihost = scic->ihost;
	struct isci_request *ireq = sci_object_get_association(sci_req);
	struct isci_request *ireq = sci_req->ireq;

	SET_STATE_HANDLER(sci_req,
			  scic_sds_request_state_handler_table,
@@ -1639,7 +1632,7 @@ static void scic_sds_request_completed_state_enter(void *object)
 */
static void scic_sds_request_aborting_state_enter(void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	/* Setting the abort bit in the Task Context is required by the silicon. */
	sci_req->task_context_buffer->abort = 1;
@@ -1662,7 +1655,7 @@ static void scic_sds_request_aborting_state_enter(void *object)
 */
static void scic_sds_request_final_state_enter(void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
@@ -1699,8 +1692,7 @@ static void scic_sds_general_request_construct(struct scic_sds_controller *scic,
					       void *user_io_request_object,
					       struct scic_sds_request *sci_req)
{
	sci_req->parent.private = NULL;
	sci_base_state_machine_construct(&sci_req->state_machine, &sci_req->parent,
	sci_base_state_machine_construct(&sci_req->state_machine, sci_req,
			scic_sds_request_state_table, SCI_BASE_REQUEST_STATE_INITIAL);
	sci_base_state_machine_start(&sci_req->state_machine);

@@ -1790,7 +1782,7 @@ enum sci_status scic_task_request_construct(struct scic_sds_controller *scic,
		/* Construct the started sub-state machine. */
		sci_base_state_machine_construct(
			&sci_req->started_substate_machine,
			&sci_req->parent,
			sci_req,
			scic_sds_io_request_started_task_mgmt_substate_table,
			SCIC_SDS_IO_REQUEST_STARTED_TASK_MGMT_SUBSTATE_AWAIT_TC_COMPLETION
			);
+3 −3
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ enum scic_sds_smp_request_started_substates {
	SCIC_SDS_SMP_REQUEST_STARTED_SUBSTATE_AWAIT_TC_COMPLETION,
};

struct isci_request;
/**
 * struct scic_sds_request - This structure contains or references all of
 *    the data necessary to process a task management or normal IO request.
@@ -126,10 +127,9 @@ enum scic_sds_smp_request_started_substates {
 */
struct scic_sds_request {
	/**
	 * The field specifies that the parent object for the base request is the
	 * base object itself.
	 * The field specifies that the peer object for the request object.
	 */
	struct sci_base_object parent;
	struct isci_request *ireq;

	/**
	 * This field contains the information for the base request state machine.
+3 −3
Original line number Diff line number Diff line
@@ -525,7 +525,7 @@ static const struct scic_sds_io_request_state_handler scic_sds_smp_request_start
static void scic_sds_smp_request_started_await_response_substate_enter(
	void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
@@ -546,7 +546,7 @@ static void scic_sds_smp_request_started_await_response_substate_enter(
static void scic_sds_smp_request_started_await_tc_completion_substate_enter(
	void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
@@ -590,7 +590,7 @@ enum sci_status scic_io_request_construct_smp(struct scic_sds_request *sci_req)
	/* Construct the started sub-state machine. */
	sci_base_state_machine_construct(
		&sci_req->started_substate_machine,
		&sci_req->parent,
		sci_req,
		scic_sds_smp_request_started_substate_table,
		SCIC_SDS_SMP_REQUEST_STARTED_SUBSTATE_AWAIT_RESPONSE
		);
+2 −2
Original line number Diff line number Diff line
@@ -202,7 +202,7 @@ static const struct scic_sds_io_request_state_handler scic_sds_ssp_task_request_
static void scic_sds_io_request_started_task_mgmt_await_tc_completion_substate_enter(
	void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
@@ -223,7 +223,7 @@ static void scic_sds_io_request_started_task_mgmt_await_tc_completion_substate_e
static void scic_sds_io_request_started_task_mgmt_await_task_response_substate_enter(
	void *object)
{
	struct scic_sds_request *sci_req = (struct scic_sds_request *)object;
	struct scic_sds_request *sci_req = object;

	SET_STATE_HANDLER(
		sci_req,
Loading