Lines Matching refs:hpa

231 	unsigned long hpa;  member
241 if (pdev->hpa.start == d->hpa) { in find_device()
249 static struct parisc_device *find_device_by_addr(unsigned long hpa) in find_device_by_addr() argument
252 .hpa = hpa, in find_device_by_addr()
473 alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path) in alloc_pa_dev() argument
482 if (find_device_by_addr(hpa) != NULL) in alloc_pa_dev()
485 status = pdc_iodc_read(&bytecnt, hpa, 0, &iodc_data, 32); in alloc_pa_dev()
502 dev->hpa.name = parisc_pathname(dev); in alloc_pa_dev()
503 dev->hpa.start = hpa; in alloc_pa_dev()
508 if (hpa == 0xf4000000 || hpa == 0xf8000000) { in alloc_pa_dev()
509 dev->hpa.end = hpa + 0x03ffffff; in alloc_pa_dev()
510 } else if (hpa == 0xf6000000 || hpa == 0xfa000000) { in alloc_pa_dev()
511 dev->hpa.end = hpa + 0x01ffffff; in alloc_pa_dev()
513 dev->hpa.end = hpa + 0xfff; in alloc_pa_dev()
515 dev->hpa.flags = IORESOURCE_MEM; in alloc_pa_dev()
524 if ((hpa & 0xfff) == 0 && insert_resource(&iomem_resource, &dev->hpa)) in alloc_pa_dev()
525 pr_warn("Unable to claim HPA %lx for device %s\n", hpa, name); in alloc_pa_dev()
777 ((gsc_readl(dev->hpa.start + offsetof(struct bc_module, io_status)) \
786 #define READ_IO_IO_LOW(dev) (unsigned long)(signed int)gsc_readl(dev->hpa.start + IO_IO_LOW)
787 #define READ_IO_IO_HIGH(dev) (unsigned long)(signed int)gsc_readl(dev->hpa.start + IO_IO_HIGH)
826 unsigned long hpa = io_io_low; in walk_native_bus() local
831 for(i = 0; i < MAX_NATIVE_DEVICES; i++, hpa += NATIVE_DEVICE_OFFSET) { in walk_native_bus()
835 dev = find_device_by_addr(hpa); in walk_native_bus()
838 dev = alloc_pa_dev(hpa, &path); in walk_native_bus()
847 } while(!devices_found && hpa < io_io_high); in walk_native_bus()
872 ++count, dev->name, (void*) dev->hpa.start, hw_path, dev->id.hw_type, in print_parisc_device()
946 unsigned long hpa = dev->hpa.start; in qemu_print_hpa() local
948 pr_cont("\t{\t.hpa = 0x%08lx,\\\n", hpa); in qemu_print_hpa()
949 pr_cont("\t\t.iodc = &iodc_data_hpa_%08lx,\\\n", hpa); in qemu_print_hpa()
950 pr_cont("\t\t.mod_info = &mod_info_hpa_%08lx,\\\n", hpa); in qemu_print_hpa()
951 pr_cont("\t\t.mod_path = &mod_path_hpa_%08lx,\\\n", hpa); in qemu_print_hpa()
952 pr_cont("\t\t.num_addr = HPA_%08lx_num_addr,\\\n", hpa); in qemu_print_hpa()
953 pr_cont("\t\t.add_addr = { HPA_%08lx_add_addr } },\\\n", hpa); in qemu_print_hpa()
971 unsigned long hpa = dev->hpa.start; in qemu_print_iodc_data() local
979 status = pdc_iodc_read(&count, hpa, 0, in qemu_print_iodc_data()
982 pr_info("No IODC data for hpa 0x%08lx\n", hpa); in qemu_print_iodc_data()
989 hpa, parisc_hardware_description(&dev->id)); in qemu_print_iodc_data()
995 } while (status == PDC_OK && pdc_mod_info.mod_addr != hpa); in qemu_print_iodc_data()
998 " mod_info_hpa_%08lx = {\n", hpa); in qemu_print_iodc_data()
1008 "mod_path_hpa_%08lx = {\n", hpa); in qemu_print_iodc_data()
1025 pr_info("static struct pdc_iodc iodc_data_hpa_%08lx = {\n", hpa); in qemu_print_iodc_data()
1046 pr_info("#define HPA_%08lx_num_addr %d\n", hpa, dev->num_addrs); in qemu_print_iodc_data()
1047 pr_info("#define HPA_%08lx_add_addr ", hpa); in qemu_print_iodc_data()