Again, it would be good to have some more tests first.
Niklas
Roberto Ragusa wrote:
On Mon, 01 Dec 2003 08:35:16 +0100 Niklas Peinecke <[EMAIL PROTECTED]> wrote:
Sadly I cannot test my own code, since I found out that my card is equipped with a flexcop II. If there is anybody out there with a flexcop IIb (the revision nr. in the init section should tell you) it would be most helpful to test the code.
I added some register dump code to collect debug info for Augusto and tried a couple of tests.
Well, the hw filters just worked! My previous tests failed but these didn't.
I'd like to have confirmation by someone else that the patch from Niklas (Thu, 27 Nov 2003 08:39:21 +0100) can be applied.
My chip is rev.195 (IIB) and I modified the code which finds an unused filter from this for (i = 0; i < 0x27; i++) { to this for (i = 6; i < 0x27; i++) { so we use only the new filters (this change is for testing only)
I successfully ran scan and the driver didn't have to call open_whole_bandwith.
After the patch is confirmed ok and applied, I'll restart working on the stylistical/reorganization changes.
If someone is interested, this is the code that dumps the registers; I inserted it in add_pid(), after the switch() and before returning.
if(pid==SOME_CHOSEN_PID_VALUE_THAT_TRIGGERS_THE_DEBUG){ int r,f; r=0x200;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x204;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x208;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x300;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x304;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x308;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x30c;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x310;printk("%s reg 0x%04x = %08x (out of loop)\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x314;printk("%s reg 0x%04x = %08x (out of loop)\n",__FUNCTION__,r,read_reg_dw(adapter, r)); for(f=0;f<32;f++){ write_reg_dw(adapter,0x310,f); // setting extra bits to 0 should be ok r=0x310;printk("%s reg 0x%04x = %08x (loop)\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x314;printk("%s reg 0x%04x = %08x (loop)\n",__FUNCTION__,r,read_reg_dw(adapter, r)); } r=0x700;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x704;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x710;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r)); r=0x714;printk("%s reg 0x%04x = %08x\n",__FUNCTION__,r,read_reg_dw(adapter, r));
}
-- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
