fixup.c in linux kernel

Nicolas Huillard nicolas at huillard.net
Mon Jul 4 18:58:52 CEST 2016


Le lundi 04 juillet 2016 à 16:57 +0200, radolfyr at web.de a écrit :
> in the linux kernel there is an interesding file:
> ./arch/x86/pci/fixup.c
> It contains some interresting fixup code for toshiba notebooks ("in
> some cases, the device will generate an interrupt on the wrong IRQ
> line...")
> Don't know if the click has a TI TSB43AB22/A. 

The Sharks Cove reference design doesn't seem to have one.
If I read correctly, this is a 1394 controller, ie. FireWire, which the
TCM doesn't have :
http://www.ti.com/product/tsb43ab22

> I would like to add the toshiba click mini to the list and test what
> happens. However I don't know what value for DMI_PRODUCT_VERSION I
> have to use.
> Sadly I have no knowlede in kernel development so just trying out
> something.
> Does somebody know the correct DMI_PRODUCT_VERSION value?

The dmidecode commandes gives a lot of information :
   dmidecode --string system-version
   PDW0FE-002006FR
This string happens to be written down on the label at the back of the
device : "Part No."
The correct match in your case would be "PDW0FE".

> /*
>  * Some Toshiba laptops need extra code to enable their TI TSB43AB22/A.
>  *
>  * We pretend to bring them out of full D3 state, and restore the proper
>  * IRQ, PCI cache line size, and BARs, otherwise the device won't function
>  * properly.  In some cases, the device will generate an interrupt on
>  * the wrong IRQ line, causing any devices sharing the line it's
>  * *supposed* to use to be disabled by the kernel's IRQ debug code.
>  */
> static u16 toshiba_line_size;
> static const struct dmi_system_id toshiba_ohci1394_dmi_table[] = {
>     {
>         .ident = "Toshiba PS5 based laptop",
>         .matches = {
>             DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
>             DMI_MATCH(DMI_PRODUCT_VERSION, "PS5"),
>         },
>     },
>     {
>         .ident = "Toshiba PSM4 based laptop",
>         .matches = {
>             DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
>             DMI_MATCH(DMI_PRODUCT_VERSION, "PSM4"),
>         },
>     },
>     {
>         .ident = "Toshiba A40 based laptop",
>         .matches = {
>             DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),
>             DMI_MATCH(DMI_PRODUCT_VERSION, "PSA40U"),
>         },
>     },
>     { }
> };

-- 
Nicolas Huillard



More information about the click mailing list