Base the max number of SG elements on MAXPHYS.

Sponsored by:	Intel
Discussed with:	scottl, emax
MFC after:	3 days
This commit is contained in:
Jim Harris 2014-03-17 22:32:54 +00:00
parent 5c300060a8
commit 5d16b89793
4 changed files with 14 additions and 19 deletions

@ -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

@ -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

@ -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
*/

@ -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_T
#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)) \