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)));
293 UnmapDevice(DeviceInfo& di)
295 SharedInfo& si = *(di.sharedInfo);
306 di.regs = NULL;
316 DeviceInfo& di = *((DeviceInfo*)data);
317 int32* flags = &(di.flags);
329 sem_id& sem = di.sharedInfo->vertBlankSem;
347 InitInterruptHandler(DeviceInfo& di)
349 SharedInfo& si = *(di.sharedInfo);
357 si.vertBlankSem = create_sem(0, di.name);
373 if (status == B_OK && di.pciInfo.u.h0.interrupt_pin != 0x00
374 && di.pciInfo.u.h0.interrupt_line != 0xff) {
377 status = install_io_interrupt_handler(di.pciInfo.u.h0.interrupt_line,
378 InterruptHandler, (void*)(&di), 0);
393 InitDevice(DeviceInfo& di)
403 pci_info& pciInfo = di.pciInfo;
410 di.sharedArea = create_area(sharedName, (void**) &(di.sharedInfo),
414 if (di.sharedArea < 0)
415 return di.sharedArea; // return error code
417 SharedInfo& si = *(di.sharedInfo);
422 si.chipType = di.pChipInfo->chipType;
423 strcpy(si.chipName, di.pChipInfo->chipName);
434 status_t status = MapDevice(di);
436 delete_area(di.sharedArea);
437 di.sharedArea = -1;
438 di.sharedInfo = NULL;
442 InitInterruptHandler(di);
632 DeviceInfo& di = gDeviceInfo[count];
634 const ChipInfo* pDevice = GetNextSupportedDevice(pciIndex, di.pciInfo);
639 sprintf(di.name, "graphics/" DEVICE_FORMAT,
640 di.pciInfo.vendor_id, di.pciInfo.device_id,
641 di.pciInfo.bus, di.pciInfo.device, di.pciInfo.function);
642 TRACE("init_driver() match found; name: %s\n", di.name);
644 gDeviceNames[count] = di.name;
645 di.openCount = 0; // mark driver as available for R/W open
646 di.sharedArea = -1; // indicate shared area not yet created
647 di.sharedInfo = NULL;
648 di.pChipInfo = pDevice;
711 DeviceInfo& di = gDeviceInfo[index];
715 if (di.openCount == 0)
716 status = InitDevice(di);
721 di.openCount++; // mark device open
722 *cookie = &di; // send cookie to opener
725 TRACE("device_open() returning 0x%lx, open count: %ld\n", status, di.openCount);
769 DeviceInfo& di = *((DeviceInfo*)dev);
770 SharedInfo& si = *(di.sharedInfo);
771 pci_info& pciInfo = di.pciInfo;
779 if (di.openCount <= 1) {
783 remove_io_interrupt_handler(pciInfo.u.h0.interrupt_line, InterruptHandler, &di);
791 UnmapDevice(di); // free regs and frame buffer areas
793 delete_area(di.sharedArea);
794 di.sharedArea = -1;
795 di.sharedInfo = NULL;
798 if (di.openCount > 0)
799 di.openCount--; // mark device available
803 TRACE("exit device_free() openCount: %ld\n", di.openCount);
811 DeviceInfo& di = *((DeviceInfo*)dev);
823 strncpy((char*)buf, di.name, B_OS_NAME_LENGTH);
831 gpd->sharedInfoArea = di.sharedArea;