Date: Sun, 11 Aug 2013 07:00:43 +0000 (UTC) From: Alexander Motin <mav@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r254208 - in projects/camlock/sys/cam: . ata scsi Message-ID: <201308110700.r7B70hnJ008393@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mav Date: Sun Aug 11 07:00:43 2013 New Revision: 254208 URL: http://svnweb.freebsd.org/changeset/base/254208 Log: Reduce number of SIM entry points via sim_action() method call. Modified: projects/camlock/sys/cam/ata/ata_xpt.c projects/camlock/sys/cam/cam_xpt.c projects/camlock/sys/cam/scsi/scsi_xpt.c Modified: projects/camlock/sys/cam/ata/ata_xpt.c ============================================================================== --- projects/camlock/sys/cam/ata/ata_xpt.c Sun Aug 11 06:57:57 2013 (r254207) +++ projects/camlock/sys/cam/ata/ata_xpt.c Sun Aug 11 07:00:43 2013 (r254208) @@ -1779,7 +1779,7 @@ ata_get_transfer_settings(struct ccb_tra device = cts->ccb_h.path->device; sim = cts->ccb_h.path->bus->sim; - (*(sim->sim_action))(sim, (union ccb *)cts); + xpt_action_default((union ccb *)cts); if (cts->protocol == PROTO_UNKNOWN || cts->protocol == PROTO_UNSPECIFIED) { @@ -1941,7 +1941,7 @@ ata_set_transfer_settings(struct ccb_tra } if (async_update == FALSE) - (*(sim->sim_action))(sim, (union ccb *)cts); + xpt_action_default((union ccb *)cts); } /* Modified: projects/camlock/sys/cam/cam_xpt.c ============================================================================== --- projects/camlock/sys/cam/cam_xpt.c Sun Aug 11 06:57:57 2013 (r254207) +++ projects/camlock/sys/cam/cam_xpt.c Sun Aug 11 07:00:43 2013 (r254208) @@ -2408,6 +2408,7 @@ void xpt_action_default(union ccb *start_ccb) { struct cam_path *path; + struct cam_sim *sim; path = start_ccb->ccb_h.path; CAM_DEBUG(path, CAM_DEBUG_TRACE, ("xpt_action_default\n")); @@ -2468,9 +2469,6 @@ xpt_action_default(union ccb *start_ccb) break; } case XPT_CALC_GEOMETRY: - { - struct cam_sim *sim; - /* Filter out garbage */ if (start_ccb->ccg.block_size == 0 || start_ccb->ccg.volume_size == 0) { @@ -2498,10 +2496,7 @@ xpt_action_default(union ccb *start_ccb) break; } #endif - sim = path->bus->sim; - (*(sim->sim_action))(sim, start_ccb); - break; - } + goto call_sim; case XPT_ABORT: { union ccb* abort_ccb; @@ -2562,21 +2557,13 @@ xpt_action_default(union ccb *start_ccb) case XPT_NOTIFY_ACKNOWLEDGE: case XPT_GET_SIM_KNOB: case XPT_SET_SIM_KNOB: - { - struct cam_sim *sim; - - sim = path->bus->sim; - (*(sim->sim_action))(sim, start_ccb); - break; - } + case XPT_GET_TRAN_SETTINGS: + case XPT_SET_TRAN_SETTINGS: case XPT_PATH_INQ: - { - struct cam_sim *sim; - +call_sim: sim = path->bus->sim; (*(sim->sim_action))(sim, start_ccb); break; - } case XPT_PATH_STATS: start_ccb->cpis.last_reset = path->bus->last_reset; start_ccb->ccb_h.status = CAM_REQ_CMP; Modified: projects/camlock/sys/cam/scsi/scsi_xpt.c ============================================================================== --- projects/camlock/sys/cam/scsi/scsi_xpt.c Sun Aug 11 06:57:57 2013 (r254207) +++ projects/camlock/sys/cam/scsi/scsi_xpt.c Sun Aug 11 07:00:43 2013 (r254208) @@ -2525,14 +2525,6 @@ scsi_action(union ccb *start_ccb) start_ccb->ccb_h.path, start_ccb->crcn.flags, start_ccb); break; - case XPT_GET_TRAN_SETTINGS: - { - struct cam_sim *sim; - - sim = start_ccb->ccb_h.path->bus->sim; - (*(sim->sim_action))(sim, start_ccb); - break; - } case XPT_DEV_ADVINFO: { scsi_dev_advinfo(start_ccb); @@ -2620,7 +2612,7 @@ scsi_set_transfer_settings(struct ccb_tr */ if (cts->protocol != PROTO_SCSI) { if (async_update == FALSE) - (*(sim->sim_action))(sim, (union ccb *)cts); + xpt_action_default((union ccb *)cts); return; } @@ -2810,7 +2802,7 @@ scsi_set_transfer_settings(struct ccb_tr } } if (async_update == FALSE) - (*(sim->sim_action))(sim, (union ccb *)cts); + xpt_action_default((union ccb *)cts); } static void
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308110700.r7B70hnJ008393>