From: Linus Torvalds Date: Thu, 14 Nov 2013 05:02:00 +0000 (+0900) Subject: Merge tag 'pci-v3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaa... X-Git-Tag: v3.13-rc1~95 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2f466d33f5f60542d3d82c0477de5863b22c94b9;p=kernel%2Fkernel-generic.git Merge tag 'pci-v3.13-changes' of git://git./linux/kernel/git/helgaas/pci Pull PCI changes from Bjorn Helgaas: "Resource management - Fix host bridge window coalescing (Alexey Neyman) - Pass type, width, and prefetchability for window alignment (Wei Yang) PCI device hotplug - Convert acpiphp, acpiphp_ibm to dynamic debug (Lan Tianyu) Power management - Remove pci_pm_complete() (Liu Chuansheng) MSI - Fail initialization if device is not in PCI_D0 (Yijing Wang) MPS (Max Payload Size) - Use pcie_get_mps() and pcie_set_mps() to simplify code (Yijing Wang) - Use pcie_set_readrq() to simplify code (Yijing Wang) - Use cached pci_dev->pcie_mpss to simplify code (Yijing Wang) SR-IOV - Enable upstream bridges even for VFs on virtual buses (Bjorn Helgaas) - Use pci_is_root_bus() to avoid catching virtual buses (Wei Yang) Virtualization - Add x86 MSI masking ops (Konrad Rzeszutek Wilk) Freescale i.MX6 - Support i.MX6 PCIe controller (Sean Cross) - Increase link startup timeout (Marek Vasut) - Probe PCIe in fs_initcall() (Marek Vasut) - Fix imprecise abort handler (Tim Harvey) - Remove redundant of_match_ptr (Sachin Kamat) Renesas R-Car - Support Gen2 internal PCIe controller (Valentine Barshak) Samsung Exynos - Add MSI support (Jingoo Han) - Turn off power when link fails (Jingoo Han) - Add Jingoo Han as maintainer (Jingoo Han) - Add clk_disable_unprepare() on error path (Wei Yongjun) - Remove redundant of_match_ptr (Sachin Kamat) Synopsys DesignWare - Add irq_create_mapping() (Pratyush Anand) - Add header guards (Seungwon Jeon) Miscellaneous - Enable native PCIe services by default on non-ACPI (Andrew Murray) - Cleanup _OSC usage and messages (Bjorn Helgaas) - Remove pcibios_last_bus boot option on non-x86 (Bjorn Helgaas) - Convert bus code to use bus_, drv_, and dev_groups (Greg Kroah-Hartman) - Remove unused pci_mem_start (Myron Stowe) - Make sysfs functions static (Sachin Kamat) - Warn on invalid return from driver probe (Stephen M. Cameron) - Remove Intel Haswell D3 delays (Todd E Brandt) - Call pci_set_master() in core if driver doesn't do it (Yinghai Lu) - Use pci_is_pcie() to simplify code (Yijing Wang) - Use PCIe capability accessors to simplify code (Yijing Wang) - Use cached pci_dev->pcie_cap to simplify code (Yijing Wang) - Removed unused "is_pcie" from struct pci_dev (Yijing Wang) - Simplify sysfs CPU affinity implementation (Yijing Wang)" * tag 'pci-v3.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (79 commits) PCI: Enable upstream bridges even for VFs on virtual buses PCI: Add pci_upstream_bridge() PCI: Add x86_msi.msi_mask_irq() and msix_mask_irq() PCI: Warn on driver probe return value greater than zero PCI: Drop warning about drivers that don't use pci_set_master() PCI: Workaround missing pci_set_master in pci drivers powerpc/pci: Use pci_is_pcie() to simplify code [fix] PCI: Update pcie_ports 'auto' behavior for non-ACPI platforms PCI: imx6: Probe the PCIe in fs_initcall() PCI: Add R-Car Gen2 internal PCI support PCI: imx6: Remove redundant of_match_ptr PCI: Report pci_pme_active() kmalloc failure mn10300/PCI: Remove useless pcibios_last_bus frv/PCI: Remove pcibios_last_bus PCI: imx6: Increase link startup timeout PCI: exynos: Remove redundant of_match_ptr PCI: imx6: Fix imprecise abort handler PCI: Fail MSI/MSI-X initialization if device is not in PCI_D0 PCI: imx6: Remove redundant dev_err() in imx6_pcie_probe() x86/PCI: Coalesce multiple overlapping host bridge windows ... --- 2f466d33f5f60542d3d82c0477de5863b22c94b9 diff --cc include/linux/acpi.h index 74c5a8e,e2e52cf..b0972c4 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@@ -294,32 -294,33 +294,34 @@@ void __init acpi_nvs_nosave_s3(void) #endif /* CONFIG_PM_SLEEP */ struct acpi_osc_context { - char *uuid_str; /* uuid string */ + char *uuid_str; /* UUID string */ int rev; - struct acpi_buffer cap; /* arg2/arg3 */ - struct acpi_buffer ret; /* free by caller if success */ + struct acpi_buffer cap; /* list of DWORD capabilities */ + struct acpi_buffer ret; /* free by caller if success */ }; - #define OSC_QUERY_TYPE 0 - #define OSC_SUPPORT_TYPE 1 - #define OSC_CONTROL_TYPE 2 - - /* _OSC DW0 Definition */ - #define OSC_QUERY_ENABLE 1 - #define OSC_REQUEST_ERROR 2 - #define OSC_INVALID_UUID_ERROR 4 - #define OSC_INVALID_REVISION_ERROR 8 - #define OSC_CAPABILITIES_MASK_ERROR 16 - +acpi_status acpi_str_to_uuid(char *str, u8 *uuid); acpi_status acpi_run_osc(acpi_handle handle, struct acpi_osc_context *context); - /* platform-wide _OSC bits */ - #define OSC_SB_PAD_SUPPORT 1 - #define OSC_SB_PPC_OST_SUPPORT 2 - #define OSC_SB_PR3_SUPPORT 4 - #define OSC_SB_HOTPLUG_OST_SUPPORT 8 - #define OSC_SB_APEI_SUPPORT 16 + /* Indexes into _OSC Capabilities Buffer (DWORDs 2 & 3 are device-specific) */ + #define OSC_QUERY_DWORD 0 /* DWORD 1 */ + #define OSC_SUPPORT_DWORD 1 /* DWORD 2 */ + #define OSC_CONTROL_DWORD 2 /* DWORD 3 */ + + /* _OSC Capabilities DWORD 1: Query/Control and Error Returns (generic) */ + #define OSC_QUERY_ENABLE 0x00000001 /* input */ + #define OSC_REQUEST_ERROR 0x00000002 /* return */ + #define OSC_INVALID_UUID_ERROR 0x00000004 /* return */ + #define OSC_INVALID_REVISION_ERROR 0x00000008 /* return */ + #define OSC_CAPABILITIES_MASK_ERROR 0x00000010 /* return */ + + /* Platform-Wide Capabilities _OSC: Capabilities DWORD 2: Support Field */ + #define OSC_SB_PAD_SUPPORT 0x00000001 + #define OSC_SB_PPC_OST_SUPPORT 0x00000002 + #define OSC_SB_PR3_SUPPORT 0x00000004 + #define OSC_SB_HOTPLUG_OST_SUPPORT 0x00000008 + #define OSC_SB_APEI_SUPPORT 0x00000010 + #define OSC_SB_CPC_SUPPORT 0x00000020 extern bool osc_sb_apei_support_acked;