1 /* 2 * Copyright IBM Corporation, 2010 3 * Author Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com> 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms of version 2.1 of the GNU Lesser General Public License 7 * as published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope that it would be useful, but 10 * WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 * 13 */ 14 15 /* TRUE if it is user context */ 16 #define P9_IS_USER_CONTEXT (!segment_eq(get_fs(), KERNEL_DS)) 17 18 /** 19 * struct trans_rpage_info - To store mapped page information in PDU. 20 * @rp_alloc:Set if this structure is allocd, not a reuse unused space in pdu. 21 * @rp_nr_pages: Number of mapped pages 22 * @rp_data: Array of page pointers 23 */ 24 struct trans_rpage_info { 25 u8 rp_alloc; 26 int rp_nr_pages; 27 struct page *rp_data[0]; 28 }; 29 30 void p9_release_req_pages(struct trans_rpage_info *); 31 int p9_payload_gup(struct p9_req_t *, size_t *, int *, int, u8); 32 int p9_nr_pages(struct p9_req_t *); 33