Re: IPsec with aes-cbc and geode-aes driver completely freezes 2.6.20.1

2007-03-15 Thread Evgeniy Polyakov
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.

 -- 
 
 Regards
 
Joerg

-- 
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


Re: IPsec with aes-cbc and geode-aes driver completely freezes 2.6.20.1

2007-03-15 Thread Evgeniy Polyakov
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_TIMEOUT0x5
+#define AES_OP_TIMEOUT0x500
 
 /* 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