- 06 Apr, 2016 40 commits
-
-
Catherine Sullivan authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Add some missing reporting/advertisement of 100Mb capability for adapters that support it. Change-ID: I8b8523fbdc99517bec29d90c71b3744db11542ac Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit f8db54cc) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Shannon Nelson authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Add the new External Device Power Ability field to the get_link_status data structure, using space from the reserved field at the end of the struct. Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Acked-by: Kevin Scott <kevin.c.scott@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 5eb772f7) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Shannon Nelson authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Fix the name of the new cloud tunnel type from the place-holder NGE name to the official Geneve. Also fix the spelling of the VXLAN type. Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Acked-by: Kevin Scott <kevin.c.scott@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> (cherry picked from net-next commit 59264253) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Shannon Nelson authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Add the AQ opcode and struct definitions for the Run PHY Activity command Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Acked-by: Kevin Scott <kevin.c.scott@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 5394f02f) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Greg Bowers authored
BugLink: http://bugs.launchpad.net/bugs/1547674 X710/XL710 devices require FW version checks to properly handle DCB configurations from the FW. Newer devices do not, so limit these checks to X710/XL710. Signed-off-by: Greg Bowers <gregory.j.bowers@intel.com> Acked-by: Shannon Nelson <shannon.nelson@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 6dfae389) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Shannon Nelson authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Add the new proxy-wake-on-lan capability bit available with the new X722 device. Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 4ba40bce) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Jesse Brandeburg authored
BugLink: http://bugs.launchpad.net/bugs/1547674 As done per ixgbe, use a private workqueue to avoid blocking the system workqueue. This avoids some strange side effects when some other entity is depending on the system work queue. Change-ID: Ic8ba08f5b03696cf638b21afd25fbae7738d55ee Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 2803b16c) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Anjali Singhai Jain authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Add write-back on interrupt throttle rate timer expiration support for the i40evf driver, when running on X722 devices. Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit f6d83d13) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Anjali Singhai Jain authored
BugLink: http://bugs.launchpad.net/bugs/1547674 The PCTYPES for the X710 and X722 families are different. This patch makes adjustments for that. Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 3d0da5b7) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Anjali Singhai Jain authored
BugLink: http://bugs.launchpad.net/bugs/1547674 This patch adds another way to access the RSS keys and lut using the AQ for X722 devices. Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 95a73780) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Anjali Singhai Jain authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Add the KX and QSFP device IDs for X722. Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 35dae51d) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Catherine Sullivan authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Bump. Change-ID: Ic9a495feb9ab0606f953c3848b0acf67169d3930 Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 4f9e697e) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Jesse Brandeburg authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Synchronize code bases and add SCTP offload support. Change-ID: I9f99071f7176225479026930c387bf681a47494e Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 5afdaaa0) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Anjali Singhai Jain authored
BugLink: http://bugs.launchpad.net/bugs/1547674 The restart-autoneg work around does not apply to X722. Added a flag to set it only for the right MAC and right FW version where the work around should be applied. Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Change-ID: I942c3ff40cccd1e56f424b1da776b020fe3c9d2a Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 8eed76fa) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Mitch Williams authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Since we check these ring pointers to make sure we don't double-allocate or double-free the rings, we had better null them out after we free them. In very rare cases this can cause a panic if the driver is removed during reset recovery. Change-ID: Ib06eb4910a3058275c8f7ec5ef7f45baa4674f96 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 10311540) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Shannon Nelson authored
BugLink: http://bugs.launchpad.net/bugs/1547674 The device capabilities were defined in two places, and neither had all the definitions. It really belongs with the AQ API definition, so this patch removes the other set of definitions and fills out the missing item. Change-ID: I273ba7d79a476cd11d2e0ca5825fec1716740de2 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 406e734a) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Mitch Williams authored
BugLink: http://bugs.launchpad.net/bugs/1547674 In some modes, bonding would not enslave VF interfaces. This is due to bonding calling change_mtu and the immediately calling open. Because of the asynchronous nature of the admin queue mechanism, the VF returns -EBUSY to the open call, because it knows the previous operation hasn't finished yet. This causes bonding to fail with a less-than-useful error message. To fix this, remove the check for pending operations at the beginning of open. But this introduces a new bug where the driver will panic on a quick close/open cycle. To fix that, we add a new driver state, __I40EVF_DOWN_PENDING, that the driver enters when down is called. The driver finally transitions to a fully DOWN state when it receives confirmation from the PF driver that all the queues are disabled. This allows open to complete even if there is a pending mtu change, and bonding is finally happy. Change-ID: I06f4c7e435d5bacbfceaa7c3f209e0ff04be21cc Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 209dc4da) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Catherine Sullivan authored
BugLink: http://bugs.launchpad.net/bugs/1547674 100M SGMII is only supported on X722. Replace the mac check with a feature flag check that is only set for the X722 device. Change-ID: I53452d9af6af8cd9dca8500215fbc6ce93418f52 Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 48b1804e) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Anjali Singhai Jain authored
BugLink: http://bugs.launchpad.net/bugs/1547674 This patch fixes the Hash PCTYPE enable for X722 since it supports a broader selection of PCTYPES for TCP and UDP. This patch also fixes a bug in XL710, X710, X722 support for RSS, as of now we cannot reduce the (4)tuple for RSS for TCP/IPv4/IPV6 or UDP/IPv4/IPv6 packets since this requires a product feature change that comes in a later release. A VF should never be allowed to change the tuples for RSS for any PCTYPE since that's a global setting for the device in case of i40e devices. Change-ID: I0ee7203c9b24813260f58f3220798bc9d9ac4a12 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 6e35c04c) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Kiran Patil authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Add MAC filter element to the end of the list in the given order, just to be tidy, and just in case there are ever any ordering issues in the future. Change-ID: Idc15276147593ea9393ac72c861f9c7905a791b4 Signed-off-by: Kiran Patil <kiran.patil@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> (cherry picked from net-next commit 04d5a21d) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
David S. Miller authored
BugLink: http://bugs.launchpad.net/bugs/1547674 A repeating pattern in drivers has become to use OF node information and, if not found, platform specific host information to extract the ethernet address for a given device. Currently this is done with a call to of_get_mac_address() and then some ifdef'd stuff for SPARC. Consolidate this into a portable routine, and provide the arch_get_platform_mac_address() weak function hook for all architectures to implement if they want. Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from net-next commit c7f5d105) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Jesper Dangaard Brouer authored
BugLink: http://bugs.launchpad.net/bugs/1547674 Discovered that network stack were hitting the kmem_cache/SLUB slowpath when freeing SKBs. Doing bulk free with kmem_cache_free_bulk can speedup this slowpath. NAPI context is a bit special, lets take advantage of that for bulk free'ing SKBs. In NAPI context we are running in softirq, which gives us certain protection. A softirq can run on several CPUs at once. BUT the important part is a softirq will never preempt another softirq running on the same CPU. This gives us the opportunity to access per-cpu variables in softirq context. Extend napi_alloc_cache (before only contained page_frag_cache) to be a struct with a small array based stack for holding SKBs. Introduce a SKB defer and flush API for accessing this. Introduce napi_consume_skb() as replacement for e.g. dev_consume_skb_any() when running in NAPI context. A small trick to handle/detect if we are called from netpoll is to see if budget is 0. In that case, we need to invoke dev_consume_skb_irq(). Joint work with Alexander Duyck. Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: Alexander Duyck <alexander.h.duyck@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from net-next commit 795bb1c0) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
mpt3sas: Remove cpumask_clear for zalloc_cpumask_var and don't free free_cpu_mask_var before reply_q BugLink: http://bugs.launchpad.net/bugs/1512221 Removed cpumask_clear as it is not required for zalloc_cpumask_var and free free_cpumask_var before freeing reply_q. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@broadcom.com> Signed-off-by: Chaitra P B <chaitra.basappa@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 01b96358f594b38813f25d89da850e4bce337318) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Bump mpt3sas driver version from 09.102.00.00 to 12.100.00.00 Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit f27b0bd7abe06288ba38125f144aa3d91fb315f4) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Track msix of each IO and use the same msix for issuing abort to timed out IO. With this driver will process IO's reply first followed by TM. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 06071c8bae271ea2f8af3951c40ffad340b2cbbd) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Updated MPI version and MPI header files. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit ff711f645e0de9adec7fff52f2a5f0a1959d5be6) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Added support for configurable Chain Frame Size. Calculate the Chain Message Frame size from the IOCMaxChainSegementSize (iocfacts). Applicable only for mpt3sas/SAS3.0 HBA's. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 84619ca86eb0797aad61f962dafa82788861c4e0) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath Prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Module parameter to enable/disable configuring affinity hint for msix vector. SMP affinity feature can be enabled/disabled by setting module parameter "smp_affinity_enable" to 1/0. By default this feature is enabled. (smp_affinity_enable = 1 enabled). Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit be65e666abdd21865b3ea2713257a66e624eeaec) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Driver assumes HighPriority credit as part of Global credit. But, Firmware treats HighPriority credit value and global cedits as two different values. Changed host queue algorithm to treat global credits and highPriority credits as two different values. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 3ffa7c60b71fcd1070a68a74c380c05c4c161710) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Never block the SEP device (i.e. Never invoke the scsi_internal_device_block() API for SEP device) even for the delay not responding events. Blocking the SEP device will create a deadlock while adding any device to the OS. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit b17d0b7ff0768070180e1021c0f32988445644d8) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 1.Wrong size of argument is being passed The size of struct being passed as an argument to memset func and area of memory being pointed by an instance of struct in memset func should be of same structure type. 2.Dereference null return value 3.Array compared against '0' Check whether value pointed by particular index of an array is null or not in "if" statement. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit dc2ed1660060a04ae9857047ace1169bddeb2ef6) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 As driver was using MPI SGL while framing the SMP Passthrough request message due to which firmware unable to post the Reply Data in the host memory and timeout is observed for this SMP Passthrough request message and so unable to perform phy disable operation. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 415f1c3fe636022dd2d91fc152c0665adf588e44) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Suganath prabu Subramani authored
BugLink: http://bugs.launchpad.net/bugs/1512221 Updated hardware description headers with MPI v2.6 and mpt3sas_pci_table[] with vendor_ids, device_ids of Cutlass and Intruder HBA which have support for 4 ports. Signed-off-by: Suganath prabu Subramani <suganath-prabu.subramani@avagotech.com> Signed-off-by: Chaitra P B <chaitra.basappa@avagotech.com> Reviewed-by: Tomas Henzl <thenzl@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 1abeff9c9ab2384a0da5019956d52944350301e6) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Tomas Henzl authored
BugLink: http://bugs.launchpad.net/bugs/1512221 It might happen that we try to free an already freed pointer. Reported-by: Maurizio Lombardi <mlombard@redhat.com> Signed-off-by: Tomas Henzl <thenzl@redhat.com> Acked-by: Chaitra P B <chaitra.basappa@avagotech.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from commit 5f985d88) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Tyrel Datwyler authored
BugLink: http://bugs.launchpad.net/bugs/1547153 The values returned by the show functions for the host os_type, mad_version, and partition_number attributes get their values directly from the madapter_info struct whose associated fields are __be32 typed. Added endian conversion to ensure these values are sane on LE platforms. Signed-off-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> (cherry picked from linux-next commit f9e3de0d6053ae89828188291a405c64d8d95a0e) Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Tim Gardner authored
Ignore: yes Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Tim Gardner authored
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-
Lorenzo Pieralisi authored
BugLink: http://bugs.launchpad.net/bugs/1547047 The SBBR and ACPI specifications allow ACPI based systems that do not implement PSCI (eg systems with no EL3) to boot through the ACPI parking protocol specification[1]. This patch implements the ACPI parking protocol CPU operations, and adds code that eases parsing the parking protocol data structures to the ARM64 SMP initializion carried out at the same time as cpus enumeration. To wake-up the CPUs from the parked state, this patch implements a wakeup IPI for ARM64 (ie arch_send_wakeup_ipi_mask()) that mirrors the ARM one, so that a specific IPI is sent for wake-up purpose in order to distinguish it from other IPI sources. Given the current ACPI MADT parsing API, the patch implements a glue layer that helps passing MADT GICC data structure from SMP initialization code to the parking protocol implementation somewhat overriding the CPU operations interfaces. This to avoid creating a completely trasparent DT/ACPI CPU operations layer that would require creating opaque structure handling for CPUs data (DT represents CPU through DT nodes, ACPI through static MADT table entries), which seems overkill given that ACPI on ARM64 mandates only two booting protocols (PSCI and parking protocol), so there is no need for further protocol additions. Based on the original work by Mark Salter <msalter@redhat.com> [1] https://acpica.org/sites/acpica/files/MP%20Startup%20for%20ARM%20platforms.docxSigned-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Tested-by: Loc Ho <lho@apm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Hanjun Guo <hanjun.guo@linaro.org> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Mark Salter <msalter@redhat.com> Cc: Al Stone <ahs3@redhat.com> [catalin.marinas@arm.com: Added WARN_ONCE(!acpi_parking_protocol_valid() on the IPI] Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> (backported from linux-next commit b518dc969cea61100ec7a7692716a0e82a189b2d) Signed-off-by: Craig Magina <craig.magina@canonical.com>
-
Craig Magina authored
BugLink: http://bugs.launchpad.net/bugs/1547047Signed-off-by: Craig Magina <craig.magina@canonical.com>
-
Josh Poimboeuf authored
Calling set_memory_rw() and set_memory_ro() for every iteration of the loop in klp_write_object_relocations() is messy, inefficient, and error-prone. Change all the read-only pages to read-write before the loop and convert them back to read-only again afterwards. Suggested-by: Miroslav Benes <mbenes@suse.cz> Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz> (cherry picked from commit b56b36ee) Signed-off-by: Chris J Arges <chris.j.arges@canonical.com> Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
-