Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
hcp_if.c File Reference
#include <asm/hvcall.h>
#include "ehca_tools.h"
#include "hcp_if.h"
#include "hcp_phyp.h"
#include "hipz_fns.h"
#include "ipz_pt_fn.h"

Go to the source code of this file.

Macros

#define H_ALL_RES_QP_ENHANCED_OPS   EHCA_BMASK_IBM(9, 11)
 
#define H_ALL_RES_QP_PTE_PIN   EHCA_BMASK_IBM(12, 12)
 
#define H_ALL_RES_QP_SERVICE_TYPE   EHCA_BMASK_IBM(13, 15)
 
#define H_ALL_RES_QP_STORAGE   EHCA_BMASK_IBM(16, 17)
 
#define H_ALL_RES_QP_LL_RQ_CQE_POSTING   EHCA_BMASK_IBM(18, 18)
 
#define H_ALL_RES_QP_LL_SQ_CQE_POSTING   EHCA_BMASK_IBM(19, 21)
 
#define H_ALL_RES_QP_SIGNALING_TYPE   EHCA_BMASK_IBM(22, 23)
 
#define H_ALL_RES_QP_UD_AV_LKEY_CTRL   EHCA_BMASK_IBM(31, 31)
 
#define H_ALL_RES_QP_SMALL_SQ_PAGE_SIZE   EHCA_BMASK_IBM(32, 35)
 
#define H_ALL_RES_QP_SMALL_RQ_PAGE_SIZE   EHCA_BMASK_IBM(36, 39)
 
#define H_ALL_RES_QP_RESOURCE_TYPE   EHCA_BMASK_IBM(56, 63)
 
#define H_ALL_RES_QP_MAX_OUTST_SEND_WR   EHCA_BMASK_IBM(0, 15)
 
#define H_ALL_RES_QP_MAX_OUTST_RECV_WR   EHCA_BMASK_IBM(16, 31)
 
#define H_ALL_RES_QP_MAX_SEND_SGE   EHCA_BMASK_IBM(32, 39)
 
#define H_ALL_RES_QP_MAX_RECV_SGE   EHCA_BMASK_IBM(40, 47)
 
#define H_ALL_RES_QP_UD_AV_LKEY   EHCA_BMASK_IBM(32, 63)
 
#define H_ALL_RES_QP_SRQ_QP_TOKEN   EHCA_BMASK_IBM(0, 31)
 
#define H_ALL_RES_QP_SRQ_QP_HANDLE   EHCA_BMASK_IBM(0, 64)
 
#define H_ALL_RES_QP_SRQ_LIMIT   EHCA_BMASK_IBM(48, 63)
 
#define H_ALL_RES_QP_SRQ_QPN   EHCA_BMASK_IBM(40, 63)
 
#define H_ALL_RES_QP_ACT_OUTST_SEND_WR   EHCA_BMASK_IBM(16, 31)
 
#define H_ALL_RES_QP_ACT_OUTST_RECV_WR   EHCA_BMASK_IBM(48, 63)
 
#define H_ALL_RES_QP_ACT_SEND_SGE   EHCA_BMASK_IBM(8, 15)
 
#define H_ALL_RES_QP_ACT_RECV_SGE   EHCA_BMASK_IBM(24, 31)
 
#define H_ALL_RES_QP_SQUEUE_SIZE_PAGES   EHCA_BMASK_IBM(0, 31)
 
#define H_ALL_RES_QP_RQUEUE_SIZE_PAGES   EHCA_BMASK_IBM(32, 63)
 
#define H_MP_INIT_TYPE   EHCA_BMASK_IBM(44, 47)
 
#define H_MP_SHUTDOWN   EHCA_BMASK_IBM(48, 48)
 
#define H_MP_RESET_QKEY_CTR   EHCA_BMASK_IBM(49, 49)
 
#define HCALL4_REGS_FORMAT   "r4=%lx r5=%lx r6=%lx r7=%lx"
 
#define HCALL7_REGS_FORMAT   HCALL4_REGS_FORMAT " r8=%lx r9=%lx r10=%lx"
 
#define HCALL9_REGS_FORMAT   HCALL7_REGS_FORMAT " r11=%lx r12=%lx"
 

Functions

u64 hipz_h_alloc_resource_eq (const struct ipz_adapter_handle adapter_handle, struct ehca_pfeq *pfeq, const u32 neq_control, const u32 number_of_entries, struct ipz_eq_handle *eq_handle, u32 *act_nr_of_entries, u32 *act_pages, u32 *eq_ist)
 
u64 hipz_h_reset_event (const struct ipz_adapter_handle adapter_handle, struct ipz_eq_handle eq_handle, const u64 event_mask)
 
u64 hipz_h_alloc_resource_cq (const struct ipz_adapter_handle adapter_handle, struct ehca_cq *cq, struct ehca_alloc_cq_parms *param)
 
u64 hipz_h_alloc_resource_qp (const struct ipz_adapter_handle adapter_handle, struct ehca_alloc_qp_parms *parms, int is_user)
 
u64 hipz_h_query_port (const struct ipz_adapter_handle adapter_handle, const u8 port_id, struct hipz_query_port *query_port_response_block)
 
u64 hipz_h_modify_port (const struct ipz_adapter_handle adapter_handle, const u8 port_id, const u32 port_cap, const u8 init_type, const int modify_mask)
 
u64 hipz_h_query_hca (const struct ipz_adapter_handle adapter_handle, struct hipz_query_hca *query_hca_rblock)
 
u64 hipz_h_register_rpage (const struct ipz_adapter_handle adapter_handle, const u8 pagesize, const u8 queue_type, const u64 resource_handle, const u64 logical_address_of_page, u64 count)
 
u64 hipz_h_register_rpage_eq (const struct ipz_adapter_handle adapter_handle, const struct ipz_eq_handle eq_handle, struct ehca_pfeq *pfeq, const u8 pagesize, const u8 queue_type, const u64 logical_address_of_page, const u64 count)
 
u64 hipz_h_query_int_state (const struct ipz_adapter_handle adapter_handle, u32 ist)
 
u64 hipz_h_register_rpage_cq (const struct ipz_adapter_handle adapter_handle, const struct ipz_cq_handle cq_handle, struct ehca_pfcq *pfcq, const u8 pagesize, const u8 queue_type, const u64 logical_address_of_page, const u64 count, const struct h_galpa gal)
 
u64 hipz_h_register_rpage_qp (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct ehca_pfqp *pfqp, const u8 pagesize, const u8 queue_type, const u64 logical_address_of_page, const u64 count, const struct h_galpa galpa)
 
u64 hipz_h_disable_and_get_wqe (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct ehca_pfqp *pfqp, void **log_addr_next_sq_wqe2processed, void **log_addr_next_rq_wqe2processed, int dis_and_get_function_code)
 
u64 hipz_h_modify_qp (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct ehca_pfqp *pfqp, const u64 update_mask, struct hcp_modify_qp_control_block *mqpcb, struct h_galpa gal)
 
u64 hipz_h_query_qp (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct ehca_pfqp *pfqp, struct hcp_modify_qp_control_block *qqpcb, struct h_galpa gal)
 
u64 hipz_h_destroy_qp (const struct ipz_adapter_handle adapter_handle, struct ehca_qp *qp)
 
u64 hipz_h_define_aqp0 (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct h_galpa gal, u32 port)
 
u64 hipz_h_define_aqp1 (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct h_galpa gal, u32 port, u32 *pma_qp_nr, u32 *bma_qp_nr)
 
u64 hipz_h_attach_mcqp (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct h_galpa gal, u16 mcg_dlid, u64 subnet_prefix, u64 interface_id)
 
u64 hipz_h_detach_mcqp (const struct ipz_adapter_handle adapter_handle, const struct ipz_qp_handle qp_handle, struct h_galpa gal, u16 mcg_dlid, u64 subnet_prefix, u64 interface_id)
 
u64 hipz_h_destroy_cq (const struct ipz_adapter_handle adapter_handle, struct ehca_cq *cq, u8 force_flag)
 
u64 hipz_h_destroy_eq (const struct ipz_adapter_handle adapter_handle, struct ehca_eq *eq)
 
u64 hipz_h_alloc_resource_mr (const struct ipz_adapter_handle adapter_handle, const struct ehca_mr *mr, const u64 vaddr, const u64 length, const u32 access_ctrl, const struct ipz_pd pd, struct ehca_mr_hipzout_parms *outparms)
 
u64 hipz_h_register_rpage_mr (const struct ipz_adapter_handle adapter_handle, const struct ehca_mr *mr, const u8 pagesize, const u8 queue_type, const u64 logical_address_of_page, const u64 count)
 
u64 hipz_h_query_mr (const struct ipz_adapter_handle adapter_handle, const struct ehca_mr *mr, struct ehca_mr_hipzout_parms *outparms)
 
u64 hipz_h_free_resource_mr (const struct ipz_adapter_handle adapter_handle, const struct ehca_mr *mr)
 
u64 hipz_h_reregister_pmr (const struct ipz_adapter_handle adapter_handle, const struct ehca_mr *mr, const u64 vaddr_in, const u64 length, const u32 access_ctrl, const struct ipz_pd pd, const u64 mr_addr_cb, struct ehca_mr_hipzout_parms *outparms)
 
u64 hipz_h_register_smr (const struct ipz_adapter_handle adapter_handle, const struct ehca_mr *mr, const struct ehca_mr *orig_mr, const u64 vaddr_in, const u32 access_ctrl, const struct ipz_pd pd, struct ehca_mr_hipzout_parms *outparms)
 
u64 hipz_h_alloc_resource_mw (const struct ipz_adapter_handle adapter_handle, const struct ehca_mw *mw, const struct ipz_pd pd, struct ehca_mw_hipzout_parms *outparms)
 
u64 hipz_h_query_mw (const struct ipz_adapter_handle adapter_handle, const struct ehca_mw *mw, struct ehca_mw_hipzout_parms *outparms)
 
u64 hipz_h_free_resource_mw (const struct ipz_adapter_handle adapter_handle, const struct ehca_mw *mw)
 
u64 hipz_h_error_data (const struct ipz_adapter_handle adapter_handle, const u64 ressource_handle, void *rblock, unsigned long *byte_count)
 
u64 hipz_h_eoi (int irq)
 

Macro Definition Documentation

#define H_ALL_RES_QP_ACT_OUTST_RECV_WR   EHCA_BMASK_IBM(48, 63)

Definition at line 76 of file hcp_if.c.

#define H_ALL_RES_QP_ACT_OUTST_SEND_WR   EHCA_BMASK_IBM(16, 31)

Definition at line 75 of file hcp_if.c.

#define H_ALL_RES_QP_ACT_RECV_SGE   EHCA_BMASK_IBM(24, 31)

Definition at line 78 of file hcp_if.c.

#define H_ALL_RES_QP_ACT_SEND_SGE   EHCA_BMASK_IBM(8, 15)

Definition at line 77 of file hcp_if.c.

#define H_ALL_RES_QP_ENHANCED_OPS   EHCA_BMASK_IBM(9, 11)

Definition at line 52 of file hcp_if.c.

#define H_ALL_RES_QP_LL_RQ_CQE_POSTING   EHCA_BMASK_IBM(18, 18)

Definition at line 56 of file hcp_if.c.

#define H_ALL_RES_QP_LL_SQ_CQE_POSTING   EHCA_BMASK_IBM(19, 21)

Definition at line 57 of file hcp_if.c.

#define H_ALL_RES_QP_MAX_OUTST_RECV_WR   EHCA_BMASK_IBM(16, 31)

Definition at line 65 of file hcp_if.c.

#define H_ALL_RES_QP_MAX_OUTST_SEND_WR   EHCA_BMASK_IBM(0, 15)

Definition at line 64 of file hcp_if.c.

#define H_ALL_RES_QP_MAX_RECV_SGE   EHCA_BMASK_IBM(40, 47)

Definition at line 67 of file hcp_if.c.

#define H_ALL_RES_QP_MAX_SEND_SGE   EHCA_BMASK_IBM(32, 39)

Definition at line 66 of file hcp_if.c.

#define H_ALL_RES_QP_PTE_PIN   EHCA_BMASK_IBM(12, 12)

Definition at line 53 of file hcp_if.c.

#define H_ALL_RES_QP_RESOURCE_TYPE   EHCA_BMASK_IBM(56, 63)

Definition at line 62 of file hcp_if.c.

#define H_ALL_RES_QP_RQUEUE_SIZE_PAGES   EHCA_BMASK_IBM(32, 63)

Definition at line 81 of file hcp_if.c.

#define H_ALL_RES_QP_SERVICE_TYPE   EHCA_BMASK_IBM(13, 15)

Definition at line 54 of file hcp_if.c.

#define H_ALL_RES_QP_SIGNALING_TYPE   EHCA_BMASK_IBM(22, 23)

Definition at line 58 of file hcp_if.c.

#define H_ALL_RES_QP_SMALL_RQ_PAGE_SIZE   EHCA_BMASK_IBM(36, 39)

Definition at line 61 of file hcp_if.c.

#define H_ALL_RES_QP_SMALL_SQ_PAGE_SIZE   EHCA_BMASK_IBM(32, 35)

Definition at line 60 of file hcp_if.c.

#define H_ALL_RES_QP_SQUEUE_SIZE_PAGES   EHCA_BMASK_IBM(0, 31)

Definition at line 80 of file hcp_if.c.

#define H_ALL_RES_QP_SRQ_LIMIT   EHCA_BMASK_IBM(48, 63)

Definition at line 72 of file hcp_if.c.

#define H_ALL_RES_QP_SRQ_QP_HANDLE   EHCA_BMASK_IBM(0, 64)

Definition at line 71 of file hcp_if.c.

#define H_ALL_RES_QP_SRQ_QP_TOKEN   EHCA_BMASK_IBM(0, 31)

Definition at line 70 of file hcp_if.c.

#define H_ALL_RES_QP_SRQ_QPN   EHCA_BMASK_IBM(40, 63)

Definition at line 73 of file hcp_if.c.

#define H_ALL_RES_QP_STORAGE   EHCA_BMASK_IBM(16, 17)

Definition at line 55 of file hcp_if.c.

#define H_ALL_RES_QP_UD_AV_LKEY   EHCA_BMASK_IBM(32, 63)

Definition at line 69 of file hcp_if.c.

#define H_ALL_RES_QP_UD_AV_LKEY_CTRL   EHCA_BMASK_IBM(31, 31)

Definition at line 59 of file hcp_if.c.

#define H_MP_INIT_TYPE   EHCA_BMASK_IBM(44, 47)

Definition at line 83 of file hcp_if.c.

#define H_MP_RESET_QKEY_CTR   EHCA_BMASK_IBM(49, 49)

Definition at line 85 of file hcp_if.c.

#define H_MP_SHUTDOWN   EHCA_BMASK_IBM(48, 48)

Definition at line 84 of file hcp_if.c.

#define HCALL4_REGS_FORMAT   "r4=%lx r5=%lx r6=%lx r7=%lx"

Definition at line 87 of file hcp_if.c.

#define HCALL7_REGS_FORMAT   HCALL4_REGS_FORMAT " r8=%lx r9=%lx r10=%lx"

Definition at line 88 of file hcp_if.c.

#define HCALL9_REGS_FORMAT   HCALL7_REGS_FORMAT " r11=%lx r12=%lx"

Definition at line 89 of file hcp_if.c.

Function Documentation

u64 hipz_h_alloc_resource_cq ( const struct ipz_adapter_handle  adapter_handle,
struct ehca_cq cq,
struct ehca_alloc_cq_parms param 
)

Definition at line 268 of file hcp_if.c.

u64 hipz_h_alloc_resource_eq ( const struct ipz_adapter_handle  adapter_handle,
struct ehca_pfeq pfeq,
const u32  neq_control,
const u32  number_of_entries,
struct ipz_eq_handle eq_handle,
u32 act_nr_of_entries,
u32 act_pages,
u32 eq_ist 
)

Definition at line 219 of file hcp_if.c.

u64 hipz_h_alloc_resource_mr ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mr mr,
const u64  vaddr,
const u64  length,
const u32  access_ctrl,
const struct ipz_pd  pd,
struct ehca_mr_hipzout_parms outparms 
)

Definition at line 751 of file hcp_if.c.

u64 hipz_h_alloc_resource_mw ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mw mw,
const struct ipz_pd  pd,
struct ehca_mw_hipzout_parms outparms 
)

Definition at line 898 of file hcp_if.c.

u64 hipz_h_alloc_resource_qp ( const struct ipz_adapter_handle  adapter_handle,
struct ehca_alloc_qp_parms parms,
int  is_user 
)

Definition at line 307 of file hcp_if.c.

u64 hipz_h_attach_mcqp ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct h_galpa  gal,
u16  mcg_dlid,
u64  subnet_prefix,
u64  interface_id 
)

Definition at line 668 of file hcp_if.c.

u64 hipz_h_define_aqp0 ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct h_galpa  gal,
u32  port 
)

Definition at line 633 of file hcp_if.c.

u64 hipz_h_define_aqp1 ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct h_galpa  gal,
u32  port,
u32 pma_qp_nr,
u32 bma_qp_nr 
)

Definition at line 645 of file hcp_if.c.

u64 hipz_h_destroy_cq ( const struct ipz_adapter_handle  adapter_handle,
struct ehca_cq cq,
u8  force_flag 
)

Definition at line 705 of file hcp_if.c.

u64 hipz_h_destroy_eq ( const struct ipz_adapter_handle  adapter_handle,
struct ehca_eq eq 
)

Definition at line 729 of file hcp_if.c.

u64 hipz_h_destroy_qp ( const struct ipz_adapter_handle  adapter_handle,
struct ehca_qp qp 
)

Definition at line 602 of file hcp_if.c.

u64 hipz_h_detach_mcqp ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct h_galpa  gal,
u16  mcg_dlid,
u64  subnet_prefix,
u64  interface_id 
)

Definition at line 690 of file hcp_if.c.

u64 hipz_h_disable_and_get_wqe ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct ehca_pfqp pfqp,
void **  log_addr_next_sq_wqe2processed,
void **  log_addr_next_rq_wqe2processed,
int  dis_and_get_function_code 
)

Definition at line 544 of file hcp_if.c.

u64 hipz_h_eoi ( int  irq)

Definition at line 961 of file hcp_if.c.

u64 hipz_h_error_data ( const struct ipz_adapter_handle  adapter_handle,
const u64  ressource_handle,
void rblock,
unsigned long byte_count 
)

Definition at line 942 of file hcp_if.c.

u64 hipz_h_free_resource_mr ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mr mr 
)

Definition at line 836 of file hcp_if.c.

u64 hipz_h_free_resource_mw ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mw mw 
)

Definition at line 933 of file hcp_if.c.

u64 hipz_h_modify_port ( const struct ipz_adapter_handle  adapter_handle,
const u8  port_id,
const u32  port_cap,
const u8  init_type,
const int  modify_mask 
)

Definition at line 418 of file hcp_if.c.

u64 hipz_h_modify_qp ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct ehca_pfqp pfqp,
const u64  update_mask,
struct hcp_modify_qp_control_block mqpcb,
struct h_galpa  gal 
)

Definition at line 567 of file hcp_if.c.

u64 hipz_h_query_hca ( const struct ipz_adapter_handle  adapter_handle,
struct hipz_query_hca query_hca_rblock 
)

Definition at line 438 of file hcp_if.c.

u64 hipz_h_query_int_state ( const struct ipz_adapter_handle  adapter_handle,
u32  ist 
)

Definition at line 491 of file hcp_if.c.

u64 hipz_h_query_mr ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mr mr,
struct ehca_mr_hipzout_parms outparms 
)

Definition at line 816 of file hcp_if.c.

u64 hipz_h_query_mw ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mw mw,
struct ehca_mw_hipzout_parms outparms 
)

Definition at line 917 of file hcp_if.c.

u64 hipz_h_query_port ( const struct ipz_adapter_handle  adapter_handle,
const u8  port_id,
struct hipz_query_port query_port_response_block 
)

Definition at line 394 of file hcp_if.c.

u64 hipz_h_query_qp ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct ehca_pfqp pfqp,
struct hcp_modify_qp_control_block qqpcb,
struct h_galpa  gal 
)

Definition at line 589 of file hcp_if.c.

u64 hipz_h_register_rpage ( const struct ipz_adapter_handle  adapter_handle,
const u8  pagesize,
const u8  queue_type,
const u64  resource_handle,
const u64  logical_address_of_page,
u64  count 
)

Definition at line 455 of file hcp_if.c.

u64 hipz_h_register_rpage_cq ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_cq_handle  cq_handle,
struct ehca_pfcq pfcq,
const u8  pagesize,
const u8  queue_type,
const u64  logical_address_of_page,
const u64  count,
const struct h_galpa  gal 
)

Definition at line 506 of file hcp_if.c.

u64 hipz_h_register_rpage_eq ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_eq_handle  eq_handle,
struct ehca_pfeq pfeq,
const u8  pagesize,
const u8  queue_type,
const u64  logical_address_of_page,
const u64  count 
)

Definition at line 472 of file hcp_if.c.

u64 hipz_h_register_rpage_mr ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mr mr,
const u8  pagesize,
const u8  queue_type,
const u64  logical_address_of_page,
const u64  count 
)

Definition at line 777 of file hcp_if.c.

u64 hipz_h_register_rpage_qp ( const struct ipz_adapter_handle  adapter_handle,
const struct ipz_qp_handle  qp_handle,
struct ehca_pfqp pfqp,
const u8  pagesize,
const u8  queue_type,
const u64  logical_address_of_page,
const u64  count,
const struct h_galpa  galpa 
)

Definition at line 525 of file hcp_if.c.

u64 hipz_h_register_smr ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mr mr,
const struct ehca_mr orig_mr,
const u64  vaddr_in,
const u32  access_ctrl,
const struct ipz_pd  pd,
struct ehca_mr_hipzout_parms outparms 
)

Definition at line 873 of file hcp_if.c.

u64 hipz_h_reregister_pmr ( const struct ipz_adapter_handle  adapter_handle,
const struct ehca_mr mr,
const u64  vaddr_in,
const u64  length,
const u32  access_ctrl,
const struct ipz_pd  pd,
const u64  mr_addr_cb,
struct ehca_mr_hipzout_parms outparms 
)

Definition at line 845 of file hcp_if.c.

u64 hipz_h_reset_event ( const struct ipz_adapter_handle  adapter_handle,
struct ipz_eq_handle  eq_handle,
const u64  event_mask 
)

Definition at line 257 of file hcp_if.c.