Porting PCi driver from 2.6.32 to 3.x kernel version

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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=""  addr=0x48
Aug  4 16:39:23 kernel: [53429.533163] I2O: Scratchpad0 data=""  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=""  addr=0xf7ee0048
Aug  4 16:39:23  kernel: [53429.533198] I2O: Scratchpad2(IOP) data=""  addr=0xf7ee004c
Aug  4 16:39:23  kernel: [53429.533205] I2O: Scratchpad3(IOP) data=""  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 = "" *)addr);

    return data;

}


Could anyone please help me how to solve this issue?

Thank you,

Regards,
OH.

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux