mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	kernel: bump 5.4 to 5.4.99
Ran update_kernel.sh in a fresh clone without any existing toolchains. No manual changes needed. Build system: x86_64 Build-tested: bcm27xx/bcm2711 Signed-off-by: John Audia <graysky@archlinux.us>
This commit is contained in:
		
							parent
							
								
									0db9d11865
								
							
						
					
					
						commit
						5d3a6fd970
					
				@ -6,10 +6,10 @@ ifdef CONFIG_TESTING_KERNEL
 | 
				
			|||||||
  KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 | 
					  KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LINUX_VERSION-5.4 = .98
 | 
					LINUX_VERSION-5.4 = .99
 | 
				
			||||||
LINUX_VERSION-5.10 = .16
 | 
					LINUX_VERSION-5.10 = .16
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LINUX_KERNEL_HASH-5.4.98 = 83a248d6fbe388f133769d736f36b754767abc9d66f1c034b537ad778fbd46b1
 | 
					LINUX_KERNEL_HASH-5.4.99 = 5bdad12c69253d30d836dd51e0b2a9a04a6749cc6b4b2412561a1efcb1351a27
 | 
				
			||||||
LINUX_KERNEL_HASH-5.10.16 = 536fe3ea273bfcc72b3571d3b3a7ff0a5bcdc16068efd22e42c4f9d03c200a37
 | 
					LINUX_KERNEL_HASH-5.10.16 = 536fe3ea273bfcc72b3571d3b3a7ff0a5bcdc16068efd22e42c4f9d03c200a37
 | 
				
			||||||
 | 
					
 | 
				
			||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 | 
					remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/kernel/cgroup/cgroup.c
 | 
					--- a/kernel/cgroup/cgroup.c
 | 
				
			||||||
+++ b/kernel/cgroup/cgroup.c
 | 
					+++ b/kernel/cgroup/cgroup.c
 | 
				
			||||||
@@ -5720,6 +5720,8 @@ int __init cgroup_init_early(void)
 | 
					@@ -5722,6 +5722,8 @@ int __init cgroup_init_early(void)
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static u16 cgroup_disable_mask __initdata;
 | 
					 static u16 cgroup_disable_mask __initdata;
 | 
				
			||||||
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 /**
 | 
					 /**
 | 
				
			||||||
  * cgroup_init - cgroup initialization
 | 
					  * cgroup_init - cgroup initialization
 | 
				
			||||||
@@ -5759,6 +5761,12 @@ int __init cgroup_init(void)
 | 
					@@ -5761,6 +5763,12 @@ int __init cgroup_init(void)
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	mutex_unlock(&cgroup_mutex);
 | 
					 	mutex_unlock(&cgroup_mutex);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -39,7 +39,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 | 
				
			|||||||
 	for_each_subsys(ss, ssid) {
 | 
					 	for_each_subsys(ss, ssid) {
 | 
				
			||||||
 		if (ss->early_init) {
 | 
					 		if (ss->early_init) {
 | 
				
			||||||
 			struct cgroup_subsys_state *css =
 | 
					 			struct cgroup_subsys_state *css =
 | 
				
			||||||
@@ -6178,6 +6186,28 @@ static int __init cgroup_disable(char *s
 | 
					@@ -6180,6 +6188,28 @@ static int __init cgroup_disable(char *s
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 __setup("cgroup_disable=", cgroup_disable);
 | 
					 __setup("cgroup_disable=", cgroup_disable);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
@@ -577,6 +577,53 @@ static int vc4_plane_allocate_lbm(struct
 | 
					@@ -585,6 +585,53 @@ static int vc4_plane_allocate_lbm(struct
 | 
				
			||||||
 	return 0;
 | 
					 	return 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -72,7 +72,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 | 
				
			|||||||
 /* Writes out a full display list for an active plane to the plane's
 | 
					 /* Writes out a full display list for an active plane to the plane's
 | 
				
			||||||
  * private dlist state.
 | 
					  * private dlist state.
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
@@ -856,9 +903,20 @@ static int vc4_plane_mode_set(struct drm
 | 
					@@ -864,9 +911,20 @@ static int vc4_plane_mode_set(struct drm
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* Colorspace conversion words */
 | 
					 	/* Colorspace conversion words */
 | 
				
			||||||
 	if (vc4_state->is_yuv) {
 | 
					 	if (vc4_state->is_yuv) {
 | 
				
			||||||
@ -96,7 +96,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
 | 
				
			|||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	vc4_state->lbm_offset = 0;
 | 
					 	vc4_state->lbm_offset = 0;
 | 
				
			||||||
@@ -1265,5 +1323,13 @@ struct drm_plane *vc4_plane_init(struct
 | 
					@@ -1275,5 +1333,13 @@ struct drm_plane *vc4_plane_init(struct
 | 
				
			||||||
 					   DRM_MODE_REFLECT_X |
 | 
					 					   DRM_MODE_REFLECT_X |
 | 
				
			||||||
 					   DRM_MODE_REFLECT_Y);
 | 
					 					   DRM_MODE_REFLECT_Y);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -95,7 +95,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
@@ -492,6 +492,11 @@ static void vc4_plane_calc_load(struct d
 | 
					@@ -500,6 +500,11 @@ static void vc4_plane_calc_load(struct d
 | 
				
			||||||
 	struct vc4_plane_state *vc4_state;
 | 
					 	struct vc4_plane_state *vc4_state;
 | 
				
			||||||
 	struct drm_crtc_state *crtc_state;
 | 
					 	struct drm_crtc_state *crtc_state;
 | 
				
			||||||
 	unsigned int vscale_factor;
 | 
					 	unsigned int vscale_factor;
 | 
				
			||||||
 | 
				
			|||||||
@ -186,7 +186,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 		.pixel_order = HVS_PIXEL_ORDER_XBGR,
 | 
					 		.pixel_order = HVS_PIXEL_ORDER_XBGR,
 | 
				
			||||||
 	},
 | 
					 	},
 | 
				
			||||||
 	{
 | 
					 	{
 | 
				
			||||||
@@ -828,35 +843,6 @@ static int vc4_plane_mode_set(struct drm
 | 
					@@ -836,35 +851,6 @@ static int vc4_plane_mode_set(struct drm
 | 
				
			||||||
 		return -EINVAL;
 | 
					 		return -EINVAL;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -222,7 +222,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 	/* Don't waste cycles mixing with plane alpha if the set alpha
 | 
					 	/* Don't waste cycles mixing with plane alpha if the set alpha
 | 
				
			||||||
 	 * is opaque or there is no per-pixel alpha information.
 | 
					 	 * is opaque or there is no per-pixel alpha information.
 | 
				
			||||||
 	 * In any case we use the alpha property value as the fixed alpha.
 | 
					 	 * In any case we use the alpha property value as the fixed alpha.
 | 
				
			||||||
@@ -864,20 +850,120 @@ static int vc4_plane_mode_set(struct drm
 | 
					@@ -872,20 +858,120 @@ static int vc4_plane_mode_set(struct drm
 | 
				
			||||||
 	mix_plane_alpha = state->alpha != DRM_BLEND_ALPHA_OPAQUE &&
 | 
					 	mix_plane_alpha = state->alpha != DRM_BLEND_ALPHA_OPAQUE &&
 | 
				
			||||||
 			  fb->format->has_alpha;
 | 
					 			  fb->format->has_alpha;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -356,7 +356,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* Pointer Word 0/1/2: RGB / Y / Cb / Cr Pointers
 | 
					 	/* Pointer Word 0/1/2: RGB / Y / Cb / Cr Pointers
 | 
				
			||||||
@@ -1266,6 +1352,10 @@ static bool vc4_format_mod_supported(str
 | 
					@@ -1276,6 +1362,10 @@ static bool vc4_format_mod_supported(str
 | 
				
			||||||
 		default:
 | 
					 		default:
 | 
				
			||||||
 			return false;
 | 
					 			return false;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
 | 
				
			|||||||
@ -32,7 +32,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 		return VC4_SCALING_NONE;
 | 
					 		return VC4_SCALING_NONE;
 | 
				
			||||||
 	if (3 * dst >= 2 * src)
 | 
					 	if (3 * dst >= 2 * src)
 | 
				
			||||||
 		return VC4_SCALING_PPF;
 | 
					 		return VC4_SCALING_PPF;
 | 
				
			||||||
@@ -369,9 +370,11 @@ static int vc4_plane_setup_clipping_and_
 | 
					@@ -377,9 +378,11 @@ static int vc4_plane_setup_clipping_and_
 | 
				
			||||||
 		return ret;
 | 
					 		return ret;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	vc4_state->x_scaling[0] = vc4_get_scaling_mode(vc4_state->src_w[0],
 | 
					 	vc4_state->x_scaling[0] = vc4_get_scaling_mode(vc4_state->src_w[0],
 | 
				
			||||||
@ -46,7 +46,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	vc4_state->is_unity = (vc4_state->x_scaling[0] == VC4_SCALING_NONE &&
 | 
					 	vc4_state->is_unity = (vc4_state->x_scaling[0] == VC4_SCALING_NONE &&
 | 
				
			||||||
 			       vc4_state->y_scaling[0] == VC4_SCALING_NONE);
 | 
					 			       vc4_state->y_scaling[0] == VC4_SCALING_NONE);
 | 
				
			||||||
@@ -384,10 +387,12 @@ static int vc4_plane_setup_clipping_and_
 | 
					@@ -392,10 +395,12 @@ static int vc4_plane_setup_clipping_and_
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		vc4_state->x_scaling[1] =
 | 
					 		vc4_state->x_scaling[1] =
 | 
				
			||||||
 			vc4_get_scaling_mode(vc4_state->src_w[1],
 | 
					 			vc4_get_scaling_mode(vc4_state->src_w[1],
 | 
				
			||||||
@ -61,7 +61,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 		/* YUV conversion requires that horizontal scaling be enabled
 | 
					 		/* YUV conversion requires that horizontal scaling be enabled
 | 
				
			||||||
 		 * on the UV plane even if vc4_get_scaling_mode() returned
 | 
					 		 * on the UV plane even if vc4_get_scaling_mode() returned
 | 
				
			||||||
@@ -437,10 +442,7 @@ static void vc4_write_ppf(struct vc4_pla
 | 
					@@ -445,10 +450,7 @@ static void vc4_write_ppf(struct vc4_pla
 | 
				
			||||||
 static u32 vc4_lbm_size(struct drm_plane_state *state)
 | 
					 static u32 vc4_lbm_size(struct drm_plane_state *state)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
 | 
					 	struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
 | 
				
			||||||
@ -73,7 +73,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 	u32 lbm;
 | 
					 	u32 lbm;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* LBM is not needed when there's no vertical scaling. */
 | 
					 	/* LBM is not needed when there's no vertical scaling. */
 | 
				
			||||||
@@ -448,6 +450,11 @@ static u32 vc4_lbm_size(struct drm_plane
 | 
					@@ -456,6 +458,11 @@ static u32 vc4_lbm_size(struct drm_plane
 | 
				
			||||||
 	    vc4_state->y_scaling[1] == VC4_SCALING_NONE)
 | 
					 	    vc4_state->y_scaling[1] == VC4_SCALING_NONE)
 | 
				
			||||||
 		return 0;
 | 
					 		return 0;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -85,7 +85,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 	if (!vc4_state->is_yuv) {
 | 
					 	if (!vc4_state->is_yuv) {
 | 
				
			||||||
 		if (vc4_state->y_scaling[0] == VC4_SCALING_TPZ)
 | 
					 		if (vc4_state->y_scaling[0] == VC4_SCALING_TPZ)
 | 
				
			||||||
 			lbm = pix_per_line * 8;
 | 
					 			lbm = pix_per_line * 8;
 | 
				
			||||||
@@ -583,7 +590,9 @@ static int vc4_plane_allocate_lbm(struct
 | 
					@@ -591,7 +598,9 @@ static int vc4_plane_allocate_lbm(struct
 | 
				
			||||||
 		spin_lock_irqsave(&vc4->hvs->mm_lock, irqflags);
 | 
					 		spin_lock_irqsave(&vc4->hvs->mm_lock, irqflags);
 | 
				
			||||||
 		ret = drm_mm_insert_node_generic(&vc4->hvs->lbm_mm,
 | 
					 		ret = drm_mm_insert_node_generic(&vc4->hvs->lbm_mm,
 | 
				
			||||||
 						 &vc4_state->lbm,
 | 
					 						 &vc4_state->lbm,
 | 
				
			||||||
 | 
				
			|||||||
@ -81,7 +81,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 void vc4_plane_async_set_fb(struct drm_plane *plane,
 | 
					 void vc4_plane_async_set_fb(struct drm_plane *plane,
 | 
				
			||||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
@@ -1437,3 +1437,41 @@ struct drm_plane *vc4_plane_init(struct
 | 
					@@ -1447,3 +1447,41 @@ struct drm_plane *vc4_plane_init(struct
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	return plane;
 | 
					 	return plane;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 | 
				
			|||||||
@ -55,7 +55,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 void vc4_plane_async_set_fb(struct drm_plane *plane,
 | 
					 void vc4_plane_async_set_fb(struct drm_plane *plane,
 | 
				
			||||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
@@ -1438,39 +1438,41 @@ struct drm_plane *vc4_plane_init(struct
 | 
					@@ -1448,39 +1448,41 @@ struct drm_plane *vc4_plane_init(struct
 | 
				
			||||||
 	return plane;
 | 
					 	return plane;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -23,7 +23,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
@@ -1444,26 +1444,27 @@ int vc4_plane_create_additional_planes(s
 | 
					@@ -1454,26 +1454,27 @@ int vc4_plane_create_additional_planes(s
 | 
				
			||||||
 	struct drm_crtc *crtc;
 | 
					 	struct drm_crtc *crtc;
 | 
				
			||||||
 	unsigned int i;
 | 
					 	unsigned int i;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -21,7 +21,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
@@ -1453,7 +1453,7 @@ int vc4_plane_create_additional_planes(s
 | 
					@@ -1463,7 +1463,7 @@ int vc4_plane_create_additional_planes(s
 | 
				
			||||||
 	 * modest number of planes to expose, that should hopefully
 | 
					 	 * modest number of planes to expose, that should hopefully
 | 
				
			||||||
 	 * still cover any sane usecase.
 | 
					 	 * still cover any sane usecase.
 | 
				
			||||||
 	 */
 | 
					 	 */
 | 
				
			||||||
 | 
				
			|||||||
@ -38,7 +38,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 };
 | 
					 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static const struct hvs_format *vc4_get_hvs_format(u32 drm_format)
 | 
					 static const struct hvs_format *vc4_get_hvs_format(u32 drm_format)
 | 
				
			||||||
@@ -801,27 +808,33 @@ static int vc4_plane_mode_set(struct drm
 | 
					@@ -809,27 +816,33 @@ static int vc4_plane_mode_set(struct drm
 | 
				
			||||||
 		uint32_t param = fourcc_mod_broadcom_param(fb->modifier);
 | 
					 		uint32_t param = fourcc_mod_broadcom_param(fb->modifier);
 | 
				
			||||||
 		u32 tile_w, tile, x_off, pix_per_tile;
 | 
					 		u32 tile_w, tile, x_off, pix_per_tile;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 			return -EINVAL;
 | 
					 			return -EINVAL;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -831,6 +844,13 @@ static int vc4_plane_mode_set(struct drm
 | 
					@@ -839,6 +852,13 @@ static int vc4_plane_mode_set(struct drm
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 		/* Adjust the base pointer to the first pixel to be scanned
 | 
					 		/* Adjust the base pointer to the first pixel to be scanned
 | 
				
			||||||
 		 * out.
 | 
					 		 * out.
 | 
				
			||||||
@ -104,7 +104,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 		 */
 | 
					 		 */
 | 
				
			||||||
 		for (i = 0; i < num_planes; i++) {
 | 
					 		for (i = 0; i < num_planes; i++) {
 | 
				
			||||||
 			vc4_state->offsets[i] += param * tile_w * tile;
 | 
					 			vc4_state->offsets[i] += param * tile_w * tile;
 | 
				
			||||||
@@ -943,8 +963,8 @@ static int vc4_plane_mode_set(struct drm
 | 
					@@ -951,8 +971,8 @@ static int vc4_plane_mode_set(struct drm
 | 
				
			||||||
 		vc4_dlist_write(vc4_state,
 | 
					 		vc4_dlist_write(vc4_state,
 | 
				
			||||||
 				VC4_SET_FIELD(state->alpha >> 4,
 | 
					 				VC4_SET_FIELD(state->alpha >> 4,
 | 
				
			||||||
 					      SCALER5_CTL2_ALPHA) |
 | 
					 					      SCALER5_CTL2_ALPHA) |
 | 
				
			||||||
@ -115,7 +115,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 				(mix_plane_alpha ?
 | 
					 				(mix_plane_alpha ?
 | 
				
			||||||
 					SCALER5_CTL2_ALPHA_MIX : 0) |
 | 
					 					SCALER5_CTL2_ALPHA_MIX : 0) |
 | 
				
			||||||
 				VC4_SET_FIELD(fb->format->has_alpha ?
 | 
					 				VC4_SET_FIELD(fb->format->has_alpha ?
 | 
				
			||||||
@@ -992,7 +1012,8 @@ static int vc4_plane_mode_set(struct drm
 | 
					@@ -1000,7 +1020,8 @@ static int vc4_plane_mode_set(struct drm
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* Pitch word 1/2 */
 | 
					 	/* Pitch word 1/2 */
 | 
				
			||||||
 	for (i = 1; i < num_planes; i++) {
 | 
					 	for (i = 1; i < num_planes; i++) {
 | 
				
			||||||
@ -125,7 +125,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 			vc4_dlist_write(vc4_state,
 | 
					 			vc4_dlist_write(vc4_state,
 | 
				
			||||||
 					VC4_SET_FIELD(fb->pitches[i],
 | 
					 					VC4_SET_FIELD(fb->pitches[i],
 | 
				
			||||||
 						      SCALER_SRC_PITCH));
 | 
					 						      SCALER_SRC_PITCH));
 | 
				
			||||||
@@ -1361,6 +1382,13 @@ static bool vc4_format_mod_supported(str
 | 
					@@ -1371,6 +1392,13 @@ static bool vc4_format_mod_supported(str
 | 
				
			||||||
 		default:
 | 
					 		default:
 | 
				
			||||||
 			return false;
 | 
					 			return false;
 | 
				
			||||||
 		}
 | 
					 		}
 | 
				
			||||||
@ -139,7 +139,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 	case DRM_FORMAT_RGBX1010102:
 | 
					 	case DRM_FORMAT_RGBX1010102:
 | 
				
			||||||
 	case DRM_FORMAT_BGRX1010102:
 | 
					 	case DRM_FORMAT_BGRX1010102:
 | 
				
			||||||
 	case DRM_FORMAT_RGBA1010102:
 | 
					 	case DRM_FORMAT_RGBA1010102:
 | 
				
			||||||
@@ -1393,8 +1421,11 @@ struct drm_plane *vc4_plane_init(struct
 | 
					@@ -1403,8 +1431,11 @@ struct drm_plane *vc4_plane_init(struct
 | 
				
			||||||
 	struct drm_plane *plane = NULL;
 | 
					 	struct drm_plane *plane = NULL;
 | 
				
			||||||
 	struct vc4_plane *vc4_plane;
 | 
					 	struct vc4_plane *vc4_plane;
 | 
				
			||||||
 	u32 formats[ARRAY_SIZE(hvs_formats)];
 | 
					 	u32 formats[ARRAY_SIZE(hvs_formats)];
 | 
				
			||||||
@ -151,7 +151,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 	static const uint64_t modifiers[] = {
 | 
					 	static const uint64_t modifiers[] = {
 | 
				
			||||||
 		DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
 | 
					 		DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED,
 | 
				
			||||||
 		DRM_FORMAT_MOD_BROADCOM_SAND128,
 | 
					 		DRM_FORMAT_MOD_BROADCOM_SAND128,
 | 
				
			||||||
@@ -1409,13 +1440,17 @@ struct drm_plane *vc4_plane_init(struct
 | 
					@@ -1419,13 +1450,17 @@ struct drm_plane *vc4_plane_init(struct
 | 
				
			||||||
 	if (!vc4_plane)
 | 
					 	if (!vc4_plane)
 | 
				
			||||||
 		return ERR_PTR(-ENOMEM);
 | 
					 		return ERR_PTR(-ENOMEM);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					--- a/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
					+++ b/drivers/gpu/drm/vc4/vc4_plane.c
 | 
				
			||||||
@@ -1441,7 +1441,7 @@ struct drm_plane *vc4_plane_init(struct
 | 
					@@ -1451,7 +1451,7 @@ struct drm_plane *vc4_plane_init(struct
 | 
				
			||||||
 		return ERR_PTR(-ENOMEM);
 | 
					 		return ERR_PTR(-ENOMEM);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	for (i = 0; i < ARRAY_SIZE(hvs_formats); i++) {
 | 
					 	for (i = 0; i < ARRAY_SIZE(hvs_formats); i++) {
 | 
				
			||||||
 | 
				
			|||||||
@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/net/netfilter/nf_conntrack_core.c
 | 
					--- a/net/netfilter/nf_conntrack_core.c
 | 
				
			||||||
+++ b/net/netfilter/nf_conntrack_core.c
 | 
					+++ b/net/netfilter/nf_conntrack_core.c
 | 
				
			||||||
@@ -1206,18 +1206,6 @@ static bool gc_worker_can_early_drop(con
 | 
					@@ -1207,18 +1207,6 @@ static bool gc_worker_can_early_drop(con
 | 
				
			||||||
 	return false;
 | 
					 	return false;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 static void gc_worker(struct work_struct *work)
 | 
					 static void gc_worker(struct work_struct *work)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
 | 
					 	unsigned int min_interval = max(HZ / GC_MAX_BUCKETS_DIV, 1u);
 | 
				
			||||||
@@ -1254,10 +1242,8 @@ static void gc_worker(struct work_struct
 | 
					@@ -1255,10 +1243,8 @@ static void gc_worker(struct work_struct
 | 
				
			||||||
 			tmp = nf_ct_tuplehash_to_ctrack(h);
 | 
					 			tmp = nf_ct_tuplehash_to_ctrack(h);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 			scanned++;
 | 
					 			scanned++;
 | 
				
			||||||
 | 
				
			|||||||
@ -66,7 +66,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/net/core/dev.c
 | 
					--- a/net/core/dev.c
 | 
				
			||||||
+++ b/net/core/dev.c
 | 
					+++ b/net/core/dev.c
 | 
				
			||||||
@@ -5403,8 +5403,7 @@ static void skb_gro_reset_offset(struct
 | 
					@@ -5404,8 +5404,7 @@ static void skb_gro_reset_offset(struct
 | 
				
			||||||
 	NAPI_GRO_CB(skb)->frag0 = NULL;
 | 
					 	NAPI_GRO_CB(skb)->frag0 = NULL;
 | 
				
			||||||
 	NAPI_GRO_CB(skb)->frag0_len = 0;
 | 
					 	NAPI_GRO_CB(skb)->frag0_len = 0;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	}								\
 | 
					 	}								\
 | 
				
			||||||
 									\
 | 
					 									\
 | 
				
			||||||
 	/* __*init sections */						\
 | 
					 	/* __*init sections */						\
 | 
				
			||||||
@@ -888,6 +898,8 @@
 | 
					@@ -898,6 +908,8 @@
 | 
				
			||||||
 	EXIT_TEXT							\
 | 
					 	EXIT_TEXT							\
 | 
				
			||||||
 	EXIT_DATA							\
 | 
					 	EXIT_DATA							\
 | 
				
			||||||
 	EXIT_CALL							\
 | 
					 	EXIT_CALL							\
 | 
				
			||||||
 | 
				
			|||||||
@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	__u16			tc_index;	/* traffic control index */
 | 
					 	__u16			tc_index;	/* traffic control index */
 | 
				
			||||||
--- a/net/core/dev.c
 | 
					--- a/net/core/dev.c
 | 
				
			||||||
+++ b/net/core/dev.c
 | 
					+++ b/net/core/dev.c
 | 
				
			||||||
@@ -5468,6 +5468,9 @@ static enum gro_result dev_gro_receive(s
 | 
					@@ -5469,6 +5469,9 @@ static enum gro_result dev_gro_receive(s
 | 
				
			||||||
 	int same_flow;
 | 
					 	int same_flow;
 | 
				
			||||||
 	int grow;
 | 
					 	int grow;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	if (netif_elide_gro(skb->dev))
 | 
					 	if (netif_elide_gro(skb->dev))
 | 
				
			||||||
 		goto normal;
 | 
					 		goto normal;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -7263,6 +7266,48 @@ static void __netdev_adjacent_dev_unlink
 | 
					@@ -7264,6 +7267,48 @@ static void __netdev_adjacent_dev_unlink
 | 
				
			||||||
 					   &upper_dev->adj_list.lower);
 | 
					 					   &upper_dev->adj_list.lower);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 static int __netdev_upper_dev_link(struct net_device *dev,
 | 
					 static int __netdev_upper_dev_link(struct net_device *dev,
 | 
				
			||||||
 				   struct net_device *upper_dev, bool master,
 | 
					 				   struct net_device *upper_dev, bool master,
 | 
				
			||||||
 				   void *upper_priv, void *upper_info,
 | 
					 				   void *upper_priv, void *upper_info,
 | 
				
			||||||
@@ -7313,6 +7358,7 @@ static int __netdev_upper_dev_link(struc
 | 
					@@ -7314,6 +7359,7 @@ static int __netdev_upper_dev_link(struc
 | 
				
			||||||
 	if (ret)
 | 
					 	if (ret)
 | 
				
			||||||
 		return ret;
 | 
					 		return ret;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
 | 
					 	ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
 | 
				
			||||||
 					    &changeupper_info.info);
 | 
					 					    &changeupper_info.info);
 | 
				
			||||||
 	ret = notifier_to_errno(ret);
 | 
					 	ret = notifier_to_errno(ret);
 | 
				
			||||||
@@ -7406,6 +7452,7 @@ void netdev_upper_dev_unlink(struct net_
 | 
					@@ -7407,6 +7453,7 @@ void netdev_upper_dev_unlink(struct net_
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
 | 
					 	__netdev_adjacent_dev_unlink_neighbour(dev, upper_dev);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
 | 
					 	call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
 | 
				
			||||||
 				      &changeupper_info.info);
 | 
					 				      &changeupper_info.info);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -8136,6 +8183,7 @@ int dev_set_mac_address(struct net_devic
 | 
					@@ -8137,6 +8184,7 @@ int dev_set_mac_address(struct net_devic
 | 
				
			||||||
 	if (err)
 | 
					 	if (err)
 | 
				
			||||||
 		return err;
 | 
					 		return err;
 | 
				
			||||||
 	dev->addr_assign_type = NET_ADDR_SET;
 | 
					 	dev->addr_assign_type = NET_ADDR_SET;
 | 
				
			||||||
 | 
				
			|||||||
@ -87,7 +87,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 static int netif_rx_internal(struct sk_buff *skb);
 | 
					 static int netif_rx_internal(struct sk_buff *skb);
 | 
				
			||||||
 static int call_netdevice_notifiers_info(unsigned long val,
 | 
					 static int call_netdevice_notifiers_info(unsigned long val,
 | 
				
			||||||
@@ -5910,6 +5911,11 @@ void __napi_schedule(struct napi_struct
 | 
					@@ -5911,6 +5912,11 @@ void __napi_schedule(struct napi_struct
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	unsigned long flags;
 | 
					 	unsigned long flags;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	local_irq_save(flags);
 | 
					 	local_irq_save(flags);
 | 
				
			||||||
 	____napi_schedule(this_cpu_ptr(&softnet_data), n);
 | 
					 	____napi_schedule(this_cpu_ptr(&softnet_data), n);
 | 
				
			||||||
 	local_irq_restore(flags);
 | 
					 	local_irq_restore(flags);
 | 
				
			||||||
@@ -5957,6 +5963,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
 | 
					@@ -5958,6 +5964,11 @@ EXPORT_SYMBOL(napi_schedule_prep);
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
 void __napi_schedule_irqoff(struct napi_struct *n)
 | 
					 void __napi_schedule_irqoff(struct napi_struct *n)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@ -111,7 +111,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	____napi_schedule(this_cpu_ptr(&softnet_data), n);
 | 
					 	____napi_schedule(this_cpu_ptr(&softnet_data), n);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 EXPORT_SYMBOL(__napi_schedule_irqoff);
 | 
					 EXPORT_SYMBOL(__napi_schedule_irqoff);
 | 
				
			||||||
@@ -6218,6 +6229,84 @@ static void init_gro_hash(struct napi_st
 | 
					@@ -6219,6 +6230,84 @@ static void init_gro_hash(struct napi_st
 | 
				
			||||||
 	napi->gro_bitmask = 0;
 | 
					 	napi->gro_bitmask = 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -196,7 +196,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
 | 
					 void netif_napi_add(struct net_device *dev, struct napi_struct *napi,
 | 
				
			||||||
 		    int (*poll)(struct napi_struct *, int), int weight)
 | 
					 		    int (*poll)(struct napi_struct *, int), int weight)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@@ -6237,6 +6326,7 @@ void netif_napi_add(struct net_device *d
 | 
					@@ -6238,6 +6327,7 @@ void netif_napi_add(struct net_device *d
 | 
				
			||||||
 #ifdef CONFIG_NETPOLL
 | 
					 #ifdef CONFIG_NETPOLL
 | 
				
			||||||
 	napi->poll_owner = -1;
 | 
					 	napi->poll_owner = -1;
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
@ -204,7 +204,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	set_bit(NAPI_STATE_SCHED, &napi->state);
 | 
					 	set_bit(NAPI_STATE_SCHED, &napi->state);
 | 
				
			||||||
 	set_bit(NAPI_STATE_NPSVC, &napi->state);
 | 
					 	set_bit(NAPI_STATE_NPSVC, &napi->state);
 | 
				
			||||||
 	list_add_rcu(&napi->dev_list, &dev->napi_list);
 | 
					 	list_add_rcu(&napi->dev_list, &dev->napi_list);
 | 
				
			||||||
@@ -6277,6 +6367,7 @@ static void flush_gro_hash(struct napi_s
 | 
					@@ -6278,6 +6368,7 @@ static void flush_gro_hash(struct napi_s
 | 
				
			||||||
 void netif_napi_del(struct napi_struct *napi)
 | 
					 void netif_napi_del(struct napi_struct *napi)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	might_sleep();
 | 
					 	might_sleep();
 | 
				
			||||||
@ -212,7 +212,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 	if (napi_hash_del(napi))
 | 
					 	if (napi_hash_del(napi))
 | 
				
			||||||
 		synchronize_net();
 | 
					 		synchronize_net();
 | 
				
			||||||
 	list_del_init(&napi->dev_list);
 | 
					 	list_del_init(&napi->dev_list);
 | 
				
			||||||
@@ -6289,50 +6380,18 @@ EXPORT_SYMBOL(netif_napi_del);
 | 
					@@ -6290,50 +6381,18 @@ EXPORT_SYMBOL(netif_napi_del);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static int napi_poll(struct napi_struct *n, struct list_head *repoll)
 | 
					 static int napi_poll(struct napi_struct *n, struct list_head *repoll)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@ -267,7 +267,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	/* Some drivers may have called napi_schedule
 | 
					 	/* Some drivers may have called napi_schedule
 | 
				
			||||||
 	 * prior to exhausting their budget.
 | 
					 	 * prior to exhausting their budget.
 | 
				
			||||||
@@ -10270,6 +10329,10 @@ static int __init net_dev_init(void)
 | 
					@@ -10271,6 +10330,10 @@ static int __init net_dev_init(void)
 | 
				
			||||||
 		sd->backlog.weight = weight_p;
 | 
					 		sd->backlog.weight = weight_p;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -87,7 +87,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
 | 
				
			|||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /**
 | 
					 /**
 | 
				
			||||||
@@ -3871,6 +3887,7 @@ static int cgroup_add_file(struct cgroup
 | 
					@@ -3873,6 +3889,7 @@ static int cgroup_add_file(struct cgroup
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	char name[CGROUP_FILE_NAME_MAX];
 | 
					 	char name[CGROUP_FILE_NAME_MAX];
 | 
				
			||||||
 	struct kernfs_node *kn;
 | 
					 	struct kernfs_node *kn;
 | 
				
			||||||
@ -95,7 +95,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
 | 
				
			|||||||
 	struct lock_class_key *key = NULL;
 | 
					 	struct lock_class_key *key = NULL;
 | 
				
			||||||
 	int ret;
 | 
					 	int ret;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -3901,6 +3918,14 @@ static int cgroup_add_file(struct cgroup
 | 
					@@ -3903,6 +3920,14 @@ static int cgroup_add_file(struct cgroup
 | 
				
			||||||
 		spin_unlock_irq(&cgroup_file_kn_lock);
 | 
					 		spin_unlock_irq(&cgroup_file_kn_lock);
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -89,7 +89,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
 | 
				
			|||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /**
 | 
					 /**
 | 
				
			||||||
@@ -3887,7 +3871,6 @@ static int cgroup_add_file(struct cgroup
 | 
					@@ -3889,7 +3873,6 @@ static int cgroup_add_file(struct cgroup
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	char name[CGROUP_FILE_NAME_MAX];
 | 
					 	char name[CGROUP_FILE_NAME_MAX];
 | 
				
			||||||
 	struct kernfs_node *kn;
 | 
					 	struct kernfs_node *kn;
 | 
				
			||||||
@ -97,7 +97,7 @@ Signed-off-by: Li Yang <leoyang.li@nxp.com>
 | 
				
			|||||||
 	struct lock_class_key *key = NULL;
 | 
					 	struct lock_class_key *key = NULL;
 | 
				
			||||||
 	int ret;
 | 
					 	int ret;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -3918,14 +3901,6 @@ static int cgroup_add_file(struct cgroup
 | 
					@@ -3920,14 +3903,6 @@ static int cgroup_add_file(struct cgroup
 | 
				
			||||||
 		spin_unlock_irq(&cgroup_file_kn_lock);
 | 
					 		spin_unlock_irq(&cgroup_file_kn_lock);
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
				
			|||||||
 #define ENETC_SIPCAPR0_RSS	BIT(8)
 | 
					 #define ENETC_SIPCAPR0_RSS	BIT(8)
 | 
				
			||||||
 #define ENETC_SIPCAPR1	0x24
 | 
					 #define ENETC_SIPCAPR1	0x24
 | 
				
			||||||
 #define ENETC_SITGTGR	0x30
 | 
					 #define ENETC_SITGTGR	0x30
 | 
				
			||||||
@@ -444,22 +445,6 @@ union enetc_rx_bd {
 | 
					@@ -446,22 +447,6 @@ union enetc_rx_bd {
 | 
				
			||||||
 #define EMETC_MAC_ADDR_FILT_RES	3 /* # of reserved entries at the beginning */
 | 
					 #define EMETC_MAC_ADDR_FILT_RES	3 /* # of reserved entries at the beginning */
 | 
				
			||||||
 #define ENETC_MAX_NUM_VFS	2
 | 
					 #define ENETC_MAX_NUM_VFS	2
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -164,7 +164,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
				
			|||||||
 #define ENETC_CBD_FLAGS_SF	BIT(7) /* short format */
 | 
					 #define ENETC_CBD_FLAGS_SF	BIT(7) /* short format */
 | 
				
			||||||
 #define ENETC_CBD_STATUS_MASK	0xf
 | 
					 #define ENETC_CBD_STATUS_MASK	0xf
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -558,3 +543,70 @@ static inline void enetc_set_bdr_prio(st
 | 
					@@ -560,3 +545,70 @@ static inline void enetc_set_bdr_prio(st
 | 
				
			||||||
 	val |= ENETC_TBMR_SET_PRIO(prio);
 | 
					 	val |= ENETC_TBMR_SET_PRIO(prio);
 | 
				
			||||||
 	enetc_txbdr_wr(hw, bdr_idx, ENETC_TBMR, val);
 | 
					 	enetc_txbdr_wr(hw, bdr_idx, ENETC_TBMR, val);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 | 
				
			|||||||
@ -19,7 +19,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
@@ -198,6 +198,7 @@ enum enetc_bdr_type {TX, RX};
 | 
					@@ -200,6 +200,7 @@ enum enetc_bdr_type {TX, RX};
 | 
				
			||||||
 #define ENETC_PFPMR		0x1900
 | 
					 #define ENETC_PFPMR		0x1900
 | 
				
			||||||
 #define ENETC_PFPMR_PMACE	BIT(1)
 | 
					 #define ENETC_PFPMR_PMACE	BIT(1)
 | 
				
			||||||
 #define ENETC_PFPMR_MWLM	BIT(0)
 | 
					 #define ENETC_PFPMR_MWLM	BIT(0)
 | 
				
			||||||
 | 
				
			|||||||
@ -23,7 +23,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
@@ -221,6 +221,23 @@ enum enetc_bdr_type {TX, RX};
 | 
					@@ -223,6 +223,23 @@ enum enetc_bdr_type {TX, RX};
 | 
				
			||||||
 #define ENETC_PM0_MAXFRM	0x8014
 | 
					 #define ENETC_PM0_MAXFRM	0x8014
 | 
				
			||||||
 #define ENETC_SET_TX_MTU(val)	((val) << 16)
 | 
					 #define ENETC_SET_TX_MTU(val)	((val) << 16)
 | 
				
			||||||
 #define ENETC_SET_MAXFRM(val)	((val) & 0xffff)
 | 
					 #define ENETC_SET_MAXFRM(val)	((val) & 0xffff)
 | 
				
			||||||
@ -79,8 +79,8 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
+}
 | 
					+}
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
@@ -807,6 +807,61 @@ static void enetc_of_put_phy(struct enet
 | 
					@@ -852,6 +852,61 @@ static int enetc_init_port_rss_memory(st
 | 
				
			||||||
 		of_node_put(priv->phy_node);
 | 
					 	return err;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
+static void enetc_configure_sgmii(struct mii_bus *imdio)
 | 
					+static void enetc_configure_sgmii(struct mii_bus *imdio)
 | 
				
			||||||
@ -141,7 +141,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 static int enetc_pf_probe(struct pci_dev *pdev,
 | 
					 static int enetc_pf_probe(struct pci_dev *pdev,
 | 
				
			||||||
 			  const struct pci_device_id *ent)
 | 
					 			  const struct pci_device_id *ent)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@@ -871,6 +926,10 @@ static int enetc_pf_probe(struct pci_dev
 | 
					@@ -928,6 +983,10 @@ static int enetc_pf_probe(struct pci_dev
 | 
				
			||||||
 	if (err)
 | 
					 	if (err)
 | 
				
			||||||
 		dev_warn(&pdev->dev, "Fallback to PHY-less operation\n");
 | 
					 		dev_warn(&pdev->dev, "Fallback to PHY-less operation\n");
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -124,8 +124,8 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
+		of_node_put(pf->phy_node);
 | 
					+		of_node_put(pf->phy_node);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static void enetc_configure_sgmii(struct mii_bus *imdio)
 | 
					 /* Initialize the entire shared memory for the flow steering entries
 | 
				
			||||||
@@ -888,6 +891,10 @@ static int enetc_pf_probe(struct pci_dev
 | 
					@@ -933,6 +936,10 @@ static int enetc_pf_probe(struct pci_dev
 | 
				
			||||||
 	pf->si = si;
 | 
					 	pf->si = si;
 | 
				
			||||||
 	pf->total_vfs = pci_sriov_get_totalvfs(pdev);
 | 
					 	pf->total_vfs = pci_sriov_get_totalvfs(pdev);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -136,7 +136,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 	enetc_configure_port(pf);
 | 
					 	enetc_configure_port(pf);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	enetc_get_si_caps(si);
 | 
					 	enetc_get_si_caps(si);
 | 
				
			||||||
@@ -902,6 +909,8 @@ static int enetc_pf_probe(struct pci_dev
 | 
					@@ -947,6 +954,8 @@ static int enetc_pf_probe(struct pci_dev
 | 
				
			||||||
 	enetc_pf_netdev_setup(si, ndev, &enetc_ndev_ops);
 | 
					 	enetc_pf_netdev_setup(si, ndev, &enetc_ndev_ops);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	priv = netdev_priv(ndev);
 | 
					 	priv = netdev_priv(ndev);
 | 
				
			||||||
@ -145,7 +145,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	enetc_init_si_rings_params(priv);
 | 
					 	enetc_init_si_rings_params(priv);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -917,10 +926,6 @@ static int enetc_pf_probe(struct pci_dev
 | 
					@@ -974,10 +983,6 @@ static int enetc_pf_probe(struct pci_dev
 | 
				
			||||||
 		goto err_alloc_msix;
 | 
					 		goto err_alloc_msix;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -156,15 +156,15 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 	err = enetc_configure_serdes(priv);
 | 
					 	err = enetc_configure_serdes(priv);
 | 
				
			||||||
 	if (err)
 | 
					 	if (err)
 | 
				
			||||||
 		dev_warn(&pdev->dev, "Attempted serdes config but failed\n");
 | 
					 		dev_warn(&pdev->dev, "Attempted serdes config but failed\n");
 | 
				
			||||||
@@ -938,7 +943,6 @@ static int enetc_pf_probe(struct pci_dev
 | 
					@@ -995,7 +1000,6 @@ static int enetc_pf_probe(struct pci_dev
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 err_reg_netdev:
 | 
					 err_reg_netdev:
 | 
				
			||||||
 	enetc_mdio_remove(pf);
 | 
					 	enetc_mdio_remove(pf);
 | 
				
			||||||
-	enetc_of_put_phy(priv);
 | 
					-	enetc_of_put_phy(priv);
 | 
				
			||||||
 	enetc_free_msix(priv);
 | 
					 	enetc_free_msix(priv);
 | 
				
			||||||
 err_alloc_msix:
 | 
					 err_init_port_rss:
 | 
				
			||||||
 	enetc_free_si_resources(priv);
 | 
					 err_init_port_rfs:
 | 
				
			||||||
@@ -946,6 +950,7 @@ err_alloc_si_res:
 | 
					@@ -1005,6 +1009,7 @@ err_alloc_si_res:
 | 
				
			||||||
 	si->ndev = NULL;
 | 
					 	si->ndev = NULL;
 | 
				
			||||||
 	free_netdev(ndev);
 | 
					 	free_netdev(ndev);
 | 
				
			||||||
 err_alloc_netdev:
 | 
					 err_alloc_netdev:
 | 
				
			||||||
@ -172,7 +172,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 err_map_pf_space:
 | 
					 err_map_pf_space:
 | 
				
			||||||
 	enetc_pci_remove(pdev);
 | 
					 	enetc_pci_remove(pdev);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -968,7 +973,7 @@ static void enetc_pf_remove(struct pci_d
 | 
					@@ -1027,7 +1032,7 @@ static void enetc_pf_remove(struct pci_d
 | 
				
			||||||
 	unregister_netdev(si->ndev);
 | 
					 	unregister_netdev(si->ndev);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	enetc_mdio_remove(pf);
 | 
					 	enetc_mdio_remove(pf);
 | 
				
			||||||
 | 
				
			|||||||
@ -23,7 +23,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
 | 
				
			|||||||
 		enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_XGMII);
 | 
					 		enetc_port_wr(hw, ENETC_PM0_IF_MODE, ENETC_PM0_IFM_XGMII);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -844,7 +845,8 @@ static int enetc_configure_serdes(struct
 | 
					@@ -889,7 +890,8 @@ static int enetc_configure_serdes(struct
 | 
				
			||||||
 	int err;
 | 
					 	int err;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	if (priv->if_mode != PHY_INTERFACE_MODE_SGMII &&
 | 
					 	if (priv->if_mode != PHY_INTERFACE_MODE_SGMII &&
 | 
				
			||||||
@ -33,7 +33,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
 | 
				
			|||||||
 		return 0;
 | 
					 		return 0;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	err = enetc_imdio_init(pf);
 | 
					 	err = enetc_imdio_init(pf);
 | 
				
			||||||
@@ -854,7 +856,8 @@ static int enetc_configure_serdes(struct
 | 
					@@ -899,7 +901,8 @@ static int enetc_configure_serdes(struct
 | 
				
			||||||
 	if (priv->if_mode == PHY_INTERFACE_MODE_SGMII)
 | 
					 	if (priv->if_mode == PHY_INTERFACE_MODE_SGMII)
 | 
				
			||||||
 		enetc_configure_sgmii(pf->imdio);
 | 
					 		enetc_configure_sgmii(pf->imdio);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -254,7 +254,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
 | 
				
			|||||||
 		rx_frm_cnt++;
 | 
					 		rx_frm_cnt++;
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
@@ -325,8 +325,15 @@ struct enetc_hw {
 | 
					@@ -327,8 +327,15 @@ struct enetc_hw {
 | 
				
			||||||
 };
 | 
					 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /* general register accessors */
 | 
					 /* general register accessors */
 | 
				
			||||||
@ -272,7 +272,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
 | 
				
			|||||||
 #ifdef ioread64
 | 
					 #ifdef ioread64
 | 
				
			||||||
 #define enetc_rd_reg64(reg)	ioread64((reg))
 | 
					 #define enetc_rd_reg64(reg)	ioread64((reg))
 | 
				
			||||||
 #else
 | 
					 #else
 | 
				
			||||||
@@ -345,12 +352,102 @@ static inline u64 enetc_rd_reg64(void __
 | 
					@@ -347,12 +354,102 @@ static inline u64 enetc_rd_reg64(void __
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -397,7 +397,7 @@ Signed-off-by: Alex Marginean <alexandru.marginean@nxp.com>
 | 
				
			|||||||
 #define enetc_mdio_rd(mdio_priv, off) \
 | 
					 #define enetc_mdio_rd(mdio_priv, off) \
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
@@ -987,6 +987,9 @@ static void enetc_pf_remove(struct pci_d
 | 
					@@ -1046,6 +1046,9 @@ static void enetc_pf_remove(struct pci_d
 | 
				
			||||||
 	enetc_pci_remove(pdev);
 | 
					 	enetc_pci_remove(pdev);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -259,7 +259,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
@@ -329,7 +329,7 @@ struct enetc_hw {
 | 
					@@ -331,7 +331,7 @@ struct enetc_hw {
 | 
				
			||||||
 #define enetc_wr_reg(reg, val)	enetc_wr_reg_wa((reg), (val))
 | 
					 #define enetc_wr_reg(reg, val)	enetc_wr_reg_wa((reg), (val))
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /* accessors for data-path, due to MDIO issue on LS1028 these should be called
 | 
					 /* accessors for data-path, due to MDIO issue on LS1028 these should be called
 | 
				
			||||||
@ -268,7 +268,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
  */
 | 
					  */
 | 
				
			||||||
 #define enetc_rd_reg_hot(reg)	ioread32((reg))
 | 
					 #define enetc_rd_reg_hot(reg)	ioread32((reg))
 | 
				
			||||||
 #define enetc_wr_reg_hot(reg, val)	iowrite32((val), (reg))
 | 
					 #define enetc_wr_reg_hot(reg, val)	iowrite32((val), (reg))
 | 
				
			||||||
@@ -352,90 +352,45 @@ static inline u64 enetc_rd_reg64(void __
 | 
					@@ -354,90 +354,45 @@ static inline u64 enetc_rd_reg64(void __
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -371,7 +371,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 #define enetc_rd(hw, off)		enetc_rd_reg((hw)->reg + (off))
 | 
					 #define enetc_rd(hw, off)		enetc_rd_reg((hw)->reg + (off))
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
@@ -987,8 +987,9 @@ static void enetc_pf_remove(struct pci_d
 | 
					@@ -1046,8 +1046,9 @@ static void enetc_pf_remove(struct pci_d
 | 
				
			||||||
 	enetc_pci_remove(pdev);
 | 
					 	enetc_pci_remove(pdev);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -48,7 +48,7 @@ Signed-off-by: Claudiu Manoil <claudiu.manoil@nxp.com>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c
 | 
				
			||||||
@@ -953,6 +953,7 @@ err_alloc_si_res:
 | 
					@@ -1012,6 +1012,7 @@ err_alloc_si_res:
 | 
				
			||||||
 	si->ndev = NULL;
 | 
					 	si->ndev = NULL;
 | 
				
			||||||
 	free_netdev(ndev);
 | 
					 	free_netdev(ndev);
 | 
				
			||||||
 err_alloc_netdev:
 | 
					 err_alloc_netdev:
 | 
				
			||||||
 | 
				
			|||||||
@ -78,8 +78,8 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
 | 
				
			|||||||
+#define ENETC_CBS_BW_MASK	GENMASK(6, 0)
 | 
					+#define ENETC_CBS_BW_MASK	GENMASK(6, 0)
 | 
				
			||||||
 #define ENETC_PTCCBSR1(n)	(0x1114 + (n) * 8) /* n = 0 to 7*/
 | 
					 #define ENETC_PTCCBSR1(n)	(0x1114 + (n) * 8) /* n = 0 to 7*/
 | 
				
			||||||
 #define ENETC_RSSHASH_KEY_SIZE	40
 | 
					 #define ENETC_RSSHASH_KEY_SIZE	40
 | 
				
			||||||
 #define ENETC_PRSSK(n)		(0x1410 + (n) * 4) /* n = [0..9] */
 | 
					 #define ENETC_PRSSCAPR		0x1404
 | 
				
			||||||
@@ -677,6 +679,8 @@ struct enetc_cbd {
 | 
					@@ -679,6 +681,8 @@ struct enetc_cbd {
 | 
				
			||||||
 	u8 status_flags;
 | 
					 	u8 status_flags;
 | 
				
			||||||
 };
 | 
					 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -296,7 +296,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 #define ENETC_SIPCAPR0_RSS	BIT(8)
 | 
					 #define ENETC_SIPCAPR0_RSS	BIT(8)
 | 
				
			||||||
 #define ENETC_SIPCAPR1	0x24
 | 
					 #define ENETC_SIPCAPR1	0x24
 | 
				
			||||||
 #define ENETC_SITGTGR	0x30
 | 
					 #define ENETC_SITGTGR	0x30
 | 
				
			||||||
@@ -241,10 +242,20 @@ enum enetc_bdr_type {TX, RX};
 | 
					@@ -243,10 +244,20 @@ enum enetc_bdr_type {TX, RX};
 | 
				
			||||||
 #define ENETC_PCS_IF_MODE_SGMII_AN	0x0003
 | 
					 #define ENETC_PCS_IF_MODE_SGMII_AN	0x0003
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #define ENETC_PM0_IF_MODE	0x8300
 | 
					 #define ENETC_PM0_IF_MODE	0x8300
 | 
				
			||||||
@ -317,7 +317,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 /* MAC counters */
 | 
					 /* MAC counters */
 | 
				
			||||||
 #define ENETC_PM0_REOCT		0x8100
 | 
					 #define ENETC_PM0_REOCT		0x8100
 | 
				
			||||||
@@ -298,6 +309,15 @@ enum enetc_bdr_type {TX, RX};
 | 
					@@ -300,6 +311,15 @@ enum enetc_bdr_type {TX, RX};
 | 
				
			||||||
 #define ENETC_PM0_TSCOL		0x82E0
 | 
					 #define ENETC_PM0_TSCOL		0x82E0
 | 
				
			||||||
 #define ENETC_PM0_TLCOL		0x82E8
 | 
					 #define ENETC_PM0_TLCOL		0x82E8
 | 
				
			||||||
 #define ENETC_PM0_TECOL		0x82F0
 | 
					 #define ENETC_PM0_TECOL		0x82F0
 | 
				
			||||||
@ -333,7 +333,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 /* Port counters */
 | 
					 /* Port counters */
 | 
				
			||||||
 #define ENETC_PICDR(n)		(0x0700 + (n) * 8) /* n = [0..3] */
 | 
					 #define ENETC_PICDR(n)		(0x0700 + (n) * 8) /* n = [0..3] */
 | 
				
			||||||
@@ -456,6 +476,7 @@ union enetc_tx_bd {
 | 
					@@ -458,6 +478,7 @@ union enetc_tx_bd {
 | 
				
			||||||
 #define ENETC_TXBD_FLAGS_CSUM	BIT(3)
 | 
					 #define ENETC_TXBD_FLAGS_CSUM	BIT(3)
 | 
				
			||||||
 #define ENETC_TXBD_FLAGS_EX	BIT(6)
 | 
					 #define ENETC_TXBD_FLAGS_EX	BIT(6)
 | 
				
			||||||
 #define ENETC_TXBD_FLAGS_F	BIT(7)
 | 
					 #define ENETC_TXBD_FLAGS_F	BIT(7)
 | 
				
			||||||
@ -341,7 +341,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 static inline void enetc_clear_tx_bd(union enetc_tx_bd *txbd)
 | 
					 static inline void enetc_clear_tx_bd(union enetc_tx_bd *txbd)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@@ -483,6 +504,8 @@ static inline __le16 enetc_txbd_l3_csoff
 | 
					@@ -485,6 +506,8 @@ static inline __le16 enetc_txbd_l3_csoff
 | 
				
			||||||
 #define ENETC_TXBD_L4_UDP	BIT(5)
 | 
					 #define ENETC_TXBD_L4_UDP	BIT(5)
 | 
				
			||||||
 #define ENETC_TXBD_L4_TCP	BIT(6)
 | 
					 #define ENETC_TXBD_L4_TCP	BIT(6)
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -350,7 +350,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 union enetc_rx_bd {
 | 
					 union enetc_rx_bd {
 | 
				
			||||||
 	struct {
 | 
					 	struct {
 | 
				
			||||||
 		__le64 addr;
 | 
					 		__le64 addr;
 | 
				
			||||||
@@ -629,21 +652,307 @@ enum bdcr_cmd_class {
 | 
					@@ -631,21 +654,307 @@ enum bdcr_cmd_class {
 | 
				
			||||||
 	BDCR_CMD_RFS,
 | 
					 	BDCR_CMD_RFS,
 | 
				
			||||||
 	BDCR_CMD_PORT_GCL,
 | 
					 	BDCR_CMD_PORT_GCL,
 | 
				
			||||||
 	BDCR_CMD_RECV_CLASSIFIER,
 | 
					 	BDCR_CMD_RECV_CLASSIFIER,
 | 
				
			||||||
@ -662,7 +662,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 /* gate control list entry */
 | 
					 /* gate control list entry */
 | 
				
			||||||
 struct gce {
 | 
					 struct gce {
 | 
				
			||||||
 	__le32	period;
 | 
					 	__le32	period;
 | 
				
			||||||
@@ -660,13 +969,55 @@ struct tgs_gcl_data {
 | 
					@@ -662,13 +971,55 @@ struct tgs_gcl_data {
 | 
				
			||||||
 	struct gce	entry[0];
 | 
					 	struct gce	entry[0];
 | 
				
			||||||
 };
 | 
					 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -719,7 +719,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 			};
 | 
					 			};
 | 
				
			||||||
 		};	/* Long format */
 | 
					 		};	/* Long format */
 | 
				
			||||||
 		__le32 data[6];
 | 
					 		__le32 data[6];
 | 
				
			||||||
@@ -681,11 +1032,88 @@ struct enetc_cbd {
 | 
					@@ -683,11 +1034,88 @@ struct enetc_cbd {
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #define ENETC_CLK  400000000ULL
 | 
					 #define ENETC_CLK  400000000ULL
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -839,7 +839,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 	/* pick up primary MAC address from SI */
 | 
					 	/* pick up primary MAC address from SI */
 | 
				
			||||||
 	enetc_get_primary_mac_addr(&si->hw, ndev->dev_addr);
 | 
					 	enetc_get_primary_mac_addr(&si->hw, ndev->dev_addr);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -942,6 +949,8 @@ static int enetc_pf_probe(struct pci_dev
 | 
					@@ -999,6 +1006,8 @@ static int enetc_pf_probe(struct pci_dev
 | 
				
			||||||
 	netif_info(priv, probe, ndev, "%s v%s\n",
 | 
					 	netif_info(priv, probe, ndev, "%s v%s\n",
 | 
				
			||||||
 		   enetc_drv_name, enetc_drv_ver);
 | 
					 		   enetc_drv_name, enetc_drv_ver);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -848,7 +848,7 @@ Signed-off-by: Po Liu <Po.Liu@nxp.com>
 | 
				
			|||||||
 	return 0;
 | 
					 	return 0;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 err_reg_netdev:
 | 
					 err_reg_netdev:
 | 
				
			||||||
@@ -974,6 +983,8 @@ static void enetc_pf_remove(struct pci_d
 | 
					@@ -1033,6 +1042,8 @@ static void enetc_pf_remove(struct pci_d
 | 
				
			||||||
 	netif_info(priv, drv, si->ndev, "%s v%s remove\n",
 | 
					 	netif_info(priv, drv, si->ndev, "%s v%s remove\n",
 | 
				
			||||||
 		   enetc_drv_name, enetc_drv_ver);
 | 
					 		   enetc_drv_name, enetc_drv_ver);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -344,7 +344,7 @@ MDIO erratum.
 | 
				
			|||||||
 static int enetc_of_get_phy(struct enetc_pf *pf)
 | 
					 static int enetc_of_get_phy(struct enetc_pf *pf)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	struct device *dev = &pf->si->pdev->dev;
 | 
					 	struct device *dev = &pf->si->pdev->dev;
 | 
				
			||||||
@@ -846,6 +893,30 @@ static void enetc_configure_sxgmii(struc
 | 
					@@ -891,6 +938,30 @@ static void enetc_configure_sxgmii(struc
 | 
				
			||||||
 		     ENETC_PCS_CR_LANE_RESET | ENETC_PCS_CR_RESET_AN);
 | 
					 		     ENETC_PCS_CR_LANE_RESET | ENETC_PCS_CR_RESET_AN);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
@ -17,7 +17,7 @@ Acked-by: Jason Liu <jason.hui.liu@nxp.com>
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					--- a/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
					+++ b/drivers/net/ethernet/freescale/enetc/enetc_hw.h
 | 
				
			||||||
@@ -224,6 +224,8 @@ enum enetc_bdr_type {TX, RX};
 | 
					@@ -226,6 +226,8 @@ enum enetc_bdr_type {TX, RX};
 | 
				
			||||||
 #define ENETC_PM0_MAXFRM	0x8014
 | 
					 #define ENETC_PM0_MAXFRM	0x8014
 | 
				
			||||||
 #define ENETC_SET_TX_MTU(val)	((val) << 16)
 | 
					 #define ENETC_SET_TX_MTU(val)	((val) << 16)
 | 
				
			||||||
 #define ENETC_SET_MAXFRM(val)	((val) & 0xffff)
 | 
					 #define ENETC_SET_MAXFRM(val)	((val) & 0xffff)
 | 
				
			||||||
 | 
				
			|||||||
@ -23,11 +23,9 @@ Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
 | 
				
			|||||||
 arch/mips/ralink/reset.c | 4 ++--
 | 
					 arch/mips/ralink/reset.c | 4 ++--
 | 
				
			||||||
 1 file changed, 2 insertions(+), 2 deletions(-)
 | 
					 1 file changed, 2 insertions(+), 2 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
diff --git a/arch/mips/ralink/reset.c b/arch/mips/ralink/reset.c
 | 
					 | 
				
			||||||
index 8126f12604071..274d33078c5eb 100644
 | 
					 | 
				
			||||||
--- a/arch/mips/ralink/reset.c
 | 
					--- a/arch/mips/ralink/reset.c
 | 
				
			||||||
+++ b/arch/mips/ralink/reset.c
 | 
					+++ b/arch/mips/ralink/reset.c
 | 
				
			||||||
@@ -27,7 +27,7 @@ static int ralink_assert_device(struct reset_controller_dev *rcdev,
 | 
					@@ -27,7 +27,7 @@ static int ralink_assert_device(struct r
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	u32 val;
 | 
					 	u32 val;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@ -36,7 +34,7 @@ index 8126f12604071..274d33078c5eb 100644
 | 
				
			|||||||
 		return -1;
 | 
					 		return -1;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	val = rt_sysc_r32(SYSC_REG_RESET_CTRL);
 | 
					 	val = rt_sysc_r32(SYSC_REG_RESET_CTRL);
 | 
				
			||||||
@@ -42,7 +42,7 @@ static int ralink_deassert_device(struct reset_controller_dev *rcdev,
 | 
					@@ -42,7 +42,7 @@ static int ralink_deassert_device(struct
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	u32 val;
 | 
					 	u32 val;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user