Subject: Re: [PATCH v2 3/3] net: netcp: rework the code for get/set sw_data in dma desc

From: Arnd Bergmann <[email-masked]>
Date: Fri, 19 Feb 2016 21:55:14 +0100

On Friday 19 February 2016 12:58:44 Murali Karicheri wrote:
> SW data field in descriptor can be used by software to hold private
> data for the driver. As there are 4 words available for this purpose,
> use separate macros to place it or retrieve the same to/from
> descriptors. Also do type cast of data types accordingly.
> 
> Cc: Wingman Kwok <[email-masked]>
> Cc: Mugunthan V N <[email-masked]>
> CC: Arnd Bergmann <[email-masked]>
> CC: Grygorii Strashko <[email-masked]>
> CC: David Laight <[email-masked]>
> Signed-off-by: Murali Karicheri <[email-masked]>

Looks ok in principle.

Acked-by: Arnd Bergmann <[email-masked]>

>  		get_pkt_info(&dma_buf, &tmp, &dma_desc, ndesc);
> -		get_sw_data((u32 *)&buf_ptr, &buf_len, ndesc);
> +		/* warning!!!! We are retrieving the virtual ptr in the sw_data
> +		 * field as a 32bit value. Will not work on 64bit machines
> +		 */
> +		buf_ptr = (void *)GET_SW_DATA0(ndesc);
> +		buf_len = (int)GET_SW_DATA1(desc);

I would have abstracted the retrieval of a pointer again,
and added the comment in the helper function once, it doesn't
really need to be duplicated everywhere.

	Arnd