1b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt/* 2b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * Intel MIC Platform Software Stack (MPSS) 3b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * 4b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * Copyright(c) 2013 Intel Corporation. 5b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * 6b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * This program is free software; you can redistribute it and/or modify 7b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * it under the terms of the GNU General Public License, version 2, as 8b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * published by the Free Software Foundation. 9b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * 10b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * This program is distributed in the hope that it will be useful, but 11b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * WITHOUT ANY WARRANTY; without even the implied warranty of 12b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * General Public License for more details. 14b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * 15b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * The full GNU General Public License is included in this distribution in 16b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * the file called "COPYING". 17b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * 18b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * Intel MIC driver. 19b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * 20b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt */ 214aa79961a50119d6112a160e97d5e6a77656b68cSudeep Dutt#ifndef __MIC_DEV_H__ 224aa79961a50119d6112a160e97d5e6a77656b68cSudeep Dutt#define __MIC_DEV_H__ 23b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt 24b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt/** 25b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * struct mic_mw - MIC memory window 26b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * 27b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * @pa: Base physical address. 28b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * @va: Base ioremap'd virtual address. 29b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt * @len: Size of the memory window. 30b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt */ 31b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Duttstruct mic_mw { 32b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt phys_addr_t pa; 33b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt void __iomem *va; 34b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt resource_size_t len; 35b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt}; 36b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt 373a6a9201897c6482573ad07ee880574147761006Sudeep Dutt/* 383a6a9201897c6482573ad07ee880574147761006Sudeep Dutt * Scratch pad register offsets used by the host to communicate 393a6a9201897c6482573ad07ee880574147761006Sudeep Dutt * device page DMA address to the card. 403a6a9201897c6482573ad07ee880574147761006Sudeep Dutt */ 413a6a9201897c6482573ad07ee880574147761006Sudeep Dutt#define MIC_DPLO_SPAD 14 423a6a9201897c6482573ad07ee880574147761006Sudeep Dutt#define MIC_DPHI_SPAD 15 433a6a9201897c6482573ad07ee880574147761006Sudeep Dutt 44f69bcbf3b4c4b333dcd7a48eaf868bf0c88edab5Ashutosh Dixit/* 45f69bcbf3b4c4b333dcd7a48eaf868bf0c88edab5Ashutosh Dixit * These values are supposed to be in the config_change field of the 46f69bcbf3b4c4b333dcd7a48eaf868bf0c88edab5Ashutosh Dixit * device page when the host sends a config change interrupt to the card. 47f69bcbf3b4c4b333dcd7a48eaf868bf0c88edab5Ashutosh Dixit */ 48f69bcbf3b4c4b333dcd7a48eaf868bf0c88edab5Ashutosh Dixit#define MIC_VIRTIO_PARAM_DEV_REMOVE 0x1 49f69bcbf3b4c4b333dcd7a48eaf868bf0c88edab5Ashutosh Dixit#define MIC_VIRTIO_PARAM_CONFIG_CHANGED 0x2 50f69bcbf3b4c4b333dcd7a48eaf868bf0c88edab5Ashutosh Dixit 51b170d8ce3f81bd97e85756e9184779a56a5f55a7Sudeep Dutt#endif 52