Linux 4.18.10
[linux/fpc-iii.git] / drivers / misc / mic / common / mic_dev.h
blob50776772ebdf47313af5613cc7374438343c084f
1 /*
2 * Intel MIC Platform Software Stack (MPSS)
4 * Copyright(c) 2013 Intel Corporation.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License, version 2, as
8 * published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
15 * The full GNU General Public License is included in this distribution in
16 * the file called "COPYING".
18 * Intel MIC driver.
21 #ifndef __MIC_DEV_H__
22 #define __MIC_DEV_H__
24 /* The maximum number of MIC devices supported in a single host system. */
25 #define MIC_MAX_NUM_DEVS 128
27 /**
28 * enum mic_hw_family - The hardware family to which a device belongs.
30 enum mic_hw_family {
31 MIC_FAMILY_X100 = 0,
32 MIC_FAMILY_X200,
33 MIC_FAMILY_UNKNOWN,
34 MIC_FAMILY_LAST
37 /**
38 * struct mic_mw - MIC memory window
40 * @pa: Base physical address.
41 * @va: Base ioremap'd virtual address.
42 * @len: Size of the memory window.
44 struct mic_mw {
45 phys_addr_t pa;
46 void __iomem *va;
47 resource_size_t len;
51 * Scratch pad register offsets used by the host to communicate
52 * device page DMA address to the card.
54 #define MIC_DPLO_SPAD 14
55 #define MIC_DPHI_SPAD 15
58 * These values are supposed to be in the config_change field of the
59 * device page when the host sends a config change interrupt to the card.
61 #define MIC_VIRTIO_PARAM_DEV_REMOVE 0x1
62 #define MIC_VIRTIO_PARAM_CONFIG_CHANGED 0x2
64 /* Maximum number of DMA channels */
65 #define MIC_MAX_DMA_CHAN 4
67 #endif