| 850e1bb1 | 23-Feb-2022 |
Michal Krawczyk <[email protected]> |
net/ena/base: make IO memzone unique per port
Originally, the ena_com memzone counter was shared by ports, which caused the memzones to be harder to identify and could potentially lead to race and b
net/ena/base: make IO memzone unique per port
Originally, the ena_com memzone counter was shared by ports, which caused the memzones to be harder to identify and could potentially lead to race and because of that the counter had to be atomic.
This atomic counter was global variable and it couldn't work in the multiprocess implementation.
The memzone is now being identified by the local to port memzone counter and the port ID - both of those information can be found in the shared data, so it can be probed easily.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Dawid Gorecki <[email protected]> Reviewed-by: Shai Brandes <[email protected]>
show more ...
|
| 7c0a233e | 11-May-2021 |
Amit Bernstein <[email protected]> |
net/ena/base: adjust to latest ena-com
1. As memzone uses unique names, changed alloc coherent macro to use 64 bit size atomic variable to increase the memzone name space 2. "handle" param name c
net/ena/base: adjust to latest ena-com
1. As memzone uses unique names, changed alloc coherent macro to use 64 bit size atomic variable to increase the memzone name space 2. "handle" param name change to be consistent with other macros 3. Variable definition displacement 4. Backslash alignment to column 80
Signed-off-by: Amit Bernstein <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Shay Agroskin <[email protected]> Reviewed-by: Michal Krawczyk <[email protected]>
show more ...
|
| eb357d5f | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: prefetch cache with intention to write
As in the v20.11 rte_prefetch0_write API was added, it should be used in the platform file for the definition of the macro prefetchw, instead of
net/ena/base: prefetch cache with intention to write
As in the v20.11 rte_prefetch0_write API was added, it should be used in the platform file for the definition of the macro prefetchw, instead of using simply prefetch0.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Amit Bernstein <[email protected]>
show more ...
|
| 71f0a44d | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: remove mutable RSS from host info
This feature wasn't used by any of the drivers. Because of that, it was removed.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor C
net/ena/base: remove mutable RSS from host info
This feature wasn't used by any of the drivers. Because of that, it was removed.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Shay Agroskin <[email protected]>
show more ...
|
| dedd737b | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: remove indirection table from features context
The RSS indirection table shouldn't be included as a part of the device features context.
If the driver has to acquire it, it can be don
net/ena/base: remove indirection table from features context
The RSS indirection table shouldn't be included as a part of the device features context.
If the driver has to acquire it, it can be done using the separate API whenever the RSS configuration is needed.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Amit Bernstein <[email protected]>
show more ...
|
| 04a6a3e6 | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: destroy multiple wait events
Although the ENA DPDK PMD doesn't have to perform any actions for destroying the wait event, some other platforms have to.
The macro "ENA_WAIT_EVENT_DESTR
net/ena/base: destroy multiple wait events
Although the ENA DPDK PMD doesn't have to perform any actions for destroying the wait event, some other platforms have to.
The macro "ENA_WAIT_EVENT_DESTROY" was renamed to "ENA_WAIT_EVENTS_DESTROY" and also whole implementation responsible for that was moved to a separate function for better readability.
Fixes: 3adcba9a8987 ("net/ena: update HAL to the newer version") Cc: [email protected]
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]>
show more ...
|
| 83e8d537 | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: fix type conversions by explicit casting
To silence error messages from the static code analysis, make the type conversions explicit where they're intended.
Also fix the type for the
net/ena/base: fix type conversions by explicit casting
To silence error messages from the static code analysis, make the type conversions explicit where they're intended.
Also fix the type for the DMA width value.
Fixes: 99ecfbf845b3 ("ena: import communication layer") Cc: [email protected]
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]>
show more ...
|
| b19f366c | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: improve style and comments
List of changes: * Comment style was adjusted for the functions * The keys_num at "struct ena_admin_feature_rss_flow_hash_control" was renamed to the
net/ena/base: improve style and comments
List of changes: * Comment style was adjusted for the functions * The keys_num at "struct ena_admin_feature_rss_flow_hash_control" was renamed to the key_parts to better describe it's meaning * The RSS indirection table was called "REDIRECTION" -> changed to INDIRECTION * Change AENQ field "syndrom" -> "syndrome" * Calculate number of the RSS key parts or whole key by using the common way: sizeof of the first element of the RSS key * Add description of the "enum ena_admin_aq_feature_id" * Rename "map_rx_buf_bidirectional" field as "rx_buf_mirroring" * Other minor style fixes (remove extra spaces, add missing line break, improve indentation) * Remove unused macros ENA_ADMIN_EXTRA_PROPERTIES_* * Restructure the "if {} else if {} else" conditional statement for setting up the meta descriptor
Fixes: 99ecfbf845b3 ("ena: import communication layer") Fixes: b68309be44c0 ("net/ena/base: update communication layer for the ENAv2") Fixes: b2b02edeb0d6 ("net/ena/base: upgrade HAL for new HW features") Cc: [email protected]
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]>
show more ...
|
| ac2fd8a5 | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: add device argument to logging macros
Some platforms may make use of the device argument to make the logs more verbose and specific for the appropriate device.
As it's not used by the
net/ena/base: add device argument to logging macros
Some platforms may make use of the device argument to make the logs more verbose and specific for the appropriate device.
As it's not used by the ENA DPDK PMD for the logging, the type is just defined, but never used.
It may be reconsidered to change this in the future by adding port ID to the message logs, but as for now the logging behavior won't change.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]>
show more ...
|
| b4f8decd | 11-May-2021 |
Michal Krawczyk <[email protected]> |
net/ena/base: unify parameter names for functions
Instead of using 'queue' for struct ena_com_admin_queue and 'dev' for struct ena_com_dev variables, use more descriptive 'admin_queue' and 'ena_dev'
net/ena/base: unify parameter names for functions
Instead of using 'queue' for struct ena_com_admin_queue and 'dev' for struct ena_com_dev variables, use more descriptive 'admin_queue' and 'ena_dev'.
This also unifies the names of variables of the type struct ena_com_dev in the driver.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]>
show more ...
|
| 074262f6 | 17-Sep-2020 |
Michal Krawczyk <[email protected]> |
net/ena/base: simplify loop copying Rx descriptors
Checking for the cdesc not being NULL doesn't have any sense if the idx argument is not 0, so it can be skipped, as the error won't be detected any
net/ena/base: simplify loop copying Rx descriptors
Checking for the cdesc not being NULL doesn't have any sense if the idx argument is not 0, so it can be skipped, as the error won't be detected anyway.
To simplify that, only the 'i' value is being verified and the code is breaking from the infinite loop in case when all descriptors were copied into the buffer.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]>
show more ...
|
| 3c7e44c7 | 17-Sep-2020 |
Michal Krawczyk <[email protected]> |
net/ena/base: convert values to 32-bit before shifting
When filling out meta descriptor, all values should be converted to the desired type (u32 in case of the meta descriptor) to prevent losing the
net/ena/base: convert values to 32-bit before shifting
When filling out meta descriptor, all values should be converted to the desired type (u32 in case of the meta descriptor) to prevent losing the data.
For example, io_sq->phase is of type u8. If ENA_ETH_IO_TX_META_DESC_PHASE_SHIFT would be greater then 8, all data would be lost.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]>
show more ...
|
| 4ad61424 | 17-Sep-2020 |
Michal Krawczyk <[email protected]> |
net/ena/base: check null meta desc
Static code analysis showed up, that it's possible for meta_desc being NULL. To avoid dereference of the NULL pointer, extra check was added if the pointer is in f
net/ena/base: check null meta desc
Static code analysis showed up, that it's possible for meta_desc being NULL. To avoid dereference of the NULL pointer, extra check was added if the pointer is in fact valid.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]>
show more ...
|
| 39f817d0 | 17-Sep-2020 |
Michal Krawczyk <[email protected]> |
net/ena/base: store admin stats as 64-bit
To minimize chance of integer overflow, the type of admin statistics was changed from u32 to u64.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed
net/ena/base: store admin stats as 64-bit
To minimize chance of integer overflow, the type of admin statistics was changed from u32 to u64.
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]>
show more ...
|
| 41083bd5 | 17-Sep-2020 |
Michal Krawczyk <[email protected]> |
net/ena/base: add missing unlikely
To align the error checking code with other parts of the ena_com, the conditional check is being tested for the error was wrapped inside unlikely().
Signed-off-by
net/ena/base: add missing unlikely
To align the error checking code with other parts of the ena_com, the conditional check is being tested for the error was wrapped inside unlikely().
Signed-off-by: Michal Krawczyk <[email protected]> Reviewed-by: Igor Chauskin <[email protected]> Reviewed-by: Guy Tzalik <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]>
show more ...
|