Lines Matching refs:header
284 static int intel_vsec_add_dev(struct device *dev, struct intel_vsec_header *header, in intel_vsec_add_dev() argument
300 if (!intel_vsec_supported(header->id, info->caps)) in intel_vsec_add_dev()
303 if (!header->num_entries) { in intel_vsec_add_dev()
304 dev_dbg(dev, "Invalid 0 entry count for header id %d\n", header->id); in intel_vsec_add_dev()
308 if (!header->entry_size) { in intel_vsec_add_dev()
309 dev_dbg(dev, "Invalid 0 entry size for header id %d\n", header->id); in intel_vsec_add_dev()
313 intel_vsec_dev = kzalloc_flex(*intel_vsec_dev, resource, header->num_entries); in intel_vsec_add_dev()
317 intel_vsec_dev->num_resources = header->num_entries; in intel_vsec_add_dev()
321 header->offset >>= TABLE_OFFSET_SHIFT; in intel_vsec_add_dev()
328 for (i = 0, tmp = res; i < header->num_entries; i++, tmp++) { in intel_vsec_add_dev()
336 tmp->start = base_addr + header->offset + i * (header->entry_size * sizeof(u32)); in intel_vsec_add_dev()
337 tmp->end = tmp->start + (header->entry_size * sizeof(u32)) - 1; in intel_vsec_add_dev()
366 if (header->id == VSEC_ID_SDSI) in intel_vsec_add_dev()
376 intel_vsec_name(header->id)); in intel_vsec_add_dev()
437 struct intel_vsec_header *header, in intel_vsec_register_device() argument
447 ret = get_cap_id(header->id, &cap_id); in intel_vsec_register_device()
456 return intel_vsec_add_dev(dev, header, info, cap_id, base_addr); in intel_vsec_register_device()
460 return intel_vsec_add_dev(dev, header, info, cap_id, base_addr); in intel_vsec_register_device()
476 ret = intel_vsec_add_dev(dev, header, info, cap_id, base_addr); in intel_vsec_register_device()
491 struct intel_vsec_header **header = info->headers; in intel_vsec_walk_header() local
495 for ( ; *header; header++) { in intel_vsec_walk_header()
507 base_addr = pci_resource_start(pdev, (*header)->tbir); in intel_vsec_walk_header()
510 ret = intel_vsec_register_device(dev, *header, info, base_addr); in intel_vsec_walk_header()
525 struct intel_vsec_header header; in intel_vsec_walk_dvsec() local
540 header.rev = PCI_DVSEC_HEADER1_REV(hdr); in intel_vsec_walk_dvsec()
541 if (header.rev != 1) { in intel_vsec_walk_dvsec()
542 dev_info(&pdev->dev, "Unsupported DVSEC revision %d\n", header.rev); in intel_vsec_walk_dvsec()
546 header.length = PCI_DVSEC_HEADER1_LEN(hdr); in intel_vsec_walk_dvsec()
548 pci_read_config_byte(pdev, pos + INTEL_DVSEC_ENTRIES, &header.num_entries); in intel_vsec_walk_dvsec()
549 pci_read_config_byte(pdev, pos + INTEL_DVSEC_SIZE, &header.entry_size); in intel_vsec_walk_dvsec()
552 header.tbir = INTEL_DVSEC_TABLE_BAR(table); in intel_vsec_walk_dvsec()
553 header.offset = INTEL_DVSEC_TABLE_OFFSET(table); in intel_vsec_walk_dvsec()
556 header.id = PCI_DVSEC_HEADER2_ID(hdr); in intel_vsec_walk_dvsec()
558 ret = intel_vsec_register_device(&pdev->dev, &header, info, in intel_vsec_walk_dvsec()
559 pci_resource_start(pdev, header.tbir)); in intel_vsec_walk_dvsec()
576 struct intel_vsec_header header; in intel_vsec_walk_vsec() local
587 header.rev = PCI_VNDR_HEADER_REV(hdr); in intel_vsec_walk_vsec()
588 if (header.rev != 1) { in intel_vsec_walk_vsec()
589 dev_info(&pdev->dev, "Unsupported VSEC revision %d\n", header.rev); in intel_vsec_walk_vsec()
593 header.id = PCI_VNDR_HEADER_ID(hdr); in intel_vsec_walk_vsec()
594 header.length = PCI_VNDR_HEADER_LEN(hdr); in intel_vsec_walk_vsec()
597 pci_read_config_byte(pdev, pos + INTEL_DVSEC_ENTRIES, &header.num_entries); in intel_vsec_walk_vsec()
598 pci_read_config_byte(pdev, pos + INTEL_DVSEC_SIZE, &header.entry_size); in intel_vsec_walk_vsec()
601 header.tbir = INTEL_DVSEC_TABLE_BAR(table); in intel_vsec_walk_vsec()
602 header.offset = INTEL_DVSEC_TABLE_OFFSET(table); in intel_vsec_walk_vsec()
604 ret = intel_vsec_register_device(&pdev->dev, &header, info, in intel_vsec_walk_vsec()
605 pci_resource_start(pdev, header.tbir)); in intel_vsec_walk_vsec()