]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/log
mirror_ubuntu-zesty-kernel.git
8 years agoi40evf: remove duplicate string
Mitch Williams [Fri, 6 Nov 2015 23:26:01 +0000 (15:26 -0800)]
i40evf: remove duplicate string

BugLink: http://bugs.launchpad.net/bugs/1536474
We already print the driver info string in probe, so don't print
it again in init. No need to repeat. No need to repeat.

Change-ID: Ief597997f580a8c54d5950e3a84c29f2075be66b
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 commit 05281eb8e1754688ecf07a63844c56c9f76b38ad)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: set real num queues
Mitch Williams [Fri, 6 Nov 2015 23:26:00 +0000 (15:26 -0800)]
i40evf: set real num queues

BugLink: http://bugs.launchpad.net/bugs/1536474
Use the helper function to set the real number of RX queues, and also
set the real number of TX queues.

Change-ID: I67982799de3f248fb4158ccdc9b1a74385f42ddd
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 commit e6c4cf6fb9323c0f65b8fef1c0c8c9e15b51007e)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: increase max number of queues
Mitch Williams [Fri, 6 Nov 2015 23:25:59 +0000 (15:25 -0800)]
i40evf: increase max number of queues

BugLink: http://bugs.launchpad.net/bugs/1536474
Future devices will allow for more queue pairs, so allocate a netdev
that can handle them. While we're at it, get rid of the separate
MAX_TX/MAX_RX defines. Since we always get matched queue pairs, having
these makes no sense.

Change-ID: I0e3556cd9a962506e509eb7c0afa36b329e8cb51
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 commit 1255b7a12ec4b6174a1c84f4aae4370b8ba1b1cf)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: remove unused argument
Jesse Brandeburg [Fri, 6 Nov 2015 01:01:02 +0000 (17:01 -0800)]
i40e: remove unused argument

BugLink: http://bugs.launchpad.net/bugs/1536474
With the final edition of the patches to remove sleeps from
the driver's entry points, the grab_rtnl argument is no
longer needed, so partially revert the commit that added it.

Change-ID: Ib9778476242586cc9e58b670f5f48d415cb59003
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 commit 17652c6336fdca0f48906f0a1d9b5ac77b29e5a7)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: fix: do not sleep in netdev_ops
Jesse Brandeburg [Fri, 6 Nov 2015 01:01:01 +0000 (17:01 -0800)]
i40e: fix: do not sleep in netdev_ops

BugLink: http://bugs.launchpad.net/bugs/1536474
The driver was being called by VLAN, bonding, teaming operations
that expected to be able to hold locks like rcu_read_lock().

This causes the driver to be held to the requirement to not sleep,
and was found by the kernel debug options for checking sleep
inside critical section, and the locking validator.

Change-ID: Ibc68c835f5ffa8ffe0638ffe910a66fc5649a7f7
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 commit 0e4425ed641f3eef67c892bc541949cd745a9ba9)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e/i40evf: Bump i40e version to 1.4.4 and i40evf to 1.4.1
Catherine Sullivan [Mon, 26 Oct 2015 23:44:41 +0000 (19:44 -0400)]
i40e/i40evf: Bump i40e version to 1.4.4 and i40evf to 1.4.1

BugLink: http://bugs.launchpad.net/bugs/1536474
Bump.

Change-ID: I00ebbb2e5e5572f947502b8f6db4d94f666d6b14
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 commit e1c227919548fb9d8ee771e715d2764f1d41e8e0)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: allocate ring structs dynamically
Mitch Williams [Mon, 26 Oct 2015 23:44:40 +0000 (19:44 -0400)]
i40evf: allocate ring structs dynamically

BugLink: http://bugs.launchpad.net/bugs/1536474
Instead of awkwardly keeping a fixed array of pointers in the adapter
struct and then allocating ring structs individually, just keep a single
pointer and allocate a single blob for the arrays. This simplifies code,
shrinks the adapter structure, and future-proofs the driver by not
limiting the number of rings we can handle.

Change-ID: I31334ff911a6474954232cfe4bc98ccca3c769ff
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 commit 0dd438d8ad5db85c1a805ce2244252e37d5586a0)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: allocate queue vectors dynamically
Mitch Williams [Mon, 26 Oct 2015 23:44:39 +0000 (19:44 -0400)]
i40evf: allocate queue vectors dynamically

BugLink: http://bugs.launchpad.net/bugs/1536474
Change the queue_vector array from a statically-sized member of the
adapter structure to a dynamically-allocated and -sized array.

This reduces the size of the adapter structure, and allows us to support
any number of queue vectors in the future without changing the code.

Change-ID: I08dc622cb2f2ad01e832e51c1ad9b86524730693
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 commit 7d96ba1a8b7c36d1f4a04dc40e031b6f8c677496)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: quoth the VF driver, Nevermore
Mitch Williams [Mon, 26 Oct 2015 23:44:38 +0000 (19:44 -0400)]
i40evf: quoth the VF driver, Nevermore

BugLink: http://bugs.launchpad.net/bugs/1536474
If, upon a midnight dreary, the PF returns ERR_PARAM when the VF is
requesting resources, that's fatal. Either the firmware or NVM is badly,
badly misconfigured, or this VF has been disabled due to a previous VF
driver sending a bunch of bogus messages.

Either way, there is no recovery from this. Don't ponder weak and weary,
just quit.

Change-ID: I09d9f16cc4ee7fec3b57646a289d33838c1c5bf5
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 commit e743072fd16e6e772d5b5e4aef38873946f9a3e0)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: make error message more useful
Mitch Williams [Mon, 26 Oct 2015 23:44:37 +0000 (19:44 -0400)]
i40e: make error message more useful

BugLink: http://bugs.launchpad.net/bugs/1536474
If we get an invalid message from a VF, we should tell the user which VF
is being naughty, rather than making them guess.

Change-ID: I9252cef7baea3d8584043ed6ff12619a94e2f99c
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 commit e7ffb72d65c784ba445ac849bd46d2533365fae7)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: fix confusing message
Helin Zhang [Mon, 26 Oct 2015 23:44:36 +0000 (19:44 -0400)]
i40e: fix confusing message

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch fixes the confusing kernel message of enabled RSS size,
by reporting it together with the hardware maximum RSS size.

Change-ID: I64864dbfbc13beccc180a7871680def1f3d5a339
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit e36b0b111bcc651ce030e88e042f83b015dd04b8)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: Update error messaging
Carolyn Wyborny [Mon, 26 Oct 2015 23:44:35 +0000 (19:44 -0400)]
i40e: Update error messaging

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch fixes an issue where adminq init failures always provided
a message that NVM was newer than expected.  This is not always the
case for init_adminq failures. Without this patch, if adminq init
fails for any reason, newer NVM message would be given.  This
problem is fixed by adding  a check for that specific error
condition and a different hopefully helpful message otherwise.

Change-ID: Iaeaebee4e398989eae40bb70f943ab66a3a521a5
Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 2b2426a760764017cb53ffae128c87b7808dcf11)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: add new fields to store user configuration of RSS
Helin Zhang [Mon, 26 Oct 2015 23:44:34 +0000 (19:44 -0400)]
i40evf: add new fields to store user configuration of RSS

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch adds new fields to i40e_vsi to store user configured
RSS config data and code to use it.

Change-ID: Ic5d3db8d9df52182b560248f8cdca9c5c7546879
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 66f9af855a4df146713866f6076207edea44a4f5)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: create a generic get RSS function
Helin Zhang [Mon, 26 Oct 2015 23:44:33 +0000 (19:44 -0400)]
i40evf: create a generic get RSS function

BugLink: http://bugs.launchpad.net/bugs/1536474
There are two ways to get RSS, this patch implements two functions
with the same input parameters, and creates a more generic function
for getting RSS configuration.

Change-ID: I12d3b712c21455d47dd0a5aae58fc9b7c680db59
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 90b02b4392eb9778265ec6b4fef034010a937910)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: create a generic config RSS function
Helin Zhang [Tue, 27 Oct 2015 20:15:06 +0000 (16:15 -0400)]
i40evf: create a generic config RSS function

BugLink: http://bugs.launchpad.net/bugs/1536474
There are two ways to configure RSS, this patch adjusts those two
functions with the same input parameters, and creates a more
generic function for configuring RSS.

Change-ID: Iace73bdeba4831909979bef221011060ab327f71
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 2c86ac3c70794f0ecc3684b0ae0fd75b0cf0c1f6)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: rename VF adapter specific RSS function
Helin Zhang [Mon, 26 Oct 2015 23:44:31 +0000 (19:44 -0400)]
i40evf: rename VF adapter specific RSS function

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch renames old VF adapter specific RSS function to clarify
its scope.

Change-ID: Ie5253083a44c677ebb7709a8a3a18402ad2dc6a6
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 96a8198652e5b80a2cfc87397a3512bf8e45cd63)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e/i40evf: prefetch skb data on transmit
Jesse Brandeburg [Mon, 26 Oct 2015 23:44:30 +0000 (19:44 -0400)]
i40e/i40evf: prefetch skb data on transmit

BugLink: http://bugs.launchpad.net/bugs/1536474
Issue a prefetch for data early in the transmit path.
This should not be generally needed for Tx traffic, but
it helps immensely for pktgen workloads and should help
for forwarding workloads as well.

Change-ID: Iefee870c20599e0c4240e1d8637e4f16b625f83a
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 commit b74118f08356fd8ab6cb5d1a15705a2760c9afdd)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e/i40evf: Fix RS bit update in Tx path and disable force WB workaround
Anjali Singhai Jain [Mon, 26 Oct 2015 23:44:29 +0000 (19:44 -0400)]
i40e/i40evf: Fix RS bit update in Tx path and disable force WB workaround

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch fixes the issue of forcing WB too often causing us to not
benefit from NAPI.

Without this patch we were forcing WB/arming interrupt too often taking
away the benefits of NAPI and causing a performance impact.

With this patch we disable force WB in the clean routine for X710
and XL710 adapters. X722 adapters do not enable interrupt to force
a WB and benefit from WB_ON_ITR and hence force WB is left enabled
for those adapters.
For XL710 and X710 adapters if we have less than 4 packets pending
a software Interrupt triggered from service task will force a WB.

This patch also changes the conditions for setting RS bit as described
in code comments. This optimizes when the HW does a tail bump amd when
it does a WB. It also optimizes when we do a wmb.

Change-ID: Id831e1ae7d3e2ec3f52cd0917b41ce1d22d75d9d
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 commit 6a7fded776a778f728b13d83a2c9fc893580c080)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: rename rss_size to alloc_rss_size in i40e_pf
Helin Zhang [Mon, 26 Oct 2015 23:44:28 +0000 (19:44 -0400)]
i40e: rename rss_size to alloc_rss_size in i40e_pf

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch renames rss_size to alloc_rss_size in i40e_pf, which is
clearer and avoids confusion. It also adds comments to the other
related structure members to help clarify usage.

Change-ID: Ia90090609d006ab589cb639975bb8a0af795d16f
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit acd65448f2e6b3407b8bb28b57d711ca417ea679)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: add new fields to store user configuration
Helin Zhang [Mon, 26 Oct 2015 23:44:27 +0000 (19:44 -0400)]
i40e: add new fields to store user configuration

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch adds new fields to i40e_vsi to store user configured
RSS config data and code to use it.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Change-ID: I73886469dca9e9f6b16d842182a87f3f4009f95d
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 28c5869f2bc4e319027bc22a66a1aa9eefc69a16)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: Bump version to 1.4.2
Catherine Sullivan [Wed, 21 Oct 2015 23:56:24 +0000 (19:56 -0400)]
i40e: Bump version to 1.4.2

BugLink: http://bugs.launchpad.net/bugs/1536474
Bump.

Change-ID: I2d1ce93b2ce74e4eef2394c932aef52cba99713f
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 commit 1c2df9e5a763d6d88f9aea8ca76d0ca75753fbd5)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: create a generic configure rss function
Helin Zhang [Wed, 21 Oct 2015 23:56:23 +0000 (19:56 -0400)]
i40e: create a generic configure rss function

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch renames the old pf-specific function in order to clarify
its scope. This patch also creates a more generic configure RSS
function with the old name.

This patch also creates a new more generic function to get RSS
configuration, using the appropriate method.

Change-ID: Ieddca2707b708ef19f1ebccdfd03a0a0cd63d3af
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 043dd650efde3dfc65a6461e1cdc51cc87cb76f7)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: rework the functions to configure RSS with similar parameters
Helin Zhang [Wed, 21 Oct 2015 23:56:22 +0000 (19:56 -0400)]
i40e: rework the functions to configure RSS with similar parameters

BugLink: http://bugs.launchpad.net/bugs/1536474
Adjust the RSS configure functions so that there is a generic way to
hook to ethtool hooks.

Change-ID: If446e34fcfaf1bc3320d9d319829a095b5976e67
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit e69ff813af354ae445518d44e299eeb85d5037e2)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: return the number of enabled queues for ETHTOOL_GRXRINGS
Helin Zhang [Wed, 21 Oct 2015 23:47:13 +0000 (19:47 -0400)]
i40e: return the number of enabled queues for ETHTOOL_GRXRINGS

BugLink: http://bugs.launchpad.net/bugs/1536474
This patch fixes a problem where using ethtool rxnfc command could
let RX flow hash be set on disabled queues. This patch fixes the
problem by returning the number of enabled queues before setting
rxnfc.

Change-ID: Idbac86b0b47ddacc8deee7cd257e41de01cbe5c0
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 3e3aa21fe9265bdc45ff795dbcc90bcdd2f1017c)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: handle many MAC filters correctly
Mitch Williams [Wed, 21 Oct 2015 23:47:12 +0000 (19:47 -0400)]
i40evf: handle many MAC filters correctly

BugLink: http://bugs.launchpad.net/bugs/1536474
When a lot (many hundreds) of MAC or VLAN filters are added at one time,
we can overflow the Admin Queue buffer size with all the requests.
Unfortunately, the driver would then calculate the message size
incorrectly, causing it to be rejected by the PF. Furthermore, there was
no mechanism to trigger another request to allow for configuring the
rest of the filters that didn't fit into the first request.

To fix this, recalculate the correct buffer size when we detect the
overflow condition instead of just assuming the max buffer size. Also,
don't clear the request bit in adapter->aq_required when we have an
overflow, so that the rest of the filters can be processed later.

Change-ID: Idd7cbbc5af31315e0dcb1b10e6a02ad9817ce65c
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 commit 1418c3458118c6969d08e23aa377da7e2a7be36c)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e/i40evf: clean up error messages
Mitch Williams [Wed, 21 Oct 2015 23:47:11 +0000 (19:47 -0400)]
i40e/i40evf: clean up error messages

BugLink: http://bugs.launchpad.net/bugs/1536474
Clean up and enhance error messages related to VF MAC/VLAN filters.
Indicate which VF is having issues, and if possible indicate the MAC
address or VLAN involved.

Also, when an error is returned from the PF driver, print useful
information about what went wrong, for the most likely cases.

Change-ID: Ib3d15eef9e3369a78fd142948671e5fa26d921b8
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 commit 8d8f2295d0752230e0a697af33e5af96561b64a0)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e/i40evf: Add comment to #endif
Helin Zhang [Wed, 21 Oct 2015 23:47:10 +0000 (19:47 -0400)]
i40e/i40evf: Add comment to #endif

BugLink: http://bugs.launchpad.net/bugs/1536474
Add a comment to the #endif to more easily match it with its #if.

Change-ID: I47eb0a60a17dc6d2f01a930e45006d2dc82e044f
Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 2f175f552ddb2498742c925332ce01b602fa029a)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: Move the saving of old link info from handle_link_event to link_event
Catherine Sullivan [Wed, 21 Oct 2015 23:47:09 +0000 (19:47 -0400)]
i40e: Move the saving of old link info from handle_link_event to link_event

BugLink: http://bugs.launchpad.net/bugs/1536474
The watchdog only calls link_event not handle_link_event which means
that we need to save the old information in link_event.

Previously when polling we were comparing current data to the old data
saved the last time we actually received a link event. This means that
the polling would only fix link status changes in one direction
depending on what the last old data saved off was.

Change-ID: Ie590f30fdbcb133d0ddad4e07e3eb1aad58255b3
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 commit 1f9610e4777c391e1e749ffc646b29dbff920834)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e/i40evf: Add a stat to track how many times we have to do a force WB
Anjali Singhai Jain [Wed, 21 Oct 2015 23:47:08 +0000 (19:47 -0400)]
i40e/i40evf: Add a stat to track how many times we have to do a force WB

BugLink: http://bugs.launchpad.net/bugs/1536474
When in NAPI with interrupts disabled, the HW needs to be forced to do a
write back on TX if the number of descriptors pending are less than a
cache line.

This stat helps keep track of how many times we get into this situation.

Change-ID: I76c1bcc7ebccd6bffcc5aa33bfe05f2fa1c9a984
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 commit 164c9f54631beca4d174f306acdcaec2bdeef52e)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: Workaround fix for mss < 256 issue
Anjali Singhai Jain [Wed, 21 Oct 2015 23:47:07 +0000 (19:47 -0400)]
i40e: Workaround fix for mss < 256 issue

BugLink: http://bugs.launchpad.net/bugs/1536474
HW/NVM sets a limit of no less than 256 bytes for MSS. Stack can send as
low as 76 bytes MSS. This patch lowers the HW limit to 64 bytes to avoid
MDDs from firing and causing a reset when the MSS is lower than 256.

Change-ID: I36b500a6bb227d283c3e321a7718e0672b11fab0
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 commit 4f2f017c6101ab2ba202d6059c238c15577ad38b)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: remove BUG_ON from FCoE setup
Shannon Nelson [Wed, 21 Oct 2015 23:47:05 +0000 (19:47 -0400)]
i40e: remove BUG_ON from FCoE setup

BugLink: http://bugs.launchpad.net/bugs/1536474
There's no need to kill the kernel thread here. If this condition was
true, the probe() would have died long before we got here. In any case,
we'll get the same result when this code tries to use the VSI pointer
being checked.

Prompted by a recent Linus diatribe.

Change-ID: I62f531cac34d4fc28ff9657d5b2d9523ae5e33a4
Signed-off-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 commit f9b26ebb6e46f2231adc22d69f4150dc53f19b74)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: remove BUG_ON from feature string building
Shannon Nelson [Wed, 21 Oct 2015 23:47:04 +0000 (19:47 -0400)]
i40e: remove BUG_ON from feature string building

BugLink: http://bugs.launchpad.net/bugs/1536474
There's really no reason to kill the kernel thread just because of a
little info string. This reworks the code to use snprintf's limiting to
assure that the string is never too long, and WARN_ON to still put out
a warning that we might want to look at the feature list length.

Prompted by a recent Linus diatribe.

Change-ID: If52ba5ca1c2344d8bf454a31bbb805eb5d2c5802
Signed-off-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 commit 7fd89545f3374a061669a279ae0e084b0ddbb53d)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e: Change BUG_ON to WARN_ON in service event complete
Shannon Nelson [Wed, 21 Oct 2015 23:47:03 +0000 (19:47 -0400)]
i40e: Change BUG_ON to WARN_ON in service event complete

BugLink: http://bugs.launchpad.net/bugs/1536474
There's no need to kill the thread and eventually the kernel in this
case.  In fact, the remainder of the code won't hurt anything anyway,
so just complain that we're here and move along.

Prompted by a recent Linus diatribe.

Change-ID: Iec020d8bcfedffc1cd2553cc6905fd915bb3e670
Signed-off-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 commit b875f99b4cb454e0aa1e68d2d8792112a1e07050)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40e/i40evf: remove unused tunnel parameter
Shannon Nelson [Wed, 21 Oct 2015 23:47:02 +0000 (19:47 -0400)]
i40e/i40evf: remove unused tunnel parameter

BugLink: http://bugs.launchpad.net/bugs/1536474
Code was moved into a separate function some time ago.

Change-ID: Icabbe71ce05cf5d716d3e1152cdd9cd41d11bcb5
Signed-off-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 commit 9c883bd3ebd127785ef0538b04e2d4b4c64c4c2d)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agointel: i40e: fix confused code
Rasmus Villemoes [Sat, 17 Oct 2015 20:58:19 +0000 (22:58 +0200)]
intel: i40e: fix confused code

BugLink: http://bugs.launchpad.net/bugs/1536474
This code is pretty confused. The variable name 'bytes_not_copied'
clearly indicates that the programmer knew the semantics of
copy_{to,from}_user, but then the return value is checked for being
negative and used as a -Exxx return value.

I'm not sure this is the proper fix, but at least we get rid of the
dead code which pretended to check for access faults.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Acked-by: Shannon Nelson <shannon.nelson@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 0286c67e710cc82260b8c826e5a7b75143fedbd6)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoi40evf: fix compiler warning of unused variable
Jesse Brandeburg [Sun, 4 Oct 2015 08:09:49 +0000 (01:09 -0700)]
i40evf: fix compiler warning of unused variable

BugLink: http://bugs.launchpad.net/bugs/1536474
Compiler complained of an unused variable, which the driver was just
using to store the result of a rd32 which is used to clear a register
unconditionally.  Just drop the unused variable and re-use one.

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 commit cfbe4dba0d5891faa11bd4e7c1fcdc512aff2f5f)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: drop obsolete bnx2x firmware
Tim Gardner [Fri, 22 Jan 2016 00:09:35 +0000 (17:09 -0700)]
UBUNTU: SAUCE: drop obsolete bnx2x firmware

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: (no-up) Update bnx2x firmware to 7.12.30.0
Tim Gardner [Fri, 22 Jan 2016 00:07:37 +0000 (17:07 -0700)]
UBUNTU: SAUCE: (no-up) Update bnx2x firmware to 7.12.30.0

BugLink: http://bugs.launchpad.net/bugs/1536719
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: ACPI / tables: Add acpi_force_32bit_fadt_addr option to force 32 bit...
Colin Ian King [Thu, 21 Jan 2016 16:45:18 +0000 (16:45 +0000)]
UBUNTU: SAUCE: ACPI / tables: Add acpi_force_32bit_fadt_addr option to force 32 bit FADT addresses (LP: #1529381)

BugLink: https://bugs.launchpad.net/bugs/1529381
Some HP laptops seem to have invalid 64 bit FADT X_PM* addresses
which are causing various boot issues.  In these cases, it would
be useful to force ACPI to use the valid legacy 32 bit equivalent
PM addresses.  Add a acpi_force_32bit_fadt_addr to set the ACPICA
acpi_gbl_use32_bit_fadt_addresses to TRUE to force this override.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Thu, 21 Jan 2016 22:25:24 +0000 (15:25 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-1.15
Tim Gardner [Thu, 21 Jan 2016 21:59:41 +0000 (14:59 -0700)]
UBUNTU: Ubuntu-4.4.0-1.15

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoRevert "[SCSI] libiscsi: Reduce locking contention in fast path"
Tim Gardner [Wed, 20 Jan 2016 15:46:02 +0000 (08:46 -0700)]
Revert "[SCSI] libiscsi: Reduce locking contention in fast path"

BugLink: http://bugs.launchpad.net/bugs/1517142
This reverts commit 659743b02c411075b26601725947b21df0bb29c8.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
Conflicts:
drivers/scsi/bnx2i/bnx2i_iscsi.c
drivers/scsi/iscsi_tcp.c
drivers/scsi/libiscsi.c

8 years agoUBUNTU: Start new release
Tim Gardner [Wed, 20 Jan 2016 14:42:14 +0000 (07:42 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.14
Tim Gardner [Tue, 19 Jan 2016 18:57:59 +0000 (11:57 -0700)]
UBUNTU: Ubuntu-4.4.0-0.14

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agopowerpc: Add __raw_rm_writeq() function
Alistair Popple [Thu, 17 Dec 2015 02:43:12 +0000 (13:43 +1100)]
powerpc: Add __raw_rm_writeq() function

BugLink: http://bugs.launchpad.net/bugs/1522415
Move __raw_rm_writeq() from platforms/powernv/pci-ioda.c to
include/asm/io.h so that it can be used by other code.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit a84bf321401ab206baafbbfd3bfad485a1a2c3b4)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoRevert "powerpc/pci: Remove unused struct pci_dn.pcidev field"
Alistair Popple [Thu, 17 Dec 2015 02:43:11 +0000 (13:43 +1100)]
Revert "powerpc/pci: Remove unused struct pci_dn.pcidev field"

BugLink: http://bugs.launchpad.net/bugs/1522415
This commit removed the pcidev field from struct pci_dn as it was no
longer in use by the kernel. However to support finding the
association of Nvlink devices to GPU devices from the device-tree this
field is required.

This reverts commit 250c7b277c65 ("powerpc/pci: Remove unused struct
pci_dn.pcidev field").

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 94973b24d61b03f99017f836d85e7d6739741bab)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Tue, 19 Jan 2016 18:25:04 +0000 (11:25 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.13
Tim Gardner [Tue, 19 Jan 2016 18:05:34 +0000 (11:05 -0700)]
UBUNTU: Ubuntu-4.4.0-0.13

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: (no-up) add compat_uts_machine= kernel command line override
Andy Whitcroft [Fri, 27 Nov 2015 17:38:30 +0000 (17:38 +0000)]
UBUNTU: SAUCE: (no-up) add compat_uts_machine= kernel command line override

We wish to use the arm64 buildds to build armhf binaries in 32bit chroots.
To make this work we need uname to return armv7l machine type.  To achieve
this add a kernel command line override for the 32bit machine type.
Add compat_uts_machine=<type> to allow the LINUX32 personality to return
that type for uname.

Signed-off-by: Andy Whitcroft <apw@canonical.com>
8 years agoUBUNTU: [Config] s390x -- the kernel provides ppp-modules such as there are
Andy Whitcroft [Tue, 19 Jan 2016 13:24:01 +0000 (13:24 +0000)]
UBUNTU: [Config] s390x -- the kernel provides ppp-modules such as there are

Signed-off-by: Andy Whitcroft <apw@canonical.com>
8 years agoUBUNTU: [Config] Update annotations for VIRTIO_{NET,BLK}
Tim Gardner [Tue, 19 Jan 2016 13:21:54 +0000 (06:21 -0700)]
UBUNTU: [Config] Update annotations for VIRTIO_{NET,BLK}

BugLink: http://bugs.launchpad.net/bugs/1533382
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agopowerpc/powernv: Reserve PE#0 on NPU
Alistair Popple [Mon, 11 Jan 2016 05:53:50 +0000 (16:53 +1100)]
powerpc/powernv: Reserve PE#0 on NPU

BugLink: http://bugs.launchpad.net/bugs/1522415
P8+ hardware reports all errors on PE#0. This patch ensures PE#0 is
not assigned to NPU devices so that it can be used for EEH.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 08f48f3234a79bca86c2283a166aec83bf52b265)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agopowerpc/powernv: Change NPU PE# assignment
Alistair Popple [Mon, 11 Jan 2016 05:53:49 +0000 (16:53 +1100)]
powerpc/powernv: Change NPU PE# assignment

BugLink: http://bugs.launchpad.net/bugs/1522415
The P8+ hardware supports four partitionable endpoints (PEs) however
the hardware reports all errors as occurring on PE#0. This means we
need to reserve this PE for error handling (EEH) and not assign it to
a NPU device, implying that some devices will need to share PEs.

This patch changes the PE assignment for NPU devices such that NPU
devices which connect to the same GPU are assigned to the same
PE#.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit b521549a09ddfac3bed38e261168cda92d04ce81)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agopowerpc/powernv: Fix update of NVLink DMA mask
Alistair Popple [Fri, 8 Jan 2016 00:35:09 +0000 (11:35 +1100)]
powerpc/powernv: Fix update of NVLink DMA mask

BugLink: http://bugs.launchpad.net/bugs/1522415
The emulated NVLink PCI devices share the same IODA2 TCE tables but only
support a single TVT (instead of the normal two for PCI devices). This
requires the kernel to manually replace windows with either the bypass
or non-bypass window depending on what the driver has requested.

Unfortunately an incorrect optimisation was made in
pnv_pci_ioda_dma_set_mask() which caused updating of some NPU device PEs
to be skipped in certain configurations due to an incorrect assumption
that a NULL peer PE in the array indicated there were no more peers
present. This patch fixes the problem by ensuring all peer PEs are
updated.

Fixes: 5d2aa710e697 ("powerpc/powernv: Add support for Nvlink NPUs")
Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 419dbd5e1ff0e45a6e1d28c1f7b74d121d2a56e7)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Tue, 19 Jan 2016 12:49:58 +0000 (05:49 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agopowerpc/powernv: Add support for Nvlink NPUs
Alistair Popple [Thu, 17 Dec 2015 02:43:13 +0000 (13:43 +1100)]
powerpc/powernv: Add support for Nvlink NPUs

BugLink: http://bugs.launchpad.net/bugs/1522415
NVLink is a high speed interconnect that is used in conjunction with a
PCI-E connection to create an interface between CPU and GPU that
provides very high data bandwidth. A PCI-E connection to a GPU is used
as the control path to initiate and report status of large data
transfers sent via the NVLink.

On IBM Power systems the NVLink processing unit (NPU) is similar to
the existing PHB3. This patch adds support for a new NPU PHB type. DMA
operations on the NPU are not supported as this patch sets the TCE
translation tables to be the same as the related GPU PCIe device for
each NVLink. Therefore all DMA operations are setup and controlled via
the PCIe device.

EEH is not presently supported for the NPU devices, although it may be
added in future.

Signed-off-by: Alistair Popple <alistair@popple.id.au>
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit 5d2aa710e697244f5504125e4aa6e2cfcf6c4791)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.12
Tim Gardner [Fri, 15 Jan 2016 22:04:37 +0000 (15:04 -0700)]
UBUNTU: Ubuntu-4.4.0-0.12

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] Install spl/zfs under the kernel modules directory
Tim Gardner [Fri, 15 Jan 2016 20:43:32 +0000 (13:43 -0700)]
UBUNTU: [Config] Install spl/zfs under the kernel modules directory

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] CONFIG_KVM=y for s390x
Tim Gardner [Fri, 15 Jan 2016 15:51:09 +0000 (08:51 -0700)]
UBUNTU: [Config] CONFIG_KVM=y for s390x

BugLink: http://bugs.launchpad.net/bugs/1532886
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] Add DRM ast driver to udeb installer image
Tim Gardner [Thu, 14 Jan 2016 15:05:30 +0000 (08:05 -0700)]
UBUNTU: [Config] Add DRM ast driver to udeb installer image

BugLink: http://bugs.launchpad.net/bugs/1514711
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoDriver for IBM System i/p VNIC protocol
Thomas Falcon [Mon, 21 Dec 2015 17:26:06 +0000 (11:26 -0600)]
Driver for IBM System i/p VNIC protocol

BugLink: http://bugs.launchpad.net/bugs/1532303
This is a new device driver for a high performance SR-IOV assisted virtual
network for IBM System p and IBM System i systems.  The SR-IOV VF will be
attached to the VIOS partition and mapped to the Linux client via the
hypervisor's VNIC protocol that this driver implements.

This driver is able to perform basic tx and rx, new features
and improvements will be added as they are being developed and tested.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: John Allen <jallen@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 032c5e82847a2214c3196a90f0aeba0ce252de58)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] CONFIG_IBMVNIC=m
Tim Gardner [Wed, 13 Jan 2016 19:10:57 +0000 (12:10 -0700)]
UBUNTU: [Config] CONFIG_IBMVNIC=m

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] scsi_dh morphed into 4 modules
Tim Gardner [Wed, 13 Jan 2016 16:54:03 +0000 (09:54 -0700)]
UBUNTU: [Config] scsi_dh morphed into 4 modules

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] nvme.ko moved to drivers/nvme/host
Tim Gardner [Wed, 13 Jan 2016 16:22:07 +0000 (09:22 -0700)]
UBUNTU: [Config] nvme.ko moved to drivers/nvme/host

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoEDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support
Jim Snow [Thu, 3 Dec 2015 09:48:54 +0000 (10:48 +0100)]
EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support

BugLink: http://bugs.launchpad.net/bugs/1519631
Knights Landing is the next generation architecture for HPC market.

KNL introduces concept of a tile and CHA - Cache/Home Agent for memory
accesses.

Some things are fixed in KNL:
() There's single DIMM slot per channel
() There's 2 memory controllers with 3 channels each, however,
   from EDAC standpoint, it is presented as single memory controller
   with 6 channels. In order to represent 2 MCs w/ 3 CH, it would
   require major redesign of EDAC core driver.

Basically, two functionalities are added/extended:
() during driver initialization KNL topology is being recognized, i.e.
   which channels are populated with what DIMM sizes
   (knl_get_dimm_capacity function)
() handle MCE errors - channel swizzling

Reviewed-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Jim Snow <jim.m.snow@intel.com>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: lukasz.anaczkowski@intel.com
Link: http://lkml.kernel.org/r/1449136134-23706-5-git-send-email-hubert.chrzaniuk@intel.com
[ Rebase to 4.4-rc3. ]
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
(cherry picked from commit d0cdf9003140e9b40d2488aaee2838babe7e212c)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoEDAC, sb_edac: Add support for duplicate device IDs
Jim Snow [Thu, 3 Dec 2015 09:48:53 +0000 (10:48 +0100)]
EDAC, sb_edac: Add support for duplicate device IDs

BugLink: http://bugs.launchpad.net/bugs/1519631
Add options to sbridge_get_all_devices() to allow for duplicate device
IDs and devices that are scattered across mulitple PCI buses.

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: lukasz.anaczkowski@intel.com
Link: http://lkml.kernel.org/r/1449136134-23706-4-git-send-email-hubert.chrzaniuk@intel.com
[ Rebase to 4.4-rc3. ]
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
(cherry picked from commit c1979ba254810a710bfdc982e3d417a4a7369c31)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoEDAC, sb_edac: Virtualize several hard-coded functions
Jim Snow [Thu, 3 Dec 2015 09:48:52 +0000 (10:48 +0100)]
EDAC, sb_edac: Virtualize several hard-coded functions

BugLink: http://bugs.launchpad.net/bugs/1519631
SAD limit, interleave mode and DRAM related functionalities are now
virtualized, so that overriding them is easier.

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
Acked-by: Tony Luck <tony.luck@intel.com>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: lukasz.anaczkowski@intel.com
Link: http://lkml.kernel.org/r/1449136134-23706-3-git-send-email-hubert.chrzaniuk@intel.com
[ Rebase to 4.4-rc3. ]
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
(cherry picked from commit c59f9c06bdbdaeff9da107d2fcec4f46e9b10825)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoEDAC: Add DDR4 flag
Jim Snow [Thu, 3 Dec 2015 09:48:51 +0000 (10:48 +0100)]
EDAC: Add DDR4 flag

BugLink: http://bugs.launchpad.net/bugs/1519631
Make EDAC aware of DDR4/RDDR4 mem types.

Signed-off-by: Jim Snow <jim.m.snow@intel.com>
Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Cc: linux-edac <linux-edac@vger.kernel.org>
Cc: lukasz.anaczkowski@intel.com
Link: http://lkml.kernel.org/r/1449136134-23706-2-git-send-email-hubert.chrzaniuk@intel.com
[ Rebase to 4.4-rc3. ]
Signed-off-by: Hubert Chrzaniuk <hubert.chrzaniuk@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
(cherry picked from commit 255379ae9af8c04788c171fa050949ab2ac3f356)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoperf/x86/intel/uncore: Add Broadwell-EP uncore support
Kan Liang [Thu, 3 Dec 2015 21:00:11 +0000 (16:00 -0500)]
perf/x86/intel/uncore: Add Broadwell-EP uncore support

BugLink: http://bugs.launchpad.net/bugs/1524574
The uncore subsystem for Broadwell-EP is similar to Haswell-EP.
There are some differences in pci device IDs, box number and
constraints. This patch extends the Broadwell-DE codes to support
Broadwell-EP.

Signed-off-by: Kan Liang <kan.liang@intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vince Weaver <vincent.weaver@maine.edu>
Link: http://lkml.kernel.org/r/1449176411-9499-1-git-send-email-kan.liang@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
(cherry picked from commit d6980ef32570e2a26e05b1183788f4b70f1f27d0)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: AUFS
Tim Gardner [Tue, 12 Jan 2016 17:22:53 +0000 (10:22 -0700)]
UBUNTU: SAUCE: AUFS

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoRevert "UBUNTU: SAUCE: AUFS"
Tim Gardner [Tue, 12 Jan 2016 17:22:38 +0000 (10:22 -0700)]
Revert "UBUNTU: SAUCE: AUFS"

This reverts commit dc2781ca67ef072fff4494c4ca50acf901887cfb.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: (no-up) udp: properly support MSG_PEEK with truncated buffers
Eric Dumazet [Mon, 11 Jan 2016 22:01:05 +0000 (14:01 -0800)]
UBUNTU: SAUCE: (no-up) udp: properly support MSG_PEEK with truncated buffers

BugLink: http://bugs.launchpad.net/bugs/1527902
Backport of this upstream commit into stable kernels :
89c22d8c3b27 ("net: Fix skb csum races when peeking")
exposed a bug in udp stack vs MSG_PEEK support, when user provides
a buffer smaller than skb payload.

In this case,
skb_copy_and_csum_datagram_iovec(skb, sizeof(struct udphdr),
                                 msg->msg_iov);
returns -EFAULT.

This bug does not happen in upstream kernels since Al Viro did a great
job to replace this into :
skb_copy_and_csum_datagram_msg(skb, sizeof(struct udphdr), msg);
This variant is safe vs short buffers.

For the time being, instead reverting Herbert Xu patch and add back
skb->ip_summed invalid changes, simply store the result of
udp_lib_checksum_complete() so that we avoid computing the checksum a
second time, and avoid the problematic
skb_copy_and_csum_datagram_iovec() call.

This patch can be applied on recent kernels as it avoids a double
checksumming, then backported to stable kernels as a bug fix.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patchwork.ozlabs.org/patch/561746/
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
8 years agoUBUNTU: [Config] CONFIG_VIRTIO_BLK=y, CONFIG_VIRTIO_NET=y for s390
Tim Gardner [Mon, 11 Jan 2016 19:16:22 +0000 (12:16 -0700)]
UBUNTU: [Config] CONFIG_VIRTIO_BLK=y, CONFIG_VIRTIO_NET=y for s390

BugLink: http://bugs.launchpad.net/bugs/1532886
Change these config settings to be consistent with all of the other
architectures.

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: powerpc/eeh: Validate arch in eeh_add_device_early()
Guilherme G. Piccoli [Sun, 10 Jan 2016 02:18:21 +0000 (00:18 -0200)]
UBUNTU: SAUCE: powerpc/eeh: Validate arch in eeh_add_device_early()

BugLink: http://bugs.launchpad.net/bugs/1486180
Commit 89a51df5ab1d ("powerpc/eeh: Fix crash in eeh_add_device_early() on Cell")
added a check on function eeh_add_device_early(): since in Cell arch eeh_ops
is NULL, that code used to crash on Cell. The commit's approach was validate
if EEH was available by checking the result of function eeh_enabled().

Since the function eeh_add_device_early() is used to perform EEH
initialization in devices added later on the system, like in hotplug/DLPAR
scenarios, we might reach a case in which no PCI devices are present on boot
and so EEH is not initialized. Then, if a device is added via DLPAR for
example, eeh_add_device_early() fails because eeh_enabled() is false.

We can hit a kernel oops on pSeries arch if eeh_add_device_early() fails:
if we have no PCI devices on machine at boot time, and then we add a PCI device
via DLPAR operation, the function query_ddw() triggers the oops on NULL pointer
dereference in the line "cfg_addr = edev->config_addr;". It happens because
config_addr in edev is NULL, since the function eeh_add_device_early() was not
completed successfully.

This patch just changes the way the arch checking is done in function
eeh_add_device_early(): we use no more eeh_enabled(), but instead we check the
running architecture by using the macro machine_is(). If we are running on
pSeries or PowerNV, the EEH mechanism can be enabled; otherwise, we bail out
the function. This way, we don't enable EEH on Cell and we don't hit the oops
on DLPAR either.

Fixes: 89a51df5ab1d ("powerpc/eeh: Fix crash in eeh_add_device_early() on Cell")
Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Mon, 11 Jan 2016 16:57:49 +0000 (09:57 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.11
Tim Gardner [Mon, 11 Jan 2016 16:45:03 +0000 (09:45 -0700)]
UBUNTU: Ubuntu-4.4.0-0.11

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] Fix bogus reconstruct script
Tim Gardner [Mon, 11 Jan 2016 16:44:02 +0000 (09:44 -0700)]
UBUNTU: [Config] Fix bogus reconstruct script

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Mon, 11 Jan 2016 14:30:00 +0000 (07:30 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.10
Tim Gardner [Mon, 11 Jan 2016 13:28:17 +0000 (06:28 -0700)]
UBUNTU: Ubuntu-4.4.0-0.10

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Debian] Ignore spl/zfs symlinks
Tim Gardner [Mon, 11 Jan 2016 13:52:11 +0000 (06:52 -0700)]
UBUNTU: [Debian] Ignore spl/zfs symlinks

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: rebase to v4.4
Tim Gardner [Mon, 11 Jan 2016 12:23:23 +0000 (05:23 -0700)]
UBUNTU: rebase to v4.4

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: dmaengine: ioatdma: Squelch framesize warnings
Tim Gardner [Fri, 8 Jan 2016 21:37:45 +0000 (21:37 +0000)]
UBUNTU: SAUCE: dmaengine: ioatdma: Squelch framesize warnings

  CC [M]  drivers/dma/ioat/prep.o
drivers/dma/ioat/prep.c: In function 'ioat_prep_pqxor':
drivers/dma/ioat/prep.c:682:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }
 ^
drivers/dma/ioat/prep.c: In function 'ioat_prep_pqxor_val':
drivers/dma/ioat/prep.c:714:1: warning: the frame size of 1048 bytes is larger than 1024 bytes [-Wframe-larger-than=]
 }

gcc version 5.3.1 20151219 (Ubuntu 5.3.1-4ubuntu1)

Cc: Vinod Koul <vinod.koul@intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Nicholas Mc Guire <der.herr@hofr.at>
Cc: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: radeon: r100: Silence 'may be used uninitialized' warnings
Tim Gardner [Thu, 7 Jan 2016 17:16:27 +0000 (10:16 -0700)]
UBUNTU: SAUCE: radeon: r100: Silence 'may be used uninitialized' warnings

  CC [M]  drivers/gpu/drm/radeon/r100.o
In file included from drivers/gpu/drm/radeon/radeon_mode.h:37:0,
                 from drivers/gpu/drm/radeon/radeon.h:80,
                 from drivers/gpu/drm/radeon/r100.c:33:
drivers/gpu/drm/radeon/r100.c: In function 'r100_bandwidth_update':
include/drm/drm_fixed.h:64:13: warning: 'crit_point_ff.full' may be used uninitialized in this function [-Wmaybe-uninitialized]
  u64 tmp = ((u64)A.full << 13);
             ^
drivers/gpu/drm/radeon/r100.c:3153:63: note: 'crit_point_ff.full' was declared here
  fixed20_12 peak_disp_bw, mem_bw, pix_clk, pix_clk2, temp_ff, crit_point_ff;
                                                               ^
drivers/gpu/drm/radeon/r100.c:3583:42: warning: 'disp_drain_rate.full' may be used uninitialized in this function [-Wmaybe-uninitialized]
     temp_ff.full = read_return_rate.full - disp_drain_rate.full;

gcc version 5.3.1 20151219 (Ubuntu 5.3.1-4ubuntu1)

Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: David Airlie <airlied@linux.ie>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: (no-up) apparmor: Fix incompatible pointer type warnings
Tim Gardner [Thu, 7 Jan 2016 16:39:21 +0000 (09:39 -0700)]
UBUNTU: SAUCE: (no-up) apparmor: Fix incompatible pointer type warnings

  CC      security/apparmor/af_unix.o
In file included from ./arch/x86/include/asm/bug.h:35:0,
                 from include/linux/bug.h:4,
                 from include/linux/cpumask.h:12,
                 from ./arch/x86/include/asm/cpumask.h:4,
                 from ./arch/x86/include/asm/msr.h:10,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/atomic.h:6,
                 from include/linux/atomic.h:4,
                 from include/linux/mutex.h:18,
                 from include/net/af_unix.h:6,
                 from security/apparmor/include/af_unix.h:15,
                 from security/apparmor/af_unix.c:16:
security/apparmor/af_unix.c: In function 'unix_fs_perm':
security/apparmor/af_unix.c:29:18: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  AA_BUG(!UNIX_FS(u));
                  ^
include/asm-generic/bug.h:95:25: note: in definition of macro 'WARN'
  int __ret_warn_on = !!(condition);    \
                         ^
security/apparmor/include/apparmor.h:75:28: note: in expansion of macro 'AA_BUG_FMT'
 #define AA_BUG(X, args...) AA_BUG_FMT((X), "" args )
                            ^
security/apparmor/af_unix.c:29:2: note: in expansion of macro 'AA_BUG'
  AA_BUG(!UNIX_FS(u));
  ^
security/apparmor/include/af_unix.h:36:22: note: in expansion of macro 'UNIX_ANONYMOUS'
 #define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0])
                      ^
security/apparmor/af_unix.c:29:10: note: in expansion of macro 'UNIX_FS'
  AA_BUG(!UNIX_FS(u));
          ^
In file included from security/apparmor/include/af_unix.h:15:0,
                 from security/apparmor/af_unix.c:16:
include/net/af_unix.h:68:33: note: expected 'const struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(const struct sock *sk)
                                 ^
In file included from ./arch/x86/include/asm/bug.h:35:0,
                 from include/linux/bug.h:4,
                 from include/linux/cpumask.h:12,
                 from ./arch/x86/include/asm/cpumask.h:4,
                 from ./arch/x86/include/asm/msr.h:10,
                 from ./arch/x86/include/asm/processor.h:20,
                 from ./arch/x86/include/asm/atomic.h:6,
                 from include/linux/atomic.h:4,
                 from include/linux/mutex.h:18,
                 from include/net/af_unix.h:6,
                 from security/apparmor/include/af_unix.h:15,
                 from security/apparmor/af_unix.c:16:
security/apparmor/af_unix.c:29:18: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  AA_BUG(!UNIX_FS(u));
                  ^
include/asm-generic/bug.h:95:25: note: in definition of macro 'WARN'
  int __ret_warn_on = !!(condition);    \
                         ^
security/apparmor/include/apparmor.h:75:28: note: in expansion of macro 'AA_BUG_FMT'
 #define AA_BUG(X, args...) AA_BUG_FMT((X), "" args )
                            ^
security/apparmor/af_unix.c:29:2: note: in expansion of macro 'AA_BUG'
  AA_BUG(!UNIX_FS(u));
  ^
security/apparmor/af_unix.c:29:10: note: in expansion of macro 'UNIX_FS'
  AA_BUG(!UNIX_FS(u));
          ^
In file included from security/apparmor/include/af_unix.h:15:0,
                 from security/apparmor/af_unix.c:16:
include/net/af_unix.h:68:33: note: expected 'const struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(const struct sock *sk)
                                 ^
In file included from security/apparmor/af_unix.c:16:0:
security/apparmor/af_unix.c: In function 'aa_unix_peer_perm':
security/apparmor/af_unix.c:529:14: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  if (UNIX_FS(peeru))
              ^
security/apparmor/include/af_unix.h:32:37: note: in definition of macro 'UNIX_ANONYMOUS'
 #define UNIX_ANONYMOUS(U) (!unix_sk(U)->addr)
                                     ^
security/apparmor/af_unix.c:529:6: note: in expansion of macro 'UNIX_FS'
  if (UNIX_FS(peeru))
      ^
In file included from security/apparmor/include/af_unix.h:15:0,
                 from security/apparmor/af_unix.c:16:
include/net/af_unix.h:68:33: note: expected 'const struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(const struct sock *sk)
                                 ^
In file included from security/apparmor/af_unix.c:16:0:
security/apparmor/af_unix.c:529:14: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  if (UNIX_FS(peeru))
              ^
security/apparmor/include/af_unix.h:36:51: note: in definition of macro 'UNIX_FS'
 #define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0])
                                                   ^
In file included from security/apparmor/include/af_unix.h:15:0,
                 from security/apparmor/af_unix.c:16:
include/net/af_unix.h:68:33: note: expected 'const struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(const struct sock *sk)
                                 ^
In file included from security/apparmor/af_unix.c:16:0:
security/apparmor/af_unix.c:531:19: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  else if (UNIX_FS(u))
                   ^
security/apparmor/include/af_unix.h:32:37: note: in definition of macro 'UNIX_ANONYMOUS'
 #define UNIX_ANONYMOUS(U) (!unix_sk(U)->addr)
                                     ^
security/apparmor/af_unix.c:531:11: note: in expansion of macro 'UNIX_FS'
  else if (UNIX_FS(u))
           ^
In file included from security/apparmor/include/af_unix.h:15:0,
                 from security/apparmor/af_unix.c:16:
include/net/af_unix.h:68:33: note: expected 'const struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(const struct sock *sk)
                                 ^
In file included from security/apparmor/af_unix.c:16:0:
security/apparmor/af_unix.c:531:19: warning: passing argument 1 of 'unix_sk' from incompatible pointer type [-Wincompatible-pointer-types]
  else if (UNIX_FS(u))
                   ^
security/apparmor/include/af_unix.h:36:51: note: in definition of macro 'UNIX_FS'
 #define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0])
                                                   ^
In file included from security/apparmor/include/af_unix.h:15:0,
                 from security/apparmor/af_unix.c:16:
include/net/af_unix.h:68:33: note: expected 'const struct sock *' but argument is of type 'struct unix_sock *'
 static inline struct unix_sock *unix_sk(const struct sock *sk)
                                 ^

Cc: John Johansen <john.johansen@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: add a sysctl to disable unprivileged user namespace unsharing
Serge Hallyn [Tue, 5 Jan 2016 20:12:21 +0000 (20:12 +0000)]
UBUNTU: SAUCE: add a sysctl to disable unprivileged user namespace unsharing

It is turned on by default, but can be turned off if admins prefer or,
more importantly, if a security vulnerability is found.

The intent is to use this as mitigation so long as Ubuntu is on the
cutting edge of enablement for things like unprivileged filesystem
mounting.

(This patch is tweaked from the one currently still in Debian sid, which
in turn came from the patch we had in saucy)

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
[bwh: Remove unneeded binary sysctl bits]
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] CONFIG_BLK_DEV_LOOP=y for s390x
Tim Gardner [Wed, 16 Dec 2015 21:12:07 +0000 (14:12 -0700)]
UBUNTU: [Config] CONFIG_BLK_DEV_LOOP=y for s390x

BugLink: http://bugs.launchpad.net/bugs/1526869
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: [Config] CONFIG_ZONE_DEVICE=y for amd64
Tim Gardner [Tue, 5 Jan 2016 14:35:27 +0000 (07:35 -0700)]
UBUNTU: [Config] CONFIG_ZONE_DEVICE=y for amd64

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: crypto: nx-842 - Mask XERS0 bit in return value
Haren Myneni [Sun, 13 Dec 2015 11:30:41 +0000 (03:30 -0800)]
UBUNTU: SAUCE: crypto: nx-842 - Mask XERS0 bit in return value

BugLink: http://bugs.launchpad.net/bugs/1529666
NX842 coprocessor sets 3rd bit in CR register with XER[S0] which is
nothing to do with NX request. Since this bit can be set with other
valuable return status, mast this bit.

One of other bits (INITIATED, BUSY or REJECTED) will be returned for
any given NX request.

Signed-off-by: Haren Myneni <haren@us.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from linux-next commit 6333ed8f26cf77311088d2e2b7cf16d8480bcbb2)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Tue, 5 Jan 2016 00:44:35 +0000 (17:44 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.9
Tim Gardner [Mon, 4 Jan 2016 02:21:48 +0000 (19:21 -0700)]
UBUNTU: Ubuntu-4.4.0-0.9

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: rebase to v4.4-rc8
Tim Gardner [Mon, 4 Jan 2016 02:11:07 +0000 (19:11 -0700)]
UBUNTU: rebase to v4.4-rc8

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Mon, 4 Jan 2016 01:51:41 +0000 (18:51 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.8
Tim Gardner [Tue, 29 Dec 2015 13:14:14 +0000 (06:14 -0700)]
UBUNTU: Ubuntu-4.4.0-0.8

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: rebase to v4.4-rc7
Tim Gardner [Mon, 28 Dec 2015 23:18:55 +0000 (16:18 -0700)]
UBUNTU: rebase to v4.4-rc7

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Mon, 28 Dec 2015 23:13:48 +0000 (16:13 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Ubuntu-4.4.0-0.7
Tim Gardner [Tue, 22 Dec 2015 13:04:07 +0000 (06:04 -0700)]
UBUNTU: Ubuntu-4.4.0-0.7

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: rebase to v4.4-rc6
Tim Gardner [Mon, 21 Dec 2015 13:21:05 +0000 (06:21 -0700)]
UBUNTU: rebase to v4.4-rc6

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: SAUCE: (noup) ptrace: being capable wrt a process requires mapped uids/gids
Jann Horn [Sat, 12 Dec 2015 20:12:41 +0000 (21:12 +0100)]
UBUNTU: SAUCE: (noup) ptrace: being capable wrt a process requires mapped uids/gids

BugLink: http://bugs.launchpad.net/bugs/1527374
ptrace_has_cap() checks whether the current process should be
treated as having a certain capability for ptrace checks
against another process. Until now, this was equivalent to
has_ns_capability(current, target_ns, CAP_SYS_PTRACE).

However, if a root-owned process wants to enter a user
namespace for some reason without knowing who owns it and
therefore can't change to the namespace owner's uid and gid
before entering, as soon as it has entered the namespace,
the namespace owner can attach to it via ptrace and thereby
gain access to its uid and gid.

While it is possible for the entering process to switch to
the uid of a claimed namespace owner before entering,
causing the attempt to enter to fail if the claimed uid is
wrong, this doesn't solve the problem of determining an
appropriate gid.

With this change, the entering process can first enter the
namespace and then safely inspect the namespace's
properties, e.g. through /proc/self/{uid_map,gid_map},
assuming that the namespace owner doesn't have access to
uid 0.

Signed-off-by: Jann Horn <jann@thejh.net>
Reference: https://lkml.org/lkml/2015/12/12/259
Acked-by: Andy Whitcroft <andy.whitcroft@canonical.com>
Acked-by: Brad Figg <brad.figg@canonical.com>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
8 years agoUBUNTU: [Config] CONFIG_I2C_DESIGNWARE_BAYTRAIL=y, CONFIG_IOSF_MBI=y
Hui Wang [Thu, 17 Dec 2015 07:54:42 +0000 (15:54 +0800)]
UBUNTU: [Config] CONFIG_I2C_DESIGNWARE_BAYTRAIL=y, CONFIG_IOSF_MBI=y

BugLink: http://bugs.launchpad.net/bugs/1527096
This commit wants to enable the Intel Baytrail I2C semaphore, this
driver was added into the kernel from v4.0.

The driver implements a hardware semphore to protect the I2C bus to
be shared among several users safely.

We have met a problem on a Cherry Trail platform, when we insert the
SD storage card into the SD slot, the system will hang, after enable
this driver in the kernel, the problem disappers.

This driver depends on the "CONFIG_IOSF_MBI=y", so we change this
config item from m to y.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
8 years agoUBUNTU: Start new release
Tim Gardner [Thu, 17 Dec 2015 12:29:07 +0000 (05:29 -0700)]
UBUNTU: Start new release

Ignore: yes
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>