Lines Matching refs:di

44 	device_info	*di;			/* pointer to the owning device */
61 device_info di[MAX_DEVICES]; /* device specific stuff */
71 static status_t map_device(device_info *di);
72 static void unmap_device(device_info *di);
523 map_device(device_info *di)
526 shared_info *si = di->si;
528 pci_info *pcii = &(di->pcii);
564 di->pcii.vendor_id, di->pcii.device_id,
565 di->pcii.bus, di->pcii.device, di->pcii.function);
567 if ((di->pcii.u.h0.base_register_flags[registers] & PCI_address_type)
578 di->pcii.u.h0.base_registers_pci[registers],
579 di->pcii.u.h0.base_register_sizes[registers],
582 (void **)&(di->regs));
583 si->clone_bugfix_regs = (uint32 *) di->regs;
590 di->pcii.vendor_id, di->pcii.device_id,
591 di->pcii.bus, di->pcii.device, di->pcii.function);
616 di->pcii.u.h0.rom_base_pci,
617 di->pcii.u.h0.rom_size,
654 dumprom(rom_temp, 65536, di->pcii);
670 di->pcii.vendor_id, di->pcii.device_id,
671 di->pcii.bus, di->pcii.device, di->pcii.function);
673 physicalAddress = di->pcii.u.h0.base_registers_pci[frame_buffer];
674 if ((di->pcii.u.h0.base_register_flags[frame_buffer] & PCI_address_type)
678 |= (uint64)di->pcii.u.h0.base_registers_pci[frame_buffer + 1] << 32;
687 di->pcii.u.h0.base_register_sizes[frame_buffer],
697 di->pcii.u.h0.base_register_sizes[frame_buffer],
716 si->ps.memory_size = di->pcii.u.h0.base_register_sizes[frame_buffer];
733 unmap_device(device_info *di)
735 shared_info *si = di->si;
737 pci_info *pcii = &(di->pcii);
751 di->regs = NULL;
760 device_info *di = pd->di;
766 && (*pci_bus->get_nth_pci_info)(pci_index, &(di->pcii)) == B_OK) {
771 if (SupportedDevices[vendor].vendor == di->pcii.vendor_id) {
776 if (*devices == di->pcii.device_id ) {
779 di->pcii.vendor_id, di->pcii.device_id,
780 di->pcii.bus, di->pcii.device, di->pcii.function);
787 sprintf(di->name, "graphics/%s", tmp_name);
789 pd->device_names[count] = di->name;
791 di->is_open = 0;
793 di->shared_area = -1;
795 di->si = NULL;
797 di++;
840 device_info *di = (device_info *)data;
841 shared_info *si = di->si;
849 regs = di->regs;
887 device_info *di;
906 di = &(pd->di[index]);
912 if (di->is_open) {
918 di->pcii.vendor_id, di->pcii.device_id,
919 di->pcii.bus, di->pcii.device, di->pcii.function);
920 di->shared_area = create_area(shared_name, (void **)&(di->si), B_ANY_KERNEL_ADDRESS,
923 if (di->shared_area < 0) {
925 result = di->shared_area;
930 si = di->si;
981 si->vendor_id = di->pcii.vendor_id;
982 si->device_id = di->pcii.device_id;
983 si->revision = di->pcii.revision;
984 si->bus = di->pcii.bus;
985 si->device = di->pcii.device;
986 si->function = di->pcii.function;
995 result = map_device(di);
1032 disable_vbi_all(di->regs);
1038 si->vblank = create_sem(0, di->name);
1048 if ((di->pcii.u.h0.interrupt_pin == 0x00) ||
1049 (di->pcii.u.h0.interrupt_line == 0xff) || /* no IRQ assigned */
1050 (di->pcii.u.h0.interrupt_line <= 0x02)) /* system IRQ assigned */
1059 result = install_io_interrupt_handler(di->pcii.u.h0.interrupt_line, nv_interrupt, (void *)di, 0);
1076 di->is_open++;
1079 *cookie = di;
1099 delete_area(di->shared_area);
1100 di->shared_area = -1;
1101 di->si = NULL;
1141 device_info *di = (device_info *)dev;
1142 shared_info *si = di->si;
1143 vuint32 *regs = di->regs;
1150 if (di->is_open > 1)
1160 remove_io_interrupt_handler(di->pcii.u.h0.interrupt_line, nv_interrupt, di);
1169 unmap_device(di);
1182 delete_area(di->shared_area);
1183 di->shared_area = -1;
1184 di->si = NULL;
1188 di->is_open--;
1199 device_info *di = (device_info *)dev;
1220 gpd.shared_info_area = di->shared_area;
1230 pci_info *pcii = &(di->pcii);
1241 pci_info *pcii = &(di->pcii);
1253 if (user_strlcpy(dn.name, di->name, B_OS_NAME_LENGTH) < B_OK)
1264 vuint32 *regs = di->regs;
1320 pci_info *pcii = &(di->pcii);
1352 pci_info *pcii = &(di->pcii);