Author: jimharris Date: Mon Mar 17 22:32:54 2014 New Revision: 263276 URL: http://svnweb.freebsd.org/changeset/base/263276
Log: Base the max number of SG elements on MAXPHYS. Sponsored by: Intel Discussed with: scottl, emax MFC after: 3 days Modified: head/sys/dev/isci/scil/sati_util.h head/sys/dev/isci/scil/sci_controller_constants.h head/sys/dev/isci/scil/sci_util.h head/sys/dev/isci/scil/scic_sds_request.h Modified: head/sys/dev/isci/scil/sati_util.h ============================================================================== --- head/sys/dev/isci/scil/sati_util.h Mon Mar 17 22:30:54 2014 (r263275) +++ head/sys/dev/isci/scil/sati_util.h Mon Mar 17 22:32:54 2014 (r263276) @@ -62,6 +62,8 @@ * structure data, fill in sense data, etc. */ +#include <sys/param.h> + #include <dev/isci/scil/sati_types.h> #include <dev/isci/scil/sati_translator_sequence.h> @@ -144,15 +146,6 @@ #define ATA_MICROCODE_OFFSET_DOWNLOAD 0x03 #define ATA_MICROCODE_DOWNLOAD_SAVE 0x07 -#ifndef MIN -#define MIN(x,y) ((x) < (y) ? (x) : (y)) -#endif - -#ifndef MAX -#define MAX(x,y) ((x) > (y) ? (x) : (y)) -#endif - - void sati_ata_non_data_command( void * ata_io, SATI_TRANSLATOR_SEQUENCE_T * sequence Modified: head/sys/dev/isci/scil/sci_controller_constants.h ============================================================================== --- head/sys/dev/isci/scil/sci_controller_constants.h Mon Mar 17 22:30:54 2014 (r263275) +++ head/sys/dev/isci/scil/sci_controller_constants.h Mon Mar 17 22:32:54 2014 (r263276) @@ -54,6 +54,8 @@ #ifndef _SCI_CONTROLLER_CONSTANTS_H_ #define _SCI_CONTROLLER_CONSTANTS_H_ +#include <sys/param.h> + /** * @file * @@ -148,8 +150,13 @@ extern "C" { /** * This constant defines the maximum number of Scatter-Gather Elements * to be used by any SCI component. + * + * Note: number of elements must be an even number, since descriptors + * posted to hardware always contain pairs of elements (with second + * element set to zeroes if not needed). */ -#define SCI_MAX_SCATTER_GATHER_ELEMENTS 130 +#define __MAXPHYS_ELEMENTS ((MAXPHYS / PAGE_SIZE) + 1) +#define SCI_MAX_SCATTER_GATHER_ELEMENTS ((__MAXPHYS_ELEMENTS + 1) & ~0x1) #endif #ifndef SCI_MIN_SCATTER_GATHER_ELEMENTS Modified: head/sys/dev/isci/scil/sci_util.h ============================================================================== --- head/sys/dev/isci/scil/sci_util.h Mon Mar 17 22:30:54 2014 (r263275) +++ head/sys/dev/isci/scil/sci_util.h Mon Mar 17 22:32:54 2014 (r263276) @@ -54,20 +54,14 @@ #ifndef _SCI_UTIL_H_ #define _SCI_UTIL_H_ +#include <sys/param.h> + #include <dev/isci/scil/sci_types.h> #ifndef ARRAY_SIZE #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) #endif -#ifndef MIN -#define MIN(x,y) ((x) < (y) ? (x) : (y)) -#endif - -#ifndef MAX -#define MAX(x,y) ((x) > (y) ? (x) : (y)) -#endif - /** * Normal byte swap macro */ Modified: head/sys/dev/isci/scil/scic_sds_request.h ============================================================================== --- head/sys/dev/isci/scil/scic_sds_request.h Mon Mar 17 22:30:54 2014 (r263275) +++ head/sys/dev/isci/scil/scic_sds_request.h Mon Mar 17 22:32:54 2014 (r263276) @@ -65,6 +65,8 @@ extern "C" { #endif // __cplusplus +#include <sys/param.h> + #include <dev/isci/scil/scic_io_request.h> #include <dev/isci/scil/sci_base_request.h> @@ -331,7 +333,6 @@ extern SCIC_SDS_IO_REQUEST_STATE_HANDLER #define scic_sds_request_get_task_context(request) \ ((request)->task_context_buffer) -#define CACHE_LINE_SIZE (64) #define scic_sds_request_align_task_context_buffer(address) \ ((SCU_TASK_CONTEXT_T *)( \ (((POINTER_UINT)(address)) + (CACHE_LINE_SIZE - 1)) \ _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"