Thread (17 messages) 17 messages, 3 authors, 2016-07-08

Re: [PATCH v4 1/2] ethdev: remove get_reg_length callback

From: Zyta Szpak <hidden>
Date: 2016-06-28 16:05:20

OK

On 27.06.2016 12:46, Remy Horton wrote:
Morning,


On 23/06/2016 14:26, zr@semihalf.com wrote:
quoted
From: Zyta Szpak <redacted>

Version 4 of fixing the assumption of that device registers
are always 32 bits long. rte_eth_dev_get_reg_length and
rte_eth_dev_get_reg_info callbacks did not provide register size
to the app in any way. It is needed to allocate proper number
of bytes before retrieving registers content with
rte_eth_dev_get_reg. This commit remove rte_eth_dev_get_reg_length
callback and adds width parameter to reg_info struct which makes
it possible to call rte_eth_dev_get_reg_info to get attributes
first. The drivers using this callback fill width and length
when call to function made with data=NULL.
I think this would read better as a commit message:

Removes hard-coded assumption that device registers are always 32 bits 
wide. The rte_eth_dev_get_reg_length and rte_eth_dev_get_reg_info 
callbacks did not provide register size to the app in any way, which 
is needed to allocate correct number of bytes before retrieving 
registers using rte_eth_dev_get_reg.

This commit changes rte_eth_dev_get_reg_info so that it can be used to 
retrieve both the number of registers and their width, and removes the 
now-redundant rte_eth_dev_get_reg_length.

quoted
-/**
- * Retrieve device registers and register attributes
+ * Retrieve device registers and register attributes (nb of regs and 
reg size)
  *
  * @param port_id
  *   The port identifier of the Ethernet device.
Need detail regarding how *info->data affects function behaviour. 
Something along the lines of:

/**
 * Retrieve device registers and register attributes (number of
 * registers and register size)
 *
 * @param port_id
 *   The port identifier of the Ethernet device.
 * @param info
 *   Pointer to rte_dev_reg_info structure to fill in. If info->data is
 *   NULL the function fills in the width and length fields. If non-NULL
 *   the registers are put into the buffer pointed at by the data field.

Program code itself looks good to me.

..Remy
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help