Lines Matching full:header

181 static int intel_vsec_add_dev(struct pci_dev *pdev, struct intel_vsec_header *header,  in intel_vsec_add_dev()  argument
189 if (!intel_vsec_allowed(header->id) || intel_vsec_disabled(header->id, quirks)) in intel_vsec_add_dev()
192 if (!header->num_entries) { in intel_vsec_add_dev()
193 dev_dbg(&pdev->dev, "Invalid 0 entry count for header id %d\n", header->id); in intel_vsec_add_dev()
197 if (!header->entry_size) { in intel_vsec_add_dev()
198 dev_dbg(&pdev->dev, "Invalid 0 entry size for header id %d\n", header->id); in intel_vsec_add_dev()
206 res = kcalloc(header->num_entries, sizeof(*res), GFP_KERNEL); in intel_vsec_add_dev()
213 header->offset >>= TABLE_OFFSET_SHIFT; in intel_vsec_add_dev()
220 for (i = 0, tmp = res; i < header->num_entries; i++, tmp++) { in intel_vsec_add_dev()
221 tmp->start = pdev->resource[header->tbir].start + in intel_vsec_add_dev()
222 header->offset + i * (header->entry_size * sizeof(u32)); in intel_vsec_add_dev()
223 tmp->end = tmp->start + (header->entry_size * sizeof(u32)) - 1; in intel_vsec_add_dev()
229 intel_vsec_dev->num_resources = header->num_entries; in intel_vsec_add_dev()
232 if (header->id == VSEC_ID_SDSI) in intel_vsec_add_dev()
237 return intel_vsec_add_aux(pdev, intel_vsec_dev, intel_vsec_name(header->id)); in intel_vsec_add_dev()
243 struct intel_vsec_header **header = info->capabilities; in intel_vsec_walk_header() local
247 for ( ; *header; header++) { in intel_vsec_walk_header()
248 ret = intel_vsec_add_dev(pdev, *header, info); in intel_vsec_walk_header()
251 (*header)->id); in intel_vsec_walk_header()
266 struct intel_vsec_header header; in intel_vsec_walk_dvsec() local
281 header.rev = PCI_DVSEC_HEADER1_REV(hdr); in intel_vsec_walk_dvsec()
282 if (header.rev != 1) { in intel_vsec_walk_dvsec()
283 dev_info(&pdev->dev, "Unsupported DVSEC revision %d\n", header.rev); in intel_vsec_walk_dvsec()
287 header.length = PCI_DVSEC_HEADER1_LEN(hdr); in intel_vsec_walk_dvsec()
289 pci_read_config_byte(pdev, pos + INTEL_DVSEC_ENTRIES, &header.num_entries); in intel_vsec_walk_dvsec()
290 pci_read_config_byte(pdev, pos + INTEL_DVSEC_SIZE, &header.entry_size); in intel_vsec_walk_dvsec()
293 header.tbir = INTEL_DVSEC_TABLE_BAR(table); in intel_vsec_walk_dvsec()
294 header.offset = INTEL_DVSEC_TABLE_OFFSET(table); in intel_vsec_walk_dvsec()
297 header.id = PCI_DVSEC_HEADER2_ID(hdr); in intel_vsec_walk_dvsec()
299 ret = intel_vsec_add_dev(pdev, &header, info); in intel_vsec_walk_dvsec()
316 struct intel_vsec_header header; in intel_vsec_walk_vsec() local
327 header.rev = PCI_VNDR_HEADER_REV(hdr); in intel_vsec_walk_vsec()
328 if (header.rev != 1) { in intel_vsec_walk_vsec()
329 dev_info(&pdev->dev, "Unsupported VSEC revision %d\n", header.rev); in intel_vsec_walk_vsec()
333 header.id = PCI_VNDR_HEADER_ID(hdr); in intel_vsec_walk_vsec()
334 header.length = PCI_VNDR_HEADER_LEN(hdr); in intel_vsec_walk_vsec()
337 pci_read_config_byte(pdev, pos + INTEL_DVSEC_ENTRIES, &header.num_entries); in intel_vsec_walk_vsec()
338 pci_read_config_byte(pdev, pos + INTEL_DVSEC_SIZE, &header.entry_size); in intel_vsec_walk_vsec()
341 header.tbir = INTEL_DVSEC_TABLE_BAR(table); in intel_vsec_walk_vsec()
342 header.offset = INTEL_DVSEC_TABLE_OFFSET(table); in intel_vsec_walk_vsec()
344 ret = intel_vsec_add_dev(pdev, &header, info); in intel_vsec_walk_vsec()