mirror of
https://gitee.com/bianbu-linux/linux-6.6
synced 2025-04-26 14:17:26 -04:00
ntb_hw_switchtec: Allow using Switchtec NTB in multi-partition setups
Allow using Switchtec NTB in setups that have more than two partitions. Note: this does not enable having multi-host communication, it only allows for a single NTB link between two hosts in a network that might have more than two. Use following logic to determine the NT peer partition: 1) If there are 2 partitions, and the target vector is set in the Switchtec configuration, use the partition specified in target vector. 2) If there are 2 partitions and target vector is unset use the only other partition as specified in the NT EP map. 3) If there are more than 2 partitions and target vector is set use the other partition specified in target vector. 4) If there are more than 2 partitions and target vector is unset, this is invalid and report an error. Signed-off-by: Kelvin Cao <kelvin.cao@microsemi.com> [logang@deltatee.com: commit message fleshed out] Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Reviewed-by: Logan Gunthorpe <logang@deltatee.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
This commit is contained in:
parent
2dd0f6a64a
commit
3df54c870f
2 changed files with 56 additions and 9 deletions
|
@ -168,6 +168,14 @@ struct ntb_info_regs {
|
|||
u16 reserved1;
|
||||
u64 ep_map;
|
||||
u16 requester_id;
|
||||
u16 reserved2;
|
||||
u32 reserved3[4];
|
||||
struct nt_partition_info {
|
||||
u32 xlink_enabled;
|
||||
u32 target_part_low;
|
||||
u32 target_part_high;
|
||||
u32 reserved;
|
||||
} ntp_info[48];
|
||||
} __packed;
|
||||
|
||||
struct part_cfg_regs {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue