| 7be66a3b | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: update config defines as runtime options
The new devarg names and their default values are listed below. The defaults have not changed, and none of these parameters are accessed in the f
event/dlb2: update config defines as runtime options
The new devarg names and their default values are listed below. The defaults have not changed, and none of these parameters are accessed in the fast path.
poll_interval=1000 sw_credit_quantai=32 default_depth_thresh=256
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| d4a06a39 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: use new combined register map
All references to the old register map have been removed, so it is safe to rename the new combined file that supports both DLB v2.0 and DLB v2.5. Also fixed
event/dlb2: use new combined register map
All references to the old register map have been removed, so it is safe to rename the new combined file that supports both DLB v2.0 and DLB v2.5. Also fixed all places where this file is included.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 037a6167 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: use new implementation of HW types header
As support for DLB v2.5 was added, modifications were made to dlb_hw_types_new.h, but the old file needed to be preserved during the port in ord
event/dlb2: use new implementation of HW types header
As support for DLB v2.5 was added, modifications were made to dlb_hw_types_new.h, but the old file needed to be preserved during the port in order to meet the requirement that individual patches in a series each compile successfully. Since the DLB v2.5 support is completely integrated, it is now safe to remove the old (original) file, as well as the DLB2_USE_NEW_HEADERS define that was used to control which version of the file was to be included in certain source files. It is now safe to rename the new file, and use it unconditionally in all DLB source files.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 1857f192 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: use new implementation of resource file
The file dlb_resource_new.c now contains all of the low level functions required to support both DLB v2.0 and DLB v2.5, and the original file (dlb
event/dlb2: use new implementation of resource file
The file dlb_resource_new.c now contains all of the low level functions required to support both DLB v2.0 and DLB v2.5, and the original file (dlb_resource.c) was removed in the previous commit, so rename dlb_resource_new.c to dlb_resource.c, and update the meson build file so that the new file is built.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 537399a9 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 sequence number management
Update the low level HW functions that perform the sequence number management functions. These include getting a groups number of sequence numbers per
event/dlb2: add v2.5 sequence number management
Update the low level HW functions that perform the sequence number management functions. These include getting a groups number of sequence numbers per queue, managing in-use slots, getting the current occupancy, and setting sequence numbers for a group.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| faa60718 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 sparse CQ mode
Update the low level HW functions responsible for configuring sparse CQ mode, where each cache line contains just one QE instead of 4.
The logic is very similar
event/dlb2: add v2.5 sparse CQ mode
Update the low level HW functions responsible for configuring sparse CQ mode, where each cache line contains just one QE instead of 4.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 04a30728 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 finish map/unmap
Update the low level HW functions responsible for finishing the queue map/unmap operation, which is an asynchronous operation.
The logic is very similar to wha
event/dlb2: add v2.5 finish map/unmap
Update the low level HW functions responsible for finishing the queue map/unmap operation, which is an asynchronous operation.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| e199c68f | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 queue depth functions
Update the low level hardware functions responsible for getting the queue depth. The command arguments are also validated.
The logic is very similar to wh
event/dlb2: add v2.5 queue depth functions
Update the low level hardware functions responsible for getting the queue depth. The command arguments are also validated.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 29faf423 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 start domain
Update the low level HW functions responsible for starting the scheduling domain. Once a domain is started, its resources can no longer be configured, except for QI
event/dlb2: add v2.5 start domain
Update the low level HW functions responsible for starting the scheduling domain. Once a domain is started, its resources can no longer be configured, except for QID remapping and port enable/disable. The start domain arguments are validated, and an error is returned if validation fails, or if the domain is not configured or has already been started.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| cf55ad9e | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 queue unmap
Update the low level HW functions responsible for removing the linkage between a queue and a load balanced port. Runtime checks are performed on the port and queue t
event/dlb2: add v2.5 queue unmap
Update the low level HW functions responsible for removing the linkage between a queue and a load balanced port. Runtime checks are performed on the port and queue to make sure the state is appropriate for the unmap operation, and the unmap arguments are also validated.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 716933a0 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 queue id map
Update the low level HW functions responsible for mapping queues to ports. These functions also validate the map arguments and verify that the maximum number of que
event/dlb2: add v2.5 queue id map
Update the low level HW functions responsible for mapping queues to ports. These functions also validate the map arguments and verify that the maximum number of queues linked to a load balanced port does not exceed the capabilities of the hardware.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 47cbc571 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 create dir queue
Update the low level HW functions responsible for creating directed queues. These functions configure the depth threshold, configure queue depth, and validate t
event/dlb2: add v2.5 create dir queue
Update the low level HW functions responsible for creating directed queues. These functions configure the depth threshold, configure queue depth, and validate the queue creation arguments.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 439ec6ae | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 create dir port
Update the low level HW functions responsible for creating directed ports. These functions create the producer port (PP), configure the consumer queue (CQ), conf
event/dlb2: add v2.5 create dir port
Update the low level HW functions responsible for creating directed ports. These functions create the producer port (PP), configure the consumer queue (CQ), configure queue depth, and validate the port creation arguments.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| ca128622 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 create LDB port
Update the low level HW functions responsible for creating load balanced ports. These functions create the producer port (PP), configure the consumer queue (CQ),
event/dlb2: add v2.5 create LDB port
Update the low level HW functions responsible for creating load balanced ports. These functions create the producer port (PP), configure the consumer queue (CQ), and validate the port creation arguments.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| e0c08ad1 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 create LDB queue
Updated low level hardware functions related to configuring load balanced queues. These functions create the queues, as well as attach related resources require
event/dlb2: add v2.5 create LDB queue
Updated low level hardware functions related to configuring load balanced queues. These functions create the queues, as well as attach related resources required by load balanced queues, such as sequence numbers.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action based on the hardware version, v2.0 or v2.5.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| a1295544 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 domain reset
Reset hardware registers, consumer queues, ports, interrupts and software. Queues must also be drained as part of the reset process.
The logic is very similar to w
event/dlb2: add v2.5 domain reset
Reset hardware registers, consumer queues, ports, interrupts and software. Queues must also be drained as part of the reset process.
The logic is very similar to what was done for v2.0, but the new combined register map for v2.0 and v2.5 uses new register names and bit names. Additionally, new register access macros are used so that the code can perform the correct action, based on the hardware version, v2.0 or v2.5.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 0dfab249 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 create sched domain
Update domain creation logic to account for DLB v2.5 credit scheme, new register map, and new register access macros.
Signed-off-by: Timothy McDaniel <timot
event/dlb2: add v2.5 create sched domain
Update domain creation logic to account for DLB v2.5 credit scheme, new register map, and new register access macros.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 4ce7bf9e | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 get resources
DLB v2.5 uses a new credit scheme, where directed and load balanced credits are unified, instead of having separate directed and load balanced credit pools.
Signe
event/dlb2: add v2.5 get resources
DLB v2.5 uses a new credit scheme, where directed and load balanced credits are unified, instead of having separate directed and load balanced credit pools.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| 0d65f8f9 | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 HW init
Add support for DLB v2.5 probe-time hardware init, and sets up a framework for incorporating the remaining changes required to support DLB v2.5.
DLB v2.0 and DLB v2.5 a
event/dlb2: add v2.5 HW init
Add support for DLB v2.5 probe-time hardware init, and sets up a framework for incorporating the remaining changes required to support DLB v2.5.
DLB v2.0 and DLB v2.5 are similar in many respects, but their register offsets and definitions are different. As a result of these, differences, the low level hardware functions must take the device version into consideration. This requires that the hardware version be passed to many of the low level functions, so that the PMD can take the appropriate action based on the device version.
To ease the transition and keep the individual patches small, three temporary files are added in this commit. These files have "new" in their names. The files with "new" contain changes specific to a consolidated PMD that supports both DLB v2.0 and DLB 2.5. Their sister files of the same name (minus "new") contain the old DLB v2.0 specific code. The intent is to remove code from the original files as that code is ported to the combined DLB 2.0/2.5 PMD model and added to the "new" files in a series of commits. At end of the patch series, the old files will be empty and the "new" files will have the logic needed to implement a single PMD that supports both DLB v2.0 and DLB v2.5. At that time, the original DLB v2.0 specific files will be deleted, and the "new" files will be renamed and replace them.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|
| b66a418d | 01-May-2021 |
Timothy McDaniel <[email protected]> |
event/dlb2: add v2.5 probe
This commit adds dlb v2.5 probe support, and updates parameter parsing.
The dlb v2.5 device differs from dlb v2, in that the number of resources (ports, queues, ...) is d
event/dlb2: add v2.5 probe
This commit adds dlb v2.5 probe support, and updates parameter parsing.
The dlb v2.5 device differs from dlb v2, in that the number of resources (ports, queues, ...) is different, so macros have been added to take the device version into account.
Signed-off-by: Timothy McDaniel <[email protected]>
show more ...
|