Re: [2.6.19 PATCH 2/7] ehea: pHYP interface

From: Alexey Dobriyan
Date: Fri Aug 18 2006 - 11:03:35 EST


On Fri, Aug 18, 2006 at 01:30:21PM +0200, Jan-Bernd Themann wrote:
> --- linux-2.6.18-rc4-orig/drivers/net/ehea/ehea_phyp.c
> +++ kernel/drivers/net/ehea/ehea_phyp.c

> + hret = ehea_hcall_9arg_9ret(H_QUERY_HEA_QP,
> + hcp_adapter_handle, /* R4 */
> + qp_category, /* R5 */
> + qp_handle, /* R6 */
> + sel_mask, /* R7 */
> + virt_to_abs(cb_addr), /* R8 */
> + 0, 0, 0, 0, /* R9-R12 */
> + &dummy, /* R4 */
> + &dummy, /* R5 */
> + &dummy, /* R6 */
> + &dummy, /* R7 */
> + &dummy, /* R8 */
> + &dummy, /* R9 */
> + &dummy, /* R10 */
> + &dummy, /* R11 */
> + &dummy); /* R12 */

I asked SO to recount arguments and we've come to a conclusion that
there're in fact 19 args not 18 as the name suggests. 19 args is
I-N-S-A-N-E.

> +u64 ehea_h_register_rpage_eq(const u64 hcp_adapter_handle,
> + const u64 eq_handle,
> + const u8 pagesize,
> + const u8 queue_type,
> + const u64 log_pageaddr, const u64 count)
> +{
> + u64 hret = H_ADAPTER_PARM;
> +
> + if (count != 1)
> + return H_PARAMETER;
> +
> + hret = ehea_h_register_rpage(hcp_adapter_handle, pagesize, queue_type,
> + eq_handle, log_pageaddr, count);
> + return hret;

Just

return ehea_h_register_rpage(...);

> +u64 ehea_h_register_rpage_cq(const u64 hcp_adapter_handle,
> + const u64 cq_handle,
> + const u8 pagesize,
> + const u8 queue_type,
> + const u64 log_pageaddr,
> + const u64 count, const struct h_epa epa)
> +{
> + u64 hret = H_ADAPTER_PARM;
> +
> + if (count != 1)
> + return H_PARAMETER;
> +
> + hret = ehea_h_register_rpage(hcp_adapter_handle, pagesize, queue_type,
> + cq_handle, log_pageaddr, count);
> + return hret;

Ditto.

> +u64 ehea_h_register_rpage_qp(const u64 hcp_adapter_handle,
> + const u64 qp_handle,
> + const u8 pagesize,
> + const u8 queue_type,
> + const u64 log_pageaddr,
> + const u64 count, struct h_epa epa)
> +{
> + u64 hret = H_ADAPTER_PARM;
> +
> + if (count != 1)
> + return H_PARAMETER;
> +
> + hret = ehea_h_register_rpage(hcp_adapter_handle, pagesize, queue_type,
> + qp_handle, log_pageaddr, count);
> + return hret;
> +}

Ditto.

> +static inline int hcp_epas_ctor(struct h_epas *epas, u64 paddr_kernel,
> + u64 paddr_user)
> +{
> + epas->kernel.fw_handle = (u64) ioremap(paddr_kernel, PAGE_SIZE);
> + epas->user.fw_handle = paddr_user;
> + return 0;
> +}
> +
> +static inline int hcp_epas_dtor(struct h_epas *epas)
> +{
> +
> + if (epas->kernel.fw_handle)
> + iounmap((void *)epas->kernel.fw_handle);
> + epas->user.fw_handle = epas->kernel.fw_handle = 0;
> + return 0;
> +}

Always returns 0;

-
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/