From 11c88986290712fc3ae6993af85a0f9a15886278 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 17 Feb 2011 15:01:46 -0800 Subject: [PATCH] isci: remove SCIC_DEBUG_ENABLED, and fixup an odd macro This will be replaced by state machine tracepoints and should have been a part of the logger removal. Ran across scic_sds_port_decrement_request_count() which is an ugly macro which silently hides accounting errors. Turn it into a WARN_ONCE to see if it ever triggers. Signed-off-by: Dan Williams --- drivers/scsi/isci/core/scic_sds_phy.c | 99 -------------------------- drivers/scsi/isci/core/scic_sds_phy.h | 23 ------ drivers/scsi/isci/core/scic_sds_port.c | 13 ---- drivers/scsi/isci/core/scic_sds_port.h | 48 ++++--------- 4 files changed, 15 insertions(+), 168 deletions(-) diff --git a/drivers/scsi/isci/core/scic_sds_phy.c b/drivers/scsi/isci/core/scic_sds_phy.c index 01da46ae270a..d9213e215beb 100644 --- a/drivers/scsi/isci/core/scic_sds_phy.c +++ b/drivers/scsi/isci/core/scic_sds_phy.c @@ -267,101 +267,6 @@ static void scic_sds_phy_sata_timeout(void *phy) ); } -/* - * ***************************************************************************** - * * SCIC SDS PHY External Methods - * ***************************************************************************** */ - -/** - * This method returns the object size for a phy object. - * - * u32 - */ - -/** - * This method returns the minimum number of timers required for a phy object. - * - * u32 - */ - -/** - * This method returns the maximum number of timers required for a phy object. - * - * u32 - */ - -#ifdef SCIC_DEBUG_ENABLED -/** - * scic_sds_phy_observe_state_change() - - * @our_observer: - * - * Debug code to record the state transitions in the phy - */ -void scic_sds_phy_observe_state_change( - struct sci_base_observer *our_observer, - struct sci_base_subject *the_subject) -{ - struct scic_sds_phy *this_phy; - struct sci_base_state_machine *the_state_machine; - - u8 transition_requestor; - u32 base_state_id; - u32 starting_substate_id; - - the_state_machine = (struct sci_base_state_machine *)the_subject; - this_phy = (struct scic_sds_phy *)the_state_machine->state_machine_owner; - - if (the_state_machine == &this_phy->parent.state_machine) { - transition_requestor = 0x01; - } else if (the_state_machine == &this_phy->starting_substate_machine) { - transition_requestor = 0x02; - } else { - transition_requestor = 0xFF; - } - - base_state_id = - sci_base_state_machine_get_state(&this_phy->parent.state_machine); - starting_substate_id = - sci_base_state_machine_get_state(&this_phy->starting_substate_machine); - - this_phy->state_record.state_transition_table[ - this_phy->state_record.index++] = ((transition_requestor << 24) - | ((u8)base_state_id << 8) - | ((u8)starting_substate_id)); - - this_phy->state_record.index = - this_phy->state_record.index & (MAX_STATE_TRANSITION_RECORD - 1); - -} -#endif /* SCIC_DEBUG_ENABLED */ - -#ifdef SCIC_DEBUG_ENABLED -/** - * scic_sds_phy_initialize_state_recording() - - * - * This method initializes the state record debug information for the phy - * object. The state machines for the phy object must be constructed before - * this function is called. - */ -void scic_sds_phy_initialize_state_recording( - struct scic_sds_phy *this_phy) -{ - this_phy->state_record.index = 0; - - sci_base_observer_initialize( - &this_phy->state_record.base_state_observer, - scic_sds_phy_observe_state_change, - &this_phy->parent.state_machine.parent - ); - - sci_base_observer_initialize( - &this_phy->state_record.starting_state_observer, - scic_sds_phy_observe_state_change, - &this_phy->starting_substate_machine.parent - ); -} -#endif /* SCIC_DEBUG_ENABLED */ - /** * This method will construct the struct scic_sds_phy object * @this_phy: @@ -400,10 +305,6 @@ void scic_sds_phy_construct( scic_sds_phy_starting_substates, SCIC_SDS_PHY_STARTING_SUBSTATE_INITIAL ); - - #ifdef SCIC_DEBUG_ENABLED - scic_sds_phy_initialize_state_recording(this_phy); - #endif /* SCIC_DEBUG_ENABLED */ } /** diff --git a/drivers/scsi/isci/core/scic_sds_phy.h b/drivers/scsi/isci/core/scic_sds_phy.h index d9691b30e457..3b88259d7c87 100644 --- a/drivers/scsi/isci/core/scic_sds_phy.h +++ b/drivers/scsi/isci/core/scic_sds_phy.h @@ -156,25 +156,6 @@ enum SCIC_SDS_PHY_STARTING_SUBSTATES { struct scic_sds_port; struct scic_sds_controller; -#ifdef SCIC_DEBUG_ENABLED -#define MAX_STATE_TRANSITION_RECORD (256) - -/** - * - * - * Debug code to record the state transitions for the phy object - */ -struct scic_sds_phy_state_record { - struct sci_base_observer base_state_observer; - struct sci_base_observer starting_state_observer; - - u16 index; - - u32 state_transition_table[MAX_STATE_TRANSITION_RECORD]; - -}; -#endif /* SCIC_DEBUG_ENABLED */ - /** * This enumeration provides a named phy type for the state machine * @@ -271,10 +252,6 @@ struct scic_sds_phy { struct sci_base_state_machine starting_substate_machine; - #ifdef SCIC_DEBUG_ENABLED - struct scic_sds_phy_state_record state_record; - #endif /* SCIC_DEBUG_ENABLED */ - /** * This field points to the link layer register set within the SCU. */ diff --git a/drivers/scsi/isci/core/scic_sds_port.c b/drivers/scsi/isci/core/scic_sds_port.c index 9749e3abbf8e..ff06f8cb15b8 100644 --- a/drivers/scsi/isci/core/scic_sds_port.c +++ b/drivers/scsi/isci/core/scic_sds_port.c @@ -974,19 +974,6 @@ static void scic_sds_port_timeout_handler(void *port) /* --------------------------------------------------------------------------- */ -#ifdef SCIC_DEBUG_ENABLED -void scic_sds_port_decrement_request_count(struct scic_sds_port *this_port) -{ - if (this_port->started_request_count == 0) - dev_warn(sciport_to_dev(this_port), - __func__, - "%s: SCIC Port object requested to decrement started " - "io count past zero.\n"); - else - this_port->started_request_count--; -} -#endif - /** * This function updates the hardwares VIIT entry for this port. * diff --git a/drivers/scsi/isci/core/scic_sds_port.h b/drivers/scsi/isci/core/scic_sds_port.h index bbb9de5228ed..56c15fcbeb8d 100644 --- a/drivers/scsi/isci/core/scic_sds_port.h +++ b/drivers/scsi/isci/core/scic_sds_port.h @@ -63,6 +63,7 @@ * */ +#include #include "sci_controller_constants.h" #include "intel_sas.h" #include "sci_base_port.h" @@ -286,40 +287,21 @@ extern struct scic_sds_port_state_handler scic_sds_port_ready_substate_handler_t #define scic_sds_port_get_index(this_port) \ ((this_port)->physical_port_index) -/** - * scic_sds_port_increment_request_count() - - * - * Helper macro to increment the started request count - */ -#define scic_sds_port_increment_request_count(this_port) \ - ((this_port)->started_request_count++) -#ifdef SCIC_DEBUG_ENABLED -/** - * scic_sds_port_decrement_request_count() - This method decrements the started - * io request count. The method will not decrment the started io request - * count below 0 and will log a debug message if this is attempted. - * - * - */ -void scic_sds_port_decrement_request_count( - struct scic_sds_port *this_port); -#else -/** - * scic_sds_port_decrement_request_count() - - * - * Helper macro to decrement the started io request count. The macro will not - * decrement the started io request count below 0. - */ -#define scic_sds_port_decrement_request_count(this_port) \ - (\ - (this_port)->started_request_count = (\ - ((this_port)->started_request_count == 0) ? \ - (this_port)->started_request_count : \ - ((this_port)->started_request_count - 1) \ - ) \ - ) -#endif +static inline void scic_sds_port_increment_request_count(struct scic_sds_port *sci_port) +{ + sci_port->started_request_count++; +} + +static inline void scic_sds_port_decrement_request_count(struct scic_sds_port *sci_port) +{ + if (WARN_ONCE(sci_port->started_request_count == 0, + "%s: tried to decrement started_request_count past 0!?", + __func__)) + /* pass */; + else + sci_port->started_request_count--; +} /** * scic_sds_port_write_phy_assignment() - -- 2.39.2