Difference between revisions of "Tifm"

From ThinkWiki
Jump to: navigation, search
(Problems)
 
(3 intermediate revisions by 3 users not shown)
Line 6: Line 6:
  
 
=== Status ===
 
=== Status ===
There are three distinct driver modules involved:  tifm_core, tifm_sd, and tifm_7xx1.  In addition, the standard kernel driver sdhci {{kernelconf|CONFIG_MMC_SDHCI||||||}} is also required, which is present in kernels 2.6.17 and later.
+
There are three distinct driver modules involved:  tifm_core, tifm_sd, and tifm_7xx1.
  
 
Earlier versions of the tifm driver are present in official kernel tarballs, but these lag behind the latest releases from the project homepage, and still generate various warnings and/or errors.  You will want version 0.8.0, or the latest SVN version, which are much better behaved.
 
Earlier versions of the tifm driver are present in official kernel tarballs, but these lag behind the latest releases from the project homepage, and still generate various warnings and/or errors.  You will want version 0.8.0, or the latest SVN version, which are much better behaved.
  
 
The tifm driver releases are tied to specific kernel versions.  As of this writing, tifm version 0.8d is intended for kernel 2.6.20, and 0.8e for kernel 2.6.21.  Note carefully which version you download and ensure it is the correct version for your kernel.
 
The tifm driver releases are tied to specific kernel versions.  As of this writing, tifm version 0.8d is intended for kernel 2.6.20, and 0.8e for kernel 2.6.21.  Note carefully which version you download and ensure it is the correct version for your kernel.
 +
 +
At the time of writing, the latest version from SVN is not compilable with a recent kernel 2.6.24 due to some changes in the kernel api. A bug report has already been submitted.
  
 
=== Problems ===
 
=== Problems ===
Line 21: Line 23:
 
As of kernel version 2.6.21.5, this driver hits a bug if you compile it with kernel preemption.
 
As of kernel version 2.6.21.5, this driver hits a bug if you compile it with kernel preemption.
  
kernel: tifm_7xx1: sd card detected in socket 1
+
  kernel: tifm_7xx1: sd card detected in socket 1
kernel: PM: Adding info for tifm:tifm_sd0:1
+
  kernel: PM: Adding info for tifm:tifm_sd0:1
kernel: tifm_7xx1: demand removing card from socket 1
+
  kernel: tifm_7xx1: demand removing card from socket 1
kernel: PM: Removing info for tifm:tifm_sd0:1
+
  kernel: PM: Removing info for tifm:tifm_sd0:1
kernel: BUG: scheduling while atomic: tifm/0/0xffffffff/2371
+
  kernel: BUG: scheduling while atomic: tifm/0/0xffffffff/2371
  
 
Voluntary preemption is fine.
 
Voluntary preemption is fine.
  
 
[[Category:Drivers]]
 
[[Category:Drivers]]
[[Category:Z Series]] [[Category:Z61t]]
+
[[Category:Z Series]] [[Category:Z61t]] [[Category:Z61m]]

Latest revision as of 02:19, 29 September 2008

This refers to a collection of drivers for the Texas Instruments PCIxx12 controller. This hardware is present in the ThinkPad Z series. Support for this hardware is still in its early stages.

Project Homepage / Availability

Status

There are three distinct driver modules involved: tifm_core, tifm_sd, and tifm_7xx1.

Earlier versions of the tifm driver are present in official kernel tarballs, but these lag behind the latest releases from the project homepage, and still generate various warnings and/or errors. You will want version 0.8.0, or the latest SVN version, which are much better behaved.

The tifm driver releases are tied to specific kernel versions. As of this writing, tifm version 0.8d is intended for kernel 2.6.20, and 0.8e for kernel 2.6.21. Note carefully which version you download and ensure it is the correct version for your kernel.

At the time of writing, the latest version from SVN is not compilable with a recent kernel 2.6.24 due to some changes in the kernel api. A bug report has already been submitted.

Problems

Problem with Suspend

As of version 0.8.0, the driver breaks suspend-to-RAM. The system will hang in the middle of the suspend operation, and you will need to cycle power to recover the system.

The driver modules tifm_sd, tifm_7xx1, and tifm_core must be unloaded before attempting suspend-to-RAM.

Problem with kernel preemption

As of kernel version 2.6.21.5, this driver hits a bug if you compile it with kernel preemption.

 kernel: tifm_7xx1: sd card detected in socket 1
 kernel: PM: Adding info for tifm:tifm_sd0:1
 kernel: tifm_7xx1: demand removing card from socket 1
 kernel: PM: Removing info for tifm:tifm_sd0:1
 kernel: BUG: scheduling while atomic: tifm/0/0xffffffff/2371

Voluntary preemption is fine.