[openib-general] Re: tvflash questions

2004-10-11 Thread Roland Dreier
Hal tvflash -v -d fw-23108-rel-3_2_0/fw-23108-a1-rel.mlx GUID

tvflash uses binary firmware images, not mlx format.  See the README.

 - R.
___
openib-general mailing list
[EMAIL PROTECTED]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


Re: [openib-general] InfiniBand incompatible with the Linux kernel?

2004-10-11 Thread Michael Krause


At 02:11 PM 10/9/2004, you wrote:
 Jeff If
there is questionable code, that is _not_ a justification
 Jeff to add more.
I guess my point was not that the bluetooth stack is somehow
questionable, but rather that the IP policies of a standards bodies
are really not a good reason to keep code out of the kernel.
If
someone can name one patent that the IB driver stack looks like it
might possibly run into, then we would have to take that very
seriously. However, no one has done this here -- all we have is
FUD
or guilt by association or whatever you want to call it.
The mere fact that the IBTA bylaws only require members license
their
patents under RAND terms shouldn't be an issue. If nothing else,
the
fact that there are hugely more non-IBTA member companies than
member
companies who might have patents makes the IBTA bylaws almost a 
moot
point.
It isn't a numbers game when it comes to the law. 
For what its worth,
I know of at least five companies shipping IB
stacks and the only patent licensing that I know of is the 
Microsoft
SDP license, 
The lack of companies enforcing their patents at this time does not mean
that they will not do so in the future. There are many patents in
the IB specification suite. The question is whether these apply to
the software stack being done within this forum. Until a company
comes forward and states their intention, there is no way to tell.

Not attempting any FUD here as I don't see a reason to stop development
of any of a wide range of technologies that are covered by similar terms
in various industry bodies. 
and even that is
really just CYA: all Microsoft says is
that they _might_ have patents that cover SDP and that they will
license them at no cost to anyone who wants them; unfortunately 
this
license is not GPL-compatible, but for proprietary stacks the
zero-cost terms look fine. There are people who have looked 
at
Microsoft's patents and concluded that none of them actually apply
to
SDP as specified by the IBTA.
The patent office is the only one who can draw a conclusion that can be
relied upon. I'd never rely upon hearsay in making a
decision.

Mike

___
openib-general mailing list
[EMAIL PROTECTED]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

[openib-general] [PATCH] ib_mad: Add module name to messages

2004-10-11 Thread Hal Rosenstock
ib_mad: Add modules name to messages

Index: ib_mad_priv.h
===
--- ib_mad_priv.h   (revision 965)
+++ ib_mad_priv.h   (working copy)
@@ -61,6 +61,9 @@
 #include ib_mad.h
 #include ib_smi.h
 
+
+#define PFX ib_mad: 
+
 #define IB_MAD_QPS_CORE2 /* Always QP0 and QP1 as a minimum */
 
 /* QP and CQ parameters */
Index: ib_mad.c
===
--- ib_mad.c(revision 966)
+++ ib_mad.c(working copy)
@@ -308,7 +308,7 @@
  port_priv-send_posted_mad_list);
port_priv-send_posted_mad_count++;
} else {
-   printk(KERN_NOTICE ib_post_send failed ret = %d\n, ret);
+   printk(KERN_NOTICE PFX ib_post_send failed ret = %d\n, ret);
*bad_send_wr = send_wr;
}
spin_unlock_irqrestore(port_priv-send_list_lock, flags);
@@ -353,7 +353,7 @@
  GFP_ATOMIC : GFP_KERNEL);
if (!mad_send_wr) {
*bad_send_wr = cur_send_wr;
-   printk(KERN_ERR No memory for 
+   printk(KERN_ERR PFX No memory for 
   ib_mad_send_wr_private\n);
return -ENOMEM; 
}
@@ -432,7 +432,7 @@
 void ib_coalesce_recv_mad(struct ib_mad_recv_wc *mad_recv_wc,
  void *buf)
 {
-   printk(KERN_ERR ib_coalesce_recv_mad() not implemented yet\n);
+   printk(KERN_ERR PFX ib_coalesce_recv_mad() not implemented yet\n);
 }
 EXPORT_SYMBOL(ib_coalesce_recv_mad);
 
@@ -449,7 +449,7 @@
 int ib_process_mad_wc(struct ib_mad_agent *mad_agent,
  struct ib_wc *wc)
 {
-   printk(KERN_ERR ib_process_mad_wc() not implemented yet\n);
+   printk(KERN_ERR PFX ib_process_mad_wc() not implemented yet\n);
return 0;
 }
 EXPORT_SYMBOL(ib_process_mad_wc);
@@ -471,7 +471,7 @@
 i = find_next_bit(mad_reg_req-method_mask, IB_MGMT_MAX_METHODS,
   1+i)) {
if ((*method)-agent[i]) {
-   printk(KERN_ERR Method %d already in use\n, i);
+   printk(KERN_ERR PFX Method %d already in use\n, i);
return -EINVAL;
}
}
@@ -483,7 +483,7 @@
/* Allocate management method table */
*method = kmalloc(sizeof **method, GFP_KERNEL);
if (!*method) {
-   printk(KERN_ERR No memory for ib_mad_mgmt_method_table\n);
+   printk(KERN_ERR PFX No memory for ib_mad_mgmt_method_table\n);
return -ENOMEM;
}
/* Clear management method table */
@@ -556,7 +556,7 @@
/* Allocate management class table for new class version */
*class = kmalloc(sizeof **class, GFP_KERNEL);
if (!*class) {
-   printk(KERN_ERR No memory for 
+   printk(KERN_ERR PFX No memory for 
   ib_mad_mgmt_class_table\n);
goto error1;
}
@@ -628,8 +628,8 @@
port_priv = agent_priv-port_priv;
class = port_priv-version[agent_priv-reg_req-mgmt_class_version];
if (!class) {
-   printk(KERN_ERR No class table yet MAD registration request 
-  supplied\n);
+   printk(KERN_ERR PFX No class table yet MAD registration 
+  request supplied\n);
goto ret;
}
 
@@ -713,21 +713,21 @@
}
}
if (!mad_agent) {
-   printk(KERN_ERR No client 0x%x for received MAD on 
-  port %d\n, hi_tid, port_priv-port_num);
+   printk(KERN_ERR PFX No client 0x%x for received MAD 
+  on port %d\n, hi_tid, port_priv-port_num);
goto ret;
}
} else {
/* Routing is based on version, class, and method */
if (mad-mad_hdr.class_version = MAX_MGMT_VERSION) {
-   printk(KERN_ERR MAD received with unsupported class 
-  version %d on port %d\n,
+   printk(KERN_ERR PFX MAD received with unsupported 
+  class version %d on port %d\n,
   mad-mad_hdr.class_version, port_priv-port_num);
goto ret;
}
version = port_priv-version[mad-mad_hdr.class_version];
if (!version) {
-   printk(KERN_ERR MAD received on port %d for class 
+   printk(KERN_ERR PFX MAD received on port %d for class 
   version %d with no client\n,
   port_priv-port_num, 

[openib-general] [PATCH] ib_smi: Add module names to messages

2004-10-11 Thread Hal Rosenstock
ib_smi: Add modules names to messages

Index: ib_smi_priv.h
===
--- ib_smi_priv.h   (revision 965)
+++ ib_smi_priv.h   (working copy)
@@ -28,6 +28,8 @@
 
 #include linux/pci.h
 
+#define SPFX ib_sma: 
+
 struct ib_smi_send_wr {
struct list_head send_list;
struct ib_mad *smp;
Index: ib_smi.c
===
--- ib_smi.c(revision 965)
+++ ib_smi.c(working copy)
@@ -322,7 +322,7 @@
}
spin_unlock_irqrestore(ib_smi_port_list_lock, flags);
if (!port_priv) {
-   printk(KERN_ERR smp_send: no matching MAD agent 0x%x\n,
+   printk(KERN_ERR SPFX smp_send: no matching MAD agent 0x%x\n,
   (unsigned int)mad_agent);
return;
}
@@ -357,7 +357,7 @@
 
ah = ib_create_ah(mad_agent-qp-pd, ah_attr);
if (IS_ERR(ah)) {
-   printk(KERN_ERR No memory for address handle\n);
+   printk(KERN_ERR SPFX No memory for address handle\n);
kfree(smp);
return;
}
@@ -467,7 +467,7 @@
/* Hold lock longer !!! */
spin_unlock_irqrestore(ib_smi_port_list_lock, flags);
if (!port_priv) {
-   printk(KERN_ERR smi_send_handler: no matching MAD agent 
+   printk(KERN_ERR SPFX smi_send_handler: no matching MAD agent 
   0x%x\n, (unsigned int)mad_agent);
return;
}
@@ -476,7 +476,7 @@
spin_lock_irqsave(port_priv-send_list_lock, flags);
if (list_empty(port_priv-send_posted_smp_list)) {
spin_unlock_irqrestore(port_priv-send_list_lock, flags);
-   printk(KERN_ERR Send completion WR ID 0x%Lx but send list 
+   printk(KERN_ERR SPFX Send completion WR ID 0x%Lx but send list 
   is empty\n, mad_send_wc-wr_id);
return;
}
@@ -535,7 +535,7 @@
}
spin_unlock_irqrestore(ib_smi_port_list_lock, flags);
if (port_priv) {
-   printk(KERN_DEBUG %s port %d already open\n,
+   printk(KERN_DEBUG SPFX %s port %d already open\n,
   device-name, port_num);
return 0;
}
@@ -543,7 +543,7 @@
/* Create new device info */
port_priv = kmalloc(sizeof *port_priv, GFP_KERNEL);
if (!port_priv) {
-   printk(KERN_ERR No memory for ib_smi_port_private\n);
+   printk(KERN_ERR SPFX No memory for ib_smi_port_private\n);
ret = -ENOMEM;
goto error1;
}
@@ -606,7 +606,7 @@
  buf_list, 1,
   IB_ACCESS_LOCAL_WRITE, iova);
if (IS_ERR(port_priv-mr)) {
-   printk(KERN_ERR Couldn't register MR\n);
+   printk(KERN_ERR SPFX Couldn't register MR\n);
ret = PTR_ERR(port_priv-mr);
goto error5;
} 
@@ -644,7 +644,7 @@
}
 
if (port_priv == NULL) {
-   printk(KERN_ERR Port %d not found\n, port_num);
+   printk(KERN_ERR SPFX Port %d not found\n, port_num);
spin_unlock_irqrestore(ib_smi_port_list_lock, flags);
return -ENODEV;
}
@@ -668,7 +668,7 @@
 
ret = ib_query_device(device, device_attr);
if (ret) {
-   printk(KERN_ERR Couldn't query device %s\n, device-name);
+   printk(KERN_ERR SPFX Couldn't query device %s\n, device-name);
goto error_device_query;
}
 
@@ -683,7 +683,7 @@
for (i = 0; i  num_ports; i++, cur_port++) {
ret = ib_smi_port_open(device, cur_port);
if (ret) {
-   printk(KERN_ERR Couldn't open %s port %d\n,
+   printk(KERN_ERR SPFX Couldn't open %s port %d\n,
   device-name, cur_port);
goto error_device_open;
}
@@ -696,7 +696,7 @@
cur_port--;
ret2 = ib_smi_port_close(device, cur_port);
if (ret2) {
-   printk(KERN_ERR Couldn't close %s port %d\n,
+   printk(KERN_ERR SPFX Couldn't close %s port %d\n,
   device-name, cur_port);
}
i--;
@@ -713,7 +713,7 @@
 
ret = ib_query_device(device, device_attr);
if (ret) {
-   printk(KERN_ERR Couldn't query device %s\n, device-name);
+   printk(KERN_ERR SPFX Couldn't query device %s\n, device-name);
goto error_device_query;
}
 
@@ -727,7 +727,7 @@
for (i = 0; i  num_ports; i++, cur_port++) {
ret2 = ib_smi_port_close(device, cur_port);
if (ret2) {
-   printk(KERN_ERR Couldn't close %s port %d\n,
+

Re: [openib-general] InfiniBand incompatible with the Linux kernel?

2004-10-11 Thread Michael Krause


At 11:27 AM 10/11/2004, Ronald G. Minnich wrote:

On Fri, 8 Oct 2004, Michael
Krause wrote:
 Spec for free or spec for a price - neither grants anyone rights to
any
 IP contained within the specifications or on the technologies
that
 surround the specification. The change in spec cost, while
clearly
 unfortunate, has no impact on the IP rights. IP rights are
defined by
 the IBTA membership agreement (just like they are for PCI and any
number
 of other technologies used within the industry). If you want
to
 implement a technology, then you have to be a member of the
appropriate
 organization and agree to the same industry-wide terms that others
do. 
 Hence, this problem is not IB-specific but a fact of life within
the
 industry.
funny, I don't recall these problems with Ethernet.

IEEE requires RAND licensing by companies; it does not license the
technology to individuals. So the same problems exist for Ethernet
as it does for IB as it does for many technologies.
 Again, this is
true of many technologies not just IB. For example, if a
 company has patents on PCI Express and someone implements a device
/
 chipset / whatever and they are not part of the PCI-SIG, then they
can
 be subject to different terms than someone who is a member of
the
 PCI-SIG. In both cases, the access to specs, etc. has nothing
to do
 with IP licensing.
sorry, I think about protocol software differently than chips. Maybe I'm

thinking incorrectly here.
There are software patents in all of these protocol off-load technologies
just like there are hardware patents. As people start to use
embedded processors for various communication workloads, the line between
software and hardware patents will blur even further.
Mike

___
openib-general mailing list
[EMAIL PROTECTED]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general