From: Joachim Fenkes <fenkes@de•ibm.com>
To: "LinuxPPC-Dev" <linuxppc-dev@ozlabs•org>,
LKML <linux-kernel@vger•kernel.org>,
"OF-General" <general@lists•openfabrics.org>,
Roland Dreier <rolandd@cisco•com>
Cc: Stefan Roscher <stefan.roscher@de•ibm.com>,
Christoph Raisch <raisch@de•ibm.com>
Subject: [PATCH 02/10] IB/ehca: Fix HW level autodetection
Date: Thu, 12 Jul 2007 17:47:45 +0200 [thread overview]
Message-ID: <200707121747.46618.fenkes@de.ibm.com> (raw)
In-Reply-To: <200707121745.27592.fenkes@de.ibm.com>
Autodetection was missing a few HW revisions, causing certain eHCA1
revisions to be treated like eHCA2. Fixed.
Signed-off-by: Joachim Fenkes <fenkes@de•ibm.com>
---
drivers/infiniband/hw/ehca/ehca_main.c | 29 +++++++++++++++++------------
1 files changed, 17 insertions(+), 12 deletions(-)
diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c
index d9a37dc..57c551e 100644
--- a/drivers/infiniband/hw/ehca/ehca_main.c
+++ b/drivers/infiniband/hw/ehca/ehca_main.c
@@ -282,22 +282,27 @@ int ehca_sense_attributes(struct ehca_shca *shca)
ehca_gen_dbg(" ... hardware version=%x:%x", hcaaver, revid);
- if ((hcaaver == 1) && (revid == 0))
- shca->hw_level = 0x11;
- else if ((hcaaver == 1) && (revid == 1))
- shca->hw_level = 0x12;
- else if ((hcaaver == 1) && (revid == 2))
- shca->hw_level = 0x13;
- else if ((hcaaver == 2) && (revid == 0))
- shca->hw_level = 0x21;
- else if ((hcaaver == 2) && (revid == 0x10))
- shca->hw_level = 0x22;
- else {
+ if (hcaaver == 1) {
+ if (revid <= 3)
+ shca->hw_level = 0x10 | (revid + 1);
+ else
+ shca->hw_level = 0x14;
+ } else if (hcaaver == 2) {
+ if (revid == 0)
+ shca->hw_level = 0x21;
+ else if (revid == 0x10)
+ shca->hw_level = 0x22;
+ else if (revid == 0x20 || revid == 0x21)
+ shca->hw_level = 0x23;
+ }
+
+ if (!shca->hw_level) {
ehca_gen_warn("unknown hardware version"
" - assuming default level");
shca->hw_level = 0x22;
}
- }
+ } else
+ shca->hw_level = ehca_hw_level;
ehca_gen_dbg(" ... hardware level=%x", shca->hw_level);
shca->sport[0].rate = IB_RATE_30_GBPS;
--
1.5.2
next prev parent reply other threads:[~2007-07-12 15:49 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-12 15:45 [PATCH 00/10] IB/ehca: Multiple Event Queues, MR/MW rework, large page MRs, fixes Joachim Fenkes
2007-07-12 15:46 ` [PATCH 01/10] IB/ehca: Support for multiple event queues Joachim Fenkes
2007-07-16 16:04 ` Roland Dreier
2007-07-16 20:34 ` Joachim Fenkes
2007-07-16 20:37 ` Hoang-Nam Nguyen
2007-07-17 3:48 ` Roland Dreier
2007-07-17 4:37 ` Michael S. Tsirkin
2007-07-17 17:52 ` Roland Dreier
2007-07-17 21:32 ` Michael S. Tsirkin
2007-07-19 15:03 ` Hoang-Nam Nguyen
2007-07-17 5:57 ` [ofa-general] " Shirley Ma
2007-07-12 15:47 ` Joachim Fenkes [this message]
2007-07-12 15:48 ` [PATCH 03/10] IB/ehca: fix memory leak in error path of ehca_get_dma_mr() Joachim Fenkes
2007-07-12 15:49 ` [PATCH 04/10] IB/ehca: use common error code mapping instead of specific ones Joachim Fenkes
2007-07-16 17:14 ` Roland Dreier
2007-07-16 20:35 ` Joachim Fenkes
2007-07-12 15:51 ` [PATCH 05/10] IB/ehca: use #define for "pages per register_rpage" instead of hardcoded value Joachim Fenkes
2007-07-12 15:51 ` [PATCH 06/10] IB/ehca: use macro to calculate number of chunks in a mem block Joachim Fenkes
2007-07-12 15:52 ` [PATCH 07/10] IB/ehca: MR/MW structure refactoring Joachim Fenkes
2007-07-12 15:53 ` [PATCH 08/10] IB/ehca: Restructure ehca_set_pagebuf() Joachim Fenkes
2007-07-12 15:53 ` [PATCH 09/10] IB/ehca: Fix warnings issued by checkpatch.pl Joachim Fenkes
2007-07-12 15:54 ` [PATCH 10/10] IB/ehca: Support large page MRs Joachim Fenkes
2007-07-16 17:37 ` Roland Dreier
2007-07-16 21:11 ` Joachim Fenkes
2007-07-17 3:50 ` Roland Dreier
2007-07-17 6:29 ` Joachim Fenkes
2007-07-12 17:15 ` [PATCH 00/10] IB/ehca: Multiple Event Queues, MR/MW rework, large page MRs, fixes Roland Dreier
2007-07-13 8:26 ` Joachim Fenkes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200707121747.46618.fenkes@de.ibm.com \
--to=fenkes@de$(echo .)ibm.com \
--cc=general@lists$(echo .)openfabrics.org \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linuxppc-dev@ozlabs$(echo .)org \
--cc=raisch@de$(echo .)ibm.com \
--cc=rolandd@cisco$(echo .)com \
--cc=stefan.roscher@de$(echo .)ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox