lkml.org 
[lkml]   [2012]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/3] PCI Hotplug: workaround for Thunderbolt on Intel DZ77RE-75K motherboard
On Thu, Dec 13, 2012 at 05:31:48PM +0200, Kirill A. Shutemov wrote:
> From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
>
> BIOS on Intel DZ77RE-75K motherboard notifies OS about Thunderbolt
> hotplug before devices behind Thunderbolt are ready to be enumerated.
>
> Let's delay enumeration by 2 seconds.
>
> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> ---
> drivers/pci/hotplug/acpiphp_glue.c | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/hotplug/acpiphp_glue.c b/drivers/pci/hotplug/acpiphp_glue.c
> index 1a2b3ca..165987a 100644
> --- a/drivers/pci/hotplug/acpiphp_glue.c
> +++ b/drivers/pci/hotplug/acpiphp_glue.c
> @@ -49,6 +49,7 @@
> #include <linux/mutex.h>
> #include <linux/slab.h>
> #include <linux/acpi.h>
> +#include <linux/dmi.h>
>
> #include "../pci.h"
> #include "acpiphp.h"
> @@ -1327,6 +1328,19 @@ out:
> static void handle_hotplug_event_bridge(acpi_handle handle, u32 type,
> void *context)
> {
> + unsigned long delay = 0;
> + const char *board_name;
> +
> + board_name = dmi_get_system_info(DMI_BOARD_NAME);
> + /*
> + * BIOS on Intel DZ77RE-75K motherboard notifies OS about Thunderbolt
> + * hotplug before devices behind Thunderbolt are ready to be
> + * enumerated.
> + * Let's delay enumeration by 2 seconds.
> + */
> + if (board_name && !strcmp(board_name, "DZ77RE-75K"))
> + delay = 2 * HZ;

Again, no objection to this patch as-is, but should we make it a bit
more "general" and provide a quirk table to make this type of fix easier
for other motherboards? Shouldn't we also match on a manufacturer field
as well as the board_name? The kernel provides a very easy to match on
any arbritary set of DMI fields for this kind of problem that we could
use here.

I can make that change if needed.

What are the odds that other boards are going to need a longer delay
time? Actually, is there a spec saying how long we need to wait? The
ACPI PCI Hotplug had a value somewhere that the hardware was supposed to
follow, but I don't have access to that ACPI spec anymore to verify
this...

thanks,

greg k-h


\
 
 \ /
  Last update: 2012-12-13 20:21    [W:0.173 / U:0.196 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site