Lines Matching defs:si

60 	shared_info	*si;				/* a pointer to the shared area, for convenience */
323 shared_info *si = di->si;
351 si->use_clone_bugfix = 1;
355 si->use_clone_bugfix = 0;
366 si->regs_in_fb = true;
370 si->regs_in_fb = false;
377 si->regs_area = map_physical_memory(
382 B_CLONEABLE_AREA | (si->use_clone_bugfix ? B_READ_AREA|B_WRITE_AREA : 0),
384 si->clone_bugfix_regs = (uint32 *) di->regs;
387 if (si->regs_area < 0) return si->regs_area;
394 si->regs2_area = map_physical_memory(
399 B_CLONEABLE_AREA | (si->use_clone_bugfix ? B_READ_AREA|B_WRITE_AREA : 0),
401 si->clone_bugfix_regs2 = (uint32 *) di->regs2;
404 if (si->regs2_area < 0)
406 delete_area(si->regs_area);
407 si->regs_area = -1;
409 return si->regs2_area;
462 if (si->regs_area >= 0)
464 delete_area(si->regs_area);
465 si->regs_area = -1;
467 if (si->regs2_area >= 0)
469 delete_area(si->regs2_area);
470 si->regs2_area = -1;
479 memcpy (si->rom_mirror, rom_temp, 65536);
493 si->fb_area = map_physical_memory(
499 &(si->framebuffer));
502 if (si->fb_area < 0) {
503 si->fb_area = map_physical_memory(
509 &(si->framebuffer));
513 if (si->fb_area < 0)
515 if (si->regs_area >= 0)
517 delete_area(si->regs_area);
518 si->regs_area = -1;
520 if (si->regs2_area >= 0)
522 delete_area(si->regs2_area);
523 si->regs2_area = -1;
525 return si->fb_area;
533 di->regs = (uint32 *)((uint8 *)si->framebuffer + 0x100000);
534 si->clone_bugfix_regs = (uint32 *) di->regs;
539 di->regs = (uint32 *)((uint8 *)si->framebuffer + 0x200000);
540 si->clone_bugfix_regs = (uint32 *) di->regs;
545 si->framebuffer_pci = (void *) di->pcii.u.h0.base_registers_pci[frame_buffer];
548 si->settings = current_settings;
551 return si->fb_area;
555 shared_info *si = di->si;
564 if (si->regs2_area >= 0) delete_area(si->regs2_area);
565 if (si->regs_area >= 0) delete_area(si->regs_area);
566 if (si->fb_area >= 0) delete_area(si->fb_area);
567 si->regs2_area = si->regs_area = si->fb_area = -1;
568 si->framebuffer = NULL;
601 di->si = NULL;
625 static uint32 thread_interrupt_work(int32 *flags, vuint32 *regs, vuint32 *regs2, shared_info *si) {
628 if (si->vblank >= 0) {
630 if ((get_sem_count(si->vblank, &blocked) == B_OK) && (blocked < 0)) {
631 release_sem_etc(si->vblank, -blocked, B_DO_NOT_RESCHEDULE);
643 shared_info *si = di->si;
644 int32 *flags = &(si->flags);
660 handled = thread_interrupt_work(flags, regs, regs2, si);
673 shared_info *si;
699 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,
708 si = di->si;
711 si->vendor_id = di->pcii.vendor_id;
712 si->device_id = di->pcii.device_id;
713 si->revision = di->pcii.revision;
716 si->accelerant_in_use = false;
729 si->ps.int_assigned = false;
732 si->vblank = create_sem(0, di->name);
733 if (si->vblank < 0) goto mark_as_open;
739 set_sem_owner(si->vblank, thinfo.team);
747 delete_sem(si->vblank);
748 si->vblank = -1;
758 delete_sem(si->vblank);
759 si->vblank = -1;
764 si->ps.int_assigned = true;
782 di->si = NULL;
829 shared_info *si = di->si;
843 if (si->ps.int_assigned)
849 delete_sem(si->vblank);
850 si->vblank = -1;
859 di->si = NULL;