Hi Peter, [auto build test ERROR on linus/master] [also build test ERROR on v4.9-rc6 next-20161125] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Peter-Robinson/dma-make-platform-drivers-depend-on-their-associated-SoC/20161126-175336 config: arm-allmodconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=arm All errors (new ones prefixed by >>): In file included from drivers/dma/ioat/dca.c:32:0: drivers/dma/ioat/dma.h: In function 'ioat_chansts': drivers/dma/ioat/dma.h:249:9: error: implicit declaration of function 'readq' [-Werror=implicit-function-declaration] return readq(ioat_chan->reg_base + IOAT_CHANSTS_OFFSET); ^~~~~ drivers/dma/ioat/dca.c: In function 'dca_enabled_in_bios': >> drivers/dma/ioat/dca.c:86:18: error: implicit declaration of function 'cpuid_eax' [-Werror=implicit-function-declaration] cpuid_level_9 = cpuid_eax(9); ^~~~~~~~~ drivers/dma/ioat/dca.c: In function 'system_has_dca_enabled': >> drivers/dma/ioat/dca.c:96:6: error: implicit declaration of function 'boot_cpu_has' [-Werror=implicit-function-declaration] if (boot_cpu_has(X86_FEATURE_DCA)) ^~~~~~~~~~~~ >> drivers/dma/ioat/dca.c:96:19: error: 'X86_FEATURE_DCA' undeclared (first use in this function) if (boot_cpu_has(X86_FEATURE_DCA)) ^~~~~~~~~~~~~~~ drivers/dma/ioat/dca.c:96:19: note: each undeclared identifier is reported only once for each function it appears in drivers/dma/ioat/dca.c: In function 'ioat_dca_get_tag': >> drivers/dma/ioat/dca.c:207:12: error: implicit declaration of function 'cpu_physical_id' [-Werror=implicit-function-declaration] apic_id = cpu_physical_id(cpu); ^~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/cpuid_eax +86 drivers/dma/ioat/dca.c 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 26 #ifndef CONFIG_SMP 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 27 #include <asm/smp.h> 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 28 #undef cpu_physical_id 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 29 #define cpu_physical_id(cpu) (cpuid_ebx(1) >> 24) 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 30 #endif 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 31 584ec227 drivers/dma/ioat/dca.c Dan Williams 2009-07-28 @32 #include "dma.h" 584ec227 drivers/dma/ioat/dca.c Dan Williams 2009-07-28 33 #include "registers.h" 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 34 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 35 /* 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 36 * Bit 7 of a tag map entry is the "valid" bit, if it is set then bits 0:6 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 37 * contain the bit number of the APIC ID to map into the DCA tag. If the valid 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 38 * bit is not set, then the value must be 0 or 1 and defines the bit in the tag. 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 39 */ 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 40 #define DCA_TAG_MAP_VALID 0x80 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 41 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 42 #define DCA3_TAG_MAP_BIT_TO_INV 0x80 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 43 #define DCA3_TAG_MAP_BIT_TO_SEL 0x40 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 44 #define DCA3_TAG_MAP_LITERAL_VAL 0x1 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 45 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 46 #define DCA_TAG_MAP_MASK 0xDF 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 47 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 48 /* expected tag map bytes for I/OAT ver.2 */ 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 49 #define DCA2_TAG_MAP_BYTE0 0x80 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 50 #define DCA2_TAG_MAP_BYTE1 0x0 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 51 #define DCA2_TAG_MAP_BYTE2 0x81 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 52 #define DCA2_TAG_MAP_BYTE3 0x82 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 53 #define DCA2_TAG_MAP_BYTE4 0x82 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 54 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 55 /* verify if tag map matches expected values */ 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 56 static inline int dca2_tag_map_valid(u8 *tag_map) 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 57 { 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 58 return ((tag_map[0] == DCA2_TAG_MAP_BYTE0) && 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 59 (tag_map[1] == DCA2_TAG_MAP_BYTE1) && 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 60 (tag_map[2] == DCA2_TAG_MAP_BYTE2) && 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 61 (tag_map[3] == DCA2_TAG_MAP_BYTE3) && 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 62 (tag_map[4] == DCA2_TAG_MAP_BYTE4)); 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 63 } 49bc4636 drivers/dma/ioat_dca.c Maciej Sosnowski 2009-02-26 64 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 65 /* 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 66 * "Legacy" DCA systems do not implement the DCA register set in the 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 67 * I/OAT device. Software needs direct support for their tag mappings. 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 68 */ 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 69 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 70 #define APICID_BIT(x) (DCA_TAG_MAP_VALID | (x)) 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 71 #define IOAT_TAG_MAP_LEN 8 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 72 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 73 /* pack PCI B/D/F into a u16 */ 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 74 static inline u16 dcaid_from_pcidev(struct pci_dev *pci) 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 75 { 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 76 return (pci->bus->number << 8) | pci->devfn; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 77 } 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 78 5149fd01 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-18 79 static int dca_enabled_in_bios(struct pci_dev *pdev) 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 80 { 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 81 /* CPUID level 9 returns DCA configuration */ 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 82 /* Bit 0 indicates DCA enabled by the BIOS */ 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 83 unsigned long cpuid_level_9; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 84 int res; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 85 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 @86 cpuid_level_9 = cpuid_eax(9); 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 87 res = test_bit(0, &cpuid_level_9); 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 88 if (!res) e22dde99 drivers/dma/ioat/dca.c Dan Williams 2009-11-17 89 dev_dbg(&pdev->dev, "DCA is disabled in BIOS\n"); 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 90 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 91 return res; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 92 } 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 93 228c4f5c drivers/dma/ioat/dca.c Dan Williams 2009-11-19 94 int system_has_dca_enabled(struct pci_dev *pdev) 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 95 { 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 @96 if (boot_cpu_has(X86_FEATURE_DCA)) 5149fd01 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-18 97 return dca_enabled_in_bios(pdev); 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 98 e22dde99 drivers/dma/ioat/dca.c Dan Williams 2009-11-17 99 dev_dbg(&pdev->dev, "boot cpu doesn't have X86_FEATURE_DCA\n"); 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 100 return 0; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 101 } 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 102 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 103 struct ioat_dca_slot { 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 104 struct pci_dev *pdev; /* requester device */ 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 105 u16 rid; /* requester id, as used by IOAT */ 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 106 }; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 107 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 108 #define IOAT_DCA_MAX_REQ 6 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 109 #define IOAT3_DCA_MAX_REQ 2 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 110 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 111 struct ioat_dca_priv { 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 112 void __iomem *iobase; 53a0c98e drivers/dma/ioat_dca.c Al Viro 2008-03-29 113 void __iomem *dca_base; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 114 int max_requesters; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 115 int requester_count; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 116 u8 tag_map[IOAT_TAG_MAP_LEN]; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 117 struct ioat_dca_slot req_slots[0]; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 118 }; 2ed6dc34 drivers/dma/ioat_dca.c Shannon Nelson 2007-10-16 119 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 120 static int ioat_dca_dev_managed(struct dca_provider *dca, 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 121 struct device *dev) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 122 { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 123 struct ioat_dca_priv *ioatdca = dca_priv(dca); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 124 struct pci_dev *pdev; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 125 int i; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 126 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 127 pdev = to_pci_dev(dev); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 128 for (i = 0; i < ioatdca->max_requesters; i++) { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 129 if (ioatdca->req_slots[i].pdev == pdev) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 130 return 1; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 131 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 132 return 0; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 133 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 134 3372de58 drivers/dma/ioat/dca.c Dave Jiang 2015-08-11 135 static int ioat_dca_add_requester(struct dca_provider *dca, struct device *dev) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 136 { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 137 struct ioat_dca_priv *ioatdca = dca_priv(dca); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 138 struct pci_dev *pdev; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 139 int i; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 140 u16 id; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 141 u16 global_req_table; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 142 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 143 /* This implementation only supports PCI-Express */ 1fde2548 drivers/dma/ioat/dca.c Yijing Wang 2013-12-05 144 if (!dev_is_pci(dev)) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 145 return -ENODEV; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 146 pdev = to_pci_dev(dev); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 147 id = dcaid_from_pcidev(pdev); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 148 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 149 if (ioatdca->requester_count == ioatdca->max_requesters) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 150 return -ENODEV; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 151 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 152 for (i = 0; i < ioatdca->max_requesters; i++) { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 153 if (ioatdca->req_slots[i].pdev == NULL) { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 154 /* found an empty slot */ 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 155 ioatdca->requester_count++; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 156 ioatdca->req_slots[i].pdev = pdev; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 157 ioatdca->req_slots[i].rid = id; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 158 global_req_table = 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 159 readw(ioatdca->dca_base + IOAT3_DCA_GREQID_OFFSET); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 160 writel(id | IOAT_DCA_GREQID_VALID, 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 161 ioatdca->iobase + global_req_table + (i * 4)); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 162 return i; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 163 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 164 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 165 /* Error, ioatdma->requester_count is out of whack */ 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 166 return -EFAULT; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 167 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 168 3372de58 drivers/dma/ioat/dca.c Dave Jiang 2015-08-11 169 static int ioat_dca_remove_requester(struct dca_provider *dca, 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 170 struct device *dev) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 171 { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 172 struct ioat_dca_priv *ioatdca = dca_priv(dca); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 173 struct pci_dev *pdev; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 174 int i; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 175 u16 global_req_table; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 176 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 177 /* This implementation only supports PCI-Express */ 1fde2548 drivers/dma/ioat/dca.c Yijing Wang 2013-12-05 178 if (!dev_is_pci(dev)) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 179 return -ENODEV; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 180 pdev = to_pci_dev(dev); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 181 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 182 for (i = 0; i < ioatdca->max_requesters; i++) { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 183 if (ioatdca->req_slots[i].pdev == pdev) { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 184 global_req_table = 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 185 readw(ioatdca->dca_base + IOAT3_DCA_GREQID_OFFSET); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 186 writel(0, ioatdca->iobase + global_req_table + (i * 4)); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 187 ioatdca->req_slots[i].pdev = NULL; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 188 ioatdca->req_slots[i].rid = 0; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 189 ioatdca->requester_count--; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 190 return i; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 191 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 192 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 193 return -ENODEV; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 194 } 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 195 3372de58 drivers/dma/ioat/dca.c Dave Jiang 2015-08-11 196 static u8 ioat_dca_get_tag(struct dca_provider *dca, 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 197 struct device *dev, 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 198 int cpu) 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 199 { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 200 u8 tag; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 201 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 202 struct ioat_dca_priv *ioatdca = dca_priv(dca); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 203 int i, apic_id, bit, value; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 204 u8 entry; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 205 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 206 tag = 0; 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 @207 apic_id = cpu_physical_id(cpu); 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 208 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 209 for (i = 0; i < IOAT_TAG_MAP_LEN; i++) { 7f1b358a drivers/dma/ioat_dca.c Maciej Sosnowski 2008-07-22 210 entry = ioatdca->tag_map[i]; :::::: The code at line 86 was first introduced by commit :::::: 2ed6dc34f9ed39bb8e4c81ea1056f0ba56315841 I/OAT: Add DCA services :::::: TO: Shannon Nelson <shannon.nelson@xxxxxxxxx> :::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip