Lines Matching refs:di

50 	device_info	*di;			/* pointer to the owning device */
67 device_info di[MAX_DEVICES]; /* device specific stuff */
77 static status_t map_device(device_info *di);
78 static void unmap_device(device_info *di);
328 static status_t map_device(device_info *di)
331 shared_info *si = di->si;
333 pci_info *pcii = &(di->pcii);
372 di->pcii.vendor_id, di->pcii.device_id,
373 di->pcii.bus, di->pcii.device, di->pcii.function);
379 di->pcii.u.h0.base_registers_pci[registers],
380 di->pcii.u.h0.base_register_sizes[registers],
383 (void **)&(di->regs));
384 si->clone_bugfix_regs = (uint32 *) di->regs;
391 di->pcii.vendor_id, di->pcii.device_id,
392 di->pcii.bus, di->pcii.device, di->pcii.function);
412 di->pcii.u.h0.rom_base_pci,
413 di->pcii.u.h0.rom_size,
464 di->pcii.vendor_id, di->pcii.device_id,
465 di->pcii.bus, di->pcii.device, di->pcii.function);
471 di->pcii.u.h0.base_registers_pci[frame_buffer],
472 di->pcii.u.h0.base_register_sizes[frame_buffer],
482 di->pcii.u.h0.base_registers_pci[frame_buffer],
483 di->pcii.u.h0.base_register_sizes[frame_buffer],
498 si->framebuffer_pci = (void *) di->pcii.u.h0.base_registers_pci[frame_buffer];
507 static void unmap_device(device_info *di) {
508 shared_info *si = di->si;
510 pci_info *pcii = &(di->pcii);
521 di->regs = NULL;
527 device_info *di = pd->di;
530 while ((count < MAX_DEVICES) && ((*pci_bus->get_nth_pci_info)(pci_index, &(di->pcii)) == B_NO_ERROR)) {
535 if (SupportedDevices[vendor].vendor == di->pcii.vendor_id) {
540 if (*devices == di->pcii.device_id ) {
542 sprintf(di->name, "graphics/" DEVICE_FORMAT,
543 di->pcii.vendor_id, di->pcii.device_id,
544 di->pcii.bus, di->pcii.device, di->pcii.function);
547 pd->device_names[count] = di->name;
549 di->is_open = 0;
551 di->shared_area = -1;
553 di->si = NULL;
555 di++;
594 device_info *di = (device_info *)data;
595 shared_info *si = di->si;
604 regs = di->regs;
623 device_info *di;
636 di = &(pd->di[index]);
642 if (di->is_open) {
648 di->pcii.vendor_id, di->pcii.device_id,
649 di->pcii.bus, di->pcii.device, di->pcii.function);
651 di->shared_area = create_area(shared_name, (void **)&(di->si), B_ANY_KERNEL_ADDRESS, ((sizeof(shared_info) + (B_PAGE_SIZE - 1)) & ~(B_PAGE_SIZE - 1)), B_FULL_LOCK,
653 if (di->shared_area < 0) {
655 result = di->shared_area;
660 si = di->si;
663 si->vendor_id = di->pcii.vendor_id;
664 si->device_id = di->pcii.device_id;
665 si->revision = di->pcii.revision;
666 si->bus = di->pcii.bus;
667 si->device = di->pcii.device;
668 si->function = di->pcii.function;
695 result = map_device(di);
700 si->vblank = create_sem(0, di->name);
713 regs = di->regs;
719 if ((di->pcii.u.h0.interrupt_pin == 0x00) ||
720 (di->pcii.u.h0.interrupt_line == 0xff) || /* no IRQ assigned */
721 (di->pcii.u.h0.interrupt_line <= 0x02)) /* system IRQ assigned */
732 result = install_io_interrupt_handler(di->pcii.u.h0.interrupt_line, eng_interrupt, (void *)di, 0);
739 di->is_open++;
742 *cookie = di;
751 unmap_device(di);
755 delete_area(di->shared_area);
756 di->shared_area = -1;
757 di->si = NULL;
802 device_info *di = (device_info *)dev;
803 shared_info *si = di->si;
804 vuint32 *regs = di->regs;
810 if (di->is_open > 1)
817 remove_io_interrupt_handler(di->pcii.u.h0.interrupt_line, eng_interrupt, di);
824 unmap_device(di);
827 delete_area(di->shared_area);
828 di->shared_area = -1;
829 di->si = NULL;
833 di->is_open--;
845 device_info *di = (device_info *)dev;
861 gpd->shared_info_area = di->shared_area;
868 pci_info *pcii = &(di->pcii);
876 pci_info *pcii = &(di->pcii);
884 strcpy(dn->name, di->name);
891 vuint32 *regs = di->regs;
930 pci_info *pcii = &(di->pcii);
959 pci_info *pcii = &(di->pcii);