svn commit: r231861 - in stable/7: . share/man/man4 sys/amd64/conf
sys/conf sys/dev/isci sys/dev/isci/scil sys/i386/conf
sys/modules sys/modules/isci
Sean Bruno
sbruno at FreeBSD.org
Fri Feb 17 06:58:41 UTC 2012
Author: sbruno
Date: Fri Feb 17 06:58:40 2012
New Revision: 231861
URL: http://svn.freebsd.org/changeset/base/231861
Log:
MFC isci(4) SAS driver
r230843, 231134, 231136, 231296, 231615, 231693, 231860
Obtained from: Intel (Jim Harris jimharris@)
Added:
stable/7/share/man/man4/isci.4 (contents, props changed)
- copied, changed from r230843, head/share/man/man4/isci.4
stable/7/sys/dev/isci/
- copied from r230843, head/sys/dev/isci/
stable/7/sys/modules/isci/
- copied from r230843, head/sys/modules/isci/
Modified:
stable/7/MAINTAINERS (contents, props changed)
stable/7/share/man/man4/Makefile
stable/7/sys/amd64/conf/GENERIC
stable/7/sys/amd64/conf/NOTES
stable/7/sys/conf/files.amd64
stable/7/sys/conf/files.i386
stable/7/sys/conf/options.amd64
stable/7/sys/conf/options.i386
stable/7/sys/dev/isci/isci.h (contents, props changed)
stable/7/sys/dev/isci/isci_controller.c (contents, props changed)
stable/7/sys/dev/isci/isci_io_request.c (contents, props changed)
stable/7/sys/dev/isci/isci_remote_device.c (contents, props changed)
stable/7/sys/dev/isci/scil/sati_abort_task_set.c (contents, props changed)
stable/7/sys/dev/isci/scil/scic_sds_controller.c (contents, props changed)
stable/7/sys/dev/isci/scil/scic_sds_stp_request.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_controller.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_controller_state_handlers.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_domain.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_io_request.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device_ready_substates.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_smp_io_request.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_smp_remote_device.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_stp_io_request.c (contents, props changed)
stable/7/sys/dev/isci/scil/scif_sas_stp_task_request.c (contents, props changed)
stable/7/sys/i386/conf/GENERIC
stable/7/sys/i386/conf/NOTES
stable/7/sys/modules/Makefile
stable/7/sys/modules/isci/Makefile (contents, props changed)
Directory Properties:
stable/7/ (props changed)
stable/7/share/man/man4/ (props changed)
stable/7/sys/ (props changed)
stable/7/sys/dev/isci/README (props changed)
stable/7/sys/dev/isci/environment.h (props changed)
stable/7/sys/dev/isci/isci.c (props changed)
stable/7/sys/dev/isci/isci_domain.c (props changed)
stable/7/sys/dev/isci/isci_interrupt.c (props changed)
stable/7/sys/dev/isci/isci_logger.c (props changed)
stable/7/sys/dev/isci/isci_oem_parameters.c (props changed)
stable/7/sys/dev/isci/isci_sysctl.c (props changed)
stable/7/sys/dev/isci/isci_task_request.c (props changed)
stable/7/sys/dev/isci/isci_timer.c (props changed)
stable/7/sys/dev/isci/sci_environment.h (props changed)
stable/7/sys/dev/isci/scil/intel_ata.h (props changed)
stable/7/sys/dev/isci/scil/intel_pci.h (props changed)
stable/7/sys/dev/isci/scil/intel_sas.h (props changed)
stable/7/sys/dev/isci/scil/intel_sat.h (props changed)
stable/7/sys/dev/isci/scil/intel_sata.h (props changed)
stable/7/sys/dev/isci/scil/intel_scsi.h (props changed)
stable/7/sys/dev/isci/scil/sati.c (props changed)
stable/7/sys/dev/isci/scil/sati.h (props changed)
stable/7/sys/dev/isci/scil/sati_abort_task_set.h (props changed)
stable/7/sys/dev/isci/scil/sati_atapi.c (props changed)
stable/7/sys/dev/isci/scil/sati_atapi.h (props changed)
stable/7/sys/dev/isci/scil/sati_callbacks.h (props changed)
stable/7/sys/dev/isci/scil/sati_design.h (props changed)
stable/7/sys/dev/isci/scil/sati_device.c (props changed)
stable/7/sys/dev/isci/scil/sati_device.h (props changed)
stable/7/sys/dev/isci/scil/sati_inquiry.c (props changed)
stable/7/sys/dev/isci/scil/sati_inquiry.h (props changed)
stable/7/sys/dev/isci/scil/sati_log_sense.c (props changed)
stable/7/sys/dev/isci/scil/sati_log_sense.h (props changed)
stable/7/sys/dev/isci/scil/sati_lun_reset.c (props changed)
stable/7/sys/dev/isci/scil/sati_lun_reset.h (props changed)
stable/7/sys/dev/isci/scil/sati_mode_pages.c (props changed)
stable/7/sys/dev/isci/scil/sati_mode_pages.h (props changed)
stable/7/sys/dev/isci/scil/sati_mode_select.c (props changed)
stable/7/sys/dev/isci/scil/sati_mode_select.h (props changed)
stable/7/sys/dev/isci/scil/sati_mode_sense.c (props changed)
stable/7/sys/dev/isci/scil/sati_mode_sense.h (props changed)
stable/7/sys/dev/isci/scil/sati_mode_sense_10.c (props changed)
stable/7/sys/dev/isci/scil/sati_mode_sense_10.h (props changed)
stable/7/sys/dev/isci/scil/sati_mode_sense_6.c (props changed)
stable/7/sys/dev/isci/scil/sati_mode_sense_6.h (props changed)
stable/7/sys/dev/isci/scil/sati_move.c (props changed)
stable/7/sys/dev/isci/scil/sati_move.h (props changed)
stable/7/sys/dev/isci/scil/sati_passthrough.c (props changed)
stable/7/sys/dev/isci/scil/sati_passthrough.h (props changed)
stable/7/sys/dev/isci/scil/sati_read.c (props changed)
stable/7/sys/dev/isci/scil/sati_read.h (props changed)
stable/7/sys/dev/isci/scil/sati_read_buffer.c (props changed)
stable/7/sys/dev/isci/scil/sati_read_buffer.h (props changed)
stable/7/sys/dev/isci/scil/sati_read_capacity.c (props changed)
stable/7/sys/dev/isci/scil/sati_read_capacity.h (props changed)
stable/7/sys/dev/isci/scil/sati_reassign_blocks.c (props changed)
stable/7/sys/dev/isci/scil/sati_reassign_blocks.h (props changed)
stable/7/sys/dev/isci/scil/sati_report_luns.c (props changed)
stable/7/sys/dev/isci/scil/sati_report_luns.h (props changed)
stable/7/sys/dev/isci/scil/sati_request_sense.c (props changed)
stable/7/sys/dev/isci/scil/sati_request_sense.h (props changed)
stable/7/sys/dev/isci/scil/sati_start_stop_unit.c (props changed)
stable/7/sys/dev/isci/scil/sati_start_stop_unit.h (props changed)
stable/7/sys/dev/isci/scil/sati_synchronize_cache.c (props changed)
stable/7/sys/dev/isci/scil/sati_synchronize_cache.h (props changed)
stable/7/sys/dev/isci/scil/sati_test_unit_ready.c (props changed)
stable/7/sys/dev/isci/scil/sati_test_unit_ready.h (props changed)
stable/7/sys/dev/isci/scil/sati_translator_sequence.h (props changed)
stable/7/sys/dev/isci/scil/sati_types.h (props changed)
stable/7/sys/dev/isci/scil/sati_unmap.c (props changed)
stable/7/sys/dev/isci/scil/sati_unmap.h (props changed)
stable/7/sys/dev/isci/scil/sati_util.c (props changed)
stable/7/sys/dev/isci/scil/sati_util.h (props changed)
stable/7/sys/dev/isci/scil/sati_verify.c (props changed)
stable/7/sys/dev/isci/scil/sati_verify.h (props changed)
stable/7/sys/dev/isci/scil/sati_write.c (props changed)
stable/7/sys/dev/isci/scil/sati_write.h (props changed)
stable/7/sys/dev/isci/scil/sati_write_and_verify.c (props changed)
stable/7/sys/dev/isci/scil/sati_write_and_verify.h (props changed)
stable/7/sys/dev/isci/scil/sati_write_buffer.c (props changed)
stable/7/sys/dev/isci/scil/sati_write_buffer.h (props changed)
stable/7/sys/dev/isci/scil/sati_write_long.c (props changed)
stable/7/sys/dev/isci/scil/sati_write_long.h (props changed)
stable/7/sys/dev/isci/scil/sci_abstract_list.c (props changed)
stable/7/sys/dev/isci/scil/sci_abstract_list.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_controller.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_controller.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_domain.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_domain.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_iterator.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_iterator.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_library.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_library.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_logger.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_logger.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_memory_descriptor_list.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_memory_descriptor_list.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_memory_descriptor_list_decorator.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_object.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_object.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_observer.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_observer.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_phy.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_phy.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_port.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_port.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_remote_device.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_remote_device.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_request.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_request.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_state.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_state_machine.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_state_machine.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_state_machine_logger.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_state_machine_logger.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_state_machine_observer.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_state_machine_observer.h (props changed)
stable/7/sys/dev/isci/scil/sci_base_subject.c (props changed)
stable/7/sys/dev/isci/scil/sci_base_subject.h (props changed)
stable/7/sys/dev/isci/scil/sci_controller.h (props changed)
stable/7/sys/dev/isci/scil/sci_controller_constants.h (props changed)
stable/7/sys/dev/isci/scil/sci_fast_list.h (props changed)
stable/7/sys/dev/isci/scil/sci_iterator.h (props changed)
stable/7/sys/dev/isci/scil/sci_library.h (props changed)
stable/7/sys/dev/isci/scil/sci_logger.h (props changed)
stable/7/sys/dev/isci/scil/sci_memory_descriptor_list.h (props changed)
stable/7/sys/dev/isci/scil/sci_memory_descriptor_list_decorator.h (props changed)
stable/7/sys/dev/isci/scil/sci_object.h (props changed)
stable/7/sys/dev/isci/scil/sci_overview.h (props changed)
stable/7/sys/dev/isci/scil/sci_pool.h (props changed)
stable/7/sys/dev/isci/scil/sci_simple_list.h (props changed)
stable/7/sys/dev/isci/scil/sci_status.h (props changed)
stable/7/sys/dev/isci/scil/sci_types.h (props changed)
stable/7/sys/dev/isci/scil/sci_util.c (props changed)
stable/7/sys/dev/isci/scil/sci_util.h (props changed)
stable/7/sys/dev/isci/scil/scic_config_parameters.h (props changed)
stable/7/sys/dev/isci/scil/scic_controller.h (props changed)
stable/7/sys/dev/isci/scil/scic_io_request.h (props changed)
stable/7/sys/dev/isci/scil/scic_library.h (props changed)
stable/7/sys/dev/isci/scil/scic_logger.h (props changed)
stable/7/sys/dev/isci/scil/scic_overview.h (props changed)
stable/7/sys/dev/isci/scil/scic_phy.h (props changed)
stable/7/sys/dev/isci/scil/scic_port.h (props changed)
stable/7/sys/dev/isci/scil/scic_remote_device.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_controller.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_controller_registers.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_library.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_library.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_logger.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_pci.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_pci.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_phy.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_phy.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_phy_registers.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_port.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_port.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_port_configuration_agent.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_port_configuration_agent.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_port_registers.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_remote_device.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_remote_device.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_remote_node_context.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_remote_node_context.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_remote_node_table.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_remote_node_table.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_request.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_request.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_sgpio.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_smp_remote_device.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_smp_request.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_smp_request.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_ssp_request.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_stp_packet_request.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_stp_packet_request.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_stp_pio_request.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_stp_remote_device.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_stp_request.h (props changed)
stable/7/sys/dev/isci/scil/scic_sds_unsolicited_frame_control.c (props changed)
stable/7/sys/dev/isci/scil/scic_sds_unsolicited_frame_control.h (props changed)
stable/7/sys/dev/isci/scil/scic_sgpio.h (props changed)
stable/7/sys/dev/isci/scil/scic_task_request.h (props changed)
stable/7/sys/dev/isci/scil/scic_user_callback.h (props changed)
stable/7/sys/dev/isci/scil/scif_config_parameters.h (props changed)
stable/7/sys/dev/isci/scil/scif_controller.h (props changed)
stable/7/sys/dev/isci/scil/scif_domain.h (props changed)
stable/7/sys/dev/isci/scil/scif_io_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_library.h (props changed)
stable/7/sys/dev/isci/scil/scif_logger.h (props changed)
stable/7/sys/dev/isci/scil/scif_overview.h (props changed)
stable/7/sys/dev/isci/scil/scif_remote_device.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_constants.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_controller.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_controller_states.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_design.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_domain.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_domain_state_handlers.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_domain_states.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_high_priority_request_queue.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_high_priority_request_queue.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_internal_io_request.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_internal_io_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_io_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_io_request_state_handlers.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_io_request_states.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_library.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_library.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_logger.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device_starting_substates.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device_state_handlers.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_remote_device_states.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_request.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_sati_binding.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_smp_io_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_smp_phy.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_smp_phy.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_smp_remote_device.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_stp_io_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_stp_remote_device.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_stp_remote_device.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_stp_task_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_task_request.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_task_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_sas_task_request_state_handlers.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_task_request_states.c (props changed)
stable/7/sys/dev/isci/scil/scif_sas_timer.c (props changed)
stable/7/sys/dev/isci/scil/scif_task_request.h (props changed)
stable/7/sys/dev/isci/scil/scif_user_callback.h (props changed)
stable/7/sys/dev/isci/scil/scu_bios_definitions.h (props changed)
stable/7/sys/dev/isci/scil/scu_completion_codes.h (props changed)
stable/7/sys/dev/isci/scil/scu_constants.h (props changed)
stable/7/sys/dev/isci/scil/scu_event_codes.h (props changed)
stable/7/sys/dev/isci/scil/scu_registers.h (props changed)
stable/7/sys/dev/isci/scil/scu_remote_node_context.h (props changed)
stable/7/sys/dev/isci/scil/scu_task_context.h (props changed)
stable/7/sys/dev/isci/scil/scu_unsolicited_frame.h (props changed)
stable/7/sys/dev/isci/scil/scu_viit_data.h (props changed)
stable/7/sys/dev/isci/types.h (props changed)
Modified: stable/7/MAINTAINERS
==============================================================================
--- stable/7/MAINTAINERS Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/MAINTAINERS Fri Feb 17 06:58:40 2012 (r231861)
@@ -129,6 +129,7 @@ gnu/usr.bin/send-pr bugmaster Pre-commit
BSD.{local,x11*}.dist portmgr Pre-commit review requested, since these files interface with ports.
usb core Please contact core@ before any major changes
ncurses rafan Heads-up appreciated, try not to break it.
+isci(4) jimharris Pre-commit review requested.
Following are the entries from the Makefiles, and a few other sources.
Please remove stale entries from both their origin, and this file.
Modified: stable/7/share/man/man4/Makefile
==============================================================================
--- stable/7/share/man/man4/Makefile Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/share/man/man4/Makefile Fri Feb 17 06:58:40 2012 (r231861)
@@ -142,6 +142,7 @@ MAN= aac.4 \
ips.4 \
ipsec.4 \
ipw.4 \
+ isci.4 \
iscsi_initiator.4 \
isp.4 \
ispfw.4 \
Copied and modified: stable/7/share/man/man4/isci.4 (from r230843, head/share/man/man4/isci.4)
==============================================================================
--- head/share/man/man4/isci.4 Tue Jan 31 19:38:18 2012 (r230843, copy source)
+++ stable/7/share/man/man4/isci.4 Fri Feb 17 06:58:40 2012 (r231861)
@@ -57,7 +57,7 @@ The
.Nm
driver provides support for Intel C600
.Tn SAS
-controller.
+controllers.
.Sh CONFIGURATION
To force legacy interrupts for all
.Nm
@@ -77,9 +77,11 @@ hw.isci.debug_level
variable to a value between 1 and 4 in
.Xr loader.conf 5 .
.Pp
-The hardware layer in the isci driver has extensive logging capabilities
-which are disabled by default for performance reasons. These can be enabled
-by adding
+The hardware layer in the
+.Nm
+driver has extensive logging capabilities
+which are disabled by default for performance reasons.
+These can be enabled by adding
.Bd -literal -offset indent
options ISCI_LOGGING
.Ed
@@ -91,12 +93,12 @@ to the kernel configuration file.
.Xr da 4 ,
.Xr pci 4 ,
.Xr sa 4 ,
-.Xr scsi 4 .
+.Xr scsi 4
.Sh HISTORY
The
.Nm
driver first appeared in
-.Fx 10.0 .
+.Fx 8.3 and 9.1 .
.Sh AUTHORS
.An -nosplit
The
Modified: stable/7/sys/amd64/conf/GENERIC
==============================================================================
--- stable/7/sys/amd64/conf/GENERIC Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/amd64/conf/GENERIC Fri Feb 17 06:58:40 2012 (r231861)
@@ -110,6 +110,7 @@ device adv # Advansys SCSI adapters
device adw # Advansys wide SCSI adapters
device aic # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
device bt # Buslogic/Mylex MultiMaster SCSI adapters
+device isci # Intel C600 SAS controller
# SCSI peripherals
Modified: stable/7/sys/amd64/conf/NOTES
==============================================================================
--- stable/7/sys/amd64/conf/NOTES Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/amd64/conf/NOTES Fri Feb 17 06:58:40 2012 (r231861)
@@ -391,6 +391,11 @@ device hptiop
device ips
#
+# Intel C600 (Patsburg) integrated SAS controller
+device isci
+options ISCI_LOGGING # enable debugging in isci HAL
+
+#
# SafeNet crypto driver: can be moved to the MI NOTES as soon as
# it's tested on a big-endian machine
#
Modified: stable/7/sys/conf/files.amd64
==============================================================================
--- stable/7/sys/conf/files.amd64 Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/conf/files.amd64 Fri Feb 17 06:58:40 2012 (r231861)
@@ -207,6 +207,115 @@ dev/syscons/scvgarndr.c optional sc vga
dev/syscons/scvtb.c optional sc
dev/uart/uart_cpu_amd64.c optional uart
dev/wpi/if_wpi.c optional wpi
+dev/isci/isci.c optional isci
+dev/isci/isci_controller.c optional isci
+dev/isci/isci_domain.c optional isci
+dev/isci/isci_interrupt.c optional isci
+dev/isci/isci_io_request.c optional isci
+dev/isci/isci_logger.c optional isci
+dev/isci/isci_oem_parameters.c optional isci
+dev/isci/isci_remote_device.c optional isci
+dev/isci/isci_sysctl.c optional isci
+dev/isci/isci_task_request.c optional isci
+dev/isci/isci_timer.c optional isci
+dev/isci/scil/sati.c optional isci
+dev/isci/scil/sati_abort_task_set.c optional isci
+dev/isci/scil/sati_atapi.c optional isci
+dev/isci/scil/sati_device.c optional isci
+dev/isci/scil/sati_inquiry.c optional isci
+dev/isci/scil/sati_log_sense.c optional isci
+dev/isci/scil/sati_lun_reset.c optional isci
+dev/isci/scil/sati_mode_pages.c optional isci
+dev/isci/scil/sati_mode_select.c optional isci
+dev/isci/scil/sati_mode_sense.c optional isci
+dev/isci/scil/sati_mode_sense_10.c optional isci
+dev/isci/scil/sati_mode_sense_6.c optional isci
+dev/isci/scil/sati_move.c optional isci
+dev/isci/scil/sati_passthrough.c optional isci
+dev/isci/scil/sati_read.c optional isci
+dev/isci/scil/sati_read_buffer.c optional isci
+dev/isci/scil/sati_read_capacity.c optional isci
+dev/isci/scil/sati_reassign_blocks.c optional isci
+dev/isci/scil/sati_report_luns.c optional isci
+dev/isci/scil/sati_request_sense.c optional isci
+dev/isci/scil/sati_start_stop_unit.c optional isci
+dev/isci/scil/sati_synchronize_cache.c optional isci
+dev/isci/scil/sati_test_unit_ready.c optional isci
+dev/isci/scil/sati_unmap.c optional isci
+dev/isci/scil/sati_util.c optional isci
+dev/isci/scil/sati_verify.c optional isci
+dev/isci/scil/sati_write.c optional isci
+dev/isci/scil/sati_write_and_verify.c optional isci
+dev/isci/scil/sati_write_buffer.c optional isci
+dev/isci/scil/sati_write_long.c optional isci
+dev/isci/scil/sci_abstract_list.c optional isci
+dev/isci/scil/sci_base_controller.c optional isci
+dev/isci/scil/sci_base_domain.c optional isci
+dev/isci/scil/sci_base_iterator.c optional isci
+dev/isci/scil/sci_base_library.c optional isci
+dev/isci/scil/sci_base_logger.c optional isci
+dev/isci/scil/sci_base_memory_descriptor_list.c optional isci
+dev/isci/scil/sci_base_memory_descriptor_list_decorator.c optional isci
+dev/isci/scil/sci_base_object.c optional isci
+dev/isci/scil/sci_base_observer.c optional isci
+dev/isci/scil/sci_base_phy.c optional isci
+dev/isci/scil/sci_base_port.c optional isci
+dev/isci/scil/sci_base_remote_device.c optional isci
+dev/isci/scil/sci_base_request.c optional isci
+dev/isci/scil/sci_base_state_machine.c optional isci
+dev/isci/scil/sci_base_state_machine_logger.c optional isci
+dev/isci/scil/sci_base_state_machine_observer.c optional isci
+dev/isci/scil/sci_base_subject.c optional isci
+dev/isci/scil/sci_util.c optional isci
+dev/isci/scil/scic_sds_controller.c optional isci
+dev/isci/scil/scic_sds_library.c optional isci
+dev/isci/scil/scic_sds_pci.c optional isci
+dev/isci/scil/scic_sds_phy.c optional isci
+dev/isci/scil/scic_sds_port.c optional isci
+dev/isci/scil/scic_sds_port_configuration_agent.c optional isci
+dev/isci/scil/scic_sds_remote_device.c optional isci
+dev/isci/scil/scic_sds_remote_node_context.c optional isci
+dev/isci/scil/scic_sds_remote_node_table.c optional isci
+dev/isci/scil/scic_sds_request.c optional isci
+dev/isci/scil/scic_sds_sgpio.c optional isci
+dev/isci/scil/scic_sds_smp_remote_device.c optional isci
+dev/isci/scil/scic_sds_smp_request.c optional isci
+dev/isci/scil/scic_sds_ssp_request.c optional isci
+dev/isci/scil/scic_sds_stp_packet_request.c optional isci
+dev/isci/scil/scic_sds_stp_remote_device.c optional isci
+dev/isci/scil/scic_sds_stp_request.c optional isci
+dev/isci/scil/scic_sds_unsolicited_frame_control.c optional isci
+dev/isci/scil/scif_sas_controller.c optional isci
+dev/isci/scil/scif_sas_controller_state_handlers.c optional isci
+dev/isci/scil/scif_sas_controller_states.c optional isci
+dev/isci/scil/scif_sas_domain.c optional isci
+dev/isci/scil/scif_sas_domain_state_handlers.c optional isci
+dev/isci/scil/scif_sas_domain_states.c optional isci
+dev/isci/scil/scif_sas_high_priority_request_queue.c optional isci
+dev/isci/scil/scif_sas_internal_io_request.c optional isci
+dev/isci/scil/scif_sas_io_request.c optional isci
+dev/isci/scil/scif_sas_io_request_state_handlers.c optional isci
+dev/isci/scil/scif_sas_io_request_states.c optional isci
+dev/isci/scil/scif_sas_library.c optional isci
+dev/isci/scil/scif_sas_remote_device.c optional isci
+dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c optional isci
+dev/isci/scil/scif_sas_remote_device_ready_substates.c optional isci
+dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c optional isci
+dev/isci/scil/scif_sas_remote_device_starting_substates.c optional isci
+dev/isci/scil/scif_sas_remote_device_state_handlers.c optional isci
+dev/isci/scil/scif_sas_remote_device_states.c optional isci
+dev/isci/scil/scif_sas_request.c optional isci
+dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c optional isci
+dev/isci/scil/scif_sas_smp_io_request.c optional isci
+dev/isci/scil/scif_sas_smp_phy.c optional isci
+dev/isci/scil/scif_sas_smp_remote_device.c optional isci
+dev/isci/scil/scif_sas_stp_io_request.c optional isci
+dev/isci/scil/scif_sas_stp_remote_device.c optional isci
+dev/isci/scil/scif_sas_stp_task_request.c optional isci
+dev/isci/scil/scif_sas_task_request.c optional isci
+dev/isci/scil/scif_sas_task_request_state_handlers.c optional isci
+dev/isci/scil/scif_sas_task_request_states.c optional isci
+dev/isci/scil/scif_sas_timer.c optional isci
isa/syscons_isa.c optional sc
isa/vga_isa.c optional vga
kern/link_elf_obj.c standard
Modified: stable/7/sys/conf/files.i386
==============================================================================
--- stable/7/sys/conf/files.i386 Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/conf/files.i386 Fri Feb 17 06:58:40 2012 (r231861)
@@ -235,6 +235,115 @@ dev/syscons/scvtb.c optional sc
dev/uart/uart_cpu_i386.c optional uart
dev/acpica/acpi_if.m standard
dev/wpi/if_wpi.c optional wpi
+dev/isci/isci.c optional isci
+dev/isci/isci_controller.c optional isci
+dev/isci/isci_domain.c optional isci
+dev/isci/isci_interrupt.c optional isci
+dev/isci/isci_io_request.c optional isci
+dev/isci/isci_logger.c optional isci
+dev/isci/isci_oem_parameters.c optional isci
+dev/isci/isci_remote_device.c optional isci
+dev/isci/isci_sysctl.c optional isci
+dev/isci/isci_task_request.c optional isci
+dev/isci/isci_timer.c optional isci
+dev/isci/scil/sati.c optional isci
+dev/isci/scil/sati_abort_task_set.c optional isci
+dev/isci/scil/sati_atapi.c optional isci
+dev/isci/scil/sati_device.c optional isci
+dev/isci/scil/sati_inquiry.c optional isci
+dev/isci/scil/sati_log_sense.c optional isci
+dev/isci/scil/sati_lun_reset.c optional isci
+dev/isci/scil/sati_mode_pages.c optional isci
+dev/isci/scil/sati_mode_select.c optional isci
+dev/isci/scil/sati_mode_sense.c optional isci
+dev/isci/scil/sati_mode_sense_10.c optional isci
+dev/isci/scil/sati_mode_sense_6.c optional isci
+dev/isci/scil/sati_move.c optional isci
+dev/isci/scil/sati_passthrough.c optional isci
+dev/isci/scil/sati_read.c optional isci
+dev/isci/scil/sati_read_buffer.c optional isci
+dev/isci/scil/sati_read_capacity.c optional isci
+dev/isci/scil/sati_reassign_blocks.c optional isci
+dev/isci/scil/sati_report_luns.c optional isci
+dev/isci/scil/sati_request_sense.c optional isci
+dev/isci/scil/sati_start_stop_unit.c optional isci
+dev/isci/scil/sati_synchronize_cache.c optional isci
+dev/isci/scil/sati_test_unit_ready.c optional isci
+dev/isci/scil/sati_unmap.c optional isci
+dev/isci/scil/sati_util.c optional isci
+dev/isci/scil/sati_verify.c optional isci
+dev/isci/scil/sati_write.c optional isci
+dev/isci/scil/sati_write_and_verify.c optional isci
+dev/isci/scil/sati_write_buffer.c optional isci
+dev/isci/scil/sati_write_long.c optional isci
+dev/isci/scil/sci_abstract_list.c optional isci
+dev/isci/scil/sci_base_controller.c optional isci
+dev/isci/scil/sci_base_domain.c optional isci
+dev/isci/scil/sci_base_iterator.c optional isci
+dev/isci/scil/sci_base_library.c optional isci
+dev/isci/scil/sci_base_logger.c optional isci
+dev/isci/scil/sci_base_memory_descriptor_list.c optional isci
+dev/isci/scil/sci_base_memory_descriptor_list_decorator.c optional isci
+dev/isci/scil/sci_base_object.c optional isci
+dev/isci/scil/sci_base_observer.c optional isci
+dev/isci/scil/sci_base_phy.c optional isci
+dev/isci/scil/sci_base_port.c optional isci
+dev/isci/scil/sci_base_remote_device.c optional isci
+dev/isci/scil/sci_base_request.c optional isci
+dev/isci/scil/sci_base_state_machine.c optional isci
+dev/isci/scil/sci_base_state_machine_logger.c optional isci
+dev/isci/scil/sci_base_state_machine_observer.c optional isci
+dev/isci/scil/sci_base_subject.c optional isci
+dev/isci/scil/sci_util.c optional isci
+dev/isci/scil/scic_sds_controller.c optional isci
+dev/isci/scil/scic_sds_library.c optional isci
+dev/isci/scil/scic_sds_pci.c optional isci
+dev/isci/scil/scic_sds_phy.c optional isci
+dev/isci/scil/scic_sds_port.c optional isci
+dev/isci/scil/scic_sds_port_configuration_agent.c optional isci
+dev/isci/scil/scic_sds_remote_device.c optional isci
+dev/isci/scil/scic_sds_remote_node_context.c optional isci
+dev/isci/scil/scic_sds_remote_node_table.c optional isci
+dev/isci/scil/scic_sds_request.c optional isci
+dev/isci/scil/scic_sds_sgpio.c optional isci
+dev/isci/scil/scic_sds_smp_remote_device.c optional isci
+dev/isci/scil/scic_sds_smp_request.c optional isci
+dev/isci/scil/scic_sds_ssp_request.c optional isci
+dev/isci/scil/scic_sds_stp_packet_request.c optional isci
+dev/isci/scil/scic_sds_stp_remote_device.c optional isci
+dev/isci/scil/scic_sds_stp_request.c optional isci
+dev/isci/scil/scic_sds_unsolicited_frame_control.c optional isci
+dev/isci/scil/scif_sas_controller.c optional isci
+dev/isci/scil/scif_sas_controller_state_handlers.c optional isci
+dev/isci/scil/scif_sas_controller_states.c optional isci
+dev/isci/scil/scif_sas_domain.c optional isci
+dev/isci/scil/scif_sas_domain_state_handlers.c optional isci
+dev/isci/scil/scif_sas_domain_states.c optional isci
+dev/isci/scil/scif_sas_high_priority_request_queue.c optional isci
+dev/isci/scil/scif_sas_internal_io_request.c optional isci
+dev/isci/scil/scif_sas_io_request.c optional isci
+dev/isci/scil/scif_sas_io_request_state_handlers.c optional isci
+dev/isci/scil/scif_sas_io_request_states.c optional isci
+dev/isci/scil/scif_sas_library.c optional isci
+dev/isci/scil/scif_sas_remote_device.c optional isci
+dev/isci/scil/scif_sas_remote_device_ready_substate_handlers.c optional isci
+dev/isci/scil/scif_sas_remote_device_ready_substates.c optional isci
+dev/isci/scil/scif_sas_remote_device_starting_substate_handlers.c optional isci
+dev/isci/scil/scif_sas_remote_device_starting_substates.c optional isci
+dev/isci/scil/scif_sas_remote_device_state_handlers.c optional isci
+dev/isci/scil/scif_sas_remote_device_states.c optional isci
+dev/isci/scil/scif_sas_request.c optional isci
+dev/isci/scil/scif_sas_smp_activity_clear_affiliation.c optional isci
+dev/isci/scil/scif_sas_smp_io_request.c optional isci
+dev/isci/scil/scif_sas_smp_phy.c optional isci
+dev/isci/scil/scif_sas_smp_remote_device.c optional isci
+dev/isci/scil/scif_sas_stp_io_request.c optional isci
+dev/isci/scil/scif_sas_stp_remote_device.c optional isci
+dev/isci/scil/scif_sas_stp_task_request.c optional isci
+dev/isci/scil/scif_sas_task_request.c optional isci
+dev/isci/scil/scif_sas_task_request_state_handlers.c optional isci
+dev/isci/scil/scif_sas_task_request_states.c optional isci
+dev/isci/scil/scif_sas_timer.c optional isci
i386/acpica/OsdEnvironment.c optional acpi
i386/acpica/acpi_machdep.c optional acpi
i386/acpica/acpi_wakeup.c optional acpi
Modified: stable/7/sys/conf/options.amd64
==============================================================================
--- stable/7/sys/conf/options.amd64 Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/conf/options.amd64 Fri Feb 17 06:58:40 2012 (r231861)
@@ -68,3 +68,6 @@ KDTRACE_FRAME opt_kdtrace.h
# BPF just-in-time compiler
BPF_JITTER opt_bpf.h
+
+# options for the Intel C600 SAS driver (isci)
+ISCI_LOGGING opt_isci.h
Modified: stable/7/sys/conf/options.i386
==============================================================================
--- stable/7/sys/conf/options.i386 Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/conf/options.i386 Fri Feb 17 06:58:40 2012 (r231861)
@@ -149,3 +149,6 @@ STOP_NMI opt_cpu.h
# BPF just-in-time compiler
BPF_JITTER opt_bpf.h
+
+# options for the Intel C600 SAS driver (isci)
+ISCI_LOGGING opt_isci.h
Modified: stable/7/sys/dev/isci/isci.h
==============================================================================
--- head/sys/dev/isci/isci.h Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/isci.h Fri Feb 17 06:58:40 2012 (r231861)
@@ -160,7 +160,6 @@ struct ISCI_REQUEST
struct ISCI_IO_REQUEST
{
struct ISCI_REQUEST parent;
- SCI_STATUS status;
SCI_IO_REQUEST_HANDLE_T sci_object;
union ccb *ccb;
uint32_t num_segments;
Modified: stable/7/sys/dev/isci/isci_controller.c
==============================================================================
--- head/sys/dev/isci/isci_controller.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/isci_controller.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -549,7 +549,7 @@ void isci_action(struct cam_sim *sim, un
cpi->hba_eng_cnt = 0;
cpi->max_target = SCI_MAX_REMOTE_DEVICES - 1;
cpi->max_lun = ISCI_MAX_LUN;
-#if __FreeBSD_version >= 704100
+#if __FreeBSD_version >= 800102
cpi->maxio = isci_io_request_get_max_io_size();
#endif
cpi->unit_number = cam_sim_unit(sim);
Modified: stable/7/sys/dev/isci/isci_io_request.c
==============================================================================
--- head/sys/dev/isci/isci_io_request.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/isci_io_request.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -626,16 +626,16 @@ isci_io_request_construct(void *arg, bus
return;
}
- io_request->status = scif_io_request_construct(
+ status = scif_io_request_construct(
io_request->parent.controller_handle,
io_request->parent.remote_device_handle,
SCI_CONTROLLER_INVALID_IO_TAG, (void *)io_request,
(void *)((char*)io_request + sizeof(struct ISCI_IO_REQUEST)),
&io_request->sci_object);
- if (io_request->status != SCI_SUCCESS) {
+ if (status != SCI_SUCCESS) {
isci_io_request_complete(io_request->parent.controller_handle,
- device, io_request, io_request->status);
+ device, io_request, (SCI_IO_STATUS)status);
return;
}
@@ -650,7 +650,7 @@ isci_io_request_construct(void *arg, bus
if (status != SCI_SUCCESS) {
isci_io_request_complete(io_request->parent.controller_handle,
- device, io_request, status);
+ device, io_request, (SCI_IO_STATUS)status);
return;
}
@@ -900,7 +900,7 @@ isci_io_request_execute_smp_io(union ccb
if (status != SCI_SUCCESS) {
isci_io_request_complete(controller->scif_controller_handle,
- smp_device_handle, io_request, status);
+ smp_device_handle, io_request, (SCI_IO_STATUS)status);
return;
}
@@ -912,7 +912,7 @@ isci_io_request_execute_smp_io(union ccb
if (status != SCI_SUCCESS) {
isci_io_request_complete(controller->scif_controller_handle,
- smp_device_handle, io_request, status);
+ smp_device_handle, io_request, (SCI_IO_STATUS)status);
return;
}
Modified: stable/7/sys/dev/isci/isci_remote_device.c
==============================================================================
--- head/sys/dev/isci/isci_remote_device.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/isci_remote_device.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -195,7 +195,7 @@ isci_remote_device_reset(struct ISCI_REM
if (status != SCI_SUCCESS) {
isci_task_request_complete(controller->scif_controller_handle,
remote_device->sci_object, task_request->sci_object,
- status);
+ (SCI_TASK_STATUS)status);
return;
}
@@ -207,7 +207,7 @@ isci_remote_device_reset(struct ISCI_REM
isci_task_request_complete(
controller->scif_controller_handle,
remote_device->sci_object, task_request->sci_object,
- status);
+ (SCI_TASK_STATUS)status);
return;
}
}
Modified: stable/7/sys/dev/isci/scil/sati_abort_task_set.c
==============================================================================
--- head/sys/dev/isci/scil/sati_abort_task_set.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/sati_abort_task_set.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -124,8 +124,8 @@ SATI_STATUS sati_abort_task_set_translat
for (tag_index = 0; tag_index < 32; tag_index++)
{
- void * matching_command;
- SCI_STATUS completion_status;
+ void * matching_command;
+ SCI_IO_STATUS completion_status;
sati_cb_device_get_request_by_ncq_tag(
scsi_task,
tag_index,
@@ -141,7 +141,7 @@ SATI_STATUS sati_abort_task_set_translat
)
{
sati_translate_error(sequence, matching_command, log->error);
- completion_status = SCI_FAILURE_IO_RESPONSE_VALID;
+ completion_status = SCI_IO_FAILURE_RESPONSE_VALID;
if(sequence->state == SATI_SEQUENCE_STATE_READ_ERROR)
{
@@ -159,7 +159,7 @@ SATI_STATUS sati_abort_task_set_translat
}
else
{
- completion_status = SCI_FAILURE_IO_TERMINATED;
+ completion_status = SCI_IO_FAILURE_TERMINATED;
}
sati_cb_io_request_complete(matching_command, completion_status);
Modified: stable/7/sys/dev/isci/scil/scic_sds_controller.c
==============================================================================
--- head/sys/dev/isci/scil/scic_sds_controller.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scic_sds_controller.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -4165,7 +4165,7 @@ SCI_IO_STATUS scic_controller_start_io(
U16 io_tag
)
{
- SCI_IO_STATUS status;
+ SCI_STATUS status;
SCIC_SDS_CONTROLLER_T *this_controller;
this_controller = (SCIC_SDS_CONTROLLER_T *)controller;
@@ -4183,7 +4183,7 @@ SCI_IO_STATUS scic_controller_start_io(
io_tag
);
- return status;
+ return (SCI_IO_STATUS)status;
}
// ---------------------------------------------------------------------------
@@ -4253,7 +4253,7 @@ SCI_TASK_STATUS scic_controller_start_ta
U16 task_tag
)
{
- SCI_TASK_STATUS status = SCI_FAILURE_INVALID_STATE;
+ SCI_STATUS status = SCI_FAILURE_INVALID_STATE;
SCIC_SDS_CONTROLLER_T *this_controller;
this_controller = (SCIC_SDS_CONTROLLER_T *)controller;
@@ -4282,7 +4282,7 @@ SCI_TASK_STATUS scic_controller_start_ta
));
}
- return status;
+ return (SCI_TASK_STATUS)status;
}
// ---------------------------------------------------------------------------
Modified: stable/7/sys/dev/isci/scil/scic_sds_stp_request.c
==============================================================================
--- head/sys/dev/isci/scil/scic_sds_stp_request.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scic_sds_stp_request.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -1124,9 +1124,6 @@ SCI_STATUS scic_sds_stp_request_pio_data
if (status == SCI_SUCCESS)
{
this_sds_stp_request->type.pio.pio_transfer_bytes -= remaining_bytes_in_current_sgl;
-
- //update the current sgl, sgl_offset and save for future
- current_sgl = scic_sds_stp_request_pio_get_next_sgl(this_sds_stp_request);
sgl_offset = 0;
}
}
Modified: stable/7/sys/dev/isci/scil/scif_sas_controller.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_controller.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_controller.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -87,6 +87,10 @@ SCI_STATUS scif_controller_construct(
SCIF_SAS_LIBRARY_T * fw_library = (SCIF_SAS_LIBRARY_T*) library;
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
+ // Validate the user supplied parameters.
+ if ((library == SCI_INVALID_HANDLE) || (controller == SCI_INVALID_HANDLE))
+ return SCI_FAILURE_INVALID_PARAMETER_VALUE;
+
SCIF_LOG_TRACE((
sci_base_object_get_logger(library),
SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_INITIALIZATION,
@@ -94,10 +98,6 @@ SCI_STATUS scif_controller_construct(
library, controller
));
- // Validate the user supplied parameters.
- if ((library == SCI_INVALID_HANDLE) || (controller == SCI_INVALID_HANDLE))
- return SCI_FAILURE_INVALID_PARAMETER_VALUE;
-
// Construct the base controller. As part of constructing the base
// controller we ask it to also manage the MDL iteration for the Core.
sci_base_controller_construct(
@@ -144,6 +144,10 @@ SCI_STATUS scif_controller_initialize(
{
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
+ // Validate the user supplied parameters.
+ if (controller == SCI_INVALID_HANDLE)
+ return SCI_FAILURE_INVALID_PARAMETER_VALUE;
+
SCIF_LOG_TRACE((
sci_base_object_get_logger(controller),
SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_INITIALIZATION,
@@ -151,10 +155,6 @@ SCI_STATUS scif_controller_initialize(
controller
));
- // Validate the user supplied parameters.
- if (controller == SCI_INVALID_HANDLE)
- return SCI_FAILURE_INVALID_PARAMETER_VALUE;
-
return fw_controller->state_handlers->initialize_handler(
&fw_controller->parent
);
@@ -187,6 +187,10 @@ SCI_STATUS scif_controller_start(
{
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
+ // Validate the user supplied parameters.
+ if (controller == SCI_INVALID_HANDLE)
+ return SCI_FAILURE_INVALID_PARAMETER_VALUE;
+
SCIF_LOG_TRACE((
sci_base_object_get_logger(controller),
SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_INITIALIZATION,
@@ -194,10 +198,6 @@ SCI_STATUS scif_controller_start(
controller, timeout
));
- // Validate the user supplied parameters.
- if (controller == SCI_INVALID_HANDLE)
- return SCI_FAILURE_INVALID_PARAMETER_VALUE;
-
return fw_controller->state_handlers->
start_handler(&fw_controller->parent, timeout);
}
@@ -211,6 +211,10 @@ SCI_STATUS scif_controller_stop(
{
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
+ // Validate the user supplied parameters.
+ if (controller == SCI_INVALID_HANDLE)
+ return SCI_FAILURE_INVALID_PARAMETER_VALUE;
+
SCIF_LOG_TRACE((
sci_base_object_get_logger(controller),
SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_SHUTDOWN,
@@ -218,10 +222,6 @@ SCI_STATUS scif_controller_stop(
controller, timeout
));
- // Validate the user supplied parameters.
- if (controller == SCI_INVALID_HANDLE)
- return SCI_FAILURE_INVALID_PARAMETER_VALUE;
-
return fw_controller->state_handlers->
stop_handler(&fw_controller->parent, timeout);
@@ -235,6 +235,10 @@ SCI_STATUS scif_controller_reset(
{
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
+ // Validate the user supplied parameters.
+ if (controller == SCI_INVALID_HANDLE)
+ return SCI_FAILURE_INVALID_PARAMETER_VALUE;
+
SCIF_LOG_TRACE((
sci_base_object_get_logger(controller),
SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_CONTROLLER_RESET,
@@ -242,10 +246,6 @@ SCI_STATUS scif_controller_reset(
controller
));
- // Validate the user supplied parameters.
- if (controller == SCI_INVALID_HANDLE)
- return SCI_FAILURE_INVALID_PARAMETER_VALUE;
-
return fw_controller->state_handlers->
reset_handler(&fw_controller->parent);
}
@@ -271,6 +271,7 @@ SCI_IO_STATUS scif_controller_start_io(
)
{
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
+ SCI_STATUS status;
SCIF_LOG_TRACE((
sci_base_object_get_logger(controller),
@@ -284,7 +285,7 @@ SCI_IO_STATUS scif_controller_start_io(
|| scif_sas_controller_sufficient_resource(controller)
)
{
- return fw_controller->state_handlers->start_io_handler(
+ status = fw_controller->state_handlers->start_io_handler(
(SCI_BASE_CONTROLLER_T*) controller,
(SCI_BASE_REMOTE_DEVICE_T*) remote_device,
(SCI_BASE_REQUEST_T*) io_request,
@@ -292,7 +293,9 @@ SCI_IO_STATUS scif_controller_start_io(
);
}
else
- return SCI_FAILURE_INSUFFICIENT_RESOURCES;
+ status = SCI_FAILURE_INSUFFICIENT_RESOURCES;
+
+ return (SCI_IO_STATUS)status;
}
// ---------------------------------------------------------------------------
@@ -305,25 +308,26 @@ SCI_TASK_STATUS scif_controller_start_ta
)
{
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
-
- SCIF_LOG_TRACE((
- sci_base_object_get_logger(controller),
- SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_TASK_MANAGEMENT,
- "scif_controller_start_task(0x%x, 0x%x, 0x%x, 0x%x) enter\n",
- controller, remote_device, task_request, io_tag
- ));
+ SCI_STATUS status;
// Validate the user supplied parameters.
if ( (controller == SCI_INVALID_HANDLE)
|| (remote_device == SCI_INVALID_HANDLE)
|| (task_request == SCI_INVALID_HANDLE) )
{
- return SCI_FAILURE_INVALID_PARAMETER_VALUE;
+ return SCI_TASK_FAILURE_INVALID_PARAMETER_VALUE;
}
+ SCIF_LOG_TRACE((
+ sci_base_object_get_logger(controller),
+ SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_TASK_MANAGEMENT,
+ "scif_controller_start_task(0x%x, 0x%x, 0x%x, 0x%x) enter\n",
+ controller, remote_device, task_request, io_tag
+ ));
+
if (scif_sas_controller_sufficient_resource(controller))
{
- return fw_controller->state_handlers->start_task_handler(
+ status = fw_controller->state_handlers->start_task_handler(
(SCI_BASE_CONTROLLER_T*) controller,
(SCI_BASE_REMOTE_DEVICE_T*) remote_device,
(SCI_BASE_REQUEST_T*) task_request,
@@ -331,7 +335,9 @@ SCI_TASK_STATUS scif_controller_start_ta
);
}
else
- return SCI_FAILURE_INSUFFICIENT_RESOURCES;
+ status = SCI_FAILURE_INSUFFICIENT_RESOURCES;
+
+ return (SCI_TASK_STATUS)status;
}
// ---------------------------------------------------------------------------
@@ -368,13 +374,6 @@ SCI_STATUS scif_controller_complete_task
{
SCIF_SAS_CONTROLLER_T * fw_controller = (SCIF_SAS_CONTROLLER_T*) controller;
- SCIF_LOG_TRACE((
- sci_base_object_get_logger(controller),
- SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_TASK_MANAGEMENT,
- "scif_controller_complete_task(0x%x, 0x%x, 0x%x) enter\n",
- controller, remote_device, task_request
- ));
-
// Validate the user supplied parameters.
if ( (controller == SCI_INVALID_HANDLE)
|| (remote_device == SCI_INVALID_HANDLE)
@@ -383,6 +382,13 @@ SCI_STATUS scif_controller_complete_task
return SCI_FAILURE_INVALID_PARAMETER_VALUE;
}
+ SCIF_LOG_TRACE((
+ sci_base_object_get_logger(controller),
+ SCIF_LOG_OBJECT_CONTROLLER | SCIF_LOG_OBJECT_TASK_MANAGEMENT,
+ "scif_controller_complete_task(0x%x, 0x%x, 0x%x) enter\n",
+ controller, remote_device, task_request
+ ));
+
return fw_controller->state_handlers->complete_task_handler(
(SCI_BASE_CONTROLLER_T*) controller,
(SCI_BASE_REMOTE_DEVICE_T*) remote_device,
Modified: stable/7/sys/dev/isci/scil/scif_sas_controller_state_handlers.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_controller_state_handlers.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_controller_state_handlers.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -586,7 +586,7 @@ SCI_STATUS scif_sas_controller_ready_sta
if (status == SCI_SUCCESS)
{
// Ask the core to start processing for this IO request.
- status = scic_controller_start_io(
+ status = (SCI_STATUS)scic_controller_start_io(
fw_controller->core_object,
fw_device->core_object,
fw_io->parent.core_object,
@@ -903,7 +903,7 @@ SCI_STATUS scif_sas_controller_ready_sta
}
// Ask the core to start processing for this task request.
- status = scic_controller_start_task(
+ status = (SCI_STATUS)scic_controller_start_task(
fw_controller->core_object,
fw_device->core_object,
fw_task->parent.core_object,
@@ -1072,7 +1072,7 @@ SCI_STATUS scif_sas_controller_common_st
if (status == SCI_SUCCESS)
{
// Ask the core to start processing for this IO request.
- status = scic_controller_start_io(
+ status = (SCI_STATUS)scic_controller_start_io(
fw_controller->core_object,
fw_device->core_object,
fw_io->parent.core_object,
@@ -1683,7 +1683,7 @@ SCI_STATUS scif_sas_controller_failed_st
&((SCIF_SAS_CONTROLLER_T *)controller)->parent.state_machine)
));
- return SCI_IO_FAILURE;
+ return SCI_FAILURE;
}
#define scif_sas_controller_stopping_complete_io_handler \
Modified: stable/7/sys/dev/isci/scil/scif_sas_domain.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_domain.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_domain.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -142,8 +142,8 @@ SCI_PORT_HANDLE_T scif_domain_get_scic_p
{
SCIF_SAS_DOMAIN_T * fw_domain = (SCIF_SAS_DOMAIN_T*) domain;
- if ( (fw_domain != NULL) && (fw_domain->core_object != SCI_INVALID_HANDLE) )
- return fw_domain->core_object;
+ if ( (fw_domain == NULL) || (fw_domain->core_object == SCI_INVALID_HANDLE) )
+ return SCI_INVALID_HANDLE;
SCIF_LOG_WARNING((
sci_base_object_get_logger(fw_domain),
@@ -152,7 +152,7 @@ SCI_PORT_HANDLE_T scif_domain_get_scic_p
fw_domain
));
- return SCI_INVALID_HANDLE;
+ return fw_domain->core_object;
}
// ---------------------------------------------------------------------------
Modified: stable/7/sys/dev/isci/scil/scif_sas_io_request.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_io_request.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_io_request.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -811,7 +811,7 @@ SCI_STATUS scif_sas_io_request_continue(
);
//start the new constructed IO.
- return scif_controller_start_io(
+ return (SCI_STATUS)scif_controller_start_io(
(SCI_CONTROLLER_HANDLE_T) fw_controller,
(SCI_REMOTE_DEVICE_HANDLE_T) fw_device,
(SCI_IO_REQUEST_HANDLE_T) fw_request,
Modified: stable/7/sys/dev/isci/scil/scif_sas_remote_device.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_remote_device.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_remote_device.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -362,8 +362,8 @@ SCI_REMOTE_DEVICE_HANDLE_T scif_remote_d
SCIF_SAS_REMOTE_DEVICE_T * fw_device = (SCIF_SAS_REMOTE_DEVICE_T*)
scif_remote_device;
- if ( (fw_device != NULL) && (fw_device->core_object != SCI_INVALID_HANDLE) )
- return fw_device->core_object;
+ if ( (fw_device == NULL) || (fw_device->core_object == SCI_INVALID_HANDLE) )
+ return SCI_INVALID_HANDLE;
SCIF_LOG_WARNING((
sci_base_object_get_logger(fw_device),
@@ -372,7 +372,7 @@ SCI_REMOTE_DEVICE_HANDLE_T scif_remote_d
fw_device
));
- return SCI_INVALID_HANDLE;
+ return fw_device->core_object;
}
// ---------------------------------------------------------------------------
Modified: stable/7/sys/dev/isci/scil/scif_sas_remote_device_ready_substates.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_remote_device_ready_substates.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_remote_device_ready_substates.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -255,7 +255,7 @@ void scif_sas_remote_device_ready_ncq_er
}
}
- status = scif_controller_start_task(
+ scif_controller_start_task(
fw_controller,
fw_device,
fw_request,
Modified: stable/7/sys/dev/isci/scil/scif_sas_smp_io_request.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_smp_io_request.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_smp_io_request.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -580,7 +580,7 @@ SCI_STATUS scif_sas_smp_external_request
default:
//unsupported case, TBD
- break;
+ return SCI_FAILURE;
} //end of switch
//set the retry count to new built smp request.
Modified: stable/7/sys/dev/isci/scil/scif_sas_smp_remote_device.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_smp_remote_device.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_smp_remote_device.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -748,7 +748,6 @@ SCI_STATUS scif_sas_smp_remote_device_de
{
SCIF_SAS_DOMAIN_T * fw_domain;
SCI_SAS_ADDRESS_T attached_device_address;
- SCIF_SAS_REMOTE_DEVICE_T * attached_remote_device;
SMP_RESPONSE_DISCOVER_T * discover_response =
&smp_response->response.discover;
@@ -782,13 +781,11 @@ SCI_STATUS scif_sas_smp_remote_device_de
fw_domain = fw_device->domain;
attached_device_address = discover_response->attached_sas_address;
- attached_remote_device = (SCIF_SAS_REMOTE_DEVICE_T *)
- scif_domain_get_device_by_sas_address(
- fw_domain, &attached_device_address
- );
-
// the device should have already existed in the domian.
- ASSERT (attached_remote_device != SCI_INVALID_HANDLE);
+ ASSERT(scif_domain_get_device_by_sas_address(
+ fw_domain,
+ &attached_device_address
+ ) != SCI_INVALID_HANDLE);
return SCI_SUCCESS;
}
else
@@ -1774,6 +1771,8 @@ SCIF_SAS_SMP_PHY_T * scif_sas_smp_remote
SCI_FAST_LIST_ELEMENT_T * element = smp_remote_device->smp_phy_list.list_head;
SCIF_SAS_SMP_PHY_T * curr_smp_phy = NULL;
+ ASSERT(phy_identifier < smp_remote_device->smp_phy_list.number_of_phys);
+
while (element != NULL)
{
curr_smp_phy = (SCIF_SAS_SMP_PHY_T*) sci_fast_list_get_object(element);
@@ -1854,7 +1853,7 @@ void scif_sas_smp_remote_device_terminat
));
scif_sas_smp_remote_device_decode_smp_response(
- fw_device, fw_request, NULL, SCI_FAILURE_RETRY_REQUIRED
+ fw_device, fw_request, NULL, SCI_IO_FAILURE_RETRY_REQUIRED
);
}
@@ -1934,11 +1933,8 @@ SCI_STATUS scif_sas_smp_remote_device_sa
scif_domain_get_device_by_sas_address(
fw_device->domain, &discover_response->attached_sas_address);
- if (smp_phy != NULL)
- {
- scif_sas_smp_phy_save_information(
- smp_phy, attached_device, discover_response);
- }
+ scif_sas_smp_phy_save_information(
+ smp_phy, attached_device, discover_response);
//handle the special case of smp phys between expanders.
if ( discover_response->protocols.u.bits.attached_smp_target )
@@ -2372,11 +2368,7 @@ void scif_sas_smp_remote_device_clean_ro
SCIF_SAS_REMOTE_DEVICE_T * fw_device
)
{
- SCIF_SAS_SMP_PHY_T * smp_phy_being_config =
- scif_sas_smp_remote_device_find_smp_phy_by_id(
- fw_device->protocol_device.smp_device.current_activity_phy_index,
- &(fw_device->protocol_device.smp_device)
- );
+ SCIF_SAS_SMP_PHY_T * smp_phy_being_config;
SCIF_LOG_TRACE((
sci_base_object_get_logger(fw_device),
Modified: stable/7/sys/dev/isci/scil/scif_sas_stp_io_request.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_stp_io_request.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_stp_io_request.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -396,7 +396,7 @@ SCI_STATUS scif_sas_stp_io_request_const
fw_io->parent.protocol_complete_handler
= scif_sas_stp_core_cb_io_request_complete_handler;
// Done with translation
- sci_status = SATI_SUCCESS;
+ sci_status = SCI_SUCCESS;
}
else if (sati_status == SATI_COMPLETE)
sci_status = SCI_SUCCESS_IO_COMPLETE_BEFORE_START;
Modified: stable/7/sys/dev/isci/scil/scif_sas_stp_task_request.c
==============================================================================
--- head/sys/dev/isci/scil/scif_sas_stp_task_request.c Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/dev/isci/scil/scif_sas_stp_task_request.c Fri Feb 17 06:58:40 2012 (r231861)
@@ -254,7 +254,7 @@ void scif_sas_stp_task_request_abort_tas
fw_domain->controller,
fw_device,
pending_request,
- SCI_FAILURE_IO_TERMINATED
+ SCI_IO_FAILURE_TERMINATED
);
}
//otherwise, the abort succeeded. Since the waiting flag is cleared,
Modified: stable/7/sys/i386/conf/GENERIC
==============================================================================
--- stable/7/sys/i386/conf/GENERIC Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/i386/conf/GENERIC Fri Feb 17 06:58:40 2012 (r231861)
@@ -117,6 +117,7 @@ device bt # Buslogic/Mylex MultiMaster
device ncv # NCR 53C500
device nsp # Workbit Ninja SCSI-3
device stg # TMC 18C30/18C50
+device isci # Intel C600 SAS controller
# SCSI peripherals
device scbus # SCSI bus (required for SCSI)
Modified: stable/7/sys/i386/conf/NOTES
==============================================================================
--- stable/7/sys/i386/conf/NOTES Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/i386/conf/NOTES Fri Feb 17 06:58:40 2012 (r231861)
@@ -746,6 +746,11 @@ device hptiop
device ips
#
+# Intel C600 (Patsburg) integrated SAS controller
+device isci
+options ISCI_LOGGING # enable debugging in isci HAL
+
+#
# SafeNet crypto driver: can be moved to the MI NOTES as soon as
# it's tested on a big-endian machine
#
Modified: stable/7/sys/modules/Makefile
==============================================================================
--- stable/7/sys/modules/Makefile Fri Feb 17 06:47:16 2012 (r231860)
+++ stable/7/sys/modules/Makefile Fri Feb 17 06:58:40 2012 (r231861)
@@ -142,6 +142,7 @@ SUBDIR= ${_3dfx} \
${_ips} \
${_ipw} \
${_ipwfw} \
+ ${_isci} \
iscsi \
isp \
ispfw \
@@ -497,6 +498,7 @@ _ipmi= ipmi
_ips= ips
_ipw= ipw
_ipwfw= ipwfw
+_isci= isci
_iwi= iwi
_iwifw= iwifw
_ixgb= ixgb
@@ -565,6 +567,7 @@ _ipmi= ipmi
_ips= ips
_ipw= ipw
_ipwfw= ipwfw
+_isci= isci
_iwi= iwi
_iwifw= iwifw
_ixgb= ixgb
Modified: stable/7/sys/modules/isci/Makefile
==============================================================================
--- head/sys/modules/isci/Makefile Tue Jan 31 19:38:18 2012 (r230843)
+++ stable/7/sys/modules/isci/Makefile Fri Feb 17 06:58:40 2012 (r231861)
@@ -87,6 +87,4 @@ SRCS += \
SRCS += opt_scsi.h opt_cam.h opt_isci.h
SRCS += device_if.h bus_if.h pci_if.h
-CC = gcc
-
.include <bsd.kmod.mk>
More information about the svn-src-stable
mailing list