Re: [PATCH 13/16] ehca: firmware InfiniBand interface
From: Christoph Raisch
Date: Wed May 03 2006 - 09:55:06 EST
Paul Mackerras <paulus@xxxxxxxxx> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/