Lines Matching refs:di

180 MapDevice(DeviceInfo& di)
183 SharedInfo& si = *(di.sharedInfo);
184 pci_info& pciInfo = di.pciInfo;
209 if (S3_SAVAGE_FAMILY(di.pChipInfo->chipType)) {
210 if (S3_SAVAGE_3D_SERIES(di.pChipInfo->chipType)) {
249 (void**)(&(di.regs)));
294 UnmapDevice(DeviceInfo& di)
296 SharedInfo& si = *(di.sharedInfo);
307 di.regs = NULL;
317 DeviceInfo& di = *((DeviceInfo*)data);
318 int32* flags = &(di.flags);
330 sem_id& sem = di.sharedInfo->vertBlankSem;
348 InitInterruptHandler(DeviceInfo& di)
350 SharedInfo& si = *(di.sharedInfo);
358 si.vertBlankSem = create_sem(0, di.name);
374 if (status == B_OK && di.pciInfo.u.h0.interrupt_pin != 0x00
375 && di.pciInfo.u.h0.interrupt_line != 0xff) {
378 status = install_io_interrupt_handler(di.pciInfo.u.h0.interrupt_line,
379 InterruptHandler, (void*)(&di), 0);
394 InitDevice(DeviceInfo& di)
404 pci_info& pciInfo = di.pciInfo;
411 di.sharedArea = create_area(sharedName, (void**) &(di.sharedInfo),
416 if (di.sharedArea < 0)
417 return di.sharedArea; // return error code
419 SharedInfo& si = *(di.sharedInfo);
424 si.chipType = di.pChipInfo->chipType;
425 strcpy(si.chipName, di.pChipInfo->chipName);
436 status_t status = MapDevice(di);
438 delete_area(di.sharedArea);
439 di.sharedArea = -1;
440 di.sharedInfo = NULL;
444 InitInterruptHandler(di);
634 DeviceInfo& di = gDeviceInfo[count];
636 const ChipInfo* pDevice = GetNextSupportedDevice(pciIndex, di.pciInfo);
641 sprintf(di.name, "graphics/" DEVICE_FORMAT,
642 di.pciInfo.vendor_id, di.pciInfo.device_id,
643 di.pciInfo.bus, di.pciInfo.device, di.pciInfo.function);
644 TRACE("init_driver() match found; name: %s\n", di.name);
646 gDeviceNames[count] = di.name;
647 di.openCount = 0; // mark driver as available for R/W open
648 di.sharedArea = -1; // indicate shared area not yet created
649 di.sharedInfo = NULL;
650 di.pChipInfo = pDevice;
714 DeviceInfo& di = gDeviceInfo[index];
718 if (di.openCount == 0)
719 status = InitDevice(di);
724 di.openCount++; // mark device open
725 *cookie = &di; // send cookie to opener
728 TRACE("device_open() returning 0x%lx, open count: %ld\n", status, di.openCount);
772 DeviceInfo& di = *((DeviceInfo*)dev);
773 SharedInfo& si = *(di.sharedInfo);
774 pci_info& pciInfo = di.pciInfo;
782 if (di.openCount <= 1) {
786 remove_io_interrupt_handler(pciInfo.u.h0.interrupt_line, InterruptHandler, &di);
794 UnmapDevice(di); // free regs and frame buffer areas
796 delete_area(di.sharedArea);
797 di.sharedArea = -1;
798 di.sharedInfo = NULL;
801 if (di.openCount > 0)
802 di.openCount--; // mark device available
806 TRACE("exit device_free() openCount: %ld\n", di.openCount);
814 DeviceInfo& di = *((DeviceInfo*)dev);
826 strncpy((char*)buf, di.name, B_OS_NAME_LENGTH);
834 gpd->sharedInfoArea = di.sharedArea;