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

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

isci: kill device_sequence



Now that we have upleveled device reassignment protection to the
isci_remote_device reference count we no longer need this level of
self-defense.

Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent f2088267
Loading
Loading
Loading
Loading
+0 −9
Original line number Original line Diff line number Diff line
@@ -187,15 +187,6 @@ struct scic_sds_controller {
	/* sequence number per tci */
	/* sequence number per tci */
	u8 io_request_sequence[SCI_MAX_IO_REQUESTS];
	u8 io_request_sequence[SCI_MAX_IO_REQUESTS];


	/**
	 * This field in the array of sequence values for the RNi.  These are used
	 * to control io request build to io request start operations.  The sequence
	 * value is recorded into an io request when it is built and is checked on
	 * the io request start operation to make sure that there was not a device
	 * hot plug between the build and start operation.
	 */
	u8 remote_device_sequence[SCI_MAX_REMOTE_DEVICES];

	/**
	/**
	 * This field is a pointer to the memory allocated by the driver for the task
	 * This field is a pointer to the memory allocated by the driver for the task
	 * context table.  This data is shared between the hardware and software.
	 * context table.  This data is shared between the hardware and software.
+0 −2
Original line number Original line Diff line number Diff line
@@ -887,8 +887,6 @@ static void scic_sds_remote_device_ready_state_enter(struct sci_base_state_machi
	struct isci_remote_device *idev = sci_dev_to_idev(sci_dev);
	struct isci_remote_device *idev = sci_dev_to_idev(sci_dev);
	struct domain_device *dev = idev->domain_dev;
	struct domain_device *dev = idev->domain_dev;


	scic->remote_device_sequence[sci_dev->rnc.remote_node_index]++;

	if (dev->dev_type == SATA_DEV || (dev->tproto & SAS_PROTOCOL_SATA)) {
	if (dev->dev_type == SATA_DEV || (dev->tproto & SAS_PROTOCOL_SATA)) {
		sci_change_state(&sci_dev->sm, SCI_STP_DEV_IDLE);
		sci_change_state(&sci_dev->sm, SCI_STP_DEV_IDLE);
	} else if (dev_is_expander(dev)) {
	} else if (dev_is_expander(dev)) {
+0 −11
Original line number Original line Diff line number Diff line
@@ -410,17 +410,6 @@ static inline bool dev_is_expander(struct domain_device *dev)
#define scic_sds_remote_device_get_port(sci_dev) \
#define scic_sds_remote_device_get_port(sci_dev) \
	((sci_dev)->owning_port)
	((sci_dev)->owning_port)


/**
 * scic_sds_remote_device_get_sequence() -
 *
 * This macro returns the remote device sequence value
 */
#define scic_sds_remote_device_get_sequence(sci_dev) \
	(\
		scic_sds_remote_device_get_controller(sci_dev)-> \
		remote_device_sequence[(sci_dev)->rnc.remote_node_index] \
	)

/**
/**
 * scic_sds_remote_device_get_controller_peg() -
 * scic_sds_remote_device_get_controller_peg() -
 *
 *
+0 −5
Original line number Original line Diff line number Diff line
@@ -753,10 +753,6 @@ enum sci_status scic_sds_request_start(struct scic_sds_request *sci_req)
	struct scu_task_context *task_context;
	struct scu_task_context *task_context;
	enum sci_base_request_states state;
	enum sci_base_request_states state;


	if (sci_req->device_sequence !=
	    scic_sds_remote_device_get_sequence(sci_req->target_device))
		return SCI_FAILURE;

	state = sci_req->sm.current_state_id;
	state = sci_req->sm.current_state_id;
	if (state != SCI_REQ_CONSTRUCTED) {
	if (state != SCI_REQ_CONSTRUCTED) {
		dev_warn(scic_to_dev(scic),
		dev_warn(scic_to_dev(scic),
@@ -3112,7 +3108,6 @@ scic_sds_general_request_construct(struct scic_sds_controller *scic,
	sci_req->target_device = sci_dev;
	sci_req->target_device = sci_dev;
	sci_req->protocol = SCIC_NO_PROTOCOL;
	sci_req->protocol = SCIC_NO_PROTOCOL;
	sci_req->saved_rx_frame_index = SCU_INVALID_FRAME_INDEX;
	sci_req->saved_rx_frame_index = SCU_INVALID_FRAME_INDEX;
	sci_req->device_sequence = scic_sds_remote_device_get_sequence(sci_dev);


	sci_req->sci_status   = SCI_SUCCESS;
	sci_req->sci_status   = SCI_SUCCESS;
	sci_req->scu_status   = 0;
	sci_req->scu_status   = 0;
+0 −9
Original line number Original line Diff line number Diff line
@@ -231,14 +231,6 @@ struct scic_sds_request {
	 */
	 */
	u32 saved_rx_frame_index;
	u32 saved_rx_frame_index;


	/*
	 * This field in the recorded device sequence for the io request.
	 * This is recorded during the build operation and is compared in the
	 * start operation.  If the sequence is different then there was a
	 * change of devices from the build to start operations.
	 */
	u8 device_sequence;

	union {
	union {
		struct {
		struct {
			union {
			union {
@@ -262,7 +254,6 @@ struct scic_sds_request {
			struct dev_to_host_fis rsp;
			struct dev_to_host_fis rsp;
		} stp;
		} stp;
	};
	};

};
};


static inline struct scic_sds_request *to_sci_req(struct scic_sds_stp_request *stp_req)
static inline struct scic_sds_request *to_sci_req(struct scic_sds_stp_request *stp_req)