Porting PCi driver from 2.6.32 to 3.x kernel version
Hi, Im trying to port a PCI Driver from 2.6.32 to 3.11.6-4-desktop kernel verion. I tried to update the driver source to compile correctly and load fine. But when I'm trying to send command some thing like a soft reset which re intializes the configuration table. and at that point of time the I'm getting different value than what I used to get on 2.6.32 kernel version. *3.11.6.4 Kernel verison:* scull_ioctl: SCULL_SOFT_RESET 2014-08-04T08:06:24.839008-07:00 kernel: [ 2065.546754] calling softReset... 2014-08-04T08:06:24.839009-07:00 kernel: [ 2065.546756] softReset: start *2014-08-04T08:06:24.839010-07:00 kernel: [ 2065.546782] msgu_write: Scratchpad(MSGU) regValue=0xfffd addr=0xf7ea1000* *2014-08-04T08:06:24.839010-07:00 kernel: [ 2065.546784] msgu_write: Scratchpad(MSGU) regValue=0xffffffff addr=0xf7ea1000* *2014-08-04T08:06:25.140002-07:00 kernel: [ 2065.847646] SoftReset: Soft Reset Register's value is 0xffffffff (bits bits [7:6] are not b01)* where as before i.e is in 2.6.32 scull_ioctl: SCULL_SOFT_RESET *Aug 4 16:39:22 kernel: [53428.498546] calling softReset...* *Aug 4 16:39:22 kernel: [53428.498552] softReset: start* *Aug 4 16:39:22 kernel: [53428.797878] I2O: Scratchpad1 data=0x40 addr=0x48* *Aug 4 16:39:23 kernel: [53429.533163] I2O: Scratchpad0 data=0x40002000 addr=0xf7ee0044* *Aug 4 16:39:23 kernel: [53429.533176] bar_num=0x10 cfg_offset=0x2000* *Aug 4 16:39:23 kernel: [53429.533183] scull_cfg_table = f7ee2000* *Aug 4 16:39:23 kernel: [53429.533190] I2O: Scratchpad1(MSGU) data=0x3c0f addr=0xf7ee0048* *Aug 4 16:39:23 kernel: [53429.533198] I2O: Scratchpad2(IOP) data=0x0 addr=0xf7ee004c* *Aug 4 16:39:23 kernel: [53429.533205] I2O: Scratchpad3(IOP) data=0x30004003 addr=0xf7ee0050* *Aug 4 16:39:23 kernel: [53429.533213] Write SCULL Config Table* the function I used for register read is: *unsigned int msgu_reg_read(unsigned int msgu_reg_offset)* *{* * unsigned int addr;* * unsigned int data;* * addr = i2o_addr + msgu_reg_offset;* * data = readl((void *)addr);* * return data;* *}* Could anyone please help me how to solve this issue? Thank you, Regards, OH.
participants (1)
-
Omkar Houddin