-LINUX_VERSION-5.10 = .167
-LINUX_KERNEL_HASH-5.10.167 = d807f97812e566410cd13b3170009e0d7552748d4f22d608ffd4dbd7f85bf9c6
+LINUX_VERSION-5.10 = .168
+LINUX_KERNEL_HASH-5.10.168 = b67d2596ba8d30510f743f31899c94c43eaf006a254ff44d7fc6ea26e7ab359c
--- a/include/uapi/linux/ip.h
+++ b/include/uapi/linux/ip.h
-@@ -105,7 +105,7 @@ struct iphdr {
+@@ -106,7 +106,7 @@ struct iphdr {
__be32 daddr;
);
/*The options start here. */
struct ip_auth_hdr {
--- a/include/uapi/linux/ipv6.h
+++ b/include/uapi/linux/ipv6.h
-@@ -134,7 +134,7 @@ struct ipv6hdr {
+@@ -135,7 +135,7 @@ struct ipv6hdr {
struct in6_addr saddr;
struct in6_addr daddr;
);
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -8652,8 +8652,6 @@ int alloc_contig_range(unsigned long sta
+@@ -8655,8 +8655,6 @@ int alloc_contig_range(unsigned long sta
/* Make sure the range is really isolated. */
if (test_pages_isolated(outer_start, end, 0)) {
- return 0;
-
vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
- vc4_hdmi, "vc4",
- CEC_CAP_DEFAULTS |
-@@ -1922,7 +1919,6 @@ static const struct vc4_hdmi_variant bcm
+ vc4_hdmi,
+ vc4_hdmi->variant->card_name,
+@@ -1923,7 +1920,6 @@ static const struct vc4_hdmi_variant bcm
.debugfs_name = "hdmi_regs",
.card_name = "vc4-hdmi",
.max_pixel_clock = 162000000,
return 0;
}
-@@ -1736,6 +1742,7 @@ static int vc5_hdmi_init_resources(struc
+@@ -1737,6 +1743,7 @@ static int vc5_hdmi_init_resources(struc
struct platform_device *pdev = vc4_hdmi->pdev;
struct device *dev = &pdev->dev;
struct resource *res;
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi");
if (!res)
-@@ -1826,6 +1833,38 @@ static int vc5_hdmi_init_resources(struc
+@@ -1827,6 +1834,38 @@ static int vc5_hdmi_init_resources(struc
return PTR_ERR(vc4_hdmi->reset);
}
value |= clk_cnt << VC4_HDMI_CEC_DIV_CLK_CNT_SHIFT;
HDMI_WRITE(HDMI_CEC_CNTRL_1, value);
}
-@@ -1869,6 +1869,7 @@ static int vc4_hdmi_init_resources(struc
+@@ -1870,6 +1870,7 @@ static int vc4_hdmi_init_resources(struc
return PTR_ERR(vc4_hdmi->hsm_clock);
}
vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock;
return 0;
}
-@@ -1963,6 +1964,12 @@ static int vc5_hdmi_init_resources(struc
+@@ -1964,6 +1965,12 @@ static int vc5_hdmi_init_resources(struc
return PTR_ERR(vc4_hdmi->audio_clock);
}
HDMI_WRITE(HDMI_CEC_CNTRL_5, val |
VC4_HDMI_CEC_TX_SW_RESET | VC4_HDMI_CEC_RX_SW_RESET);
}
-@@ -1799,8 +1801,6 @@ static int vc4_hdmi_cec_init(struct vc4_
+@@ -1800,8 +1802,6 @@ static int vc4_hdmi_cec_init(struct vc4_
cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector);
cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info);
value = HDMI_READ(HDMI_CEC_CNTRL_1);
/* Set the logical address to Unregistered */
value |= VC4_HDMI_CEC_ADDR_MASK;
-@@ -1808,12 +1808,32 @@ static int vc4_hdmi_cec_init(struct vc4_
+@@ -1809,12 +1809,32 @@ static int vc4_hdmi_cec_init(struct vc4_
vc4_hdmi_cec_update_clk_div(vc4_hdmi);
ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev);
if (ret < 0)
-@@ -2288,6 +2308,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2289,6 +2309,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_CK,
},
.unsupported_odd_h_timings = true,
.init_resources = vc5_hdmi_init_resources,
.csc_setup = vc5_hdmi_csc_setup,
-@@ -2314,6 +2335,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2315,6 +2336,7 @@ static const struct vc4_hdmi_variant bcm
PHY_LANE_2,
},
.unsupported_odd_h_timings = true,
+ }
+
vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops,
- vc4_hdmi, "vc4",
- CEC_CAP_DEFAULTS |
+ vc4_hdmi,
+ vc4_hdmi->variant->card_name,
}
static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder,
-@@ -2298,6 +2323,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2299,6 +2324,7 @@ static const struct vc4_hdmi_variant bcm
.phy_rng_enable = vc4_hdmi_phy_rng_enable,
.phy_rng_disable = vc4_hdmi_phy_rng_disable,
.channel_map = vc4_hdmi_channel_map,
};
static const struct vc4_hdmi_variant bcm2711_hdmi0_variant = {
-@@ -2325,6 +2351,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2326,6 +2352,7 @@ static const struct vc4_hdmi_variant bcm
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
.channel_map = vc5_hdmi_channel_map,
};
static const struct vc4_hdmi_variant bcm2711_hdmi1_variant = {
-@@ -2352,6 +2379,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2353,6 +2380,7 @@ static const struct vc4_hdmi_variant bcm
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
.channel_map = vc5_hdmi_channel_map,
#ifdef CONFIG_DRM_VC4_HDMI_CEC
static irqreturn_t vc4_cec_irq_handler_rx_thread(int irq, void *priv)
{
-@@ -2317,6 +2357,10 @@ static int vc4_hdmi_bind(struct device *
+@@ -2318,6 +2358,10 @@ static int vc4_hdmi_bind(struct device *
if (ret)
goto err_destroy_encoder;
static void vc4_hdmi_encoder_post_crtc_disable(struct drm_encoder *encoder,
struct drm_atomic_state *state)
{
-@@ -2275,6 +2299,7 @@ static int vc4_hdmi_bind(struct device *
+@@ -2276,6 +2300,7 @@ static int vc4_hdmi_bind(struct device *
vc4_hdmi = devm_kzalloc(dev, sizeof(*vc4_hdmi), GFP_KERNEL);
if (!vc4_hdmi)
return -ENOMEM;
static u32 vc4_hdmi_channel_map(struct vc4_hdmi *vc4_hdmi, u32 channel_mask)
{
int i;
-@@ -2336,6 +2353,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2337,6 +2354,7 @@ static const struct vc4_hdmi_variant bcm
.phy_disable = vc4_hdmi_phy_disable,
.phy_rng_enable = vc4_hdmi_phy_rng_enable,
.phy_rng_disable = vc4_hdmi_phy_rng_disable,
.channel_map = vc4_hdmi_channel_map,
.supports_hdr = false,
};
-@@ -2364,6 +2382,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2365,6 +2383,7 @@ static const struct vc4_hdmi_variant bcm
.phy_disable = vc5_hdmi_phy_disable,
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
.channel_map = vc5_hdmi_channel_map,
.supports_hdr = true,
};
-@@ -2392,6 +2411,7 @@ static const struct vc4_hdmi_variant bcm
+@@ -2393,6 +2412,7 @@ static const struct vc4_hdmi_variant bcm
.phy_disable = vc5_hdmi_phy_disable,
.phy_rng_enable = vc5_hdmi_phy_rng_enable,
.phy_rng_disable = vc5_hdmi_phy_rng_disable,
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -1896,25 +1896,23 @@ static int vc4_hdmi_cec_init(struct vc4_
+@@ -1897,25 +1897,23 @@ static int vc4_hdmi_cec_init(struct vc4_
vc4_hdmi_cec_update_clk_div(vc4_hdmi);
if (vc4_hdmi->variant->external_irq_controller) {
vc4_cec_irq_handler,
vc4_cec_irq_handler_thread, 0,
"vc4 hdmi cec", vc4_hdmi);
-@@ -1924,10 +1922,20 @@ static int vc4_hdmi_cec_init(struct vc4_
+@@ -1925,10 +1923,20 @@ static int vc4_hdmi_cec_init(struct vc4_
ret = cec_register_adapter(vc4_hdmi->cec_adap, &pdev->dev);
if (ret < 0)
err_delete_cec_adap:
cec_delete_adapter(vc4_hdmi->cec_adap);
-@@ -1936,6 +1944,15 @@ err_delete_cec_adap:
+@@ -1937,6 +1945,15 @@ err_delete_cec_adap:
static void vc4_hdmi_cec_exit(struct vc4_hdmi *vc4_hdmi)
{
#ifdef CONFIG_DRM_VC4_HDMI_CEC
static irqreturn_t vc4_cec_irq_handler_rx_thread(int irq, void *priv)
{
-@@ -2305,7 +2317,7 @@ static int vc4_hdmi_bind(struct device *
+@@ -2306,7 +2318,7 @@ static int vc4_hdmi_bind(struct device *
ret = vc4_hdmi_cec_init(vc4_hdmi);
if (ret)
ret = vc4_hdmi_audio_init(vc4_hdmi);
if (ret)
-@@ -2319,6 +2331,8 @@ static int vc4_hdmi_bind(struct device *
+@@ -2320,6 +2332,8 @@ static int vc4_hdmi_bind(struct device *
err_free_cec:
vc4_hdmi_cec_exit(vc4_hdmi);
err_destroy_conn:
vc4_hdmi_connector_destroy(&vc4_hdmi->connector);
err_destroy_encoder:
-@@ -2360,6 +2374,7 @@ static void vc4_hdmi_unbind(struct devic
+@@ -2361,6 +2375,7 @@ static void vc4_hdmi_unbind(struct devic
kfree(vc4_hdmi->hd_regset.regs);
vc4_hdmi_cec_exit(vc4_hdmi);
--- a/drivers/gpu/drm/vc4/vc4_hdmi.c
+++ b/drivers/gpu/drm/vc4/vc4_hdmi.c
-@@ -2295,6 +2295,18 @@ static int vc4_hdmi_bind(struct device *
+@@ -2296,6 +2296,18 @@ static int vc4_hdmi_bind(struct device *
if (ret)
goto err_put_ddc;
if (vc4_hdmi->variant->reset)
vc4_hdmi->variant->reset(vc4_hdmi);
-@@ -2306,8 +2318,6 @@ static int vc4_hdmi_bind(struct device *
+@@ -2307,8 +2319,6 @@ static int vc4_hdmi_bind(struct device *
clk_prepare_enable(vc4_hdmi->pixel_bvb_clock);
}
drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS);
drm_encoder_helper_add(encoder, &vc4_hdmi_encoder_helper_funcs);
-@@ -2331,6 +2341,8 @@ static int vc4_hdmi_bind(struct device *
+@@ -2332,6 +2342,8 @@ static int vc4_hdmi_bind(struct device *
vc4_hdmi_debugfs_regs,
vc4_hdmi);
return 0;
err_free_cec:
-@@ -2341,6 +2353,7 @@ err_destroy_conn:
+@@ -2342,6 +2354,7 @@ err_destroy_conn:
vc4_hdmi_connector_destroy(&vc4_hdmi->connector);
err_destroy_encoder:
drm_encoder_cleanup(encoder);
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
-@@ -7104,7 +7104,7 @@ static void __ref alloc_node_mem_map(str
+@@ -7107,7 +7107,7 @@ static void __ref alloc_node_mem_map(str
if (pgdat == NODE_DATA(0)) {
mem_map = NODE_DATA(0)->node_mem_map;
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)