<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML DIR=ltr><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"></HEAD><BODY><DIV><FONT face='Arial' color=#000000 size=2>
<DIV><FONT face=Arial color=#000000 size=2>Evgen, all,</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp; I'm&nbsp;only a stupid&nbsp;newbie in 
the linuxtv world,</FONT></DIV>
<DIV><FONT face=Arial size=2>but from my experience with CAM cards it seems to 
me that Eugen's observation is correct but not precious:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>IMHO, the sequence should be (from the DVB-CI 
standard):</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp; 1) "<FONT face="Times New Roman" size=2>host 
now tells the module to use this buffer size by writing a &#8216;1&#8217; to the SW bit in 
the Command Register"</FONT></FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp; 2) "<FONT face="Times New Roman" size=2>waiting 
until the FR bit is set"</FONT></FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp; 3) "<FONT face="Times New Roman" size=2>writing 
the size as 2 bytes of data, most significant byte first..."</FONT></FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp; 4) "<FONT face="Times New Roman" size=2>At the 
end of the transfer the host sets the SW bit to '0'. "</FONT></FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>this is actually what is coded in&nbsp;&nbsp;dvb_ca_en50221.c, 
but I GUESS - I HAVEN'T TESTED IT!!</FONT></DIV>
<DIV><FONT size=2>that the problem is that one have to introduce some delay 
between writing the buffer size</FONT></DIV>
<DIV><FONT size=2>and setting the SW bit to zero - since according to the 
standard we have to wait until the transfer (and not</FONT></DIV>
<DIV><FONT size=2>simply the write operation) is finished</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((ret = 
dvb_ca_en50221_write_data(ca, slot, buf, 2)) != 
2)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return -EIO;</FONT></DIV>
<DIV><FONT size=2>/*</FONT></DIV>
<DIV><FONT size=2>&nbsp;&nbsp; WE NEED DELAY HERE ... ?</FONT></DIV>
<DIV><FONT size=2>*/</FONT><BR><FONT 
size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((ret = 
ca-&gt;pub-&gt;write_cam_control(ca-&gt;pub, slot,&nbsp;<BR>CTRLIF_COMMAND, 
IRQEN)) != 
0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
return ret;<BR>=======================<BR>Now my question:</FONT></DIV>
<DIV><FONT size=2>&nbsp; I'm writing the DVB-CI driver for customer made HW 
developed by the firm I'm working for.</FONT></DIV>
<DIV><FONT size=2>&nbsp; I'm going to use the dvb-core 
infrastructure.</FONT></DIV>
<DIV><FONT size=2>&nbsp; Is there any card which driver already uses the dvb_ca 
part of the dvb-core ?</FONT></DIV>
<DIV><FONT size=2>&nbsp; </FONT></DIV>
<DIV><FONT size=2>&nbsp; I put an eye on Twinhan 1030 card, but it has the 
vendor-specific driver which has nothing in common</FONT></DIV>
<DIV><FONT size=2>with dvb-core</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Thanks in advance,</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Akiva Sadovski</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Scopus Video Networks</FONT></DIV></FONT></DIV></BODY></HTML>