IB/ehca: PMA support and a minor fix
cover IB/ehca: PMA support and a minor fix
This patchset will fix a minor issue and then add support for Performance MADs, which redirects all PMA queries to the actual PMA QP.
[1/2] adds a missing query_pma_attr()
[2/2] adds PMA redirection code
The patches will apply, in order, on top of Roland's for-2.6.25 branch. Please review them and apply for 2.6.25 if you think they're okay.
Thanks and regards,
Joachim
Signature · 4 lines
Joachim Fenkes -- eHCA Linux Driver Developer and Hardware Tamer IBM Deutschland Entwicklung GmbH -- Dept. 3627 (I/O Firmware Dev. 2) Schoenaicher Strasse 220 -- 71032 Boeblingen -- Germany eMail: [email protected]
PATCH 1/2 IB/ehca: Update sma_attr also in case of disruptive config change
Signed-off-by Joachim Fenkes <[email protected]>
--- drivers/infiniband/hw/ehca/ehca_irq.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
drivers/infiniband/hw/ehca/ehca_irq.c +2 -0
@@ -403,6 +403,8 @@ static void parse_ec(struct ehca_shca *shca, u64 eqe) sport->port_state =IB_PORT_ACTIVE ;dispatch_port_event (shca, port,IB_EVENT_PORT_ACTIVE ,"is active" ); +ehca_query_sma_attr (shca, port, + &sport->saved_attr); }else notify_port_conf_change (shca, port);break ;
Signature · 1 line
1.5.2
PATCH 2/2 IB/ehca: Add PMA support
In reply to Joachim FenkesFrom: Hoang-Nam Nguyen <[email protected]>
This patch enables ehca to redirect any PMA queries to the actual PMA QP.
Signed-off-by Hoang-Nam Nguyen <[email protected]>
Reviewed-by Joachim Fenkes <[email protected]>
Reviewed-by Christoph Raisch <[email protected]>
--- drivers/infiniband/hw/ehca/ehca_classes.h | 1 + drivers/infiniband/hw/ehca/ehca_iverbs.h | 5 ++ drivers/infiniband/hw/ehca/ehca_main.c | 2 +- drivers/infiniband/hw/ehca/ehca_sqp.c | 91 +++++++++++++++++++++++++++++ 4 files changed, 98 insertions(+), 1 deletions(-)
drivers/infiniband/hw/ehca/ehca_classes.h +1 -0
@@ -101,6 +101,7 @@ struct ehca_sport {spinlock_t mod_sqp_lock;enum ib_port_state port_state;struct ehca_sma_attr saved_attr; +u32 pma_qp_nr; };#define HCA_CAP_MR_PGSIZE_4K 0x80000000
drivers/infiniband/hw/ehca/ehca_iverbs.h +5 -0
@@ -187,6 +187,11 @@ int ehca_dealloc_ucontext(struct ib_ucontext *context);int ehca_mmap (struct ib_ucontext *context,struct vm_area_struct *vma); +int ehca_process_mad (struct ib_device *ibdev,int mad_flags,u8 port_num, +struct ib_wc *in_wc,struct ib_grh *in_grh, +struct ib_mad *in_mad, +struct ib_mad *out_mad); +void ehca_poll_eqs (unsigned long data); int ehca_calc_ipd(struct ehca_shca *shca, int port,
drivers/infiniband/hw/ehca/ehca_main.c +1 -1
@@ -472,7 +472,7 @@ int ehca_init_device(struct ehca_shca *shca) shca->ib_device.dealloc_fmr = ehca_dealloc_fmr; shca->ib_device.attach_mcast = ehca_attach_mcast; shca->ib_device.detach_mcast = ehca_detach_mcast; -/* shca->ib_device.process_mad = ehca_process_mad; */ + shca->ib_device.process_mad = ehca_process_mad; shca->ib_device.mmap = ehca_mmap;if (EHCA_BMASK_GET (HCA_CAP_SRQ , shca->hca_cap)) {
drivers/infiniband/hw/ehca/ehca_sqp.c +91 -0
112 lines not on this page · raw message
Signature · 1 line
1.5.2
Roland Dreier
AppliedRe: [PATCH 2/2] IB/ehca: Add PMA support
thanks, applied 1-2