#
e7750639 |
| 10-Jan-2025 |
Andre Muezerie <andremue@linux.microsoft.com> |
drivers: replace packed attributes
MSVC struct packing is not compatible with GCC. Replace macro __rte_packed with __rte_packed_begin to push existing pack value and set packing to 1-byte and macro
drivers: replace packed attributes
MSVC struct packing is not compatible with GCC. Replace macro __rte_packed with __rte_packed_begin to push existing pack value and set packing to 1-byte and macro __rte_packed_end to restore the pack value prior to the push.
Macro __rte_packed_end is deliberately utilized to trigger a MSVC compiler warning if no existing packing has been pushed allowing easy identification of locations where the __rte_packed_begin is missing.
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com> Reviewed-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
show more ...
|
#
2b843cac |
| 13-Dec-2023 |
David Marchand <david.marchand@redhat.com> |
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fen
drivers: use per line logging in helpers
Use RTE_LOG(_DP)?_LINE(_PREFIX)? in existing macros that append a \n.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
e12a0166 |
| 14-May-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microso
drivers: use stdatomic API
Replace the use of gcc builtin __atomic_xxx intrinsics with corresponding rte_atomic_xxx optional rte stdatomic API.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
show more ...
|
#
27595cd8 |
| 15-Apr-2024 |
Tyler Retzlaff <roretzla@linux.microsoft.com> |
drivers: move alignment attribute on types for MSVC
Move location of __rte_aligned(a) to new conventional location. The new placement between {struct,union} and the tag allows the desired alignment
drivers: move alignment attribute on types for MSVC
Move location of __rte_aligned(a) to new conventional location. The new placement between {struct,union} and the tag allows the desired alignment to be imparted on the type regardless of the toolchain being used for both C and C++. Additionally, it avoids confusion by Doxygen when generating documentation.
Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Morten Brørup <mb@smartsharesystems.com>
show more ...
|
#
53548ad3 |
| 18-Oct-2021 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
eventdev: hide timer adapter PMD file
Hide rte_event_timer_adapter_pmd.h file as it is an internal file. Remove rte_ prefix from rte_event_timer_adapter_ops structure.
Signed-off-by: Pavan Nikhiles
eventdev: hide timer adapter PMD file
Hide rte_event_timer_adapter_pmd.h file as it is an internal file. Remove rte_ prefix from rte_event_timer_adapter_ops structure.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
227f2835 |
| 28-Jul-2020 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
event/octeontx: validate events requested against available
Validate events configured in ssopf against the total number of events configured across all the RX/TIM event adapters.
Events available
event/octeontx: validate events requested against available
Validate events configured in ssopf against the total number of events configured across all the RX/TIM event adapters.
Events available to ssopf can be reconfigured by passing the required amount to kernel bootargs and are only limited by DRAM size. Example: ssopf.max_events= 2097152
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
show more ...
|
#
3639b4ad |
| 20-Nov-2019 |
Pavan Nikhilesh <pbhagavatula@marvell.com> |
event/octeontx: add appication domain validation
Add applicaton domain validation for OCTEON TX TIM vfs aka Event timer.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
|
#
db6a330b |
| 23-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: fix SPDX tag placement
Fixes: fd5baf09cdf9 ("event/octeontx: probe timvf PCIe devices")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Hemant Agrawal <he
event/octeontx: fix SPDX tag placement
Fixes: fd5baf09cdf9 ("event/octeontx: probe timvf PCIe devices")
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
show more ...
|
#
55fbc92d |
| 08-May-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: fix build with clang 6
Clang 6 & 7 fail to naturally align packed structs due to this clang can't use 8byte atomic primitives and splits them into lesser atomic primitives. To use le
event/octeontx: fix build with clang 6
Clang 6 & 7 fail to naturally align packed structs due to this clang can't use 8byte atomic primitives and splits them into lesser atomic primitives. To use lesser atomic primitives we need to link libatomic (-latomic), instead supply alignment attribute to the compiler.
timvf_worker.c:(.text+0x498): undefined reference to `__atomic_fetch_add_8' timvf_worker.c:(.text+0x525): undefined reference to `__atomic_store_2' timvf_worker.c:(.text+0x557): undefined reference to `__atomic_fetch_add_4' timvf_worker.c:(.text+0x5de): undefined reference to `__atomic_store_2'
Fixes: f874c1eb1519 ("event/octeontx: create and free timer adapter")
Reported-by: Andrew Rybchenko <arybchenko@solarflare.com> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
3e249bc5 |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: add option to use fpavf as chunk pool
Add compile-time configurable option to force TIMvf to use Octeontx FPAvf pool manager as its chunk pool. When FPAvf is used as pool manager the
event/octeontx: add option to use fpavf as chunk pool
Add compile-time configurable option to force TIMvf to use Octeontx FPAvf pool manager as its chunk pool. When FPAvf is used as pool manager the TIMvf automatically frees the chunks to FPAvf through gpool-id.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
show more ...
|
#
4cec5aae |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: optimize timer adapter resolution parameters
When application sets `RTE_EVENT_TIMER_ADAPTER_F_ADJUST_RES` flag while creating adapter underlying driver is free to optimize the resolu
event/octeontx: optimize timer adapter resolution parameters
When application sets `RTE_EVENT_TIMER_ADAPTER_F_ADJUST_RES` flag while creating adapter underlying driver is free to optimize the resolution for best possible configuration.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|
#
0896f7e0 |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: add burst mode for timer arm
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
|
#
7684fcf1 |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: add single producer timer arm variant
When application creates the timer adapter by passing `RTE_EVENT_TIMER_ADAPTER_F_SP_PUT` flag, we can optimize the arm sequence by removing the
event/octeontx: add single producer timer arm variant
When application creates the timer adapter by passing `RTE_EVENT_TIMER_ADAPTER_F_SP_PUT` flag, we can optimize the arm sequence by removing the locking overhead.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
show more ...
|
#
b6d814d8 |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: add multiproducer timer arm and cancel
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
|
#
d1925c87 |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: add event timer stats get and reset
Add functions to get and reset event timer adapter stats.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
|
#
ea73fed2 |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: start and stop timer device
When application requests to start the timer adapter through `rte_event_timer_adapter_start`, Octeontx TIMvf ring does the following: - Uses mbox to commu
event/octeontx: start and stop timer device
When application requests to start the timer adapter through `rte_event_timer_adapter_start`, Octeontx TIMvf ring does the following: - Uses mbox to communicate TIMpf driver about, * SCLK frequency used to convert ns<->cycles. * program the ring control parameters and start the ring. * get the exact cycle at which the TIMvf ring has started which can be used to estimate the bucket position.
On `rte_event_timer_adapter_stop` i.e stop, Octeontx TIMvf ring does the following: - Use mbox to communicate TIMpf driver about, * reset the ring control parameters and stop the ring.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
show more ...
|
#
f874c1eb |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: create and free timer adapter
When the application requests to create a timer device, Octeontx TIM create does the following: - Get the requested TIMvf ring based on adapter_id. - Ve
event/octeontx: create and free timer adapter
When the application requests to create a timer device, Octeontx TIM create does the following: - Get the requested TIMvf ring based on adapter_id. - Verify the config parameters supplied. - Allocate memory required for * Buckets based on min and max timeout supplied. * Allocate the chunk pool based on the number of timers. - Clear the interrupts.
On Free: - Free the allocated bucket and chunk memory. - Free private data used by TIMvf.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
show more ...
|
#
fd5baf09 |
| 09-Apr-2018 |
Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> |
event/octeontx: probe timvf PCIe devices
On Octeontx HW, each event timer device is enumerated as separate SRIOV VF PCIe device.
In order to expose as a event timer device: On PCIe probe, the drive
event/octeontx: probe timvf PCIe devices
On Octeontx HW, each event timer device is enumerated as separate SRIOV VF PCIe device.
In order to expose as a event timer device: On PCIe probe, the driver stores the information associated with the PCIe device and later when application requests for a event timer device through `rte_event_timer_adapter_create` the driver infrastructure creates the timer adapter with earlier probed PCIe VF devices.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
show more ...
|