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

Commit d1c637c3 authored by Dan Williams's avatar Dan Williams
Browse files

isci: unify request frame handlers



Unify the implementation in scic_sds_io_request_frame_handler and kill
the state handler.

Reported-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent f4636a7b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -310,8 +310,7 @@ enum sci_status scic_sds_remote_device_frame_handler(struct scic_sds_remote_devi
		sci_req = scic_request_by_tag(scic, be16_to_cpu(hdr.tag));
		if (sci_req && sci_req->target_device == sci_dev) {
			/* The IO request is now in charge of releasing the frame */
			status = sci_req->state_handlers->frame_handler(sci_req,
									frame_index);
			status = scic_sds_io_request_frame_handler(sci_req, frame_index);
		} else {
			/* We could not map this tag to a valid IO
			 * request Just toss the frame and continue
+464 −642

File changed.

Preview size limit exceeded, changes collapsed.

+0 −6
Original line number Diff line number Diff line
@@ -424,8 +424,6 @@ enum sci_base_request_states {

typedef enum sci_status (*scic_sds_io_request_handler_t)
				(struct scic_sds_request *request);
typedef enum sci_status (*scic_sds_io_request_frame_handler_t)
				(struct scic_sds_request *req, u32 frame);
typedef enum sci_status (*scic_sds_io_request_event_handler_t)
				(struct scic_sds_request *req, u32 event);
typedef enum sci_status (*scic_sds_io_request_task_completion_handler_t)
@@ -446,7 +444,6 @@ struct scic_sds_io_request_state_handler {

	scic_sds_io_request_task_completion_handler_t tc_completion_handler;
	scic_sds_io_request_event_handler_t event_handler;
	scic_sds_io_request_frame_handler_t frame_handler;
};

/**
@@ -839,9 +836,6 @@ enum sci_status scic_task_request_construct(struct scic_sds_controller *scic,
					    struct scic_sds_request *sci_req);
enum sci_status scic_task_request_construct_ssp(struct scic_sds_request *sci_req);
enum sci_status scic_task_request_construct_sata(struct scic_sds_request *sci_req);
enum sci_status scic_sds_stp_udma_request_construct(struct scic_sds_request *sci_req,
						    u32 transfer_length,
						    enum dma_data_direction dir);
void scic_stp_io_request_set_ncq_tag(struct scic_sds_request *sci_req, u16 ncq_tag);
void scic_sds_smp_request_copy_response(struct scic_sds_request *sci_req);
#endif /* !defined(_ISCI_REQUEST_H_) */