On Thu, Mar 15, 2007 at 05:15:06PM +0300, Evgeniy Polyakov ([EMAIL PROTECTED])
wrote:
> On Thu, Mar 15, 2007 at 06:45:33AM -0700, Joerg Pommnitz ([EMAIL PROTECTED])
> wrote:
> > Hello all,
> > the subject line basically says it all. I was trying to offload IPsec
> > encryption to the hardware encryption engine on my Geode LX800. The exact
> > same setkey command works fine with software aes.
> >
> > In case it matters: this is with a MSEP800/A board from DIGITAL-LOGIC AG
> > (see
> > http://www.digitallogic.com/english/products/catalog07/epic_detail.asp?id=MSEP800_L).
> >
> > Did anybody ever succeed with Geode hardware accelerated IPsec? Did you
> > have to do anything special?
>
> Please enable as much kernel debugging options as possible and rerun the
> test - our mind readers are currently on vacations, so we fail to
> find a problem.
>
> If there will not be any signs of the problem, try to add several printk
> into main geode crypto functions (there are not that many of them) or
> press various sysrq combinations to determine where stall happens.
As additional debug patch: try this one:
diff --git a/drivers/crypto/geode-aes.c b/drivers/crypto/geode-aes.c
index 6d3840e..edacc64 100644
--- a/drivers/crypto/geode-aes.c
+++ b/drivers/crypto/geode-aes.c
@@ -49,7 +49,7 @@
* operation in case of trouble
*/
-#define AES_OP_TIMEOUT 0x50000
+#define AES_OP_TIMEOUT 0x500
/* Static structures */
@@ -91,6 +91,8 @@ do_crypt(void *src, void *dst, int len, u32 flags)
status = ioread32(_iobase + AES_INTR_REG);
while(!(status & AES_INTRA_PENDING) && --counter);
+ BUG_ON(!counter);
+
/* Clear the event */
iowrite32((status & 0xFF) | AES_INTRA_PENDING, _iobase + AES_INTR_REG);
return counter ? 0 : 1;
--
Evgeniy Polyakov
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html