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);
337 static status_t map_device(device_info *di)
340 shared_info *si = di->si;
342 pci_info *pcii = &(di->pcii);
381 di->pcii.vendor_id, di->pcii.device_id,
382 di->pcii.bus, di->pcii.device, di->pcii.function);
388 di->pcii.u.h0.base_registers_pci[registers],
389 di->pcii.u.h0.base_register_sizes[registers],
392 (void **)&(di->regs));
393 si->clone_bugfix_regs = (uint32 *) di->regs;
400 di->pcii.vendor_id, di->pcii.device_id,
401 di->pcii.bus, di->pcii.device, di->pcii.function);
421 di->pcii.u.h0.rom_base_pci,
422 di->pcii.u.h0.rom_size,
473 di->pcii.vendor_id, di->pcii.device_id,
474 di->pcii.bus, di->pcii.device, di->pcii.function);
480 di->pcii.u.h0.base_registers_pci[frame_buffer],
481 di->pcii.u.h0.base_register_sizes[frame_buffer],
491 di->pcii.u.h0.base_registers_pci[frame_buffer],
492 di->pcii.u.h0.base_register_sizes[frame_buffer],
507 si->framebuffer_pci = (void *) di->pcii.u.h0.base_registers_pci[frame_buffer];
516 static void unmap_device(device_info *di) {
517 shared_info *si = di->si;
519 pci_info *pcii = &(di->pcii);
530 di->regs = NULL;
536 device_info *di = pd->di;
539 while ((count < MAX_DEVICES) && ((*pci_bus->get_nth_pci_info)(pci_index, &(di->pcii)) == B_NO_ERROR)) {
544 if (SupportedDevices[vendor].vendor == di->pcii.vendor_id) {
549 if (*devices == di->pcii.device_id ) {
551 sprintf(di->name, "graphics/" DEVICE_FORMAT,
552 di->pcii.vendor_id, di->pcii.device_id,
553 di->pcii.bus, di->pcii.device, di->pcii.function);
556 pd->device_names[count] = di->name;
558 di->is_open = 0;
560 di->shared_area = -1;
562 di->si = NULL;
564 di++;
603 device_info *di = (device_info *)data;
604 shared_info *si = di->si;
613 regs = di->regs;
632 device_info *di;
645 di = &(pd->di[index]);
651 if (di->is_open) {
657 di->pcii.vendor_id, di->pcii.device_id,
658 di->pcii.bus, di->pcii.device, di->pcii.function);
660 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,
662 if (di->shared_area < 0) {
664 result = di->shared_area;
669 si = di->si;
672 si->vendor_id = di->pcii.vendor_id;
673 si->device_id = di->pcii.device_id;
674 si->revision = di->pcii.revision;
675 si->bus = di->pcii.bus;
676 si->device = di->pcii.device;
677 si->function = di->pcii.function;
683 result = map_device(di);
688 si->vblank = create_sem(0, di->name);
701 regs = di->regs;
707 if ((di->pcii.u.h0.interrupt_pin == 0x00) ||
708 (di->pcii.u.h0.interrupt_line == 0xff) || /* no IRQ assigned */
709 (di->pcii.u.h0.interrupt_line <= 0x02)) /* system IRQ assigned */
720 result = install_io_interrupt_handler(di->pcii.u.h0.interrupt_line, eng_interrupt, (void *)di, 0);
727 di->is_open++;
730 *cookie = di;
739 unmap_device(di);
743 delete_area(di->shared_area);
744 di->shared_area = -1;
745 di->si = NULL;
790 device_info *di = (device_info *)dev;
791 shared_info *si = di->si;
792 vuint32 *regs = di->regs;
798 if (di->is_open > 1)
805 remove_io_interrupt_handler(di->pcii.u.h0.interrupt_line, eng_interrupt, di);
812 unmap_device(di);
815 delete_area(di->shared_area);
816 di->shared_area = -1;
817 di->si = NULL;
821 di->is_open--;
833 device_info *di = (device_info *)dev;
849 gpd->shared_info_area = di->shared_area;
856 pci_info *pcii = &(di->pcii);
864 pci_info *pcii = &(di->pcii);
872 strcpy(dn->name, di->name);
879 vuint32 *regs = di->regs;
918 pci_info *pcii = &(di->pcii);
947 pci_info *pcii = &(di->pcii);