<!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> I'm only a stupid 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> </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> </DIV>
<DIV><FONT face=Arial size=2> 1) "<FONT face="Times New Roman" size=2>host
now tells the module to use this buffer size by writing a ‘1’ to the SW bit in
the Command Register"</FONT></FONT></DIV>
<DIV><FONT size=2> 2) "<FONT face="Times New Roman" size=2>waiting
until the FR bit is set"</FONT></FONT></DIV>
<DIV><FONT size=2> 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> 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> </DIV>
<DIV><FONT size=2>this is actually what is coded in 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> </DIV>
<DIV><FONT size=2> if ((ret =
dvb_ca_en50221_write_data(ca, slot, buf, 2)) !=
2)<BR>
return -EIO;</FONT></DIV>
<DIV><FONT size=2>/*</FONT></DIV>
<DIV><FONT size=2> WE NEED DELAY HERE ... ?</FONT></DIV>
<DIV><FONT size=2>*/</FONT><BR><FONT
size=2> if ((ret =
ca->pub->write_cam_control(ca->pub, slot, <BR>CTRLIF_COMMAND,
IRQEN)) !=
0)<BR>
return ret;<BR>=======================<BR>Now my question:</FONT></DIV>
<DIV><FONT size=2> 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> I'm going to use the dvb-core
infrastructure.</FONT></DIV>
<DIV><FONT size=2> Is there any card which driver already uses the dvb_ca
part of the dvb-core ?</FONT></DIV>
<DIV><FONT size=2> </FONT></DIV>
<DIV><FONT size=2> 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> </DIV>
<DIV><FONT size=2>Thanks in advance,</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Akiva Sadovski</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>Scopus Video Networks</FONT></DIV></FONT></DIV></BODY></HTML>