Lines Matching refs:rect
59 static void hardwall_add_proc(struct hardwall_info *rect);
60 static void hardwall_remove_proc(struct hardwall_info *rect);
225 struct hardwall_info *rect; in do_hardwall_trap() local
240 list_for_each_entry(rect, &rectangles, list) { in do_hardwall_trap()
241 if (contains(rect, x, y)) in do_hardwall_trap()
250 BUG_ON(&rect->list == &rectangles); in do_hardwall_trap()
257 if (rect->teardown_in_progress) { in do_hardwall_trap()
272 rect->teardown_in_progress = 1; in do_hardwall_trap()
280 list_for_each_entry(p, &rect->task_head, thread.hardwall_list) { in do_hardwall_trap()
281 BUG_ON(p->thread.hardwall != rect); in do_hardwall_trap()
342 struct hardwall_info *iter, *rect; in hardwall_create() local
374 rect = kmalloc(sizeof(struct hardwall_info), in hardwall_create()
376 if (rect == NULL) in hardwall_create()
378 INIT_LIST_HEAD(&rect->task_head); in hardwall_create()
381 rc = setup_rectangle(rect, &mask); in hardwall_create()
383 kfree(rect); in hardwall_create()
390 if (overlaps(iter, rect)) { in hardwall_create()
392 kfree(rect); in hardwall_create()
396 list_add_tail(&rect->list, &rectangles); in hardwall_create()
400 hardwall_setup(rect); in hardwall_create()
403 hardwall_add_proc(rect); in hardwall_create()
405 return rect; in hardwall_create()
409 static int hardwall_activate(struct hardwall_info *rect) in hardwall_activate() argument
417 if (rect == NULL) in hardwall_activate()
421 if (rect->teardown_in_progress) in hardwall_activate()
436 if (!contains(rect, x, y)) in hardwall_activate()
441 BUG_ON(ts->hardwall != rect); in hardwall_activate()
446 ts->hardwall = rect; in hardwall_activate()
448 list_add(&ts->hardwall_list, &rect->task_head); in hardwall_activate()
630 static void hardwall_destroy(struct hardwall_info *rect) in hardwall_destroy() argument
637 if (rect == NULL) in hardwall_destroy()
648 list_for_each_entry(task, &rect->task_head, thread.hardwall_list) in hardwall_destroy()
654 rect->width, rect->height, rect->ulhc_x, rect->ulhc_y); in hardwall_destroy()
655 fill_mask(rect, &mask); in hardwall_destroy()
663 hardwall_remove_proc(rect); in hardwall_destroy()
667 BUG_ON(!list_empty(&rect->task_head)); in hardwall_destroy()
668 list_del(&rect->list); in hardwall_destroy()
670 kfree(rect); in hardwall_destroy()
676 struct hardwall_info *rect = sf->private; in hardwall_proc_show() local
679 int rc = cpulist_scnprintf(buf, sizeof(buf), &rect->cpumask); in hardwall_proc_show()
698 static void hardwall_add_proc(struct hardwall_info *rect) in hardwall_add_proc() argument
701 snprintf(buf, sizeof(buf), "%d", rect->id); in hardwall_add_proc()
703 &hardwall_proc_fops, rect); in hardwall_add_proc()
706 static void hardwall_remove_proc(struct hardwall_info *rect) in hardwall_remove_proc() argument
709 snprintf(buf, sizeof(buf), "%d", rect->id); in hardwall_remove_proc()
715 struct hardwall_info *rect = task->thread.hardwall; in proc_pid_hardwall() local
716 return rect ? sprintf(buffer, "%d\n", rect->id) : 0; in proc_pid_hardwall()
732 struct hardwall_info *rect = file->private_data; in hardwall_ioctl() local
741 if (rect != NULL) in hardwall_ioctl()
743 rect = hardwall_create(_IOC_SIZE(a), in hardwall_ioctl()
745 if (IS_ERR(rect)) in hardwall_ioctl()
746 return PTR_ERR(rect); in hardwall_ioctl()
747 file->private_data = rect; in hardwall_ioctl()
751 return hardwall_activate(rect); in hardwall_ioctl()
754 if (current->thread.hardwall != rect) in hardwall_ioctl()
759 return rect ? rect->id : -EINVAL; in hardwall_ioctl()
778 struct hardwall_info *rect = file->private_data; in hardwall_flush() local
782 if (rect) { in hardwall_flush()
792 list_for_each_entry_safe(task, tmp, &rect->task_head, in hardwall_flush()