--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -4147,8 +4147,10 @@ i915_gem_init_hw(struct drm_device *dev)
+@@ -4184,8 +4184,10 @@ i915_gem_init_hw(struct drm_device *dev)
drm_i915_private_t *dev_priv = dev->dev_private;
int ret;
return -EIO;
+#endif
- if (IS_HASWELL(dev) && (I915_READ(0x120010) == 1))
- I915_WRITE(0x9008, I915_READ(0x9008) | 0xf0000);
+ if (dev_priv->ellc_size)
+ I915_WRITE(HSW_IDICR, I915_READ(HSW_IDICR) | IDIHASHMSK(0xf));
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -1616,7 +1616,13 @@ i915_gem_object_truncate(struct drm_i915
+@@ -1617,7 +1617,13 @@ i915_gem_object_truncate(struct drm_i915
* backing pages, *now*.
*/
inode = file_inode(obj->base.filp);
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
-@@ -1657,7 +1657,11 @@ int i915_driver_load(struct drm_device *
+@@ -1665,7 +1665,11 @@ int i915_driver_load(struct drm_device *
return 0;
out_gem_unload:
unregister_shrinker(&dev_priv->mm.inactive_shrinker);
if (dev->pdev->msi_enabled)
-@@ -1691,7 +1695,11 @@ int i915_driver_unload(struct drm_device
+@@ -1699,7 +1703,11 @@ int i915_driver_unload(struct drm_device
i915_teardown_sysfs(dev);
static long i915_gem_purge(struct drm_i915_private *dev_priv, long target);
static long i915_gem_shrink_all(struct drm_i915_private *dev_priv);
static void i915_gem_object_truncate(struct drm_i915_gem_object *obj);
-@@ -4360,8 +4365,12 @@ i915_gem_load(struct drm_device *dev)
+@@ -4411,8 +4416,12 @@ i915_gem_load(struct drm_device *dev)
dev_priv->mm.interruptible = true;
dev_priv->mm.inactive_shrinker.seeks = DEFAULT_SEEKS;
register_shrinker(&dev_priv->mm.inactive_shrinker);
}
-@@ -4584,8 +4593,14 @@ static bool mutex_is_locked_by(struct mu
+@@ -4635,8 +4644,14 @@ static bool mutex_is_locked_by(struct mu
#endif
}
{
struct drm_i915_private *dev_priv =
container_of(shrinker,
-@@ -4594,7 +4609,12 @@ i915_gem_inactive_count(struct shrinker
- struct drm_device *dev = dev_priv->dev;
+@@ -4646,7 +4661,12 @@ i915_gem_inactive_count(struct shrinker
+ struct i915_address_space *vm = &dev_priv->gtt.base;
struct drm_i915_gem_object *obj;
bool unlock = true;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,12,0))
if (!mutex_trylock(&dev->struct_mutex)) {
if (!mutex_is_locked_by(&dev->struct_mutex, current))
-@@ -4606,6 +4626,17 @@ i915_gem_inactive_count(struct shrinker
+@@ -4658,6 +4678,17 @@ i915_gem_inactive_count(struct shrinker
unlock = false;
}
count = 0;
list_for_each_entry(obj, &dev_priv->mm.unbound_list, global_list)
if (obj->pages_pin_count == 0)
-@@ -4619,6 +4650,7 @@ i915_gem_inactive_count(struct shrinker
+@@ -4671,6 +4702,7 @@ i915_gem_inactive_count(struct shrinker
return count;
}
static unsigned long
i915_gem_inactive_scan(struct shrinker *shrinker, struct shrink_control *sc)
{
-@@ -4652,3 +4684,4 @@ i915_gem_inactive_scan(struct shrinker *
+@@ -4704,3 +4736,4 @@ i915_gem_inactive_scan(struct shrinker *
mutex_unlock(&dev->struct_mutex);
return freed;
}
--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
-@@ -2192,7 +2192,7 @@ static int atl1e_init_netdev(struct net_
+@@ -2236,7 +2236,7 @@ static int atl1e_init_netdev(struct net_
SET_NETDEV_DEV(netdev, &pdev->dev);
pci_set_drvdata(pdev, netdev);
obj-$(CONFIG_USB_NET_AX8817X) += asix.o
-asix-y := asix_devices.o asix_common.o ax88172a.o
obj-$(CONFIG_USB_NET_AX88179_178A) += ax88179_178a.o
- obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o
+ obj-$(CONFIG_USB_NET_CDCETHER) += cdc_ether.o r815x.o
obj-$(CONFIG_USB_NET_CDC_EEM) += cdc_eem.o
--- a/net/bluetooth/hidp/core.c
+++ b/net/bluetooth/hidp/core.c
-@@ -323,6 +323,7 @@ err:
+@@ -348,6 +348,7 @@ err:
return ret;
}
static int hidp_output_raw_report(struct hid_device *hid, unsigned char *data, size_t count,
unsigned char report_type)
{
-@@ -380,6 +381,16 @@ err:
+@@ -405,6 +406,16 @@ err:
mutex_unlock(&session->report_mutex);
return ret;
}
static void hidp_idle_timeout(unsigned long arg)
{
-@@ -668,6 +679,87 @@ static void hidp_close(struct hid_device
+@@ -693,6 +704,87 @@ static void hidp_close(struct hid_device
{
}
static int hidp_parse(struct hid_device *hid)
{
struct hidp_session *session = hid->driver_data;
-@@ -758,7 +850,9 @@ static int hidp_setup_hid(struct hidp_se
+@@ -770,7 +862,9 @@ static int hidp_setup_hid(struct hidp_se
hid->dev.parent = &session->conn->hcon->dev;
hid->ll_driver = &hidp_hid_driver;
hid->hid_output_raw_report = hidp_output_raw_report;
/* True if device is blacklisted in drivers/hid/hid-core.c */
-@@ -776,6 +870,7 @@ fault:
+@@ -788,6 +882,7 @@ fault:
return err;
}
/* initialize session devices */
static int hidp_session_dev_init(struct hidp_session *session,
-@@ -838,10 +933,17 @@ static int hidp_session_dev_add(struct h
+@@ -850,10 +945,17 @@ static int hidp_session_dev_add(struct h
/* remove HID/input devices from their bus systems */
static void hidp_session_dev_del(struct hidp_session *session)
{
+#endif
mfilt[0] = 0;
- mfilt[1] = 1;
+ mfilt[1] = 0;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35))
netdev_hw_addr_list_for_each(ha, mc_list) {
/**
* atl1e_change_mtu - Change the Maximum Transfer Unit
-@@ -1910,7 +1912,11 @@ void atl1e_down(struct atl1e_adapter *ad
+@@ -1954,7 +1956,11 @@ void atl1e_down(struct atl1e_adapter *ad
* reschedule our watchdog timer */
set_bit(__AT_DOWN, &adapter->flags);
/* reset MAC to disable all RX/TX */
atl1e_reset_hw(&adapter->hw);
-@@ -2180,8 +2186,10 @@ static const struct net_device_ops atl1e
+@@ -2224,8 +2230,10 @@ static const struct net_device_ops atl1e
.ndo_set_rx_mode = atl1e_set_multi,
.ndo_validate_addr = eth_validate_addr,
.ndo_set_mac_address = atl1e_set_mac_addr,
.ndo_change_mtu = atl1e_change_mtu,
.ndo_do_ioctl = atl1e_ioctl,
.ndo_tx_timeout = atl1e_tx_timeout,
-@@ -2201,10 +2209,15 @@ static int atl1e_init_netdev(struct net_
+@@ -2245,10 +2253,15 @@ static int atl1e_init_netdev(struct net_
netdev->watchdog_timeo = AT_TX_WATCHDOG;
atl1e_set_ethtool_ops(netdev);
--- a/drivers/net/usb/cdc_ether.c
+++ b/drivers/net/usb/cdc_ether.c
-@@ -752,7 +752,9 @@ static struct usb_driver cdc_driver = {
+@@ -757,7 +757,9 @@ static struct usb_driver cdc_driver = {
.resume = usbnet_resume,
.reset_resume = usbnet_resume,
.supports_autosuspend = 1,