[openib-general] Re: [PATCH 13/16] ehca: firmware InfiniBand interface
Christoph Raisch
RAISCH at de.ibm.com
Wed May 3 06:56:34 PDT 2006
Paul Mackerras <paulus at samba.org> wrote on 28.04.2006 00:42:14:
> Mind you, since a lot of the parameters are used to return individual
> bytes or half-words, which are then put into structures, it might be
> better to pass the pointers to the structures and let the wrapper put
> the values straight into the structures.
>
> Paul.
As Paul already mentioned we can't change the firmware interface.
...so we would propose the following solution:
For the two h_call wrappers with more than 8 parameters we'll change to the
following signature:
hipz_h_alloc_resource_cq(const struct ipz_adapter_handle adapter_handle,
struct ehca_cq *cq, /* used for input and output
parameters */
const struct ipz_eq_handle eq_handle);
hipz_h_alloc_resource_qp(const struct ipz_adapter_handle adapter_handle,
struct ehca_qp * qp, /* used for input and output
parameters */
struct ehca_alloc_qp_params * param); /*input
params not in ehca_qp*/
hipz_h_alloc_resource_mr(const struct ipz_adapter_handle adapter_handle,
struct ehca_mr *mr,
const u64 vaddr,
const u64 length,
const u32 access_ctrl,
const struct ipz_pd pd);
u64 hipz_h_query_mr(const struct ipz_adapter_handle adapter_handle,
struct ehca_mr *mr);
u64 hipz_h_reregister_pmr(const struct ipz_adapter_handle adapter_handle,
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);
u64 hipz_h_register_smr(const struct ipz_adapter_handle adapter_handle,
struct ehca_mr *mr,
struct ehca_mr *orig_mr,
const u64 vaddr_in,
const u32 access_ctrl,
const struct ipz_pd pd);
What do you think about this solution?
Gruss / Regards . . . Christoph Raisch
More information about the general
mailing list