Lines Matching refs:area
113 struct ptcal_area *area; in cbe_ptcal_enable_on_node() local
120 area = kmalloc(sizeof(*area), GFP_KERNEL); in cbe_ptcal_enable_on_node()
121 if (!area) in cbe_ptcal_enable_on_node()
124 area->nid = nid; in cbe_ptcal_enable_on_node()
125 area->order = order; in cbe_ptcal_enable_on_node()
126 area->pages = alloc_pages_exact_node(area->nid, in cbe_ptcal_enable_on_node()
128 area->order); in cbe_ptcal_enable_on_node()
130 if (!area->pages) { in cbe_ptcal_enable_on_node()
132 __func__, area->nid); in cbe_ptcal_enable_on_node()
141 addr = __pa(page_address(area->pages)) + (PAGE_SIZE >> 1); in cbe_ptcal_enable_on_node()
143 __func__, area->nid, addr); in cbe_ptcal_enable_on_node()
146 if (rtas_call(ptcal_start_tok, 3, 1, NULL, area->nid, in cbe_ptcal_enable_on_node()
154 list_add(&area->list, &ptcal_list); in cbe_ptcal_enable_on_node()
159 __free_pages(area->pages, area->order); in cbe_ptcal_enable_on_node()
161 kfree(area); in cbe_ptcal_enable_on_node()
212 struct ptcal_area *area, *tmp; in cbe_ptcal_disable() local
217 list_for_each_entry_safe(area, tmp, &ptcal_list, list) { in cbe_ptcal_disable()
219 if (rtas_call(ptcal_stop_tok, 1, 1, NULL, area->nid)) { in cbe_ptcal_disable()
222 area->nid); in cbe_ptcal_disable()
228 memset(page_address(area->pages), 0, in cbe_ptcal_disable()
229 1 << (area->order + PAGE_SHIFT)); in cbe_ptcal_disable()
232 list_del(&area->list); in cbe_ptcal_disable()
233 __free_pages(area->pages, area->order); in cbe_ptcal_disable()
234 kfree(area); in cbe_ptcal_disable()