Re: [PATCH 13/16] ehca: firmware InfiniBand interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Paul Mackerras <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux