root/drivers/block/rsxx/rsxx_cfg.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3 * Filename: rsXX_cfg.h
   4 *
   5 * Authors: Joshua Morris <josh.h.morris@us.ibm.com>
   6 *       Philip Kelleher <pjk1939@linux.vnet.ibm.com>
   7 *
   8 * (C) Copyright 2013 IBM Corporation
   9 */
  10 
  11 #ifndef __RSXX_CFG_H__
  12 #define __RSXX_CFG_H__
  13 
  14 /* NOTE: Config values will be saved in network byte order (i.e. Big endian) */
  15 #include <linux/types.h>
  16 
  17 /*
  18  * The card config version must match the driver's expected version. If it does
  19  * not, the DMA interfaces will not be attached and the user will need to
  20  * initialize/upgrade the card configuration using the card config utility.
  21  */
  22 #define RSXX_CFG_VERSION        4
  23 
  24 struct card_cfg_hdr {
  25         __u32   version;
  26         __u32   crc;
  27 };
  28 
  29 struct card_cfg_data {
  30         __u32   block_size;
  31         __u32   stripe_size;
  32         __u32   vendor_id;
  33         __u32   cache_order;
  34         struct {
  35                 __u32   mode;   /* Disabled, manual, auto-tune... */
  36                 __u32   count;  /* Number of intr to coalesce     */
  37                 __u32   latency;/* Max wait time (in ns)          */
  38         } intr_coal;
  39 };
  40 
  41 struct rsxx_card_cfg {
  42         struct card_cfg_hdr     hdr;
  43         struct card_cfg_data    data;
  44 };
  45 
  46 /* Vendor ID Values */
  47 #define RSXX_VENDOR_ID_IBM              0
  48 #define RSXX_VENDOR_ID_DSI              1
  49 #define RSXX_VENDOR_COUNT               2
  50 
  51 /* Interrupt Coalescing Values */
  52 #define RSXX_INTR_COAL_DISABLED           0
  53 #define RSXX_INTR_COAL_EXPLICIT           1
  54 #define RSXX_INTR_COAL_AUTO_TUNE          2
  55 
  56 
  57 #endif /* __RSXX_CFG_H__ */
  58 

/* [<][>][^][v][top][bottom][index][help] */