Hi Jasmin, Jasmin J. writes: > Hallo Ralph! > > > 1. The SW bit is cleared too early during the whole buffer size negotiation. > > This should be fixed. > I will look into this when I have time again. Probably end of next week. > > > 2. IRQEN = CMDREG_DAIE = 0x80 is always set in the command register. > > So, they should probably only be used if both the host and module say they > > support it. > How can we know that in the driver? > I haven't seen an API for this. The flags parameter of dvb_ca_en50221_init() allow these values: #define DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE 1 #define DVB_CA_EN50221_FLAG_IRQ_FR 2 #define DVB_CA_EN50221_FLAG_IRQ_DA 4 but only DVB_CA_EN50221_FLAG_IRQ_CAMCHANGE seems to be used in dvb_ca_en50221.c. Support for this was seemingly planned but never implemented. Annex G.2 of http://www.ci-plus.com/data/ci-plus_specification_v1.3.pdf contains details about how support is announced in the CIS. > There is the flag "da_irq_supported", which might be used to set the IRQEN > bit it the bit is set. Sure, e.g. to store the result from the CIS parsing. The current use is not much help. It is set if an interrupt occured with DA bit set, which is a little too late. > Any suggestions how to proceed with item 2? Check the CIS for support by the CAM and ca->flags for support by the host. If both support it, set CMDREG_FRIE and/or CMDREG_DAIE in command reg. Regards, Ralph